Files
3d-pinball-space-cadet/pinball_28.c
T

2275 lines
70 KiB
C

#include "pinball.h"
// Address range: 0x1e44310 - 0x1e44333
int32_t function_1e44310(uint32_t a1, uint32_t a2, int32_t a3) {
// 0x1e44310
g2 = 0;
g5 = a1;
uint32_t v1 = a2 + a1; // 0x1e4431b
if (a2 == 0 || v1 > a1) {
if (a1 == 0 || v1 > a2) {
goto lab_0x1e4432b;
} else {
// 0x1e44326
g2 = 1;
goto lab_0x1e4432b;
}
} else {
// 0x1e44326
g2 = 1;
goto lab_0x1e4432b;
}
lab_0x1e4432b:
// 0x1e4432b
g5 = a3;
*(int32_t *)a3 = v1;
return g2;
}
// Address range: 0x1e44340 - 0x1e443a6
int32_t function_1e44340(int32_t a1, int32_t a2) {
int32_t v1 = g8; // 0x1e44340
g8 = a1;
int32_t v2 = *(int32_t *)a2; // 0x1e4434b
g2 = v2;
int32_t v3 = *(int32_t *)a1; // 0x1e4434e
g5 = v3;
int32_t v4 = function_1e44310(v3, v2, a1); // 0x1e44351
g2 = v4;
if (v4 != 0) {
int32_t v5 = g8 + 4; // 0x1e4435d
g2 = v5;
int32_t v6 = *(int32_t *)v5; // 0x1e44363
g5 = v6;
int32_t v7 = function_1e44310(v6, 1, v5); // 0x1e44366
g2 = v7;
if (v7 != 0) {
int32_t * v8 = (int32_t *)(g8 + 8); // 0x1e44372
*v8 = *v8 + 1;
}
}
int32_t v9 = g8 + 4; // 0x1e44375
g2 = v9;
int32_t v10 = *(int32_t *)(a2 + 4); // 0x1e44378
g5 = v10;
int32_t v11 = function_1e44310(*(int32_t *)v9, v10, v9); // 0x1e44380
g2 = v11;
if (v11 != 0) {
int32_t * v12 = (int32_t *)(g8 + 8); // 0x1e4438c
*v12 = *v12 + 1;
}
int32_t v13 = g8 + 8; // 0x1e4438f
int32_t v14 = *(int32_t *)v13; // 0x1e4438f
g5 = v14;
g8 = v13;
int32_t v15 = *(int32_t *)(a2 + 8); // 0x1e44396
g2 = v15;
int32_t result = function_1e44310(v14, v15, v13); // 0x1e4439b
g2 = result;
g8 = v1;
return result;
}
// Address range: 0x1e443b0 - 0x1e443ee
int32_t function_1e443b0(int32_t a1) {
int32_t * v1 = (int32_t *)a1; // 0x1e443b6
int32_t v2 = *v1; // 0x1e443b6
g2 = v2;
uint32_t v3 = *(int32_t *)(a1 + 4); // 0x1e443ba
g5 = v3;
*v1 = 2 * v2;
int32_t v4 = v2 >> 31 | 2 * g5; // 0x1e443dc
g2 = v4;
*(int32_t *)(a1 + 4) = v4;
int32_t * v5 = (int32_t *)(a1 + 8); // 0x1e443e2
int32_t v6 = v3 / 0x80000000 | 2 * *v5; // 0x1e443e7
g2 = v6;
*v5 = v6;
return g2;
}
// Address range: 0x1e443f0 - 0x1e44426
int32_t function_1e443f0(int32_t a1) {
int32_t * v1 = (int32_t *)(a1 + 8); // 0x1e443f6
uint32_t v2 = *v1; // 0x1e443f6
g5 = v2;
int32_t v3 = *(int32_t *)(a1 + 4); // 0x1e443f9
g2 = v3;
int32_t v4 = v2 / 2; // 0x1e44400
g5 = v4;
*v1 = v4;
int32_t v5 = 0x80000000 * v2 | g2 / 2; // 0x1e44415
g2 = v5;
*(int32_t *)(a1 + 4) = v5;
int32_t * v6 = (int32_t *)a1; // 0x1e4441a
int32_t v7 = 0x80000000 * v3 | *v6 / 2; // 0x1e4441f
g2 = v7;
*v6 = v7;
return g2;
}
// Address range: 0x1e44430 - 0x1e44518
int32_t function_1e44430(int32_t a1, int32_t a2, int32_t a3) {
// 0x1e44430
g8 = a3;
g6 = g6 & -0x10000 | 0x404e;
*(int32_t *)a3 = 0;
*(int32_t *)(g8 + 4) = 0;
*(int32_t *)(g8 + 8) = 0;
if (a2 != 0) {
int32_t v1 = g9; // 0x1e44468
g5 = v1 + 16;
int32_t v2 = g8; // 0x1e44463
g2 = *(int32_t *)v2;
*(int32_t *)(v1 - 4) = v2;
*(int32_t *)g5 = g2;
g2 = *(int32_t *)(g8 + 8);
*(int32_t *)(g5 + 4) = *(int32_t *)(v2 + 4);
*(int32_t *)(g5 + 8) = g2;
g2 = function_1e443b0((int32_t)&g708);
a2--;
a1++;
*(int32_t *)g9 = g8;
g2 = function_1e443b0((int32_t)&g708);
int32_t v3 = g9 + 20; // 0x1e44484
g5 = v3;
*(int32_t *)g9 = v3;
*(int32_t *)(g9 - 4) = g8;
g2 = function_1e44340((int32_t)&g708, (int32_t)&g708);
*(int32_t *)(g9 + 4) = g8;
g2 = function_1e443b0((int32_t)&g708);
g5 = (int32_t)*(char *)(a1 - 1);
*(int32_t *)(g9 + 24) = 0;
*(int32_t *)(g9 + 28) = 0;
*(int32_t *)(g9 + 20) = g5;
int32_t v4 = g9 + 20; // 0x1e444b3
g5 = v4;
*(int32_t *)g9 = v4;
*(int32_t *)(g9 - 4) = g8;
g2 = function_1e44340((int32_t)&g708, (int32_t)&g708);
while (a2 != 0) {
// 0x1e4445f
v1 = g9 + 8;
g5 = v1 + 16;
v2 = g8;
g2 = *(int32_t *)v2;
*(int32_t *)(v1 - 4) = v2;
*(int32_t *)g5 = g2;
g2 = *(int32_t *)(g8 + 8);
*(int32_t *)(g5 + 4) = *(int32_t *)(v2 + 4);
*(int32_t *)(g5 + 8) = g2;
g2 = function_1e443b0((int32_t)&g708);
a2--;
a1++;
*(int32_t *)g9 = g8;
g2 = function_1e443b0((int32_t)&g708);
v3 = g9 + 20;
g5 = v3;
*(int32_t *)g9 = v3;
*(int32_t *)(g9 - 4) = g8;
g2 = function_1e44340((int32_t)&g708, (int32_t)&g708);
*(int32_t *)(g9 + 4) = g8;
g2 = function_1e443b0((int32_t)&g708);
g5 = (int32_t)*(char *)(a1 - 1);
*(int32_t *)(g9 + 24) = 0;
*(int32_t *)(g9 + 28) = 0;
*(int32_t *)(g9 + 20) = g5;
v4 = g9 + 20;
g5 = v4;
*(int32_t *)g9 = v4;
*(int32_t *)(g9 - 4) = g8;
g2 = function_1e44340((int32_t)&g708, (int32_t)&g708);
}
}
int32_t v5 = g8; // 0x1e444c8
int32_t v6; // 0x1e444f5
if (*(int32_t *)(v5 + 8) == 0) {
int32_t v7 = v5; // 0x1e444e1
int32_t v8 = g6; // 0x1e444ce
g6 = v8 + 0xfff0 & 0xffff | v8 & -0x10000;
uint32_t v9 = *(int32_t *)(v7 + 4); // 0x1e444d2
g5 = v9;
int32_t v10 = *(int32_t *)v7; // 0x1e444d7
g2 = v10;
int32_t v11 = v9 / 0x10000; // 0x1e444d9
g5 = v11;
*(int32_t *)(v7 + 8) = v11;
g2 *= 0x10000;
*(int32_t *)(g8 + 4) = 0x10000 * v9 | v10 / 0x10000;
*(int32_t *)g8 = g2;
while (v9 < 0x10000) {
// 0x1e444ce
v7 = g8;
v8 = g6;
g6 = v8 + 0xfff0 & 0xffff | v8 & -0x10000;
v9 = *(int32_t *)(v7 + 4);
g5 = v9;
v10 = *(int32_t *)v7;
g2 = v10;
v11 = v9 / 0x10000;
g5 = v11;
*(int32_t *)(v7 + 8) = v11;
g2 *= 0x10000;
*(int32_t *)(g8 + 4) = 0x10000 * v9 | v10 / 0x10000;
*(int32_t *)g8 = g2;
}
// 0x1e444f5
v6 = g8;
} else {
v6 = v5;
}
// 0x1e444f5
int32_t v12; // 0x1e4450c
if (*(char *)(v6 + 9) > -1) {
int32_t v13 = g6; // 0x1e444fb
g6 = v13 + 0xffff & 0xffff | v13 & -0x10000;
*(int32_t *)(g9 - 4) = v6;
g2 = function_1e443b0((int32_t)&g708);
v12 = g8;
while (*(char *)(g8 + 9) > 255) {
// 0x1e444fb
v13 = g6;
g6 = v13 + 0xffff & 0xffff | v13 & -0x10000;
*(int32_t *)g9 = g8;
g2 = function_1e443b0((int32_t)&g708);
v12 = g8;
}
} else {
v12 = v6;
}
// 0x1e4450c
*(int16_t *)(v12 + 10) = (int16_t)g6;
g3 = *(int32_t *)g9;
g6 = *(int32_t *)(g9 + 4);
g8 = *(int32_t *)(g9 + 8);
return g2;
}
// Address range: 0x1e44520 - 0x1e44b4a
int32_t function_1e44520(int32_t * a1, int32_t * a2, int32_t a3, int32_t a4, int32_t a5, int32_t a6, int32_t a7) {
// 0x1e44520
int32_t v1; // bp-40
g3 = &v1;
g6 = 0;
g5 = 0;
int32_t v2 = g2; // 0x1e44564
int32_t v3 = (int32_t)a1; // 0x1e44576
int32_t v4; // 0x1e44585
while (true) {
unsigned char v5 = *(char *)v3; // 0x1e44564
int32_t v6 = (int32_t)v5 | v2 & -256; // 0x1e44564
g2 = v6;
if (v5 != 32) {
if (v5 != 9) {
if (v5 != 10) {
if (v5 != 13) {
v4 = 0;
// break -> 0x1e44579
break;
}
}
}
}
// 0x1e44576
v2 = v6;
v3++;
}
lab_0x1e44579:;
int32_t v7; // ebx
int32_t v8; // 0x1e445fd
int32_t v9;
int32_t v10; // 0x1e449d5
int32_t v11; // 0x1e449d519
char v12; // 0x1e445fd
char v13; // 0x1e44579
int32_t v14; // 0x1e44579
while (true) {
// 0x1e44579
v13 = *(char *)v3;
v14 = (int32_t)v13 | g4 & -256;
g4 = v14;
g8 = v3 + 1;
g703 = v4;
switch (v4) {
case 0: {
if (v13 < 49) {
goto lab_0x1e445a0;
} else {
if (v13 > 57) {
goto lab_0x1e445a0;
} else {
// 0x1e44596
g5 = 3;
v11 = 3;
goto lab_0x1e449d4;
}
}
}
case 1: {
// 0x1e445f5
*(int32_t *)(g9 + 32) = 1;
v8 = g4;
v12 = v8;
if (v12 < 49) {
goto lab_0x1e44611;
} else {
if (v12 > 57) {
goto lab_0x1e44611;
} else {
// 0x1e44607
g5 = 3;
v11 = 3;
goto lab_0x1e449d4;
}
}
}
case 2: {
if (v13 < 49) {
goto lab_0x1e44674;
} else {
if (v13 > 57) {
goto lab_0x1e44674;
} else {
// 0x1e4466a
g5 = 3;
v11 = 3;
goto lab_0x1e449d4;
}
}
}
case 3: {
// 0x1e446a6
*(int32_t *)(g9 + 32) = 1;
while (true) {
// 0x1e446ae
int32_t v15; // 0x1e446be
if (g442 > 1) {
// 0x1e446b7
*(int32_t *)(g9 - 4) = 4;
int32_t v16 = g4 & 255; // 0x1e446bb
g2 = v16;
*(int32_t *)(g9 - 8) = v16;
v15 = function_1e40120((int32_t)&g708, (int32_t)&g708);
} else {
int32_t v17 = (int32_t)g122; // 0x1e446ca
g7 = v17;
int32_t v18 = g4 & 255; // 0x1e446d0
g5 = v18;
g2 = 0;
v15 = (int32_t)*(int16_t *)(2 * v18 + v17) & 4;
}
// 0x1e446db
g2 = v15;
if (v15 == 0) {
// break -> 0x1e44700
break;
}
int32_t * v19 = (int32_t *)(g9 + 20); // 0x1e446df
if (*v19 >= 25) {
int32_t v20 = g8; // 0x1e446f7
g4 = g4 & -256 | (int32_t)*(char *)v20;
g8 = v20 + 1;
int32_t * v21 = (int32_t *)(g9 + 28); // 0x1e446fa
*v21 = *v21 + 1;
} else {
int32_t v22 = g4; // 0x1e446e6
v7 = v22 + 208 & 255 | v22 & -256;
g3++;
g8++;
*v19 = *v19 + 1;
*(char *)(g3 - 1) = (char)v7;
g4 = v7 & -256 | (int32_t)*(char *)(g8 - 1);
}
}
int32_t v23 = g4; // 0x1e44700
if (g443 != (char)v23) {
// 0x1e44712
g5 = v23 - 43;
g2 = 0;
unsigned char v24 = *(char *)(v23 + (int32_t)&g23 - 43); // 0x1e44723
int32_t v25 = v24; // 0x1e44723
g2 = v25;
g705 = v25;
switch (v24) {
case 0: {
goto lab_0x1e44730;
}
case 1: {
goto lab_0x1e44730;
}
case 2: {
// 0x1e4473b
g5 = 6;
v10 = 6;
goto lab_0x1e449d5;
}
case 3: {
// 0x1e4473b
g5 = 6;
v10 = 6;
goto lab_0x1e449d5;
}
default: {
// 0x1e449cf
g5 = 10;
v11 = 10;
goto lab_0x1e449d4;
}
}
} else {
// 0x1e44708
g5 = 4;
v10 = 4;
goto lab_0x1e449d5;
}
}
case 4: {
// 0x1e44745
*(int32_t *)(g9 + 32) = 1;
*(int32_t *)(g9 + 48) = 1;
if (*(int32_t *)(g9 + 20) == 0) {
int32_t v26 = g4; // 0x1e4475c
if ((char)v26 == 48) {
int32_t v27 = g8; // 0x1e44761
g4 = (int32_t)*(char *)v27 | v26 & -256;
g8 = v27 + 1;
int32_t * v28 = (int32_t *)(g9 + 28); // 0x1e44764
*v28 = *v28 - 1;
while ((char)g4 == 48) {
// 0x1e44761
v27 = g8;
g4 = (int32_t)*(char *)v27 | g4 & -256;
g8 = v27 + 1;
v28 = (int32_t *)(g9 + 28);
*v28 = *v28 - 1;
}
}
}
while (true) {
// 0x1e4476d
int32_t v29; // 0x1e4477d
if (g442 > 1) {
// 0x1e44776
*(int32_t *)(g9 - 4) = 4;
int32_t v30 = g4 & 255; // 0x1e4477a
g2 = v30;
*(int32_t *)(g9 - 8) = v30;
v29 = function_1e40120((int32_t)&g708, (int32_t)&g708);
} else {
int32_t v31 = (int32_t)g122; // 0x1e44789
g7 = v31;
int32_t v32 = g4 & 255; // 0x1e4478f
g5 = v32;
g2 = 0;
v29 = (int32_t)*(int16_t *)(2 * v32 + v31) & 4;
}
// 0x1e4479a
g2 = v29;
if (v29 == 0) {
// break -> 0x1e447b9
break;
}
int32_t * v33 = (int32_t *)(g9 + 20); // 0x1e4479e
if (*v33 < 25) {
int32_t v34 = g4; // 0x1e447a5
g4 = v34 + 208 & 255 | v34 & -256;
g3++;
*v33 = *v33 + 1;
int32_t * v35 = (int32_t *)(g9 + 28); // 0x1e447ad
*v35 = *v35 - 1;
*(char *)(g3 - 1) = (char)g4;
}
int32_t v36 = g8; // 0x1e447b4
g4 = g4 & -256 | (int32_t)*(char *)v36;
g8 = v36 + 1;
// continue -> 0x1e4476d
continue;
}
int32_t v37 = g4; // 0x1e447b9
g5 = v37 - 43;
g2 = 0;
unsigned char v38 = *(char *)(v37 + (int32_t)&g24 - 43); // 0x1e447ca
int32_t v39 = v38; // 0x1e447ca
g2 = v39;
g706 = v39;
switch (v38) {
case 0: {
goto lab_0x1e447d7;
}
case 1: {
goto lab_0x1e447d7;
}
case 2: {
// 0x1e447e2
g5 = 6;
v10 = 6;
goto lab_0x1e449d5;
}
case 3: {
// 0x1e447e2
g5 = 6;
v10 = 6;
goto lab_0x1e449d5;
}
default: {
// 0x1e449cf
g5 = 10;
v11 = 10;
goto lab_0x1e449d4;
}
}
}
case 5: {
// 0x1e447ec
*(int32_t *)(g9 + 48) = 1;
int32_t v40; // 0x1e44804
if (g442 > 1) {
// 0x1e447fd
*(int32_t *)(g9 - 4) = 4;
int32_t v41 = g4 & 255; // 0x1e44801
g2 = v41;
*(int32_t *)(g9 - 8) = v41;
v40 = function_1e40120((int32_t)&g708, (int32_t)&g708);
} else {
int32_t v42 = (int32_t)g122; // 0x1e44810
g7 = v42;
int32_t v43 = g4 & 255; // 0x1e44816
g5 = v43;
g2 = 0;
v40 = (int32_t)*(int16_t *)(2 * v43 + v42) & 4;
}
// 0x1e44821
g2 = v40;
if (v40 == 0) {
// 0x1e4482f
g5 = 10;
g8 = *(int32_t *)(g9 + 24);
v10 = 10;
goto lab_0x1e449d5;
} else {
// 0x1e44825
g5 = 4;
v11 = 4;
goto lab_0x1e449d4;
}
}
case 6: {
int32_t v44 = v3 - 1; // 0x1e4483d
g2 = v44;
*(int32_t *)(g9 + 24) = v44;
v9 = g4;
if (v13 < 49) {
goto lab_0x1e44858;
} else {
if ((char)v9 > 57) {
goto lab_0x1e44858;
} else {
// 0x1e4484e
g5 = 9;
v11 = 9;
goto lab_0x1e449d4;
}
}
}
case 7: {
if (v13 < 49) {
goto lab_0x1e448b2;
} else {
if (v13 > 57) {
goto lab_0x1e448b2;
} else {
// 0x1e448a8
g5 = 9;
v11 = 9;
goto lab_0x1e449d4;
}
}
}
case 8: {
// 0x1e448d2
*(int32_t *)(g9 + 44) = 1;
int32_t v45 = g4; // 0x1e448da
int32_t v46; // 0x1e448f0
if ((char)v45 == 48) {
int32_t v47 = g8; // 0x1e448e1
unsigned char v48 = *(char *)v47; // 0x1e448df
int32_t v49 = (int32_t)v48 | v45 & -256; // 0x1e448df
g4 = v49;
int32_t v50 = v47 + 1; // 0x1e448e1
g8 = v50;
v46 = v49;
while (v48 == 48) {
// 0x1e448df
v47 = v50;
v48 = *(char *)v47;
v49 = (int32_t)v48 | v49 & -256;
g4 = v49;
v50 = v47 + 1;
g8 = v50;
v46 = v49;
}
} else {
v46 = v45;
}
char v51 = v46; // 0x1e448e7
if (v51 < 49) {
// 0x1e449cf
g5 = 10;
v11 = 10;
goto lab_0x1e449d4;
} else {
if (v51 > 57) {
// 0x1e449cf
g5 = 10;
v11 = 10;
goto lab_0x1e449d4;
} else {
// 0x1e448f9
g5 = 9;
v11 = 9;
goto lab_0x1e449d4;
}
}
}
case 9: {
// 0x1e44903
*(int32_t *)(g9 + 44) = 1;
g6 = 0;
while (true) {
// 0x1e4490d
int32_t v52; // 0x1e4491d
if (g442 > 1) {
// 0x1e44916
*(int32_t *)(g9 - 4) = 4;
int32_t v53 = g4 & 255; // 0x1e4491a
g2 = v53;
*(int32_t *)(g9 - 8) = v53;
v52 = function_1e40120((int32_t)&g708, (int32_t)&g708);
} else {
int32_t v54 = (int32_t)g122; // 0x1e44929
g7 = v54;
int32_t v55 = g4 & 255; // 0x1e4492f
g5 = v55;
g2 = 0;
v52 = (int32_t)*(int16_t *)(2 * v55 + v54) & 4;
}
// 0x1e4493a
g2 = v52;
if (v52 == 0) {
goto lab_0x1e4495a;
}
int32_t v56 = g6; // 0x1e4493e
g2 = 5 * v56;
int32_t v57 = g4; // 0x1e44941
g5 = v57;
int32_t v58 = 10 * v56 - 48 + v57; // 0x1e44944
g6 = v58;
if (v58 > 0x1450) {
// break -> 0x1e44955
break;
}
int32_t v59 = g8; // 0x1e44950
g4 = (int32_t)*(char *)v59 | v57 & -256;
g8 = v59 + 1;
}
// 0x1e44955
g6 = 0x1451;
while (true) {
lab_0x1e4495a:;
// 0x1e4495a
int32_t v60; // 0x1e4496a
if (g442 > 1) {
// 0x1e44963
*(int32_t *)(g9 - 4) = 4;
int32_t v61 = g4 & 255; // 0x1e44967
g2 = v61;
*(int32_t *)(g9 - 8) = v61;
v60 = function_1e40120((int32_t)&g708, (int32_t)&g708);
} else {
int32_t v62 = (int32_t)g122; // 0x1e44976
g7 = v62;
int32_t v63 = g4 & 255; // 0x1e4497c
g5 = v63;
g2 = 0;
v60 = (int32_t)*(int16_t *)(2 * v63 + v62) & 4;
}
// 0x1e44987
g2 = v60;
if (v60 == 0) {
// break -> 0x1e449cf
break;
}
int32_t v64 = g8; // 0x1e4498b
g4 = g4 & -256 | (int32_t)*(char *)v64;
g8 = v64 + 1;
}
// 0x1e449cf
g5 = 10;
v11 = 10;
goto lab_0x1e449d4;
}
case 11: {
// 0x1e44990
if (*(int32_t *)(g9 + 128) == 0) {
// 0x1e449cf
g5 = 10;
v11 = 10;
goto lab_0x1e449d4;
} else {
// 0x1e4499a
*(int32_t *)(g9 + 24) = v3;
int32_t v65 = g4; // 0x1e449a1
g2 = v65;
if (v65 == 43) {
// 0x1e449b9
g5 = 7;
v10 = 7;
} else {
if (v65 == 45) {
// 0x1e449c0
*(int32_t *)(g9 + 40) = -1;
g5 = 7;
v10 = 7;
} else {
// 0x1e449ae
g5 = 10;
g8 = *(int32_t *)(g9 + 24);
v10 = 10;
}
}
goto lab_0x1e449d5;
}
}
default: {
v10 = v4;
goto lab_0x1e449d5;
}
}
}
lab_0x1e449de:;
int32_t v66 = *(int32_t *)(g9 + 108); // 0x1e449de
g2 = v66;
*(int32_t *)v66 = g8;
int32_t v67; // edi
int32_t v68; // edx
int32_t v69; // 0x1e44b1d
int32_t v70; // 0x1e44ab4
int32_t v71; // 0x1e44ab9
if (*(int32_t *)(g9 + 32) == 0) {
goto lab_0x1e44ac0;
} else {
// 0x1e449ef
int32_t v72; // 0x1e44a0e
if (*(int32_t *)(g9 + 20) >= 25) {
char * v73 = (char *)(g9 + 83); // 0x1e449f6
if (*v73 >= 5) {
// 0x1e449fd
*v73 = *v73 + 1;
}
// 0x1e44a01
g3--;
int32_t * v74 = (int32_t *)(g9 + 28); // 0x1e44a02
*v74 = *v74 + 1;
*(int32_t *)(g9 + 20) = 24;
v72 = g9;
} else {
v72 = g9;
}
// 0x1e44a0e
if (*(int32_t *)(v72 + 20) == 0) {
// 0x1e44ab4
v70 = g5 & -0x10000;
g5 = v70;
v67 = 0;
v71 = g8 & -0x10000;
v68 = 0;
v69 = v72;
goto lab_0x1e44ad2;
} else {
int32_t v75 = g3 - 1; // 0x1e44a19
g3 = v75;
int32_t v76; // 0x1e44a37
if (*(char *)v75 == 0) {
g3 = v75 - 1;
int32_t * v77 = (int32_t *)(v72 + 20); // 0x1e44a21
*v77 = *v77 - 1;
int32_t * v78 = (int32_t *)(g9 + 28); // 0x1e44a25
*v78 = *v78 + 1;
int32_t v79 = g3; // 0x1e44a29
v76 = g9;
while (*(char *)v79 == 0) {
// 0x1e44a20
g3 = v79 - 1;
v77 = (int32_t *)(g9 + 20);
*v77 = *v77 - 1;
v78 = (int32_t *)(g9 + 28);
*v78 = *v78 + 1;
v79 = g3;
v76 = g9;
}
} else {
v76 = v72;
}
int32_t v80 = v76 + 88; // 0x1e44a2f
g2 = v80;
g5 = *(int32_t *)(v76 + 20);
*(int32_t *)(v76 - 4) = v80;
*(int32_t *)(v76 - 8) = g5;
*(int32_t *)(v76 - 12) = v76 + 60;
int32_t v81 = function_1e44430((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e44a3e
g2 = v81;
int32_t v82 = g6;
int32_t v83; // 0x1e44a4f
if (*(int32_t *)(g9 + 52) < 0) {
// 0x1e44a4d
v83 = -v82;
} else {
v83 = v82;
}
int32_t v84 = *(int32_t *)(g9 + 40) + v83; // 0x1e44a4f
g6 = v84;
int32_t v85; // 0x1e44a5a
if (*(int32_t *)(g9 + 56) == 0) {
// 0x1e44a5a
v85 = *(int32_t *)(g9 + 132) + v84;
g6 = v85;
} else {
v85 = v84;
}
// 0x1e44a5e
int32_t v86; // 0x1e44a65
if (*(int32_t *)(g9 + 60) == 0) {
// 0x1e44a65
v86 = v85 - *(int32_t *)(g9 + 136);
g6 = v86;
} else {
v86 = v85;
}
if (v86 > 0x1450) {
// 0x1e44a71
*(int32_t *)(g9 + 64) = 1;
goto lab_0x1e44ac0;
} else {
if (v86 < -0x1450) {
// 0x1e44a83
*(int32_t *)(g9 + 68) = 1;
goto lab_0x1e44ac0;
} else {
int32_t v87 = *(int32_t *)(g9 + 128); // 0x1e44a8d
g2 = v87;
g5 = g9 + 100;
*(int32_t *)(g9 + 8) = v87;
*(int32_t *)(g9 + 4) = g6;
*(int32_t *)g9 = g5;
int32_t v88 = function_1e45900((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e44a98
g2 = v88;
int32_t v89 = g5 & -0x10000 | (int32_t)*(int16_t *)(g9 + 100); // 0x1e44a9d
g5 = v89;
v68 = *(int32_t *)(g9 + 102);
v67 = *(int32_t *)(g9 + 106);
v71 = g8 & -0x10000 | (int32_t)*(int16_t *)(g9 + 110);
v70 = v89;
v69 = g9 + 12;
goto lab_0x1e44ad2;
}
}
}
}
lab_0x1e449d5:
if (v10 == 10) {
// break -> 0x1e449de
goto lab_0x1e449de;
}
// 0x1e449d5
v4 = v10;
v3 = g8;
// continue -> 0x1e44579
goto lab_0x1e44579;
lab_0x1e445a0:
// 0x1e445a0
if (g443 != v13) {
// 0x1e445b2
g2 = v14;
if (v14 == 43) {
// 0x1e445c9
*(int16_t *)(g9 + 18) = 0;
g5 = 2;
v10 = 2;
goto lab_0x1e449d5;
} else {
if (v14 == 45) {
// 0x1e445da
*(int16_t *)(g9 + 18) = -0x8000;
g5 = 2;
v10 = 2;
goto lab_0x1e449d5;
} else {
if (v14 == 48) {
// 0x1e445eb
g5 = 1;
v10 = 1;
goto lab_0x1e449d5;
} else {
// 0x1e449cf
g5 = 10;
v11 = 10;
goto lab_0x1e449d4;
}
}
}
} else {
// 0x1e445a8
g5 = 5;
v10 = 5;
goto lab_0x1e449d5;
}
lab_0x1e44611:
// 0x1e44611
if (g443 != v12) {
// 0x1e44623
g5 = v8 - 43;
g2 = 0;
unsigned char v90 = *(char *)(v8 + (int32_t)&g22 - 43); // 0x1e44634
int32_t v91 = v90; // 0x1e44634
g2 = v91;
g704 = v91;
switch (v90) {
case 0: {
goto lab_0x1e44641;
}
case 1: {
goto lab_0x1e44641;
}
case 2: {
// 0x1e4464c
g5 = 1;
v10 = 1;
goto lab_0x1e449d5;
}
case 3: {
// 0x1e44656
g5 = 6;
v10 = 6;
goto lab_0x1e449d5;
}
case 4: {
// 0x1e44656
g5 = 6;
v10 = 6;
goto lab_0x1e449d5;
}
default: {
// 0x1e449cf
g5 = 10;
v11 = 10;
goto lab_0x1e449d4;
}
}
} else {
// 0x1e44619
g5 = 4;
v10 = 4;
goto lab_0x1e449d5;
}
lab_0x1e44674:
// 0x1e44674
if (g443 != v13) {
// 0x1e44686
g2 = v14;
if (v14 == 48) {
// 0x1e4469c
g5 = 1;
v10 = 1;
} else {
// 0x1e4468e
g5 = 10;
g8 = *(int32_t *)(g9 + 24);
v10 = 10;
}
} else {
// 0x1e4467c
g5 = 5;
v10 = 5;
}
goto lab_0x1e449d5;
lab_0x1e447d7:
// 0x1e447d7
g8--;
g5 = 11;
v10 = 11;
goto lab_0x1e449d5;
lab_0x1e44858:
// 0x1e44858
g2 = v9;
if (v9 == 43) {
// 0x1e44878
g5 = 7;
v10 = 7;
} else {
if (v9 == 45) {
// 0x1e44882
*(int32_t *)(g9 + 40) = -1;
g5 = 7;
v10 = 7;
} else {
if (v9 == 48) {
// 0x1e44894
g5 = 8;
v10 = 8;
} else {
// 0x1e4486a
g5 = 10;
g8 = *(int32_t *)(g9 + 24);
v10 = 10;
}
}
}
goto lab_0x1e449d5;
lab_0x1e448b2:
// 0x1e448b2
g2 = v14;
if (v14 == 48) {
// 0x1e448c8
g5 = 8;
v10 = 8;
} else {
// 0x1e448ba
g5 = 10;
g8 = *(int32_t *)(g9 + 24);
v10 = 10;
}
goto lab_0x1e449d5;
lab_0x1e44730:
// 0x1e44730
g8--;
g5 = 11;
v10 = 11;
goto lab_0x1e449d5;
lab_0x1e449d4:
// 0x1e449d4
g8--;
v10 = v11;
goto lab_0x1e449d5;
lab_0x1e44641:
// 0x1e44641
g8--;
g5 = 11;
v10 = 11;
goto lab_0x1e449d5;
lab_0x1e44ac0:;
int32_t v92 = g9 + 60; // 0x1e44ac0
int16_t * v93 = (int16_t *)v92; // 0x1e44ac0
int32_t v94 = g5 & -0x10000 | (int32_t)*v93; // 0x1e44ac0
g5 = v94;
int32_t * v95 = (int32_t *)v92; // 0x1e44ac5
v68 = *v95;
v67 = *v95;
v71 = g8 & -0x10000 | (int32_t)*v93;
v70 = v94;
v69 = g9;
goto lab_0x1e44ad2;
lab_0x1e44ad2:
// 0x1e44ad2
if (*(int32_t *)(v69 + 32) != 0) {
// 0x1e44aed
if (*(int32_t *)(v69 + 52) == 0) {
// 0x1e44b0c
if (*(int32_t *)(v69 + 56) != 0) {
// 0x1e44b13
g5 = v70 & -0x10000;
v67 = 0;
v71 &= -0x10000;
v68 = 0;
*(int32_t *)(v69 + 36) = 1;
}
} else {
// 0x1e44af4
v71 = v71 & -0x10000 | 0x7fff;
v67 = -0x80000000;
g5 = v70 & -0x10000;
v68 = 0;
*(int32_t *)(v69 + 36) = 2;
}
} else {
// 0x1e44ad9
g5 = v70 & -0x10000;
v67 = 0;
v71 &= -0x10000;
v68 = 0;
*(int32_t *)(v69 + 36) = 4;
}
uint16_t v96 = *(int16_t *)(g9 + 18); // 0x1e44b25
int32_t v97 = g2 & -0x10000; // 0x1e44b25
g2 = v97 | (int32_t)v96;
int32_t v98 = *(int32_t *)(g9 + 104); // 0x1e44b2a
v7 = v98;
g2 = (int32_t)((int16_t)v71 | v96) | v97;
*(int32_t *)(v98 + 2) = v68;
*(int16_t *)v7 = (int16_t)g5;
*(int32_t *)(v7 + 6) = v67;
*(int16_t *)(v7 + 10) = (int16_t)g2;
int32_t result = *(int32_t *)(g9 + 36); // 0x1e44b3e
g2 = result;
g3 = *(int32_t *)g9;
g6 = *(int32_t *)(g9 + 4);
g8 = *(int32_t *)(g9 + 8);
g4 = *(int32_t *)(g9 + 12);
return result;
}
// Address range: 0x1e44c70 - 0x1e4500b
int32_t function_1e44c70(int32_t a1, uint32_t a2, int32_t a3, int32_t a4, int32_t a5, int32_t * a6, int32_t a7) {
// 0x1e44c70
int32_t v1; // bp-40
int32_t v2 = &v1; // 0x1e44c70
char v3 = -52; // bp-24
g6 = a7;
uint16_t v4 = (int16_t)a4 & -0x8000; // 0x1e44cbf
g2 = v4;
g5 = g5 & -0x10000 | a4 & 0x7fff;
*(char *)(a7 + 2) = v4 == 0 ? 32 : 45;
uint32_t v5 = g5; // 0x1e44cdc
uint16_t v6 = (int16_t)v5; // 0x1e44cdc
if (v6 == 0) {
// 0x1e44ce1
if (a2 == 0) {
// 0x1e44ce8
if (a1 == 0) {
// 0x1e44cef
*(char *)(g6 + 2) = 32;
*(int16_t *)g6 = 0;
g2 = 1;
*(char *)(g6 + 3) = 1;
*(char *)(g6 + 4) = 48;
*(char *)(g6 + 5) = 0;
return g2;
}
}
}
// 0x1e44d11
int32_t v7; // ebp
int32_t v8; // 0x1e44fe5
int32_t v9; // 0x1e44f9b
if (v6 != 0x7fff) {
uint32_t v10 = v5 & 0xffff; // 0x1e44e18
int32_t v11 = 0x4d10 * v10; // 0x1e44e49
v1 = 0;
int32_t v12 = (v11 - 0x134312f4 + 77 * ((v5 / 256 & 255) + 2 * a2 / 0x1000000)) / -0x10000; // 0x1e44e6f
g2 = v12;
g5 = v2;
g2 = function_1e45900(v2, v12, 1);
if (v6 >= 0x3fff) {
int32_t v13 = g8; // 0x1e44e88
g8 = (int32_t)((int16_t)v13 + 1) | v13 & -0x10000;
g2 = &v3;
g5 = v2;
g2 = function_1e45650(&v1, &v3);
}
// 0x1e44e9c
*(int16_t *)g6 = (int16_t)g8;
int32_t v14; // 0x1e44ed9
if (((int32_t)a6 & 1) == 0) {
// 0x1e44ed5
g8 = a5;
v14 = a5;
} else {
int32_t v15 = g8; // 0x1e44ea6
g2 = v15;
int32_t v16 = v15 + a5; // 0x1e44ead
g8 = v16;
if (v16 >= 0 != v16 != 0) {
// 0x1e44eb3
*(char *)(g6 + 2) = 32;
*(int16_t *)g6 = 0;
g2 = 1;
*(char *)(g6 + 3) = 1;
*(char *)(g6 + 4) = 48;
*(char *)(g6 + 5) = 0;
return g2;
}
v14 = v16;
}
// 0x1e44ed9
if (v14 > 21) {
// 0x1e44ede
g8 = 21;
}
int32_t v17 = g9; // 0x1e44efc
int32_t v18 = v17 + 16; // 0x1e44efc
g2 = v18;
*(int32_t *)(v17 - 4) = v18;
int32_t v19 = function_1e443b0((int32_t)&g708); // 0x1e44f01
g2 = v19;
int32_t v20 = g9 + 4; // 0x1e44f06
int32_t v21 = 7; // 0x1e44f09
while (v21 != 0) {
// 0x1e44efc
v17 = v20;
v18 = v17 + 16;
g2 = v18;
*(int32_t *)(v17 - 4) = v18;
v19 = function_1e443b0((int32_t)&g708);
g2 = v19;
v20 = g9 + 4;
v21--;
}
// 0x1e44f0c
int32_t v22; // 0x1e44f3411
int32_t v23; // 0x1e44f1f
if (v10 < 0x3ffe) {
int32_t v24 = 0x3ffe - v5 & 255; // 0x1e44f12
if (v24 != 0) {
int32_t v25 = v20; // 0x1e44f1a
int32_t v26 = v25 + 16; // 0x1e44f1a
g2 = v26;
*(int32_t *)(v25 - 4) = v26;
v23 = function_1e443f0((int32_t)&g708);
g2 = v23;
int32_t v27 = g9 + 4; // 0x1e44f24
int32_t v28 = v24 - 1; // 0x1e44f27
v22 = v27;
while (v28 != 0) {
// 0x1e44f1a
v25 = v27;
v26 = v25 + 16;
g2 = v26;
*(int32_t *)(v25 - 4) = v26;
v23 = function_1e443f0((int32_t)&g708);
g2 = v23;
v27 = g9 + 4;
v28--;
v22 = v27;
}
} else {
v23 = v19;
v22 = v20;
}
} else {
v23 = v19;
v22 = v20;
}
int32_t v29 = g6 + 4; // 0x1e44f2a
v7 = v29;
int32_t v30 = g8 + 1; // 0x1e44f2d
g8 = v30;
int32_t v31; // 0x1e44f9a
uint32_t v32; // 0x1e44fe5
int32_t v33; // 0x1e44f97
if (v30 >= 1) {
int32_t v34 = v22; // 0x1e44f34
int32_t v35 = v34 + 16; // 0x1e44f34
int32_t v36 = v34 + 44; // 0x1e44f38
g5 = v36;
int32_t v37 = v29 + 1; // ebx
int32_t v38 = *(int32_t *)v35; // 0x1e44f3d
g2 = v38;
*(int32_t *)v36 = v38;
int32_t v39 = *(int32_t *)(v35 + 4); // 0x1e44f41
g2 = v39;
*(int32_t *)(g5 + 4) = v39;
*(int32_t *)(g5 + 8) = *(int32_t *)(v35 + 8);
int32_t v40 = g9 + 16; // 0x1e44f4d
g5 = v40;
*(int32_t *)(g9 - 4) = v40;
g2 = function_1e443b0((int32_t)&g708);
int32_t v41 = g9 + 20; // 0x1e44f57
g5 = v41;
*(int32_t *)g9 = v41;
g2 = function_1e443b0((int32_t)&g708);
int32_t v42 = g9 + 48; // 0x1e44f64
g5 = v42;
*(int32_t *)g9 = v42;
*(int32_t *)(g9 - 4) = g9 + 20;
g2 = function_1e44340((int32_t)&g708, (int32_t)&g708);
int32_t v43 = g9 + 24; // 0x1e44f76
g5 = v43;
*(int32_t *)(g9 + 4) = v43;
int32_t v44 = function_1e443b0((int32_t)&g708); // 0x1e44f7e
g2 = v44;
unsigned char v45 = *(char *)(g9 + 31) + 48; // 0x1e44f8a
g2 = (int32_t)v45 | v44 & -256;
int32_t v46 = g8 - 1; // 0x1e44f8c
g8 = v46;
*(char *)(v37 - 1) = v45;
*(char *)(g9 + 27) = 0;
while (v46 != 0) {
// 0x1e44f34
v34 = g9;
v35 = v34 + 16;
v36 = v34 + 44;
g5 = v36;
v37++;
v38 = *(int32_t *)v35;
g2 = v38;
*(int32_t *)v36 = v38;
v39 = *(int32_t *)(v35 + 4);
g2 = v39;
*(int32_t *)(g5 + 4) = v39;
*(int32_t *)(g5 + 8) = *(int32_t *)(v35 + 8);
v40 = g9 + 16;
g5 = v40;
*(int32_t *)(g9 - 4) = v40;
g2 = function_1e443b0((int32_t)&g708);
v41 = g9 + 20;
g5 = v41;
*(int32_t *)g9 = v41;
g2 = function_1e443b0((int32_t)&g708);
v42 = g9 + 48;
g5 = v42;
*(int32_t *)g9 = v42;
*(int32_t *)(g9 - 4) = g9 + 20;
g2 = function_1e44340((int32_t)&g708, (int32_t)&g708);
v43 = g9 + 24;
g5 = v43;
*(int32_t *)(g9 + 4) = v43;
v44 = function_1e443b0((int32_t)&g708);
g2 = v44;
v45 = *(char *)(g9 + 31) + 48;
g2 = (int32_t)v45 | v44 & -256;
v46 = g8 - 1;
g8 = v46;
*(char *)(v37 - 1) = v45;
*(char *)(g9 + 27) = 0;
}
// 0x1e44f97
v32 = v7;
v31 = v37;
v33 = g2;
} else {
v32 = v29;
v31 = v29;
v33 = v23;
}
unsigned char v47 = *(char *)(v31 - 1); // 0x1e44f97
g2 = (int32_t)v47 | v33 & -256;
v9 = v31 - 2;
if (v47 < 53) {
if (v9 < v32) {
goto lab_0x1e44fe9;
} else {
while (true) {
// 0x1e44fdb
if (*(char *)v9 != 48) {
v8 = v9;
// break -> 0x1e44fe5
break;
}
int32_t v48 = v9 - 1; // 0x1e44fe0
if (v48 < v32) {
v8 = v48;
// break -> 0x1e44fe5
break;
}
v9 = v48;
}
// 0x1e44fe5
if (v8 >= v32) {
goto lab_0x1e44fbb;
} else {
goto lab_0x1e44fe9;
}
}
} else {
if (v9 < v32) {
goto lab_0x1e44fb5;
} else {
while (true) {
// continue -> 0x1e44fa4
}
}
}
} else {
// 0x1e44d1c
*(int16_t *)g6 = 1;
if (a2 != -0x80000000) {
goto lab_0x1e44d32;
} else {
// 0x1e44d2b
if (a1 == 0) {
goto lab_0x1e44d67;
} else {
goto lab_0x1e44d32;
}
}
}
lab_0x1e44d32:
// 0x1e44d32
if ((a3 & 64) != 0) {
goto lab_0x1e44d67;
} else {
// 0x1e44d39
g2 = 0x4e532331;
g5 = (int32_t)"1#SNAN";
int32_t v49 = g6 + 4; // 0x1e44d43
*(int32_t *)v49 = 0x4e532331;
*(int16_t *)(v49 + 4) = 0x4e41;
g5 &= -256;
*(char *)(v49 + 6) = 0;
*(char *)(g6 + 3) = 6;
goto lab_0x1e44fcb;
}
lab_0x1e44fe9:
// 0x1e44fe9
*(int16_t *)g6 = 0;
*(char *)v7 = 48;
g2 = 1;
g3 = *(int32_t *)g9;
*(char *)(g6 + 2) = 32;
*(char *)(g6 + 3) = 1;
*(char *)(g6 + 5) = 0;
return g2;
lab_0x1e44fb5:;
int16_t * v50 = (int16_t *)g6; // 0x1e44fb5
*v50 = *v50 + 1;
int32_t v51 = v9 + 1; // 0x1e44fb8
goto lab_0x1e44fb9;
lab_0x1e44d67:
// 0x1e44d67
if ((int16_t)g2 == 0) {
goto lab_0x1e44da6;
} else {
// 0x1e44d6c
if (a2 != -0x40000000) {
goto lab_0x1e44da6;
} else {
// 0x1e44d76
if (a1 != 0) {
goto lab_0x1e44da6;
} else {
// 0x1e44d7d
g5 = 0x4e492331;
g2 = (int32_t)"1#IND";
int32_t v57 = g6 + 4; // 0x1e44d88
*(int32_t *)v57 = 0x4e492331;
g2 = g2 & -0x10000 | 68;
*(int16_t *)(v57 + 4) = 68;
*(char *)(g6 + 3) = 5;
goto lab_0x1e44fcb;
}
}
}
lab_0x1e44fbb:;
int32_t v53 = v8 - g6; // 0x1e44fbb
unsigned char v54 = (char)v53 - 3; // 0x1e44fbd
g2 = (int32_t)v54 | v53 & -256;
*(char *)(g6 + 3) = v54;
*(char *)(g2 + 4 + g6) = 0;
goto lab_0x1e44fcb;
lab_0x1e44fb9:;
char * v52 = (char *)v51; // 0x1e44fb9
*v52 = *v52 + 1;
v8 = v51;
goto lab_0x1e44fbb;
lab_0x1e44da6:
// 0x1e44da6
if (a2 != -0x80000000) {
goto lab_0x1e44de0;
} else {
// 0x1e44db0
if (a1 != 0) {
goto lab_0x1e44de0;
} else {
// 0x1e44db7
g5 = 0x4e492331;
g2 = (int32_t)"1#INF";
int32_t v56 = g6 + 4; // 0x1e44dc2
*(int32_t *)v56 = 0x4e492331;
g2 = g2 & -0x10000 | 70;
*(int16_t *)(v56 + 4) = 70;
*(char *)(g6 + 3) = 5;
goto lab_0x1e44fcb;
}
}
lab_0x1e44fcb:;
int32_t result = *(int32_t *)(g9 + 28); // 0x1e44fcb
g2 = result;
g3 = *(int32_t *)g9;
return result;
lab_0x1e44de0:
// 0x1e44de0
g2 = 0x4e512331;
int32_t v55 = g6 + 4; // 0x1e44dea
g5 = v55;
*(int32_t *)v55 = 0x4e512331;
*(int16_t *)(g5 + 4) = 0x4e41;
*(char *)(g5 + 6) = 0;
*(char *)(g6 + 3) = 6;
goto lab_0x1e44fcb;
}
// Address range: 0x1e45010 - 0x1e45142
int32_t function_1e45010(int32_t a1, int32_t a2) {
// 0x1e45010
g2 = 0x1008;
g2 = function_1e459f0((int32_t)&g708);
int32_t v1 = g8; // 0x1e4501b
int32_t v2 = g6; // 0x1e4501c
g4 = 0;
g8 = a1;
int32_t v3 = g3; // bp-16
int32_t v4 = function_1e23ef0(a1, 0, 1); // 0x1e4502b
g2 = v4;
if (v4 != -1) {
int32_t v5 = function_1e23ef0(g8, g4, 2); // 0x1e45044
g2 = v5;
if (v5 != -1) {
// 0x1e45055
g5 = a2;
int32_t v6 = a2 - v5; // 0x1e4505e
g3 = v6;
if (v6 < 1) {
if (v6 != 0) {
// 0x1e450d5
g2 = function_1e23ef0(g8, a2, 0);
int32_t hFile = function_1e23d80(g8); // 0x1e450e2
g2 = hFile;
bool v7 = SetEndOfFile((int32_t *)hFile); // 0x1e450eb
g2 = v7;
g4 = !v7;
if (!v7) {
int32_t v8 = function_1e23ad0(); // 0x1e450fb
g2 = v8;
*(int32_t *)v8 = 13;
int32_t v9 = function_1e23ae0(); // 0x1e45106
g2 = v9;
g6 = v9;
int32_t errorCode = GetLastError(); // 0x1e4510d
g2 = errorCode;
*(int32_t *)g6 = errorCode;
}
}
} else {
// 0x1e45064
g2 = 0;
g5 = 1024;
int32_t v10;
__asm_rep_stosd_memset((char *)&v10, 0, 1024);
g6 = (g1 ? -0x1000 : 0x1000) + (int32_t)&v10;
g5 = 0;
g2 = function_1e45980(g8, (int32_t)&g708);
int32_t v11 = &v3; // 0x1e4508e
int32_t v12 = g3; // 0x1e4508c
int32_t v13; // 0x1e450c3
while (true) {
int32_t v14;
int32_t v15; // 0x1e4508e
if (v12 < 0x1000) {
v14 = v12;
v15 = v12;
} else {
v14 = 0x1000;
v15 = 0x1000;
}
// 0x1e4508e
g2 = v14;
*(int32_t *)(v11 - 4) = v15;
int32_t v16 = v11 + 24; // 0x1e4508f
g2 = v16;
*(int32_t *)(v11 - 8) = v16;
*(int32_t *)(v11 - 12) = g8;
int32_t v17 = function_1e23710((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e45095
g2 = v17;
int32_t v18 = g9 + 12; // 0x1e4509a
g6 = v17;
if (v17 == -1) {
// break -> 0x1e450ac
break;
}
int32_t v19 = g3 - v17; // 0x1e450a4
g3 = v19;
if (v19 >= 0 != v19 != 0) {
v13 = v18;
goto lab_0x1e450c3;
}
v11 = v18;
v12 = v19;
}
int32_t v20 = function_1e23ae0(); // 0x1e450ac
g2 = v20;
if (*(int32_t *)v20 == 5) {
int32_t v21 = function_1e23ad0(); // 0x1e450b6
g2 = v21;
*(int32_t *)v21 = 13;
}
// 0x1e450c1
g4 = g6;
v13 = g9;
lab_0x1e450c3:;
int32_t v22 = *(int32_t *)(v13 + 20); // 0x1e450c3
g2 = v22;
*(int32_t *)(v13 - 4) = v22;
*(int32_t *)(v13 - 8) = g8;
g2 = function_1e45980((int32_t)&g708, (int32_t)&g708);
}
// 0x1e45115
g2 = *(int32_t *)(g9 + 16);
*(int32_t *)(g9 - 4) = 0;
*(int32_t *)(g9 - 8) = g2;
*(int32_t *)(g9 - 12) = g8;
function_1e23ef0((int32_t)&g708, (int32_t)&g708, (int32_t)&g708);
g2 = g4;
g3 = *(int32_t *)(g9 + 12);
g6 = *(int32_t *)(g9 + 16);
g8 = *(int32_t *)(g9 + 20);
return g4;
}
}
// 0x1e45132
g2 = -1;
g3 = v3;
g6 = v2;
g8 = v1;
return -1;
}
// Address range: 0x1e45150 - 0x1e45306
int32_t function_1e45150(int32_t a1, int32_t a2, int32_t a3, int32_t a4) {
// 0x1e45150
g2 = a1;
int32_t v1 = g4; // 0x1e4515d
int32_t v2 = g8; // 0x1e4515e
int32_t v3 = g6; // 0x1e4515f
int32_t v4 = g3; // 0x1e45160
if (a1 == 1) {
// 0x1e45167
int32_t v5; // bp-128
g2 = &v5;
g5 = a3;
int32_t v6 = function_1e45440(a2, a3, &v5, 128, 0); // 0x1e45188
g2 = v6;
if (v6 != 0) {
goto lab_0x1e451ea;
} else {
int32_t errorCode = GetLastError(); // 0x1e45194
g2 = errorCode;
if (errorCode != 122) {
goto lab_0x1e45227;
} else {
// 0x1e451a3
g2 = a3;
int32_t v7 = g4; // 0x1e451aa
int32_t v8 = function_1e45440(g6, a3, (int32_t *)v7, v7, v7); // 0x1e451af
g2 = v8;
g3 = v8;
if (v8 == g4) {
goto lab_0x1e45227;
} else {
int32_t v9 = function_1e22670(v8); // 0x1e451be
g2 = v9;
g8 = v9;
if (v9 == g4) {
goto lab_0x1e45227;
} else {
// 0x1e451cc
g2 = a3;
int32_t v10 = function_1e45440(g6, a3, (int32_t *)v9, g3, 0); // 0x1e451de
g2 = v10;
if (v10 == 0) {
goto lab_0x1e45227;
} else {
v6 = v10;
goto lab_0x1e451ea;
}
}
}
}
}
lab_0x1e451ea:
// 0x1e451ea
g3 = v6;
int32_t v11 = function_1e22670(v6); // 0x1e451ed
g2 = v11;
g6 = a4;
*(int32_t *)a4 = v11;
if (v11 != 0) {
// 0x1e45202
g2 = function_1e230e0(v11, (char *)g8, g3);
if (g4 != 0) {
// 0x1e45211
g2 = function_1e22600(g8);
}
// 0x1e4521a
g2 = 0;
g6 = v3;
g8 = v2;
g4 = v1;
return 0;
}
goto lab_0x1e45227;
lab_0x1e45227:;
// 0x1e45227
int32_t v12; // 0x1e45239
if (g4 == 0) {
// 0x1e45227
v12 = g9;
} else {
// 0x1e4522b
*(int32_t *)(g9 - 4) = g8;
g2 = function_1e22600((int32_t)&g708);
v12 = g9 + 4;
}
// 0x1e45234
g2 = -1;
g3 = *(int32_t *)v12;
g6 = *(int32_t *)(v12 + 4);
g8 = *(int32_t *)(v12 + 8);
g4 = *(int32_t *)(v12 + 12);
return -1;
}
// 0x1e45244
if (a1 != 0) {
// 0x1e452f6
g2 = -1;
return -1;
}
// 0x1e4524c
g2 = a3;
int32_t v13 = function_1e45310(a2, a3, (int32_t *)&g594, 4, 0, v4, v3, v2, v1); // 0x1e45265
g2 = v13;
if (v13 == 0) {
// 0x1e45271
g2 = -1;
g6 = v3;
g8 = v2;
g4 = v1;
return -1;
}
// 0x1e45281
g6 = a4;
g8 = (int32_t)&g594;
g4 = 1;
*(char *)a4 = 0;
while (true) {
unsigned char v14 = *(char *)g8; // 0x1e45295
g2 = g2 & -256 | (int32_t)v14;
*(char *)(g9 + 16) = v14;
int32_t v15; // 0x1e452ac
if (g442 > g4) {
// 0x1e452a3
*(int32_t *)(g9 - 4) = 4;
g2 = 0;
int32_t v16 = (int32_t)*(char *)(g9 + 16); // 0x1e452a7
g2 = v16;
*(int32_t *)(g9 - 8) = v16;
v15 = function_1e40120((int32_t)&g708, (int32_t)&g708);
g2 = v15;
} else {
int32_t v17 = (int32_t)g122; // 0x1e452b8
g7 = v17;
int32_t v18 = g2 & 255; // 0x1e452be
g5 = v18;
g2 = 0;
int32_t v19 = (int32_t)*(int16_t *)(2 * v18 + v17) & 4; // 0x1e452c6
g2 = v19;
v15 = v19;
}
// 0x1e452c9
if (v15 == 0) {
// break -> 0x1e452e9
break;
}
int32_t v20 = g5 & -256; // 0x1e452cd
int32_t v21 = v20 | 10; // 0x1e452cd
g5 = v21;
char * v22 = (char *)g6; // 0x1e452cf
unsigned char v23 = *v22; // 0x1e452cf
uint16_t v24 = (int16_t)((int32_t)v23 | v15 & 0xff00) * (int16_t)v21; // 0x1e452d1
g2 = (int32_t)v24 | v15 & -0x10000;
int32_t v25 = g8 + 2; // 0x1e452d7
g8 = v25;
unsigned char v26 = *(char *)(g9 + 16) - 48 + (char)v24; // 0x1e452dc
g5 = (int32_t)v26 | v20;
*v22 = v26;
if (v25 >= (int32_t)&g595) {
// break -> 0x1e452e9
break;
}
}
// 0x1e452e9
g2 = 0;
g3 = *(int32_t *)g9;
g6 = *(int32_t *)(g9 + 4);
g8 = *(int32_t *)(g9 + 8);
g4 = *(int32_t *)(g9 + 12);
return 0;
}
// Address range: 0x1e45310 - 0x1e4543e
int32_t function_1e45310(int32_t a1, int32_t a2, int32_t * a3, int32_t a4, int32_t a5, int32_t a6, int32_t a7, int32_t a8, int32_t a9) {
int32_t result2 = g480; // 0x1e45311
g2 = result2;
if (result2 != 0) {
// 0x1e45358
g8 = *(int32_t *)0x1e4b12c;
} else {
// 0x1e4531d
g8 = *(int32_t *)0x1e4b12c;
int32_t v1 = GetLocaleInfoW(0, 1, NULL, 0); // 0x1e4532b
g2 = v1;
if (v1 == 0) {
int32_t v2 = GetLocaleInfoA(0, 1, NULL, 0); // 0x1e45340
g2 = v2;
if (v2 == 0) {
// 0x1e45351
g2 = 0;
g3 = 0;
return 0;
}
// 0x1e4534a
g2 = 2;
result2 = 2;
} else {
// 0x1e45331
g2 = 1;
result2 = 1;
}
}
// 0x1e4535e
g480 = result2;
if (result2 == 1) {
int32_t v3 = *(int32_t *)(g9 + 32); // 0x1e45368
g2 = v3;
g5 = *(int32_t *)(g9 + 28);
g7 = *(int32_t *)(g9 + 24);
*(int32_t *)(g9 - 4) = v3;
*(int32_t *)(g9 - 8) = g5;
*(int32_t *)(g9 - 12) = g7;
*(int32_t *)(g9 - 16) = *(int32_t *)(g9 + 20);
int32_t result = GetLocaleInfoW((int32_t)&g708, (int32_t)&g708, (int16_t *)&g708, (int32_t)&g708); // 0x1e4537c
g2 = result;
g3 = *(int32_t *)g9;
return result;
}
// 0x1e45383
g480 = result2;
if (result2 != 2) {
// 0x1e45411
g3 = *(int32_t *)g9;
return result2;
}
int32_t v4 = *(int32_t *)(g9 + 36); // 0x1e45391
g6 = v4;
if (v4 == 0) {
// 0x1e45399
g6 = (int32_t)g130;
}
// 0x1e4539f
g2 = *(int32_t *)(g9 + 24);
*(int32_t *)(g9 - 4) = 0;
g4 = *(int32_t *)(g9 + 20);
*(int32_t *)(g9 - 8) = 0;
*(int32_t *)(g9 - 12) = g2;
*(int32_t *)(g9 - 16) = g4;
int32_t v5 = GetLocaleInfoA((int32_t)&g708, (int32_t)&g708, (char *)&g708, (int32_t)&g708); // 0x1e453ad
g2 = v5;
g3 = v5;
if (v5 == 0) {
// 0x1e453b9
g2 = 0;
g3 = *(int32_t *)g9;
return 0;
}
// 0x1e453c0
*(int32_t *)(g9 - 4) = v5;
int32_t v6 = function_1e22670((int32_t)&g708); // 0x1e453c1
g2 = v6;
g8 = v6;
if (v6 == 0) {
// 0x1e453cf
g2 = 0;
g3 = *(int32_t *)(g9 + 4);
return 0;
}
// 0x1e453d6
g2 = *(int32_t *)(g9 + 28);
*(int32_t *)g9 = v5;
*(int32_t *)(g9 - 4) = v6;
*(int32_t *)(g9 - 8) = g2;
*(int32_t *)(g9 - 12) = g4;
int32_t v7 = GetLocaleInfoA((int32_t)&g708, (int32_t)&g708, (char *)&g708, (int32_t)&g708); // 0x1e453de
g2 = v7;
if (v7 == 0) {
goto lab_0x1e45406;
} else {
int32_t v8 = *(int32_t *)(g9 + 32); // 0x1e453e8
g2 = v8;
int32_t * v9 = (int32_t *)(g9 - 4); // 0x1e45416
if (v8 != 0) {
// 0x1e45416
*v9 = v8;
int32_t v10 = *(int32_t *)(g9 + 28); // 0x1e45417
g2 = v10;
*(int32_t *)(g9 - 8) = v10;
*(int32_t *)(g9 - 12) = -1;
*(int32_t *)(g9 - 16) = v6;
*(int32_t *)(g9 - 20) = 1;
*(int32_t *)(g9 - 24) = g6;
int32_t v11 = MultiByteToWideChar((int32_t)&g708, (int32_t)&g708, (char *)&g708, (int32_t)&g708, (int16_t *)&g708, (int32_t)&g708); // 0x1e45422
g2 = v11;
g6 = v11;
if (v11 == 0) {
goto lab_0x1e45406;
} else {
goto lab_0x1e4542e;
}
} else {
// 0x1e453f0
*v9 = 0;
*(int32_t *)(g9 - 8) = 0;
*(int32_t *)(g9 - 12) = -1;
*(int32_t *)(g9 - 16) = v6;
*(int32_t *)(g9 - 20) = 1;
*(int32_t *)(g9 - 24) = g6;
int32_t v12 = MultiByteToWideChar((int32_t)&g708, (int32_t)&g708, (char *)&g708, (int32_t)&g708, (int16_t *)&g708, (int32_t)&g708); // 0x1e453fa
g2 = v12;
g6 = v12;
if (v12 != 0) {
goto lab_0x1e4542e;
} else {
goto lab_0x1e45406;
}
}
}
lab_0x1e45406:
// 0x1e45406
*(int32_t *)(g9 - 4) = v6;
function_1e22600((int32_t)&g708);
g2 = 0;
// 0x1e45411
g3 = *(int32_t *)(g9 + 4);
return 0;
lab_0x1e4542e:
// 0x1e4542e
*(int32_t *)(g9 - 4) = v6;
function_1e22600((int32_t)&g708);
g2 = g6;
g3 = *(int32_t *)(g9 + 4);
return g6;
}
// Address range: 0x1e45440 - 0x1e4557f
int32_t function_1e45440(int32_t a1, int32_t a2, int32_t * a3, int32_t a4, int32_t a5) {
int32_t v1 = g481; // 0x1e45441
g2 = v1;
if (v1 != 0) {
// 0x1e45488
g8 = *(int32_t *)0x1e4b124;
} else {
// 0x1e4544d
g8 = *(int32_t *)0x1e4b124;
int32_t v2 = GetLocaleInfoA(0, 1, NULL, 0); // 0x1e4545b
g2 = v2;
if (v2 == 0) {
int32_t v3 = GetLocaleInfoW(0, 1, NULL, 0); // 0x1e45470
g2 = v3;
if (v3 == 0) {
// 0x1e45481
g2 = 0;
g3 = 0;
g6 = 1;
g8 = 0;
g4 = 0;
return 0;
}
// 0x1e4547a
g2 = 1;
v1 = 1;
} else {
// 0x1e45461
g2 = 2;
v1 = 2;
}
}
// 0x1e4548e
g481 = v1;
if (v1 == 2) {
int32_t v4 = *(int32_t *)(g9 + 32); // 0x1e45498
g2 = v4;
g5 = *(int32_t *)(g9 + 28);
g7 = *(int32_t *)(g9 + 24);
*(int32_t *)(g9 - 4) = v4;
*(int32_t *)(g9 - 8) = g5;
*(int32_t *)(g9 - 12) = g7;
*(int32_t *)(g9 - 16) = *(int32_t *)(g9 + 20);
int32_t result = GetLocaleInfoA((int32_t)&g708, (int32_t)&g708, (char *)&g708, (int32_t)&g708); // 0x1e454ac
g2 = result;
g3 = *(int32_t *)g9;
g6 = *(int32_t *)(g9 + 4);
g8 = *(int32_t *)(g9 + 8);
g4 = *(int32_t *)(g9 + 12);
return result;
}
// 0x1e454b3
g481 = v1;
int32_t v5; // 0x1e4554f
int32_t result2; // 0x1e45553
int32_t v6; // 0x1e454f8
if (v1 != 1) {
result2 = v1;
v5 = g9;
goto lab_0x1e4554f;
} else {
int32_t v7 = *(int32_t *)(g9 + 36); // 0x1e454c1
g6 = v7;
if (v7 == 0) {
// 0x1e454c9
g6 = (int32_t)g130;
}
// 0x1e454cf
g2 = *(int32_t *)(g9 + 24);
*(int32_t *)(g9 - 4) = 0;
g4 = *(int32_t *)(g9 + 20);
*(int32_t *)(g9 - 8) = 0;
*(int32_t *)(g9 - 12) = g2;
*(int32_t *)(g9 - 16) = g4;
int32_t v8 = GetLocaleInfoW((int32_t)&g708, (int32_t)&g708, (int16_t *)&g708, (int32_t)&g708); // 0x1e454dd
g2 = v8;
g3 = v8;
if (v8 == 0) {
// 0x1e454e9
g2 = 0;
g3 = *(int32_t *)g9;
g6 = *(int32_t *)(g9 + 4);
g8 = *(int32_t *)(g9 + 8);
g4 = *(int32_t *)(g9 + 12);
return 0;
}
int32_t v9 = 2 * v8; // 0x1e454f0
g2 = v9;
*(int32_t *)(g9 - 4) = v9;
v6 = function_1e22670((int32_t)&g708);
g2 = v6;
g8 = v6;
if (v6 == 0) {
// 0x1e45506
g2 = 0;
g3 = *(int32_t *)(g9 + 4);
g6 = *(int32_t *)(g9 + 8);
g8 = *(int32_t *)(g9 + 12);
g4 = *(int32_t *)(g9 + 16);
return 0;
}
// 0x1e4550d
g2 = *(int32_t *)(g9 + 28);
*(int32_t *)g9 = v8;
*(int32_t *)(g9 - 4) = v6;
*(int32_t *)(g9 - 8) = g2;
*(int32_t *)(g9 - 12) = g4;
int32_t v10 = GetLocaleInfoW((int32_t)&g708, (int32_t)&g708, (int16_t *)&g708, (int32_t)&g708); // 0x1e45515
g2 = v10;
if (v10 == 0) {
goto lab_0x1e45544;
} else {
int32_t v11 = *(int32_t *)(g9 + 32); // 0x1e4551f
g2 = v11;
*(int32_t *)(g9 - 4) = 0;
*(int32_t *)(g9 - 8) = 0;
int32_t * v12 = (int32_t *)(g9 - 12); // 0x1e45554
if (v11 != 0) {
// 0x1e45554
*v12 = v11;
int32_t v13 = *(int32_t *)(g9 + 28); // 0x1e45555
g2 = v13;
*(int32_t *)(g9 - 16) = v13;
*(int32_t *)(g9 - 20) = -1;
*(int32_t *)(g9 - 24) = v6;
*(int32_t *)(g9 - 28) = 544;
*(int32_t *)(g9 - 32) = g6;
int32_t v14 = WideCharToMultiByte((int32_t)&g708, (int32_t)&g708, (int16_t *)&g708, (int32_t)&g708, (char *)&g708, (int32_t)&g708, (char *)&g708, (bool *)&g708); // 0x1e45563
g2 = v14;
g6 = v14;
if (v14 == 0) {
goto lab_0x1e45544;
} else {
goto lab_0x1e4556f;
}
} else {
// 0x1e4552b
*v12 = 0;
*(int32_t *)(g9 - 16) = 0;
*(int32_t *)(g9 - 20) = -1;
*(int32_t *)(g9 - 24) = v6;
*(int32_t *)(g9 - 28) = 544;
*(int32_t *)(g9 - 32) = g6;
int32_t v15 = WideCharToMultiByte((int32_t)&g708, (int32_t)&g708, (int16_t *)&g708, (int32_t)&g708, (char *)&g708, (int32_t)&g708, (char *)&g708, (bool *)&g708); // 0x1e45538
g2 = v15;
g6 = v15;
if (v15 != 0) {
goto lab_0x1e4556f;
} else {
goto lab_0x1e45544;
}
}
}
}
lab_0x1e4554f:
// 0x1e4554f
g3 = *(int32_t *)v5;
g6 = *(int32_t *)(v5 + 4);
g8 = *(int32_t *)(v5 + 8);
g4 = *(int32_t *)(v5 + 12);
return result2;
lab_0x1e45544:
// 0x1e45544
*(int32_t *)(g9 - 4) = v6;
function_1e22600((int32_t)&g708);
g2 = 0;
result2 = 0;
v5 = g9 + 4;
goto lab_0x1e4554f;
lab_0x1e4556f:
// 0x1e4556f
*(int32_t *)(g9 - 4) = v6;
function_1e22600((int32_t)&g708);
int32_t result3 = g6; // 0x1e45578
g2 = result3;
g3 = *(int32_t *)(g9 + 4);
g6 = *(int32_t *)(g9 + 8);
g8 = *(int32_t *)(g9 + 12);
g4 = *(int32_t *)(g9 + 16);
return result3;
}
// Address range: 0x1e45580 - 0x1e45647
int32_t function_1e45580(int32_t a1, int32_t a2) {
int32_t v1; // ebp
g3 = &v1;
g8 = a2;
g6 = a1;
g2 = &g125;
if (g126 == 0) {
// 0x1e455a0
g2 = (int32_t)&g125 | 255;
int32_t v2 = (int32_t)&g125 & -256; // 0x1e4559c29
int32_t result; // 0x1e455cc
while (true) {
unsigned char v3 = *(char *)a2; // 0x1e455a0
int32_t v4 = (int32_t)v3 | v2; // 0x1e455a0
g2 = v4;
unsigned char v5 = *(char *)a1; // 0x1e455a3
int32_t v6 = 256 * (int32_t)v5 | v4 & -0xff01; // 0x1e455a3
g2 = v6;
int32_t v7; // 0x1e455c4
if ((char)(v6 / 256) != v3) {
unsigned char v8 = (v3 < 91 ? 32 : 0) + v3; // 0x1e455b5
int32_t v9 = 256 * (int32_t)v8 | v2 & -0x10000; // 0x1e455b7
unsigned char v10 = v5 < 91 ? 32 : 0; // 0x1e455bf
g5 = g5 & -256 | (int32_t)v10;
unsigned char v11 = v10 + v5; // 0x1e455c4
v7 = (int32_t)v11 | v9;
g2 = v7;
if (v11 != v8) {
char v12 = v11 < v8; // 0x1e455ca
unsigned char v13 = v12 + v11; // 0x1e455ca
char v14 = v11 < v8; // 0x1e455ca
bool v15 = v11 < v8 ? v11 < v14 - v12 | v13 != -1 : v11 < v13; // 0x1e455ca
result = (int32_t)(v14 - (char)!v15) | v9;
g2 = result;
return result;
}
} else {
v7 = v6;
}
// 0x1e4559c
g2 = v7;
if ((char)v7 == 0) {
result = v7;
// break -> 0x1e45642
break;
}
// 0x1e4559c
a1++;
a2++;
v2 = v7 & -256;
}
// 0x1e45642
return result;
}
// 0x1e455d3
if (g671 >= 0 == (g671 != 0)) {
// 0x1e455e6
g2 = function_1e22490(19);
} else {
// 0x1e455dc
g672++;
}
// 0x1e45600
g2 = 255;
int32_t v16 = 0; // 0x1e45603
int32_t v17 = 0; // 0x1e455fc19
int32_t v18; // 0x1e45629
int32_t v19; // 0x1e45616
int32_t v20; // 0x1e45624
while (true) {
int32_t v21 = g8; // 0x1e45600
unsigned char v22 = *(char *)v21; // 0x1e45600
int32_t v23 = (int32_t)v22 | v17; // 0x1e45600
g2 = v23;
g8 = v21 + 1;
int32_t v24 = g6; // 0x1e45603
unsigned char v25 = *(char *)v24; // 0x1e45603
int32_t v26 = (int32_t)v25 | v16 & -256; // 0x1e45603
g4 = v26;
g6 = v24 + 1;
int32_t v27; // 0x1e4561e
if (v22 != v25) {
// 0x1e4560a
*(int32_t *)(g9 - 4) = v23;
*(int32_t *)(g9 - 8) = g4;
int32_t v28 = function_1e411a0((int32_t)&g708); // 0x1e4560c
g2 = v28;
g4 = v28;
v19 = function_1e411a0((int32_t)&g708);
g2 = v19;
v27 = g4;
unsigned char v29 = (char)v27; // 0x1e4561e
unsigned char v30 = (char)v19; // 0x1e4561e
if (v29 != v30) {
int32_t v31 = v29 < v30; // 0x1e45622
uint32_t v32 = v31 + v19; // 0x1e45622
int32_t v33 = v29 < v30; // 0x1e45622
bool v34 = v29 < v30 ? v19 < v33 - v31 | v32 != -1 : v19 < v32; // 0x1e45622
v20 = v33 - (int32_t)!v34;
g2 = v20;
v18 = g9 + 4;
goto lab_0x1e45627;
}
} else {
v19 = v23;
v27 = v26;
}
// 0x1e455fc
g2 = v19;
if ((char)v19 == 0) {
// break -> 0x1e45627
break;
}
v16 = v27;
v17 = v19 & -256;
}
// 0x1e45627
v18 = g9;
v20 = v19;
goto lab_0x1e45627;
lab_0x1e45627:;
int32_t * v35 = (int32_t *)v18; // 0x1e45629
int32_t v36 = *v35; // 0x1e45629
g2 = v36;
int32_t result2; // 0x1e45640
if (v36 != 0) {
// 0x1e45636
*v35 = 19;
g2 = function_1e22500((int32_t)&g708);
result2 = v20;
} else {
// 0x1e4562e
g672--;
result2 = v20;
}
// 0x1e45640
g2 = result2;
// 0x1e45642
return result2;
}