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

2625 lines
89 KiB
C

#include "pinball.h"
// Address range: 0x1e3df10 - 0x1e3df1b
int32_t function_1e3df10(void) {
int32_t result = function_1e211b0(25); // 0x1e3df12
g2 = result;
return result;
}
// Address range: 0x1e3df20 - 0x1e3df30
int32_t function_1e3df20(int32_t a1) {
// 0x1e3df20
g2 = a1;
int32_t result = function_1e22690(a1, 1); // 0x1e3df27
g2 = result;
return result;
}
// Address range: 0x1e3df30 - 0x1e3df5f
int32_t function_1e3df30(void) {
int32_t v1 = function_1e22090(); // 0x1e3df30
g2 = v1;
int32_t * v2 = (int32_t *)(v1 + 20); // 0x1e3df35
int32_t v3 = *v2; // 0x1e3df35
g7 = v3;
int32_t v4 = v3 + 0x269ec3 + 0x343fc * v3; // 0x1e3df4a
g5 = v4;
*v2 = v4;
int32_t result = g5 / 0x10000 & 0x7fff; // 0x1e3df5b
g2 = result;
return result;
}
// Address range: 0x1e3df60 - 0x1e3df6e
int32_t function_1e3df60(int32_t a1) {
// 0x1e3df60
g2 = a1;
int32_t result = function_1e22600(a1); // 0x1e3df65
g2 = result;
return result;
}
// Address range: 0x1e3df70 - 0x1e3df75
int32_t function_1e3df70(int32_t a1) {
int32_t result = g7 - 1; // 0x1e3df70
g2 = result;
g4 = a1;
return result;
}
// Address range: 0x1e3df86 - 0x1e3e03c
int32_t function_1e3df86(int32_t a1, int32_t a2, int32_t a3) {
int32_t v1 = g4; // bp-4
int32_t v2 = g2; // 0x1e3df87
g4 = v2;
int32_t v3 = 256 * v2; // 0x1e3df89
g2 = v3;
if ((a1 & 3) != 0) {
int32_t v4 = g5; // 0x1e3df98
while (true) {
unsigned char v5 = *(char *)a1; // 0x1e3df98
int32_t v6 = (int32_t)v5 | v4 & -256; // 0x1e3df98
g5 = v6;
g7 = a1 + 1;
int32_t v7; // 0x1e3df9f
int32_t v8; // 0x1e3df9d
if (v5 == (char)v2) {
// bb
v8 = function_1e3df70((int32_t)&g708);
g2 = v8;
v7 = g5;
} else {
v8 = v3;
v7 = v6;
}
if ((char)v7 == 0) {
// break -> 0x1e3dff4
break;
}
int32_t v9 = g7; // 0x1e3dfa3
int32_t v10 = g4;
if ((v9 & 3) == 0) {
a1 = v9;
v3 = v8;
v2 = v10;
goto lab_0x1e3dfab;
}
v3 = v8;
v2 = v10;
v4 = v7;
a1 = v9;
}
// 0x1e3dff4
g4 = v1;
g2 = 0;
return 0;
}
lab_0x1e3dfab:;
int32_t v11 = v2 | v3; // 0x1e3dfab
int32_t v12 = g6; // 0x1e3dfad
g2 = v11;
int32_t v13 = g8; // 0x1e3dfb3
char v14 = v11; // 0x1e3dffb
int32_t result4 = a1; // 0x1e3dfd1
while (true) {
int32_t * v15 = (int32_t *)result4; // 0x1e3dfb6
int32_t v16 = *v15; // 0x1e3dfb6
int32_t v17 = v16 ^ (0x10000 * v11 | v11); // 0x1e3dfc1
int32_t v18 = v16 + 0x7efefeff; // 0x1e3dfc3
int32_t v19 = v18 ^ -1 - v16; // 0x1e3dfcf
g2 = v19;
int32_t v20 = result4 + 4; // 0x1e3dfd1
g7 = v20;
int32_t v21 = (v17 ^ -0x7efeff00 ^ v17 + 0x7efefeff) & -0x7efeff00; // 0x1e3dfd4
g5 = v21;
if (v21 == 0) {
int32_t v22 = v19 & -0x7efeff00; // 0x1e3dfdc
g2 = v22;
if (v22 == 0) {
result4 = v20;
// continue -> 0x1e3dfb6
continue;
}
int32_t v23 = v19 & 0x1010100; // 0x1e3dfe3
g2 = v23;
if (v23 != 0) {
goto lab_0x1e3dff2_5;
}
if (v18 <= -1) {
result4 = v20;
// continue -> 0x1e3dfb6
continue;
}
lab_0x1e3dff2_5:
// 0x1e3dff2
g8 = v13;
g6 = v12;
// 0x1e3dff4
g4 = v1;
g2 = 0;
return 0;
}
uint32_t v24 = *v15; // 0x1e3dff8
g2 = v24;
char v25 = v24; // 0x1e3dffb
if (v25 == v14) {
// break -> 0x1e3e035
break;
}
if (v25 == 0) {
goto lab_0x1e3dff2_5;
}
char v26 = v24 / 256; // 0x1e3e003
if (v26 == v14) {
int32_t result = result4 + 1; // 0x1e3e02e
g2 = result;
g8 = v13;
g6 = v12;
g4 = v1;
return result;
}
if (v26 == 0) {
goto lab_0x1e3dff2_5;
}
int32_t v27 = v24 / 0x10000; // 0x1e3e00b
char v28 = v27; // 0x1e3e00b
g2 = v27;
if (v28 == v14) {
int32_t result2 = result4 + 2; // 0x1e3e027
g2 = result2;
g8 = v13;
g6 = v12;
g4 = v1;
return result2;
}
if (v28 == 0) {
goto lab_0x1e3dff2_5;
}
char v29 = v24 / 0x1000000; // 0x1e3e016
if (v29 == v14) {
// 0x1e3e020
g8 = v13;
g6 = v12;
int32_t result3 = result4 + 3; // 0x1e3e022
g2 = result3;
g4 = v1;
return result3;
}
if (v29 == 0) {
goto lab_0x1e3dff2_5;
}
result4 = v20;
}
// 0x1e3e035
g2 = result4;
g8 = v13;
g6 = v12;
g4 = v1;
return result4;
}
// Address range: 0x1e3e040 - 0x1e3e18e
int32_t function_1e3e040(int32_t result, uint32_t a2, uint32_t a3) {
int32_t v1 = g8; // bp-12
g5 = a3;
int32_t v2; // edi
int32_t v3; // esi
int32_t v4; // 0x1e3e124
int32_t v5; // 0x1e3e14b
int32_t v6; // 0x1e3e120
int32_t v7; // 0x1e3e148
if (result > a2) {
int32_t v8 = a3 + a2; // 0x1e3e054
g2 = v8;
if (v8 > result) {
bool v9 = true; // df
g7 = a3 & 3;
int32_t v10 = a3 + result - 4; // 0x1e3e101
int32_t v11 = a3 / 4; // 0x1e3e104
g5 = v11;
__asm_rep_movsd_memcpy((char *)v10, (char *)(v8 - 4), v11);
int32_t v12 = (v9 ? -4 : 4) * v11 + v10; // 0x1e3e107
v2 = v12;
v3 = v12;
g5 = 0;
int32_t v13 = g7; // 0x1e3e109
g697 = v13;
switch (v13) {
case 0: {
goto lab_0x1e3e14e;
}
case 1: {
// 0x1e3e0ec
v7 = g2 & -256;
v5 = v12;
goto lab_0x1e3e148;
}
case 2: {
goto lab_0x1e3e138;
}
case 3: {
// 0x1e3e0ec
v6 = g2 & -0x10000;
v4 = v12;
goto lab_0x1e3e120;
}
default: {
int32_t v14 = v12 - 1; // 0x1e3e158
int32_t v15 = -v13 & 3; // 0x1e3e161
g7 = v15;
g2 = -v15;
g5 = v15;
char * v16 = (char *)v14; // 0x1e3e16a
__asm_rep_movsb_memcpy(v16, v16, v15);
uint32_t v17 = g2; // 0x1e3e16c
g2 = v17 & 3;
int32_t v18 = (v9 ? -1 : 1) * v15 + v14 - 3; // 0x1e3e171
char * v19 = (char *)v18; // 0x1e3e171
int32_t v20 = v17 / 4; // 0x1e3e177
g5 = v20;
__asm_rep_movsd_memcpy(v19, v19, v20);
int32_t v21 = (v9 ? -4 : 4) * v20 + v18; // 0x1e3e17a
v2 = v21;
v3 = v21;
g5 = 0;
int32_t v22 = g2; // 0x1e3e17c
g698 = v22;
switch (v22) {
case 0: {
goto lab_0x1e3e14e;
}
case 1: {
v7 = 0;
v5 = v21;
goto lab_0x1e3e148;
}
case 2: {
goto lab_0x1e3e138;
}
case 3: {
v6 = 0;
v4 = v21;
goto lab_0x1e3e120;
}
default: {
char * v23 = (char *)v21; // 0x1e3e184
__asm_rep_movsb_memcpy(v23, v23, 0);
g5 = 0;
g1 = false;
g2 = result;
g8 = v1;
return result;
}
}
}
}
} else {
goto lab_0x1e3e05e;
}
} else {
goto lab_0x1e3e05e;
}
lab_0x1e3e05e:
// 0x1e3e05e
g7 = a3 & 3;
int32_t v24 = a3 / 4; // 0x1e3e06b
g5 = v24;
__asm_rep_movsd_memcpy((char *)result, (char *)a2, v24);
int32_t v25 = (g1 ? -4 : 4) * v24 + result; // 0x1e3e06e
v2 = v25;
v3 = v25;
g5 = 0;
int32_t v26 = g7; // 0x1e3e070
g694 = v26;
int32_t v27; // 0x1e3e08b
int32_t v28; // 0x1e3e0ae
int32_t v29; // 0x1e3e088
int32_t v30; // 0x1e3e0ac
switch (v26) {
case 0: {
goto lab_0x1e3e0b0;
}
case 1: {
// 0x1e3e05e
v30 = g2 & -256;
v28 = v25;
goto lab_0x1e3e0ac;
}
case 2: {
goto lab_0x1e3e09c;
}
case 3: {
// 0x1e3e05e
v29 = g2 & -0x10000;
v27 = v25;
goto lab_0x1e3e088;
}
default: {
int32_t v31 = -v25 & 3; // 0x1e3e0c1
g7 = v31;
g2 = -v31;
g5 = v31;
char * v32 = (char *)v25; // 0x1e3e0ca
__asm_rep_movsb_memcpy(v32, v32, v31);
int32_t v33 = (g1 ? -1 : 1) * v31 + v25; // 0x1e3e0ca
char * v34 = (char *)v33; // 0x1e3e0ca
uint32_t v35 = g2; // 0x1e3e0cc
g2 = v35 & 3;
int32_t v36 = v35 / 4; // 0x1e3e0d1
g5 = v36;
__asm_rep_movsd_memcpy(v34, v34, v36);
int32_t v37 = (g1 ? -4 : 4) * v36 + v33; // 0x1e3e0d4
v2 = v37;
v3 = v37;
g5 = 0;
int32_t v38 = g2; // 0x1e3e0d6
g695 = v38;
switch (v38) {
case 0: {
goto lab_0x1e3e0b0;
}
case 1: {
v30 = 0;
v28 = v37;
goto lab_0x1e3e0ac;
}
case 2: {
goto lab_0x1e3e09c;
}
case 3: {
v29 = 0;
v27 = v37;
goto lab_0x1e3e088;
}
default: {
char * v39 = (char *)v37; // 0x1e3e0e0
__asm_rep_movsb_memcpy(v39, v39, 0);
g5 = 0;
g2 = result;
g8 = v1;
return result;
}
}
}
}
lab_0x1e3e09c:
// 0x1e3e09c
g2 = result;
g8 = v1;
return result;
lab_0x1e3e138:
// 0x1e3e138
g1 = false;
g2 = result;
g8 = v1;
return result;
lab_0x1e3e0ac:;
char * v40 = (char *)v28; // 0x1e3e0ac
unsigned char v41 = *v40; // 0x1e3e0ac
g2 = (int32_t)v41 | v30;
*v40 = v41;
lab_0x1e3e0b0:
// 0x1e3e0b0
g2 = result;
g8 = v1;
return result;
lab_0x1e3e088:;
int16_t * v42 = (int16_t *)v27; // 0x1e3e088
uint16_t v43 = *v42; // 0x1e3e088
g2 = (int32_t)v43 | v29;
*v42 = v43;
*(char *)(v2 + 2) = *(char *)(v3 + 2);
g2 = result;
g8 = v1;
return result;
lab_0x1e3e148:;
char * v44 = (char *)(v5 + 3); // 0x1e3e148
unsigned char v45 = *v44; // 0x1e3e148
g2 = (int32_t)v45 | v7;
*v44 = v45;
lab_0x1e3e14e:
// 0x1e3e14e
g1 = false;
g2 = result;
g8 = v1;
return result;
lab_0x1e3e120:;
int16_t * v46 = (int16_t *)(v4 + 2); // 0x1e3e120
uint16_t v47 = *v46; // 0x1e3e120
g2 = (int32_t)v47 | v6;
*v46 = v47;
*(char *)(v2 + 1) = *(char *)(v3 + 1);
g1 = false;
g2 = result;
g8 = v1;
return result;
}
// Address range: 0x1e3e190 - 0x1e3e19a
int32_t function_1e3e190(void) {
int32_t result = function_1e4153b((int32_t)&g708, (int32_t)&g708); // 0x1e3e195
g2 = result;
return result;
}
// Address range: 0x1e3e19a - 0x1e3e1a1
int32_t function_1e3e19a(void) {
// 0x1e3e19a
return g2;
}
// Address range: 0x1e3e1a1 - 0x1e3e1a8
int32_t function_1e3e1a1(void) {
// 0x1e3e1a1
return g2;
}
// Address range: 0x1e3e1a8 - 0x1e3e1b2
int32_t function_1e3e1a8(void) {
int32_t result = function_1e413bb((int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e3e1ad
g2 = result;
return result;
}
// Address range: 0x1e3e1b7 - 0x1e3e1bc
int32_t function_1e3e1b7(void) {
int32_t result = __cintrindisp1(); // 0x1e3e1b7
g2 = result;
return result;
}
// Address range: 0x1e3e1bc - 0x1e3e1c3
int32_t function_1e3e1bc(void) {
int32_t result = function_1e3e1b7(); // 0x1e3e1c1
g2 = result;
return result;
}
// Address range: 0x1e3e1c3 - 0x1e3e1ca
int32_t function_1e3e1c3(void) {
int32_t result = function_1e3e1b7(); // 0x1e3e1c8
g2 = result;
return result;
}
// Address range: 0x1e3e1ca - 0x1e3e1d4
int32_t function_1e3e1ca(void) {
int32_t result = __cintrindisp2(); // 0x1e3e1cf
g2 = result;
return result;
}
// Address range: 0x1e3e1e0 - 0x1e3edb9
int32_t function_1e3e1e0(int32_t * a1, int32_t a2, int32_t * a3) {
// 0x1e3e1e0
char v1;
g4 = v1;
int32_t v2 = g3; // bp-464
int32_t v3 = &v2; // 0x1e3e202
g3 = (int32_t)a1;
int32_t v4 = *(int32_t *)(v3 + 472); // 0x1e3e20a290
g5 = v4;
unsigned char v5 = *(char *)v4; // 0x1e3e211292
int32_t v6 = v5; // 0x1e3e211293
g2 = g2 & -256 | v6;
int32_t v7; // 0x1e3e39c
int32_t v8; // 0x1e3e392
int32_t v9; // 0x1e3e398
int32_t v10; // 0x1e3e2d1
int32_t v11; // 0x1e3ed6a
if (v5 == 0) {
goto lab_0x1e3ed78_7;
} else {
while (true) {
lab_0x1e3e21b:;
// 0x1e3e21b
int32_t v12; // 0x1e3e24c
int32_t v13; // 0x1e3e22b
if (g442 > 1) {
// 0x1e3e224
*(int32_t *)(v3 - 4) = 8;
int32_t v14 = g2 & 255; // 0x1e3e228
g5 = v14;
*(int32_t *)(v3 - 8) = v14;
v13 = function_1e40120((int32_t)&g708, (int32_t)&g708);
g2 = v13;
v12 = g9 + 8;
} else {
int32_t v15 = (int32_t)g122; // 0x1e3e237
g7 = v15;
g5 = v6;
g2 = 0;
int32_t v16 = (int32_t)*(int16_t *)(v15 + 2 * v6) & 8; // 0x1e3e245
g2 = v16;
v12 = v3;
v13 = v16;
}
int32_t v17; // 0x1e3ecdf
if (v13 != 0) {
int32_t v18 = v12 + 28; // 0x1e3e24c
g2 = v18;
*(int32_t *)(v12 - 4) = g3;
int32_t * v19 = (int32_t *)v18; // 0x1e3e251
*v19 = *v19 - 1;
*(int32_t *)(g9 - 4) = g3;
*(int32_t *)(g9 - 8) = g2;
int32_t v20 = function_1e3ef10((int32_t)&g708, (int32_t)&g708); // 0x1e3e257
g2 = v20;
*(int32_t *)(g9 + 4) = v20;
g2 = function_1e3eef0((int32_t)&g708, (int32_t)&g708);
g2 = 0;
int32_t * v21 = (int32_t *)(480 + g9); // 0x1e3e26a
*v21 = *v21 + 1;
int32_t v22 = *(int32_t *)(g9 + 472); // 0x1e3e271
g5 = v22;
int32_t v23 = g2 & -256 | (int32_t)*(char *)v22; // 0x1e3e278
g2 = v23;
*(int32_t *)(g9 - 4) = v23;
int32_t v24 = function_1e41720((int32_t)&g708); // 0x1e3e27b
g2 = v24;
int32_t v25 = g9 + 4; // 0x1e3e280
v17 = v25;
while (v24 != 0) {
// 0x1e3e268
g2 = 0;
v21 = (int32_t *)(v25 + 472);
*v21 = *v21 + 1;
v22 = *(int32_t *)(g9 + 472);
g5 = v22;
v23 = g2 & -256 | (int32_t)*(char *)v22;
g2 = v23;
*(int32_t *)(g9 - 4) = v23;
v24 = function_1e41720((int32_t)&g708);
g2 = v24;
v25 = g9 + 4;
v17 = v25;
}
} else {
v17 = v12;
}
int32_t * v26 = (int32_t *)(v17 + 472); // 0x1e3e287
int32_t v27 = *v26; // 0x1e3e287
g5 = v27;
if (*(char *)v27 != 37) {
// 0x1e3ecdf
g8 = *v26;
*(int32_t *)(v17 - 4) = g3;
*v26 = *v26 + 1;
int32_t * v28 = (int32_t *)(g9 + 32); // 0x1e3ecee
*v28 = *v28 + 1;
int32_t v29 = function_1e3eec0((int32_t)&g708); // 0x1e3ecf2
g4 = v29;
g2 = 0;
int32_t v30 = (int32_t)*(char *)g8; // 0x1e3ecfe
g2 = v30;
if (v30 != v29) {
v11 = g9 + 4;
// break -> 0x1e3ed6a
break;
}
int32_t v31 = (int32_t)g122; // 0x1e3ed06
g2 = v31;
int32_t v32 = v29 & 255; // 0x1e3ed0b
g5 = v32;
if (*(char *)((2 * v32 || 1) + v31) <= 255) {
int32_t * v33 = (int32_t *)(g9 + 476); // 0x1e3ed14
g8 = *v33;
*(int32_t *)g9 = g3;
*v33 = *v33 + 1;
int32_t * v34 = (int32_t *)(g9 + 32); // 0x1e3ed23
*v34 = *v34 + 1;
int32_t v35 = function_1e3eec0((int32_t)&g708); // 0x1e3ed27
g2 = v35;
g5 = 0;
int32_t v36 = (int32_t)*(char *)g8; // 0x1e3ed31
g5 = v36;
int32_t * v37 = (int32_t *)(g9 + 32); // 0x1e3ed5c
*v37 = *v37 - 1;
if (v36 != v35) {
// 0x1e3ed5c
*(int32_t *)(g9 - 4) = g3;
*(int32_t *)(g9 - 8) = g2;
g2 = function_1e3eef0((int32_t)&g708, (int32_t)&g708);
v11 = g9 + 8;
goto lab_0x1e3ed6a_2;
}
}
goto lab_0x1e3ed3b;
} else {
// 0x1e3e297
g6 = 0;
g8 = 0;
*(int32_t *)(v17 + 64) = 0;
*(int32_t *)(g9 + 60) = g6;
*(char *)(g9 + 22) = 0;
*(char *)(g9 + 56) = 0;
*(char *)(g9 + 18) = 0;
*(char *)(g9 + 21) = 0;
*(char *)(g9 + 23) = 0;
*(char *)(g9 + 19) = 0;
*(char *)(g9 + 36) = 0;
*(char *)(g9 + 20) = 1;
*(int32_t *)(g9 + 40) = g8;
v10 = g9;
while (true) {
lab_0x1e3e2cf:
// 0x1e3e2cf
g2 = 0;
int32_t * v38 = (int32_t *)(v10 + 472); // 0x1e3e2d1
*v38 = *v38 + 1;
int32_t v39 = *(int32_t *)(g9 + 472); // 0x1e3e2d8
g5 = v39;
int32_t v40 = g2 & -256 | (int32_t)*(char *)v39; // 0x1e3e2e6
g2 = v40;
*(int32_t *)(g9 + 32) = v40;
int32_t v41; // 0x1e3e2f7
if (g442 > 1) {
// 0x1e3e2ee
*(int32_t *)(g9 - 4) = 4;
g2 = 0;
int32_t v42 = (int32_t)*(char *)(g9 + 32); // 0x1e3e2f2
g2 = v42;
*(int32_t *)(g9 - 8) = v42;
v41 = function_1e40120((int32_t)&g708, (int32_t)&g708);
g2 = v41;
v9 = g9 + 8;
} else {
// 0x1e3e301
g5 = 0;
int32_t v43 = (int32_t)g122; // 0x1e3e303
g7 = v43;
int32_t v44 = (int32_t)*(char *)(g9 + 32); // 0x1e3e309
g5 = v44;
g2 = 0;
int32_t v45 = (int32_t)*(int16_t *)(2 * v44 + v43) & 4; // 0x1e3e313
g2 = v45;
v9 = g9;
v41 = v45;
}
if (v41 == 0) {
int32_t v46 = *(int32_t *)(v9 + 32); // 0x1e3e32b
g5 = v46 - 42;
g2 = 0;
unsigned char v47 = *(char *)(v46 + (int32_t)&g15 - 42); // 0x1e3e339
int32_t v48 = v47; // 0x1e3e339
g2 = v48;
g696 = v48;
switch (v47) {
case 0: {
char * v49 = (char *)(v9 + 21); // 0x1e3e346
*v49 = *v49 + 1;
goto lab_0x1e3e39c;
}
case 1: {
goto lab_0x1e3e39c;
}
case 2: {
int32_t * v50 = (int32_t *)(v9 + 472); // 0x1e3e34c
int32_t v51 = *v50; // 0x1e3e34c
g5 = v51;
if (*(char *)(v51 + 1) != 54) {
goto lab_0x1e3e398;
} else {
int32_t v52 = v51 + 2; // 0x1e3e359
g2 = v52;
if (*(char *)v52 != 52) {
goto lab_0x1e3e398;
} else {
// 0x1e3e361
*v50 = v52;
int32_t * v53 = (int32_t *)(g9 + 40); // 0x1e3e368
*v53 = *v53 + 1;
*(int32_t *)(g9 + 48) = 0;
*(int32_t *)(g9 + 52) = 0;
goto lab_0x1e3e39c;
}
}
}
case 3: {
char * v54 = (char *)(v9 + 20); // 0x1e3e37e
*v54 = *v54 + 1;
goto lab_0x1e3e39c;
}
case 4: {
goto lab_0x1e3e39c;
}
case 5: {
char * v55 = (char *)(v9 + 20); // 0x1e3e384
*v55 = *v55 - 1;
char * v56 = (char *)(g9 + 36); // 0x1e3e388
*v56 = *v56 - 1;
goto lab_0x1e3e39c;
}
case 6: {
char * v57 = (char *)(v9 + 20); // 0x1e3e38e
*v57 = *v57 + 1;
v8 = g9;
goto lab_0x1e3e392;
}
case 7: {
v8 = v9;
goto lab_0x1e3e392;
}
default: {
goto lab_0x1e3e398;
}
}
} else {
// 0x1e3e31a
g5 = 5 * g8;
g2 = *(int32_t *)(v9 + 32);
int32_t * v58 = (int32_t *)(v9 + 60); // 0x1e3e321
*v58 = *v58 + 1;
g8 = g2 - 48 + 2 * g5;
goto lab_0x1e3e39c;
}
}
lab_0x1e3e3a7:;
char v59 = *(char *)(v7 + 21); // 0x1e3e3a7
int32_t v60; // 0x1e3e3cf
if (v59 == 0) {
int32_t * v61 = (int32_t *)(v7 + 476); // 0x1e3e3ae
int32_t v62 = *v61; // 0x1e3e3ae
g2 = v62;
int32_t v63 = *v61; // 0x1e3e3b5
*v61 = v63 + 4;
int32_t v64 = g2; // 0x1e3e3bd
int32_t v65 = g9; // 0x1e3e3bd
*(int32_t *)(v65 + 76) = v64;
int32_t v66 = g9; // 0x1e3e3c1
int32_t v67 = *(int32_t *)(v66 + 476); // 0x1e3e3c1
g2 = v67;
int32_t v68 = *(int32_t *)(v67 - 4); // 0x1e3e3c8
g5 = v68;
*(int32_t *)(v66 + 44) = v68;
int32_t v69 = g9;
v60 = v69;
} else {
v60 = v7;
}
// 0x1e3e3cf
*(char *)(v60 + 23) = 0;
int32_t v70 = g9; // 0x1e3e3d4
char * v71 = (char *)(v70 + 36); // 0x1e3e3d4
char v72 = *v71; // 0x1e3e3d4
if (v72 != 0) {
goto lab_0x1e3e3f6;
} else {
int32_t v73 = *(int32_t *)(v70 + 472); // 0x1e3e3db
g5 = v73;
unsigned char v74 = *(char *)v73; // 0x1e3e3e2
int32_t v75 = g2; // 0x1e3e3e2
g2 = v75 & -256 | (int32_t)v74;
char v76; // 0x1e3e3f2
if (v74 == 83) {
// 0x1e3e3f2
v76 = *v71;
*v71 = v76 + 1;
goto lab_0x1e3e3f6;
} else {
if (v74 == 67) {
// 0x1e3e3f2
v76 = *v71;
*v71 = v76 + 1;
goto lab_0x1e3e3f6;
} else {
char v77 = *v71; // 0x1e3e3ec
*v71 = v77 - 1;
goto lab_0x1e3e3f6;
}
}
}
}
}
goto lab_0x1e3ed6a_2;
}
lab_0x1e3ed78_7:;
int32_t result = *(int32_t *)(v3 + 72); // 0x1e3edaa
if (g4 != -1) {
// 0x1e3edaa
g2 = result;
g8 = *(int32_t *)(v3 + 8);
return result;
}
if (result != 0 || *(char *)(v3 + 17) != 0) {
// 0x1e3ed9b
g2 = result;
g8 = *(int32_t *)(v3 + 8);
return result;
}
// 0x1e3ed8b
g2 = -1;
g8 = *(int32_t *)(v3 + 8);
return -1;
lab_0x1e3ebed:;
int32_t v78 = g442; // 0x1e3ebed
int32_t v79; // 0x1e3ebf6
int32_t v80; // 0x1e3ec17
int32_t v81; // 0x1e3ec1e
if (v78 > 1) {
// 0x1e3ebf6
*(int32_t *)(v79 - 4) = 128;
int32_t v82 = g4; // 0x1e3ebfb
*(int32_t *)(v79 - 8) = v82;
int32_t v83 = function_1e40120((int32_t)&g708, (int32_t)&g708); // 0x1e3ebfc
g2 = v83;
int32_t v84 = g9; // 0x1e3ec01
int32_t v85 = v84 + 8; // 0x1e3ec01
v81 = v85;
v80 = v83;
} else {
int16_t * v86 = g122; // 0x1e3ec06
int32_t v87 = (int32_t)v86; // 0x1e3ec06
g5 = v87;
g2 = 0;
int32_t v88 = g4; // 0x1e3ec0e
uint16_t v89 = *(int16_t *)(2 * v88 + v87); // 0x1e3ec0e
int32_t v90 = (int32_t)v89 & 128; // 0x1e3ec12
g2 = v90;
v81 = v79;
v80 = v90;
}
int32_t v91; // 0x1e3ec2b
int32_t v92; // 0x1e3ec5f
if (v80 == 0) {
v91 = v81;
goto lab_0x1e3ec2b;
} else {
int32_t v93 = g6; // 0x1e3ec1b
g6 = 16 * v93;
int32_t v94 = g4; // 0x1e3ec1e
*(int32_t *)(v81 - 4) = v94;
int32_t v95 = function_1e3ee80((int32_t)&g708); // 0x1e3ec1f
g2 = v95;
int32_t v96 = g9; // 0x1e3ec24
int32_t v97 = v96 + 4; // 0x1e3ec24
g4 = v95;
v92 = v97;
goto lab_0x1e3ec2f;
}
lab_0x1e3ec2b:;
char * v98 = (char *)(v91 + 23); // 0x1e3ec2b
char v99 = *v98; // 0x1e3ec2b
*v98 = v99 + 1;
int32_t v100 = g9;
v92 = v100;
goto lab_0x1e3ec2f;
lab_0x1e3ec2f:;
char v101 = *(char *)(v92 + 23); // 0x1e3ec2f
int32_t v102; // 0x1e3ec3e
int32_t v103; // 0x1e3ec6d
if (v101 != 0) {
int32_t * v104 = (int32_t *)(v92 + 28); // 0x1e3ec5f
int32_t v105 = *v104; // 0x1e3ec5f
*v104 = v105 - 1;
int32_t v106 = g3; // 0x1e3ec63
int32_t v107 = g9; // 0x1e3ec63
*(int32_t *)(v107 - 4) = v106;
int32_t v108 = g4; // 0x1e3ec64
*(int32_t *)(v107 - 8) = v108;
int32_t v109 = function_1e3eef0((int32_t)&g708, (int32_t)&g708); // 0x1e3ec65
g2 = v109;
int32_t v110 = g9; // 0x1e3ec6a
int32_t v111 = v110 + 8; // 0x1e3ec6a
v103 = v111;
goto lab_0x1e3ec6d;
} else {
int32_t v112 = g4; // 0x1e3ec36
int32_t v113 = g6; // 0x1e3ec36
g6 = v112 - 48 + v113;
int32_t * v114 = (int32_t *)(v92 + 64); // 0x1e3ec3a
int32_t v115 = *v114; // 0x1e3ec3a
*v114 = v115 + 1;
v102 = g9;
int32_t v116 = *(int32_t *)(v102 + 60); // 0x1e3ec3e
if (v116 == 0) {
goto lab_0x1e3ec4e;
} else {
int32_t v117 = g8; // 0x1e3ec45
int32_t v118 = v117 - 1; // 0x1e3ec45
g8 = v118;
if (v118 != 0) {
goto lab_0x1e3ec4e;
} else {
char * v119 = (char *)(v102 + 23); // 0x1e3ec48
char v120 = *v119; // 0x1e3ec48
*v119 = v120 + 1;
int32_t v121 = g9;
v103 = v121;
goto lab_0x1e3ec6d;
}
}
}
lab_0x1e3ec6d:;
char v122 = *(char *)(v103 + 23); // 0x1e3ec6d
int32_t v123; // 0x1e3ec78
if (v122 != 0) {
v123 = v103;
// break -> 0x1e3ec78
goto lab_0x1e3ec78;
}
v79 = v103;
goto lab_0x1e3eb99;
lab_0x1e3ec4e:;
int32_t * v141 = (int32_t *)(v102 + 28); // 0x1e3ec4e
int32_t v142 = *v141; // 0x1e3ec4e
*v141 = v142 + 1;
int32_t v143 = g3; // 0x1e3ec52
int32_t v144 = g9; // 0x1e3ec52
*(int32_t *)(v144 - 4) = v143;
int32_t v145 = function_1e3eec0((int32_t)&g708); // 0x1e3ec53
g2 = v145;
int32_t v146 = g9; // 0x1e3ec58
int32_t v147 = v146 + 4; // 0x1e3ec58
g4 = v145;
v103 = v147;
goto lab_0x1e3ec6d;
lab_0x1e3eb12:;
// 0x1e3eb12
int32_t v148; // 0x1e3eb12
char * v149 = (char *)(v148 + 23); // 0x1e3eb12
char v150 = *v149; // 0x1e3eb12
*v149 = v150 + 1;
goto lab_0x1e3eb16;
lab_0x1e3eb16:;
int32_t v151 = g9; // 0x1e3eb16
char v152 = *(char *)(v151 + 23); // 0x1e3eb16
int32_t v153; // 0x1e3eb2d
int32_t v154; // 0x1e3eb5c
if (v152 != 0) {
int32_t * v155 = (int32_t *)(v151 + 28); // 0x1e3eb4e
int32_t v156 = *v155; // 0x1e3eb4e
*v155 = v156 - 1;
int32_t v157 = g3; // 0x1e3eb52
int32_t v158 = g9; // 0x1e3eb52
*(int32_t *)(v158 - 4) = v157;
int32_t v159 = g4; // 0x1e3eb53
*(int32_t *)(v158 - 8) = v159;
int32_t v160 = function_1e3eef0((int32_t)&g708, (int32_t)&g708); // 0x1e3eb54
g2 = v160;
int32_t v161 = g9; // 0x1e3eb59
int32_t v162 = v161 + 8; // 0x1e3eb59
v154 = v162;
goto lab_0x1e3eb5c;
} else {
int32_t v163 = g4; // 0x1e3eb1d
g2 = v163 - 48;
int32_t * v164 = (int32_t *)(v151 + 64); // 0x1e3eb20
int32_t v165 = *v164; // 0x1e3eb20
*v164 = v165 + 1;
int32_t v166 = g2; // 0x1e3eb24
g7 = v166 >> 31;
int32_t v167 = g9; // 0x1e3eb25
int32_t * v168 = (int32_t *)(v167 + 48); // 0x1e3eb25
uint32_t v169 = *v168; // 0x1e3eb25
uint32_t v170 = v169 + v166; // 0x1e3eb25
*v168 = v170;
int32_t v171 = g9; // 0x1e3eb29
int32_t * v172 = (int32_t *)(v171 + 52); // 0x1e3eb29
int32_t v173 = *v172; // 0x1e3eb29
int32_t v174 = g7; // 0x1e3eb29
*v172 = (int32_t)(v170 < v169) + v173 + v174;
v153 = g9;
int32_t v175 = *(int32_t *)(v153 + 60); // 0x1e3eb2d
if (v175 == 0) {
goto lab_0x1e3eb3d;
} else {
int32_t v176 = g8; // 0x1e3eb34
int32_t v177 = v176 - 1; // 0x1e3eb34
g8 = v177;
if (v177 != 0) {
goto lab_0x1e3eb3d;
} else {
char * v178 = (char *)(v153 + 23); // 0x1e3eb37
char v179 = *v178; // 0x1e3eb37
*v178 = v179 + 1;
int32_t v180 = g9;
v154 = v180;
goto lab_0x1e3eb5c;
}
}
}
lab_0x1e3eb5c:;
char v181 = *(char *)(v154 + 23); // 0x1e3eb5c
int32_t v182; // 0x1e3eb7f
if (v181 != 0) {
v182 = v154;
// break -> 0x1e3eb67
goto lab_0x1e3eb67;
}
int32_t v183 = v154; // 0x1e3ea58
goto lab_0x1e3e9ef;
lab_0x1e3eb3d:;
int32_t * v257 = (int32_t *)(v153 + 28); // 0x1e3eb3d
int32_t v258 = *v257; // 0x1e3eb3d
*v257 = v258 + 1;
int32_t v259 = g3; // 0x1e3eb41
int32_t v260 = g9; // 0x1e3eb41
*(int32_t *)(v260 - 4) = v259;
int32_t v261 = function_1e3eec0((int32_t)&g708); // 0x1e3eb42
g2 = v261;
int32_t v262 = g9; // 0x1e3eb47
int32_t v263 = v262 + 4; // 0x1e3eb47
g4 = v261;
v154 = v263;
goto lab_0x1e3eb5c;
lab_0x1e3e7c0:;
int32_t v206 = 0; // edx
unsigned char v264; // 0x1e3e751
int32_t v265; // 0x1e3e7c0
g2 = v265 & -256 | (int32_t)(v264 / 8);
char * v266;
*v266 = v264;
int32_t v267 = g2; // 0x1e3e7cb
int32_t v268 = v206; // 0x1e3e7cb
int32_t v269 = v268 & -256 | v267 & 255; // 0x1e3e7cb
g7 = v269;
int32_t v270 = g5; // 0x1e3e7cd
unsigned char v271 = (char)v270 & 7; // 0x1e3e7cd
g5 = (int32_t)v271 | v270 & -256;
int32_t v272 = v267 & -256; // 0x1e3e7d0
int32_t v273 = v272 | 1; // 0x1e3e7d0
int32_t v274;
int32_t v275; // 0x1e3e7d4
if (v271 != 0) {
int32_t v276 = (int32_t)(1 << v271) | v272; // 0x1e3e7d2
v274 = v276;
v275 = v276;
} else {
v274 = v273;
v275 = v273;
}
// bb205
g2 = v274;
int32_t v277 = g9; // 0x1e3e7d4
char * v278 = (char *)(v269 + 80 + v277); // 0x1e3e7d4
char v279 = *v278; // 0x1e3e7d4
*v278 = v279 | (char)v275;
goto lab_0x1e3e7d8;
lab_0x1e3e7d8:;
int32_t v280 = g9; // 0x1e3e7d8
int32_t v281 = *(int32_t *)(v280 + 40); // 0x1e3e7d8
g2 = v281;
char v282 = *(char *)v281; // 0x1e3e7dc
int32_t v283; // 0x1e3e7f9
if (v282 == 93) {
v283 = v280;
// break -> 0x1e3e7e5
goto lab_0x1e3e7e5;
}
int32_t v284 = v280; // 0x1e3e74d
goto lab_0x1e3e749;
lab_0x1e3e39c:
// 0x1e3e39c
v7 = g9;
if (*(char *)(v7 + 23) != 0) {
// break -> 0x1e3e3a7
goto lab_0x1e3e3a7;
}
v10 = v7;
goto lab_0x1e3e2cf;
lab_0x1e3e392:;
char * v332 = (char *)(v8 + 36); // 0x1e3e392
*v332 = *v332 + 1;
goto lab_0x1e3e39c;
lab_0x1e3e398:;
char * v333 = (char *)(v9 + 23); // 0x1e3e398
*v333 = *v333 + 1;
goto lab_0x1e3e39c;
lab_0x1e3ed3b:;
int32_t * v334 = (int32_t *)(g9 + 472);
if (g4 == -1) {
int32_t v335 = *v334; // 0x1e3ed44
g5 = v335;
if (*(char *)v335 != 37) {
v3 = g9;
goto lab_0x1e3ed78_7;
}
// 0x1e3ed50
if (*(char *)(v335 + 1) != 110) {
v3 = g9;
goto lab_0x1e3ed78_7;
}
}
int32_t v336 = *v334; // 0x1e3e20a
g5 = v336;
unsigned char v337 = *(char *)v336; // 0x1e3e211
int32_t v338 = v337; // 0x1e3e211
g2 = g2 & -256 | v338;
if (v337 == 0) {
v3 = g9;
goto lab_0x1e3ed78_7;
}
v6 = v338;
v3 = g9;
goto lab_0x1e3e21b;
lab_0x1e3e3f6:;
int32_t v339 = g9; // 0x1e3e3f6
int32_t v340 = *(int32_t *)(v339 + 472); // 0x1e3e3f6
g5 = v340;
char v341 = *(char *)v340; // 0x1e3e3fd
int32_t v342 = g2; // 0x1e3e3fd
int32_t v343 = v341 | 32; // 0x1e3e401
g2 = v342 & -256 | v343;
g5 = v343;
*(int32_t *)(v339 + 32) = v343;
int32_t v344 = g5; // 0x1e3e409
int32_t v345;
int32_t v346; // 0x1e3e435
int32_t v347; // 0x1e3e474
if (v344 == 110) {
int32_t v348 = g9;
v347 = v348;
goto lab_0x1e3e437;
} else {
if (v344 == 99) {
goto lab_0x1e3e428;
} else {
if (v344 == 123) {
goto lab_0x1e3e428;
} else {
int32_t v349 = g9; // 0x1e3e418
g2 = v349 + 28;
int32_t v350 = g3; // 0x1e3e41c
*(int32_t *)(v349 - 4) = v350;
int32_t v351 = g2; // 0x1e3e41d
*(int32_t *)(v349 - 8) = v351;
int32_t v352 = function_1e3ef10((int32_t)&g708, (int32_t)&g708); // 0x1e3e41e
g2 = v352;
int32_t v353 = g9; // 0x1e3e423
int32_t v354 = v353 + 8; // 0x1e3e423
v346 = v352;
v345 = v354;
// 0x1e3e435
g4 = v346;
v347 = v345;
goto lab_0x1e3e437;
}
}
}
lab_0x1e3e437:;
int32_t * v355 = (int32_t *)(v347 + 60); // 0x1e3e437
int32_t v356 = *v355; // 0x1e3e437
if (v356 != 0) {
int32_t v357 = g8; // 0x1e3e43e
if (v357 == 0) {
v11 = v347;
// break -> 0x1e3ed6a
goto lab_0x1e3ed6a_2;
}
}
int32_t * v358 = (int32_t *)(v347 + 32); // 0x1e3e446
int32_t v359 = *v358; // 0x1e3e446
g5 = v359 - 99;
g2 = 0;
unsigned char v360 = *(char *)(v359 + (int32_t)&g16 - 99); // 0x1e3e454
int32_t v361 = v360; // 0x1e3e454
g2 = v361;
g707 = v361;
int32_t v362; // 0x1e3e4e1
int32_t v363; // 0x1e3e70c
int32_t v364; // 0x1e3ecc5
int32_t v365; // 0x1e3e4d2
int32_t v366; // 0x1e3e51325
switch (v360) {
case 0: {
int32_t v367 = *v355; // 0x1e3e493
int32_t v368; // 0x1e3e4a6
if (v367 == 0) {
int32_t v369 = g8; // 0x1e3e49a
g8 = v369 + 1;
int32_t v370 = *v355; // 0x1e3e49b
*v355 = v370 + 1;
int32_t v371 = g9;
v368 = v371;
} else {
v368 = v347;
}
char v372 = *(char *)(v368 + 36); // 0x1e3e49f
int32_t v373; // 0x1e3e4ab
if (v372 > 0) {
// 0x1e3e4a6
*(char *)(v368 + 19) = 1;
int32_t v374 = g9;
v373 = v374;
} else {
v373 = v368;
}
// 0x1e3e4ab
*(int32_t *)(v373 + 40) = (int32_t)&g433;
// 0x1e3e70c
v363 = g9;
*(char *)(v363 + 56) = -1;
goto lab_0x1e3e711;
}
case 1: {
goto lab_0x1e3e6bb;
}
case 2: {
int32_t v375 = v347 + 112; // 0x1e3e4b8
g6 = v375;
int32_t v376 = g4; // 0x1e3e4bc
if (v376 != 45) {
if (v376 != 43) {
v366 = v376;
v362 = v347;
goto lab_0x1e3e4e1;
} else {
v365 = v347;
goto lab_0x1e3e4d1;
}
} else {
// 0x1e3e4c1
*(char *)v375 = 45;
int32_t v377 = g9; // 0x1e3e4c6
g6 = v377 + 113;
v365 = v377;
goto lab_0x1e3e4d1;
}
}
case 3: {
// 0x1e3e687
*v358 = 100;
goto lab_0x1e3e68f;
}
case 4: {
char v378 = *(char *)(v347 + 21); // 0x1e3e6a2
int32_t v379 = *(int32_t *)(v347 + 28); // 0x1e3e6a7
g6 = v379;
if (v378 != 0) {
goto lab_0x1e3ecd2;
} else {
v364 = v347;
goto lab_0x1e3eca6;
}
}
case 5: {
goto lab_0x1e3e6bb;
}
case 6: {
// 0x1e3e6b6
*(char *)(v347 + 20) = 1;
goto lab_0x1e3e6bb;
}
case 7: {
char v380 = *(char *)(v347 + 36); // 0x1e3e6ce
int32_t v381; // 0x1e3e6da
if (v380 > 0) {
// 0x1e3e6d5
*(char *)(v347 + 19) = 1;
int32_t v382 = g9;
v381 = v382;
} else {
v381 = v347;
}
// 0x1e3e6da
*(int32_t *)(v381 + 40) = (int32_t)" \t-\r]";
// 0x1e3e70c
v363 = g9;
*(char *)(v363 + 56) = -1;
goto lab_0x1e3e711;
}
case 8: {
goto lab_0x1e3e6bb;
}
case 9: {
goto lab_0x1e3e68f;
}
case 10: {
char v383 = *(char *)(v347 + 36); // 0x1e3e6e4
int32_t v384; // 0x1e3e6f0
if (v383 > 0) {
// 0x1e3e6eb
*(char *)(v347 + 19) = 1;
int32_t v385 = g9;
v384 = v385;
} else {
v384 = v347;
}
int32_t * v386 = (int32_t *)(v384 + 472); // 0x1e3e6f0
int32_t v387 = *v386; // 0x1e3e6f0
*v386 = v387 + 1;
int32_t v388 = g9; // 0x1e3e6f7
int32_t v389 = *(int32_t *)(v388 + 472); // 0x1e3e6f7
g5 = v389;
*(int32_t *)(v388 + 40) = v389;
int32_t v390 = g5; // 0x1e3e702
char v391 = *(char *)v390; // 0x1e3e702
if (v391 != 94) {
goto lab_0x1e3e711;
} else {
int32_t v392 = v390 + 1; // 0x1e3e707
g5 = v392;
int32_t v393 = g9; // 0x1e3e708
*(int32_t *)(v393 + 40) = v392;
// 0x1e3e70c
v363 = g9;
*(char *)(v363 + 56) = -1;
goto lab_0x1e3e711;
}
}
default: {
// 0x1e3e461
g2 = 0;
int32_t v394 = *(int32_t *)(v347 + 472); // 0x1e3e463
g5 = v394;
unsigned char v395 = *(char *)v394; // 0x1e3e46a
int32_t v396 = v395; // 0x1e3e46a
g2 = v396;
int32_t v397 = g4; // 0x1e3e46c
if (v396 != v397) {
v11 = v347;
// break -> 0x1e3ed6a
break;
}
char * v398 = (char *)(v347 + 17); // 0x1e3e474
char v399 = *v398; // 0x1e3e474
*v398 = v399 - 1;
int32_t v400 = g9; // 0x1e3e478
char v401 = *(char *)(v400 + 21); // 0x1e3e478
if (v401 == 0) {
int32_t v402 = *(int32_t *)(v400 + 76); // 0x1e3e483
g2 = v402;
*(int32_t *)(v400 + 476) = v402;
}
goto lab_0x1e3ecd2;
}
}
lab_0x1e3e428:;
int32_t v403 = g9; // 0x1e3e428
int32_t * v404 = (int32_t *)(v403 + 28); // 0x1e3e428
int32_t v405 = *v404; // 0x1e3e428
*v404 = v405 + 1;
int32_t v406 = g3; // 0x1e3e42c
int32_t v407 = g9; // 0x1e3e42c
*(int32_t *)(v407 - 4) = v406;
int32_t v408 = function_1e3eec0((int32_t)&g708); // 0x1e3e42d
g2 = v408;
int32_t v409 = g9; // 0x1e3e432
int32_t v410 = v409 + 4; // 0x1e3e432
v346 = v408;
v345 = v410;
// 0x1e3e435
g4 = v346;
v347 = v345;
goto lab_0x1e3e437;
lab_0x1e3e6bb:;
int32_t v411 = g4; // 0x1e3e6bb
if (v411 != 45) {
if (v411 != 43) {
goto lab_0x1e3e9d9;
} else {
goto lab_0x1e3e929;
}
} else {
int32_t v412 = g9; // 0x1e3e6c4
*(char *)(v412 + 18) = 1;
goto lab_0x1e3e929;
}
lab_0x1e3e68f:;
int32_t v413 = g4; // 0x1e3e68f
int32_t v414; // 0x1e3e976
if (v413 != 45) {
if (v413 != 43) {
v414 = v413;
goto lab_0x1e3e976;
} else {
goto lab_0x1e3e956;
}
} else {
int32_t v415 = g9; // 0x1e3e698
*(char *)(v415 + 18) = 1;
goto lab_0x1e3e956;
}
lab_0x1e3ecd2:;
int32_t v416 = g9; // 0x1e3ecd2
char * v417 = (char *)(v416 + 17); // 0x1e3ecd2
char v418 = *v417; // 0x1e3ecd2
*v417 = v418 + 1;
int32_t v419 = g9; // 0x1e3ecd6
int32_t * v420 = (int32_t *)(v419 + 472); // 0x1e3ecd6
int32_t v421 = *v420; // 0x1e3ecd6
*v420 = v421 + 1;
goto lab_0x1e3ed3b;
lab_0x1e3eca6:;
int32_t v422 = *(int32_t *)(v364 + 40); // 0x1e3eca6
if (v422 == 0) {
char v423 = *(char *)(v364 + 20); // 0x1e3ecc0
int32_t v424 = *(int32_t *)(v364 + 44); // 0x1e3ecc5
g5 = v424;
int32_t v425 = g6; // 0x1e3eccf
if (v423 == 0) {
// 0x1e3eccf
*(int16_t *)v424 = (int16_t)v425;
} else {
// 0x1e3eccb
*(int32_t *)v424 = v425;
}
} else {
int32_t v426 = *(int32_t *)(v364 + 44); // 0x1e3ecad
g7 = v426;
int32_t v427 = *(int32_t *)(v364 + 48); // 0x1e3ecb1
g2 = v427;
int32_t v428 = *(int32_t *)(v364 + 52); // 0x1e3ecb5
g5 = v428;
*(int32_t *)v426 = v427;
int32_t v429 = g5; // 0x1e3ecbb
int32_t v430 = g7; // 0x1e3ecbb
*(int32_t *)(v430 + 4) = v429;
}
goto lab_0x1e3ecd2;
lab_0x1e3e711:;
int32_t v431 = g9; // 0x1e3e711
g2 = 0;
g5 = 8;
__asm_rep_stosd_memset((char *)(v431 + 80), 0, 8);
g5 = 0;
int32_t v432 = g9; // 0x1e3e71e
int32_t v433 = *(int32_t *)(v432 + 32); // 0x1e3e71e
int32_t v434; // 0x1e3e73c
if (v433 == 123) {
int32_t v435 = *(int32_t *)(v432 + 40); // 0x1e3e725
g2 = v435;
char v436 = *(char *)v435; // 0x1e3e729
if (v436 == 93) {
// 0x1e3e72e
*(char *)(v432 + 22) = 93;
int32_t v437 = g9; // 0x1e3e733
*(char *)(v437 + 91) = 32;
int32_t v438 = g9; // 0x1e3e738
int32_t * v439 = (int32_t *)(v438 + 40); // 0x1e3e738
int32_t v440 = *v439; // 0x1e3e738
*v439 = v440 + 1;
int32_t v441 = g9;
v434 = v441;
} else {
v434 = v432;
}
} else {
v434 = v432;
}
int32_t v442 = *(int32_t *)(v434 + 40); // 0x1e3e73c
g2 = v442;
char v443 = *(char *)v442; // 0x1e3e740
if (v443 != 93) {
v284 = v434;
while (true) {
lab_0x1e3e749:;
int32_t * v285 = (int32_t *)(v284 + 40); // 0x1e3e749
int32_t v286 = *v285; // 0x1e3e749
g2 = v286;
int32_t v287 = *v285; // 0x1e3e74d
*v285 = v287 + 1;
int32_t v288 = g2; // 0x1e3e751
v264 = *(char *)v288;
int32_t v289 = g5; // 0x1e3e751
g5 = v289 & -256 | (int32_t)v264;
int32_t v290 = g9;
v266 = (char *)(v290 + 22);
if (v264 != 45) {
v265 = v288;
goto lab_0x1e3e7c0;
} else {
char v291 = *v266; // 0x1e3e758
if (v291 == 0) {
v265 = v288;
goto lab_0x1e3e7c0;
} else {
int32_t * v292 = (int32_t *)(v290 + 40); // 0x1e3e75f
int32_t v293 = *v292; // 0x1e3e75f
g2 = v293;
unsigned char v294 = *(char *)v293; // 0x1e3e763
int32_t v295 = (int32_t)v294 | v293 & -256; // 0x1e3e763
g2 = v295;
if (v294 == 93) {
v265 = v295;
goto lab_0x1e3e7c0;
} else {
int32_t v296 = *v292; // 0x1e3e769
*v292 = v296 + 1;
int32_t v297 = g9; // 0x1e3e76d
char * v298 = (char *)(v297 + 22); // 0x1e3e76d
unsigned char v299 = *v298; // 0x1e3e76d
int32_t v300 = g2; // 0x1e3e76d
unsigned char v301 = (char)v300; // 0x1e3e76d
if (v299 >= v301) {
unsigned char v302 = *v298; // 0x1e3e779
int32_t v303 = g5; // 0x1e3e779
g5 = v303 & -256 | (int32_t)v302;
*(char *)(v297 + 68) = v302;
int32_t v304 = g2; // 0x1e3e781
int32_t v305 = g9; // 0x1e3e781
*(char *)(v305 + 22) = (char)v304;
} else {
// 0x1e3e773
*(char *)(v297 + 68) = v301;
}
int32_t v306 = g9; // 0x1e3e785
unsigned char v307 = *(char *)(v306 + 22); // 0x1e3e785
int32_t v308 = g2; // 0x1e3e785
int32_t v309 = v308 & -256 | (int32_t)v307; // 0x1e3e785
g2 = v309;
unsigned char v310 = *(char *)(v306 + 68); // 0x1e3e789
int32_t v311; // 0x1e3e7b9
if (v307 <= v310) {
int32_t v312 = v306; // 0x1e3e793
int32_t v313 = v309; // 0x1e3e78f
while (true) {
int32_t v314 = g5; // 0x1e3e78f
g5 = v314 & -256 | v313 & 255;
int32_t v315 = g7; // 0x1e3e791
g7 = v315 & -256 | 1;
*(int32_t *)(v312 + 36) = 0;
int32_t v316 = g5; // 0x1e3e79b
unsigned char v317 = (char)v316 / 8; // 0x1e3e79b
g5 = (int32_t)v317 | v316 & -256;
int32_t v318 = g9; // 0x1e3e79e
*(char *)(v318 + 36) = v317;
int32_t v319 = g2; // 0x1e3e7a2
int32_t v320 = g5; // 0x1e3e7a2
g5 = v320 & -256 | v319 & 7;
g2 = v319 + 1 & 255 | v319 & -256;
int32_t v321 = g7; // 0x1e3e7a9
unsigned char v322 = (char)v319 & 7; // 0x1e3e7a9
int32_t v323; // 0x1e3e7af
if (v322 != 0) {
int32_t v324 = (int32_t)((char)v321 << v322) | v321 & -256; // 0x1e3e7a9
g7 = v324;
v323 = v324;
} else {
v323 = v321;
}
int32_t v325 = g9; // 0x1e3e7ab
int32_t v326 = *(int32_t *)(v325 + 36); // 0x1e3e7ab
g5 = v326;
char * v327 = (char *)(v325 + 80 + v326); // 0x1e3e7af
char v328 = *v327; // 0x1e3e7af
*v327 = v328 | (char)v323;
int32_t v329 = g9; // 0x1e3e7b3
unsigned char v330 = *(char *)(v329 + 68); // 0x1e3e7b3
int32_t v331 = g2; // 0x1e3e7b3
if (v330 < (char)v331) {
v311 = v329;
// break -> 0x1e3e7b9
break;
}
v312 = v329;
v313 = v331;
}
} else {
v311 = v306;
}
// 0x1e3e7b9
*(char *)(v311 + 22) = 0;
goto lab_0x1e3e7d8;
}
}
}
}
} else {
v283 = v434;
}
lab_0x1e3e7e5:;
int32_t v444 = *(int32_t *)(v283 + 40); // 0x1e3e7e5
g2 = v444;
char v445 = *(char *)v444; // 0x1e3e7e9
if (v445 == 0) {
v3 = v283;
goto lab_0x1e3ed78_7;
}
int32_t v446 = *(int32_t *)(v283 + 32); // 0x1e3e7f2
int32_t v447; // 0x1e3e800
if (v446 == 123) {
// 0x1e3e7f9
*(int32_t *)(v283 + 472) = v444;
int32_t v448 = g9;
v447 = v448;
} else {
v447 = v283;
}
int32_t v449 = *(int32_t *)(v447 + 44); // 0x1e3e800
g6 = v449;
int32_t v450 = g3; // 0x1e3e804
*(int32_t *)(v447 - 4) = v450;
int32_t * v451 = (int32_t *)(v447 + 28); // 0x1e3e805
int32_t v452 = *v451; // 0x1e3e805
*v451 = v452 - 1;
int32_t v453 = g4; // 0x1e3e809
int32_t v454 = g9; // 0x1e3e809
*(int32_t *)(v454 - 4) = v453;
int32_t v455 = function_1e3eef0((int32_t)&g708, (int32_t)&g708); // 0x1e3e80a
g2 = v455;
int32_t v456 = g9; // 0x1e3e80f
int32_t v457 = v456 + 8; // 0x1e3e80f
int32_t v458 = v457; // 0x1e3e824
int32_t v459; // 0x1e3e82e
int32_t v460; // 0x1e3e8f4
while (true) {
int32_t v461 = *(int32_t *)(v458 + 60); // 0x1e3e812
if (v461 != 0) {
int32_t v462 = g8; // 0x1e3e819
g2 = v462;
g8 = v462 - 1;
if (v462 == 0) {
v460 = v458;
goto lab_0x1e3e8df;
}
}
int32_t * v463 = (int32_t *)(v458 + 28); // 0x1e3e824
int32_t v464 = *v463; // 0x1e3e824
*v463 = v464 + 1;
int32_t v465 = g3; // 0x1e3e828
int32_t v466 = g9; // 0x1e3e828
*(int32_t *)(v466 - 4) = v465;
int32_t v467 = function_1e3eec0((int32_t)&g708); // 0x1e3e829
g2 = v467;
v459 = g9;
int32_t v468 = v459 + 4; // 0x1e3e82e
g4 = v467;
if (v467 == -1) {
// break -> 0x1e3e8d1
break;
}
int32_t v469 = v467 / 8; // 0x1e3e83c
g2 = v469;
g7 = 1;
int32_t v470 = v467 & 255; // 0x1e3e844
int32_t v471 = g5; // 0x1e3e844
int32_t v472 = v471 & -256; // 0x1e3e844
g5 = v472 | v470;
unsigned char v473 = *(char *)(v469 + 84 + v459); // 0x1e3e846
int32_t v474 = v469 & -256; // 0x1e3e846
g2 = (int32_t)v473 | v474;
char v475 = *(char *)(v459 + 60); // 0x1e3e84a
int32_t v476 = (int32_t)(v475 ^ v473) | v474; // 0x1e3e84a
g2 = v476;
char v477 = v467; // 0x1e3e84e
unsigned char v478 = v477 & 7; // 0x1e3e84e
uint32_t v479 = (int32_t)v478; // 0x1e3e84e
g5 = v472 | v479;
int32_t v480; // 0x1e3e856
if (v478 != 0) {
int32_t v481 = 1 << v479; // 0x1e3e854
g7 = v481;
v480 = v481;
} else {
v480 = 1;
}
if ((v480 & v476) == 0) {
// break -> 0x1e3e8d1
break;
}
char v482 = *(char *)(v459 + 25); // 0x1e3e85a
if (v482 != 0) {
int32_t v483 = g6; // 0x1e3e8cb
g6 = v483 + 1;
v458 = v468;
// continue -> 0x1e3e812
continue;
}
char v484 = *(char *)(v459 + 23); // 0x1e3e861
if (v484 == 0) {
int32_t * v485 = (int32_t *)(v459 + 48); // 0x1e3e8bc
int32_t v486 = *v485; // 0x1e3e8bc
g5 = v486;
int32_t v487 = *v485; // 0x1e3e8c0
*v485 = v487 + 1;
int32_t v488 = g4; // 0x1e3e8c4
int32_t v489 = g5; // 0x1e3e8c4
*(char *)v489 = (char)v488;
int32_t v490 = g9;
v458 = v490;
// continue -> 0x1e3e812
continue;
}
int16_t * v491 = g122; // 0x1e3e86a
g5 = (int32_t)v491;
g2 = v470;
*(char *)(v459 + 30) = v477;
int32_t v492 = g5; // 0x1e3e876
int32_t v493 = g2; // 0x1e3e876
unsigned char v494 = *(char *)(v492 + 1 + 2 * v493); // 0x1e3e876
int32_t v495 = g9;
int32_t v496; // 0x1e3e893
if (v494 <= 255) {
int32_t * v497 = (int32_t *)(v495 + 28); // 0x1e3e87d
int32_t v498 = *v497; // 0x1e3e87d
*v497 = v498 + 1;
int32_t v499 = g3; // 0x1e3e881
int32_t v500 = g9; // 0x1e3e881
*(int32_t *)(v500 - 4) = v499;
int32_t v501 = function_1e3eec0((int32_t)&g708); // 0x1e3e882
g2 = v501;
int32_t v502 = g9; // 0x1e3e887
*(char *)(v502 + 31) = (char)v501;
int32_t v503 = g9; // 0x1e3e88b
int32_t v504 = v503 + 4; // 0x1e3e88b
v496 = v504;
} else {
v496 = v495;
}
int32_t v505 = g442; // 0x1e3e88e
g2 = v505;
g5 = v496 + 26;
v206 = v496 + 24;
*(int32_t *)(v496 - 4) = v505;
int32_t v506 = g5; // 0x1e3e89c
*(int32_t *)(v496 - 8) = v506;
int32_t v507 = v206; // 0x1e3e89d
*(int32_t *)(v496 - 12) = v507;
int32_t v508 = function_1e415b0((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e3e89e
g2 = v508;
int32_t v509 = g9; // 0x1e3e8a3
uint16_t v510 = *(int16_t *)(v509 + 36); // 0x1e3e8a3
int32_t v511 = g7; // 0x1e3e8a3
g7 = v511 & -0x10000 | (int32_t)v510;
int32_t * v512 = (int32_t *)(v509 + 56); // 0x1e3e8a8
int32_t v513 = *v512; // 0x1e3e8a8
g5 = v513;
int32_t v514 = *v512; // 0x1e3e8ac
*v512 = v514 + 2;
int32_t v515 = g7; // 0x1e3e8b1
int32_t v516 = g5; // 0x1e3e8b1
*(int16_t *)v516 = (int16_t)v515;
int32_t v517 = g9; // 0x1e3e8b4
int32_t v518 = v517 + 12; // 0x1e3e8b4
v458 = v518;
}
int32_t * v519 = (int32_t *)(v459 + 32); // 0x1e3e8d1
int32_t v520 = *v519; // 0x1e3e8d1
*v519 = v520 - 1;
int32_t v521 = g3; // 0x1e3e8d5
int32_t v522 = g9; // 0x1e3e8d5
*(int32_t *)(v522 - 4) = v521;
int32_t v523 = g4; // 0x1e3e8d6
*(int32_t *)(v522 - 8) = v523;
int32_t v524 = function_1e3eef0((int32_t)&g708, (int32_t)&g708); // 0x1e3e8d7
g2 = v524;
int32_t v525 = g9; // 0x1e3e8dc
int32_t v526 = v525 + 8; // 0x1e3e8dc
v460 = v526;
lab_0x1e3e8df:;
int32_t v527 = g6; // 0x1e3e8df
int32_t v528 = *(int32_t *)(v460 + 44); // 0x1e3e8df
if (v527 == v528) {
v3 = v460;
goto lab_0x1e3ed78_7;
}
char v529 = *(char *)(v460 + 21); // 0x1e3e8e9
if (v529 == 0) {
int32_t * v530 = (int32_t *)(v460 + 72); // 0x1e3e8f4
int32_t v531 = *v530; // 0x1e3e8f4
*v530 = v531 + 1;
int32_t v532 = g9; // 0x1e3e8f8
int32_t v533 = *(int32_t *)(v532 + 32); // 0x1e3e8f8
if (v533 != 99) {
char v534 = *(char *)(v532 + 19); // 0x1e3e903
int32_t v535 = *(int32_t *)(v532 + 44); // 0x1e3e908
g5 = v535;
if (v534 == 0) {
// 0x1e3e918
*(char *)v535 = 0;
} else {
// 0x1e3e90e
*(int16_t *)v535 = 0;
}
}
}
goto lab_0x1e3ecd2;
lab_0x1e3e9d9:;
int32_t v536 = g9; // 0x1e3e9d9
int32_t v537 = *(int32_t *)(v536 + 40); // 0x1e3e9d9
char v538 = *(char *)(v536 + 23); // 0x1e3eb8e
int32_t v539; // 0x1e3ec88
if (v537 == 0) {
if (v538 == 0) {
v79 = v536;
while (true) {
lab_0x1e3eb99:;
int32_t v124 = *(int32_t *)(v79 + 32); // 0x1e3eb99
if (v124 == 120) {
goto lab_0x1e3ebed;
} else {
if (v124 == 112) {
goto lab_0x1e3ebed;
} else {
int32_t v125 = g442; // 0x1e3eba7
int32_t v126; // 0x1e3ebcc
int32_t v127; // 0x1e3ebd0
if (v125 > 1) {
// 0x1e3ebb0
*(int32_t *)(v79 - 4) = 4;
int32_t v128 = g4; // 0x1e3ebb2
*(int32_t *)(v79 - 8) = v128;
int32_t v129 = function_1e40120((int32_t)&g708, (int32_t)&g708); // 0x1e3ebb3
g2 = v129;
int32_t v130 = g9; // 0x1e3ebb8
int32_t v131 = v130 + 8; // 0x1e3ebb8
v127 = v131;
v126 = v129;
} else {
int16_t * v132 = g122; // 0x1e3ebbd
int32_t v133 = (int32_t)v132; // 0x1e3ebbd
g5 = v133;
g2 = 0;
int32_t v134 = g4; // 0x1e3ebc5
uint16_t v135 = *(int16_t *)(2 * v134 + v133); // 0x1e3ebc5
int32_t v136 = (int32_t)v135 & 4; // 0x1e3ebc9
g2 = v136;
v127 = v79;
v126 = v136;
}
if (v126 == 0) {
v91 = v127;
goto lab_0x1e3ec2b;
} else {
int32_t v137 = *(int32_t *)(v127 + 32); // 0x1e3ebd0
if (v137 != 111) {
int32_t v138 = g6; // 0x1e3ebe1
g2 = 5 * v138;
g6 = 10 * v138;
v92 = v127;
goto lab_0x1e3ec2f;
} else {
int32_t v139 = g4; // 0x1e3ebd7
if ((char)v139 < 56) {
int32_t v140 = g6; // 0x1e3ebdc
g6 = 8 * v140;
v92 = v127;
goto lab_0x1e3ec2f;
} else {
v91 = v127;
goto lab_0x1e3ec2b;
}
}
}
}
}
}
} else {
v123 = v536;
}
lab_0x1e3ec78:;
char v540 = *(char *)(v123 + 18); // 0x1e3ec78
if (v540 != 0) {
int32_t v541 = g6; // 0x1e3ec7f
g6 = -v541;
v539 = v123;
} else {
v539 = v123;
}
} else {
if (v538 == 0) {
v183 = v536;
while (true) {
lab_0x1e3e9ef:;
int32_t v184 = *(int32_t *)(v183 + 32); // 0x1e3e9ef
int32_t v185 = g442; // 0x1e3ea4f
if (v184 != 120) {
int32_t v186; // 0x1e3ea74
int32_t v187; // 0x1e3eaa5
if (v185 > 1) {
// 0x1e3ea58
*(int32_t *)(v183 - 4) = 4;
int32_t v188 = g4; // 0x1e3ea5a
*(int32_t *)(v183 - 8) = v188;
int32_t v189 = function_1e40120((int32_t)&g708, (int32_t)&g708); // 0x1e3ea5b
g2 = v189;
int32_t v190 = g9; // 0x1e3ea60
int32_t v191 = v190 + 8; // 0x1e3ea60
v187 = v191;
v186 = v189;
} else {
int16_t * v192 = g122; // 0x1e3ea65
int32_t v193 = (int32_t)v192; // 0x1e3ea65
g5 = v193;
g2 = 0;
int32_t v194 = g4; // 0x1e3ea6d
uint16_t v195 = *(int16_t *)(2 * v194 + v193); // 0x1e3ea6d
int32_t v196 = (int32_t)v195 & 4; // 0x1e3ea71
g2 = v196;
v187 = v183;
v186 = v196;
}
if (v186 == 0) {
v148 = v187;
goto lab_0x1e3eb12;
} else {
int32_t v197 = *(int32_t *)(v187 + 32); // 0x1e3ea7c
if (v197 != 111) {
// 0x1e3eaa5
*(int32_t *)(v187 + 56) = 0;
g5 = 1;
int32_t v198 = g9; // 0x1e3eab2
int32_t v199 = *(int32_t *)(v198 + 56); // 0x1e3eab2
g2 = v199;
*(int32_t *)(v198 + 68) = 1;
int32_t v200 = g9; // 0x1e3eabe
*(int32_t *)(v200 + 36) = 0;
int32_t v201 = g2; // 0x1e3eac6
uint32_t v202 = g5; // 0x1e3eac6
int32_t v203 = v202 / 0x80000000 | 2 * v201; // 0x1e3eac6
g2 = v203;
g5 = 2 * v202;
int32_t v204 = g9; // 0x1e3eacc
int32_t v205 = *(int32_t *)(v204 + 36); // 0x1e3eacc
v206 = v205;
*(int32_t *)(v204 + 56) = v203;
int32_t v207 = g9; // 0x1e3ead4
uint32_t v208 = *(int32_t *)(v207 + 68); // 0x1e3ead4
int32_t v209 = v206; // 0x1e3ead8
int32_t v210 = 8 * v209 | v208 / 0x20000000; // 0x1e3ead8
v206 = v210;
g2 = 8 * v208;
*(int32_t *)(v207 + 36) = v210;
uint32_t v211 = g5; // 0x1e3eae3
int32_t v212 = g2; // 0x1e3eae3
int32_t v213 = v212 + v211; // 0x1e3eae3
g5 = v213;
int32_t v214 = g9; // 0x1e3eae5
*(int32_t *)(v214 + 68) = v212;
int32_t v215 = g9; // 0x1e3eae9
int32_t * v216 = (int32_t *)(v215 + 56); // 0x1e3eae9
int32_t v217 = *v216; // 0x1e3eae9
int32_t v218 = v206; // 0x1e3eaed
int32_t v219 = v218 + v217 + (int32_t)(v213 < v211); // 0x1e3eaed
g2 = v219;
int32_t v220 = *(int32_t *)(v215 + 48); // 0x1e3eaef
g7 = v220;
*v216 = v219;
int32_t v221 = g9; // 0x1e3eaf7
int32_t v222 = *(int32_t *)(v221 + 52); // 0x1e3eaf7
g2 = v222;
*(int32_t *)(v221 - 4) = v222;
int32_t v223 = g7; // 0x1e3eafc
*(int32_t *)(v221 - 8) = v223;
int32_t v224 = *(int32_t *)(v221 + 56); // 0x1e3eafd
g2 = v224;
*(int32_t *)(v221 - 12) = v224;
int32_t v225 = g5; // 0x1e3eb02
*(int32_t *)(v221 - 16) = v225;
int64_t v226 = __allmul((int64_t)&g708, (int64_t)&g708); // 0x1e3eb03
int32_t v227 = v226; // 0x1e3eb03
g2 = v227;
int32_t v228 = g9; // 0x1e3eb08
*(int32_t *)(v228 + 48) = v227;
int32_t v229 = g7; // 0x1e3eb0c
int32_t v230 = g9; // 0x1e3eb0c
*(int32_t *)(v230 + 52) = v229;
goto lab_0x1e3eb16;
} else {
int32_t v231 = g4; // 0x1e3ea83
if ((char)v231 < 56) {
int32_t * v232 = (int32_t *)(v187 + 48); // 0x1e3ea8c
uint32_t v233 = *v232; // 0x1e3ea8c
g2 = v233;
int32_t v234 = *(int32_t *)(v187 + 52); // 0x1e3ea90
g5 = 8 * v234 | v233 / 0x20000000;
int32_t v235 = 8 * v233; // 0x1e3ea98
g2 = v235;
*v232 = v235;
int32_t v236 = g5; // 0x1e3ea9f
int32_t v237 = g9; // 0x1e3ea9f
*(int32_t *)(v237 + 52) = v236;
goto lab_0x1e3eb16;
} else {
v148 = v187;
goto lab_0x1e3eb12;
}
}
}
} else {
int32_t v238; // 0x1e3ea20
int32_t v239; // 0x1e3ea37
if (v185 > 1) {
// 0x1e3e9ff
*(int32_t *)(v183 - 4) = 128;
int32_t v240 = g4; // 0x1e3ea04
*(int32_t *)(v183 - 8) = v240;
int32_t v241 = function_1e40120((int32_t)&g708, (int32_t)&g708); // 0x1e3ea05
g2 = v241;
int32_t v242 = g9; // 0x1e3ea0a
int32_t v243 = v242 + 8; // 0x1e3ea0a
v239 = v243;
v238 = v241;
} else {
int16_t * v244 = g122; // 0x1e3ea0f
int32_t v245 = (int32_t)v244; // 0x1e3ea0f
g5 = v245;
g2 = 0;
int32_t v246 = g4; // 0x1e3ea17
uint16_t v247 = *(int16_t *)(2 * v246 + v245); // 0x1e3ea17
int32_t v248 = (int32_t)v247 & 128; // 0x1e3ea1b
g2 = v248;
v239 = v183;
v238 = v248;
}
if (v238 == 0) {
v148 = v239;
goto lab_0x1e3eb12;
} else {
int32_t * v249 = (int32_t *)(v239 + 48); // 0x1e3ea28
uint32_t v250 = *v249; // 0x1e3ea28
g2 = v250;
int32_t v251 = *(int32_t *)(v239 + 52); // 0x1e3ea2c
g5 = 16 * v251 | v250 / 0x10000000;
g2 = 16 * v250;
int32_t v252 = g4; // 0x1e3ea37
*(int32_t *)(v239 - 4) = v252;
int32_t v253 = g2; // 0x1e3ea38
*v249 = v253;
int32_t v254 = g5; // 0x1e3ea3c
int32_t v255 = g9; // 0x1e3ea3c
*(int32_t *)(v255 + 56) = v254;
int32_t v256 = function_1e3ee80((int32_t)&g708); // 0x1e3ea40
g2 = v256;
g4 = v256;
goto lab_0x1e3eb16;
}
}
}
} else {
v182 = v536;
}
lab_0x1e3eb67:;
char v542 = *(char *)(v182 + 18); // 0x1e3eb67
if (v542 != 0) {
int32_t * v543 = (int32_t *)(v182 + 48); // 0x1e3eb72
int32_t v544 = *v543; // 0x1e3eb72
g2 = v544;
int32_t v545 = *(int32_t *)(v182 + 52); // 0x1e3eb76
int32_t v546 = -v544; // 0x1e3eb7a
g2 = v546;
g5 = (int32_t)(v544 != 0) + v545;
*v543 = v546;
int32_t v547 = g5; // 0x1e3eb83
int32_t v548 = -v547; // 0x1e3eb83
g5 = v548;
int32_t v549 = g9; // 0x1e3eb85
*(int32_t *)(v549 + 52) = v548;
int32_t v550 = g9;
v539 = v550;
} else {
v539 = v182;
}
}
int32_t v551 = *(int32_t *)(v539 + 32); // 0x1e3ec81
int32_t v552; // 0x1e3eca2
if (v551 == 70) {
// 0x1e3ec88
*(int32_t *)(v539 + 64) = 0;
int32_t v553 = g9;
v552 = v553;
} else {
v552 = v539;
}
int32_t v554 = *(int32_t *)(v552 + 64); // 0x1e3ec90
if (v554 == 0) {
v3 = v552;
goto lab_0x1e3ed78_7;
}
char v555 = *(char *)(v552 + 21); // 0x1e3ec9b
if (v555 != 0) {
goto lab_0x1e3ecd2;
} else {
int32_t * v556 = (int32_t *)(v552 + 72); // 0x1e3eca2
int32_t v557 = *v556; // 0x1e3eca2
*v556 = v557 + 1;
int32_t v558 = g9;
v364 = v558;
goto lab_0x1e3eca6;
}
lab_0x1e3e929:;
int32_t v559 = g8; // 0x1e3e929
int32_t v560 = v559 - 1; // 0x1e3e929
g8 = v560;
int32_t v561 = g9;
if (v560 != 0) {
goto lab_0x1e3e93d;
} else {
int32_t v562 = *(int32_t *)(v561 + 60); // 0x1e3e92c
if (v562 == 0) {
goto lab_0x1e3e93d;
} else {
// 0x1e3e933
*(char *)(v561 + 23) = 1;
goto lab_0x1e3e9d9;
}
}
lab_0x1e3e4e1:;
int32_t v563 = *(int32_t *)(v362 + 60); // 0x1e3e4e1
int32_t v564; // 0x1e3e4fe
int32_t v565; // 0x1e3e513
if (v563 == 0) {
goto lab_0x1e3e4f0;
} else {
int32_t v566 = g8; // 0x1e3e4e8
if (v566 > 349) {
goto lab_0x1e3e4f0;
} else {
v564 = v362;
v565 = v366;
goto lab_0x1e3e4f5;
}
}
lab_0x1e3e4d1:;
int32_t v567 = g8; // 0x1e3e4d1
g8 = v567 - 1;
int32_t v568 = g3; // 0x1e3e4d2
*(int32_t *)(v365 - 4) = v568;
int32_t * v569 = (int32_t *)(v365 + 28); // 0x1e3e4d3
int32_t v570 = *v569; // 0x1e3e4d3
*v569 = v570 + 1;
int32_t v571 = function_1e3eec0((int32_t)&g708); // 0x1e3e4d7
g2 = v571;
int32_t v572 = g9; // 0x1e3e4dc
int32_t v573 = v572 + 4; // 0x1e3e4dc
g4 = v571;
v366 = v571;
v362 = v573;
goto lab_0x1e3e4e1;
lab_0x1e3e976:;
int32_t v574; // 0x1e3e985
if (v414 != 48) {
goto lab_0x1e3e9d9;
} else {
int32_t v575 = g9; // 0x1e3e97b
int32_t * v576 = (int32_t *)(v575 + 28); // 0x1e3e97b
int32_t v577 = *v576; // 0x1e3e97b
*v576 = v577 + 1;
int32_t v578 = g3; // 0x1e3e97f
int32_t v579 = g9; // 0x1e3e97f
*(int32_t *)(v579 - 4) = v578;
int32_t v580 = function_1e3eec0((int32_t)&g708); // 0x1e3e980
g2 = v580;
v574 = g9;
g4 = v580;
char v581 = v580; // 0x1e3e98a
if (v581 == 120) {
goto lab_0x1e3e9c2;
} else {
if (v581 == 88) {
goto lab_0x1e3e9c2;
} else {
// 0x1e3e994
*(int32_t *)(v574 + 68) = 1;
int32_t v582 = g9; // 0x1e3e99c
int32_t * v583 = (int32_t *)(v582 + 32); // 0x1e3e99c
int32_t v584 = *v583; // 0x1e3e99c
if (v584 == 120) {
int32_t * v585 = (int32_t *)(v582 + 28); // 0x1e3e9ad
int32_t v586 = *v585; // 0x1e3e9ad
*v585 = v586 - 1;
int32_t v587 = g3; // 0x1e3e9b1
int32_t v588 = g9; // 0x1e3e9b1
*(int32_t *)(v588 - 4) = v587;
int32_t v589 = g4; // 0x1e3e9b2
*(int32_t *)(v588 - 8) = v589;
int32_t v590 = function_1e3eef0((int32_t)&g708, (int32_t)&g708); // 0x1e3e9b3
g2 = v590;
g4 = 48;
} else {
// 0x1e3e9a3
*v583 = 111;
}
goto lab_0x1e3e9d9;
}
}
}
lab_0x1e3e956:;
int32_t v591 = g8; // 0x1e3e956
int32_t v592 = v591 - 1; // 0x1e3e956
g8 = v592;
int32_t v593 = g9;
if (v592 != 0) {
goto lab_0x1e3e967;
} else {
int32_t v594 = *(int32_t *)(v593 + 60); // 0x1e3e959
if (v594 == 0) {
goto lab_0x1e3e967;
} else {
// 0x1e3e960
*(char *)(v593 + 23) = 1;
int32_t v595 = g4;
v414 = v595;
goto lab_0x1e3e976;
}
}
lab_0x1e3e93d:;
int32_t * v596 = (int32_t *)(v561 + 28); // 0x1e3e93d
int32_t v597 = *v596; // 0x1e3e93d
*v596 = v597 + 1;
int32_t v598 = g3; // 0x1e3e941
int32_t v599 = g9; // 0x1e3e941
*(int32_t *)(v599 - 4) = v598;
int32_t v600 = function_1e3eec0((int32_t)&g708); // 0x1e3e942
g2 = v600;
g4 = v600;
goto lab_0x1e3e9d9;
lab_0x1e3e4f0:
// 0x1e3e4f0
g8 = 349;
v564 = v362;
v565 = v366;
goto lab_0x1e3e4f5;
lab_0x1e3e967:;
int32_t * v729 = (int32_t *)(v593 + 28); // 0x1e3e967
int32_t v730 = *v729; // 0x1e3e967
*v729 = v730 + 1;
int32_t v731 = g3; // 0x1e3e96b
int32_t v732 = g9; // 0x1e3e96b
*(int32_t *)(v732 - 4) = v731;
int32_t v733 = function_1e3eec0((int32_t)&g708); // 0x1e3e96c
g2 = v733;
g4 = v733;
v414 = v733;
goto lab_0x1e3e976;
lab_0x1e3e4f5:;
int32_t v601; // 0x1e3e54c
while (true) {
int32_t v602 = g442; // 0x1e3e4f5
int32_t v603; // 0x1e3e51a
if (v602 > 1) {
// 0x1e3e4fe
*(int32_t *)(v564 - 4) = 4;
int32_t v604 = g4; // 0x1e3e500
*(int32_t *)(v564 - 8) = v604;
int32_t v605 = function_1e40120((int32_t)&g708, (int32_t)&g708); // 0x1e3e501
g2 = v605;
int32_t v606 = g9; // 0x1e3e506
int32_t v607 = v606 + 8; // 0x1e3e506
v601 = v607;
v603 = v605;
} else {
int16_t * v608 = g122; // 0x1e3e50b
int32_t v609 = (int32_t)v608; // 0x1e3e50b
g5 = v609;
g2 = 0;
uint16_t v610 = *(int16_t *)(v609 + 2 * v565); // 0x1e3e513
int32_t v611 = (int32_t)v610 & 4; // 0x1e3e517
g2 = v611;
v601 = v564;
v603 = v611;
}
if (v603 == 0) {
// break -> 0x1e3e53d
break;
}
int32_t v612 = g8; // 0x1e3e51e
g2 = v612;
g8 = v612 - 1;
if (v612 == 0) {
// break -> 0x1e3e53d
break;
}
int32_t v613 = g4; // 0x1e3e525
int32_t v614 = g6; // 0x1e3e525
*(char *)v614 = (char)v613;
int32_t v615 = g6; // 0x1e3e527
g6 = v615 + 1;
int32_t v616 = g9; // 0x1e3e528
int32_t * v617 = (int32_t *)(v616 + 64); // 0x1e3e528
int32_t v618 = *v617; // 0x1e3e528
*v617 = v618 + 1;
int32_t v619 = g3; // 0x1e3e52c
int32_t v620 = g9; // 0x1e3e52c
*(int32_t *)(v620 - 4) = v619;
int32_t * v621 = (int32_t *)(v620 + 28); // 0x1e3e52d
int32_t v622 = *v621; // 0x1e3e52d
*v621 = v622 + 1;
int32_t v623 = function_1e3eec0((int32_t)&g708); // 0x1e3e531
g2 = v623;
int32_t v624 = g9; // 0x1e3e536
int32_t v625 = v624 + 4; // 0x1e3e536
g4 = v623;
v564 = v625;
v565 = v623;
// continue -> 0x1e3e4f5
continue;
}
int32_t v626 = g4; // 0x1e3e53d
char v627 = g443; // 0x1e3e53d
int32_t v628; // 0x1e3e5ac
if ((char)v626 == v627) {
int32_t v629 = g8; // 0x1e3e545
g2 = v629;
g8 = v629 - 1;
if (v629 != 0) {
int32_t * v630 = (int32_t *)(v601 + 28); // 0x1e3e54c
int32_t v631 = *v630; // 0x1e3e54c
*v630 = v631 + 1;
int32_t v632 = g3; // 0x1e3e550
int32_t v633 = g9; // 0x1e3e550
*(int32_t *)(v633 - 4) = v632;
int32_t v634 = g6; // 0x1e3e551
g6 = v634 + 1;
int32_t v635 = function_1e3eec0((int32_t)&g708); // 0x1e3e552
g4 = v635;
unsigned char v636 = g443; // 0x1e3e55c
g2 = (int32_t)v636 | v635 & -256;
int32_t v637 = g6; // 0x1e3e561
*(char *)(v637 - 1) = v636;
while (true) {
int32_t v638 = g442; // 0x1e3e564
int32_t v639;
int32_t v640; // 0x1e3e589
if (v638 > 1) {
int32_t v641 = g9; // 0x1e3e56d
*(int32_t *)(v641 - 4) = 4;
int32_t v642 = g4; // 0x1e3e56f
*(int32_t *)(v641 - 8) = v642;
int32_t v643 = function_1e40120((int32_t)&g708, (int32_t)&g708); // 0x1e3e570
v639 = v643;
v640 = v643;
} else {
int16_t * v644 = g122; // 0x1e3e57a
int32_t v645 = (int32_t)v644; // 0x1e3e57a
g5 = v645;
g2 = 0;
int32_t v646 = g4; // 0x1e3e582
uint16_t v647 = *(int16_t *)(2 * v646 + v645); // 0x1e3e582
int32_t v648 = (int32_t)v647 & 4; // 0x1e3e586
v639 = v648;
v640 = v648;
}
// 0x1e3e589
g2 = v639;
if (v640 == 0) {
// break -> 0x1e3e5ac
break;
}
int32_t v649 = g8; // 0x1e3e58d
g2 = v649;
g8 = v649 - 1;
if (v649 == 0) {
// break -> 0x1e3e5ac
break;
}
int32_t v650 = g4; // 0x1e3e594
int32_t v651 = g6; // 0x1e3e594
*(char *)v651 = (char)v650;
int32_t v652 = g6; // 0x1e3e596
g6 = v652 + 1;
int32_t v653 = g9; // 0x1e3e597
int32_t * v654 = (int32_t *)(v653 + 64); // 0x1e3e597
int32_t v655 = *v654; // 0x1e3e597
*v654 = v655 + 1;
int32_t v656 = g3; // 0x1e3e59b
int32_t v657 = g9; // 0x1e3e59b
*(int32_t *)(v657 - 4) = v656;
int32_t * v658 = (int32_t *)(v657 + 28); // 0x1e3e59c
int32_t v659 = *v658; // 0x1e3e59c
*v658 = v659 + 1;
int32_t v660 = function_1e3eec0((int32_t)&g708); // 0x1e3e5a0
g2 = v660;
g4 = v660;
}
int32_t v661 = g9;
v628 = v661;
} else {
v628 = v601;
}
} else {
v628 = v601;
}
int32_t v662 = *(int32_t *)(v628 + 64); // 0x1e3e5ac
if (v662 == 0) {
goto lab_0x1e3e63d;
} else {
int32_t v663 = g4; // 0x1e3e5b7
if (v663 == 101) {
goto lab_0x1e3e5c1;
} else {
if (v663 != 69) {
goto lab_0x1e3e63d;
} else {
goto lab_0x1e3e5c1;
}
}
}
lab_0x1e3e9c2:;
int32_t * v664 = (int32_t *)(v574 + 32); // 0x1e3e9c2
int32_t v665 = *v664; // 0x1e3e9c2
*v664 = v665 + 1;
int32_t v666 = g3; // 0x1e3e9c6
int32_t v667 = g9; // 0x1e3e9c6
*(int32_t *)(v667 - 4) = v666;
int32_t v668 = function_1e3eec0((int32_t)&g708); // 0x1e3e9c7
g2 = v668;
int32_t v669 = g9; // 0x1e3e9cc
*(int32_t *)(v669 + 36) = 120;
int32_t v670 = g2; // 0x1e3e9d7
g4 = v670;
goto lab_0x1e3e9d9;
lab_0x1e3e63d:;
int32_t v671 = g9; // 0x1e3e63d
int32_t * v672 = (int32_t *)(v671 + 28); // 0x1e3e63d
int32_t v673 = *v672; // 0x1e3e63d
*v672 = v673 - 1;
int32_t v674 = g3; // 0x1e3e641
int32_t v675 = g9; // 0x1e3e641
*(int32_t *)(v675 - 4) = v674;
int32_t v676 = g4; // 0x1e3e642
*(int32_t *)(v675 - 8) = v676;
int32_t v677 = function_1e3eef0((int32_t)&g708, (int32_t)&g708); // 0x1e3e643
g2 = v677;
int32_t v678 = g9; // 0x1e3e648
int32_t v679 = v678 + 8; // 0x1e3e648
int32_t v680 = *(int32_t *)(v678 + 72); // 0x1e3e64b
if (v680 == 0) {
v3 = v679;
goto lab_0x1e3ed78_7;
}
char v681 = *(char *)(v678 + 29); // 0x1e3e656
if (v681 == 0) {
// 0x1e3e661
g2 = v678 + 120;
int32_t v682 = *(int32_t *)(v678 + 52); // 0x1e3e665
g5 = v682;
int32_t * v683 = (int32_t *)(v678 + 80); // 0x1e3e669
int32_t v684 = *v683; // 0x1e3e669
*v683 = v684 + 1;
int32_t v685 = g2; // 0x1e3e66d
int32_t v686 = g9; // 0x1e3e66d
*(int32_t *)(v686 - 4) = v685;
char v687 = *(char *)(v686 + 20); // 0x1e3e66e
g2 = v687;
int32_t v688 = g5; // 0x1e3e673
*(int32_t *)(v686 - 8) = v688;
int32_t v689 = g2; // 0x1e3e674
int32_t v690 = v689 - 1; // 0x1e3e674
g2 = v690;
*(int32_t *)(v686 - 12) = v690;
int32_t v691 = g6; // 0x1e3e676
*(char *)v691 = 0;
g2 = function_1e41c40();
}
goto lab_0x1e3ecd2;
lab_0x1e3e5c1:;
int32_t v692 = g8; // 0x1e3e5c1
g2 = v692;
g8 = v692 - 1;
if (v692 == 0) {
goto lab_0x1e3e63d;
} else {
int32_t v693 = g6; // 0x1e3e5c8
*(char *)v693 = 101;
int32_t v694 = g6; // 0x1e3e5cb
g6 = v694 + 1;
int32_t v695 = g9; // 0x1e3e5cc
int32_t * v696 = (int32_t *)(v695 + 28); // 0x1e3e5cc
int32_t v697 = *v696; // 0x1e3e5cc
*v696 = v697 + 1;
int32_t v698 = g3; // 0x1e3e5d0
int32_t v699 = g9; // 0x1e3e5d0
*(int32_t *)(v699 - 4) = v698;
int32_t v700 = function_1e3eec0((int32_t)&g708); // 0x1e3e5d1
g2 = v700;
g4 = v700;
if (v700 != 45) {
if (v700 != 43) {
goto lab_0x1e3e604;
} else {
goto lab_0x1e3e5eb;
}
} else {
int32_t v701 = g6; // 0x1e3e5e0
*(char *)v701 = 45;
int32_t v702 = g6; // 0x1e3e5e3
g6 = v702 + 1;
goto lab_0x1e3e5eb;
}
}
lab_0x1e3e604:;
int32_t v703 = g442; // 0x1e3e604
int32_t v704;
int32_t v705; // 0x1e3e629
if (v703 > 1) {
int32_t v706 = g9; // 0x1e3e60d
*(int32_t *)(v706 - 4) = 4;
int32_t v707 = g4; // 0x1e3e60f
*(int32_t *)(v706 - 8) = v707;
int32_t v708 = function_1e40120((int32_t)&g708, (int32_t)&g708); // 0x1e3e610
v704 = v708;
v705 = v708;
} else {
int16_t * v709 = g122; // 0x1e3e61a
int32_t v710 = (int32_t)v709; // 0x1e3e61a
g5 = v710;
g2 = 0;
int32_t v711 = g4; // 0x1e3e622
uint16_t v712 = *(int16_t *)(2 * v711 + v710); // 0x1e3e622
int32_t v713 = (int32_t)v712 & 4; // 0x1e3e626
v704 = v713;
v705 = v713;
}
// 0x1e3e629
g2 = v704;
if (v705 == 0) {
goto lab_0x1e3e63d;
} else {
int32_t v714 = g8; // 0x1e3e62d
g2 = v714;
g8 = v714 - 1;
if (v714 == 0) {
goto lab_0x1e3e63d;
} else {
int32_t v715 = g4; // 0x1e3e634
int32_t v716 = g6; // 0x1e3e634
*(char *)v716 = (char)v715;
int32_t v717 = g6; // 0x1e3e636
g6 = v717 + 1;
int32_t v718 = g9; // 0x1e3e637
int32_t * v719 = (int32_t *)(v718 + 64); // 0x1e3e637
int32_t v720 = *v719; // 0x1e3e637
*v719 = v720 + 1;
goto lab_0x1e3e5f5;
}
}
lab_0x1e3e5eb:;
int32_t v721 = g8; // 0x1e3e5eb
g2 = v721;
g8 = v721 - 1;
if (v721 != 0) {
goto lab_0x1e3e5f5;
} else {
// 0x1e3e5f2
g8 = v721;
goto lab_0x1e3e604;
}
lab_0x1e3e5f5:;
int32_t v722 = g9; // 0x1e3e5f5
int32_t * v723 = (int32_t *)(v722 + 28); // 0x1e3e5f5
int32_t v724 = *v723; // 0x1e3e5f5
*v723 = v724 + 1;
int32_t v725 = g3; // 0x1e3e5f9
int32_t v726 = g9; // 0x1e3e5f9
*(int32_t *)(v726 - 4) = v725;
int32_t v727 = function_1e3eec0((int32_t)&g708); // 0x1e3e5fa
g2 = v727;
g4 = v727;
goto lab_0x1e3e604;
lab_0x1e3ed6a_2:;
int32_t * v728 = (int32_t *)(v11 + 28); // 0x1e3ed6a
*v728 = *v728 - 1;
*(int32_t *)(g9 - 4) = g3;
*(int32_t *)(g9 - 8) = g4;
g2 = function_1e3eef0((int32_t)&g708, (int32_t)&g708);
v3 = g9 + 8;
goto lab_0x1e3ed78_7;
}
// Address range: 0x1e3ee80 - 0x1e3eebe
int32_t function_1e3ee80(int32_t a1) {
int32_t v1 = g8; // bp-4
int32_t result; // 0x1e3eeb6
int32_t v2; // 0x1e3ee91
if (g442 > 1) {
// 0x1e3ee8a
g8 = a1;
v2 = function_1e40120(a1, 4);
g2 = v2;
result = g8;
} else {
int32_t v3 = (int32_t)g122; // 0x1e3ee9b
g5 = v3;
g2 = 0;
int32_t v4 = (int32_t)*(int16_t *)(v3 + 2 * a1) & 4; // 0x1e3eeab
g2 = v4;
result = a1;
v2 = v4;
}
if (v2 != 0) {
// 0x1e3eeb2
g2 = result;
g8 = v1;
return result;
}
int32_t result2 = (result & -33) - 7; // 0x1e3eeb9
g2 = result2;
g8 = v1;
return result2;
}