#include "pinball.h" // Address range: 0x1e390d0 - 0x1e39105 int32_t function_1e390d0(int32_t * a1) { int32_t v1 = (int32_t)a1; g2 = v1; g5 = 0; *(int32_t *)(v1 + 52) = 0; *(int32_t *)(g2 + 48) = g5; *(int32_t *)g2 = 0x3f733333; *(int32_t *)(g2 + 8) = g5; *(int32_t *)(g2 + 16) = g5; *(int32_t *)(g2 + 64) = g5; *(int32_t *)(g2 + 68) = g5; *(int32_t *)(g2 + 60) = g5; *(int32_t *)(g2 + 20) = 0x51a7a358; *(int32_t *)(g2 + 4) = 0x3f19999a; *(int32_t *)(g2 + 56) = g5; return g2; } // Address range: 0x1e39105 - 0x1e39201 int32_t function_1e39105(int32_t a1) { int32_t v1 = g427; // 0x1e3910a int32_t v2 = g8 & -0x10000 | 1; // 0x1e39111 g8 = v2; int32_t result; // 0x1e3914d if (v1 > 1) { // 0x1e39119 g5 = a1; int32_t v3; // 0x1e39120 while (true) { // 0x1e3911d v3 = 20 * v2; g2 = v3; if (*(int32_t *)(v3 + (int32_t)&g624) == a1) { // break -> 0x1e39150 break; } int32_t v4 = v2 + 1 & 0xffff | v2 & -0x10000; // 0x1e3912b g8 = v4; g2 = v4; if (v4 >= v1) { goto lab_0x1e39138_2; } v2 = v4; } // 0x1e39150 g6 = v3; int32_t iReadWrite = 0; // ebx if (*(int32_t *)(v3 + (int32_t)&g625) == 0) { // 0x1e39164 if (*(int32_t *)(v3 + (int32_t)&g623) == 0) { // 0x1e39170 *(int32_t *)(v3 + (int32_t)&g626) = 0; int32_t v5 = *(int32_t *)(g6 + (int32_t)&g624); // 0x1e39176 if (v5 > iReadWrite) { // 0x1e39180 if (g517 == iReadWrite) { int32_t v6 = (int32_t)g620; // 0x1e39189 g2 = v6; int32_t v7 = function_1e39b58(v6, v5, iReadWrite); // 0x1e39190 g2 = v7; if (v7 != 0) { // 0x1e39199 if (*(int16_t *)v7 == 202) { int32_t v8 = (int32_t)g620; // 0x1e391a2 g2 = v8; int32_t lpPathName = function_1e39b58(v8, v5, 9); // 0x1e391a9 g2 = lpPathName; g3 = lpPathName; int32_t hFile = _lopen((char *)lpPathName, iReadWrite); // 0x1e391b2 g2 = hFile; int32_t v9 = _llseek(hFile, iReadWrite, 2); // 0x1e391c3 g2 = v9; *(float32_t *)(g6 + (int32_t)&g626) = (float32_t)(9.0909090909090903591e-5L * (float80_t)v9); g2 = _lclose(iReadWrite); int32_t v10 = function_1e27918(g3); // 0x1e391e8 g2 = v10; *(int32_t *)(g6 + (int32_t)&g623) = v10; } } } } } } // 0x1e391f3 g2 = g8; int32_t * v11 = (int32_t *)(g6 + (int32_t)&g625); // 0x1e391f6 *v11 = *v11 + 1; result = g2; goto lab_0x1e39146; } else { goto lab_0x1e39138_2; } lab_0x1e39138_2: // 0x1e39138 function_1e3907a(25, 26); g2 = -1; result = -1; goto lab_0x1e39146; lab_0x1e39146: // 0x1e39146 g3 = *(int32_t *)g9; g6 = *(int32_t *)(g9 + 4); g8 = *(int32_t *)(g9 + 8); g4 = *(int32_t *)(g9 + 12); return result; } // Address range: 0x1e39201 - 0x1e39248 int32_t function_1e39201(void) { int32_t v1 = g6; // bp-8 g8 = 1; int32_t v2; // 0x1e39228 if ((int32_t)g427 > 1) { // 0x1e39210 g6 = &g628; int32_t v3 = &g628; // 0x1e39215 *(int32_t *)((int32_t)&v1 - 4) = *(int32_t *)v3; g2 = function_1e27940((int32_t)&g708); int32_t v4 = g6 + 20; // 0x1e3921c g6 = v4; int32_t v5 = g8 + 1; // 0x1e3921f g8 = v5; while (v5 < (int32_t)g427) { // 0x1e39215 *(int32_t *)(g9 - 4) = *(int32_t *)v4; g2 = function_1e27940((int32_t)&g708); v4 = g6 + 20; g6 = v4; v5 = g8 + 1; g8 = v5; } // 0x1e39228 v2 = 20 * v5; } else { v2 = 20; } // 0x1e39228 g8 = v2; int32_t v6 = *(int32_t *)(v2 + (int32_t)&g627); // 0x1e3922b g2 = v6; int32_t result; // 0x1e39236 if (v6 != 0) { // 0x1e39235 *(int32_t *)(g9 - 4) = v6; result = function_1e25401((int32_t)&g708); g2 = result; } else { result = 0; } // 0x1e3923b g427 = 1; return result; } // Address range: 0x1e39248 - 0x1e392c2 int32_t function_1e39248(int32_t a1) { // 0x1e39248 g2 = a1; int16_t * v1 = (int16_t *)a1; // 0x1e3924e g620 = v1; int32_t v2 = g8 & -0x10000; // 0x1e39253 g8 = v2; int32_t v3 = g6; // bp-12 int32_t v4 = &v3; // 0x1e39256 int32_t v5; // 0x1e392b7 if ((int32_t)*v1 > v2) { int32_t v6 = 0; // edi int32_t v7 = v4; // 0x1e3925e int32_t v8 = 0; // 0x1e3925e while (true) { // 0x1e3925e *(int32_t *)(v7 - 4) = v8; g2 = (int32_t)g620; int32_t v9 = g8; // 0x1e39264 *(int32_t *)(v7 - 8) = v9; *(int32_t *)(v7 - 12) = g2; int32_t v10 = function_1e39b58((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e39269 g2 = v10; if (v10 != 0) { // 0x1e39272 if (*(int16_t *)v10 == 202) { int64_t v11 = g427; // 0x1e39279 int32_t v12 = v11; // 0x1e39279 int16_t * v13 = g620; // 0x1e39280 g2 = (int32_t)v13; g621 = v13; if (v12 < 65) { int32_t v14 = 20 * 0x100000000 * v11 / 0x100000000; // 0x1e39291 g2 = v14; g427 = v12 + 1; *(int32_t *)(v14 + (int32_t)&g623) = v6; *(int32_t *)(g2 + (int32_t)&g624) = v9; } } } int32_t v15 = g8; // 0x1e392a6 int32_t v16 = v15 + 1 & 0xffff | v15 & -0x10000; // 0x1e392a6 g8 = v16; int16_t * v17 = g620; // 0x1e392a8 g2 = (int32_t)v17; if ((int32_t)*v17 <= v16) { // break -> 0x1e392b2 break; } // 0x1e392a6 v7 = g9; v8 = v6; } // 0x1e392b2 v5 = g9; } else { v5 = v4; } int32_t result = g427; // 0x1e392b2 g2 = result; g6 = *(int32_t *)v5; g622 = g427; return result; } // Address range: 0x1e392c2 - 0x1e392d4 int32_t function_1e392c2(int32_t a1) { int32_t result = function_1e39c40(*(int32_t *)&g620, a1); // 0x1e392cc g2 = result; return result; } // Address range: 0x1e392d4 - 0x1e39319 int32_t function_1e392d4(int32_t a1) { // 0x1e392d4 g2 = a1; if (a1 < 0) { int32_t result = function_1e3907a(0, 17); // 0x1e392e0 g2 = result; // 0x1e39316 return result; } int32_t v1 = function_1e39b58(*(int32_t *)&g620, a1, 10); // 0x1e392f0 g2 = v1; if (v1 == 0) { // 0x1e392f9 g2 = 1; // 0x1e39316 return 1; } uint16_t v2 = *(int16_t *)v1; // 0x1e39300 g5 = g5 & -0x10000 | (int32_t)v2; int32_t v3 = v1 + 2; // 0x1e39303 g2 = v3; int32_t result2; // 0x1e39313 if (v2 == 100) { // 0x1e39313 result2 = (int32_t)*(int16_t *)v3; g2 = result2; } else { // 0x1e3930c g2 = 1; result2 = 1; } // 0x1e39316 return result2; } // Address range: 0x1e39319 - 0x1e3943a int32_t function_1e39319(int32_t a1) { // 0x1e39319 g8 = a1; int32_t result; // 0x1e39437 if (a1 >= 0) { int16_t * v1 = g620; // 0x1e39335 int32_t v2 = (int32_t)v1; // 0x1e39335 g2 = v2; int32_t v3 = function_1e39b58(v2, a1, 0); // 0x1e3933c g2 = v3; if (v3 != 0) { // 0x1e39353 if (*(int16_t *)v3 == 300) { int32_t v4 = (int32_t)g620; // 0x1e3936a g2 = v4; int32_t v5 = function_1e39b58(v4, a1, 11); // 0x1e39371 g2 = v5; g4 = v5; if (v5 != 0) { int32_t v6 = (int32_t)g620; // 0x1e3938c g2 = v6; g8 = a1 & -0x10000; int32_t v7 = function_1e39be0(v6, a1, 11); // 0x1e39396 g2 = v7; int32_t v8 = v7 / 4; // 0x1e3939d g6 = v8; if ((int16_t)v8 >= 1) { // 0x1e393a9 g3 = (int32_t)v1; int32_t v9 = g8; // 0x1e393af while (true) { int32_t v10 = g4; // 0x1e393ad g8 = v9 + 1 & 0xffff | v9 & -0x10000; g2 = v10; g4 = v10 + 4; *(float64_t *)(g9 - 8) = (float64_t)*(float32_t *)v10; int32_t v11 = function_1e3dbc0((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e393bc g2 = v11; int32_t v12 = __ftol(); // 0x1e393c4 g2 = v12; if (v12 == 301) { int32_t v13 = g4; // 0x1e393ec int32_t v14 = *(int32_t *)v13; // 0x1e393ec g2 = v14; g4 = v13 + 4; *(int32_t *)g3 = v14; } else { if (v12 == 302) { int32_t v15 = g4; // 0x1e393f6 int32_t v16 = *(int32_t *)v15; // 0x1e393f6 g2 = v16; g4 = v15 + 4; *(int32_t *)(g3 + 4) = v16; } else { if (v12 != 304) { // 0x1e393e1 *(int32_t *)(g9 - 4) = 21; *(int32_t *)(g9 - 8) = 9; int32_t v17 = function_1e3907a((int32_t)&g708, (int32_t)&g708); // 0x1e393e5 g2 = v17; result = v17; goto lab_0x1e39433; } int32_t v18 = g4; // 0x1e39400 g2 = v18; g4 = v18 + 4; *(float64_t *)(g9 - 8) = (float64_t)*(float32_t *)v18; int32_t v19 = function_1e3dbc0((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e3940d g2 = v19; int32_t v20 = __ftol(); // 0x1e39415 g2 = v20; g5 = v20; *(int32_t *)(g9 - 4) = v20; int32_t v21 = function_1e39105((int32_t)&g708); // 0x1e3941e g2 = v21; *(int32_t *)(g3 + 16) = v21; } } int32_t v22 = g8; // 0x1e39426 int32_t v23 = v22 + 1 & 0xffff | v22 & -0x10000; // 0x1e39426 if (g6 <= v23) { // break -> 0x1e39431 break; } v9 = v23; } } // 0x1e39431 g2 = 0; result = 0; } else { int32_t v24 = function_1e3907a(11, 21); // 0x1e39380 g2 = v24; result = v24; } } else { int32_t v25 = function_1e3907a(3, 21); // 0x1e3935e g2 = v25; result = v25; } } else { int32_t v26 = function_1e3907a(1, 21); // 0x1e39349 g2 = v26; result = v26; } } else { int32_t v27 = function_1e3907a(0, 21); // 0x1e39329 g2 = v27; result = v27; } goto lab_0x1e39433; lab_0x1e39433: // 0x1e39433 g3 = *(int32_t *)g9; g6 = *(int32_t *)(g9 + 4); g8 = *(int32_t *)(g9 + 8); g4 = *(int32_t *)(g9 + 12); return result; } // Address range: 0x1e3943a - 0x1e395a1 int32_t function_1e3943a(int32_t a1) { // 0x1e3943a g8 = a1; int32_t result; // 0x1e3959e if (a1 >= 0) { int16_t * v1 = g620; // 0x1e39456 int32_t v2 = (int32_t)v1; // 0x1e39456 g2 = v2; int32_t v3 = function_1e39b58(v2, a1, 0); // 0x1e3945d g2 = v3; if (v3 != 0) { // 0x1e39474 if (*(int16_t *)v3 == 400) { int32_t v4 = (int32_t)g620; // 0x1e3948b g2 = v4; int32_t v5 = function_1e39b58(v4, a1, 11); // 0x1e39492 g2 = v5; g4 = v5; if (v5 != 0) { int32_t v6 = (int32_t)g620; // 0x1e394ad g2 = v6; g6 &= -0x10000; int32_t v7 = function_1e39be0(v6, a1, 11); // 0x1e394b7 g2 = v7; int32_t v8 = v7 / 4; // 0x1e394be g3 = v8; if ((int16_t)v8 >= 1) { // 0x1e394ca g8 = (int32_t)v1; int32_t v9 = g6; // 0x1e394d0 while (true) { int32_t v10 = g4; // 0x1e394ce g6 = v9 + 1 & 0xffff | v9 & -0x10000; g2 = v10; g4 = v10 + 4; *(float64_t *)(g9 - 8) = (float64_t)*(float32_t *)v10; int32_t v11 = function_1e3dbc0((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e394dd g2 = v11; int32_t v12 = __ftol(); // 0x1e394e5 g2 = v12; if (v12 == 401) { int32_t v13 = g4; // 0x1e39522 int32_t v14 = *(int32_t *)v13; // 0x1e39522 g2 = v14; g4 = v13 + 4; *(int32_t *)g8 = v14; } else { if (v12 == 402) { int32_t v15 = g4; // 0x1e3952b int32_t v16 = *(int32_t *)v15; // 0x1e3952b g2 = v16; g4 = v15 + 4; *(int32_t *)(g8 + 4) = v16; } else { if (v12 == 403) { int32_t v17 = g4; // 0x1e39535 int32_t v18 = *(int32_t *)v17; // 0x1e39535 g2 = v18; g4 = v17 + 4; *(int32_t *)(g8 + 8) = v18; } else { if (v12 == 404) { int32_t v19 = g6; // 0x1e3953f int32_t v20 = g4; // 0x1e39541 int32_t v21 = *(int32_t *)v20; // 0x1e39541 g2 = v21; g6 = v19 + 2 & 0xffff | v19 & -0x10000; *(int32_t *)(g8 + 12) = v21; int32_t v22 = v20 + 4; // 0x1e3954b int32_t v23 = *(int32_t *)v22; // 0x1e3954b g2 = v23; int32_t v24 = v22 + 4; // ebx *(int32_t *)(g8 + 16) = v23; int32_t v25 = *(int32_t *)v24; // 0x1e39553 g2 = v25; g4 = v24 + 4; *(int32_t *)(g8 + 20) = v25; } else { if (v12 == 405) { int32_t v26 = g4; // 0x1e3955d int32_t v27 = *(int32_t *)v26; // 0x1e3955d g2 = v27; g4 = v26 + 4; *(int32_t *)(g8 + 24) = v27; } else { if (v12 != 406) { // 0x1e39517 *(int32_t *)(g9 - 4) = 20; *(int32_t *)(g9 - 8) = 10; int32_t v28 = function_1e3907a((int32_t)&g708, (int32_t)&g708); // 0x1e3951b g2 = v28; result = v28; goto lab_0x1e3959a; } int32_t v29 = g4; // 0x1e39567 g2 = v29; g4 = v29 + 4; *(float64_t *)(g9 - 8) = (float64_t)*(float32_t *)v29; int32_t v30 = function_1e3dbc0((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e39574 g2 = v30; int32_t v31 = __ftol(); // 0x1e3957c g2 = v31; g5 = v31; *(int32_t *)(g9 - 4) = v31; int32_t v32 = function_1e39105((int32_t)&g708); // 0x1e39585 g2 = v32; *(int32_t *)(g8 + 28) = v32; } } } } } int32_t v33 = g6; // 0x1e3958d int32_t v34 = v33 + 1 & 0xffff | v33 & -0x10000; // 0x1e3958d if (g3 <= v34) { // break -> 0x1e39598 break; } v9 = v34; } } // 0x1e39598 g2 = 0; result = 0; } else { int32_t v35 = function_1e3907a(11, 20); // 0x1e394a1 g2 = v35; result = v35; } } else { int32_t v36 = function_1e3907a(4, 20); // 0x1e3947f g2 = v36; result = v36; } } else { int32_t v37 = function_1e3907a(1, 20); // 0x1e3946a g2 = v37; result = v37; } } else { int32_t v38 = function_1e3907a(0, 20); // 0x1e3944a g2 = v38; result = v38; } goto lab_0x1e3959a; lab_0x1e3959a: // 0x1e3959a g3 = *(int32_t *)g9; g6 = *(int32_t *)(g9 + 4); g8 = *(int32_t *)(g9 + 8); g4 = *(int32_t *)(g9 + 12); return result; } // Address range: 0x1e395a1 - 0x1e39641 int32_t function_1e395a1(int32_t a1, int32_t a2) { int32_t v1 = g6; // 0x1e395a2 g8 = a1; int32_t v2 = function_1e392d4(a1); // 0x1e395a8 g2 = v2; g6 = g6 & -0x10000 | v2 & 0xffff; int16_t v3 = v2; // 0x1e395b0 if (v3 >= 0 != v3 != 0) { int32_t result = function_1e3907a(12, 24); // 0x1e395b9 g2 = result; // 0x1e3963c g8 = *(int32_t *)(g9 + 4); return result; } int32_t v4 = (int32_t)g620; // 0x1e395c2 g2 = v4; int32_t v5 = function_1e39b58(v4, g8, 0); // 0x1e395c9 g2 = v5; if (v5 == 0) { int32_t result2 = function_1e3907a(1, 24); // 0x1e395d6 g2 = result2; // 0x1e3963c g8 = *(int32_t *)(g9 + 4); return result2; } // 0x1e395dd if (*(int16_t *)v5 != 200) { int32_t result3 = function_1e3907a(5, 24); // 0x1e395e8 g2 = result3; // 0x1e3963c g8 = *(int32_t *)(g9 + 4); return result3; } int32_t v6 = g6; // 0x1e395ef g5 = v6; g2 = v1; if (v6 < v1) { int32_t result4 = function_1e3907a(12, 24); // 0x1e395fe g2 = result4; // 0x1e3963c g8 = *(int32_t *)(g9 + 4); return result4; } if (v1 != 0) { int32_t v7 = g8 + v1; // 0x1e39609 g8 = v7; int32_t v8 = (int32_t)g620; // 0x1e3960e g2 = v8; int32_t v9 = function_1e39b58(v8, v7, 0); // 0x1e39614 g2 = v9; if (v9 == 0) { int32_t result5 = function_1e3907a(1, 24); // 0x1e39621 g2 = result5; // 0x1e3963c g8 = *(int32_t *)(g9 + 4); return result5; } // 0x1e39628 if (*(int16_t *)v9 != 201) { int32_t result6 = function_1e3907a(6, 24); // 0x1e39633 g2 = result6; // 0x1e3963c g8 = *(int32_t *)(g9 + 4); return result6; } } // 0x1e3963a g2 = g8; int32_t result7 = g8; // 0x1e3963e // 0x1e3963c g8 = *(int32_t *)(g9 + 4); return result7; } // Address range: 0x1e39641 - 0x1e398f4 int32_t function_1e39641(int32_t a1, int32_t a2, int32_t a3) { // 0x1e39641 function_1e390d0((int32_t *)a3); g2 = a1; int32_t v1; // ebx int32_t result; // 0x1e398b0 int32_t v2; // 0x1e3966d if (a1 >= 0) { // 0x1e39668 v2 = function_1e395a1(a1, a2); g2 = v2; g6 = v2; if (v2 >= 0) { int32_t v3 = (int32_t)g620; // 0x1e39688 g2 = v3; v1 = g8 + 68; int32_t v4 = function_1e39b58(v3, v2, 1); // 0x1e39692 *(int32_t *)(g8 + 64) = v4; int32_t v5 = (int32_t)g620; // 0x1e3969d g2 = v5; int32_t v6 = function_1e39b58(v5, v2, 12); // 0x1e396a3 g2 = v6; *(int32_t *)v1 = v6; if (v6 != 0) { int32_t v7 = v6 + 14; // 0x1e396ae g5 = v7; *(int32_t *)(v6 + 6) = v7; int32_t v8 = *(int32_t *)v1; // 0x1e396b4 g2 = v8; int32_t v9 = *(int32_t *)(v8 + 6); // 0x1e396b6 g5 = v9; *(int32_t *)(v8 + 10) = v9; } int32_t v10 = (int32_t)g620; // 0x1e396be g2 = v10; int32_t v11 = function_1e39b58(v10, v2, 10); // 0x1e396c5 g2 = v11; g4 = v11; if (v11 == 0) { goto lab_0x1e39829; } else { int32_t v12 = (int32_t)g620; // 0x1e396d6 g2 = v12; g3 &= -0x10000; int32_t v13 = function_1e39be0(v12, v2, 10) / 2; // 0x1e396e5 g2 = v13; int32_t v14 = g3; // 0x1e396ec if (v13 > v14) { while (true) { int32_t v15 = g4; // 0x1e396f5 int32_t v16 = (int32_t)*(int16_t *)v15 | v13 & -0x10000; // 0x1e396f5 g2 = v16; int32_t v17 = v15 + 2; // 0x1e396f8 int32_t v18 = v14 & -0x10000; // 0x1e396fe g3 = v14 + 1 & 0xffff | v18; if (v16 > 300) { if (v16 == 304) { // 0x1e39794 g3 = v14 + 2 & 0xffff | v18; g2 = v17; int32_t v19 = (int32_t)*(int16_t *)v17; // 0x1e39798 g5 = v19; *(int32_t *)(g9 - 4) = v19; int32_t v20 = function_1e39105((int32_t)&g708); // 0x1e3979f g2 = v20; *(int32_t *)(g8 + 16) = v20; } else { if (v16 == 400) { // 0x1e397a9 g5 = (int32_t)*(int16_t *)v17; int32_t v21 = g8 + 20; // 0x1e397ac g2 = v21; *(int32_t *)(g9 - 4) = v21; *(int32_t *)(g9 - 8) = g5; int32_t v22 = function_1e3943a((int32_t)&g708); // 0x1e397b1 g2 = v22; if (v22 != 0) { // 0x1e398c9 *(int32_t *)(g9 - 4) = 18; *(int32_t *)(g9 - 8) = 14; int32_t v23 = function_1e3907a((int32_t)&g708, (int32_t)&g708); // 0x1e398cd g2 = v23; result = v23; goto lab_0x1e398a9; } int32_t v24 = g3; // 0x1e397be g3 = v24 + 1 & 0xffff | v24 & -0x10000; g4 += 2; } else { if (v16 == 406) { // 0x1e397c5 g3 = v14 + 2 & 0xffff | v18; g2 = v17; int32_t v25 = (int32_t)*(int16_t *)v17; // 0x1e397c9 g5 = v25; *(int32_t *)(g9 - 4) = v25; int32_t v26 = function_1e39105((int32_t)&g708); // 0x1e397d0 g2 = v26; *(int32_t *)(g8 + 48) = v26; } else { if (v16 == 602) { // 0x1e397da g3 = v14 + 2 & 0xffff | v18; g2 = 1; int32_t v27 = (int32_t)*(char *)v17; // 0x1e397e1 g5 = g5 & -256 | v27; g4 = v15 + 4; uint32_t v28 = v27 & 31; // 0x1e397e6 int32_t v29; // 0x1e397e6 if (v28 != 0) { // bb v29 = 1 << v28; g2 = v29; } else { v29 = 1; } int32_t * v30 = (int32_t *)(g8 + 52); // 0x1e397e8 *v30 = *v30 | v29; } else { if (v16 == 1100) { // 0x1e397ed g3 = v14 + 2 & 0xffff | v18; g2 = v17; int32_t v31 = (int32_t)*(int16_t *)v17; // 0x1e397f1 g5 = v31; *(int32_t *)(g9 - 4) = v31; int32_t v32 = function_1e39105((int32_t)&g708); // 0x1e397f8 g2 = v32; *(int32_t *)(g8 + 56) = v32; } else { if (v16 == 1101) { // 0x1e39802 g3 = v14 + 2 & 0xffff | v18; g2 = v17; int32_t v33 = (int32_t)*(int16_t *)v17; // 0x1e39806 g5 = v33; *(int32_t *)(g9 - 4) = v33; int32_t v34 = function_1e39105((int32_t)&g708); // 0x1e3980d g2 = v34; *(int32_t *)(g8 + 60) = v34; } else { if (v16 != 1500) { goto lab_0x1e3970e_2; } // 0x1e39817 g3 = v14 + 9 & 0xffff | v18; g4 = v15 + 18; } } } } } } } else { if (v16 == 300) { // 0x1e39778 g2 = (int32_t)*(int16_t *)v17; *(int32_t *)(g9 - 4) = g8; *(int32_t *)(g9 - 8) = g2; int32_t v35 = function_1e39319((int32_t)&g708); // 0x1e3977d g2 = v35; if (v35 != 0) { // break -> 0x1e398be break; } int32_t v36 = g3; // 0x1e3978a g3 = v36 + 1 & 0xffff | v36 & -0x10000; g4 += 2; } else { if (v16 != 100) { goto lab_0x1e3970e_2; } // 0x1e39763 if (*(int32_t *)(g9 + 28) != 0) { // 0x1e398b3 *(int32_t *)(g9 - 4) = 18; *(int32_t *)(g9 - 8) = 7; int32_t v37 = function_1e3907a((int32_t)&g708, (int32_t)&g708); // 0x1e398b7 g2 = v37; result = v37; goto lab_0x1e398a9; } // 0x1e3976e g3 = v14 + 2 & 0xffff | v18; g4 = v15 + 4; } } int32_t v38 = g3; // 0x1e3981e if ((int32_t)*(int16_t *)(g9 + 18) <= v38) { goto lab_0x1e39829; } // 0x1e3981e v14 = v38; v13 = g2; } // 0x1e398be *(int32_t *)(g9 - 4) = 18; *(int32_t *)(g9 - 8) = 15; int32_t v39 = function_1e3907a((int32_t)&g708, (int32_t)&g708); // 0x1e398c2 g2 = v39; result = v39; goto lab_0x1e398a9; } else { goto lab_0x1e39829; } } } else { int32_t v40 = function_1e3907a(16, 18); // 0x1e3967c g2 = v40; result = v40; goto lab_0x1e398a9; } } else { int32_t v41 = function_1e3907a(0, 18); // 0x1e3965e g2 = v41; result = v41; goto lab_0x1e398a9; } lab_0x1e3970e_2: // 0x1e3970e *(int32_t *)(g9 - 4) = 18; *(int32_t *)(g9 - 8) = 9; int32_t v42 = function_1e3907a((int32_t)&g708, (int32_t)&g708); // 0x1e39712 g2 = v42; result = v42; goto lab_0x1e398a9; lab_0x1e39829:; int32_t * v43 = (int32_t *)(g8 + 52); // 0x1e39829 if (*v43 == 0) { // 0x1e3982f *v43 = 1; } // 0x1e39836 *(int32_t *)(g9 - 4) = 11; g2 = (int32_t)g620; *(int32_t *)(g9 - 8) = v2; *(int32_t *)(g9 - 12) = g2; int32_t v44 = function_1e39b58((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e3983f g2 = v44; if (v44 == 0) { // 0x1e398a7 g2 = 0; result = 0; goto lab_0x1e398a9; } else { // 0x1e3984a v1 = v44 + 4; if (*(int32_t *)v44 != 0x44160000) { // 0x1e398a7 g2 = 0; result = 0; goto lab_0x1e398a9; } else { // 0x1e39855 *(int32_t *)(g9 - 4) = 11; g2 = (int32_t)g620; *(int32_t *)(g9 - 8) = v2; *(int32_t *)(g9 - 12) = g2; g6 = g8 + 8; uint32_t v45 = function_1e39be0((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e39861 g7 = 0; g5 = v1; g4 = v1 + 4; int32_t v46 = v45 / 8 - 2; // 0x1e39879 g2 = v46; *(int32_t *)g6 = v46; *(float64_t *)g9 = (float64_t)*(float32_t *)g5; int32_t v47 = function_1e3dbc0((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e39886 g2 = v47; int32_t v48 = __ftol(); // 0x1e39894 g2 = v48; int16_t v49 = v48; // 0x1e39899 if (v49 != 0) { int32_t * v50 = (int32_t *)g6; // 0x1e398e5 if (v49 != 1) { // 0x1e398e2 if (v48 == *v50) { goto lab_0x1e398a4; } else { // 0x1e398e9 *(int32_t *)(g9 - 4) = 18; *(int32_t *)(g9 - 8) = 8; int32_t v51 = function_1e3907a((int32_t)&g708, (int32_t)&g708); // 0x1e398ed g2 = v51; result = v51; goto lab_0x1e398a9; } } else { // 0x1e398da *v50 = 2; goto lab_0x1e398a4; } } else { // 0x1e3989e *(int32_t *)g6 = 1; goto lab_0x1e398a4; } } } lab_0x1e398a9: // 0x1e398a9 g3 = *(int32_t *)g9; g6 = *(int32_t *)(g9 + 4); g8 = *(int32_t *)(g9 + 8); g4 = *(int32_t *)(g9 + 12); return result; lab_0x1e398a4: // 0x1e398a4 *(int32_t *)(g8 + 12) = g4; // 0x1e398a7 g2 = 0; result = 0; goto lab_0x1e398a9; } // Address range: 0x1e398f4 - 0x1e3991a int32_t function_1e398f4(int32_t a1) { // 0x1e398f4 g2 = a1; int32_t result; if (a1 >= 0) { // 0x1e39909 result = function_1e39b58(*(int32_t *)&g620, a1, 3); } else { // 0x1e398fc g2 = function_1e3907a(0, 19); result = 0; } // 0x1e39917 g2 = result; return result; } // Address range: 0x1e3991a - 0x1e39996 int32_t function_1e3991a(int32_t a1, int32_t a2) { // 0x1e3991a g2 = a1; int32_t result; int32_t v1; // 0x1e3998b if (a1 >= 0) { int32_t v2 = function_1e395a1(a1, a2); // 0x1e39933 g2 = v2; g6 = v2; if (v2 >= 0) { int32_t v3 = g9; // 0x1e39947 int32_t v4 = g8; // 0x1e39944 while (true) { // 0x1e39944 g2 = v4; *(int32_t *)(v3 - 4) = v4; *(int32_t *)(v3 - 8) = 11; *(int32_t *)(v3 - 12) = v2; *(int32_t *)(v3 - 16) = (int32_t)g620; int32_t v5 = function_1e39bf6((int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e39951 g2 = v5; g4 = v5; if (v5 == 0) { // break -> 0x1e39980 break; } // 0x1e3995c *(float64_t *)(g9 - 8) = (float64_t)*(float32_t *)v5; int32_t v6 = function_1e3dbc0((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e39964 g2 = v6; int32_t v7 = __ftol(); // 0x1e3996c g2 = v7; if (v7 == *(int32_t *)(g9 + 24)) { // 0x1e39991 v1 = g9; result = v5 + 4; goto lab_0x1e3998b; } int32_t v8 = g8; // 0x1e3997a int32_t v9 = v8 + 1 & 0xffff | v8 & -0x10000; // 0x1e3997a g8 = v9; v3 = g9; v4 = v9; } // 0x1e39980 *(int32_t *)(g9 - 4) = 22; *(int32_t *)(g9 - 8) = 13; } } // 0x1e39984 g2 = function_1e3907a((int32_t)&g708, (int32_t)&g708); v1 = g9; result = 0; goto lab_0x1e3998b; lab_0x1e3998b: // 0x1e3998b g2 = result; g6 = *(int32_t *)v1; g8 = *(int32_t *)(v1 + 4); g4 = *(int32_t *)(v1 + 8); return result; } // Address range: 0x1e39996 - 0x1e39a10 int32_t function_1e39996(int32_t a1, int32_t a2, int32_t * a3) { int32_t v1 = (int32_t)a3; int32_t v2 = g4 & -0x10000; // 0x1e3999a int32_t v3 = g6; // bp-16 int32_t result; if (a1 >= 0) { int32_t v4 = &v3; // 0x1e399b4 while (true) { // 0x1e399b1 g2 = v2; *(int32_t *)(v4 - 4) = v2; *(int32_t *)(v4 - 8) = 10; *(int32_t *)(v4 - 12) = a1; *(int32_t *)(v4 - 16) = (int32_t)g620; int32_t v5 = function_1e39bf6((int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e399be g2 = v5; g6 = v5; if (v5 == 0) { // break -> 0x1e399d7 break; } int32_t v6 = (int32_t)*(int16_t *)v5; // 0x1e399c9 g2 = v6; if (v6 == a2) { // 0x1e399f2 *(int32_t *)(g9 - 4) = 10; g2 = (int32_t)g620; *(int32_t *)(g9 - 8) = a1; *(int32_t *)(g9 - 12) = g2; int32_t v7 = function_1e39be0((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e399fb int32_t v8 = v7 >> 31; // 0x1e39a00 g7 = v8; g5 = v1; int32_t v9 = (v7 - v8) / 2 - 1; // 0x1e39a08 g2 = v9; *a3 = v9; result = v5 + 2; goto lab_0x1e399eb; } int32_t v10 = v2; // 0x1e399d1 v4 = g9; v2 = v10 + 1 & 0xffff | v10 & -0x10000; } // 0x1e399d7 *(int32_t *)(g9 - 4) = 23; *(int32_t *)(g9 - 8) = 2; g2 = function_1e3907a((int32_t)&g708, (int32_t)&g708); g5 = v1; *a3 = 0; } else { // 0x1e399a6 g2 = function_1e3907a(0, 22); } result = 0; goto lab_0x1e399eb; lab_0x1e399eb: // 0x1e399eb g2 = result; g6 = *(int32_t *)g9; g8 = *(int32_t *)(g9 + 4); g4 = *(int32_t *)(g9 + 8); g3 = *(int32_t *)(g9 + 12); return result; } // Address range: 0x1e39a10 - 0x1e39a41 int32_t function_1e39a10(int32_t a1) { int32_t v1 = g8; // 0x1e39a10 int32_t v2 = v1; // bp-4 float80_t v3; int32_t v4; // 0x1e39a3d int32_t result; // 0x1e39a3e if (a1 < 1) { // 0x1e39a10 result = g2; v4 = &v2; v3 = 0.0L; } else { int32_t v5 = *(int32_t *)(20 * a1 + (int32_t)&g623); // 0x1e39a24 int32_t v6 = function_1e27a56(v5, 0, 7, 5, 0, v1); // 0x1e39a2a g2 = v6; result = v6; v4 = g9; v3 = (float80_t)*(float32_t *)(g8 + (int32_t)&g626); } // 0x1e39a3d g11--; g684 = v3; g8 = *(int32_t *)v4; return result; } // Address range: 0x1e39a41 - 0x1e39aaf int32_t function_1e39a41(int32_t a1, int32_t a2, int32_t a3, int32_t result) { // 0x1e39a41 g5 = &g613; g2 = a1; int32_t v1 = &g613; // 0x1e39a51 while (true) { int32_t v2 = a1 + 16; // edi *(int32_t *)v1 = *(int32_t *)a1; int32_t v3 = v1 + 16; // 0x1e39a5f18 int32_t v4 = 3; // 0x1e39a6220 if (v4 != 0) { int32_t v5 = v2; *(int32_t *)v3 = *(int32_t *)v5; int32_t v6 = v4 - 1; // 0x1e39a62 while (v6 != 0) { // 0x1e39a58 v3 += 16; v5 += 16; *(int32_t *)v3 = *(int32_t *)v5; v6--; } } int32_t v7 = g5 + 4; // 0x1e39a65 g5 = v7; int32_t v8 = g2 + 4; // 0x1e39a68 g2 = v8; if (v7 >= (int32_t)&g614) { // break -> 0x1e39a73 break; } v1 = v7; a1 = v8; } // 0x1e39a73 g5 = a2; g617 = 0; g616 = 0; g615 = 0; g2 = result; g619 = a2; g611 = a3; g612 = result; g618 = 0x3f800000; return result; } // Address range: 0x1e39aaf - 0x1e39ac5 int32_t function_1e39aaf(int32_t result, int32_t a2) { // 0x1e39aaf g2 = result; g5 = a2; g611 = result; g612 = a2; return result; } // Address range: 0x1e39ac5 - 0x1e39aeb int32_t function_1e39ac5(int32_t a1) { // 0x1e39ac5 int32_t v1; // bp-12 g2 = &v1; int32_t v2 = &g613; // bp-24 g2 = function_1e3d6e6(&g613, a1, &v1); g5 = &v2; int32_t result = function_1e3a7a7(&v2); // 0x1e39ae0 g2 = result; return result; } // Address range: 0x1e39aeb - 0x1e39b58 int32_t function_1e39aeb(int32_t a1, int32_t * a2, int32_t a3, int32_t a4, int32_t a5) { // 0x1e39aeb float32_t v1; // bp-20 g2 = &v1; g2 = function_1e3d6e6(&g613, a1, (int32_t *)&v1); int32_t v2 = __ftol(); // 0x1e39b2d g2 = v2; *a2 = v2; int32_t v3 = __ftol(); // 0x1e39b43 g2 = v3; g11 -= 3; *(int32_t *)((int32_t)a2 + 4) = v3; g8 = &g613; return g2; } // Address range: 0x1e39b58 - 0x1e39b95 int32_t function_1e39b58(int32_t a1, int32_t a2, int32_t a3) { // 0x1e39b58 g2 = a1; int32_t v1 = g8; // 0x1e39b5c int32_t v2 = *(int32_t *)(a1 + 6); // 0x1e39b61 g5 = v2; int32_t v3 = *(int32_t *)(v2 + 4 * a2); // 0x1e39b64 g5 = 0; int32_t v4 = (int32_t)*(int16_t *)v3 | a2 & -0x10000; // 0x1e39b69 g7 = v4; int32_t result; if (v4 <= 0) { lab_0x1e39b8a_3: result = 0; // 0x1e39b8c g2 = result; g8 = v1; return result; } int32_t v5 = 0; // 0x1e39b82 int32_t v6 = v3 + 2; // 0x1e39b90 while (true) { int32_t v7 = (int32_t)*(int16_t *)v6; // 0x1e39b74 g2 = v7; if (v7 == a3) { // break -> 0x1e39b90 break; } if (v7 > a3) { goto lab_0x1e39b8a_3; } int32_t v8 = v5 + 1; // 0x1e39b82 g5 = v8; g2 = v4; if (v4 <= v8) { goto lab_0x1e39b8a_3; } v5 = v8; v6 += 10; } // 0x1e39b90 result = *(int32_t *)(v6 + 6); // 0x1e39b8c g2 = result; g8 = v1; return result; } // Address range: 0x1e39b95 - 0x1e39be0 int32_t function_1e39b95(int32_t a1, int32_t a2, int32_t a3, int32_t a4) { // 0x1e39b95 g2 = a1; int32_t v1 = g6; // 0x1e39b9d int32_t v2 = *(int32_t *)(a1 + 6); // 0x1e39b9e g5 = v2; int32_t v3 = *(int32_t *)(v2 + 4 * a2); // 0x1e39ba6 g7 = v3; int32_t v4 = (int32_t)*(int16_t *)v3 | v2 & -0x10000; // 0x1e39bab g5 = v4; int32_t result; if (v4 <= 0) { result = 0; lab_0x1e39bd5: // 0x1e39bd5 g2 = result; g6 = v1; return result; } int32_t v5 = v3 + 2; // 0x1e39bb3 g7 = v5; int32_t v6 = 0; // 0x1e39bcb int32_t v7 = 0; // 0x1e39bc3 while (true) { int32_t v8 = (int32_t)*(int16_t *)v5; // 0x1e39bb6 g2 = v8; int32_t v9; // 0x1e39bbe6 if (v8 != a3) { if (v8 > a3) { // break -> 0x1e39bd3 break; } v9 = v7; } else { if (v7 == a4) { // 0x1e39bdb result = *(int32_t *)(v5 + 2); goto lab_0x1e39bd5; } // 0x1e39bc3 v9 = v7 + 1; } int32_t v10 = v5 + 10; // 0x1e39bc8 g7 = v10; int32_t v11 = v6 + 1; // 0x1e39bcb g2 = v4; if (v4 <= v11) { // break -> 0x1e39bd3 break; } v6 = v11; v7 = v9; v5 = v10; } result = 0; // 0x1e39bd5 g2 = result; g6 = v1; return result; } // Address range: 0x1e39be0 - 0x1e39bf6 int32_t function_1e39be0(int32_t a1, int32_t a2, int32_t a3) { int32_t result = function_1e39b95(a1, a2, a3, 0); // 0x1e39bee g2 = result; return result; } // Address range: 0x1e39bf6 - 0x1e39c40 int32_t function_1e39bf6(int32_t a1, int32_t a2, int32_t a3, int32_t a4) { // 0x1e39bf6 g2 = a1; int32_t v1 = g6; // 0x1e39bff int32_t v2 = *(int32_t *)(a1 + 6); // 0x1e39c00 g5 = v2; int32_t v3 = *(int32_t *)(v2 + 4 * a2); // 0x1e39c05 g5 = 0; int32_t v4 = (int32_t)*(int16_t *)v3 | a2 & -0x10000; // 0x1e39c0a g7 = v4; int32_t result; if (v4 <= 0) { result = 0; lab_0x1e39c36: // 0x1e39c36 g2 = result; g6 = v1; return result; } int32_t v5 = 0; // 0x1e39c2c int32_t v6 = 0; // 0x1e39c24 int32_t v7 = v3 + 2; // 0x1e39c29 while (true) { int32_t v8 = (int32_t)*(int16_t *)v7; // 0x1e39c15 g2 = v8; int32_t v9; // 0x1e39c1e6 if (v8 != a3) { if (v8 > a3) { // break -> 0x1e39c34 break; } v9 = v6; } else { if (v6 == a4) { // 0x1e39c3b result = *(int32_t *)(v7 + 6); goto lab_0x1e39c36; } // 0x1e39c24 v9 = v6 + 1; } int32_t v10 = v5 + 1; // 0x1e39c2c g5 = v10; g2 = v4; if (v4 <= v10) { // break -> 0x1e39c34 break; } v5 = v10; v6 = v9; v7 += 10; } result = 0; // 0x1e39c36 g2 = result; g6 = v1; return result; } // Address range: 0x1e39c40 - 0x1e39c9f int32_t function_1e39c40(int32_t a1, int32_t lpString) { // 0x1e39c40 g8 = lpString; uint32_t v1 = lstrlenA((char *)lpString); // 0x1e39c49 g2 = v1; uint16_t v2 = *(int16_t *)a1; // 0x1e39c55 int32_t v3 = (int32_t)v2 - 1; // edi int32_t result; if (v2 >= 1) { while (true) { // 0x1e39c5c *(int32_t *)(g9 - 4) = 3; *(int32_t *)(g9 - 8) = v3; *(int32_t *)(g9 - 12) = a1; int32_t v4 = function_1e39b58((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e39c60 g2 = v4; if (v4 != 0) { // 0x1e39c69 g7 = 0; int32_t v5; // 0x1e39c86 if (v1 >= 1) { int32_t v6 = g5; // 0x1e39c6f int32_t v7 = 0; // 0x1e39c77 while (true) { unsigned char v8 = *(char *)(v7 + g8); // 0x1e39c6f int32_t v9 = (int32_t)v8 | v6 & -256; // 0x1e39c6f g5 = v9; if (*(char *)(v7 + v4) != v8) { v5 = v7; // break -> 0x1e39c7c break; } int32_t v10 = v7 + 1; // 0x1e39c77 g7 = v10; if (v1 <= v10) { v5 = v10; // break -> 0x1e39c7c break; } v6 = v9; v7 = v10; } } else { v5 = 0; } if (v1 == v5) { // 0x1e39c80 if (*(char *)(g8 + v5) == 0) { // 0x1e39c86 if (*(char *)(v5 + v4) == 0) { // 0x1e39c9b result = v3; goto lab_0x1e39c94; } } } } int32_t v11 = v3 - 1; // 0x1e39c8c v3 = v11; if (v11 < 0) { result = -1; // break -> 0x1e39c94 break; } } } else { result = -1; } goto lab_0x1e39c94; lab_0x1e39c94: // 0x1e39c94 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: 0x1e39c9f - 0x1e39cc6 int32_t function_1e39c9f(int32_t a1, int32_t a2, int32_t a3) { int32_t v1 = function_1e39c40(a1, a2); // 0x1e39ca9 g2 = v1; int32_t result; if (v1 >= 0) { // 0x1e39cb2 result = function_1e39b58(a1, v1, a3); } else { result = 0; } // 0x1e39cc2 g2 = result; g3 = *(int32_t *)g9; return result; } // Address range: 0x1e39cc6 - 0x1e39d60 int32_t function_1e39cc6(int32_t a1) { // 0x1e39cc6 g8 = a1; int32_t v1 = g3; // bp-24 g6 = 0; int32_t v2; // 0x1e39d3b if (*(int16_t *)a1 > 0) { int32_t v3 = &v1; // 0x1e39cea int32_t v4 = a1; // 0x1e39cdc while (true) { int32_t v5 = *(int32_t *)(v4 + 6); // 0x1e39cdc g5 = v5; int32_t v6 = *(int32_t *)(v3 + 20); // 0x1e39cdf g2 = v6; int32_t v7 = *(int32_t *)(v6 + v5); // 0x1e39ce3 int16_t * v8 = (int16_t *)v7; // 0x1e39ce3 g3 = v7; int32_t v9; // 0x1e39d2e if (v7 != 0) { // 0x1e39cea *(int32_t *)(v3 + 16) = 0; if (*v8 > 0) { int32_t v10 = v7 + 2; // 0x1e39cf9 g4 = v10; while (true) { int32_t v11 = *(int32_t *)(v10 + 6); // 0x1e39cfc g2 = v11; int32_t v12; // 0x1e39d17 if (v11 != 0) { // 0x1e39d03 int32_t v13; // 0x1e39d0f if (*(int16_t *)v10 == 1) { // 0x1e39d09 *(int32_t *)(g9 - 4) = v11; g2 = function_1e273a9((int32_t)&g708); v13 = g4; } else { v13 = v10; } // 0x1e39d0f *(int32_t *)(g9 - 4) = *(int32_t *)(v13 + 6); g2 = function_1e25401((int32_t)&g708); v12 = g4; } else { v12 = v10; } // 0x1e39d17 g4 = v12 + 10; int32_t * v14 = (int32_t *)(g9 + 16); // 0x1e39d1a *v14 = *v14 + 1; int32_t v15 = (int32_t)*v8; // 0x1e39d1e g2 = v15; if (v15 <= *(int32_t *)(g9 + 16)) { // break -> 0x1e39d28 break; } // 0x1e39d17 v10 = g4; } } // 0x1e39d28 *(int32_t *)(g9 - 4) = v7; g2 = function_1e25401((int32_t)&g708); v9 = g9; } else { v9 = v3; } int32_t * v16 = (int32_t *)(v9 + 20); // 0x1e39d2e *v16 = *v16 + 4; int32_t v17 = g8; // 0x1e39d33 int32_t v18 = (int32_t)*(int16_t *)v17; // 0x1e39d33 g2 = v18; int32_t v19 = g6 + 1; // 0x1e39d36 g6 = v19; if (v18 <= v19) { v2 = v17; // break -> 0x1e39d3b break; } // 0x1e39d2e v3 = g9; v4 = v17; } } else { v2 = a1; } int32_t v20 = *(int32_t *)(v2 + 2); // 0x1e39d3b g2 = v20; int32_t v21; // 0x1e39d48 if (v20 != 0) { // 0x1e39d42 *(int32_t *)(g9 - 4) = v20; g2 = function_1e25401((int32_t)&g708); v21 = g8; } else { v21 = v2; } // 0x1e39d48 *(int32_t *)(g9 - 4) = *(int32_t *)(v21 + 6); g2 = function_1e25401((int32_t)&g708); *(int32_t *)(g9 - 4) = g8; int32_t result = function_1e25401((int32_t)&g708); // 0x1e39d51 g2 = result; g3 = *(int32_t *)g9; g8 = *(int32_t *)(g9 + 8); return result; } // Address range: 0x1e39d60 - 0x1e39d7e int32_t function_1e39d60(int32_t hFile) { // 0x1e39d60 int32_t lpBuffer; // bp-1 g2 = &lpBuffer; unsigned char v1; int32_t result = _lread(hFile, &lpBuffer, 1) & -256 | (int32_t)v1; // 0x1e39d74 g2 = result; return result; } // Address range: 0x1e39d7e - 0x1e39d9c int32_t function_1e39d7e(int32_t hFile, int32_t a2) { // 0x1e39d7e int32_t lpBuffer; // bp-4 g2 = &lpBuffer; _lread(hFile, &lpBuffer, 4); g2 = hFile; return hFile; } // Address range: 0x1e39d9c - 0x1e3a08c int32_t function_1e39d9c(int32_t lpFileName) { int32_t v1 = g3; // bp-4 g2 = 0; g3 = &v1; int32_t lpReOpenBuff; // bp-364 g5 = &lpReOpenBuff; int32_t hFile = OpenFile((char *)lpFileName, (struct _OFSTRUCT *)&lpReOpenBuff, 0); // 0x1e39db8 g2 = hFile; int32_t result; // 0x1e3a089 int32_t v2; // 0x1e39e05 int16_t * v3; // 0x1e39e0a if (hFile == -1) { // 0x1e3a081 g2 = 0; result = 0; goto lab_0x1e3a083; } else { // 0x1e39dca int32_t lpBuffer; // bp-228 int32_t v4 = &lpBuffer; // 0x1e39dcf g2 = v4; g2 = _lread(hFile, &lpBuffer, 183); g5 = v4; int32_t v5 = lstrcmpA("PARTOUT(4.0)RESOURCE", (char *)&lpBuffer); // 0x1e39deb g2 = v5; if (v5 == 0) { // 0x1e39e03 v2 = function_1e25371(10); g2 = v2; v3 = (int16_t *)v2; g8 = v2; if (v2 != 0) { // 0x1e39e1e int32_t lpString; // bp-157 int32_t v6 = &lpString; // 0x1e39e1e g2 = v6; int32_t v7 = lstrlenA((char *)&lpString); // 0x1e39e25 g2 = v7; if (v7 < 1) { // 0x1e39e6e *(int32_t *)(v2 + 2) = 0; goto lab_0x1e39e75; } else { // 0x1e39e2f g2 = v6; int32_t v8 = lstrlenA((char *)&lpString) + 1; // 0x1e39e3c g2 = v8; int32_t lpString1 = function_1e25371(v8); // 0x1e39e3e g2 = lpString1; *(int32_t *)(v2 + 2) = lpString1; if (lpString1 != 0) { // 0x1e39e5e g5 = v6; g2 = (int32_t)lstrcpyA((char *)lpString1, (char *)&lpString); goto lab_0x1e39e75; } else { // 0x1e39e4a g2 = _lclose(hFile); g2 = function_1e25401(v2); // 0x1e3a081 g2 = 0; result = 0; goto lab_0x1e3a083; } } } else { // 0x1e39e10 g2 = _lclose(hFile); // 0x1e3a081 g2 = 0; result = 0; goto lab_0x1e3a083; } } else { // 0x1e39df5 g2 = _lclose(hFile); // 0x1e3a081 g2 = 0; result = 0; goto lab_0x1e3a083; } } lab_0x1e3a083: // 0x1e3a083 g6 = *(int32_t *)g9; g8 = *(int32_t *)(g9 + 4); g4 = *(int32_t *)(g9 + 8); g3 = v1; return result; lab_0x1e39e75:; // 0x1e39e75 uint16_t v9; int32_t v10 = v9; // 0x1e39e75 if (v9 == 0) { goto lab_0x1e39ebf; } else { // 0x1e39e7d *(int32_t *)(g9 - 4) = v10; int32_t v11 = function_1e25371((int32_t)&g708); // 0x1e39e7e g2 = v11; g6 = v11; int32_t * v12 = (int32_t *)(g9 - 4); // 0x1e39eae if (v11 != 0) { // 0x1e39eae *v12 = v10; *(int32_t *)(g9 - 8) = v11; *(int32_t *)(g9 - 12) = hFile; g2 = _lread((int32_t)&g708, &g708, (int32_t)&g708); *(int32_t *)(g9 - 4) = v11; g2 = function_1e25401((int32_t)&g708); goto lab_0x1e39ebf; } else { // 0x1e39e89 *v12 = hFile; g2 = _lclose((int32_t)&g708); *(int32_t *)(g9 - 4) = v2; g2 = function_1e25401((int32_t)&g708); int32_t v13 = *(int32_t *)(v2 + 2); // 0x1e39e98 g2 = v13; if (v13 != 0) { // 0x1e39ea3 *(int32_t *)(g9 - 4) = v13; g2 = function_1e25401((int32_t)&g708); } // 0x1e3a081 g2 = 0; result = 0; goto lab_0x1e3a083; } } lab_0x1e39ebf:; // 0x1e39ebf uint16_t v14; int32_t v15 = v14; // 0x1e39ebf int32_t v16 = 4 * v15; // 0x1e39ec3 g2 = v16; *(int32_t *)(g9 - 4) = v16; int32_t v17 = function_1e25371((int32_t)&g708); // 0x1e39ec7 g2 = v17; int32_t * v18 = (int32_t *)(v2 + 6); // 0x1e39ecc *v18 = v17; if (v17 != 0) { // 0x1e39eef g6 = 0; if (v14 != 0) { // 0x1e39efb int32_t v19; // bp-44 int32_t v20 = &v19; // 0x1e39f89 int16_t v21; int32_t v22 = v21; // 0x1e39fc9 int16_t v23; int32_t v24 = v23; // 0x1e39fd7 int16_t v25; int32_t v26 = v25; // 0x1e39ffb int16_t v27; int32_t v28 = v27; // 0x1e3a005 while (true) { // 0x1e39efb *(int32_t *)(g9 - 4) = hFile; int32_t v29 = function_1e39d60((int32_t)&g708); // 0x1e39efe g2 = v29; char v30 = v29; // 0x1e39f03 int32_t v31; if (v30 < 1) { v31 = 0; } else { // 0x1e39f0a v31 = v29 - 1; } int32_t v32 = 10 * v31 + 12; // 0x1e39f15 g2 = v32; *(int32_t *)(g9 - 4) = v32; int32_t v33 = 0x1000000 * v29 / 0x1000000; // 0x1e39f19 int32_t v34 = function_1e25371(v33); // 0x1e39f19 g2 = v34; int32_t v35 = *v18; // 0x1e39f1e g5 = v35; *(int32_t *)(4 * g6 + v35) = v34; int32_t v36 = *v18; // 0x1e39f24 g5 = v36; int32_t v37 = *(int32_t *)(4 * g6 + v36); // 0x1e39f27 if (v37 == 0) { // break -> 0x1e3a065 break; } // 0x1e39f32 g2 = g2 & -0x10000 | v33; *(int16_t *)v37 = (int16_t)v29; if (v30 > 0) { // 0x1e39f4b g4 = v37 + 2; int32_t v38 = 0; while (true) { // 0x1e39f4e *(int32_t *)(g9 - 4) = hFile; int32_t v39 = function_1e39d60((int32_t)&g708) & -0xff01; // 0x1e39f56 g2 = v39; g5 = v39; *(int16_t *)g4 = (int16_t)v39; int32_t v40 = g5; // 0x1e39f60 int16_t v41 = *(int16_t *)(2 * v40 + (int32_t)&g428); // 0x1e39f63 int32_t v42 = v41; // 0x1e39f63 g2 = v42; int32_t hFile2; // 0x1e39f75 if (v41 < 0) { // 0x1e39f72 *(int32_t *)(g9 - 4) = hFile; hFile2 = function_1e39d7e(v40, v42); g2 = hFile2; } else { hFile2 = v42; } int32_t * v43 = (int32_t *)(g9 - 4); // 0x1e3a00e if (v40 != 1) { // 0x1e3a00e *v43 = hFile2; int32_t v44 = function_1e25371(hFile2); // 0x1e3a011 g2 = v44; *(int32_t *)(g4 + 6) = v44; if (v44 == 0) { goto lab_0x1e3a065; } // 0x1e3a01d *(int32_t *)(g9 - 4) = hFile2; *(int32_t *)(g9 - 8) = v44; *(int32_t *)(g9 - 12) = hFile; g2 = _hread((int32_t)&g708, &g708, (int32_t)&g708); } else { // 0x1e39f87 *v43 = 14; g2 = v20; *(int32_t *)(g9 - 8) = v20; *(int32_t *)(g9 - 12) = hFile; g2 = _hread(hFile2, &g708, (int32_t)&g708); *(int32_t *)(g9 - 4) = 37; int32_t v45 = function_1e25371((int32_t)&g708); // 0x1e39f98 g2 = v45; g5 = v45; *(int32_t *)(g4 + 6) = v45; if (v45 == 0) { goto lab_0x1e3a065; } unsigned char v46; if ((v46 & 2) == 0) { // 0x1e39fc9 g7 = v22; *(int32_t *)(g9 - 4) = (int32_t)v46 & 1; *(int32_t *)(g9 - 8) = g7; g2 = v24; *(int32_t *)(g9 - 12) = v24; *(int32_t *)(g9 - 16) = v45; int32_t v47 = function_1e27346((int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e39fdd g2 = v47; if (v47 != 0) { goto lab_0x1e3a065; } } else { // 0x1e39fb0 g2 = v22; *(int32_t *)(g9 - 4) = v22; *(int32_t *)(g9 - 8) = v24; *(int32_t *)(g9 - 12) = v45; int32_t v48 = function_1e27332((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e39fbb g2 = v48; if (v48 != 0) { goto lab_0x1e3a065; } } // 0x1e39fe6 g5 = *(int32_t *)(g4 + 6); *(int32_t *)(g9 - 8) = *(int32_t *)(g5 + 8); *(int32_t *)(g9 - 12) = hFile; g2 = _hread((int32_t)&g708, &g708, (int32_t)&g708); int32_t v49 = *(int32_t *)(g4 + 6); // 0x1e39ff8 g5 = v49; g7 = v26; *(int32_t *)(v49 + 29) = v26; int32_t v50 = *(int32_t *)(g4 + 6); // 0x1e3a002 g5 = v50; g2 = v28; *(int32_t *)(v50 + 33) = v28; } // 0x1e3a02a g5 = g6 + 1; *(int32_t *)(g4 + 2) = hFile2; g4 += 10; *v3 = (int16_t)g5; int32_t v51 = v38 + 1; // 0x1e3a039 g2 = v33; if (v33 <= v51) { // break -> 0x1e3a052 break; } v38 = v51; } } // 0x1e3a052 g2 = v15; int32_t v52 = g6 + 1; // 0x1e3a05c g6 = v52; if (v14 <= (int16_t)v52) { // break -> 0x1e3a065 break; } } } goto lab_0x1e3a065; } else { // 0x1e39ed3 *(int32_t *)(g9 - 4) = v2; g2 = function_1e25401((int32_t)&g708); int32_t v53 = *(int32_t *)(v2 + 2); // 0x1e39ed9 g2 = v53; if (v53 != 0) { // 0x1e39ee4 *(int32_t *)(g9 - 4) = v53; g2 = function_1e25401((int32_t)&g708); } // 0x1e3a081 g2 = 0; result = 0; goto lab_0x1e3a083; } lab_0x1e3a065: // 0x1e3a065 *(int32_t *)(g9 - 4) = hFile; g2 = _lclose((int32_t)&g708); int32_t v54 = (int32_t)*v3; // 0x1e3a06e g5 = v54; g2 = v2; if (v54 == v15) { result = v2; goto lab_0x1e3a083; } else { // 0x1e3a07b *(int32_t *)(g9 - 4) = v2; g2 = function_1e39cc6((int32_t)&g708); // 0x1e3a081 g2 = 0; result = 0; goto lab_0x1e3a083; } } // Address range: 0x1e3a08c - 0x1e3a159 int32_t function_1e3a08c(int32_t a1, int32_t a2, int32_t a3) { // 0x1e3a08c g2 = a2; int32_t v1; // bp-1028 int32_t v2 = &v1; // 0x1e3a093 if (a2 == 0) { // 0x1e3a0a0 g2 = (int32_t)GetStockObject(15); } int32_t v3 = a1; // edx int32_t v4; // ebx int32_t result; int32_t v5; // 0x1e3a0cc if (a1 != 0) { int32_t v6 = *(int32_t *)(a1 + 32); // 0x1e3a0b6 v4 = v6; if (v6 == 0) { uint16_t v7 = *(int16_t *)(a1 + 14); // 0x1e3a0bd int32_t v8 = v7; // 0x1e3a0bd g5 = g5 & -0x10000 | v8; if (v7 < 9) { // 0x1e3a0c7 v4 = 1; uint32_t v9 = v8 & 31; // 0x1e3a0cc if (v9 != 0) { // bb v5 = 1 << v9; v4 = v5; } else { v5 = 1; } } else { v5 = v6; } } else { v5 = v6; } // 0x1e3a0ce if (v5 != 3) { goto lab_0x1e3a0db; } else { // 0x1e3a0d3 if (*(int32_t *)(a1 + 16) != 3) { goto lab_0x1e3a0db; } else { // 0x1e3a0db result = 1; goto lab_0x1e3a150; } } } else { // 0x1e3a0af result = 0; goto lab_0x1e3a150; } lab_0x1e3a0db:; // 0x1e3a0db int32_t v10; // 0x1e3a0e4 if (v5 < 1) { result = 1; goto lab_0x1e3a150; } else { // 0x1e3a0df g5 = a3; v10 = *(int32_t *)a1 + a1; if (a3 == 0) { goto lab_0x1e3a0f0; } else { // 0x1e3a0eb if (a3 < 3) { // 0x1e3a140 g2 = 0; *(int16_t *)v10 = (int16_t)0; int32_t v11 = g2 + 1; // 0x1e3a143 g2 = v11; while (v11 < v4) { // 0x1e3a140 v10 += 2; *(int16_t *)v10 = (int16_t)v11; v11 = g2 + 1; g2 = v11; } // 0x1e3a150 result = 1; goto lab_0x1e3a150; } else { goto lab_0x1e3a0f0; } } } lab_0x1e3a150: // 0x1e3a150 g2 = result; g6 = *(int32_t *)g9; g8 = *(int32_t *)(g9 + 4); g4 = *(int32_t *)(g9 + 8); return result; lab_0x1e3a0f0: // 0x1e3a0f0 g5 = 256; int32_t v12; // 0x1e3a0fb if (v5 >= 256) { // 0x1e3a0f9 v4 = 256; v12 = 256; } else { v12 = v5; } int32_t v13 = v12; // edi g5 = v2; *(int32_t *)(g9 - 4) = v2; *(int32_t *)(g9 - 8) = v13; *(int32_t *)(g9 - 12) = 0; *(int32_t *)(g9 - 16) = g2; int32_t v14 = GetPaletteEntries(&g708, (int32_t)&g708, (int32_t)&g708, (struct tagPALETTEENTRY *)&g708); // 0x1e3a108 g2 = v14; if (v4 >= 1) { int32_t v15 = v10 + 2; // 0x1e3a112 v10 = v15; g2 = v2; while (true) { unsigned char v16 = *(char *)v2; // 0x1e3a11b g5 = g5 & -256 | (int32_t)v16; g2 = v2 + 4; *(char *)v15 = v16; int32_t v17 = v10; // 0x1e3a122 v10 = v17 + 4; unsigned char v18 = *(char *)(g2 - 3); // 0x1e3a125 v3 = v3 & -256 | (int32_t)v18; int32_t v19 = v13 - 1; // 0x1e3a128 v13 = v19; *(char *)(v17 - 1) = v18; unsigned char v20 = *(char *)(g2 - 2); // 0x1e3a12c v4 = v4 & -256 | (int32_t)v20; *(char *)(v10 - 6) = v20; *(char *)(v10 - 3) = 0; if (v19 == 0) { result = 1; // break -> 0x1e3a150 break; } // 0x1e3a11b v15 = v10; v2 = g2; } } else { result = 1; } goto lab_0x1e3a150; } // Address range: 0x1e3a159 - 0x1e3a2a2 int32_t function_1e3a159(int32_t a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5, int32_t a6) { int32_t v1 = a1; // esi int32_t v2 = a2 * a1; // 0x1e3a167 int32_t v3 = (((v2 >> 31 & 7) + v2) / 8 + 3 & -4) * a3; // 0x1e3a17d int32_t dwBytes = v3 + 1064; // 0x1e3a180 g2 = dwBytes; int32_t * hMem = GlobalAlloc(66, dwBytes); // 0x1e3a189 int32_t v4 = (int32_t)hMem; // 0x1e3a189 g2 = v4; int32_t * v5 = GlobalLock(hMem); // 0x1e3a190 int32_t v6 = (int32_t)v5; // 0x1e3a190 g2 = v6; g5 = v6; int32_t result; if (v5 != NULL) { // 0x1e3a1a3 g2 = 0; *v5 = 40; *(int32_t *)(v6 + 4) = a2; *(int32_t *)(v6 + 8) = a3; *(int16_t *)(v6 + 12) = 1; *(int16_t *)(v6 + 14) = (int16_t)v1; *(int32_t *)(v6 + 16) = g2; *(int32_t *)(v6 + 20) = v3; *(int32_t *)(v6 + 24) = g2; *(int32_t *)(v6 + 28) = g2; int32_t * v7 = (int32_t *)(v6 + 32); // 0x1e3a1ca *v7 = g2; *(int32_t *)(v6 + 36) = g2; if (v1 != 4) { // 0x1e3a1db if (v1 == 8) { // 0x1e3a1e0 *v7 = 256; } } else { // 0x1e3a1d2 *v7 = 16; } int32_t v8 = *v5 + v6; // 0x1e3a1eb int32_t v9 = *v7; // 0x1e3a1ed int32_t v10 = (v9 >> 31 & 15) + v9; // 0x1e3a1f4 g2 = v10 / 16; if (v10 >= 16) { int32_t v11 = 4; // ebx v1 = 1; *(int32_t *)v8 = 0; int32_t v12 = v11 + v8; // 0x1e3a20b *(int32_t *)v12 = 0x800000; int32_t v13 = v11 + v12; // 0x1e3a213 *(int32_t *)v13 = 0x8000; int32_t v14 = v11 + v13; // 0x1e3a21b *(int32_t *)v14 = 0x808000; int32_t v15 = v11 + v14; // 0x1e3a223 *(int32_t *)v15 = 128; int32_t v16 = v11 + v15; // 0x1e3a22b *(int32_t *)v16 = 0x800080; int32_t v17 = v11 + v16; // 0x1e3a233 *(int32_t *)v17 = 0x8080; int32_t v18 = v11 + v17; // 0x1e3a23b *(int32_t *)v18 = 0xc0c0c0; int32_t v19 = v11 + v18; // 0x1e3a243 *(int32_t *)v19 = 0x808080; int32_t v20 = v11 + v19; // 0x1e3a24b *(int32_t *)v20 = 0xff0000; int32_t v21 = v11 + v20; // 0x1e3a253 *(int32_t *)v21 = 0xff00; int32_t v22 = v11 + v21; // 0x1e3a25b *(int32_t *)v22 = 0xffff00; int32_t v23 = v11 + v22; // 0x1e3a263 *(int32_t *)v23 = 255; int32_t v24 = v11 + v23; // 0x1e3a26b *(int32_t *)v24 = 0xff00ff; int32_t v25 = v11 + v24; // 0x1e3a273 *(int32_t *)v25 = 0xffff; int32_t v26 = v11 + v25; // 0x1e3a27b *(int32_t *)v26 = 0xffffff; int32_t v27 = *v7; // 0x1e3a285 int32_t v28 = ((v27 >> 31 & 15) + v27) / 16; // 0x1e3a28e g2 = v28; while (v28 > v1) { // 0x1e3a208 v8 = v11 + v26; v1++; *(int32_t *)v8 = 0; v12 = v11 + v8; *(int32_t *)v12 = 0x800000; v13 = v11 + v12; *(int32_t *)v13 = 0x8000; v14 = v11 + v13; *(int32_t *)v14 = 0x808000; v15 = v11 + v14; *(int32_t *)v15 = 128; v16 = v11 + v15; *(int32_t *)v16 = 0x800080; v17 = v11 + v16; *(int32_t *)v17 = 0x8080; v18 = v11 + v17; *(int32_t *)v18 = 0xc0c0c0; v19 = v11 + v18; *(int32_t *)v19 = 0x808080; v20 = v11 + v19; *(int32_t *)v20 = 0xff0000; v21 = v11 + v20; *(int32_t *)v21 = 0xff00; v22 = v11 + v21; *(int32_t *)v22 = 0xffff00; v23 = v11 + v22; *(int32_t *)v23 = 255; v24 = v11 + v23; *(int32_t *)v24 = 0xff00ff; v25 = v11 + v24; *(int32_t *)v25 = 0xffff; v26 = v11 + v25; *(int32_t *)v26 = 0xffffff; v27 = *v7; v28 = ((v27 >> 31 & 15) + v27) / 16; g2 = v28; } result = v6; } else { result = v6; } } else { result = 0; } // 0x1e3a29b g2 = result; g3 = v4; g6 = 66; return result; } // Address range: 0x1e3a2a2 - 0x1e3a358 int32_t function_1e3a2a2(int32_t a1, int32_t a2, int32_t a3) { // 0x1e3a2a2 g2 = a1; int32_t v1 = *(int32_t *)a1; // 0x1e3a2aa g5 = v1; int32_t v2 = *(int32_t *)(a1 + 4); // 0x1e3a2ad int32_t v3 = v2; // edx int32_t v4 = *(int32_t *)(a1 + 8); // 0x1e3a2b1 int32_t v5 = v4; // esi int32_t v6 = *(int32_t *)(a1 + 12); // 0x1e3a2b5 int32_t v7 = v6; // edi int32_t * v8 = (int32_t *)a2; // 0x1e3a2bc int32_t v9 = *v8; // 0x1e3a2bc g2 = v9; int32_t v10 = *(int32_t *)(a2 + 4); // 0x1e3a2bf int32_t v11 = *(int32_t *)(a2 + 8) + v9; // 0x1e3a2c2 g2 = v11; int32_t v12 = *(int32_t *)(a2 + 12) + v10; // 0x1e3a2cc int32_t v13 = v4 + v1; // 0x1e3a2d2 g2 = v13; int32_t v14 = *v8; // 0x1e3a2d9 g2 = v14; int32_t result; if (v13 < v14) { goto lab_0x1e3a34c; } else { if (v11 > v1) { int32_t v15 = v6 + v2; // 0x1e3a2e8 g2 = v15; if (v15 < v10) { goto lab_0x1e3a34c; } else { if (v12 > v2) { int32_t v16 = *v8; // 0x1e3a2f5 int32_t v17; // 0x1e3a2fd int32_t v18; // 0x1e3a2ff if (v1 < v16) { // 0x1e3a2fa v17 = v4 - v16 + v1; v5 = v17; v18 = *v8; g5 = v18; } else { v17 = v4; v18 = v1; } int32_t v19 = v18 + v17; // 0x1e3a302 g2 = v19; int32_t v20; // 0x1e3a30f if (v19 > v11) { // 0x1e3a30d v20 = v11 - v18; v5 = v20; } else { v20 = v17; } int32_t v21; // 0x1e3a317 if (v2 < v10) { // 0x1e3a315 v21 = v6 - v10 + v2; v7 = v21; v3 = v10; } else { v21 = v6; v10 = v2; } int32_t v22 = v10 + v21; // 0x1e3a31b g2 = v22; int32_t v23; // 0x1e3a328 if (v22 > v12) { // 0x1e3a324 v23 = v12 - v10; v7 = v23; } else { v23 = v21; } if (v20 == 0) { goto lab_0x1e3a34c; } else { if (v23 == 0) { goto lab_0x1e3a34c; } else { // 0x1e3a332 g2 = a3; if (a3 != 0) { // 0x1e3a33a *(int32_t *)a3 = v18; *(int32_t *)(a3 + 4) = v3; *(int32_t *)(a3 + 8) = v5; *(int32_t *)(a3 + 12) = v7; result = 1; } else { result = 1; } goto lab_0x1e3a34e; } } } else { goto lab_0x1e3a34c; } } } else { goto lab_0x1e3a34c; } } lab_0x1e3a34c: result = 0; goto lab_0x1e3a34e; lab_0x1e3a34e: // 0x1e3a34e g2 = result; return result; }