#include "pinball.h" // Address range: 0x1e29a40 - 0x1e29a6d int32_t function_1e29a40(int32_t a1, int32_t result) { // 0x1e29a40 g7 = a1; if (a1 == 0) { // 0x1e29a6a return g2; } // 0x1e29a48 g2 = result; int32_t * v1 = (int32_t *)(a1 + 16); // 0x1e29a4c if (*v1 == result) { // 0x1e29a6a return result; } // 0x1e29a51 *v1 = result; int32_t v2 = g2; // 0x1e29a54 if (v2 != 0) { int32_t v3 = *(int32_t *)(v2 + 12); // 0x1e29a58 g5 = v3; *(int32_t *)(a1 + 8) = v3; int32_t v4 = *(int32_t *)(g2 + 16); // 0x1e29a5e g2 = v4; *(int32_t *)(a1 + 12) = v4; } int32_t result2 = function_1e298bd(a1); // 0x1e29a65 g2 = result2; // 0x1e29a6a return result2; } // Address range: 0x1e29a6d - 0x1e29aea int32_t function_1e29a6d(int32_t a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5) { int32_t v1 = g8; // 0x1e29a73 if (a1 == 0) { // 0x1e29ae3 g8 = v1; return g2; } // 0x1e29a7b g5 = a2; *(int32_t *)(a1 + 16) = a2; if (a2 != 0) { // 0x1e29a85 g2 = a4; *(int32_t *)a1 = a4; *(int32_t *)(a1 + 4) = a5; int32_t v2 = *(int32_t *)(a2 + 12); // 0x1e29a90 g2 = v2; *(int32_t *)(a1 + 8) = v2; int32_t v3 = *(int32_t *)(a2 + 16); // 0x1e29a96 g5 = v3; *(int32_t *)(a1 + 12) = v3; } uint32_t v4 = (int32_t)__asm_fnstsw(g10); // 0x1e29aa5 g2 = g2 & -0x10000 | v4; if ((v4 / 256 & 65) == 0) { // 0x1e29aaa *(int16_t *)(a1 + 26) = 0; // 0x1e29ae3 g8 = v1; return g2; } uint32_t v5 = (int32_t)__asm_fnstsw(g10); // 0x1e29aca g2 = g2 & -0x10000 | v5; if ((v5 / 256 & 65) == 0) { // 0x1e29acf *(int16_t *)(a1 + 26) = -1; } else { int32_t v6 = __ftol(); // 0x1e29ada g2 = v6; *(int16_t *)(a1 + 26) = (int16_t)v6; } // 0x1e29ae3 g8 = v1; return g2; } // Address range: 0x1e29aea - 0x1e29b0a int32_t function_1e29aea(void) { // 0x1e29aea function_1e29172(); int32_t v1 = g553; // 0x1e29aef g2 = v1; g2 = function_1e27508(&g549, (int32_t)g552, v1); int32_t result = function_1e292ae(); // 0x1e29b05 g2 = result; return result; } // Address range: 0x1e29b0a - 0x1e29b62 int32_t function_1e29b0a(int32_t a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5, int32_t a6) { // 0x1e29b0a g2 = a1; g193 += a1; g5 = a2; g194 += a2; function_1e29172(); int32_t v1 = g193 + (int32_t)g552 + a3; // 0x1e29b45 g2 = v1; int32_t v2 = function_1e2748e((int32_t)&g549, a3, a4, 0x10000 * v1 / 0x10000, 0x10000 * ((int32_t)g553 + a4 + g194) / 0x10000, a5, a6); // 0x1e29b54 g2 = v2; int32_t result = function_1e292ae(); // 0x1e29b59 g2 = result; g3 = &g549; return result; } // Address range: 0x1e29b62 - 0x1e29efa int32_t function_1e29b62(int32_t a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5, int32_t a6) { // 0x1e29b62 g2 = a1; int32_t v1; // bp-136 int32_t v2 = &v1; // 0x1e29b69 int32_t v3 = a1 + 4; // 0x1e29b71 int32_t v4 = g6; // 0x1e29b77 int32_t v5 = v4; // bp-148 g2 = function_1e3dbc0((int32_t)*(float32_t *)a1, v4, g8); int32_t v6 = __ftol(); // 0x1e29b8c g2 = v3; int32_t v7; // edi float32_t v8; // bp-100 int32_t v9; float32_t v10; // bp-32 int32_t v11; // bp-72 int32_t v12; int3_t v13; // 0x1e29d9e int32_t v14; // 0x1e29d04 int32_t * v15; // 0x1e29ea7 int32_t v16; // 0x1e29c44 int32_t v17; // 0x1e29e73 int32_t v18; // 0x1e29e76 int32_t * v19; // 0x1e29eb3 int32_t v20; // 0x1e29ec5 float80_t v21; // 0x1e29dcd if (v6 != 0) { int32_t v22 = v6 - 1; // 0x1e29c37 if (v22 != 0) { // 0x1e29cc9 g2 = v6; g5 = v3; v8 = (float32_t)*(int32_t *)(a1 - 4 + 8 * v6); if (v6 < 0) { // 0x1e29eec g4 = v3; } else { // 0x1e29cfa g2 = v22; v14 = a2 + 46; g5 = v14; int32_t v23; int32_t v24 = v23 & 0x7fffffff | a5; // 0x1e29d47 v15 = (int32_t *)v14; v20 = &v10; v19 = (int32_t *)(a2 + 42); v17 = &v11; v18 = &v16; int32_t v25; // bp-124 int32_t v26 = &v25; // 0x1e29d5c v21 = 1.001L * (float80_t)(float32_t)a5; v12 = v3; v9 = 0; while (true) { lab_0x1e29d0d: // 0x1e29d0d g2 = v9; int32_t v27; int32_t v28; // 0x1e29d18 if (v22 > v9) { // 0x1e29d15 g2 = v12; v28 = *(int32_t *)(v12 + 8); g5 = v28; v27 = v12 + 12; } else { // 0x1e29d23 g5 = v3; int32_t v29 = *(int32_t *)v3; // 0x1e29d26 g2 = v29; v27 = a1 + 8; v28 = v29; } int32_t v30 = *(int32_t *)v27; g2 = v12; int32_t v31 = *(int32_t *)v12; // 0x1e29d34 g5 = v31; int32_t v32 = *(int32_t *)(v12 + 4); // 0x1e29d36 v10 = v31; g2 = v24; if (v24 == 0) { goto lab_0x1e29e3c; } else { // 0x1e29d50 g2 = v2; g5 = v26; *(int32_t *)(g9 - 4) = v2; *(int32_t *)(g9 - 8) = v26; int32_t v33; // bp-112 *(int32_t *)(g9 - 12) = (int32_t)&v33; float80_t v34 = (float80_t)(float32_t)v31 - (float80_t)v8; // 0x1e29d65 v33 = (float32_t)v34; float80_t v35 = (float80_t)(float32_t)v28 - (float80_t)v10; // 0x1e29d74 v25 = (float32_t)v35; float80_t v36 = (float80_t)(float32_t)v30 - (float80_t)(float32_t)v32; // 0x1e29d7d g2 = function_1e3a768(v35, v36, v34); int3_t v37 = g11; // 0x1e29d88 float32_t v38; if ((int32_t)v38 > 0) { uint32_t v39 = (int32_t)__asm_fnstsw(g10); // 0x1e29d99 g2 = g2 & -0x10000 | v39; if ((v39 / 256 & 1) == 0) { // 0x1e29d94 v13 = g11; goto lab_0x1e29d9e; } else { goto lab_0x1e29dba; } } else { v13 = v37; goto lab_0x1e29d9e; } } } } } else { // 0x1e29c41 g5 = v3; v16 = *(int32_t *)v3; g2 = v16; int32_t v40 = *(int32_t *)(a1 + 12); // 0x1e29c51 g2 = v40; g4 = 0; v11 = v40; int32_t v41 = function_1e3df20(85); // 0x1e29c62 g2 = v41; int32_t v42; // 0x1e29c8b int32_t v43; // 0x1e29c8d if (v41 == 0) { // 0x1e29c41 v43 = &v5; v42 = g4; } else { // 0x1e29c6e g5 = v41; int32_t v44 = function_1e305a4(a2, a3, a4, &v16, &v11); // 0x1e29c81 g2 = v44; g4 = v44; v43 = g9; v42 = v44; } // 0x1e29c88 g2 = a6; g5 = v42; *(int32_t *)(v43 - 4) = a5; *(int32_t *)(g4 + 13) = g2; g2 = function_1e3061f((int32_t)&g708); int32_t v45 = g4; // 0x1e29c98 g5 = v45; int32_t v46 = a2 + 46; // 0x1e29ca2 g8 = v46; int32_t v47 = *(int32_t *)v46; // 0x1e29ca5 int32_t v48 = *(int32_t *)v47; // 0x1e29ca7 g2 = v48; int32_t v49; // 0x1e29cbc if (*(int32_t *)(v47 + 4) == v48) { // 0x1e29cae g5 = a2; *(int32_t *)(g9 - 4) = *(int32_t *)(a2 + 42); *(int32_t *)(g9 - 8) = v47; int32_t v50 = function_1e3a739((int32_t)&g708, (int32_t)&g708); // 0x1e29cb5 g2 = v50; *(int32_t *)g8 = v50; v49 = g4; } else { v49 = v45; } // 0x1e29cbc *(int32_t *)(g9 - 4) = v49; *(int32_t *)(g9 - 8) = *(int32_t *)g8; g2 = function_1e3a6a7((int32_t)&g708, (int32_t)&g708); } } else { int32_t v51 = *(int32_t *)v3; // 0x1e29ba4 g2 = v51; g5 = v3; v10 = v51; g4 = 0; int32_t v52 = function_1e3df20(37); // 0x1e29bb9 g2 = v52; if (v52 != 0) { // 0x1e29bc5 g5 = v3; float32_t v53 = *(float32_t *)(a1 + 12); // 0x1e29bce g5 = a4; int32_t * v54 = (int32_t *)v52; // 0x1e29bd7 *v54 = (int32_t)&g28; *(int32_t *)(v52 + 4) = a2; float80_t v55 = (float80_t)(float32_t)a5 + (float80_t)v53; // 0x1e29be3 v7 = v52 + 21; *(int32_t *)(v52 + 8) = a3; *(int32_t *)(v52 + 17) = g5; g4 = v52; *(char *)(v52 + 12) = 0; *v54 = (int32_t)&g29; *(float32_t *)(v52 + 33) = (float32_t)(v55 * v55); *(int32_t *)v7 = (int32_t)v10; int32_t v56 = g1 ? -4 : 4; // 0x1e29bfd int32_t v57 = v56 + v7; // 0x1e29bfd int32_t v58 = v56 + (int32_t)&v10; // 0x1e29bfd *(int32_t *)v57 = *(int32_t *)v58; int32_t v59 = v57 + v56; // 0x1e29bfe *(int32_t *)v59 = *(int32_t *)(v58 + v56); g6 = v59 + v56; } // 0x1e29c00 g2 = a6; int32_t v60 = g4; // 0x1e29c03 g5 = v60; *(int32_t *)(v60 + 13) = a6; int32_t v61 = a2 + 46; // 0x1e29c10 g8 = v61; int32_t v62 = *(int32_t *)v61; // 0x1e29c13 int32_t v63 = *(int32_t *)v62; // 0x1e29c15 g2 = v63; if (*(int32_t *)(v62 + 4) == v63) { // 0x1e29c1c g5 = a2; int32_t v64 = function_1e3a739(v62, *(int32_t *)(a2 + 42)); // 0x1e29c23 g2 = v64; *(int32_t *)g8 = v64; } // 0x1e29c2a *(int32_t *)(g9 - 4) = g4; *(int32_t *)(g9 - 8) = *(int32_t *)g8; g2 = function_1e3a6a7((int32_t)&g708, (int32_t)&g708); } lab_0x1e29eef:; int32_t result = g4; // 0x1e29eef g2 = result; g6 = *(int32_t *)g9; g8 = *(int32_t *)(g9 + 4); g4 = *(int32_t *)(g9 + 8); return result; lab_0x1e29e3c: // 0x1e29e3c g2 = v12; *(int32_t *)(g9 - 4) = 85; g8 = 0; int32_t v65 = g2; // 0x1e29e46 int32_t v66 = *(int32_t *)v65; // 0x1e29e46 g5 = v66; int32_t v67 = v65 + 8; // 0x1e29e48 g2 = v67; v16 = v66; int32_t v68 = *(int32_t *)v67; // 0x1e29e5a g5 = v68; v11 = v68; g2 = *(int32_t *)(v12 + 12); int32_t v69 = function_1e3df20(v68); // 0x1e29e65 g2 = v69; g5 = v69; int32_t v70; // 0x1e29e8b if (v69 == 0) { // 0x1e29e3c v70 = g8; } else { // 0x1e29e73 g2 = v17; *(int32_t *)g9 = v17; *(int32_t *)(g9 - 4) = v18; *(int32_t *)(g9 - 8) = a4; *(int32_t *)(g9 - 12) = a3; *(int32_t *)(g9 - 16) = a2; int32_t v71 = function_1e305a4((int32_t)&g708, (int32_t)&g708, (int32_t)&g708, &g708, &g708); // 0x1e29e84 g2 = v71; g8 = v71; v70 = v71; } // 0x1e29e8b g4 = v70; g2 = a6; g5 = v70; *(int32_t *)(v70 + 13) = a6; *(int32_t *)(g9 - 4) = a5; g2 = function_1e3061f((int32_t)&g708); int32_t v72 = g8; // 0x1e29e9d g2 = *(int32_t *)v72; g5 = v14; int32_t v73 = *v15; // 0x1e29ea7 int32_t v74 = *(int32_t *)v73; // 0x1e29ea9 g2 = v74; int32_t v75; // 0x1e29ec1 if (*(int32_t *)(v73 + 4) == v74) { // 0x1e29eb0 g5 = a2; *(int32_t *)(g9 - 4) = *v19; *(int32_t *)(g9 - 8) = v73; int32_t v76 = function_1e3a739((int32_t)&g708, (int32_t)&g708); // 0x1e29eb7 g2 = v76; g5 = v14; *v15 = v76; v75 = g8; } else { v75 = v72; } // 0x1e29ec1 *(int32_t *)(g9 - 4) = v75; g5 = v14; g8 = v20; *(int32_t *)(g9 - 8) = *v15; g2 = function_1e3a6a7((int32_t)&g708, (int32_t)&g708); *(int32_t *)&v8 = *(int32_t *)&v10; int32_t v77 = g1 ? -4 : 4; // 0x1e29ed2 int32_t v78 = v77 + (int32_t)&v8; // 0x1e29ed2 int32_t v79 = v77 + g8; // 0x1e29ed2 *(int32_t *)v78 = *(int32_t *)v79; int32_t v80 = v78 + v77; // 0x1e29ed3 int32_t v81 = v79 + v77; // 0x1e29ed3 *(int32_t *)v80 = *(int32_t *)v81; g6 = v80 + v77; g8 = v81 + v77; g5 = v67; int32_t v82 = v9 + 1; // 0x1e29ed8 if (v82 >= v6) { // break -> 0x1e29eef goto lab_0x1e29eef; } v12 = v67; v9 = v82; goto lab_0x1e29d0d; lab_0x1e29d9e: // 0x1e29d9e g11 = v13; uint32_t v83 = (int32_t)__asm_fnstsw(g10); // 0x1e29da3 g2 = g2 & -0x10000 | v83; if ((v83 / 256 & 65) == 0) { uint32_t v84 = (int32_t)__asm_fnstsw(g10); // 0x1e29db1 g2 = g2 & -0x10000 | v84; if ((v84 / 256 & 65) == 0) { goto lab_0x1e29dba; } else { goto lab_0x1e29e3c; } } else { goto lab_0x1e29e3c; } lab_0x1e29dba: // 0x1e29dba *(int32_t *)(g9 - 4) = 37; int32_t v85 = function_1e3df20((int32_t)&g708); // 0x1e29dbc g2 = v85; g4 = v85; int32_t v86; // 0x1e29e0a if (v85 == 0) { // 0x1e29e05 g4 = 0; v86 = 0; } else { // 0x1e29dca g5 = a2; g2 = a3; v7 = v85 + 21; *(int32_t *)v85 = (int32_t)&g28; *(int32_t *)(g4 + 4) = g5; *(int32_t *)(g4 + 8) = g2; *(int32_t *)(g4 + 17) = a4; *(char *)(g4 + 12) = 0; *(int32_t *)g4 = (int32_t)&g29; *(float32_t *)(g4 + 33) = (float32_t)(v21 * v21); *(int32_t *)v7 = (int32_t)v10; int32_t v87 = g1 ? -4 : 4; // 0x1e29e00 int32_t v88 = v87 + v7; // 0x1e29e00 int32_t v89 = v87 + v20; // 0x1e29e00 *(int32_t *)v88 = *(int32_t *)v89; int32_t v90 = v88 + v87; // 0x1e29e01 *(int32_t *)v90 = *(int32_t *)(v89 + v87); g6 = v90 + v87; v86 = g4; } // 0x1e29e07 g2 = a6; g8 = *(int32_t *)v86; *(int32_t *)(v86 + 13) = a6; g5 = v14; int32_t v91 = *v15; // 0x1e29e17 int32_t v92 = *(int32_t *)v91; // 0x1e29e19 g2 = v92; if (*(int32_t *)(v91 + 4) == v92) { // 0x1e29e20 g5 = a2; *(int32_t *)(g9 - 4) = *v19; *(int32_t *)(g9 - 8) = v91; int32_t v93 = function_1e3a739((int32_t)&g708, (int32_t)&g708); // 0x1e29e27 g2 = v93; g5 = v14; *v15 = v93; } // 0x1e29e31 *(int32_t *)(g9 - 4) = g4; g5 = v14; *(int32_t *)(g9 - 8) = *v15; g2 = function_1e3a6a7((int32_t)&g708, (int32_t)&g708); goto lab_0x1e29e3c; } // Address range: 0x1e29efa - 0x1e29efb int32_t function_1e29efa(void) { // 0x1e29efa return g2; } // Address range: 0x1e29efb - 0x1e29efc int32_t function_1e29efb(void) { // 0x1e29efb return g2; } // Address range: 0x1e29efc - 0x1e29efd int32_t function_1e29efc(void) { // 0x1e29efc return g2; } // Address range: 0x1e29efd - 0x1e29f0d int32_t function_1e29efd(int32_t a1) { int32_t v1 = g5 + 21; // 0x1e29efd g5 = v1; int32_t result = function_1e3a828(a1, v1); // 0x1e29f05 g2 = result; return result; } // Address range: 0x1e29f0d - 0x1e29f8c int32_t function_1e29f0d(int32_t a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5) { int32_t v1 = g3; // bp-4 g3 = &v1; int32_t v2 = g6; // 0x1e29f15 g4 = a1; int32_t v3 = a1 + 54; // edi *(int32_t *)(a1 + 106) = 0; *(int32_t *)v3 = *(int32_t *)a2; int32_t v4 = g1 ? -4 : 4; // 0x1e29f26 int32_t v5 = v4 + v3; // 0x1e29f26 int32_t v6 = v4 + a2; // 0x1e29f26 *(int32_t *)v5 = *(int32_t *)v6; int32_t v7 = v5 + v4; // 0x1e29f27 *(int32_t *)v7 = *(int32_t *)(v6 + v4); g6 = v7 + v4; int32_t v8 = function_1e3df30(); // 0x1e29f29 int32_t v9 = g4 + 54; // 0x1e29f37 g2 = v9; float80_t v10 = (float80_t)(float32_t)a3 * (1.0L - 2.0L * 3.05185094759971922707e-5L * (float80_t)v8); // 0x1e29f4c g2 = function_1e30da5(v9, v10); int32_t v11 = function_1e3df30(); // 0x1e29f58 g2 = v11; g6 = v9; g8 = (float32_t)v10; float80_t v12 = a4; // 0x1e29f7a *(float32_t *)(g4 + 66) = (float32_t)(v12 + v12 * (float80_t)(float32_t)a5 * (1.0L - 2.0L * 3.05185094759971922707e-5L * (float80_t)v11)); g4 = v2; g3 = v1; return g2; } // Address range: 0x1e29f8c - 0x1e2a1e2 int32_t function_1e29f8c(int32_t a1, int32_t a2, int32_t a3, int32_t a4) { // 0x1e29f8c int32_t v1; // bp-124 int32_t v2 = &v1; // 0x1e29f8f *(int32_t *)g5 = (int32_t)&g30; int32_t v3 = g5; // 0x1e29f9b g8 = v3; g2 = a1; g5 = 0; *(int32_t *)(v3 + 30) = a1; *(int32_t *)(g8 + 6) = g5; *(char *)(g8 + 4) = (char)g5; *(char *)(g8 + 5) = (char)g5; int32_t v4 = g2; // 0x1e29fae if (v4 != g5) { int32_t v5 = v4 + 254; // 0x1e29fb2 g6 = v5; int32_t v6 = v4 + 250; // 0x1e29fb8 g2 = v6; int32_t v7 = *(int32_t *)v5; // 0x1e29fbd g7 = v7; int32_t v8 = *(int32_t *)v7; // 0x1e29fbf g5 = v8; if (*(int32_t *)(v7 + 4) == v8) { int32_t v9 = function_1e3a739(v7, *(int32_t *)v6); // 0x1e29fc9 g2 = v9; *(int32_t *)g6 = v9; } // 0x1e29fd0 *(int32_t *)(g9 - 4) = g8; *(int32_t *)(g9 - 8) = *(int32_t *)g6; g2 = function_1e3a6a7((int32_t)&g708, (int32_t)&g708); } if (a2 >= 0) { // 0x1e29fde *(int32_t *)(g9 - 4) = a2; int32_t v10 = function_1e398f4((int32_t)&g708); // 0x1e29fe1 g2 = v10; *(int32_t *)(g8 + 10) = v10; } // 0x1e29fe9 g6 = 0; if (a3 != 0) { if (a2 >= 0) { // 0x1e29ffd *(int32_t *)(g9 - 4) = a2; int32_t v11 = function_1e392d4((int32_t)&g708); // 0x1e2a000 g2 = v11; int32_t v12 = g6; // 0x1e2a008 if (v11 > v12) { while (true) { // 0x1e2a013 g2 = v2; *(int32_t *)(g9 - 4) = v2; *(int32_t *)(g9 - 8) = v12; *(int32_t *)(g9 - 12) = a2; int32_t v13 = function_1e39641((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e2a01d g2 = v13; int32_t v14 = g6; // 0x1e2a022 int32_t v15; int32_t v16; // 0x1e2a083 if (v15 != v14) { // 0x1e2a027 if (*(int32_t *)(g8 + 34) == v14) { // 0x1e2a02c *(int32_t *)(g9 - 4) = 8; int32_t v17 = function_1e3df20((int32_t)&g708); // 0x1e2a02e g2 = v17; if (v17 == 0) { // 0x1e2a052 *(int32_t *)(g8 + 34) = g6; } else { // 0x1e2a03c *(int32_t *)g9 = v11; int32_t v18 = function_1e3a705((int32_t)&g708); // 0x1e2a03f g2 = v18; *(int32_t *)(v17 + 4) = v18; *(int32_t *)v17 = 4; *(int32_t *)(g8 + 34) = v17; } } int32_t v19 = *(int32_t *)(g8 + 34); // 0x1e2a058 g4 = v19; int32_t v20 = *(int32_t *)(v19 + 4); // 0x1e2a05e g5 = v20; int32_t v21 = *(int32_t *)v20; // 0x1e2a061 g2 = v21; if (*(int32_t *)(v20 + 4) == v21) { // 0x1e2a068 *(int32_t *)(g9 - 4) = *(int32_t *)v19; *(int32_t *)(g9 - 8) = g5; int32_t v22 = function_1e3a739(v15, (int32_t)&g708); // 0x1e2a06b g2 = v22; *(int32_t *)(g4 + 4) = v22; } // 0x1e2a073 *(int32_t *)(g9 - 8) = *(int32_t *)(g4 + 4); g2 = function_1e3a6a7((int32_t)&g708, (int32_t)&g708); v16 = g6; } else { v16 = v14; } int32_t v23; if (v23 != v16) { // 0x1e2a083 if (*(int32_t *)(g8 + 38) == v16) { // 0x1e2a088 *(int32_t *)(g9 - 4) = 8; int32_t v24 = function_1e3df20((int32_t)&g708); // 0x1e2a08a g2 = v24; if (v24 == 0) { // 0x1e2a0ae *(int32_t *)(g8 + 38) = g6; } else { // 0x1e2a098 *(int32_t *)g9 = v11; int32_t v25 = function_1e3a705((int32_t)&g708); // 0x1e2a09b g2 = v25; *(int32_t *)(v24 + 4) = v25; *(int32_t *)v24 = 4; *(int32_t *)(g8 + 38) = v24; } } int32_t v26 = *(int32_t *)(g8 + 38); // 0x1e2a0b4 g4 = v26; int32_t v27 = *(int32_t *)(v26 + 4); // 0x1e2a0ba g5 = v27; int32_t v28 = *(int32_t *)v27; // 0x1e2a0bd g2 = v28; if (*(int32_t *)(v27 + 4) == v28) { // 0x1e2a0c4 *(int32_t *)(g9 - 4) = *(int32_t *)v26; *(int32_t *)(g9 - 8) = g5; int32_t v29 = function_1e3a739(v23, (int32_t)&g708); // 0x1e2a0c7 g2 = v29; *(int32_t *)(g4 + 4) = v29; } // 0x1e2a0cf *(int32_t *)(g9 - 8) = *(int32_t *)(g4 + 4); g2 = function_1e3a6a7((int32_t)&g708, (int32_t)&g708); } int32_t v30 = v12 + 1; // 0x1e2a0da g2 = v30; if (v11 == v30) { // break -> 0x1e2a0e9 break; } v12 = v30; } } int32_t v31 = g8; // 0x1e2a0e9 int32_t v32 = *(int32_t *)(v31 + 38); // 0x1e2a0e9 g2 = v32; int32_t v33; // 0x1e2a0f3 if (v32 != 0) { int32_t v34 = *(int32_t *)(v32 + 4); // 0x1e2a0f0 g2 = v34; v33 = *(int32_t *)(v34 + 8); g5 = v33; } else { int32_t v35; v33 = v35; } int32_t v36 = *(int32_t *)(v31 + 34); // 0x1e2a0f9 g5 = v36; if (v36 != 0) { int32_t * v37 = (int32_t *)(v36 + 4); // 0x1e2a104 int32_t v38 = *v37; // 0x1e2a104 g2 = v38; int32_t v39 = a1 + 234; // 0x1e2a10a int32_t v40 = *(int32_t *)(v38 + 8); // 0x1e2a110 int32_t v41 = *(int32_t *)(v40 + 29); // 0x1e2a116 g2 = v41; int32_t * v42 = (int32_t *)v39; // 0x1e2a119 int32_t v43 = v41 - *v42; // 0x1e2a119 g2 = v43; int32_t v44 = a1 + 238; // 0x1e2a11e g6 = v44; int32_t v45 = *(int32_t *)(v40 + 33); // 0x1e2a127 g2 = v45; g2 = v45 - *(int32_t *)v44; int32_t v46 = *v37; // 0x1e2a142 g2 = v46; int32_t v47; // 0x1e2a19b int32_t v48; // 0x1e2a170 if (*(int32_t *)(v46 + 4) > 1) { // 0x1e2a14b v48 = &v43; int32_t v49; // 0x1e2a163 int32_t v50 = &v49; // 0x1e2a17a int32_t v51 = 4; // 0x1e2a153 int32_t v52 = *(int32_t *)(v31 + 34); // 0x1e2a150 g2 = v52; g4 = v51 + 4; int32_t v53 = *(int32_t *)(v51 + 8 + *(int32_t *)(v52 + 4)); // 0x1e2a159 g5 = v53; int32_t v54 = *(int32_t *)(v53 + 29); // 0x1e2a160 g2 = v54; v49 = v54 - *v42; g2 = v49; int32_t v55 = *(int32_t *)(v53 + 33); // 0x1e2a168 g2 = v55; g2 = v48; int32_t v56 = *(int32_t *)(v53 + 12); // 0x1e2a173 *(int32_t *)(g9 - 4) = v48; g5 += 16; *(int32_t *)(g9 - 8) = v50; *(int32_t *)(g9 - 12) = v48; g2 = function_1e3a358(v49, v55 - *(int32_t *)v44, v56); int32_t v57 = g8; // 0x1e2a18a int32_t v58 = 2; // 0x1e2a18d g2 = v58; int32_t v59 = *(int32_t *)(*(int32_t *)(v57 + 34) + 4); // 0x1e2a193 g5 = v59; v47 = v57; while (*(int32_t *)(v59 + 4) > v58) { // 0x1e2a150 v51 = g4; v52 = *(int32_t *)(v57 + 34); g2 = v52; g4 = v51 + 4; v53 = *(int32_t *)(v51 + 8 + *(int32_t *)(v52 + 4)); g5 = v53; v54 = *(int32_t *)(v53 + 29); g2 = v54; v49 = v54 - *v42; g2 = v49; v55 = *(int32_t *)(v53 + 33); g2 = v55; g2 = v48; v56 = *(int32_t *)(v53 + 12); *(int32_t *)(g9 - 4) = v48; g5 += 16; *(int32_t *)(g9 - 8) = v50; *(int32_t *)(g9 - 12) = v48; g2 = function_1e3a358(v49, v55 - *(int32_t *)g6, v56); v57 = g8; v58++; g2 = v58; v59 = *(int32_t *)(*(int32_t *)(v57 + 34) + 4); g5 = v59; v47 = v57; } } else { // 0x1e2a104 v48 = &v43; v47 = v31; } int32_t v60 = *(int32_t *)(v47 + 34); // 0x1e2a19b g2 = v60; g2 = v48; *(int32_t *)(g9 - 4) = v48; int32_t v61 = *(int32_t *)(*(int32_t *)(v60 + 4) + 8); // 0x1e2a1a5 g5 = v61; g7 = v39; int32_t v62 = *(int32_t *)(v61 + 33); // 0x1e2a1ab g2 = v62; int32_t v63 = v62 - *(int32_t *)g6; // 0x1e2a1ae g2 = v63; *(int32_t *)(g9 - 8) = v63; int32_t v64 = *(int32_t *)(g5 + 29); // 0x1e2a1b1 g2 = v64; *(int32_t *)(g9 - 12) = v64 - *(int32_t *)g7; g2 = 1; *(int32_t *)(g9 - 16) = v33; *(int32_t *)(g9 - 20) = g5; int32_t v65; // 0x1e2a1c8 if (v11 >= 0 == (v11 != 0)) { // 0x1e2a19b v65 = g2; } else { // 0x1e2a1c6 g2 = 0; v65 = 0; } // 0x1e2a1c8 *(int32_t *)(g9 - 24) = v65; int32_t v66 = function_1e298eb((int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e2a1c9 g2 = v66; *(int32_t *)(g8 + 26) = v66; } } } // 0x1e2a1d1 g2 = a2; g6 = *(int32_t *)g9; *(int32_t *)(g8 + 22) = a2; int32_t result = g8; // 0x1e2a1d8 g2 = result; g8 = *(int32_t *)g9; g4 = *(int32_t *)(g9 + 4); return result; } // Address range: 0x1e2a1e2 - 0x1e2a1e3 int32_t function_1e2a1e2(void) { // 0x1e2a1e2 return g2; } // Address range: 0x1e2a1e3 - 0x1e2a201 int32_t function_1e2a1e3(char a1) { // 0x1e2a1e3 g2 = function_1e2a201(); if ((a1 & 1) != 0) { // 0x1e2a1f2 g2 = function_1e3df60(g8); } // 0x1e2a1fb g2 = g8; return g8; } // Address range: 0x1e2a201 - 0x1e2a251 int32_t function_1e2a201(void) { int32_t v1 = g5; // 0x1e2a203 g2 = *(int32_t *)(v1 + 30); *(int32_t *)v1 = (int32_t)&g30; int32_t v2 = g5; // 0x1e2a20c g8 = v2; int32_t v3 = g2; // 0x1e2a20e int32_t v4; // 0x1e2a21e int32_t v5; // 0x1e2a219 if (v3 != 0) { // 0x1e2a212 v5 = function_1e3a6ca(*(int32_t *)(v3 + 254), v2); g2 = v5; v4 = g8; } else { v5 = 0; v4 = v2; } int32_t v6 = *(int32_t *)(v4 + 34); // 0x1e2a21e g6 = v6; int32_t v7; // 0x1e2a236 int32_t v8; // 0x1e2a22e if (v6 != 0) { // 0x1e2a225 *(int32_t *)(g9 - 4) = *(int32_t *)(v6 + 4); g2 = function_1e3a728((int32_t)&g708); *(int32_t *)(g9 - 4) = v6; v8 = function_1e3df60((int32_t)&g708); g2 = v8; v7 = g8; } else { v8 = v5; v7 = v4; } int32_t v9 = *(int32_t *)(v7 + 38); // 0x1e2a236 g8 = v9; int32_t v10; // 0x1e2a24e int32_t result; // 0x1e2a250 if (v9 == 0) { // 0x1e2a236 result = v8; v10 = g9; } else { // 0x1e2a23d *(int32_t *)(g9 - 4) = *(int32_t *)(v9 + 4); g2 = function_1e3a728((int32_t)&g708); *(int32_t *)(g9 - 4) = v9; int32_t v11 = function_1e3df60((int32_t)&g708); // 0x1e2a246 g2 = v11; result = v11; v10 = g9 + 4; } // 0x1e2a24e g6 = *(int32_t *)v10; g8 = *(int32_t *)(v10 + 4); return result; } // Address range: 0x1e2a251 - 0x1e2a26b int32_t function_1e2a251(int32_t a1) { // 0x1e2a251 g2 = a1; *(int32_t *)(g5 + 6) = a1; if (g2 == 1024) { // 0x1e2a25f *(int32_t *)(g5 + 6) = 0; } // 0x1e2a266 g2 = 0; return 0; } // Address range: 0x1e2a26b - 0x1e2a270 int32_t function_1e2a26b(void) { // 0x1e2a26b g2 = 0; return 0; } // Address range: 0x1e2a270 - 0x1e2a273 int32_t function_1e2a270(void) { // 0x1e2a270 return g2; } // Address range: 0x1e2a273 - 0x1e2a30e int32_t function_1e2a273(int32_t a1, uint32_t a2) { int32_t v1 = g3; // bp-4 g3 = &v1; int32_t v2 = g6; // 0x1e2a27b g6 = g5; g2 = function_1e29f8c(a1, a2, 0, v2); int32_t v3 = function_1e3a705(4); // 0x1e2a28e g2 = v3; *(int32_t *)(g6 + 46) = v3; *(int32_t *)g6 = (int32_t)&g31; *(int32_t *)(g6 + 42) = 4; *(int32_t *)(g6 + 50) = 0; if (a2 >= 1) { // 0x1e2a2ae int32_t v4; // bp-8 g2 = &v4; g4 = 0; int32_t v5 = function_1e39996(a2, 1027, &v4); // 0x1e2a2ba g2 = v5; if (v4 > g4) { while (true) { int32_t v6 = (int32_t)*(int16_t *)v5; // 0x1e2a2c6 g2 = v6; *(int32_t *)(g9 - 4) = v6; g5 = a1; int32_t v7 = function_1e2e83c((int32_t)&g708); // 0x1e2a2cd g2 = v7; if (v7 != 0) { int32_t v8 = g6; // 0x1e2a2d9 int32_t v9 = *(int32_t *)(v8 + 46); // 0x1e2a2d9 g5 = v9; int32_t v10 = *(int32_t *)v9; // 0x1e2a2dc g2 = v10; if (*(int32_t *)(v9 + 4) == v10) { // 0x1e2a2e3 *(int32_t *)(g9 - 4) = *(int32_t *)(v8 + 42); *(int32_t *)(g9 - 8) = g5; int32_t v11 = function_1e3a739(v7, (int32_t)&g708); // 0x1e2a2e7 g2 = v11; *(int32_t *)(g6 + 46) = v11; } // 0x1e2a2ef *(int32_t *)(g9 - 4) = v7; *(int32_t *)(g9 - 8) = *(int32_t *)(g6 + 46); g2 = function_1e3a6a7((int32_t)&g708, (int32_t)&g708); } int32_t v12 = g4 + 1; // 0x1e2a2fa g4 = v12; if (v4 <= v12) { // break -> 0x1e2a303 break; } v5 = g8 + 2; } } } int32_t result = g6; // 0x1e2a303 g2 = result; g6 = *(int32_t *)g9; g4 = *(int32_t *)(g9 + 8); g3 = v1; return result; } // Address range: 0x1e2a30e - 0x1e2a32c int32_t function_1e2a30e(char a1) { // 0x1e2a30e int32_t v1; // esi g2 = function_1e2a32c(v1); if ((a1 & 1) != 0) { // 0x1e2a31d g2 = function_1e3df60(g8); } // 0x1e2a326 g2 = g8; return g8; } // Address range: 0x1e2a32c - 0x1e2a35a int32_t function_1e2a32c(int32_t a1) { int32_t v1 = g5; // 0x1e2a32e int32_t v2 = *(int32_t *)(v1 + 50); // 0x1e2a32e g2 = v2; *(int32_t *)v1 = (int32_t)&g31; int32_t v3 = g5; // 0x1e2a337 g6 = v3; g8 = 0; int32_t v4; // 0x1e2a348 if (v2 != 0) { // 0x1e2a33f g2 = function_1e32771(v2); *(int32_t *)(g6 + 50) = g8; v4 = g6; } else { v4 = v3; } // 0x1e2a348 *(int32_t *)(g9 - 4) = *(int32_t *)(v4 + 46); g2 = function_1e3a728((int32_t)&g708); g5 = g6; int32_t result = function_1e2a201(); // 0x1e2a352 g2 = result; g6 = *(int32_t *)g9; g8 = *(int32_t *)(g9 + 4); return result; } // Address range: 0x1e2a35a - 0x1e2a370 int32_t function_1e2a35a(int32_t a1) { // 0x1e2a35a g2 = a1; *(int32_t *)(a1 + 50) = 0; int32_t result = function_1e328b9(61, a1); // 0x1e2a368 g2 = result; return result; } // Address range: 0x1e2a370 - 0x1e2a3f7 int32_t function_1e2a370(uint32_t a1, int32_t a2) { // 0x1e2a370 g2 = a1; int32_t v1; // edi int32_t v2 = v1; // bp-16 int32_t v3 = g5; // 0x1e2a37d g8 = v3; if (a1 == 48) { int32_t v4 = v3 + 50; // 0x1e2a3c5 g6 = v4; g4 = 0; int32_t v5 = *(int32_t *)v4; // 0x1e2a3ca g2 = v5; if (v5 != 0) { // 0x1e2a3d0 g2 = function_1e32771(v5); *(int32_t *)g6 = g4; } if (a2 > 0) { // 0x1e2a3de *(int32_t *)(g9 - 4) = 0x1e2a35a; *(int32_t *)(g9 - 8) = g8; *(int32_t *)(g9 - 12) = a2; int32_t v6 = function_1e325d2((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e2a3e7 g2 = v6; *(int32_t *)g6 = v6; } // 0x1e2a3ee g2 = 0; return 0; } if (a1 >= 1008) { if (a1 <= 1011) { // 0x1e2a3ee g2 = 0; return 0; } if (a1 == 1020) { // 0x1e2a3ee g2 = 0; return 0; } if (a1 == 1022) { // 0x1e2a3ee g2 = 0; return 0; } } int32_t v7 = *(int32_t *)(v3 + 46); // 0x1e2a39d g2 = v7; int32_t v8 = *(int32_t *)(v7 + 4) - 1; // 0x1e2a3a3 g2 = v8; if (v8 < 0) { // 0x1e2a3ee g2 = 0; return 0; } int32_t v9 = &v2; // 0x1e2a3ad *(int32_t *)(v9 - 4) = a2; g2 = *(int32_t *)(g8 + 46); int32_t v10 = v9 - 8; // 0x1e2a3b3 *(int32_t *)v10 = a1; int32_t v11 = 4 * v8; // 0x1e2a3b6 g5 = *(int32_t *)(g2 + 8 + v11); int32_t v12 = v11 - 4; // 0x1e2a3be while (v12 >= 0) { // 0x1e2a3ad v9 = v10; *(int32_t *)(v9 - 4) = a2; g2 = *(int32_t *)(g8 + 46); v10 = v9 - 8; *(int32_t *)v10 = a1; v11 = v12; g5 = *(int32_t *)(g2 + 8 + v11); v12 = v11 - 4; } // 0x1e2a3ee g2 = 0; return 0; } // Address range: 0x1e2a3f7 - 0x1e2a4a8 int32_t function_1e2a3f7(int32_t a1, int32_t a2, int32_t a3, int32_t a4) { int32_t v1 = g3; // bp-4 g3 = &v1; int32_t v2; // bp-76 int32_t v3 = &v2; // 0x1e2a3fa int32_t v4 = g6; // 0x1e2a3ff g6 = g5; g2 = function_1e29f8c(a1, a2, 1, v4); int32_t v5 = function_1e3a705(4); // 0x1e2a412 g2 = v5; *(int32_t *)(g6 + 46) = v5; *(int32_t *)g6 = (int32_t)&g32; *(int32_t *)(g6 + 42) = 4; *(char *)(g6 + 5) = 1; int32_t v6 = g6; // 0x1e2a42b if (*(int32_t *)(v6 + 10) != 0) { // 0x1e2a431 *(char *)(v6 + 4) = 1; } // 0x1e2a435 g2 = v3; if (a2 < 1) { // 0x1e2a471 g2 = function_1e390d0(&v2); } else { // 0x1e2a43f g2 = function_1e39641(a2, 0, v3); int32_t v7 = g4; // 0x1e2a446 if (v7 != a3) { // 0x1e2a44b g2 = g6 + 5; int32_t v8 = function_1e3991a(a2, v7); // 0x1e2a464 g2 = v8; int32_t v9 = function_1e29b62(v8, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e2a46a g2 = v9; } } *(int32_t *)(g6 + 54) = g5; *(int32_t *)(g6 + 58) = v2; *(int32_t *)(g6 + 62) = g2; g2 = g6; *(int32_t *)(g6 + 74) = g5; *(int32_t *)(g6 + 70) = v2; *(int32_t *)(g6 + 22) = a2; g6 = *(int32_t *)g9; g8 = *(int32_t *)(g9 + 4); g4 = *(int32_t *)(g9 + 8); g3 = v1; return g2; } // Address range: 0x1e2a4a8 - 0x1e2a4ad int32_t function_1e2a4a8(void) { // 0x1e2a4a8 g2 = 0; return 0; } // Address range: 0x1e2a4ad - 0x1e2a4cb int32_t function_1e2a4ad(char a1) { // 0x1e2a4ad g2 = function_1e2a4cb(); if ((a1 & 1) != 0) { // 0x1e2a4bc g2 = function_1e3df60(g8); } // 0x1e2a4c5 g2 = g8; return g8; } // Address range: 0x1e2a4cb - 0x1e2a510 int32_t function_1e2a4cb(void) { // 0x1e2a4cb *(int32_t *)g5 = (int32_t)&g32; int32_t v1 = g6; // bp-12 int32_t v2 = &v1; // 0x1e2a4d3 int32_t v3 = g5; // 0x1e2a4d4 int32_t v4 = v3 + 46; // 0x1e2a4d4 g6 = v4; g8 = v3; int32_t v5 = *(int32_t *)v4; // 0x1e2a4d9 g2 = v5; int32_t v6; // 0x1e2a4fe int32_t v7; // 0x1e2a4fe if (*(int32_t *)(v5 + 4) != 0) { int32_t v8 = v2; // 0x1e2a4e6 int32_t v9 = v4; // 0x1e2a4e1 while (true) { int32_t v10 = *(int32_t *)v9; // 0x1e2a4e1 g2 = v10; int32_t v11 = *(int32_t *)(v10 + 8); // 0x1e2a4e3 *(int32_t *)(v8 - 4) = v11; *(int32_t *)(v8 - 8) = g2; g2 = function_1e3a6ca((int32_t)&g708, (int32_t)&g708); *(int32_t *)(g9 - 4) = v11; g2 = function_1e3df60((int32_t)&g708); int32_t v12 = g9 + 4; // 0x1e2a4f3 int32_t v13 = g6; // 0x1e2a4f6 int32_t v14 = *(int32_t *)v13; // 0x1e2a4f6 g2 = v14; if (*(int32_t *)(v14 + 4) == 0) { v7 = v12; v6 = v13; // break -> 0x1e2a4fe break; } v8 = v12; v9 = v13; } } else { v7 = v2; v6 = v4; } // 0x1e2a4fe *(int32_t *)(v7 - 4) = *(int32_t *)v6; g2 = function_1e3a728((int32_t)&g708); g5 = g8; int32_t result = function_1e2a201(); // 0x1e2a507 g2 = result; g6 = *(int32_t *)g9; g8 = *(int32_t *)(g9 + 4); return result; } // Address range: 0x1e2a510 - 0x1e2a538 int32_t function_1e2a510(void) { int32_t * v1 = (int32_t *)(g5 + 46); // 0x1e2a512 int32_t v2 = *v1; // 0x1e2a512 g2 = v2; int32_t result = *(int32_t *)(v2 + 4) - 1; // 0x1e2a51a g2 = result; if (result < 0) { // 0x1e2a535 return result; } int32_t result2; // 0x1e2a52b for (int32_t i = 4 * result; i >= 3; i -= 4) { int32_t v3 = *v1; // 0x1e2a524 g2 = v3; int32_t v4 = *(int32_t *)(i + 8 + v3); // 0x1e2a527 g5 = v4; result2 = *(int32_t *)v4; g2 = result2; } // 0x1e2a535 return result2; } // Address range: 0x1e2a538 - 0x1e2a5b8 int32_t function_1e2a538(int32_t a1, int32_t a2, int32_t a3) { int32_t v1 = g5; // 0x1e2a53f int32_t v2 = *(int32_t *)(v1 + 30); // 0x1e2a53f g2 = v2; int32_t result; if (*(int32_t *)(v2 + 370) != 0) { int32_t v3 = *(int32_t *)(v1 + 58); // 0x1e2a554 int32_t v4 = *(int32_t *)(v1 + 54); // 0x1e2a557 result = (float32_t)function_1e2f084(a1, a2, a3, v4, v3, 0x4e6e6b28, 0); // 0x1e2a5af g2 = result; // 0x1e2a5b1 return result; } int32_t v5 = *(int32_t *)(v1 + 62); // 0x1e2a56a int32_t v6 = *(int32_t *)(v1 + 66); // 0x1e2a56d int32_t v7 = *(int32_t *)(v1 + 58); // 0x1e2a570 int32_t v8 = *(int32_t *)(v1 + 54); // 0x1e2a573 g2 = (float32_t)function_1e2f084(a1, a2, a3, v8, v7, v6, v5); g11++; uint32_t v9 = (int32_t)__asm_fnstsw(g10); // 0x1e2a58a g2 = g2 & -0x10000 | v9; int32_t v10; if ((v9 / 256 & 65) == 0) { // 0x1e2a58f v10 = g8 + 74; } else { uint32_t v11 = (int32_t)__asm_fnstsw(g10); // 0x1e2a59d int32_t result2 = g2 & -0x10000 | v11; // 0x1e2a59d g2 = result2; if ((v11 / 256 & 65) != 0) { // 0x1e2a5b1 return result2; } // 0x1e2a5a2 v10 = g8 + 70; } int32_t v12 = *(int32_t *)v10; g2 = v12; if (v12 == 0) { // 0x1e2a5b1 return 0; } // 0x1e2a5a9 result = function_1e39a10(v12); // 0x1e2a5af g2 = result; // 0x1e2a5b1 return result; } // Address range: 0x1e2a5b8 - 0x1e2a64b int32_t function_1e2a5b8(int32_t a1, int32_t a2, int32_t a3) { int32_t v1 = g5; // 0x1e2a5bf int32_t v2 = *(int32_t *)(v1 + 30); // 0x1e2a5c1 g5 = v2; int32_t result; int32_t v3; if (*(int32_t *)(v2 + 370) == 0) { int32_t v4 = *(int32_t *)(v1 + 62); // 0x1e2a5ea int32_t v5 = *(int32_t *)(v1 + 66); // 0x1e2a5ed int32_t v6 = *(int32_t *)(v1 + 58); // 0x1e2a5f0 int32_t v7 = *(int32_t *)(v1 + 54); // 0x1e2a5f3 g2 = (float32_t)function_1e2f084(a1, a2, a3, v7, v6, v5, v4); g11++; uint32_t v8 = (int32_t)__asm_fnstsw(g10); // 0x1e2a60a g2 = g2 & -0x10000 | v8; if ((v8 / 256 & 65) == 0) { int32_t v9 = *(int32_t *)(g8 + 74); // 0x1e2a60f g2 = v9; if (v9 != 0) { // 0x1e2a616 g2 = function_1e39a10(v9); g11++; result = 1; } else { result = 1; } // 0x1e2a644 g2 = result; g8 = *(int32_t *)g9; return result; } uint32_t v10 = (int32_t)__asm_fnstsw(g10); // 0x1e2a62e g2 = g2 & -0x10000 | v10; if ((v10 / 256 & 65) == 0) { int32_t v11 = *(int32_t *)(g8 + 70); // 0x1e2a633 g2 = v11; if (v11 == 0) { goto lab_0x1e2a642; } else { // 0x1e2a63a v3 = function_1e39a10(v11); goto lab_0x1e2a640; } } else { goto lab_0x1e2a642; } } else { int32_t v12 = *(int32_t *)(v1 + 58); // 0x1e2a5d4 int32_t v13 = *(int32_t *)(v1 + 54); // 0x1e2a5d7 v3 = (float32_t)function_1e2f084(a1, a2, a3, v13, v12, 0x4e6e6b28, 0); goto lab_0x1e2a640; } lab_0x1e2a642: result = 0; // 0x1e2a644 g2 = result; g8 = *(int32_t *)g9; return result; lab_0x1e2a640: // 0x1e2a640 g2 = v3; g11++; goto lab_0x1e2a642; } // Address range: 0x1e2a64b - 0x1e2a68f int32_t function_1e2a64b(int32_t a1, int32_t a2) { // 0x1e2a64b g2 = function_1e2a3f7(a1, a2, 1, g8); int32_t v1 = *(int32_t *)(g8 + 26); // 0x1e2a65d g2 = v1; *(int32_t *)g8 = (int32_t)&g33; if (v1 != 0) { // 0x1e2a66a g2 = function_1e29a40(v1, 0); } int32_t v2 = *(int32_t *)(g8 + 34); // 0x1e2a672 g2 = v2; if (v2 != 0) { int32_t v3 = *(int32_t *)(v2 + 4); // 0x1e2a679 g2 = v3; int32_t v4 = *(int32_t *)(v3 + 8); // 0x1e2a67c g5 = v4; *(int32_t *)(g8 + 82) = v4; } // 0x1e2a682 *(int32_t *)(g8 + 78) = 0; g2 = g8; return g8; } // Address range: 0x1e2a68f - 0x1e2a6ad int32_t function_1e2a68f(char a1) { // 0x1e2a68f g2 = function_1e2a4cb(); if ((a1 & 1) != 0) { // 0x1e2a69e g2 = function_1e3df60(g8); } // 0x1e2a6a7 g2 = g8; return g8; } // Address range: 0x1e2a6ad - 0x1e2a6c9 int32_t function_1e2a6ad(int32_t a1, int32_t a2) { int32_t v1 = 0; // edi g2 = function_1e29a40(*(int32_t *)(a1 + 26), 0); *(int32_t *)(a1 + 78) = v1; *(int32_t *)(a1 + 6) = v1; return g2; } // Address range: 0x1e2a6c9 - 0x1e2a710 int32_t function_1e2a6c9(int32_t a1, int32_t a2, int32_t a3) { // 0x1e2a6c9 g8 = g5; int32_t v1 = function_1e2a5b8(a1, a2, a3); // 0x1e2a6d8 g2 = v1; if (v1 == 0) { // 0x1e2a70c return 0; } int32_t v2 = g8; // 0x1e2a6e1 int32_t v3 = *(int32_t *)(v2 + 82); // 0x1e2a6e1 g2 = v3; int32_t v4; // 0x1e2a704 if (v3 != 0) { // 0x1e2a6e8 g2 = function_1e29a40(*(int32_t *)(v2 + 26), v3); int32_t v5 = function_1e325d2(0x3dcccccd, g8, 0x1e2a6ad); // 0x1e2a6fc g2 = v5; *(int32_t *)(g8 + 78) = v5; v4 = g8; } else { v4 = v2; } // 0x1e2a704 *(int32_t *)(g9 - 4) = v4; *(int32_t *)(g9 - 8) = 63; int32_t result = function_1e328b9((int32_t)&g708, (int32_t)&g708); // 0x1e2a707 g2 = result; // 0x1e2a70c return result; } // Address range: 0x1e2a710 - 0x1e2a739 int32_t function_1e2a710(int32_t a1) { int32_t v1 = g5; // 0x1e2a719 g8 = v1; if (a1 != 1024) { // 0x1e2a733 g2 = 0; return 0; } int32_t v2 = *(int32_t *)(v1 + 78); // 0x1e2a71d g2 = v2; if (v2 != 0) { // 0x1e2a724 g2 = function_1e32771(v2); g2 = function_1e2a6ad(*(int32_t *)(g8 + 78), g8); } // 0x1e2a733 g2 = 0; return 0; } // Address range: 0x1e2a739 - 0x1e2a74d int32_t function_1e2a739(int32_t a1) { // 0x1e2a739 g2 = a1; int32_t result; if (a1 < 1) { // 0x1e2a746 result = *(int32_t *)(4 * a1 + 86 + g5); } else { result = 0; } // 0x1e2a74a g2 = result; return result; } // Address range: 0x1e2a74d - 0x1e2a761 int32_t function_1e2a74d(int32_t a1, int32_t a2) { // 0x1e2a74d g2 = a1; int32_t result; // 0x1e2a75e if (a1 < 1) { // 0x1e2a756 *(int32_t *)(4 * a1 + 86 + g5) = a2; result = g2; } else { result = a1; } // 0x1e2a75e return result; } // Address range: 0x1e2a761 - 0x1e2a891 int32_t function_1e2a761(int32_t a1, int32_t a2) { int32_t v1 = g3; // bp-4 g3 = &v1; int32_t v2; // bp-100 int32_t v3 = &v2; // 0x1e2a764 g2 = function_1e2a3f7(a1, a2, 0, g6); g5 = v3; *(int32_t *)g8 = (int32_t)&g34; int32_t v4 = a2; // bp-136 g2 = function_1e39641(a2, 0, v3); int32_t v5; if (v5 == 2) { // 0x1e2a797 int32_t v6; int32_t v7 = *(int32_t *)v6; // 0x1e2a79a g5 = v7; int32_t v8 = *(int32_t *)(v6 + 8); // 0x1e2a7a7 g5 = v8; g6 = 0; int32_t v9 = function_1e3df20(85); // 0x1e2a7b8 g2 = v9; int32_t v10; // 0x1e2a7e0 int32_t v11; // 0x1e2a7e8 if (v9 == 0) { // 0x1e2a797 v11 = &v4; v10 = g6; } else { int32_t v12 = g8; // 0x1e2a7cf g5 = v9; int32_t v13; int32_t v14 = function_1e305a4(v12, v12 + 5, v13, &v7, &v8); // 0x1e2a7d6 g2 = v14; g6 = v14; v11 = g9; v10 = v14; } // 0x1e2a7dd g5 = v10; int32_t v15 = a1 + 282; // 0x1e2a7e2 g4 = v15; *(int32_t *)(v11 - 4) = *(int32_t *)v15; g2 = function_1e3061f((int32_t)&g708); int32_t v16 = g6; // 0x1e2a7ef g2 = *(int32_t *)v16; g5 = v16; int32_t v17 = g8; // 0x1e2a7f6 int32_t v18 = *(int32_t *)(v17 + 46); // 0x1e2a7f6 g5 = v18; int32_t v19 = *(int32_t *)v18; // 0x1e2a7f9 g2 = v19; int32_t v20; // 0x1e2a80c if (*(int32_t *)(v18 + 4) == v19) { // 0x1e2a800 *(int32_t *)(g9 - 4) = *(int32_t *)(v17 + 42); *(int32_t *)(g9 - 8) = g5; int32_t v21 = function_1e3a739((int32_t)&g708, (int32_t)&g708); // 0x1e2a804 g2 = v21; *(int32_t *)(g8 + 46) = v21; v20 = g6; } else { v20 = v16; } // 0x1e2a80c *(int32_t *)(g9 - 4) = v20; *(int32_t *)(g9 - 8) = *(int32_t *)(g8 + 46); g2 = function_1e3a6a7((int32_t)&g708, (int32_t)&g708); *(int32_t *)(g9 - 4) = 85; g6 = g8 + 82; int32_t v22 = function_1e3df20((int32_t)&g708); // 0x1e2a81a g2 = v22; g5 = v22; if (v22 == 0) { // 0x1e2a841 *(int32_t *)g6 = 0; } else { int32_t v23 = &v7; // 0x1e2a828 g2 = v23; *(int32_t *)g9 = v23; *(int32_t *)(g9 - 4) = (int32_t)&v8; *(int32_t *)(g9 - 12) = g8 + 5; *(int32_t *)(g9 - 16) = g8; int32_t v24 = function_1e305a4((int32_t)&g708, (int32_t)&g708, (int32_t)&g708, &g708, &g708); // 0x1e2a838 g2 = v24; *(int32_t *)g6 = v24; } float32_t v25 = *(float32_t *)g4; // 0x1e2a847 g5 = *(int32_t *)g6; *(float32_t *)(g9 - 4) = -(float32_t)(0.8L * (float80_t)v25); g2 = function_1e3061f((int32_t)&g708); int32_t * v26 = (int32_t *)g6; // 0x1e2a85e int32_t v27 = *v26; // 0x1e2a85e g5 = v27; g2 = *(int32_t *)v27; int32_t v28 = *v26; // 0x1e2a865 g6 = v28; int32_t v29 = g8; // 0x1e2a867 int32_t v30 = *(int32_t *)(v29 + 46); // 0x1e2a867 g5 = v30; int32_t v31 = *(int32_t *)v30; // 0x1e2a86a g2 = v31; int32_t v32; // 0x1e2a87d if (*(int32_t *)(v30 + 4) == v31) { // 0x1e2a871 *(int32_t *)(g9 - 4) = *(int32_t *)(v29 + 42); *(int32_t *)(g9 - 8) = g5; int32_t v33 = function_1e3a739((int32_t)&g708, (int32_t)&g708); // 0x1e2a875 g2 = v33; *(int32_t *)(g8 + 46) = v33; v32 = g6; } else { v32 = v28; } // 0x1e2a87d *(int32_t *)(g9 - 4) = v32; *(int32_t *)(g9 - 8) = *(int32_t *)(g8 + 46); g2 = function_1e3a6a7((int32_t)&g708, (int32_t)&g708); } // 0x1e2a886 g2 = g8; g6 = *(int32_t *)g9; g4 = *(int32_t *)(g9 + 8); g3 = v1; return g8; } // Address range: 0x1e2a891 - 0x1e2a8af int32_t function_1e2a891(char a1) { // 0x1e2a891 g2 = function_1e2a4cb(); if ((a1 & 1) != 0) { // 0x1e2a8a0 g2 = function_1e3df60(g8); } // 0x1e2a8a9 g2 = g8; return g8; } // Address range: 0x1e2a8af - 0x1e2a978 int32_t function_1e2a8af(int32_t a1, int32_t a2, int32_t a3, float32_t a4, int32_t a5) { int32_t v1 = g5; // 0x1e2a8b4 g8 = v1; g6 = a5; if (*(int32_t *)(v1 + 82) != a5) { int32_t v2 = *(int32_t *)(v1 + 30); // 0x1e2a8be g2 = v2; if (*(int32_t *)(v2 + 370) != 0) { int32_t v3 = *(int32_t *)(v1 + 54); // 0x1e2a8d4 float80_t v4 = function_1e2f084(a1, a2, a3, v3, *(int32_t *)(v1 + 58), 0x4e6e6b28, 0); // 0x1e2a8e0 g2 = (float32_t)v4; // 0x1e2a972 return (float32_t)v4; } int32_t v5 = *(int32_t *)(v1 + 62); // 0x1e2a8ec int32_t v6 = *(int32_t *)(v1 + 66); // 0x1e2a8ef int32_t v7 = *(int32_t *)(v1 + 58); // 0x1e2a8f2 int32_t v8 = *(int32_t *)(v1 + 54); // 0x1e2a8f5 g2 = (float32_t)function_1e2f084(a1, a2, a3, v8, v7, v6, v5); g11++; uint32_t v9 = (int32_t)__asm_fnstsw(g10); // 0x1e2a90c int32_t result = g2 & -0x10000 | v9; // 0x1e2a90c g2 = result; if ((v9 / 256 & 65) != 0) { // 0x1e2a972 return result; } int32_t v10 = *(int32_t *)(g8 + 70); // 0x1e2a911 g2 = v10; int32_t result2; // 0x1e2a919 if (v10 != 0) { // 0x1e2a918 result2 = function_1e39a10(v10); g2 = result2; } else { result2 = 0; } // 0x1e2a972 return result2; } // 0x1e2a922 g5 = a1; int32_t v11 = a1 + 134; // 0x1e2a925 int32_t v12 = *(int32_t *)v11; // 0x1e2a92b g2 = v12; int32_t v13; // 0x1e2a943 if (v12 < 5) { // 0x1e2a932 *(int32_t *)(a1 + 114 + 4 * v12) = a5; int32_t * v14 = (int32_t *)v11; // 0x1e2a936 *v14 = *v14 + 1; v13 = g5; } else { v13 = a1; } float32_t v15 = *(float32_t *)(v13 + 70); // 0x1e2a938 float80_t v16 = (float80_t)v15 - (float80_t)a4; // st7 g2 = a2; *(int32_t *)(v13 + 42) = *(int32_t *)a2; g6 = *(int32_t *)(g2 + 4); *(float32_t *)(g5 + 70) = (float32_t)v16; *(int32_t *)(g5 + 46) = g6; int32_t v17 = g8; // 0x1e2a94f int32_t v18 = *(int32_t *)(v17 + 30); // 0x1e2a94f g5 = v18; if (*(int32_t *)(v18 + 370) != 0) { // 0x1e2a972 return g2; } int32_t v19 = *(int32_t *)(v17 + 74); // 0x1e2a95b g2 = v19; int32_t v20; // 0x1e2a96a if (v19 != 0) { // 0x1e2a962 g2 = function_1e39a10(v19); g11++; v20 = g8; } else { v20 = v17; } // 0x1e2a96a *(int32_t *)(g9 - 4) = v20; *(int32_t *)(g9 - 8) = 63; int32_t result3 = function_1e328b9((int32_t)&g708, (int32_t)&g708); // 0x1e2a96d g2 = result3; // 0x1e2a972 return result3; } // Address range: 0x1e2a978 - 0x1e2a98c int32_t function_1e2a978(int32_t a1) { // 0x1e2a978 g2 = a1; int32_t result; if (a1 < 6) { // 0x1e2a985 result = *(int32_t *)(4 * a1 + 86 + g5); } else { result = 0; } // 0x1e2a989 g2 = result; return result; } // Address range: 0x1e2a98c - 0x1e2a9a0 int32_t function_1e2a98c(int32_t a1, int32_t a2) { // 0x1e2a98c g2 = a1; int32_t result; // 0x1e2a99d if (a1 < 6) { // 0x1e2a995 *(int32_t *)(4 * a1 + 86 + g5) = a2; result = g2; } else { result = a1; } // 0x1e2a99d return result; } // Address range: 0x1e2a9a0 - 0x1e2aae3 int32_t function_1e2a9a0(int32_t a1) { // 0x1e2a9a0 int32_t v1; // bp-88 int32_t v2 = &v1; // 0x1e2a9a3 int32_t v3 = g6; // 0x1e2a9a8 g6 = 0; function_1e29f8c(a1, -1, 0, v3); *(int32_t *)g8 = (int32_t)&g35; *(int32_t *)(g8 + 106) = g6; *(int32_t *)(g8 + 134) = g6; *(int32_t *)(g8 + 78) = g6; *(int32_t *)(g8 + 70) = g6; *(int32_t *)(g8 + 74) = g6; *(int32_t *)(g8 + 66) = g6; *(int32_t *)(g8 + 58) = g6; g2 = 0x4e6e6b28; *(int32_t *)(g8 + 54) = g6; *(int32_t *)(g8 + 150) = g6; *(int32_t *)(g8 + 86) = g2; *(int32_t *)(g8 + 82) = g2; *(int32_t *)(g8 + 42) = g6; *(int32_t *)(g8 + 46) = g6; *(char *)(g8 + 5) = 1; *(int32_t *)(g8 + 110) = 1; int32_t v4 = function_1e3df20(8); // 0x1e2a9fd g2 = v4; g4 = v4; int32_t v5 = g6; // 0x1e2aa07 if (v4 == v5) { // 0x1e2aa1f *(int32_t *)(g8 + 34) = 0; } else { int32_t v6 = function_1e3a705(v5); // 0x1e2aa0c g2 = v6; *(int32_t *)(g4 + 4) = v6; *(int32_t *)g4 = 4; *(int32_t *)(g8 + 34) = g4; } // 0x1e2aa26 *(int32_t *)(g9 - 4) = (int32_t)"ball"; g2 = function_1e392c2((int32_t)&g708); *(int32_t *)(g9 - 4) = 500; int32_t v7 = g2; // 0x1e2aa37 *(int32_t *)(g9 - 8) = g6; *(int32_t *)(g9 - 12) = g2; g2 = function_1e3991a(v7, (int32_t)&g708); *(int32_t *)(g9 - 4) = v7; int32_t v8 = *(int32_t *)g2; // 0x1e2aa44 g2 = v8; *(int32_t *)(g8 + 154) = v8; int32_t v9 = function_1e392d4((int32_t)&g708); // 0x1e2aa4c g2 = v9; if (v9 > g6) { while (true) { // 0x1e2aa58 g2 = v2; *(int32_t *)(g9 - 4) = v2; *(int32_t *)(g9 - 8) = g6; *(int32_t *)(g9 - 12) = v7; function_1e39641((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); int32_t v10 = *(int32_t *)(g8 + 34); // 0x1e2aa68 g4 = v10; int32_t v11 = *(int32_t *)(v10 + 4); // 0x1e2aa6e g5 = v11; int32_t v12 = *(int32_t *)v11; // 0x1e2aa71 g2 = v12; if (*(int32_t *)(v11 + 4) == v12) { // 0x1e2aa78 *(int32_t *)(g9 - 4) = *(int32_t *)v10; *(int32_t *)(g9 - 8) = g5; int32_t v13; int32_t v14 = function_1e3a739(v13, (int32_t)&g708); // 0x1e2aa7b g2 = v14; *(int32_t *)(g4 + 4) = v14; } // 0x1e2aa83 *(int32_t *)(g9 - 8) = *(int32_t *)(g4 + 4); g2 = function_1e3a6a7((int32_t)&g708, (int32_t)&g708); *(int32_t *)(g9 - 4) = 501; *(int32_t *)(g9 - 8) = g6; *(int32_t *)(g9 - 12) = v7; int32_t v15 = function_1e3991a((int32_t)&g708, (int32_t)&g708); // 0x1e2aa97 g2 = v15; *(int32_t *)(g9 - 4) = v15; g6++; g2 = function_1e39ac5((int32_t)&g708); *(float32_t *)(g8 + 158 + 4 * g6) = (float32_t)g684; g11++; if (v9 <= g6) { // break -> 0x1e2aaaf break; } } } // 0x1e2aaaf g2 = 0; *(int32_t *)(g9 - 4) = 0; *(int32_t *)(g9 - 8) = g2; *(int32_t *)(g9 - 12) = g2; *(int32_t *)(g9 - 16) = g2; *(int32_t *)(g9 - 20) = g2; *(int32_t *)(g9 - 24) = 2; int32_t v16 = function_1e298eb((int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e2aab8 g2 = v16; g5 = *(int32_t *)(g8 + 30); *(int32_t *)(g8 + 26) = v16; int32_t v17 = *(int32_t *)(g8 + 154); // 0x1e2aac3 g2 = v17; g6 = *(int32_t *)g9; *(int32_t *)(g5 + 282) = v17; *(int32_t *)(g8 + 50) = *(int32_t *)(g8 + 154); int32_t result = g8; // 0x1e2aad9 g2 = result; g8 = *(int32_t *)g9; return result; } // Address range: 0x1e2aae3 - 0x1e2ab01 int32_t function_1e2aae3(char a1) { // 0x1e2aae3 g2 = function_1e2a201(); if ((a1 & 1) != 0) { // 0x1e2aaf2 g2 = function_1e3df60(g8); } // 0x1e2aafb g2 = g8; return g8; } // Address range: 0x1e2ab01 - 0x1e2ab52 int32_t function_1e2ab01(int32_t a1) { int32_t v1 = g5; // 0x1e2ab0b g8 = v1; if (a1 == 1024) { int32_t v2 = 0; // ebx g2 = function_1e29a6d(*(int32_t *)(v1 + 26), 0, 0, 0, 0); *(int32_t *)(g8 + 42) = 0; *(int32_t *)(g8 + 46) = v2; *(int32_t *)(g8 + 106) = v2; *(int32_t *)(g8 + 58) = v2; g2 = *(int32_t *)(g8 + 154); *(int32_t *)(g8 + 54) = v2; *(int32_t *)(g8 + 66) = v2; *(char *)(g8 + 5) = (char)v2; *(int32_t *)(g8 + 50) = g2; *(int32_t *)(g8 + 70) = v2; *(int32_t *)(g8 + 110) = 1; *(int32_t *)(g8 + 150) = v2; } // 0x1e2ab4b g2 = 0; return 0; } // Address range: 0x1e2ab52 - 0x1e2abfe int32_t function_1e2ab52(void) { int32_t v1 = g5; // 0x1e2ab5b if (*(int32_t *)(v1 + 150) != 0) { float32_t v2 = *(float32_t *)(v1 + 142); // 0x1e2ab66 float32_t v3 = *(float32_t *)(v1 + 46); // 0x1e2ab6c float32_t v4 = *(float32_t *)(v1 + 138); // 0x1e2ab6f float32_t v5 = *(float32_t *)(v1 + 42); // 0x1e2ab75 float32_t v6 = *(float32_t *)(v1 + 146); // 0x1e2ab7a float32_t v7 = *(float32_t *)(v1 + 154); // 0x1e2ab80 *(float32_t *)(v1 + 50) = (float32_t)((float80_t)v2 * (float80_t)v3 + (float80_t)v4 * (float80_t)v5 + (float80_t)v6 + (float80_t)v7); } int32_t v8 = v1 + 42; // 0x1e2ab89 int32_t v9; // bp-16 g2 = &v9; int32_t v10; // ebx int32_t v11; // edi int32_t v12; // esi int32_t v13 = function_1e39aeb(v8, &v9, v11, v12, v10); // 0x1e2ab91 g2 = v13; g11++; g2 = function_1e39ac5(v8); int3_t v14 = g11; // 0x1e2ab9e g11 = v14 + 1; int32_t v15 = g8; // 0x1e2aba1 int32_t v16 = *(int32_t *)(v15 + 34); // 0x1e2aba1 g2 = v16; int32_t v17 = 0; // edx int32_t v18 = *(int32_t *)(v16 + 4); // 0x1e2aba6 uint32_t v19 = *(int32_t *)(v18 + 4) - 1; // 0x1e2abac int32_t v20; // 0x1e2abef int32_t v21; // 0x1e2abcb if (v19 >= 1) { // 0x1e2abb1 g5 = v15 + 162; int32_t v22; while (true) { uint32_t v23 = (int32_t)__asm_fnstsw(g10); // 0x1e2abbc g2 = g2 & -0x10000 | v23; if ((v23 / 256 & 1) == 0) { // break -> 0x1e2abba break; } // 0x1e2abc1 g5 += 4; int32_t v24 = v17 + 1; // 0x1e2abc4 v17 = v24; if (v19 <= v24) { v22 = v24; goto lab_0x1e2abc9; } } // 0x1e2abba v22 = v17; lab_0x1e2abc9: // 0x1e2abc9 g11 = v14 + 1; v20 = g8; v21 = v22; } else { v20 = v15; v21 = 0; } int32_t v25 = *(int32_t *)(v18 + 8 + 4 * v21); // 0x1e2abcb g5 = v25; int32_t v26 = *(int32_t *)(v25 + 12); // 0x1e2abcf int32_t v27 = (v26 - (v26 >> 31)) / 2; // 0x1e2abd5 g2 = v27; int32_t v28 = v9 - v27; // 0x1e2abd7 v9 = v28; int32_t v29 = *(int32_t *)(v25 + 16); // 0x1e2abda int32_t v30 = (v29 - (v29 >> 31)) / 2; // 0x1e2abe0 g2 = v30; int32_t v31 = *(int32_t *)(v20 + 26); // 0x1e2abef int32_t v32; int32_t result = function_1e29a6d(v31, v25, (int32_t)(float32_t)g684, v28, v32 - v30); // 0x1e2abf2 g2 = result; return result; } // Address range: 0x1e2abfe - 0x1e2ac5e int32_t function_1e2abfe(int32_t a1, int32_t a2) { // 0x1e2abfe int32_t v1; // bp-76 int32_t v2 = &v1; // 0x1e2ac01 int32_t v3 = g6; // 0x1e2ac06 g6 = a2; g4 = 0; g2 = function_1e2a3f7(a1, a2, 1, v3); *(int32_t *)g8 = (int32_t)&g36; int32_t v4 = g4; // 0x1e2ac24 *(int32_t *)(g8 + 78) = v4; *(int32_t *)(g8 + 82) = g4; int32_t v5 = function_1e3991a(g6, v4); // 0x1e2ac2c g2 = v5; int32_t v6 = *(int32_t *)v5; // 0x1e2ac31 g2 = v6; g5 = v2; *(int32_t *)(g8 + 86) = v6; int32_t v7 = g6; // 0x1e2ac3b function_1e39641(v7, g4, v2); g6 = v7; *(int32_t *)(g8 + 98) = g2; g2 = g8; *(int32_t *)(g8 + 90) = *(int32_t *)(g8 + 66); g4 = v2; return g2; } // Address range: 0x1e2ac5e - 0x1e2ac7c int32_t function_1e2ac5e(char a1) { // 0x1e2ac5e g2 = function_1e2a4cb(); if ((a1 & 1) != 0) { // 0x1e2ac6d g2 = function_1e3df60(g8); } // 0x1e2ac76 g2 = g8; return g8; } // Address range: 0x1e2ac7c - 0x1e2accd int32_t function_1e2ac7c(int32_t a1) { int32_t v1 = *(int32_t *)(a1 + 78); // 0x1e2ac82 g5 = v1; g5 = 2 * v1; int32_t v2 = *(int32_t *)(*(int32_t *)(a1 + 34) + 4); // 0x1e2ac8a g2 = v2; *(int32_t *)(a1 + 82) = 0; int32_t v3 = *(int32_t *)(a1 + 30); // 0x1e2ac98 int32_t v4 = *(int32_t *)(8 * v1 + 8 + v2); // 0x1e2ac9b int32_t v5 = *(int32_t *)(v4 + 33); // 0x1e2ac9b g2 = v5; int32_t v6 = v5 - *(int32_t *)(v3 + 238); // 0x1e2ac9e g2 = v6; int32_t v7 = *(int32_t *)(v4 + 29); // 0x1e2aca5 g2 = v7; int32_t v8 = v7 - *(int32_t *)(v3 + 234); // 0x1e2aca8 g2 = v8; int32_t v9 = *(int32_t *)(*(int32_t *)(a1 + 38) + 4); // 0x1e2acb2 g2 = v9; int32_t v10 = *(int32_t *)(v9 + 8 + 4 * g5); // 0x1e2acb5 g2 = function_1e29a04(*(int32_t *)(a1 + 26), v4, v10, v8, v6); int32_t v11 = *(int32_t *)(a1 + 90); // 0x1e2acc2 g5 = v11; *(int32_t *)(a1 + 66) = v11; g8 = v4; return g2; } // Address range: 0x1e2accd - 0x1e2ad2a int32_t function_1e2accd(void) { int32_t v1 = g5; // 0x1e2accf int32_t v2 = *(int32_t *)(v1 + 78); // 0x1e2accf g2 = v2; int32_t v3 = *(int32_t *)(v1 + 30); // edi g8 = v1; g5 = 2 * v2 | 1; *(int32_t *)(v1 + 66) = 0x4e6e6b28; int32_t v4 = *(int32_t *)(*(int32_t *)(v1 + 34) + 4); // 0x1e2ace8 g2 = v4; int32_t v5 = 4 * g5; // 0x1e2aceb int32_t v6 = *(int32_t *)(v4 + 8 + v5); // 0x1e2aceb int32_t v7 = *(int32_t *)(v6 + 33); // 0x1e2acef g2 = v7; int32_t v8 = v7 - *(int32_t *)(v3 + 238); // 0x1e2acf2 g2 = v8; int32_t v9 = *(int32_t *)(v6 + 29); // 0x1e2acf9 g2 = v9; int32_t v10 = v9 - *(int32_t *)(v3 + 234); // 0x1e2acfc g2 = v10; int32_t v11 = *(int32_t *)(g8 + 38); // 0x1e2ad02 g6 = v11; int32_t v12 = *(int32_t *)(v11 + 4); // 0x1e2ad06 g2 = v12; int32_t v13 = *(int32_t *)(v5 + 8 + v12); // 0x1e2ad09 g2 = function_1e29a04(*(int32_t *)(g8 + 26), v6, v13, v10, v8); int32_t v14 = function_1e325d2(*(int32_t *)(g8 + 86), g8, 0x1e2ac7c); // 0x1e2ad1f g2 = v14; *(int32_t *)(g8 + 82) = v14; return g2; } // Address range: 0x1e2ad2a - 0x1e2ad55 int32_t function_1e2ad2a(int32_t a1, int32_t a2, int32_t a3) { // 0x1e2ad2a g8 = g5; int32_t v1 = function_1e2a5b8(a1, a2, a3); // 0x1e2ad39 g2 = v1; int32_t result; // 0x1e2ad4c if (v1 != 0) { // 0x1e2ad42 g5 = g8; g2 = function_1e2accd(); result = function_1e328b9(63, g8); g2 = result; } else { result = 0; } // 0x1e2ad51 return result; }