#include "pinball.h" // Address range: 0x1e2d5ca - 0x1e2d5e1 int32_t function_1e2d5ca(int32_t a1) { // 0x1e2d5ca g2 = a1; int32_t result; if (a1 < 3) { // 0x1e2d5d7 result = *(int32_t *)(4 * a1 + 130 + g5); } else { result = 0; } // 0x1e2d5de g2 = result; return result; } // Address range: 0x1e2d5e1 - 0x1e2d5f8 int32_t function_1e2d5e1(int32_t a1, int32_t a2) { // 0x1e2d5e1 g2 = a1; int32_t result; // 0x1e2d5f5 if (a1 < 3) { // 0x1e2d5ea *(int32_t *)(4 * a1 + 130 + g5) = a2; result = g2; } else { result = a1; } // 0x1e2d5f5 return result; } // Address range: 0x1e2d5f8 - 0x1e2d62f int32_t function_1e2d5f8(int32_t a1, int32_t a2) { int32_t v1 = g8; // 0x1e2d5f8 function_1e2a3f7(a1, a2, 1, v1); g2 = 0; *(int32_t *)g8 = (int32_t)&g51; *(int32_t *)(g8 + 86) = g2; int32_t v2 = function_1e3991a(v1, 0); // 0x1e2d61f g2 = v2; int32_t v3 = *(int32_t *)v2; // 0x1e2d624 g5 = v3; g2 = g8; *(int32_t *)(g8 + 78) = v3; return g2; } // Address range: 0x1e2d62f - 0x1e2d64d int32_t function_1e2d62f(char a1) { // 0x1e2d62f g2 = function_1e2a4cb(); if ((a1 & 1) != 0) { // 0x1e2d63e g2 = function_1e3df60(g8); } // 0x1e2d647 g2 = g8; return g8; } // Address range: 0x1e2d64d - 0x1e2d686 int32_t function_1e2d64d(int32_t a1) { int32_t v1 = g5; // 0x1e2d650 g8 = v1; g5 = a1; g2 = *(int32_t *)a1; int32_t v2 = *(int32_t *)(v1 + 30); // 0x1e2d65f g5 = v2; *(int32_t *)(v2 + 78) = 1; int32_t v3 = function_1e325d2(*(int32_t *)(g8 + 78), v1, 0x1e2d6b7); // 0x1e2d672 g2 = v3; int32_t v4 = g8; // 0x1e2d677 *(int32_t *)(v4 + 86) = v3; int32_t result = function_1e328b9(63, v4); // 0x1e2d67d g2 = result; return result; } // Address range: 0x1e2d686 - 0x1e2d6b7 int32_t function_1e2d686(int32_t a1) { int32_t v1 = g5; // 0x1e2d690 g8 = v1; if (a1 != 1024) { // 0x1e2d6b0 g2 = 0; return 0; } int32_t v2 = *(int32_t *)(v1 + 86); // 0x1e2d694 g2 = v2; int32_t v3; // 0x1e2d6a6 if (v2 != 0) { // 0x1e2d69d g2 = function_1e32771(v2); *(int32_t *)(g8 + 86) = 0; v3 = g8; } else { v3 = v1; } int32_t v4 = *(int32_t *)(v3 + 30); // 0x1e2d6a6 g5 = v4; *(int32_t *)(v4 + 78) = 0; // 0x1e2d6b0 g2 = 0; return 0; } // Address range: 0x1e2d6b7 - 0x1e2d6c5 int32_t function_1e2d6b7(int32_t a1) { int32_t result = function_1e328b9(60, a1); // 0x1e2d6bd g2 = result; return result; } // Address range: 0x1e2d6c5 - 0x1e2d775 int32_t function_1e2d6c5(int32_t a1, int32_t a2) { // 0x1e2d6c5 int32_t v1; // bp-80 int32_t v2 = v1; // 0x1e2d6c8 int32_t v3 = g6; // 0x1e2d6cd g6 = a1; g4 = 0; function_1e2a3f7(a1, a2, 1, v3); g2 = v2; *(int32_t *)g8 = (int32_t)&g52; function_1e39641(a2, g4, v2); *(int32_t *)(g8 + 102) = g5; int32_t v4; // edx *(int32_t *)(g8 + 74) = v4; *(int32_t *)(g8 + 82) = g4; *(int32_t *)(g8 + 78) = g4; int32_t v5 = g8; // 0x1e2d70b g2 = *(int32_t *)(v5 + 34); *(int32_t *)(v5 + 62) = g4; *(int32_t *)(g8 + 66) = 0x4e6e6b28; *(int32_t *)(g8 + 86) = 100; g5 = *(int32_t *)(g2 + 4); g11--; *(int32_t *)(g8 + 90) = __ftol(); g2 = 0x3f000000; *(int32_t *)(g8 + 54) = 0x3f000000; *(int32_t *)(g8 + 58) = g2; *(int32_t *)(g8 + 94) = 0x3ccccccd; int32_t v6 = function_1e3991a(a2, g4); // 0x1e2d754 g2 = v6; int32_t v7 = *(int32_t *)v6; // 0x1e2d759 g5 = v7; *(int32_t *)(g6 + 286) = v7; int32_t v8 = *(int32_t *)(g2 + 4); // 0x1e2d761 g2 = g8; *(int32_t *)(g6 + 290) = v8; g6 = a2; g4 = 601; return g2; } // Address range: 0x1e2d775 - 0x1e2d793 int32_t function_1e2d775(char a1) { // 0x1e2d775 g2 = function_1e2a4cb(); if ((a1 & 1) != 0) { // 0x1e2d784 g2 = function_1e3df60(g8); } // 0x1e2d78d g2 = g8; return g8; } // Address range: 0x1e2d793 - 0x1e2d7a9 int32_t function_1e2d793(int32_t a1) { // 0x1e2d793 g5 = a1; g2 = 0; *(int32_t *)(a1 + 78) = 0; int32_t result = *(int32_t *)g5; // 0x1e2d7a2 g2 = result; return result; } // Address range: 0x1e2d7a9 - 0x1e2d929 int32_t function_1e2d7a9(uint32_t a1) { int32_t v1 = g5; // 0x1e2d7af g8 = v1; g699 = a1; g2 = a1 - 1004; g5 = (int32_t)*(char *)(a1 + 0x1e2d55d); if (a1 >= 6) { // 0x1e2d91d g2 = 0; return 0; } // 0x1e2d7d3 g6 = 0; if (*(int32_t *)(v1 + 78) == 0) { // 0x1e2d7de *(int32_t *)(v1 + 66) = 0x4e6e6b28; *(int32_t *)(g8 + 62) = g6; g2 = function_1e39a10(*(int32_t *)(v1 + 74)); g11++; g2 = function_1e2d95e(g6, g8); } // 0x1e2d91d g2 = 0; return 0; } // Address range: 0x1e2d95e - 0x1e2da04 int32_t function_1e2d95e(int32_t a1, int32_t a2) { int32_t v1 = g3; // bp-4 g3 = v1; g8 = a1; int32_t v2 = *(int32_t *)(a1 + 90); // 0x1e2d969 int32_t v3 = a1 + 62; // 0x1e2d96c g6 = v3; float32_t * v4 = (float32_t *)v3; // 0x1e2d96f *v4 = (float32_t)((float80_t)v2 + (float80_t)*v4); int32_t v5 = *(int32_t *)(g8 + 86); // 0x1e2d973 uint32_t v6 = (int32_t)__asm_fnstsw(g10); // 0x1e2d97c g2 = (g2 & -0x10000) | v6; if ((v6 / 256 & 1) == 0) { int32_t v7 = g8; // 0x1e2d994 int32_t v8 = function_1e325d2(*(int32_t *)(v7 + 94), v7, 0x1e2d95e); // 0x1e2d998 g2 = v8; *(int32_t *)(g8 + 78) = v8; } else { // 0x1e2d981 g2 = v5; *(int32_t *)g6 = v5; *(int32_t *)(g8 + 78) = 0; } float32_t v9 = *(float32_t *)g6; // 0x1e2d9a0 int32_t v10 = g8; // 0x1e2d9a2 int32_t v11 = *(int32_t *)(v10 + 86); // 0x1e2d9a2 int32_t v12 = *(int32_t *)(v10 + 34); // 0x1e2d9a5 g5 = v12; int32_t v13 = *(int32_t *)(v12 + 4); // 0x1e2d9ab g7 = v13; int32_t v14 = *(int32_t *)(v13 + 4) - 1; // 0x1e2d9b1 g2 = v14; *(float64_t *)(g9 - 8) = (float64_t)((float80_t)v9 / (float80_t)v11 * (float80_t)v14); g2 = function_1e3dbc0(v14, (int32_t)&g708, (int32_t)&g708); int32_t v15 = __ftol(); // 0x1e2d9c3 g2 = v15; int32_t v16 = *(int32_t *)(g8 + 34); // 0x1e2d9c8 g5 = v16; int32_t v17 = *(int32_t *)(4 * v15 + 8 + *(int32_t *)(v16 + 4)); // 0x1e2d9ce int32_t v18 = *(int32_t *)(g8 + 30); // 0x1e2d9d2 int32_t v19 = *(int32_t *)(v17 + 33); // 0x1e2d9d5 g5 = v19; int32_t v20 = v19 - *(int32_t *)(v18 + 238); // 0x1e2d9d8 g5 = v20; *(int32_t *)(g9 - 4) = v20; int32_t v21 = *(int32_t *)(v17 + 29); // 0x1e2d9df g5 = v21; int32_t v22 = v21 - *(int32_t *)(v18 + 234); // 0x1e2d9e2 g5 = v22; *(int32_t *)(g9 - 8) = v22; int32_t v23 = *(int32_t *)(*(int32_t *)(g8 + 38) + 4); // 0x1e2d9ec g5 = v23; *(int32_t *)(g9 - 12) = *(int32_t *)(v23 + 8 + 4 * g2); *(int32_t *)(g9 - 16) = v17; *(int32_t *)(g9 - 20) = *(int32_t *)(g8 + 26); int32_t result = function_1e29a04((int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e2d9f7 g2 = result; return result; } // Address range: 0x1e2da04 - 0x1e2da6d int32_t function_1e2da04(int32_t a1, int32_t a2, int32_t a3) { int32_t v1 = g5; // 0x1e2da0b int32_t v2 = *(int32_t *)(v1 + 30); // 0x1e2da0b g2 = v2; if (*(int32_t *)(v2 + 370) != 0) { // 0x1e2da19 g2 = v1; } int32_t v3 = function_1e3df30(); // 0x1e2da2a g2 = v3; float80_t v4 = (float80_t)*(float32_t *)(v1 + 62); *(float32_t *)(g9 - 4) = (float32_t)(v4 + 0.1L * v4 * 3.05185094759971922707e-5L * (float80_t)v3); *(int32_t *)(g9 - 4) = *(int32_t *)(g8 + 66); *(int32_t *)(g9 - 8) = *(int32_t *)(g8 + 58); *(int32_t *)(g9 - 12) = *(int32_t *)(g8 + 54); *(int32_t *)(g9 - 16) = a3; *(int32_t *)(g9 - 20) = a2; *(int32_t *)(g9 - 24) = a1; float80_t v5 = function_1e2f084(v3, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e2da5f g2 = (float32_t)v5; return (float32_t)v5; } // Address range: 0x1e2da6d - 0x1e2da82 int32_t function_1e2da6d(int32_t a1) { // 0x1e2da6d g2 = a1; *(int32_t *)(a1 + 66) = 0x4e6e6b28; *(int32_t *)(g2 + 62) = 0; return g2; } // Address range: 0x1e2da82 - 0x1e2dd91 int32_t function_1e2da82(int32_t a1) { // 0x1e2da82 int32_t v1; // bp-104 int32_t v2 = v1; // 0x1e2da85 int32_t v3 = g6; // 0x1e2da8a g4 = 0; g6 = a1; g2 = function_1e2a3f7(a1, -1, 0, v3); char * v4 = "table"; // bp-132 *(int32_t *)g8 = (int32_t)&g53; int32_t v5 = function_1e392c2((int32_t)v4); // 0x1e2daa6 int32_t v6; // bp-88 int32_t v7 = v6; // 0x1e2daae g2 = v7; g2 = function_1e39641(v5, g4, v7); int32_t v8 = function_1e3991a(v5, g4); // 0x1e2dac4 g2 = v8; g2 = function_1e39aaf(*(int32_t *)v8, *(int32_t *)(v8 + 4)); int32_t v9 = g4; // 0x1e2dad3 int32_t v10; g2 = function_1e299e2(v10, v9, v9); v1 = g4; int32_t v11 = g5; // 0x1e2daed g2 = *(int32_t *)(v11 + 12); int32_t v12 = g4; // 0x1e2daf0 g2 = *(int32_t *)(v11 + 16); g2 = function_1e298eb(v12, v11, v10, v12, v12, v2); g5 = *(int32_t *)(g8 + 30); g5 = *(int32_t *)(g8 + 30); g5 = *(int32_t *)(g8 + 30); int32_t v13 = function_1e3991a(v5, g4); // 0x1e2db29 g2 = v13; int32_t v14 = *(int32_t *)(g8 + 30); // 0x1e2db57 if (v13 == 0) { // 0x1e2db57 g2 = v14; *(int32_t *)(v14 + 270) = 0x41c80000; int32_t v15 = *(int32_t *)(g8 + 30); // 0x1e2db64 g2 = v15; *(int32_t *)(v15 + 274) = 0x3f000000; int32_t v16 = *(int32_t *)(g8 + 30); // 0x1e2db71 g2 = v16; *(int32_t *)(v16 + 278) = 0x3fc90fd8; } else { // 0x1e2db32 g5 = v14; *(int32_t *)(v14 + 270) = *(int32_t *)v13; int32_t v17 = *(int32_t *)(g8 + 30); // 0x1e2db3d g5 = v17; *(int32_t *)(v17 + 274) = *(int32_t *)(v13 + 4); int32_t v18 = *(int32_t *)(g8 + 30); // 0x1e2db49 g5 = v18; int32_t v19 = *(int32_t *)(v13 + 8); // 0x1e2db4c g2 = v19; *(int32_t *)(v18 + 278) = v19; } int32_t v20 = g8; // 0x1e2db7e int32_t v21 = *(int32_t *)(v20 + 30); // 0x1e2db7e int32_t v22 = v21 + 278; // 0x1e2db81 int32_t v23 = v21 + 274; // 0x1e2db87 g5 = v23; int32_t v24 = v21 + 270; // 0x1e2db8d g2 = v24; float80_t v25 = (float80_t)*(float32_t *)v23; // 0x1e2db92 float80_t v26; if (fabsl(v25) < 9223372036854775808.0L) { // bb v26 = sinl(v25); } else { v26 = v25; } float80_t v27 = (float80_t)*(float32_t *)v22; // 0x1e2db99 float80_t v28; if (fabsl(v27) < 9223372036854775808.0L) { // bb95 v28 = cosl(v27); } else { v28 = v27; } float80_t v29 = v26 * v28 * (float80_t)*(float32_t *)v24; // 0x1e2dba0 *(float32_t *)(v20 + 98) = (float32_t)v29; float80_t v30 = (float80_t)*(float32_t *)v22; // 0x1e2dba5 float80_t v31; if (fabsl(v30) < 9223372036854775808.0L) { // bb97 v31 = sinl(v30); } else { v31 = v30; } float80_t v32 = (float80_t)*(float32_t *)g5; // 0x1e2dbb6 float80_t v33; if (fabsl(v32) < 9223372036854775808.0L) { // bb99 v33 = sinl(v32); } else { v33 = v32; } float80_t v34 = v31 * v33 * (float80_t)*(float32_t *)g2; // 0x1e2dbbd *(float32_t *)(g8 + 102) = (float32_t)v34; int32_t v35 = function_1e3991a(v5, 0); // 0x1e2dbc2 g2 = v35; if (v35 == 0) { // 0x1e2dbd2 *(int32_t *)(g8 + 110) = 0x3e4ccccd; } else { int32_t v36 = *(int32_t *)v35; // 0x1e2dbcb g2 = v36; *(int32_t *)(g8 + 110) = v36; } // 0x1e2dbd9 int32_t v37; int32_t v38 = *(int32_t *)(v37 + 29); // 0x1e2dbdc g5 = v38; *(int32_t *)(g6 + 234) = v38; *(int32_t *)(g6 + 238) = *(int32_t *)(g2 + 33); *(int32_t *)(g6 + 242) = *(int32_t *)(g2 + 12); *(int32_t *)(g6 + 246) = *(int32_t *)(g2 + 16); int32_t v39 = g2; // 0x1e2dc06 float32_t * v40; int32_t v41 = (int32_t)v40; // 0x1e2dc09 g6 = v41; *(int32_t *)(g8 + 66) = g5; *(int32_t *)(g8 + 62) = 0x41700000; int32_t v42 = g6; // 0x1e2dc16 int32_t v43 = v42 + 16; // 0x1e2dc19 g5 = v43; float80_t v44 = (float80_t)*(float32_t *)(v42 + 8); // st7 uint32_t v45 = (int32_t)__asm_fnstsw(g10); // 0x1e2dc22 g2 = (g2 & -0x10000) | v45; if ((v45 / 256 & 65) != 0) { // 0x1e2dc27 v44 = (float80_t)*(float32_t *)v43; } // 0x1e2dc29 g2 = v41; g2 = (g2 & -0x10000) | (int32_t)__asm_fnstsw(g10); *(float32_t *)(g8 + 82) = (float32_t)v44; __asm_fnstsw(g10); g2 = v41; g2 = (g2 & -0x10000) | (int32_t)__asm_fnstsw(g10); *(float32_t *)(g8 + 90) = (float32_t)(float80_t)*v40; g4 = v41 + 20; g7 = v41 + 12; g5 = v41; g2 = (g2 & -0x10000) | (int32_t)__asm_fnstsw(g10); int32_t v46 = g5 + 4; // 0x1e2dc77 g5 = v46; g2 = (g2 & -0x10000) | (int32_t)__asm_fnstsw(g10); *(float32_t *)(g8 + 86) = (float32_t)(float80_t)*(float32_t *)v46; g2 = (g2 & -0x10000) | (int32_t)__asm_fnstsw(g10); g2 = (g2 & -0x10000) | (int32_t)__asm_fnstsw(g10); *(float32_t *)(g8 + 94) = (float32_t)(float80_t)*(float32_t *)g5; int32_t v47 = function_1e3df20(4036); // 0x1e2dcb5 g2 = v47; float32_t * v48; if (v47 != 0) { int32_t v49 = g8; // 0x1e2dcc1 float80_t v50 = (float80_t)*(float32_t *)(v49 + 94); // 0x1e2dcc1 int32_t v51 = v49 + 86; // 0x1e2dcc4 float80_t v52 = v50 - (float80_t)*(float32_t *)v51; // 0x1e2dcc4 float80_t v53 = (float80_t)*(float32_t *)(v49 + 90); // 0x1e2dccd int32_t v54 = v49 + 82; // 0x1e2dcd0 float80_t v55 = v53 - (float80_t)*(float32_t *)v54; // 0x1e2dcd0 g5 = v47; int32_t v56 = *(int32_t *)v54; // 0x1e2dcde int32_t v57 = function_1e30e52(v56, *(int32_t *)v51, v55, v52); // 0x1e2dce1 g2 = v57; v48 = (float32_t *)v57; } else { v48 = NULL; } // 0x1e2dcf7 g563 = v48; if (v39 > 0) { // 0x1e2dcfd g2 = v39; while (true) { // 0x1e2dd03 *(int32_t *)(g9 - 4) = 85; g4 = 0; int32_t v58 = function_1e3df20(v39); // 0x1e2dd0a g2 = v58; g5 = v58; int32_t v59; // 0x1e2dd32 if (v58 == 0) { // 0x1e2dd03 v59 = g4; } else { // 0x1e2dd18 *(int32_t *)g9 = *(int32_t *)(g6 + 4); *(int32_t *)(g9 - 4) = *(int32_t *)g6; *(int32_t *)(g9 - 8) = *(int32_t *)(g6 + 12); *(int32_t *)(g9 - 12) = *(int32_t *)(g6 + 8); *(int32_t *)(g9 - 20) = g8 + 5; *(int32_t *)(g9 - 24) = g8; int32_t v60 = function_1e3053c((int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e2dd2b g2 = v60; g4 = v60; v59 = v60; } // 0x1e2dd32 g2 = *(int32_t *)v59; g5 = v59; int32_t v61 = g8; // 0x1e2dd39 int32_t v62 = *(int32_t *)(v61 + 46); // 0x1e2dd39 g5 = v62; int32_t v63 = *(int32_t *)v62; // 0x1e2dd3c g2 = v63; int32_t v64; // 0x1e2dd4f if (*(int32_t *)(v62 + 4) == v63) { // 0x1e2dd43 *(int32_t *)(g9 - 4) = *(int32_t *)(v61 + 42); *(int32_t *)(g9 - 8) = g5; int32_t v65 = function_1e3a739((int32_t)&g708, (int32_t)&g708); // 0x1e2dd47 g2 = v65; *(int32_t *)(g8 + 46) = v65; v64 = g4; } else { v64 = v59; } // 0x1e2dd4f *(int32_t *)(g9 - 4) = v64; g6 += 8; *(int32_t *)(g9 - 8) = *(int32_t *)(g8 + 46); g2 = function_1e3a6a7((int32_t)&g708, (int32_t)&g708); int32_t v66 = v39 - 1; // 0x1e2dd5b if (v66 == 0) { // break -> 0x1e2dd60 break; } v39 = v66; } } int32_t v67 = g8; // 0x1e2dd60 int32_t v68 = v67 + 114; // 0x1e2dd60 g2 = v68; g5 = v67 + 5; *(int32_t *)(g9 - 4) = v68; int32_t v69 = g8; // 0x1e2dd67 *(int32_t *)(v69 + 122) = v69; *(int32_t *)(g9 - 4) = 0; *(int32_t *)g2 = g5; *(int32_t *)(g9 - 4) = *(int32_t *)(g8 + 90); *(int32_t *)(g9 - 8) = *(int32_t *)(g8 + 94); *(int32_t *)(g9 - 12) = *(int32_t *)(g8 + 82); *(int32_t *)(g9 - 16) = *(int32_t *)(g8 + 86); *(int32_t *)(g8 + 118) = -1; function_1e320db((int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708); g2 = g8; g6 = *(int32_t *)g9; return g8; } // Address range: 0x1e2dd91 - 0x1e2ddaf int32_t function_1e2dd91(char a1) { // 0x1e2dd91 g8 = g5; int32_t v1; // esi g2 = function_1e2de00(v1); if ((a1 & 1) != 0) { // 0x1e2dda0 g2 = function_1e3df60(g8); } // 0x1e2dda9 g2 = g8; return g8; } // Address range: 0x1e2ddaf - 0x1e2de00 int32_t function_1e2ddaf(int32_t a1, int32_t a2) { int32_t v1; // ebp g3 = v1; g6 = g5; int32_t v2 = function_1e3df30(); // 0x1e2ddbc g2 = a2; float32_t v3 = *(float32_t *)(g8 + 54); // 0x1e2ddd6 float32_t v4 = *(float32_t *)(g6 + 110); // 0x1e2ddd9 float32_t v5 = *(float32_t *)(g8 + 66); // 0x1e2dddc float32_t v6 = *(float32_t *)(g6 + 98); // 0x1e2dddf *(float32_t *)a2 = (float32_t)((float80_t)v6 - (0.5L - 3.05185094759971922707e-5L * (float80_t)v2 + (float80_t)v3) * (float80_t)v4 * (float80_t)v5); float32_t v7 = *(float32_t *)(g8 + 58); // 0x1e2dde4 float32_t v8 = *(float32_t *)(g6 + 110); // 0x1e2dde7 float32_t v9 = *(float32_t *)(g8 + 66); // 0x1e2ddea float32_t v10 = *(float32_t *)(g6 + 102); // 0x1e2dded *(float32_t *)(g2 + 4) = (float32_t)((float80_t)v10 - (float80_t)v7 * (float80_t)v8 * (float80_t)v9); g2 = 1; return 1; } // Address range: 0x1e2de00 - 0x1e2de2e int32_t function_1e2de00(int32_t a1) { int32_t v1 = g8; // 0x1e2de00 int32_t v2 = g6; // bp-8 *(int32_t *)g5 = (int32_t)&g53; int32_t v3 = g5; // 0x1e2de08 g6 = v3; int32_t v4 = (int32_t)g563; // 0x1e2de0a g8 = v4; int32_t v5; // 0x1e2de24 if (g563 != NULL) { // 0x1e2de14 g5 = v4; g2 = function_1e30f8d(v2, v1); g2 = function_1e3df60(v4); v5 = g6; } else { v5 = v3; } // 0x1e2de24 g5 = v5; int32_t result = function_1e2a4cb(); // 0x1e2de26 g2 = result; g6 = v2; g8 = v1; return result; } // Address range: 0x1e2de2e - 0x1e2dec9 int32_t function_1e2de2e(int32_t a1) { int32_t v1 = g5; // 0x1e2de30 g4 = v1 + 102; *(int32_t *)v1 = (int32_t)&g54; g8 = g5; g6 = 4; g3 = 0; int32_t v2 = 4; // 0x1e2de5511 int32_t v3 = g4; // 0x1e2de44 while (true) { int32_t v4 = *(int32_t *)v3; // 0x1e2de44 g2 = v4; int32_t v5; // 0x1e2de52 int32_t v6; // 0x1e2de55 if (v4 != 0) { // 0x1e2de4a *(int32_t *)(g9 - 4) = v4; g2 = function_1e2f33a((int32_t)&g708); *(int32_t *)g4 = g3; v6 = g6; v5 = g4; } else { v6 = v2; v5 = v3; } int32_t v7 = v5 + 28; // 0x1e2de52 g4 = v7; int32_t v8 = v6 - 1; // 0x1e2de55 g6 = v8; if (v8 == 0) { // break -> 0x1e2de58 break; } v2 = v8; v3 = v7; } int32_t v9 = g8; // 0x1e2de58 int32_t v10 = *(int32_t *)(v9 + 58); // 0x1e2de58 g2 = v10; g6 = 0; int32_t v11; // 0x1e2de6a if (v10 != 0) { // 0x1e2de61 *(int32_t *)(g9 - 4) = v10; g2 = function_1e2f33a((int32_t)&g708); *(int32_t *)(g8 + 58) = g6; v11 = g8; } else { v11 = v9; } int32_t v12 = *(int32_t *)(v11 + 54); // 0x1e2de6a g2 = v12; g6 = 0; int32_t v13; // 0x1e2de7c if (v12 != 0) { // 0x1e2de73 *(int32_t *)(g9 - 4) = v12; g2 = function_1e2f33a((int32_t)&g708); *(int32_t *)(g8 + 54) = g6; v13 = g8; } else { v13 = v11; } int32_t v14 = *(int32_t *)(v13 + 266); // 0x1e2de7c g5 = v14; int32_t v15; // 0x1e2de8d if (v14 != 0) { // 0x1e2de86 *(int32_t *)(g9 - 4) = 1; g2 = *(int32_t *)v14; v15 = g8; } else { v15 = v13; } int32_t v16 = v15 + 254; // 0x1e2de8d g6 = v16; int32_t v17 = *(int32_t *)v16; // 0x1e2de933 g2 = v17; int32_t v18; // 0x1e2deab if (*(int32_t *)(v17 + 4) != 0) { while (true) { int32_t v19 = *(int32_t *)(v17 + 8); // 0x1e2de9b g5 = v19; int32_t v20; // 0x1e2de93 if (v19 != 0) { // 0x1e2dea2 *(int32_t *)(g9 - 4) = 1; g2 = *(int32_t *)v19; v20 = g6; } else { v20 = v16; } int32_t v21 = *(int32_t *)v20; // 0x1e2de93 g2 = v21; if (*(int32_t *)(v21 + 4) == 0) { // break -> 0x1e2de93 break; } v16 = v20; v17 = v21; } // 0x1e2de93 v18 = g8; } else { v18 = v15; } // 0x1e2deab *(int32_t *)(g9 - 4) = *(int32_t *)(v18 + 262); g2 = function_1e3a728((int32_t)&g708); *(int32_t *)(g9 - 4) = *(int32_t *)g6; g2 = function_1e3a728((int32_t)&g708); g5 = g8; int32_t result = function_1e2a201(); // 0x1e2debf g2 = result; g3 = *(int32_t *)g9; g6 = *(int32_t *)(g9 + 4); g8 = *(int32_t *)(g9 + 8); return result; } // Address range: 0x1e2dec9 - 0x1e2dee7 int32_t function_1e2dec9(char a1) { // 0x1e2dec9 int32_t v1; // esi g2 = function_1e2de2e(v1); if ((a1 & 1) != 0) { // 0x1e2ded8 g2 = function_1e3df60(g8); } // 0x1e2dee1 g2 = g8; return g8; } // Address range: 0x1e2dee7 - 0x1e2defd int32_t function_1e2dee7(int32_t a1) { // 0x1e2dee7 g5 = a1; g2 = 0; *(int32_t *)(a1 + 90) = 0; int32_t result = *(int32_t *)g5; // 0x1e2def6 g2 = result; return result; } // Address range: 0x1e2defd - 0x1e2df7f int32_t function_1e2defd(int32_t a1, int32_t a2) { int32_t v1 = g6; // 0x1e2df03 g6 = a1 + 254; *(int32_t *)(a1 + 94) = 0; g2 = function_1e26224(g3, v1, g8); int32_t v2 = g6; // 0x1e2df15 int32_t v3 = *(int32_t *)v2; // 0x1e2df15 g2 = v3; int32_t v4 = *(int32_t *)(v3 + 4) - 1; // 0x1e2df1a g2 = v4; int32_t v5 = 4 * v4; // 0x1e2df1b g3 = v5; int32_t v6; if (v5 >= 0) { int32_t v7 = g9; // 0x1e2df28 g2 = *(int32_t *)v2; *(int32_t *)(v7 - 4) = 0; int32_t v8 = g3; // 0x1e2df2a g5 = *(int32_t *)(g2 + 8 + v8); g3 = v8 - 4; int32_t v9 = v7 - 8; // 0x1e2df31 *(int32_t *)v9 = 1022; g2 = *(int32_t *)g5; while (g3 >= 0) { // 0x1e2df26 v7 = v9; g2 = *(int32_t *)g6; *(int32_t *)(v7 - 4) = 0; v8 = g3; g5 = *(int32_t *)(g2 + 8 + v8); g3 = v8 - 4; v9 = v7 - 8; *(int32_t *)v9 = 1022; g2 = *(int32_t *)g5; } v6 = v9; } else { v6 = g9; } int32_t v10 = *(int32_t *)(g8 + 230); // 0x1e2df3c g5 = v10; int32_t v11; // 0x1e2df4a if (v10 != 0) { // 0x1e2df46 *(int32_t *)(v6 - 4) = 0; g2 = *(int32_t *)v10; v11 = v6 - 8; *(int32_t *)v11 = 1022; } else { v11 = v6; } // 0x1e2df51 g2 = g201; *(int32_t *)(v11 - 4) = g201; *(int32_t *)(v11 - 8) = 67; g2 = function_1e328b9((int32_t)&g708, (int32_t)&g708); *(int32_t *)(g9 - 4) = -0x40800000; *(int32_t *)(g9 - 8) = 0; *(int32_t *)(g9 - 12) = 24; int32_t v12 = function_1e25763((int32_t)&g708); // 0x1e2df67 g2 = v12; *(int32_t *)(g9 - 4) = v12; g5 = g200; int32_t result = function_1e2fbc7((int32_t)&g708, (int32_t)&g708); // 0x1e2df73 g2 = result; g3 = *(int32_t *)g9; g6 = *(int32_t *)(g9 + 4); return result; } // Address range: 0x1e2df7f - 0x1e2e676 int32_t function_1e2df7f(int32_t a1, int32_t a2) { int32_t v1 = a1 - 1000; // 0x1e2df86 g700 = v1; g2 = v1; int32_t v2 = g6; // bp-28 int32_t v3 = v2; // 0x1e2df93 int32_t v4 = g5; // 0x1e2df94 g8 = v4; g5 = (int32_t)*(char *)(a1 + (int32_t)&g14 - 1000); int32_t v5; // ebx int32_t v6; // edi int32_t v7; int32_t v8; // 0x1e2e355 switch (a1) { case 1000: { // 0x1e2dfaa if (*(int32_t *)(v4 + 370) == 0) { // 0x1e2dfb7 g5 = *(int32_t *)(v4 + 42); } goto lab_0x1e2e663; } case 1001: { // 0x1e2dfc8 if (*(int32_t *)(v4 + 370) == 0) { // 0x1e2dfd5 g5 = *(int32_t *)(v4 + 42); } goto lab_0x1e2e663; } case 1002: { // 0x1e2dfe6 if (*(int32_t *)(v4 + 370) == 0) { // 0x1e2dff3 g5 = *(int32_t *)(v4 + 46); } goto lab_0x1e2e663; } case 1003: { // 0x1e2e004 if (*(int32_t *)(v4 + 370) == 0) { // 0x1e2e011 g5 = *(int32_t *)(v4 + 46); } goto lab_0x1e2e663; } case 1004: { goto lab_0x1e2e022; } case 1005: { goto lab_0x1e2e022; } case 1008: { goto lab_0x1e2e037; } case 1009: { goto lab_0x1e2e037; } case 1010: { goto lab_0x1e2e037; } case 1012: { // 0x1e2e06a g5 = *(int32_t *)(v4 + 266); int32_t v9 = v4 + 370; // 0x1e2e079 g2 = v9; if (*(int32_t *)v9 != 0) { // branch -> 0x1e2e663 } goto lab_0x1e2e663; } case 1013: { int32_t * v10 = (int32_t *)(v4 + 266); // 0x1e2e0aa int32_t v11 = *v10; // 0x1e2e0aa g5 = v11; g2 = *(int32_t *)v11; int32_t v12 = *v10; // 0x1e2e0b3 g5 = v12; g2 = *(int32_t *)v12; g5 = *(int32_t *)(v4 + 222); int32_t v13 = *(int32_t *)(v4 + 230); // 0x1e2e0cf g2 = v13; int32_t v14 = function_1e25763(*(char *)(v13 + 5) == 0 ? 26 : 30); // 0x1e2e0e4 g2 = v14; g5 = g200; g2 = function_1e2fbc7(v14, (int32_t)&g708); int32_t v15 = *(int32_t *)g8; // 0x1e2e0f5 g5 = v15; if (v15 != 0) { // 0x1e2e0ff g2 = *(int32_t *)v15; } goto lab_0x1e2e663; } case 1014: { int32_t v16 = *(int32_t *)(v4 + 94); // 0x1e2e10f g2 = v16; int32_t v17; // 0x1e2e151 if (v16 != 0) { // 0x1e2e116 g2 = function_1e32771(v16); g2 = function_1e2defd(0, g8); g2 = function_1e26035(1); v17 = g8; } else { v17 = v4; } int32_t v18 = *(int32_t *)(v17 + 90); // 0x1e2e12b g2 = v18; g6 = 0; if (v18 == 0) { // 0x1e2e14f g6 = 0; g5 = v17; *(int32_t *)(g9 - 4) = 0; *(int32_t *)(g8 + 62) = g6; *(int32_t *)(g9 - 4) = 1024; g2 = function_1e2df7f((int32_t)&g708, (int32_t)&g708); int32_t v19 = *(int32_t *)(g8 + 262); // 0x1e2e164 g2 = v19; *(float64_t *)(g9 - 8) = (float64_t)(float32_t)a2; int32_t v20 = *(int32_t *)(v19 + 8); // 0x1e2e170 g2 = v20; *(int32_t *)(v20 + 46) = v6; *(int32_t *)(g2 + 42) = v6; g6 = g8 + 214; *(int32_t *)(g2 + 50) = -0x40b33333; int32_t v21 = function_1e3dbc0((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e2e186 g2 = v21; int32_t v22 = __ftol(); // 0x1e2e18e g2 = v22; *(int32_t *)g6 = v22; int32_t v23 = g2; // 0x1e2e195 if (v23 < 1) { // 0x1e2e19a *(int32_t *)g6 = 1; } else { if (v23 > 4) { // 0x1e2e1a7 *(int32_t *)g6 = 4; } } // 0x1e2e1ad g2 = *(int32_t *)(g8 + 102); *(int32_t *)(g9 - 4) = 0; *(int32_t *)(g9 - 8) = g2; *(int32_t *)(g8 + 50) = g2; *(int32_t *)(g8 + 218) = 0; *(int32_t *)(g8 + 82) = 0; g2 = function_1e2f34b((int32_t)&g708, (int32_t)&g708); *(int32_t *)(g8 + 294) = 0; if (*(int32_t *)g6 > 1) { // 0x1e2e1e2 v5 = g8 + 130; *(int32_t *)(g9 - 4) = 0; *(int32_t *)(g9 - 8) = *(int32_t *)v5; g2 = function_1e2f34b((int32_t)&g708, (int32_t)&g708); *(int32_t *)(v5 + 4) = 0; *(int32_t *)(v5 + 8) = 0; int32_t v24 = v5; // 0x1e2e1ff v5 = v24 + 28; int32_t v25 = 2; // 0x1e2e202 int32_t v26 = *(int32_t *)(g8 + 330); // 0x1e2e205 g2 = v26; *(int32_t *)(v24 + 16) = v26; *(int32_t *)(v5 - 8) = *(int32_t *)(g8 + 334); g5 = v25; *(int32_t *)(v5 - 4) = *(int32_t *)(g8 + 342); int32_t v27 = *(int32_t *)(g8 + 314); // 0x1e2e223 g2 = v27; *(int32_t *)(v5 - 16) = v27; while (*(int32_t *)g6 > g5) { // 0x1e2e1e8 *(int32_t *)(g9 - 4) = 0; *(int32_t *)(g9 - 8) = *(int32_t *)v5; g2 = function_1e2f34b((int32_t)&g708, (int32_t)&g708); *(int32_t *)(v5 + 4) = 0; *(int32_t *)(v5 + 8) = 0; v24 = v5; v5 = v24 + 28; v25++; v26 = *(int32_t *)(g8 + 330); g2 = v26; *(int32_t *)(v24 + 16) = v26; *(int32_t *)(v5 - 8) = *(int32_t *)(g8 + 334); g5 = v25; *(int32_t *)(v5 - 4) = *(int32_t *)(g8 + 342); v27 = *(int32_t *)(g8 + 314); g2 = v27; *(int32_t *)(v5 - 16) = v27; } } int32_t v28 = g8; // 0x1e2e230 int32_t v29 = v28 + 326; // 0x1e2e230 g4 = v29; int32_t v30 = *(int32_t *)(v28 + 330); // 0x1e2e236 g2 = v30; *(int32_t *)v29 = v30; g2 = function_1e279f0(); *(int32_t *)(g9 - 4) = *(int32_t *)g4; g5 = g8; g2 = function_1e2e754((int32_t)&g708); int32_t v31 = *(int32_t *)(g8 + 218) + 1; // 0x1e2e252 g2 = v31; *(int32_t *)(g9 - 4) = v31; *(int32_t *)(g9 - 8) = *(int32_t *)(g8 + 58); g2 = function_1e2f34b((int32_t)&g708, (int32_t)&g708); *(int32_t *)(g9 - 4) = *(int32_t *)(g8 + 58); g2 = function_1e2f3ed((int32_t)&g708); g2 = function_1e279f0(); int32_t v32 = *(int32_t *)g6; // 0x1e2e269 g5 = v32; if (v32 < 4) { int32_t v33 = 28 * v32; // 0x1e2e277 g2 = v33; g6 = v33 + 102 + g8; *(int32_t *)(g9 - 4) = -1; *(int32_t *)(g9 - 8) = *(int32_t *)g6; g2 = function_1e2f34b((int32_t)&g708, (int32_t)&g708); g6 += 28; int32_t v34 = 3 - v32; // 0x1e2e28c while (v34 != 0) { // 0x1e2e280 *(int32_t *)(g9 - 4) = -1; *(int32_t *)(g9 - 8) = *(int32_t *)g6; g2 = function_1e2f34b((int32_t)&g708, (int32_t)&g708); g6 += 28; v34--; } } // 0x1e2e28f function_1e279f0(); g2 = 0; *(int32_t *)(g8 + 318) = 0; *(int32_t *)(g8 + 310) = g2; *(int32_t *)(g8 + 322) = g2; g5 = g200; g2 = function_1e2f83c(); g2 = function_1e279f0(); g5 = g201; g2 = function_1e2f83c(); g2 = function_1e279f0(); g5 = *(int32_t *)(g8 + 266); *(int32_t *)(g9 - 4) = 0x3e4ccccd; *(int32_t *)(g9 - 8) = 28; g2 = *(int32_t *)g5; *(int32_t *)(g9 - 12) = 0x1e2dee7; *(int32_t *)(g9 - 16) = g8; *(int32_t *)(g9 - 20) = *(int32_t *)(g8 + 66); g2 = function_1e39a10((int32_t)&g708); *(float32_t *)(g9 - 4) = (float32_t)g684; g11++; int32_t v35 = function_1e325d2((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e2e2ed g2 = v35; *(int32_t *)(g8 + 90) = v35; } else { // 0x1e2e134 *(int32_t *)(g9 - 4) = v18; g2 = function_1e32771((int32_t)&g708); *(int32_t *)(g9 - 4) = g6; g5 = g8; *(int32_t *)(g9 - 8) = 1013; *(int32_t *)(g8 + 90) = g6; g2 = function_1e2df7f((int32_t)&g708, (int32_t)&g708); } goto lab_0x1e2e663; } case 1018: { int32_t v36 = v4 + 358; // 0x1e2e2fa g6 = v36; int32_t v37 = *(int32_t *)v36; // 0x1e2e300 g2 = v37; int32_t v38; // 0x1e2e30f if (v37 != 0) { // 0x1e2e306 g2 = function_1e32771(v37); v38 = g9; } else { v38 = v3; } // 0x1e2e30c *(int32_t *)(v38 - 4) = 0x1e2e78f; *(int32_t *)(v38 - 8) = g8; *(float64_t *)(v38 - 16) = (float64_t)(float80_t)(float32_t)a2; int32_t v39 = function_1e3dbc0((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e2e31b g2 = v39; *(float32_t *)(g9 + 4) = (float32_t)g684; g11++; int32_t v40 = function_1e325d2((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e2e326 g2 = v40; *(int32_t *)(g8 + 354) = 1; *(int32_t *)g6 = g2; goto lab_0x1e2e663; } case 1021: { int32_t v41 = *(int32_t *)(v4 + 214); // 0x1e2e33c g5 = v41; if (v41 > 1) { int32_t v42 = v4 + 218; // 0x1e2e34b g6 = v42; int32_t * v43 = (int32_t *)v42; // 0x1e2e351 int32_t v44 = *v43 + 1; // 0x1e2e353 v8 = (0x100000000 * (int64_t)(v44 >> 31) | (int64_t)v44) % (int64_t)v41; g7 = v8; int32_t v45 = 28 * v8; // 0x1e2e35b g2 = v45; int32_t v46 = v45 + v4; // 0x1e2e35e g5 = v46; if (*(int32_t *)(v46 + 118) > 0) { int32_t v47 = *(int32_t *)(v4 + 82); // 0x1e2e36b g2 = v47; *(int32_t *)(v4 + 106 + 28 * *v43) = v47; int32_t v48 = g8; // 0x1e2e377 int32_t v49 = *(int32_t *)(v48 + 86); // 0x1e2e377 g2 = v49; *(int32_t *)(v48 + 110 + 28 * *(int32_t *)g6) = v49; int32_t v50 = g8; // 0x1e2e383 int32_t v51 = *(int32_t *)(v50 + 326); // 0x1e2e383 g2 = v51; *(int32_t *)(v50 + 118 + 28 * *(int32_t *)g6) = v51; int32_t v52 = g8; // 0x1e2e392 int32_t v53 = *(int32_t *)(v52 + 334); // 0x1e2e392 g2 = v53; *(int32_t *)(v52 + 122 + 28 * *(int32_t *)g6) = v53; int32_t v54 = g8; // 0x1e2e3a1 int32_t v55 = *(int32_t *)(v54 + 342); // 0x1e2e3a1 g2 = v55; *(int32_t *)(v54 + 126 + 28 * *(int32_t *)g6) = v55; int32_t v56 = g8; // 0x1e2e3b0 int32_t v57 = *(int32_t *)(v56 + 314); // 0x1e2e3b0 g2 = v57; *(int32_t *)(v56 + 114 + 28 * *(int32_t *)g6) = v57; int32_t v58 = *(int32_t *)(g5 + 106); // 0x1e2e3bf g7 = v58; *(int32_t *)(g8 + 82) = v58; int32_t v59 = *(int32_t *)(g5 + 110); // 0x1e2e3c5 g2 = v59; *(int32_t *)(g8 + 86) = v59; int32_t v60 = *(int32_t *)(g5 + 118); // 0x1e2e3cb g2 = v60; *(int32_t *)(g8 + 326) = v60; int32_t v61 = *(int32_t *)(g5 + 122); // 0x1e2e3d4 g2 = v61; *(int32_t *)(g8 + 334) = v61; int32_t v62 = *(int32_t *)(g5 + 126); // 0x1e2e3dd g2 = v62; *(int32_t *)(g8 + 342) = v62; int32_t v63 = *(int32_t *)(g5 + 114); // 0x1e2e3e7 g2 = v63; *(int32_t *)(g8 + 314) = v63; int32_t v64 = *(int32_t *)(g5 + 102); // 0x1e2e3f0 g2 = v64; *(int32_t *)(g8 + 50) = v64; g2 = function_1e2f34b(v64, g7); int32_t v65 = *(int32_t *)(g8 + 50); // 0x1e2e3fc g5 = v65; *(int32_t *)(v65 + 4) = 1; int32_t v66 = g8; // 0x1e2e406 g5 = v66; g2 = function_1e2e754(*(int32_t *)(v66 + 326)); int32_t v67 = v8 + 1; // 0x1e2e413 g5 = v67; g2 = function_1e2f34b(*(int32_t *)(g8 + 58), v67); g2 = function_1e2f3ed(*(int32_t *)(g8 + 58)); int32_t v68 = g8; // 0x1e2e43582 int32_t v69 = *(int32_t *)(v68 + 254); // 0x1e2e43585 g5 = v69; g2 = 0; int32_t v70; // 0x1e2e435 if (*(int32_t *)(v69 + 4) > 0) { int32_t v71 = 0; g2 = v71; int32_t v72 = *(int32_t *)(v71 + 8 + v69); // 0x1e2e44c g5 = v72; g2 = *(int32_t *)v72; *(float32_t *)(g9 - 4) = (float32_t)(float80_t)v8; int32_t v73 = g9 - 4; // 0x1e2e458 *(int32_t *)v73 = 1020; int32_t v74 = v71 + 4; // 0x1e2e45f int32_t v75 = 1; // 0x1e2e463 v70 = g8; int32_t v76 = *(int32_t *)(v70 + 254); // 0x1e2e435 g5 = v76; g2 = v75; v7 = v74; while (*(int32_t *)(v76 + 4) > v75) { // 0x1e2e443 v71 = v74; g2 = v71; v72 = *(int32_t *)(v71 + 8 + v76); g5 = v72; g2 = *(int32_t *)v72; *(float32_t *)(v73 - 4) = (float32_t)(float80_t)v8; v73 = g9 - 4; *(int32_t *)v73 = 1020; v74 = v71 + 4; v75++; v70 = g8; v76 = *(int32_t *)(v70 + 254); g5 = v76; g2 = v75; v7 = v74; } } else { v7 = 0; v70 = v68; } if (v8 == 0) { // 0x1e2e47d g2 = *(int32_t *)(v70 + 230); *(int32_t *)(g9 - 4) = -0x40800000; *(int32_t *)(g9 - 8) = 0; int32_t * v77 = (int32_t *)(g9 - 12); // 0x1e2e494 if (*(char *)(g2 + 5) == 0) { // 0x1e2e494 *v77 = 26; } else { // 0x1e2e490 *v77 = 30; } goto lab_0x1e2e4e7; } else { if (v8 == 1) { // 0x1e2e498 g2 = *(int32_t *)(v70 + 230); *(int32_t *)(g9 - 4) = -0x40800000; *(int32_t *)(g9 - 8) = 0; int32_t * v78 = (int32_t *)(g9 - 12); // 0x1e2e4af if (*(char *)(g2 + 5) == 0) { // 0x1e2e4af *v78 = 27; } else { // 0x1e2e4ab *v78 = 31; } goto lab_0x1e2e4e7; } else { if (v8 == 2) { // 0x1e2e4b3 g2 = *(int32_t *)(v70 + 230); *(int32_t *)(g9 - 4) = -0x40800000; *(int32_t *)(g9 - 8) = 0; int32_t * v79 = (int32_t *)(g9 - 12); // 0x1e2e4ca if (*(char *)(g2 + 5) == 0) { // 0x1e2e4ca *v79 = 28; } else { // 0x1e2e4c6 *v79 = 32; } goto lab_0x1e2e4e7; } else { if (v8 == 3) { // 0x1e2e4ce g2 = *(int32_t *)(v70 + 230); *(int32_t *)(g9 - 4) = -0x40800000; *(int32_t *)(g9 - 8) = 0; int32_t * v80 = (int32_t *)(g9 - 12); // 0x1e2e4e5 if (*(char *)(g2 + 5) == 0) { // 0x1e2e4e5 *v80 = 29; } else { // 0x1e2e4e1 *v80 = 33; } goto lab_0x1e2e4e7; } else { goto lab_0x1e2e4f8; } } } } } else { goto lab_0x1e2e663; } } else { int32_t v81 = *(int32_t *)(v4 + 230); // 0x1e2e513 g2 = v81; if (*(char *)(v81 + 5) == 0) { int32_t v82 = function_1e25763(26); // 0x1e2e540 g2 = v82; g5 = g200; g2 = function_1e2fbc7(v82, (int32_t)&g708); } else { int32_t v83 = function_1e25763(30); // 0x1e2e528 g2 = v83; g5 = g200; g2 = function_1e2fbc7(v83, (int32_t)&g708); } goto lab_0x1e2e663; } } case 1022: { // 0x1e2e556 g2 = function_1e39a10(*(int32_t *)(v4 + 70)); g11++; g5 = g201; g2 = function_1e2f83c(); int32_t v84 = function_1e25763(34); // 0x1e2e574 g2 = v84; g5 = g200; g2 = function_1e2fbc7(v84, (int32_t)&g708); int32_t v85 = function_1e325d2(0x40400000, g8, 0x1e2defd); // 0x1e2e590 g2 = v85; *(int32_t *)(g8 + 94) = v85; goto lab_0x1e2e663; } case 1024: { int32_t v86 = v4 + 254; // 0x1e2e59d int32_t v87 = *(int32_t *)v86; // 0x1e2e5a3 g2 = v87; int32_t v88 = *(int32_t *)(v87 + 4) - 1; // 0x1e2e5a8 g2 = v88; int32_t v89 = 4 * v88; // 0x1e2e5a9 int32_t v90; // 0x1e2e5ca int32_t v91; // 0x1e2e5d6 if (v89 >= 0) { int32_t v92 = v3; // 0x1e2e5b6 g2 = *(int32_t *)v86; *(int32_t *)(v92 - 4) = 0; int32_t v93 = v89; // 0x1e2e5b8 g5 = *(int32_t *)(g2 + 8 + v93); v5 = v93 - 4; int32_t v94 = v92 - 8; // 0x1e2e5bf *(int32_t *)v94 = 1024; g2 = *(int32_t *)g5; while (v5 >= 0) { // 0x1e2e5b4 v92 = v94; g2 = *(int32_t *)v86; *(int32_t *)(v92 - 4) = 0; v93 = v5; g5 = *(int32_t *)(g2 + 8 + v93); v5 = v93 - 4; v94 = v92 - 8; *(int32_t *)v94 = 1024; g2 = *(int32_t *)g5; } // 0x1e2e5b0 v91 = v94; v90 = g8; } else { v91 = v3; v90 = v4; } int32_t v95 = v90 + 358; // 0x1e2e5ca v6 = v95; int32_t v96 = *(int32_t *)v95; // 0x1e2e5d0 g2 = v96; int32_t v97; // 0x1e2e5de int32_t v98; // 0x1e2e5e1 if (v96 != 0) { // 0x1e2e5d6 *(int32_t *)(v91 - 4) = v96; g2 = function_1e32771((int32_t)&g708); v98 = v6; v97 = g8; } else { v98 = v95; v97 = v90; } int32_t v99 = *(int32_t *)(v97 + 90); // 0x1e2e5de g2 = v99; *(int32_t *)v98 = 0; if (v99 != 0) { // 0x1e2e5e7 *(int32_t *)(g9 - 4) = v99; g2 = function_1e32771((int32_t)&g708); g5 = *(int32_t *)(g8 + 266); *(int32_t *)(g9 - 4) = 0; *(int32_t *)(g9 - 8) = 34; g2 = *(int32_t *)g5; } // 0x1e2e5fa *(int32_t *)(g8 + 306) = 0x2710; *(int32_t *)(g8 + 314) = 0x4e20; g2 = 0; *(int32_t *)(g8 + 90) = 0; *(int32_t *)(g8 + 294) = g2; *(int32_t *)(g8 + 298) = g2; *(int32_t *)(g8 + 302) = g2; *(int32_t *)(g8 + 310) = g2; *(int32_t *)(g8 + 318) = g2; *(int32_t *)(g8 + 322) = g2; *(int32_t *)(g8 + 334) = g2; *(int32_t *)(g8 + 338) = g2; *(int32_t *)(g8 + 342) = g2; *(int32_t *)(g8 + 346) = g2; *(int32_t *)(g8 + 350) = g2; *(int32_t *)(g8 + 354) = g2; *(int32_t *)v6 = g2; *(int32_t *)(g8 + 370) = g2; goto lab_0x1e2e663; } default: { goto lab_0x1e2e663; } } lab_0x1e2e022: // 0x1e2e022 g5 = *(int32_t *)(v4 + 222); goto lab_0x1e2e663; lab_0x1e2e037:; int32_t v101 = v4 + 254; // 0x1e2e037 int32_t v102 = *(int32_t *)v101; // 0x1e2e03d g2 = v102; int32_t v103 = *(int32_t *)(v102 + 4) - 1; // 0x1e2e042 g2 = v103; if (v103 >= 0) { int32_t v104 = v3; // 0x1e2e050 *(int32_t *)(v104 - 4) = a2; g2 = *(int32_t *)v101; int32_t v105 = v104 - 8; // 0x1e2e055 *(int32_t *)v105 = a1; int32_t v106 = 4 * v103; // 0x1e2e058 g5 = *(int32_t *)(g2 + 8 + v106); int32_t v107 = v106 - 4; // 0x1e2e060 while (v107 >= 0) { // 0x1e2e050 v104 = v105; *(int32_t *)(v104 - 4) = a2; g2 = *(int32_t *)v101; v105 = v104 - 8; *(int32_t *)v105 = a1; v106 = v107; g5 = *(int32_t *)(g2 + 8 + v106); v107 = v106 - 4; } } goto lab_0x1e2e663; lab_0x1e2e663: // 0x1e2e663 *(int32_t *)(g9 - 4) = a1; function_1e32907((int32_t)&g708); g2 = 0; g8 = *(int32_t *)(g9 + 4); g4 = *(int32_t *)(g9 + 8); return 0; lab_0x1e2e4e7:; int32_t v100 = function_1e25763(v7); // 0x1e2e4e7 g2 = v100; *(int32_t *)(g9 - 4) = v100; g5 = g200; g2 = function_1e2fbc7((int32_t)&g708, (int32_t)&g708); goto lab_0x1e2e4f8; lab_0x1e2e4f8: // 0x1e2e4f8 g2 = 0; *(int32_t *)g6 = v8; *(int32_t *)(g8 + 318) = g2; *(int32_t *)(g8 + 310) = g2; *(int32_t *)(g8 + 322) = g2; goto lab_0x1e2e663; } // Address range: 0x1e2e6c7 - 0x1e2e754 int32_t function_1e2e6c7(int32_t a1) { int32_t v1 = g5; // 0x1e2e6c7 int32_t v2; // edx if (*(int32_t *)(v1 + 318) == 0) { // 0x1e2e6ef v2 = a1; } else { int32_t v3 = v1 + 314; // 0x1e2e6d2 v2 = a1; int32_t * v4 = (int32_t *)v3; // 0x1e2e6e1 int32_t v5 = *v4 + a1; // 0x1e2e6e3 g2 = v5; *v4 = v5; int32_t v6 = 0x4c4b40; // 0x1e2e6e7 if (g2 > v6) { // 0x1e2e6eb *(int32_t *)v3 = v6; } } int32_t v7 = g5; // 0x1e2e6f3 if (*(int32_t *)(v7 + 310) != 0) { int32_t v8 = v7 + 306; // 0x1e2e6fc int32_t * v9 = (int32_t *)v8; // 0x1e2e707 int32_t v10 = v2 + *v9; // 0x1e2e709 g2 = v10; *v9 = v10; int32_t v11 = 0x4c4b40; // 0x1e2e70d if (g2 > v11) { // 0x1e2e711 *(int32_t *)v8 = v11; } } int32_t v12 = g5; // 0x1e2e713 int32_t v13 = *(int32_t *)(v12 + 294); // 0x1e2e713 g2 = v13; int32_t v14 = *(int32_t *)(4 * v13 + (int32_t)&g203); // 0x1e2e719 int32_t result = *(int32_t *)(v12 + 298) + v2 * v14; // 0x1e2e723 int32_t v15 = v12 + 82; // 0x1e2e729 g7 = v15; int32_t * v16 = (int32_t *)v15; // 0x1e2e72c int32_t v17 = *v16 + result; // 0x1e2e72e g2 = v17; *v16 = v17; int32_t v18 = g2; // 0x1e2e732 if (v18 > 0x3b9aca00) { // 0x1e2e739 g2 = v18 - 0x3b9aca00; int32_t * v19 = (int32_t *)(g5 + 86); // 0x1e2e73e *v19 = *v19 + 1; *(int32_t *)g7 = g2; } int32_t v20 = *(int32_t *)g7; // 0x1e2e743 int32_t v21 = *(int32_t *)(g5 + 50); // 0x1e2e745 function_1e2f34b(v21, v20); g2 = result; g6 = v21; g8 = v20; return result; } // Address range: 0x1e2e754 - 0x1e2e78f int32_t function_1e2e754(int32_t a1) { // 0x1e2e754 g2 = a1; int32_t v1 = g8; // 0x1e2e758 *(int32_t *)(g5 + 326) = a1; int32_t v2 = g5; // 0x1e2e75f int32_t result; if (a1 < 1) { // 0x1e2e781 result = function_1e2f363(*(int32_t *)(v2 + 54), 1, v1); } else { int32_t v3 = *(int32_t *)(v2 + 330) - a1 + 1; // 0x1e2e76d g5 = v3; g2 = function_1e2f34b(*(int32_t *)(v2 + 54), v3); result = function_1e2f3ed(*(int32_t *)(v2 + 54)); } // 0x1e2e78b g2 = result; g8 = *(int32_t *)g9; return result; } // Address range: 0x1e2e78f - 0x1e2e7a4 int32_t function_1e2e78f(int32_t a1) { // 0x1e2e78f g2 = a1; g5 = 0; *(int32_t *)(a1 + 354) = 0; *(int32_t *)(g2 + 358) = g5; return g2; } // Address range: 0x1e2e7a4 - 0x1e2e7ce int32_t function_1e2e7a4(void) { int32_t * v1 = (int32_t *)(g5 + 254); // 0x1e2e7ac int32_t v2 = *v1; // 0x1e2e7ac g2 = v2; int32_t result = *(int32_t *)(v2 + 4) - 1; // 0x1e2e7b1 g2 = result; if (result < 0) { // 0x1e2e7cb return result; } int32_t result2; // 0x1e2e7c1 for (int32_t i = 4 * result; i >= 3; i -= 4) { int32_t v3 = *v1; // 0x1e2e7bb g2 = v3; int32_t v4 = *(int32_t *)(i + 8 + v3); // 0x1e2e7bd g5 = v4; result2 = *(int32_t *)v4; g2 = result2; } // 0x1e2e7cb return result2; } // Address range: 0x1e2e7ce - 0x1e2e83c int32_t function_1e2e7ce(void) { int32_t v1 = *(int32_t *)(g5 + 254); // 0x1e2e7d1 g2 = v1; int32_t v2 = g3; // bp-20 int32_t v3 = v2; // 0x1e2e7de uint32_t v4 = *(int32_t *)(v1 + 4); // 0x1e2e7df int32_t v5 = 0; // edi int32_t v6; // 0x1e2e816 int32_t result; // 0x1e2e7f4 if (v4 >= 1) { int32_t v7 = 0; // ebx int32_t v8 = 0; // 0x1e2e8114 int32_t v9 = 0; // 0x1e2e7f4 int32_t v10 = v3; // 0x1e2e7ff while (true) { int32_t v11 = *(int32_t *)(v10 + 16); // 0x1e2e7ea g2 = v11; int32_t v12 = *(int32_t *)(v11 + 254); // 0x1e2e7ee g5 = v12; result = *(int32_t *)(v9 + 8 + v12); int32_t v13 = *(int32_t *)(result + 10); // 0x1e2e7f8 g2 = v13; int32_t v14; int32_t v15; // 0x1e2e80e int32_t v16; // 0x1e2e811 if (v13 != 0) { // 0x1e2e7ff *(int32_t *)(v10 - 4) = *(int32_t *)(v10 + 24); *(int32_t *)(v10 - 8) = v13; int32_t v17 = lstrcmpA((char *)&g708, (char *)&g708); // 0x1e2e804 g2 = v17; if (v17 == 0) { goto lab_0x1e2e82e; } // 0x1e2e7ff v14 = g9; v16 = v5; v15 = v7; } else { v14 = v10; v16 = v8; v15 = v9; } int32_t v18 = v15 + 4; // 0x1e2e80e v7 = v18; int32_t v19 = v16 + 1; // 0x1e2e811 v5 = v19; if (v19 >= v4) { v6 = v14; // break -> 0x1e2e816 break; } v8 = v19; v9 = v18; v10 = v14; } } else { v6 = v3; } // 0x1e2e816 *(int32_t *)(v6 - 4) = 0x2000; *(int32_t *)(v6 - 8) = *(int32_t *)(v6 + 24); *(int32_t *)(v6 - 12) = (int32_t)"Table cant find:"; *(int32_t *)(v6 - 16) = 0; g2 = MessageBoxA(&g708, (char *)&g708, (char *)&g708, (int32_t)&g708); result = 0; goto lab_0x1e2e82e; lab_0x1e2e82e: // 0x1e2e82e g2 = result; g3 = *(int32_t *)g9; g6 = *(int32_t *)(g9 + 4); return result; } // Address range: 0x1e2e83c - 0x1e2e8a2 int32_t function_1e2e83c(int32_t a1) { int32_t v1 = g3; // 0x1e2e83c int32_t v2 = v1; // bp-4 int32_t v3 = *(int32_t *)(g5 + 254); // 0x1e2e83d g3 = v2; int32_t lpCaption; // bp-204 int32_t v4 = lpCaption; // 0x1e2e845 int32_t v5 = g6; // bp-212 int32_t v6 = *(int32_t *)(v3 + 4); // 0x1e2e84d g8 = v6; int32_t v7; // 0x1e2e89a int32_t result; // 0x1e2e89f if (v6 < 1) { goto lab_0x1e2e86b_2; } else { int32_t v8 = v3 + 8; // 0x1e2e856 g7 = v8; int32_t v9 = 0; // 0x1e2e866 int32_t v10; // 0x1e2e859 while (true) { // 0x1e2e859 v10 = *(int32_t *)v8; g2 = v10; g5 = a1; if (*(int32_t *)(v10 + 22) == a1) { // break -> 0x1e2e89a break; } int32_t v11 = v8 + 4; // 0x1e2e863 g7 = v11; int32_t v12 = v9 + 1; // 0x1e2e866 if (v12 >= v6) { goto lab_0x1e2e86b_2; } v9 = v12; v8 = v11; } result = v10; v7 = v5; goto lab_0x1e2e89a; } lab_0x1e2e86b_2: // 0x1e2e86b g2 = v4; g2 = function_1e3dce0(a1, &lpCaption, 10); g5 = v4; MessageBoxA(NULL, "Table cant find (lh):", (char *)&lpCaption, 0x2000); g2 = 0; result = 0; v1 = v2; v7 = g9; goto lab_0x1e2e89a; lab_0x1e2e89a: // 0x1e2e89a g6 = *(int32_t *)v7; g8 = *(int32_t *)(v7 + 4); g3 = v1; return result; } // Address range: 0x1e2e8a2 - 0x1e2e8f3 int32_t function_1e2e8a2(int32_t a1) { int32_t v1 = 0; // ebp *(int32_t *)(a1 + 98) = 0; if (*(int32_t *)(a1 + 370) != v1) { int32_t v2 = *(int32_t *)(a1 + 262); // 0x1e2e8ba uint32_t v3 = *(int32_t *)(v2 + 4); // 0x1e2e8c0 int32_t v4 = v2 + 8; // ebx if (v3 >= 1) { int32_t v5 = g9; // 0x1e2e8d0 g5 = *(int32_t *)(a1 + 226); *(int32_t *)(v5 - 4) = v1; int32_t v6 = v5 + 16; // 0x1e2e8d1 g2 = v6; *(int32_t *)(v5 - 8) = v1; *(int32_t *)(v5 - 12) = g2; g2 = v6; *(int32_t *)(v5 - 16) = v6; g2 = *(int32_t *)g5; int32_t v7 = v5 - 20; // 0x1e2e8de *(int32_t *)v7 = *(int32_t *)v4; v4 += 4; int32_t v8 = v3 - 1; // 0x1e2e8e6 while (v8 != 0) { // 0x1e2e8ca v5 = v7; g5 = *(int32_t *)(a1 + 226); *(int32_t *)(v5 - 4) = v1; v6 = v5 + 16; g2 = v6; *(int32_t *)(v5 - 8) = v1; *(int32_t *)(v5 - 12) = g2; g2 = v6; *(int32_t *)(v5 - 16) = v6; g2 = *(int32_t *)g5; v7 = v5 - 20; *(int32_t *)v7 = *(int32_t *)v4; v4 += 4; v8--; } } } // 0x1e2e8e9 return g2; } // Address range: 0x1e2e8f3 - 0x1e2e9be int32_t function_1e2e8f3(void) { int32_t v1 = g5; // 0x1e2e8f8 int32_t v2 = g3; // bp-16 int32_t v3 = v2; // 0x1e2e8fe int32_t v4; // 0x1e2e9b7 if (*(int32_t *)(v1 + 370) == 0) { // 0x1e2e907 if (*(int32_t *)(v1 + 78) == 0) { // 0x1e2e910 g5 = g200; g2 = function_1e2f83c(); g5 = g201; g2 = function_1e2f83c(); int32_t v5 = function_1e25763(35); // 0x1e2e92f g2 = v5; g5 = g200; g2 = function_1e2fbc7(v5, (int32_t)&g708); g2 = function_1e39a10(*(int32_t *)(g6 + 74)); g11++; int32_t v6 = function_1e325d2(0x41f00000, g6, 0x1e2e8a2); // 0x1e2e955 g2 = v6; g5 = g6; *(int32_t *)(g6 + 98) = v6; int32_t v7 = *(int32_t *)(g6 + 254); // 0x1e2e960 g2 = v7; int32_t v8 = 1011; // bp-56 int32_t v9 = v8; // 0x1e2e966 int32_t v10 = *(int32_t *)(v7 + 4); // 0x1e2e96d int32_t v11; if (v10 > g8) { int32_t v12 = 0; // 0x1e2e97e int32_t v13 = v9; // 0x1e2e98623 int32_t v14 = *(int32_t *)(g6 + 254); // 0x1e2e978 g2 = v14; g5 = *(int32_t *)(v14 + 8 + v12); int32_t v15 = g8 + 1; // esi *(int32_t *)(v13 - 4) = *(int32_t *)(v13 + 20); int32_t v16 = v13 - 8; // 0x1e2e98a *(int32_t *)v16 = 1011; g2 = *(int32_t *)g5; while (v10 > v15) { // 0x1e2e978 v12 += 4; v13 = v16; v14 = *(int32_t *)(g6 + 254); g2 = v14; g5 = *(int32_t *)(v14 + 8 + v12); v15++; *(int32_t *)(v13 - 4) = *(int32_t *)(v13 + 20); v16 = v13 - 8; *(int32_t *)v16 = 1011; g2 = *(int32_t *)g5; } v11 = v16; } else { v11 = v9; } // 0x1e2e995 g5 = *(int32_t *)(g6 + 266); *(int32_t *)(v11 - 4) = 0; *(int32_t *)(v11 - 8) = 8; g2 = *(int32_t *)g5; *(int32_t *)(g6 + 370) = 1; *(int32_t *)(g9 - 4) = 1011; g2 = function_1e32907((int32_t)&g708); v4 = g9; } else { v4 = v3; } } else { v4 = v3; } // 0x1e2e9b7 g3 = *(int32_t *)v4; g6 = *(int32_t *)(v4 + 4); g4 = *(int32_t *)(v4 + 12); return g2; }