2209 lines
67 KiB
C
2209 lines
67 KiB
C
#include "pinball.h"
|
|
|
|
// Address range: 0x1e2c0c2 - 0x1e2c143
|
|
int32_t function_1e2c0c2(int32_t a1, int32_t a2) {
|
|
// 0x1e2c0c2
|
|
float32_t v1; // bp-16
|
|
int32_t v2 = &v1; // 0x1e2c0c5
|
|
int32_t v3 = g5; // 0x1e2c0ca
|
|
int32_t result; // 0x1e2c140
|
|
if (*(int32_t *)(v3 + 78) == 0) {
|
|
// 0x1e2c0d6
|
|
v1 = *(float32_t *)(v3 + 110) - *(float32_t *)(a1 + 42);
|
|
float32_t v4 = *(float32_t *)(v3 + 114); // 0x1e2c0e2
|
|
float32_t v5 = *(float32_t *)(a1 + 46); // 0x1e2c0e5
|
|
g2 = 0;
|
|
int32_t v6; // fpsw
|
|
if (((int32_t)__asm_fnstsw(v6) / 256 & 65) != 0) {
|
|
// 0x1e2c103
|
|
g2 = v2;
|
|
g2 = (float32_t)function_1e30d19(v2);
|
|
float32_t v7 = *(float32_t *)(a1 + 54); // 0x1e2c10e
|
|
float32_t v8 = *(float32_t *)(a1 + 66); // 0x1e2c111
|
|
g2 = a2;
|
|
float32_t v9 = *(float32_t *)(v3 + 106); // 0x1e2c119
|
|
*(float32_t *)a2 = (float32_t)((float80_t)v9 * (float80_t)v1 - (float80_t)v7 * (float80_t)v8);
|
|
float32_t v10 = *(float32_t *)(a1 + 58); // 0x1e2c123
|
|
float32_t v11 = *(float32_t *)(a1 + 66); // 0x1e2c126
|
|
float32_t v12 = *(float32_t *)(v3 + 106); // 0x1e2c12b
|
|
*(float32_t *)(g2 + 4) = (float32_t)(((float80_t)v4 - (float80_t)v5) * (float80_t)v12 - (float80_t)v10 * (float80_t)v11);
|
|
g2 = 1;
|
|
result = 1;
|
|
} else {
|
|
result = 0;
|
|
}
|
|
} else {
|
|
// 0x1e2c0d2
|
|
g2 = 0;
|
|
result = 0;
|
|
}
|
|
// 0x1e2c13b
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e2c143 - 0x1e2c1b6
|
|
int32_t function_1e2c143(int32_t a1, int32_t a2) {
|
|
// 0x1e2c143
|
|
g2 = a1;
|
|
int32_t v1 = g5; // 0x1e2c14e
|
|
g8 = v1;
|
|
if (a1 == 55) {
|
|
// 0x1e2c162
|
|
if (*(int32_t *)(v1 + 78) == 0) {
|
|
// 0x1e2c1af
|
|
g2 = 0;
|
|
return 0;
|
|
}
|
|
int32_t v2; // 0x1e2c171
|
|
if (a2 <= -1 && a2 != -0x80000000) {
|
|
// 0x1e2c171
|
|
v2 = *(int32_t *)(v1 + 90);
|
|
g2 = v2;
|
|
} else {
|
|
v2 = a2;
|
|
}
|
|
int32_t v3 = function_1e325d2(v2, v1, 0x1e2c060); // 0x1e2c180
|
|
g2 = v3;
|
|
*(int32_t *)(g8 + 86) = v3;
|
|
// 0x1e2c1af
|
|
g2 = 0;
|
|
return 0;
|
|
}
|
|
int32_t v4; // 0x1e2c1ab
|
|
if (a1 != 1011) {
|
|
if (a1 != 1024) {
|
|
// 0x1e2c1af
|
|
g2 = 0;
|
|
return 0;
|
|
}
|
|
// 0x1e2c18a
|
|
if (*(int32_t *)(v1 + 78) != 0) {
|
|
int32_t v5 = *(int32_t *)(v1 + 86); // 0x1e2c190
|
|
g2 = v5;
|
|
int32_t v6; // 0x1e2c19d
|
|
int32_t v7; // 0x1e2c19d
|
|
if (v5 != 0) {
|
|
// 0x1e2c197
|
|
g2 = function_1e32771(v5);
|
|
v7 = g9;
|
|
v6 = g8;
|
|
} else {
|
|
int32_t v8; // esi
|
|
v7 = v8;
|
|
v6 = v1;
|
|
}
|
|
// 0x1e2c19d
|
|
*(int32_t *)(v7 - 4) = v6;
|
|
*(int32_t *)(v7 - 8) = 0;
|
|
g2 = function_1e2c060((int32_t)&g708);
|
|
v4 = g8;
|
|
} else {
|
|
v4 = v1;
|
|
}
|
|
} else {
|
|
v4 = v1;
|
|
}
|
|
// 0x1e2c1a5
|
|
if (*(int32_t *)(v4 + 82) != 0) {
|
|
// 0x1e2c1ab
|
|
*(char *)(v4 + 5) = 0;
|
|
}
|
|
// 0x1e2c1af
|
|
g2 = 0;
|
|
return 0;
|
|
}
|
|
|
|
// Address range: 0x1e2c1b6 - 0x1e2c1cd
|
|
int32_t function_1e2c1b6(int32_t a1) {
|
|
// 0x1e2c1b6
|
|
g2 = a1;
|
|
int32_t result;
|
|
if (a1 < 5) {
|
|
// 0x1e2c1c3
|
|
result = *(int32_t *)(4 * a1 + 166 + g5);
|
|
} else {
|
|
result = 0;
|
|
}
|
|
// 0x1e2c1ca
|
|
g2 = result;
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e2c1cd - 0x1e2c1e4
|
|
int32_t function_1e2c1cd(int32_t a1, int32_t a2) {
|
|
// 0x1e2c1cd
|
|
g2 = a1;
|
|
int32_t result; // 0x1e2c1e1
|
|
if (a1 < 5) {
|
|
// 0x1e2c1d6
|
|
*(int32_t *)(4 * a1 + 166 + g5) = a2;
|
|
result = g2;
|
|
} else {
|
|
result = a1;
|
|
}
|
|
// 0x1e2c1e1
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e2c1e4 - 0x1e2c3b1
|
|
int32_t function_1e2c1e4(int32_t a1, int32_t a2) {
|
|
// 0x1e2c1e4
|
|
g4 = g5;
|
|
g2 = function_1e2a3f7(a1, a2, 0, g6);
|
|
*(int32_t *)g4 = (int32_t)&g47;
|
|
*(int32_t *)(g4 + 6) = g8;
|
|
*(int32_t *)(g4 + 86) = g8;
|
|
int32_t v1 = g8; // 0x1e2c20e
|
|
*(int32_t *)(g4 + 78) = v1;
|
|
*(int32_t *)(g4 + 94) = 0x3d4ccccd;
|
|
int32_t v2 = function_1e3991a(a2, v1); // 0x1e2c21c
|
|
g2 = v2;
|
|
if (v2 == 0) {
|
|
// 0x1e2c22c
|
|
*(int32_t *)(g4 + 90) = 0x3e800000;
|
|
} else {
|
|
int32_t v3 = *(int32_t *)v2; // 0x1e2c225
|
|
g2 = v3;
|
|
*(int32_t *)(g4 + 90) = v3;
|
|
}
|
|
int32_t v4 = function_1e3991a(a2, 0); // 0x1e2c23d
|
|
g2 = v4;
|
|
if (v4 == 0) {
|
|
// 0x1e2c24d
|
|
*(int32_t *)(g4 + 98) = 0x3f000000;
|
|
} else {
|
|
int32_t v5 = *(int32_t *)v4; // 0x1e2c246
|
|
g2 = v5;
|
|
*(int32_t *)(g4 + 98) = v5;
|
|
}
|
|
// 0x1e2c254
|
|
g8 = 0;
|
|
int32_t v6 = function_1e3991a(a2, 0); // 0x1e2c25f
|
|
g2 = v6;
|
|
int32_t v7 = *(int32_t *)v6; // 0x1e2c264
|
|
g2 = v7;
|
|
float32_t v8 = v7; // bp-12
|
|
int32_t v9 = function_1e3991a(a2, g8); // 0x1e2c272
|
|
g2 = v9;
|
|
int32_t v10 = *(int32_t *)v9; // 0x1e2c277
|
|
g5 = v10;
|
|
*(int32_t *)(g4 + 110) = v10;
|
|
int32_t v11; // bp-96
|
|
g2 = function_1e39641(a2, g8, (int32_t)&v11);
|
|
int32_t v12;
|
|
int32_t v13 = *(int32_t *)v12; // 0x1e2c28c
|
|
g2 = v13;
|
|
g5 = v12 + 8;
|
|
*(int32_t *)(g4 + 114) = v13;
|
|
int32_t v14 = g5; // 0x1e2c294
|
|
*(int32_t *)(g4 + 118) = *(int32_t *)(g8 + 4);
|
|
float80_t v15 = (float80_t)*(float32_t *)g5 * (float80_t)v8; // 0x1e2c29f
|
|
*(float32_t *)(g4 + 126) = (float32_t)v15;
|
|
int32_t * v16 = (int32_t *)(g4 + 126); // 0x1e2c2a5
|
|
if ((*v16 & 0x7fffffff) == 0) {
|
|
// 0x1e2c2ae
|
|
*v16 = 0x3a83126f;
|
|
}
|
|
int32_t v17 = function_1e3df20(37); // 0x1e2c2b7
|
|
float32_t v18 = v17;
|
|
g2 = v17;
|
|
int32_t v19; // 0x1e2c2fc
|
|
float32_t v20; // 0x1e2c31d6
|
|
if (v17 == 0) {
|
|
// 0x1e2c2f5
|
|
v8 = 0.0f;
|
|
v20 = 0.0f;
|
|
v19 = 0;
|
|
} else {
|
|
int32_t v21 = g4; // 0x1e2c2c3
|
|
float80_t v22 = (float80_t)*(float32_t *)(v21 + 126); // 0x1e2c2c3
|
|
*(int32_t *)v17 = (int32_t)&g28;
|
|
float32_t v23 = v18; // 0x1e2c2d4
|
|
int32_t v24 = (int32_t)v23 + 21; // edi
|
|
*(int32_t *)((int32_t)v23 + 4) = g4;
|
|
*(int32_t *)((int32_t)v18 + 8) = v21 + 5;
|
|
*(int32_t *)((int32_t)v18 + 17) = g5;
|
|
*(char *)((int32_t)v18 + 12) = 0;
|
|
*(int32_t *)(int32_t)v18 = (int32_t)&g29;
|
|
*(float32_t *)((int32_t)v18 + 33) = (float32_t)(v22 * v22);
|
|
*(int32_t *)v24 = *(int32_t *)g8;
|
|
int32_t v25 = g1 ? -4 : 4; // 0x1e2c2ed
|
|
int32_t v26 = v25 + v24; // 0x1e2c2ed
|
|
int32_t v27 = v25 + g8; // 0x1e2c2ed
|
|
*(int32_t *)v26 = *(int32_t *)v27;
|
|
int32_t v28 = v26 + v25; // 0x1e2c2ee
|
|
*(int32_t *)v28 = *(int32_t *)(v27 + v25);
|
|
g6 = v28 + v25;
|
|
int32_t v29 = *(int32_t *)&v18; // 0x1e2c2f03
|
|
*(int32_t *)&v8 = v29;
|
|
v20 = v29;
|
|
v19 = v29;
|
|
}
|
|
// 0x1e2c2fc
|
|
g2 = v19;
|
|
g5 = v19;
|
|
int32_t v30 = g4; // 0x1e2c306
|
|
int32_t v31 = v30 + 46; // 0x1e2c306
|
|
g8 = v31;
|
|
int32_t v32 = *(int32_t *)v31; // 0x1e2c309
|
|
g5 = v32;
|
|
int32_t v33 = *(int32_t *)v32; // 0x1e2c30b
|
|
g2 = v33;
|
|
float32_t v34; // 0x1e2c31d
|
|
if (*(int32_t *)(v32 + 4) == v33) {
|
|
int32_t v35 = function_1e3a739(v32, *(int32_t *)(v30 + 42)); // 0x1e2c316
|
|
g2 = v35;
|
|
*(int32_t *)g8 = v35;
|
|
v34 = v8;
|
|
} else {
|
|
v34 = v20;
|
|
}
|
|
// 0x1e2c31d
|
|
*(int32_t *)(g9 - 4) = (int32_t)v34;
|
|
*(int32_t *)(g9 - 8) = *(int32_t *)g8;
|
|
g2 = function_1e3a6a7((int32_t)&g708, (int32_t)&g708);
|
|
g5 = v14;
|
|
*(int32_t *)(g9 - 4) = 408;
|
|
*(int32_t *)(g9 - 8) = 0;
|
|
float80_t v36 = (float80_t)*(float32_t *)g5; // st7
|
|
*(int32_t *)(g9 - 12) = a2;
|
|
*(float32_t *)(g4 + 126) = (float32_t)v36;
|
|
float32_t * v37 = (float32_t *)(g4 + 126); // 0x1e2c339
|
|
*v37 = (float32_t)(v36 * (float80_t)*v37);
|
|
int32_t v38 = function_1e3991a((int32_t)&g708, (int32_t)&g708); // 0x1e2c33f
|
|
g2 = v38;
|
|
g5 = *(int32_t *)(v38 + 8);
|
|
*(int32_t *)(g9 - 4) = 1304;
|
|
*(int32_t *)(g9 - 8) = 0;
|
|
*(int32_t *)(g4 + 102) = g5;
|
|
*(int32_t *)(g9 - 4) = a2;
|
|
int32_t v39 = function_1e3991a((int32_t)&g708, (int32_t)&g708); // 0x1e2c354
|
|
g2 = v39;
|
|
*(float64_t *)(g9 - 8) = (float64_t)*(float32_t *)v39;
|
|
int32_t v40; // bp-24
|
|
int32_t v41 = v40; // 0x1e2c361
|
|
g6 = v41;
|
|
int32_t v42 = function_1e3dbc0((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e2c364
|
|
g2 = v42;
|
|
int32_t v43 = g4 + 114; // esi
|
|
int32_t v44 = __ftol(); // 0x1e2c36f
|
|
g2 = v44;
|
|
int32_t v45 = g4; // 0x1e2c374
|
|
g5 = *(int32_t *)(v45 + 126);
|
|
*(int32_t *)(v45 + 106) = v44;
|
|
g2 = g4 + 5;
|
|
v8 = g5;
|
|
v40 = *(int32_t *)v43;
|
|
int32_t v46 = g1 ? -4 : 4; // 0x1e2c380
|
|
int32_t v47 = v46 + g6; // 0x1e2c380
|
|
int32_t v48 = v46 + v43; // 0x1e2c380
|
|
*(int32_t *)v47 = *(int32_t *)v48;
|
|
int32_t v49 = v47 + v46; // 0x1e2c381
|
|
int32_t v50 = v48 + v46; // 0x1e2c381
|
|
*(int32_t *)v49 = *(int32_t *)v50;
|
|
g6 = v49 + v46;
|
|
g8 = v50 + v46;
|
|
int32_t v51 = g4 + 130; // 0x1e2c383
|
|
g5 = v51;
|
|
*(int32_t *)(g9 - 4) = v51;
|
|
int32_t v52 = g4; // 0x1e2c38d
|
|
*(int32_t *)(v52 + 138) = v52;
|
|
*(int32_t *)(g9 - 4) = 0;
|
|
*(int32_t *)g5 = g2;
|
|
g2 = v41;
|
|
*(int32_t *)(g4 + 134) = g7;
|
|
*(int32_t *)(g9 - 4) = v41;
|
|
function_1e319ad(v40, (int32_t)&g708, (int32_t)&g708);
|
|
int32_t result = g4; // 0x1e2c3a6
|
|
g2 = result;
|
|
g6 = *(int32_t *)g9;
|
|
g4 = *(int32_t *)(g9 + 8);
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e2c3b1 - 0x1e2c3b6
|
|
int32_t function_1e2c3b1(void) {
|
|
int32_t result = function_1e2a510(); // 0x1e2c3b1
|
|
g2 = result;
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e2c3b6 - 0x1e2c3d4
|
|
int32_t function_1e2c3b6(char a1) {
|
|
// 0x1e2c3b6
|
|
g2 = function_1e2a4cb();
|
|
if ((a1 & 1) != 0) {
|
|
// 0x1e2c3c5
|
|
g2 = function_1e3df60(g8);
|
|
}
|
|
// 0x1e2c3ce
|
|
g2 = g8;
|
|
return g8;
|
|
}
|
|
|
|
// Address range: 0x1e2c3d4 - 0x1e2c43b
|
|
int32_t function_1e2c3d4(int32_t a1) {
|
|
int32_t v1 = g5; // 0x1e2c3d6
|
|
g8 = v1;
|
|
g6 = 0;
|
|
if (*(int32_t *)(v1 + 78) != 0) {
|
|
// 0x1e2c436
|
|
return g2;
|
|
}
|
|
// 0x1e2c3df
|
|
g5 = a1;
|
|
*(int32_t *)(v1 + 82) = 0;
|
|
*(int32_t *)(g8 + 66) = 0x4e6e6b28;
|
|
*(int32_t *)(g8 + 78) = 1;
|
|
*(int32_t *)(g5 + 106) = g8;
|
|
int32_t v2 = g8; // 0x1e2c3fc
|
|
int32_t v3 = *(int32_t *)(v2 + 114); // 0x1e2c3fc
|
|
g2 = v3;
|
|
*(int32_t *)(g5 + 42) = v3;
|
|
*(int32_t *)(g5 + 46) = *(int32_t *)(g8 + 118);
|
|
*(int32_t *)(g5 + 62) = g6;
|
|
int32_t v4 = function_1e325d2(0x3f000000, v2, 0x1e2c43b); // 0x1e2c411
|
|
g2 = v4;
|
|
int32_t v5 = g8; // 0x1e2c416
|
|
g5 = *(int32_t *)(v5 + 30);
|
|
*(int32_t *)(v5 + 86) = v4;
|
|
if (*(int32_t *)(g5 + 370) == g6) {
|
|
// 0x1e2c424
|
|
g2 = function_1e39a10(*(int32_t *)(g8 + 74));
|
|
g11++;
|
|
g2 = function_1e328b9(57, g8);
|
|
}
|
|
// 0x1e2c436
|
|
return g2;
|
|
}
|
|
|
|
// Address range: 0x1e2c43b - 0x1e2c450
|
|
int32_t function_1e2c43b(int32_t a1) {
|
|
// 0x1e2c43b
|
|
g2 = a1;
|
|
*(int32_t *)(a1 + 82) = 1;
|
|
*(int32_t *)(g2 + 86) = 0;
|
|
return g2;
|
|
}
|
|
|
|
// Address range: 0x1e2c450 - 0x1e2c538
|
|
int32_t function_1e2c450(int32_t a1, int32_t a2) {
|
|
int32_t v1 = 0; // edx
|
|
float32_t v2; // bp-16
|
|
int32_t v3 = &v2; // 0x1e2c455
|
|
int32_t v4 = g5; // 0x1e2c45a
|
|
g8 = v4;
|
|
int32_t result; // 0x1e2c535
|
|
if (*(int32_t *)(v4 + 78) == 0) {
|
|
// 0x1e2c4ca
|
|
v2 = *(float32_t *)(v4 + 114) - *(float32_t *)(a1 + 42);
|
|
float32_t v5 = *(float32_t *)(v4 + 118); // 0x1e2c4d6
|
|
float32_t v6 = *(float32_t *)(a1 + 46); // 0x1e2c4d9
|
|
g2 = 0;
|
|
if (((int32_t)__asm_fnstsw(g10) / 256 & 65) != 0) {
|
|
// 0x1e2c4f7
|
|
g2 = v3;
|
|
g2 = (float32_t)function_1e30d19(v3);
|
|
float32_t v7 = *(float32_t *)(a1 + 54); // 0x1e2c502
|
|
float32_t v8 = *(float32_t *)(a1 + 66); // 0x1e2c505
|
|
g2 = a2;
|
|
float32_t v9 = *(float32_t *)(g8 + 110); // 0x1e2c50d
|
|
*(float32_t *)a2 = (float32_t)((float80_t)v9 * (float80_t)v2 - (float80_t)v7 * (float80_t)v8);
|
|
float32_t v10 = *(float32_t *)(a1 + 58); // 0x1e2c517
|
|
float32_t v11 = *(float32_t *)(a1 + 66); // 0x1e2c51a
|
|
float32_t v12 = *(float32_t *)(g8 + 110); // 0x1e2c51f
|
|
*(float32_t *)(g2 + 4) = (float32_t)(((float80_t)v5 - (float80_t)v6) * (float80_t)v12 - (float80_t)v10 * (float80_t)v11);
|
|
g2 = 1;
|
|
result = 1;
|
|
} else {
|
|
result = 0;
|
|
}
|
|
} else {
|
|
// 0x1e2c462
|
|
if (*(int32_t *)(v4 + 82) != 0) {
|
|
// 0x1e2c467
|
|
g6 = a1;
|
|
int32_t v13 = *(int32_t *)(v4 + 30); // 0x1e2c46a
|
|
g2 = v13;
|
|
float32_t v14 = *(float32_t *)(v13 + 270); // 0x1e2c46d
|
|
float32_t v15 = *(float32_t *)(a1 + 74); // 0x1e2c473
|
|
int32_t v16 = a1 + 62; // 0x1e2c476
|
|
g5 = v16;
|
|
int32_t v17 = a1 + 50; // ebx
|
|
float32_t v18 = *(float32_t *)(v4 + 98); // 0x1e2c47c
|
|
float32_t * v19 = (float32_t *)v16; // 0x1e2c47f
|
|
float32_t v20 = *v19; // 0x1e2c47f
|
|
*v19 = (float32_t)((float80_t)v20 - (float80_t)v14 * (float80_t)v15 * (float80_t)v18);
|
|
float32_t * v21 = (float32_t *)v17; // 0x1e2c486
|
|
*v21 = *(float32_t *)(g6 + 62) + *v21;
|
|
uint32_t v22 = (int32_t)__asm_fnstsw(g10); // 0x1e2c490
|
|
g2 = (g2 & -0x10000) | v22;
|
|
if ((v22 / 256 & 65) != 0) {
|
|
int32_t v23 = g8; // 0x1e2c495
|
|
g2 = *(int32_t *)(v23 + 102);
|
|
*(int32_t *)(v23 + 78) = v1;
|
|
*(int32_t *)(g8 + 82) = v1;
|
|
*(int32_t *)v17 = g2;
|
|
*(int32_t *)(g6 + 110) = *(int32_t *)(g8 + 106);
|
|
*(int32_t *)(g6 + 106) = v1;
|
|
*(int32_t *)g5 = v1;
|
|
*(int32_t *)(g6 + 58) = v1;
|
|
*(int32_t *)(g6 + 54) = v1;
|
|
*(int32_t *)(g6 + 66) = v1;
|
|
g2 = function_1e39a10(*(int32_t *)(g8 + 70));
|
|
g11++;
|
|
g2 = function_1e328b9(58, g8);
|
|
}
|
|
}
|
|
// 0x1e2c4c6
|
|
g2 = 0;
|
|
result = 0;
|
|
}
|
|
// 0x1e2c52f
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e2c538 - 0x1e2c566
|
|
int32_t function_1e2c538(int32_t a1) {
|
|
int32_t v1 = g5; // 0x1e2c541
|
|
g8 = v1;
|
|
if (a1 != 1024 || *(int32_t *)(v1 + 78) == 0) {
|
|
// 0x1e2c560
|
|
g2 = 0;
|
|
return 0;
|
|
}
|
|
int32_t v2 = *(int32_t *)(v1 + 86); // 0x1e2c54b
|
|
g2 = v2;
|
|
int32_t v3; // 0x1e2c558
|
|
int32_t v4; // 0x1e2c558
|
|
if (v2 != 0) {
|
|
// 0x1e2c552
|
|
g2 = function_1e32771(v2);
|
|
v4 = g9;
|
|
v3 = g8;
|
|
} else {
|
|
int32_t v5; // esi
|
|
v4 = v5;
|
|
v3 = v1;
|
|
}
|
|
// 0x1e2c558
|
|
*(int32_t *)(v4 - 4) = v3;
|
|
*(int32_t *)(v4 - 8) = 0;
|
|
g2 = function_1e2c43b((int32_t)&g708);
|
|
// 0x1e2c560
|
|
g2 = 0;
|
|
return 0;
|
|
}
|
|
|
|
// Address range: 0x1e2c566 - 0x1e2c57a
|
|
int32_t function_1e2c566(int32_t a1) {
|
|
// 0x1e2c566
|
|
g2 = a1;
|
|
int32_t result;
|
|
if (a1 < 4) {
|
|
// 0x1e2c573
|
|
result = *(int32_t *)(4 * a1 + 78 + g5);
|
|
} else {
|
|
result = 0;
|
|
}
|
|
// 0x1e2c577
|
|
g2 = result;
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e2c57a - 0x1e2c58e
|
|
int32_t function_1e2c57a(int32_t a1, int32_t a2) {
|
|
// 0x1e2c57a
|
|
g2 = a1;
|
|
int32_t result; // 0x1e2c58b
|
|
if (a1 < 4) {
|
|
// 0x1e2c583
|
|
*(int32_t *)(4 * a1 + 78 + g5) = a2;
|
|
result = g2;
|
|
} else {
|
|
result = a1;
|
|
}
|
|
// 0x1e2c58b
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e2c58e - 0x1e2c687
|
|
int32_t function_1e2c58e(int32_t a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5) {
|
|
// 0x1e2c58e
|
|
g5 = a3;
|
|
int32_t v1; // 0x1e2c598
|
|
int32_t v2 = v1; // 0x1e2c595
|
|
v1 = *(int32_t *)a3;
|
|
g2 = v1;
|
|
int32_t v3 = g6; // bp-52
|
|
int32_t v4 = v3; // 0x1e2c5a5
|
|
int32_t v5 = *(int32_t *)(a3 + 8); // bp-28
|
|
g2 = a2;
|
|
int32_t v6; // 0x1e2c67e
|
|
int32_t result; // 0x1e2c684
|
|
if (a2 >= 1) {
|
|
int32_t v7 = a1 + 12; // 0x1e2c5ca
|
|
int32_t v8 = v5; // 0x1e2c5d4
|
|
int32_t * v9 = (int32_t *)a4; // 0x1e2c66e
|
|
int32_t v10 = v4; // 0x1e2c5d3
|
|
int32_t v11 = a2;
|
|
while (true) {
|
|
int32_t v12 = v7 + 8; // 0x1e2c5cd
|
|
int32_t v13 = v7 + 16; // edi
|
|
*(int32_t *)(v10 - 4) = v12;
|
|
g2 = v8;
|
|
*(int32_t *)(v10 - 8) = v8;
|
|
float80_t v14 = function_1e30de3(v11, (int32_t)&g708); // 0x1e2c5d8
|
|
g11++;
|
|
*(int32_t *)(g9 - 4) = v7;
|
|
g2 = v2;
|
|
*(int32_t *)(g9 - 8) = v2;
|
|
float80_t v15 = function_1e30de3((int32_t)(float32_t)v14, (int32_t)&g708); // 0x1e2c5e5
|
|
g2 = (float32_t)v15;
|
|
g11++;
|
|
uint32_t v16 = (int32_t)__asm_fnstsw(g10); // 0x1e2c5f3
|
|
g2 = (g2 & -0x10000) | v16;
|
|
if ((v16 / 256 & 1) != 0) {
|
|
// 0x1e2c5f8
|
|
g2 = (float32_t)(v14 + v15);
|
|
g5 = a4;
|
|
*v9 = v7;
|
|
*(int32_t *)a5 = v12;
|
|
}
|
|
// 0x1e2c608
|
|
*(int32_t *)(g9 - 4) = v13;
|
|
g2 = v8;
|
|
*(int32_t *)(g9 - 8) = v8;
|
|
float80_t v17 = function_1e30de3((int32_t)&g708, (int32_t)&g708); // 0x1e2c60d
|
|
g11++;
|
|
*(int32_t *)(g9 - 4) = v12;
|
|
g2 = v2;
|
|
*(int32_t *)(g9 - 8) = v2;
|
|
float80_t v18 = function_1e30de3((int32_t)(float32_t)v17, (int32_t)&g708); // 0x1e2c61a
|
|
g2 = (float32_t)v18;
|
|
g11++;
|
|
uint32_t v19 = (int32_t)__asm_fnstsw(g10); // 0x1e2c628
|
|
g2 = (g2 & -0x10000) | v19;
|
|
if ((v19 / 256 & 1) != 0) {
|
|
// 0x1e2c62d
|
|
g2 = (float32_t)(v17 + v18);
|
|
g5 = a4;
|
|
*v9 = v12;
|
|
*(int32_t *)a5 = v13;
|
|
}
|
|
// 0x1e2c63d
|
|
*(int32_t *)(g9 - 4) = v13;
|
|
g2 = v2;
|
|
*(int32_t *)(g9 - 8) = v2;
|
|
float80_t v20 = function_1e30de3((int32_t)&g708, (int32_t)&g708); // 0x1e2c642
|
|
g11++;
|
|
*(int32_t *)(g9 - 4) = v7;
|
|
g2 = v8;
|
|
*(int32_t *)(g9 - 8) = v8;
|
|
float80_t v21 = function_1e30de3((int32_t)(float32_t)v20, (int32_t)&g708); // 0x1e2c64f
|
|
g2 = (float32_t)v21;
|
|
g11++;
|
|
uint32_t v22 = (int32_t)__asm_fnstsw(g10); // 0x1e2c65d
|
|
g2 = (g2 & -0x10000) | v22;
|
|
if ((v22 / 256 & 1) != 0) {
|
|
// 0x1e2c662
|
|
g2 = (float32_t)(v20 + v21);
|
|
g5 = a4;
|
|
*v9 = v13;
|
|
*(int32_t *)a5 = v7;
|
|
}
|
|
int32_t v23 = v11 - 1; // 0x1e2c675
|
|
if (v23 == 0) {
|
|
// break -> 0x1e2c67e
|
|
break;
|
|
}
|
|
v10 = g9;
|
|
v7 += 52;
|
|
v11 = v23;
|
|
}
|
|
// 0x1e2c67e
|
|
result = g2;
|
|
v6 = g9;
|
|
} else {
|
|
result = a2;
|
|
v6 = v4;
|
|
}
|
|
// 0x1e2c67e
|
|
g8 = *(int32_t *)(v6 + 4);
|
|
g4 = *(int32_t *)(v6 + 8);
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e2c687 - 0x1e2cd1a
|
|
int32_t function_1e2c687(int32_t a1, int32_t a2) {
|
|
// 0x1e2c687
|
|
int32_t v1; // bp-148
|
|
int32_t v2 = v1; // 0x1e2c68a
|
|
int32_t v3 = g6; // 0x1e2c692
|
|
g6 = 0;
|
|
g2 = function_1e2a3f7(a1, a2, 0, v3);
|
|
g5 = v2;
|
|
*(int32_t *)g8 = (int32_t)&g48;
|
|
*(int32_t *)(g8 + 6) = g6;
|
|
*(char *)(g8 + 4) = 1;
|
|
g2 = function_1e39641(a2, g6, v2);
|
|
int32_t v4 = function_1e3991a(a2, g6); // 0x1e2c6cf
|
|
g2 = v4;
|
|
if (v4 == 0) {
|
|
// 0x1e2c6df
|
|
*(int32_t *)(g8 + 118) = 0x3e4ccccd;
|
|
} else {
|
|
int32_t v5 = *(int32_t *)v4; // 0x1e2c6d8
|
|
g2 = v5;
|
|
*(int32_t *)(g8 + 118) = v5;
|
|
}
|
|
int32_t v6 = function_1e3991a(a2, 0); // 0x1e2c6f0
|
|
g2 = v6;
|
|
if (v6 == 0) {
|
|
// 0x1e2c713
|
|
*(int32_t *)(g8 + 110) = 0;
|
|
} else {
|
|
float32_t v7 = *(float32_t *)v6; // 0x1e2c6f9
|
|
int32_t v8 = function_1e3dbc0((int32_t)v7, (int32_t)&g708, (int32_t)&g708); // 0x1e2c701
|
|
g2 = v8;
|
|
int32_t v9 = __ftol(); // 0x1e2c709
|
|
g2 = v9;
|
|
*(int32_t *)(g8 + 110) = v9;
|
|
}
|
|
int32_t v10 = function_1e3991a(a2, 0); // 0x1e2c724
|
|
g2 = v10;
|
|
float32_t v11 = *(float32_t *)v10; // 0x1e2c729
|
|
g6 = v10 + 4;
|
|
int32_t v12 = function_1e3dbc0((int32_t)v11, (int32_t)&g708, (int32_t)&g708); // 0x1e2c736
|
|
g2 = v12;
|
|
int32_t v13 = __ftol(); // 0x1e2c73e
|
|
g2 = v13;
|
|
*(int32_t *)(g8 + 114) = v13;
|
|
*(int32_t *)(g8 + 122) = g6;
|
|
int32_t v14 = function_1e3991a(a2, 0); // 0x1e2c753
|
|
g2 = v14;
|
|
float32_t v15 = *(float32_t *)v14; // 0x1e2c758
|
|
g4 = 1;
|
|
g6 = v14 + 8;
|
|
int32_t v16 = function_1e3dbc0((int32_t)v15, (int32_t)&g708, (int32_t)&g708); // 0x1e2c76a
|
|
g2 = v16;
|
|
int32_t v17 = __ftol(); // 0x1e2c772
|
|
g2 = v17;
|
|
g5 = (g5 & -256) | (v17 & 255);
|
|
int32_t v18 = g6; // 0x1e2c779
|
|
int32_t v19 = *(int32_t *)v18; // 0x1e2c779
|
|
g2 = v19;
|
|
int32_t v20 = g4; // 0x1e2c77b
|
|
uint32_t v21 = v17 & 31; // 0x1e2c77b
|
|
if (v21 != 0) {
|
|
// bb
|
|
g4 = v20 << v21;
|
|
}
|
|
g5 = *(int32_t *)(v18 + 4);
|
|
int32_t v22 = *(int32_t *)(v18 + 8); // bp-16
|
|
g2 = *(int32_t *)(v18 + 12);
|
|
g6 = g8 + 134;
|
|
int32_t v23 = function_1e3df20(85); // 0x1e2c79a
|
|
g2 = v23;
|
|
if (v23 == 0) {
|
|
// 0x1e2c7bf
|
|
*(int32_t *)g6 = 0;
|
|
} else {
|
|
int32_t v24 = g8; // 0x1e2c7af
|
|
g5 = v23;
|
|
int32_t v25 = function_1e305a4(v24, v24 + 5, g4, &v22, &v19); // 0x1e2c7b6
|
|
g2 = v25;
|
|
*(int32_t *)g6 = v25;
|
|
}
|
|
int32_t v26 = *(int32_t *)g6; // 0x1e2c7c5
|
|
g6 = v26;
|
|
int32_t v27 = g8; // 0x1e2c7c7
|
|
int32_t v28 = *(int32_t *)(v27 + 46); // 0x1e2c7c7
|
|
g5 = v28;
|
|
int32_t v29 = *(int32_t *)v28; // 0x1e2c7ca
|
|
g2 = v29;
|
|
int32_t v30; // 0x1e2c7dd
|
|
if (*(int32_t *)(v28 + 4) - v29 == 0) {
|
|
// 0x1e2c7d1
|
|
*(int32_t *)(g9 - 4) = *(int32_t *)(v27 + 42);
|
|
*(int32_t *)(g9 - 8) = g5;
|
|
int32_t v31 = function_1e3a739((int32_t)&g708, (int32_t)&g708); // 0x1e2c7d5
|
|
g2 = v31;
|
|
*(int32_t *)(g8 + 46) = v31;
|
|
v30 = g6;
|
|
} else {
|
|
v30 = v26;
|
|
}
|
|
// 0x1e2c7dd
|
|
*(int32_t *)(g9 - 4) = v30;
|
|
int32_t v32 = 0; // ebx
|
|
*(int32_t *)(g9 - 8) = *(int32_t *)(g8 + 46);
|
|
g2 = function_1e3a6a7((int32_t)&g708, (int32_t)&g708);
|
|
int32_t v33 = g6; // 0x1e2c7e8
|
|
g2 = *(int32_t *)v33;
|
|
g5 = v33;
|
|
*(int32_t *)(v33 + 13) = v32;
|
|
*(int32_t *)(g9 - 4) = 1301;
|
|
*(int32_t *)(g9 - 8) = v32;
|
|
*(int32_t *)(g9 - 12) = a2;
|
|
int32_t v34 = function_1e3991a((int32_t)&g708, (int32_t)&g708); // 0x1e2c7fb
|
|
g2 = v34;
|
|
g6 = v34;
|
|
*(float64_t *)(g9 - 8) = (float64_t)*(float32_t *)v34;
|
|
int32_t v35 = function_1e3dbc0((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e2c80a
|
|
g2 = v35;
|
|
int32_t v36 = __ftol(); // 0x1e2c812
|
|
g2 = v36;
|
|
*(int32_t *)(g8 + 138) = v36;
|
|
*(float64_t *)g9 = (float64_t)*(float32_t *)(g6 + 4);
|
|
int32_t v37 = function_1e3dbc0((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e2c826
|
|
g2 = v37;
|
|
int32_t v38 = __ftol(); // 0x1e2c82e
|
|
g2 = v38;
|
|
int32_t v39 = (int32_t)*(char *)(g8 + 138); // 0x1e2c833
|
|
g5 = (g5 & -256) | v39;
|
|
g2 = 1;
|
|
uint32_t v40 = v39 & 31; // 0x1e2c844
|
|
if (v40 != 0) {
|
|
// bb132
|
|
g2 = 1 << v40;
|
|
}
|
|
// bb133
|
|
int32_t v41; // bp-32
|
|
*(int32_t *)(g9 - 4) = (int32_t)&v41;
|
|
g6 += 12;
|
|
*(int32_t *)(g8 + 138) = g2;
|
|
int32_t v42; // bp-36
|
|
int32_t v43 = v42; // 0x1e2c850
|
|
g2 = v43;
|
|
g5 = *(int32_t *)(g6 + 16);
|
|
*(int32_t *)(g9 - 4) = v43;
|
|
*(int32_t *)(g9 - 8) = g6;
|
|
*(int32_t *)(g8 + 146) = g5;
|
|
*(int32_t *)(g9 - 4) = *(int32_t *)(g8 + 114);
|
|
*(int32_t *)(g9 - 8) = *(int32_t *)(g8 + 122);
|
|
int32_t v44 = function_1e2c58e(v38, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e2c864
|
|
g2 = v44;
|
|
*(int32_t *)(g9 - 4) = 85;
|
|
g6 = g8 + 126;
|
|
int32_t v45 = function_1e3df20((int32_t)&g708); // 0x1e2c86e
|
|
g2 = v45;
|
|
if (v45 == 0) {
|
|
// 0x1e2c893
|
|
*(int32_t *)g6 = 0;
|
|
} else {
|
|
// 0x1e2c87a
|
|
*(int32_t *)g9 = v42;
|
|
*(int32_t *)(g9 - 4) = v41;
|
|
*(int32_t *)(g9 - 8) = *(int32_t *)(g8 + 106);
|
|
*(int32_t *)(g9 - 12) = g8 + 5;
|
|
*(int32_t *)(g9 - 16) = g8;
|
|
g5 = v45;
|
|
int32_t v46 = function_1e305a4((int32_t)&g708, (int32_t)&g708, (int32_t)&g708, &g708, &g708); // 0x1e2c88a
|
|
g2 = v46;
|
|
*(int32_t *)g6 = v46;
|
|
}
|
|
int32_t v47 = *(int32_t *)g6; // 0x1e2c899
|
|
g4 = v47;
|
|
int32_t v48 = g8; // 0x1e2c89b
|
|
int32_t v49 = *(int32_t *)(v48 + 46); // 0x1e2c89b
|
|
g5 = v49;
|
|
int32_t v50 = *(int32_t *)v49; // 0x1e2c89e
|
|
g2 = v50;
|
|
int32_t v51; // 0x1e2c8b1
|
|
if (*(int32_t *)(v49 + 4) - v50 == 0) {
|
|
// 0x1e2c8a5
|
|
*(int32_t *)(g9 - 4) = *(int32_t *)(v48 + 42);
|
|
*(int32_t *)(g9 - 8) = g5;
|
|
int32_t v52 = function_1e3a739((int32_t)&g708, (int32_t)&g708); // 0x1e2c8a9
|
|
g2 = v52;
|
|
*(int32_t *)(g8 + 46) = v52;
|
|
v51 = g4;
|
|
} else {
|
|
v51 = v47;
|
|
}
|
|
// 0x1e2c8b1
|
|
*(int32_t *)(g9 - 4) = v51;
|
|
g6 = 0;
|
|
*(int32_t *)(g9 - 8) = *(int32_t *)(g8 + 46);
|
|
g2 = function_1e3a6a7((int32_t)&g708, (int32_t)&g708);
|
|
int32_t v53 = g4; // 0x1e2c8bc
|
|
g2 = *(int32_t *)v53;
|
|
g5 = v53;
|
|
*(int32_t *)(v53 + 13) = g6;
|
|
*(int32_t *)(g9 - 4) = 1302;
|
|
*(int32_t *)(g9 - 8) = g6;
|
|
*(int32_t *)(g9 - 12) = a2;
|
|
int32_t v54 = function_1e3991a((int32_t)&g708, (int32_t)&g708); // 0x1e2c8cf
|
|
g2 = v54;
|
|
g4 = v54;
|
|
*(float64_t *)(g9 - 8) = (float64_t)*(float32_t *)v54;
|
|
int32_t v55 = function_1e3dbc0((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e2c8de
|
|
g2 = v55;
|
|
int32_t v56 = __ftol(); // 0x1e2c8e6
|
|
g2 = v56;
|
|
*(int32_t *)(g8 + 142) = v56;
|
|
*(float64_t *)g9 = (float64_t)*(float32_t *)(g4 + 4);
|
|
int32_t v57 = function_1e3dbc0((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e2c8fa
|
|
g2 = v57;
|
|
int32_t v58 = __ftol(); // 0x1e2c902
|
|
g2 = v58;
|
|
int32_t v59 = (int32_t)*(char *)(g8 + 142); // 0x1e2c907
|
|
g5 = (g5 & -256) | v59;
|
|
g2 = 1;
|
|
uint32_t v60 = v59 & 31; // 0x1e2c918
|
|
if (v60 != 0) {
|
|
// bb139
|
|
g2 = 1 << v60;
|
|
}
|
|
// bb140
|
|
int32_t v61; // bp-24
|
|
*(int32_t *)(g9 - 4) = (int32_t)&v61;
|
|
v32 = g4 + 12;
|
|
*(int32_t *)(g8 + 142) = g2;
|
|
int32_t v62; // bp-28
|
|
int32_t v63 = v62; // 0x1e2c924
|
|
g2 = v63;
|
|
g5 = *(int32_t *)(v32 + 16);
|
|
*(int32_t *)(g9 - 4) = v63;
|
|
*(int32_t *)(g9 - 8) = v32;
|
|
*(int32_t *)(g8 + 150) = g5;
|
|
*(int32_t *)(g9 - 4) = *(int32_t *)(g8 + 114);
|
|
*(int32_t *)(g9 - 8) = *(int32_t *)(g8 + 122);
|
|
int32_t v64 = function_1e2c58e(v58, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e2c938
|
|
g2 = v64;
|
|
*(int32_t *)(g9 - 4) = 85;
|
|
g6 = g8 + 130;
|
|
int32_t v65 = function_1e3df20((int32_t)&g708); // 0x1e2c945
|
|
g2 = v65;
|
|
if (v65 == 0) {
|
|
// 0x1e2c96a
|
|
*(int32_t *)g6 = 0;
|
|
} else {
|
|
// 0x1e2c951
|
|
*(int32_t *)g9 = v62;
|
|
*(int32_t *)(g9 - 4) = v61;
|
|
*(int32_t *)(g9 - 8) = *(int32_t *)(g8 + 106);
|
|
*(int32_t *)(g9 - 12) = g8 + 5;
|
|
*(int32_t *)(g9 - 16) = g8;
|
|
g5 = v65;
|
|
int32_t v66 = function_1e305a4((int32_t)&g708, (int32_t)&g708, (int32_t)&g708, &g708, &g708); // 0x1e2c961
|
|
g2 = v66;
|
|
*(int32_t *)g6 = v66;
|
|
}
|
|
int32_t v67 = *(int32_t *)g6; // 0x1e2c970
|
|
g6 = v67;
|
|
int32_t v68 = g8; // 0x1e2c972
|
|
int32_t v69 = *(int32_t *)(v68 + 46); // 0x1e2c972
|
|
g5 = v69;
|
|
int32_t v70 = *(int32_t *)v69; // 0x1e2c975
|
|
g2 = v70;
|
|
int32_t v71; // 0x1e2c988
|
|
if (*(int32_t *)(v69 + 4) - v70 == 0) {
|
|
// 0x1e2c97c
|
|
*(int32_t *)(g9 - 4) = *(int32_t *)(v68 + 42);
|
|
*(int32_t *)(g9 - 8) = g5;
|
|
int32_t v72 = function_1e3a739((int32_t)&g708, (int32_t)&g708); // 0x1e2c980
|
|
g2 = v72;
|
|
*(int32_t *)(g8 + 46) = v72;
|
|
v71 = g6;
|
|
} else {
|
|
v71 = v67;
|
|
}
|
|
// 0x1e2c988
|
|
*(int32_t *)(g9 - 4) = v71;
|
|
*(int32_t *)(g9 - 8) = *(int32_t *)(g8 + 46);
|
|
g2 = function_1e3a6a7((int32_t)&g708, (int32_t)&g708);
|
|
int32_t v73 = g6; // 0x1e2c991
|
|
g2 = *(int32_t *)v73;
|
|
g5 = v73;
|
|
*(int32_t *)(v73 + 13) = 0;
|
|
int32_t v74 = g8; // 0x1e2c9a6
|
|
g2 = -0x319194d8;
|
|
float32_t * v75;
|
|
int32_t v76;
|
|
int32_t v77;
|
|
int32_t v78;
|
|
float32_t v79;
|
|
int32_t v80;
|
|
int32_t v81;
|
|
int32_t v82; // 0x1e2c9cd
|
|
int3_t v83; // 0x1e2c9d6
|
|
int32_t v84; // 0x1e2caed
|
|
int32_t v85; // 0x1e2cce1
|
|
int32_t v86; // 0x1e2ccea
|
|
int32_t v87; // 0x1e2c9d8
|
|
float80_t v88; // 0x1e2ca07
|
|
int32_t v89; // 0x1e2caa5
|
|
int32_t v90; // 0x1e2cb58
|
|
float32_t v91; // 0x1e2ca09
|
|
int32_t v92; // 0x1e2c9d0
|
|
if (*(int32_t *)(v74 + 114) > 0) {
|
|
// 0x1e2c9cd
|
|
v83 = g11;
|
|
v82 = v74;
|
|
v81 = 0;
|
|
v79 = 1.0e+9f;
|
|
v75 = NULL;
|
|
while (true) {
|
|
lab_0x1e2c9cd:
|
|
// 0x1e2c9cd
|
|
v92 = (int32_t)v75;
|
|
int32_t v93 = *(int32_t *)(v82 + 122) + v92; // 0x1e2c9d0
|
|
g4 = v93 + 28;
|
|
v87 = v93 + 12;
|
|
g2 = v87;
|
|
g6 = v93 + 20;
|
|
uint32_t v94 = (int32_t)__asm_fnstsw(g10); // 0x1e2c9e5
|
|
g2 = (g2 & -0x10000) | v94;
|
|
if ((v94 / 256 & 65) != 0) {
|
|
// branch -> 0x1e2c9ec
|
|
}
|
|
// 0x1e2c9ec
|
|
g2 = (g2 & -0x10000) | (int32_t)__asm_fnstsw(g10);
|
|
g2 = (g2 & -0x10000) | (int32_t)__asm_fnstsw(g10);
|
|
v88 = v79;
|
|
v91 = v88;
|
|
g2 = v87;
|
|
g2 = (g2 & -0x10000) | (int32_t)__asm_fnstsw(g10);
|
|
g2 = (g2 & -0x10000) | (int32_t)__asm_fnstsw(g10);
|
|
g2 = (g2 & -0x10000) | (int32_t)__asm_fnstsw(g10);
|
|
g2 = v87;
|
|
g2 = (g2 & -0x10000) | (int32_t)__asm_fnstsw(g10);
|
|
g2 = (g2 & -0x10000) | (int32_t)__asm_fnstsw(g10);
|
|
g2 = (g2 & -0x10000) | (int32_t)__asm_fnstsw(g10);
|
|
g2 = v87;
|
|
g2 = (g2 & -0x10000) | (int32_t)__asm_fnstsw(g10);
|
|
g2 = (g2 & -0x10000) | (int32_t)__asm_fnstsw(g10);
|
|
__asm_fnstsw(g10);
|
|
g11 = v83;
|
|
g2 = v87;
|
|
v89 = v42;
|
|
if (v89 - v87 != 0) {
|
|
goto lab_0x1e2cac6;
|
|
} else {
|
|
// 0x1e2caaa
|
|
if (v41 - g6 != 0) {
|
|
goto lab_0x1e2cac6;
|
|
} else {
|
|
// 0x1e2caaf
|
|
if (v38 == 0) {
|
|
// 0x1e2caf0
|
|
v90 = v89;
|
|
goto lab_0x1e2cb58;
|
|
} else {
|
|
int32_t v95 = *(int32_t *)(g8 + 138); // 0x1e2cab5
|
|
g2 = v95;
|
|
v84 = v95;
|
|
goto lab_0x1e2caf0;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
lab_0x1e2ccea:
|
|
v86 = v85;
|
|
v78 = (float32_t)v88;
|
|
v80 = v91;
|
|
v76 = (float32_t)v88;
|
|
v77 = (float32_t)v88;
|
|
} else {
|
|
v86 = v74;
|
|
v78 = 0x4e6e6b28;
|
|
v80 = 0x4e6e6b28;
|
|
v76 = -0x319194d8;
|
|
v77 = -0x319194d8;
|
|
}
|
|
int32_t v96 = v86 + 94; // 0x1e2ccea
|
|
g5 = v96;
|
|
g2 = v86 + 5;
|
|
*(int32_t *)(g9 - 4) = v96;
|
|
*(int32_t *)(g9 - 8) = 0;
|
|
*(int32_t *)g5 = g2;
|
|
int32_t v97 = g8; // 0x1e2ccf8
|
|
*(int32_t *)(v97 + 102) = v97;
|
|
*(int32_t *)(g8 + 98) = g7;
|
|
*(int32_t *)(g9 - 4) = v77;
|
|
*(int32_t *)(g9 - 8) = v76;
|
|
*(int32_t *)(g9 - 12) = v80;
|
|
*(int32_t *)(g9 - 16) = v78;
|
|
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;
|
|
g4 = *(int32_t *)(g9 + 8);
|
|
return g8;
|
|
lab_0x1e2cac6:
|
|
// 0x1e2cac6
|
|
g2 = v87;
|
|
int32_t v98;
|
|
if (v62 - v87 != 0) {
|
|
v84 = v98;
|
|
goto lab_0x1e2caf0;
|
|
} else {
|
|
// 0x1e2cace
|
|
if (v61 - g6 != 0) {
|
|
v84 = v98;
|
|
goto lab_0x1e2caf0;
|
|
} else {
|
|
// 0x1e2cad3
|
|
if (v58 == 0) {
|
|
// 0x1e2caf0
|
|
v90 = v89;
|
|
goto lab_0x1e2cb58;
|
|
} else {
|
|
int32_t v99 = *(int32_t *)(g8 + 142); // 0x1e2cad9
|
|
g2 = v99;
|
|
v84 = v99;
|
|
goto lab_0x1e2caf0;
|
|
}
|
|
}
|
|
}
|
|
lab_0x1e2caf0:
|
|
// 0x1e2caf0
|
|
if (v84 != 0) {
|
|
// 0x1e2caf6
|
|
*(int32_t *)(g9 - 4) = 85;
|
|
int32_t v100 = function_1e3df20((int32_t)(float32_t)v88); // 0x1e2caf8
|
|
g2 = v100;
|
|
g5 = v100;
|
|
int32_t v101; // 0x1e2cb12
|
|
if (v100 != 0) {
|
|
// 0x1e2cb06
|
|
*(int32_t *)g9 = g6;
|
|
g2 = g8 + 5;
|
|
*(int32_t *)(g9 - 4) = v87;
|
|
*(int32_t *)(g9 - 8) = v84;
|
|
*(int32_t *)(g9 - 12) = g2;
|
|
*(int32_t *)(g9 - 16) = g8;
|
|
v101 = function_1e305a4((int32_t)&g708, (int32_t)&g708, (int32_t)&g708, &g708, &g708);
|
|
g2 = v101;
|
|
} else {
|
|
v101 = 0;
|
|
}
|
|
int32_t v102 = g8; // 0x1e2cb23
|
|
int32_t v103 = *(int32_t *)(v102 + 46); // 0x1e2cb23
|
|
g5 = v103;
|
|
int32_t v104 = *(int32_t *)v103; // 0x1e2cb26
|
|
g2 = v104;
|
|
if (*(int32_t *)(v103 + 4) - v104 == 0) {
|
|
// 0x1e2cb2d
|
|
*(int32_t *)(g9 - 4) = *(int32_t *)(v102 + 42);
|
|
*(int32_t *)(g9 - 8) = g5;
|
|
int32_t v105 = function_1e3a739(v101, (int32_t)&g708); // 0x1e2cb31
|
|
g2 = v105;
|
|
*(int32_t *)(g8 + 46) = v105;
|
|
}
|
|
// 0x1e2cb39
|
|
*(int32_t *)(g9 - 4) = v101;
|
|
*(int32_t *)(g9 - 8) = *(int32_t *)(g8 + 46);
|
|
g2 = function_1e3a6a7((int32_t)&g708, (int32_t)&g708);
|
|
g2 = v101;
|
|
int32_t v106 = *(int32_t *)(g8 + 122) + v92; // 0x1e2cb4a
|
|
g5 = v106;
|
|
*(int32_t *)(v101 + 13) = v106;
|
|
g2 = *(int32_t *)g2;
|
|
g5 = v101;
|
|
v90 = v42;
|
|
} else {
|
|
v90 = v89;
|
|
}
|
|
goto lab_0x1e2cb58;
|
|
lab_0x1e2cb58:;
|
|
int32_t v107 = g6; // 0x1e2cb58
|
|
int32_t v108; // 0x1e2cb9d
|
|
int32_t v109; // 0x1e2cbfa
|
|
if (v90 - v107 != 0) {
|
|
goto lab_0x1e2cb79;
|
|
} else {
|
|
// 0x1e2cb5d
|
|
if (v41 - g4 != 0) {
|
|
goto lab_0x1e2cb79;
|
|
} else {
|
|
// 0x1e2cb62
|
|
if (v38 == 0) {
|
|
// 0x1e2cba0
|
|
v109 = v90;
|
|
goto lab_0x1e2cbfa;
|
|
} else {
|
|
int32_t v110 = *(int32_t *)(g8 + 138); // 0x1e2cb68
|
|
g2 = v110;
|
|
v108 = v110;
|
|
goto lab_0x1e2cba0;
|
|
}
|
|
}
|
|
}
|
|
lab_0x1e2cb79:
|
|
// 0x1e2cb79
|
|
if (v62 - v107 != 0) {
|
|
v108 = v98;
|
|
goto lab_0x1e2cba0;
|
|
} else {
|
|
// 0x1e2cb7e
|
|
if (v61 - g4 != 0) {
|
|
v108 = v98;
|
|
goto lab_0x1e2cba0;
|
|
} else {
|
|
// 0x1e2cb83
|
|
if (v58 == 0) {
|
|
// 0x1e2cba0
|
|
v109 = v90;
|
|
goto lab_0x1e2cbfa;
|
|
} else {
|
|
int32_t v111 = *(int32_t *)(g8 + 142); // 0x1e2cb89
|
|
g2 = v111;
|
|
v108 = v111;
|
|
goto lab_0x1e2cba0;
|
|
}
|
|
}
|
|
}
|
|
lab_0x1e2cba0:
|
|
// 0x1e2cba0
|
|
if (v108 != 0) {
|
|
// 0x1e2cba6
|
|
*(int32_t *)(g9 - 4) = 85;
|
|
int32_t v112 = function_1e3df20(v108); // 0x1e2cba8
|
|
g2 = v112;
|
|
g5 = v112;
|
|
int32_t v113;
|
|
if (v112 == 0) {
|
|
// 0x1e2cbc9
|
|
v113 = 0;
|
|
} else {
|
|
// 0x1e2cbb6
|
|
*(int32_t *)g9 = g4;
|
|
*(int32_t *)(g9 - 4) = g6;
|
|
*(int32_t *)(g9 - 8) = v108;
|
|
*(int32_t *)(g9 - 12) = g8 + 5;
|
|
*(int32_t *)(g9 - 16) = g8;
|
|
int32_t v114 = function_1e305a4((int32_t)&g708, (int32_t)&g708, (int32_t)&g708, &g708, &g708); // 0x1e2cbc0
|
|
g2 = v114;
|
|
v113 = v114;
|
|
}
|
|
// 0x1e2cbcb
|
|
g6 = v113;
|
|
int32_t v115 = g8; // 0x1e2cbcb
|
|
int32_t v116 = *(int32_t *)(v115 + 46); // 0x1e2cbcb
|
|
g5 = v116;
|
|
int32_t v117 = *(int32_t *)v116; // 0x1e2cbce
|
|
g2 = v117;
|
|
int32_t v118; // 0x1e2cbe1
|
|
if (*(int32_t *)(v116 + 4) - v117 == 0) {
|
|
// 0x1e2cbd5
|
|
*(int32_t *)(g9 - 4) = *(int32_t *)(v115 + 42);
|
|
*(int32_t *)(g9 - 8) = g5;
|
|
int32_t v119 = function_1e3a739((int32_t)&g708, (int32_t)&g708); // 0x1e2cbd9
|
|
g2 = v119;
|
|
*(int32_t *)(g8 + 46) = v119;
|
|
v118 = g6;
|
|
} else {
|
|
v118 = v113;
|
|
}
|
|
// 0x1e2cbe1
|
|
*(int32_t *)(g9 - 4) = v118;
|
|
*(int32_t *)(g9 - 8) = *(int32_t *)(g8 + 46);
|
|
g2 = function_1e3a6a7((int32_t)&g708, (int32_t)&g708);
|
|
int32_t v120 = g6; // 0x1e2cbed
|
|
g5 = v120;
|
|
int32_t v121 = *(int32_t *)(g8 + 122) + v92; // 0x1e2cbef
|
|
g2 = v121;
|
|
*(int32_t *)(v120 + 13) = v121;
|
|
g2 = *(int32_t *)g6;
|
|
v109 = v42;
|
|
} else {
|
|
v109 = v90;
|
|
}
|
|
goto lab_0x1e2cbfa;
|
|
lab_0x1e2cbfa:;
|
|
int32_t v122 = g4; // 0x1e2cbfa
|
|
int32_t v123; // 0x1e2cc3b
|
|
if (v109 - v122 != 0) {
|
|
goto lab_0x1e2cc19;
|
|
} else {
|
|
// 0x1e2cbff
|
|
g2 = v87;
|
|
if (v41 - v87 != 0) {
|
|
goto lab_0x1e2cc19;
|
|
} else {
|
|
// 0x1e2cc07
|
|
if (v38 == 0) {
|
|
// 0x1e2cc3b
|
|
g6 = 0;
|
|
goto lab_0x1e2cc93;
|
|
} else {
|
|
int32_t v124 = *(int32_t *)(g8 + 138); // 0x1e2cc0d
|
|
g6 = v124;
|
|
v123 = v124;
|
|
goto lab_0x1e2cc3b;
|
|
}
|
|
}
|
|
}
|
|
lab_0x1e2cc19:
|
|
// 0x1e2cc19
|
|
if (v62 - v122 != 0) {
|
|
v123 = v98;
|
|
goto lab_0x1e2cc3b;
|
|
} else {
|
|
// 0x1e2cc1e
|
|
g2 = v87;
|
|
if (v61 - v87 != 0) {
|
|
v123 = v98;
|
|
goto lab_0x1e2cc3b;
|
|
} else {
|
|
// 0x1e2cc26
|
|
if (v58 == 0) {
|
|
// 0x1e2cc3b
|
|
g6 = 0;
|
|
goto lab_0x1e2cc93;
|
|
} else {
|
|
int32_t v125 = *(int32_t *)(g8 + 142); // 0x1e2cc2c
|
|
g6 = v125;
|
|
v123 = v125;
|
|
goto lab_0x1e2cc3b;
|
|
}
|
|
}
|
|
}
|
|
lab_0x1e2cc3b:
|
|
// 0x1e2cc3b
|
|
if (v123 != 0) {
|
|
// 0x1e2cc3f
|
|
*(int32_t *)(g9 - 4) = 85;
|
|
int32_t v126 = function_1e3df20((int32_t)&g708); // 0x1e2cc41
|
|
g2 = v126;
|
|
g5 = v126;
|
|
int32_t v127;
|
|
if (v126 == 0) {
|
|
// 0x1e2cc62
|
|
v127 = 0;
|
|
} else {
|
|
// 0x1e2cc4f
|
|
*(int32_t *)g9 = v87;
|
|
*(int32_t *)(g9 - 4) = g4;
|
|
*(int32_t *)(g9 - 8) = g6;
|
|
int32_t v128 = g8 + 5; // 0x1e2cc54
|
|
g2 = v128;
|
|
*(int32_t *)(g9 - 12) = v128;
|
|
*(int32_t *)(g9 - 16) = g8;
|
|
int32_t v129 = function_1e305a4((int32_t)&g708, (int32_t)&g708, (int32_t)&g708, &g708, &g708); // 0x1e2cc59
|
|
g2 = v129;
|
|
v127 = v129;
|
|
}
|
|
// 0x1e2cc64
|
|
g6 = v127;
|
|
int32_t v130 = g8; // 0x1e2cc64
|
|
int32_t v131 = *(int32_t *)(v130 + 46); // 0x1e2cc64
|
|
g5 = v131;
|
|
int32_t v132 = *(int32_t *)v131; // 0x1e2cc67
|
|
g2 = v132;
|
|
int32_t v133; // 0x1e2cc7a
|
|
if (*(int32_t *)(v131 + 4) - v132 == 0) {
|
|
// 0x1e2cc6e
|
|
*(int32_t *)(g9 - 4) = *(int32_t *)(v130 + 42);
|
|
*(int32_t *)(g9 - 8) = g5;
|
|
int32_t v134 = function_1e3a739((int32_t)&g708, (int32_t)&g708); // 0x1e2cc72
|
|
g2 = v134;
|
|
*(int32_t *)(g8 + 46) = v134;
|
|
v133 = g6;
|
|
} else {
|
|
v133 = v127;
|
|
}
|
|
// 0x1e2cc7a
|
|
*(int32_t *)(g9 - 4) = v133;
|
|
*(int32_t *)(g9 - 8) = *(int32_t *)(g8 + 46);
|
|
g2 = function_1e3a6a7((int32_t)&g708, (int32_t)&g708);
|
|
int32_t v135 = *(int32_t *)(g8 + 122); // 0x1e2cc83
|
|
g2 = v135;
|
|
int32_t v136 = g6; // 0x1e2cc86
|
|
int32_t v137 = v135 + v92; // 0x1e2cc88
|
|
g2 = v137;
|
|
g5 = v136;
|
|
*(int32_t *)(v136 + 13) = v137;
|
|
}
|
|
goto lab_0x1e2cc93;
|
|
lab_0x1e2cc93:;
|
|
int32_t v138 = g8; // 0x1e2cc93
|
|
int32_t v139 = *(int32_t *)(v138 + 122); // 0x1e2cc93
|
|
g2 = v139;
|
|
int32_t v140 = *(int32_t *)(v138 + 30); // 0x1e2cc96
|
|
int32_t v141 = v139 + v92; // 0x1e2cc99
|
|
g2 = v141;
|
|
int32_t v142 = v81 + 1; // 0x1e2cc9c
|
|
g5 = v142;
|
|
int3_t v143 = g11; // 0x1e2cca2
|
|
float80_t v144 = (float80_t)*(float32_t *)(v141 + 36); // 0x1e2cca2
|
|
float80_t v145;
|
|
if (fabsl(v144) < 9223372036854775808.0L) {
|
|
// bb155
|
|
v145 = sinl(v144);
|
|
} else {
|
|
v145 = v144;
|
|
}
|
|
float80_t v146 = (float80_t)*(float32_t *)(v141 + 40); // 0x1e2ccaa
|
|
float80_t v147;
|
|
if (fabsl(v146) < 9223372036854775808.0L) {
|
|
// bb158
|
|
v147 = cosl(v146);
|
|
} else {
|
|
v147 = v146;
|
|
}
|
|
float80_t v148 = v145 * v147 * (float80_t)*(float32_t *)(v140 + 270); // 0x1e2ccb2
|
|
*(float32_t *)(v141 + 44) = (float32_t)v148;
|
|
int32_t v149 = g8; // 0x1e2ccbb
|
|
int32_t v150 = *(int32_t *)(v149 + 122); // 0x1e2ccbb
|
|
g2 = v150;
|
|
int32_t v151 = *(int32_t *)(v149 + 30); // 0x1e2ccbe
|
|
int32_t v152 = v150 + v92; // 0x1e2ccc1
|
|
g2 = v152;
|
|
float80_t v153 = (float80_t)*(float32_t *)(v152 + 36); // 0x1e2ccc8
|
|
float80_t v154;
|
|
if (fabsl(v153) < 9223372036854775808.0L) {
|
|
// bb161
|
|
v154 = sinl(v153);
|
|
} else {
|
|
v154 = v153;
|
|
}
|
|
float80_t v155 = (float80_t)*(float32_t *)(v152 + 40); // 0x1e2ccd0
|
|
float80_t v156;
|
|
if (fabsl(v155) < 9223372036854775808.0L) {
|
|
// bb164
|
|
v156 = sinl(v155);
|
|
} else {
|
|
v156 = v155;
|
|
}
|
|
float80_t v157 = v154 * v156 * (float80_t)*(float32_t *)(v151 + 270); // 0x1e2ccd8
|
|
*(float32_t *)(v152 + 48) = (float32_t)v157;
|
|
g11 = v143;
|
|
v85 = g8;
|
|
if (*(int32_t *)(v85 + 114) <= g5) {
|
|
// break -> 0x1e2ccea
|
|
goto lab_0x1e2ccea;
|
|
}
|
|
v83 = v143;
|
|
v82 = v85;
|
|
v81 = v142;
|
|
v79 = v91;
|
|
v75 = (float32_t *)(v92 + 52);
|
|
goto lab_0x1e2c9cd;
|
|
}
|
|
|
|
// Address range: 0x1e2cd1a - 0x1e2cd1f
|
|
int32_t function_1e2cd1a(void) {
|
|
int32_t result = function_1e2a510(); // 0x1e2cd1a
|
|
g2 = result;
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e2cd1f - 0x1e2cd3d
|
|
int32_t function_1e2cd1f(char a1) {
|
|
// 0x1e2cd1f
|
|
g2 = function_1e2a4cb();
|
|
if ((a1 & 1) != 0) {
|
|
// 0x1e2cd2e
|
|
g2 = function_1e3df60(g8);
|
|
}
|
|
// 0x1e2cd37
|
|
g2 = g8;
|
|
return g8;
|
|
}
|
|
|
|
// Address range: 0x1e2cd3d - 0x1e2ce45
|
|
int32_t function_1e2cd3d(int32_t a1, int32_t a2, float32_t a3, int32_t a4) {
|
|
// 0x1e2cd3d
|
|
g8 = g5;
|
|
g5 = a1;
|
|
g6 = a4;
|
|
int32_t v1 = a1 + 134; // 0x1e2cd4b
|
|
int32_t v2 = *(int32_t *)v1; // 0x1e2cd51
|
|
g2 = v2;
|
|
int32_t v3; // 0x1e2cd6b
|
|
if (v2 < 5) {
|
|
// 0x1e2cd58
|
|
*(int32_t *)(a1 + 114 + 4 * v2) = a4;
|
|
int32_t * v4 = (int32_t *)v1; // 0x1e2cd5c
|
|
*v4 = *v4 + 1;
|
|
v3 = g5;
|
|
} else {
|
|
v3 = a1;
|
|
}
|
|
// 0x1e2cd5e
|
|
g2 = a2;
|
|
*(int32_t *)(v3 + 42) = *(int32_t *)a2;
|
|
float80_t v5 = (float80_t)*(float32_t *)(v3 + 70) - (float80_t)a3; // 0x1e2cd71
|
|
*(float32_t *)(g5 + 70) = (float32_t)v5;
|
|
*(int32_t *)(g5 + 46) = *(int32_t *)(g2 + 4);
|
|
int32_t v6 = g6; // 0x1e2cd77
|
|
int32_t v7 = *(int32_t *)(v6 + 13); // 0x1e2cd77
|
|
int32_t v8;
|
|
if (v7 == 0) {
|
|
int32_t v9 = g8; // 0x1e2cdd5
|
|
if (*(int32_t *)(v9 + 134) != v6) {
|
|
// 0x1e2cdfd
|
|
*(int32_t *)(g5 + 150) = 0;
|
|
if (*(int32_t *)(g8 + 126) != g6) {
|
|
int32_t v10 = *(int32_t *)(g8 + 142); // 0x1e2ce20
|
|
g2 = v10;
|
|
*(int32_t *)(g5 + 110) = v10;
|
|
if (*(int32_t *)(g8 + 110) == 0) {
|
|
return g2;
|
|
}
|
|
// 0x1e2ce2f
|
|
v8 = g8 + 150;
|
|
goto lab_0x1e2ce35;
|
|
|
|
} else {
|
|
int32_t v11 = *(int32_t *)(g8 + 138); // 0x1e2ce0a
|
|
g2 = v11;
|
|
*(int32_t *)(g5 + 110) = v11;
|
|
if (*(int32_t *)(g8 + 110) == 0) {
|
|
return g2;
|
|
}
|
|
// 0x1e2ce18
|
|
v8 = g8 + 146;
|
|
goto lab_0x1e2ce35;
|
|
|
|
}
|
|
} else {
|
|
int32_t v12 = *(int32_t *)(v9 + 30); // 0x1e2cddd
|
|
g2 = v12;
|
|
if (*(int32_t *)(v12 + 370) == 0) {
|
|
// 0x1e2cde9
|
|
g2 = function_1e39a10(*(int32_t *)(v9 + 70));
|
|
g11++;
|
|
g2 = function_1e328b9(63, g8);
|
|
}
|
|
return g2;
|
|
}
|
|
} else {
|
|
int32_t v13 = g5; // 0x1e2cd7e
|
|
int32_t v14 = v13 + 138; // edx
|
|
int32_t v15 = v13 + 142; // edi
|
|
*(int32_t *)(v13 + 150) = 1;
|
|
int32_t v16 = *(int32_t *)v7; // 0x1e2cd94
|
|
g2 = v16;
|
|
*(int32_t *)v14 = v16;
|
|
*(int32_t *)v15 = *(int32_t *)(v7 + 4);
|
|
int32_t v17 = g5; // 0x1e2cd9d
|
|
int32_t v18 = v17 + 146; // 0x1e2cd9d
|
|
float80_t v19 = (float80_t)*(float32_t *)v14; // 0x1e2cda3
|
|
float80_t v20 = (float80_t)*(float32_t *)(v17 + 46); // 0x1e2cda8
|
|
int32_t v21 = *(int32_t *)(v7 + 8); // 0x1e2cdad
|
|
g2 = v21;
|
|
*(int32_t *)v18 = v21;
|
|
int32_t v22 = *(int32_t *)(v7 + 44); // 0x1e2cdb3
|
|
g2 = v22;
|
|
float80_t v23 = v19 * (float80_t)*(float32_t *)(v17 + 42); // 0x1e2cdb6
|
|
*(int32_t *)(g5 + 94) = v22;
|
|
float80_t v24 = v20 * (float80_t)*(float32_t *)v15 + v23; // 0x1e2cdbe
|
|
int32_t v25 = g5; // 0x1e2cdbe
|
|
float32_t v26 = *(float32_t *)(v25 + 154); // 0x1e2cdbe
|
|
*(int32_t *)(v25 + 98) = *(int32_t *)(v7 + 48);
|
|
float32_t v27 = *(float32_t *)v18; // 0x1e2cdc7
|
|
float80_t v28 = v24 + (float80_t)v26 + (float80_t)v27; // 0x1e2cdc7
|
|
*(float32_t *)(g5 + 50) = (float32_t)v28;
|
|
*(int32_t *)(g5 + 110) = *(int32_t *)(g8 + 106);
|
|
return g2;
|
|
}
|
|
// 0x1e2ce3e
|
|
return g2;
|
|
lab_0x1e2ce35:;
|
|
float80_t v29 = (float80_t)*(float32_t *)v8;
|
|
int32_t v30 = g5; // 0x1e2ce35
|
|
float80_t v31 = v29 + (float80_t)*(float32_t *)(v30 + 154); // 0x1e2ce35
|
|
*(float32_t *)(v30 + 50) = (float32_t)v31;
|
|
return g2;
|
|
}
|
|
|
|
// Address range: 0x1e2ce45 - 0x1e2ce72
|
|
int32_t function_1e2ce45(int32_t a1, int32_t a2) {
|
|
// 0x1e2ce45
|
|
g2 = a1;
|
|
float32_t v1 = *(float32_t *)(a1 + 54); // 0x1e2ce4d
|
|
float32_t v2 = *(float32_t *)(g5 + 118); // 0x1e2ce50
|
|
float32_t v3 = *(float32_t *)(a1 + 66); // 0x1e2ce53
|
|
float32_t v4 = *(float32_t *)(a1 + 94); // 0x1e2ce56
|
|
*(float32_t *)a2 = (float32_t)((float80_t)v4 - (float80_t)v1 * (float80_t)v2 * (float80_t)v3);
|
|
int32_t v5 = g2; // 0x1e2ce5b
|
|
float32_t v6 = *(float32_t *)(v5 + 58); // 0x1e2ce5b
|
|
float32_t v7 = *(float32_t *)(g5 + 118); // 0x1e2ce5e
|
|
float32_t v8 = *(float32_t *)(v5 + 66); // 0x1e2ce61
|
|
float32_t v9 = *(float32_t *)(v5 + 98); // 0x1e2ce64
|
|
g2 = 1;
|
|
*(float32_t *)(a2 + 4) = (float32_t)((float80_t)v9 - (float80_t)v6 * (float80_t)v7 * (float80_t)v8);
|
|
return g2;
|
|
}
|
|
|
|
// Address range: 0x1e2ce72 - 0x1e2cfbb
|
|
int32_t function_1e2ce72(int32_t a1, int32_t a2) {
|
|
// 0x1e2ce72
|
|
g4 = 0;
|
|
g6 = a2;
|
|
int32_t v1 = g3; // 0x1e2ce7e
|
|
g3 = g5;
|
|
int32_t v2 = a2; // bp-96
|
|
int32_t v3 = v2; // 0x1e2ce82
|
|
g2 = function_1e2a3f7(a1, a2, 0, v1);
|
|
*(int32_t *)g3 = (int32_t)&g49;
|
|
*(int32_t *)(g3 + 114) = g4;
|
|
*(int32_t *)(g3 + 110) = g4;
|
|
*(int32_t *)(g3 + 102) = g4;
|
|
int32_t v4 = g3; // 0x1e2ce9c
|
|
g8 = v4 + 5;
|
|
*(int32_t *)(v4 + 106) = g4;
|
|
*(int32_t *)(g3 + 6) = g4;
|
|
*(char *)(g3 + 4) = (char)g4;
|
|
int32_t v5 = g4; // 0x1e2ceb1
|
|
*(char *)g8 = (char)v5;
|
|
*(int32_t *)(g3 + 98) = g4;
|
|
*(int32_t *)(g3 + 94) = g4;
|
|
*(int32_t *)(g5 + 230) = g3;
|
|
int32_t v6 = function_1e3991a(g6, v5); // 0x1e2cec1
|
|
g2 = v6;
|
|
if (v6 == 0) {
|
|
// 0x1e2cee3
|
|
g2 = 0x3e4ccccd;
|
|
g5 = 0x3dcccccd;
|
|
*(int32_t *)(g3 + 78) = 0x3e4ccccd;
|
|
*(int32_t *)(g3 + 82) = g5;
|
|
*(int32_t *)(g3 + 86) = g2;
|
|
*(int32_t *)(g3 + 90) = g5;
|
|
} else {
|
|
int32_t v7 = *(int32_t *)v6; // 0x1e2ceca
|
|
g5 = v7;
|
|
*(int32_t *)(g3 + 78) = v7;
|
|
*(int32_t *)(g3 + 82) = *(int32_t *)(v6 + 4);
|
|
*(int32_t *)(g3 + 86) = *(int32_t *)(v6 + 8);
|
|
int32_t v8 = *(int32_t *)(v6 + 12); // 0x1e2cedb
|
|
g2 = v8;
|
|
*(int32_t *)(g3 + 90) = v8;
|
|
}
|
|
// 0x1e2cef9
|
|
g2 = v3;
|
|
g2 = function_1e39641(g6, 0, v3);
|
|
int32_t v9 = function_1e3991a(g6, g4); // 0x1e2cf0e
|
|
g2 = v9;
|
|
int32_t v10;
|
|
int32_t v11 = function_1e29b62(v9, g3, g8, v10, g4, 1400); // 0x1e2cf20
|
|
g2 = v11;
|
|
*(int32_t *)(g3 + 118) = v11;
|
|
int32_t v12 = function_1e3991a(g6, g4); // 0x1e2cf2f
|
|
g2 = v12;
|
|
int32_t v13 = g8; // 0x1e2cf3e
|
|
g2 = function_1e29b62(v12, g3, v13, 407, g4, 1401);
|
|
int32_t v14 = function_1e3991a(g6, g4); // 0x1e2cf4d
|
|
g2 = v14;
|
|
int32_t v15 = function_1e29b62(v14, g3, g8, 1400, g4, 1402); // 0x1e2cf5f
|
|
g2 = v15;
|
|
*(int32_t *)(g3 + 122) = v15;
|
|
int32_t v16 = function_1e3991a(g6, g4); // 0x1e2cf6e
|
|
g2 = v16;
|
|
g2 = function_1e29b62(v16, g3, g8, 1401, g4, 1403);
|
|
int32_t v17 = function_1e3991a(g6, g4); // 0x1e2cf8c
|
|
g2 = v17;
|
|
g5 = v13;
|
|
int32_t v18 = g3; // 0x1e2cfa5
|
|
int32_t v19 = function_1e29b62(v17, v18, g8, 1402, *(int32_t *)(v13 + 282), 1404); // 0x1e2cfa7
|
|
*(int32_t *)(g3 + 126) = v19;
|
|
int32_t result = g3; // 0x1e2cfaf
|
|
g2 = result;
|
|
g3 = v17;
|
|
g6 = v18;
|
|
g4 = 1402;
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e2cfbb - 0x1e2cfc0
|
|
int32_t function_1e2cfbb(void) {
|
|
int32_t result = function_1e2a510(); // 0x1e2cfbb
|
|
g2 = result;
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e2cfc0 - 0x1e2cfde
|
|
int32_t function_1e2cfc0(char a1) {
|
|
// 0x1e2cfc0
|
|
g2 = function_1e2a4cb();
|
|
if ((a1 & 1) != 0) {
|
|
// 0x1e2cfcf
|
|
g2 = function_1e3df60(g8);
|
|
}
|
|
// 0x1e2cfd8
|
|
g2 = g8;
|
|
return g8;
|
|
}
|
|
|
|
// Address range: 0x1e2cfde - 0x1e2cffe
|
|
int32_t function_1e2cfde(int32_t a1) {
|
|
// 0x1e2cfde
|
|
g2 = a1;
|
|
*(int32_t *)(a1 + 110) = 0;
|
|
int32_t v1 = *(int32_t *)(g2 + 30); // 0x1e2cfe9
|
|
g5 = v1;
|
|
g2 = g173;
|
|
int32_t result = *(int32_t *)v1; // 0x1e2cff7
|
|
g2 = result;
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e2cffe - 0x1e2d026
|
|
int32_t function_1e2cffe(int32_t a1) {
|
|
int32_t * v1 = (int32_t *)(a1 + 98); // 0x1e2d003
|
|
if (*v1 != 0) {
|
|
int32_t v2 = *(int32_t *)(a1 + 30); // 0x1e2d009
|
|
g5 = v2;
|
|
g2 = g173;
|
|
g2 = *(int32_t *)v2;
|
|
}
|
|
// 0x1e2d01b
|
|
*v1 = 0;
|
|
g8 = *(int32_t *)g9;
|
|
return g2;
|
|
}
|
|
|
|
// Address range: 0x1e2d026 - 0x1e2d04e
|
|
int32_t function_1e2d026(int32_t a1) {
|
|
int32_t * v1 = (int32_t *)(a1 + 94); // 0x1e2d02b
|
|
if (*v1 != 0) {
|
|
int32_t v2 = *(int32_t *)(a1 + 30); // 0x1e2d031
|
|
g5 = v2;
|
|
g2 = g173;
|
|
g2 = *(int32_t *)v2;
|
|
}
|
|
// 0x1e2d043
|
|
*v1 = 0;
|
|
g8 = *(int32_t *)g9;
|
|
return g2;
|
|
}
|
|
|
|
// Address range: 0x1e2d04e - 0x1e2d0c6
|
|
int32_t function_1e2d04e(int32_t a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5, int32_t a6) {
|
|
int32_t v1 = g6; // bp-12
|
|
g8 = a1;
|
|
if (*(int32_t *)(a1 + 98) != 0) {
|
|
// 0x1e2d0be
|
|
return g2;
|
|
}
|
|
int32_t v2 = *(int32_t *)(a1 + 106); // 0x1e2d05e
|
|
g2 = v2;
|
|
int32_t v3; // 0x1e2d06e
|
|
int32_t v4; // 0x1e2d078
|
|
if (v2 != 0) {
|
|
// 0x1e2d065
|
|
g2 = function_1e32771(v2);
|
|
*(int32_t *)(g8 + 106) = 0;
|
|
v4 = g9;
|
|
v3 = g8;
|
|
} else {
|
|
v4 = v1;
|
|
v3 = a1;
|
|
}
|
|
int32_t v5 = *(int32_t *)(v3 + 30); // 0x1e2d06e
|
|
g5 = v5;
|
|
int32_t v6 = g173; // 0x1e2d071
|
|
g2 = v6;
|
|
g6 = *(int32_t *)v5;
|
|
*(int32_t *)(v4 - 4) = v6;
|
|
*(int32_t *)(v4 - 8) = 1002;
|
|
*(int32_t *)(g8 + 98) = 1;
|
|
*(int32_t *)(g9 - 4) = 0x1e2cffe;
|
|
*(int32_t *)(g9 - 8) = g8;
|
|
int32_t v7 = function_1e3df30(); // 0x1e2d08d
|
|
g2 = v7;
|
|
*(int32_t *)(g9 + 16) = v7;
|
|
int32_t v8 = *(int32_t *)(g9 + 16); // 0x1e2d096
|
|
float32_t * v9 = (float32_t *)(g8 + 90); // 0x1e2d0a0
|
|
float32_t v10 = *v9; // 0x1e2d0a0
|
|
float32_t v11 = *(float32_t *)(g8 + 86); // 0x1e2d0ae
|
|
float32_t v12 = *v9; // 0x1e2d0b1
|
|
*(float32_t *)(g9 - 4) = (float32_t)((float80_t)v11 + (float80_t)v12 - 3.05185094759971922707e-5L * (float80_t)v8 * 2.0L * (float80_t)v10);
|
|
int32_t result = function_1e325d2((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e2d0b9
|
|
g2 = result;
|
|
// 0x1e2d0be
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e2d0c6 - 0x1e2d13e
|
|
int32_t function_1e2d0c6(int32_t a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5, int32_t a6) {
|
|
int32_t v1 = g6; // bp-12
|
|
g8 = a1;
|
|
if (*(int32_t *)(a1 + 94) != 0) {
|
|
// 0x1e2d136
|
|
return g2;
|
|
}
|
|
int32_t v2 = *(int32_t *)(a1 + 102); // 0x1e2d0d6
|
|
g2 = v2;
|
|
int32_t v3; // 0x1e2d0e6
|
|
int32_t v4; // 0x1e2d0f0
|
|
if (v2 != 0) {
|
|
// 0x1e2d0dd
|
|
g2 = function_1e32771(v2);
|
|
*(int32_t *)(g8 + 102) = 0;
|
|
v4 = g9;
|
|
v3 = g8;
|
|
} else {
|
|
v4 = v1;
|
|
v3 = a1;
|
|
}
|
|
int32_t v5 = *(int32_t *)(v3 + 30); // 0x1e2d0e6
|
|
g5 = v5;
|
|
int32_t v6 = g173; // 0x1e2d0e9
|
|
g2 = v6;
|
|
g6 = *(int32_t *)v5;
|
|
*(int32_t *)(v4 - 4) = v6;
|
|
*(int32_t *)(v4 - 8) = 1000;
|
|
*(int32_t *)(g8 + 94) = 1;
|
|
*(int32_t *)(g9 - 4) = 0x1e2d026;
|
|
*(int32_t *)(g9 - 8) = g8;
|
|
int32_t v7 = function_1e3df30(); // 0x1e2d105
|
|
g2 = v7;
|
|
*(int32_t *)(g9 + 16) = v7;
|
|
int32_t v8 = *(int32_t *)(g9 + 16); // 0x1e2d10e
|
|
float32_t * v9 = (float32_t *)(g8 + 90); // 0x1e2d118
|
|
float32_t v10 = *v9; // 0x1e2d118
|
|
float32_t v11 = *(float32_t *)(g8 + 86); // 0x1e2d126
|
|
float32_t v12 = *v9; // 0x1e2d129
|
|
*(float32_t *)(g9 - 4) = (float32_t)((float80_t)v11 + (float80_t)v12 - 3.05185094759971922707e-5L * (float80_t)v8 * 2.0L * (float80_t)v10);
|
|
int32_t result = function_1e325d2((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e2d131
|
|
g2 = result;
|
|
// 0x1e2d136
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e2d13e - 0x1e2d173
|
|
int32_t function_1e2d13e(int32_t a1) {
|
|
// 0x1e2d13e
|
|
g2 = function_1e26d6e(1);
|
|
int32_t v1 = *(int32_t *)(a1 + 30); // 0x1e2d150
|
|
g5 = v1;
|
|
g2 = *(int32_t *)v1;
|
|
*(int32_t *)(a1 + 114) = 0;
|
|
return g2;
|
|
}
|
|
|
|
// Address range: 0x1e2d173 - 0x1e2d2e5
|
|
int32_t function_1e2d173(int32_t a1, int32_t a2, float32_t a3, int32_t a4) {
|
|
int32_t v1; // ebp
|
|
g3 = v1;
|
|
int32_t v2; // esi
|
|
int32_t v3 = v2; // 0x1e2d17d
|
|
v2 = g5;
|
|
int32_t v4 = *(int32_t *)(a4 + 13); // 0x1e2d184
|
|
g5 = v4;
|
|
int32_t v5 = a1 + 134; // 0x1e2d187
|
|
int32_t v6 = *(int32_t *)v5; // 0x1e2d18d
|
|
g2 = v6;
|
|
int32_t v7; // 0x1e2d1a3
|
|
int32_t v8; // 0x1e2d1ab
|
|
if (v6 < 5) {
|
|
// 0x1e2d194
|
|
*(int32_t *)(a1 + 114 + 4 * v6) = a4;
|
|
int32_t * v9 = (int32_t *)v5; // 0x1e2d198
|
|
*v9 = *v9 + 1;
|
|
v7 = g5;
|
|
v8 = a1;
|
|
} else {
|
|
v7 = v4;
|
|
v8 = a1;
|
|
}
|
|
// 0x1e2d19a
|
|
g2 = a2;
|
|
int32_t v10 = *(int32_t *)a2; // 0x1e2d1a9
|
|
g6 = v10;
|
|
*(int32_t *)(v8 + 42) = v10;
|
|
g4 = *(int32_t *)(g2 + 4);
|
|
float80_t v11 = (float80_t)*(float32_t *)(v8 + 70) - (float80_t)a3; // 0x1e2d1b1
|
|
*(float32_t *)(a1 + 70) = (float32_t)v11;
|
|
*(int32_t *)(a1 + 46) = g4;
|
|
if (v7 == 1400) {
|
|
// 0x1e2d1e6
|
|
if (*(int32_t *)(v2 + 102) == 0) {
|
|
// 0x1e2d1f0
|
|
if (*(int32_t *)(v2 + 94) == 0) {
|
|
int32_t v12 = function_1e3df30(); // 0x1e2d200
|
|
g2 = v12;
|
|
float80_t v13 = 3.05185094759971922707e-5L * (float80_t)v12; // 0x1e2d20b
|
|
float32_t * v14 = (float32_t *)(g8 + 82); // 0x1e2d211
|
|
float80_t v15 = v13 * 2.0L * (float80_t)*v14; // 0x1e2d21d
|
|
float32_t v16 = *(float32_t *)(g8 + 78); // 0x1e2d21f
|
|
float80_t v17 = (float80_t)v16 + (float80_t)*v14 - v15; // 0x1e2d225
|
|
int32_t v18 = function_1e325d2((int32_t)(float32_t)v17, (int32_t)&g708, (int32_t)&g708); // 0x1e2d22a
|
|
g2 = v18;
|
|
*(int32_t *)(g8 + 102) = v18;
|
|
}
|
|
}
|
|
} else {
|
|
int32_t v19 = g5; // 0x1e2d1b9
|
|
int32_t v20; // ebx
|
|
int32_t v21; // edi
|
|
if (v19 == 1401) {
|
|
// 0x1e2d237
|
|
g2 = function_1e2d0c6(0, v2, v21, v3, v20, v1);
|
|
} else {
|
|
if (v19 == 1402) {
|
|
// 0x1e2d244
|
|
if (*(int32_t *)(v2 + 106) == 0) {
|
|
// 0x1e2d24e
|
|
if (*(int32_t *)(v2 + 98) == 0) {
|
|
int32_t v22 = function_1e3df30(); // 0x1e2d25e
|
|
g2 = v22;
|
|
float80_t v23 = 3.05185094759971922707e-5L * (float80_t)v22; // 0x1e2d269
|
|
float32_t * v24 = (float32_t *)(g8 + 82); // 0x1e2d26f
|
|
float80_t v25 = v23 * 2.0L * (float80_t)*v24; // 0x1e2d27b
|
|
float32_t v26 = *(float32_t *)(g8 + 78); // 0x1e2d27d
|
|
float80_t v27 = (float80_t)v26 + (float80_t)*v24 - v25; // 0x1e2d283
|
|
int32_t v28 = function_1e325d2((int32_t)(float32_t)v27, (int32_t)&g708, (int32_t)&g708); // 0x1e2d288
|
|
g2 = v28;
|
|
*(int32_t *)(g8 + 106) = v28;
|
|
}
|
|
}
|
|
} else {
|
|
if (v19 == 1403) {
|
|
// 0x1e2d292
|
|
g2 = function_1e2d04e(0, v2, v21, v3, v20, v1);
|
|
} else {
|
|
if (v19 == 1404) {
|
|
// 0x1e2d29c
|
|
if (*(int32_t *)(v2 + 110) == 0) {
|
|
// 0x1e2d2a2
|
|
g5 = *(int32_t *)(v2 + 30);
|
|
int32_t v29 = function_1e3df30(); // 0x1e2d2b7
|
|
g2 = v29;
|
|
float80_t v30 = 3.05185094759971922707e-5L * (float80_t)v29 + 2.0L; // 0x1e2d2cb
|
|
int32_t v31 = function_1e325d2((int32_t)(float32_t)v30, (int32_t)&g708, (int32_t)&g708); // 0x1e2d2d4
|
|
g2 = v31;
|
|
*(int32_t *)(g8 + 110) = v31;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
// 0x1e2d2dc
|
|
return g2;
|
|
}
|
|
|
|
// Address range: 0x1e2d2e5 - 0x1e2d39e
|
|
int32_t function_1e2d2e5(int32_t a1) {
|
|
// 0x1e2d2e5
|
|
g2 = a1;
|
|
int32_t v1 = g5; // 0x1e2d2eb
|
|
g8 = v1;
|
|
if (a1 == 1014) {
|
|
int32_t v2 = *(int32_t *)(v1 + 114); // 0x1e2d307
|
|
g2 = v2;
|
|
int32_t v3; // 0x1e2d314
|
|
if (v2 != 0) {
|
|
// 0x1e2d30e
|
|
g2 = function_1e32771(v2);
|
|
v3 = g8;
|
|
} else {
|
|
v3 = v1;
|
|
}
|
|
// 0x1e2d314
|
|
*(int32_t *)(v3 + 114) = 0;
|
|
// 0x1e2d397
|
|
g2 = 0;
|
|
return 0;
|
|
}
|
|
if (a1 == 1022) {
|
|
int32_t v4 = v1 + 114; // 0x1e2d31d
|
|
g6 = v4;
|
|
int32_t v5 = *(int32_t *)v4; // 0x1e2d320
|
|
g2 = v5;
|
|
int32_t v6; // 0x1e2d32e
|
|
if (v5 != 0) {
|
|
// 0x1e2d326
|
|
g2 = function_1e32771(v5);
|
|
v6 = g6;
|
|
} else {
|
|
v6 = v4;
|
|
}
|
|
// 0x1e2d32c
|
|
g2 = 0;
|
|
*(int32_t *)v6 = 0;
|
|
if (*(char *)(g8 + 5) != (char)g2) {
|
|
// 0x1e2d335
|
|
*(int32_t *)(g9 - 4) = 0x1e2d13e;
|
|
*(int32_t *)(g9 - 8) = g8;
|
|
*(int32_t *)(g9 - 12) = 0x40a00000;
|
|
int32_t v7 = function_1e325d2((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e2d340
|
|
g2 = v7;
|
|
*(int32_t *)g6 = v7;
|
|
}
|
|
// 0x1e2d397
|
|
g2 = 0;
|
|
return 0;
|
|
}
|
|
if (a1 != 1024) {
|
|
// 0x1e2d397
|
|
g2 = 0;
|
|
return 0;
|
|
}
|
|
int32_t v8 = *(int32_t *)(v1 + 102); // 0x1e2d349
|
|
g2 = v8;
|
|
int32_t v9; // 0x1e2d356
|
|
if (v8 != 0) {
|
|
// 0x1e2d350
|
|
g2 = function_1e32771(v8);
|
|
v9 = g8;
|
|
} else {
|
|
v9 = v1;
|
|
}
|
|
// 0x1e2d356
|
|
*(int32_t *)(v9 + 102) = 0;
|
|
int32_t v10 = g8; // 0x1e2d35d
|
|
int32_t v11 = *(int32_t *)(v10 + 106); // 0x1e2d35d
|
|
g2 = v11;
|
|
int32_t v12; // 0x1e2d36c
|
|
if (v11 != 0) {
|
|
// 0x1e2d364
|
|
*(int32_t *)(g9 - 4) = v11;
|
|
g2 = function_1e32771((int32_t)&g708);
|
|
v12 = g8;
|
|
} else {
|
|
v12 = v10;
|
|
}
|
|
// 0x1e2d36a
|
|
g2 = 0;
|
|
*(int32_t *)(v12 + 106) = 0;
|
|
int32_t v13 = g8; // 0x1e2d36f
|
|
int32_t v14; // 0x1e2d381
|
|
if (*(int32_t *)(v13 + 94) != g2) {
|
|
// 0x1e2d374
|
|
*(int32_t *)(g9 - 4) = v13;
|
|
*(int32_t *)(g9 - 8) = g2;
|
|
g2 = function_1e2d026((int32_t)&g708);
|
|
v14 = g8;
|
|
} else {
|
|
v14 = v13;
|
|
}
|
|
// 0x1e2d37b
|
|
int32_t v15; // 0x1e2d38f
|
|
if (*(int32_t *)(v14 + 98) != 0) {
|
|
// 0x1e2d381
|
|
*(int32_t *)(g9 - 4) = v14;
|
|
*(int32_t *)(g9 - 8) = 0;
|
|
g2 = function_1e2cffe((int32_t)&g708);
|
|
v15 = g8;
|
|
} else {
|
|
v15 = v14;
|
|
}
|
|
// 0x1e2d389
|
|
if (*(int32_t *)(v15 + 110) != 0) {
|
|
// 0x1e2d38f
|
|
*(int32_t *)(g9 - 4) = v15;
|
|
*(int32_t *)(g9 - 8) = 0;
|
|
g2 = function_1e2cfde((int32_t)&g708);
|
|
}
|
|
// 0x1e2d397
|
|
g2 = 0;
|
|
return 0;
|
|
}
|
|
|
|
// Address range: 0x1e2d39e - 0x1e2d43e
|
|
int32_t function_1e2d39e(int32_t a1, int32_t a2) {
|
|
int32_t v1 = g3; // bp-4
|
|
g3 = v1;
|
|
int32_t v2; // bp-76
|
|
int32_t v3 = v2; // 0x1e2d3a1
|
|
g4 = g5;
|
|
g2 = function_1e2a3f7(a1, a2, 1, g6);
|
|
g5 = v3;
|
|
*(int32_t *)g4 = (int32_t)&g50;
|
|
int32_t v4 = g4; // 0x1e2d3c5
|
|
g6 = v4 + 98;
|
|
*(int32_t *)(v4 + 6) = 0;
|
|
*(int32_t *)(g4 + 78) = 0;
|
|
g2 = function_1e39641(a2, 0, v3);
|
|
int32_t v5; // bp-44
|
|
*(int32_t *)g6 = v5;
|
|
int32_t v6 = g1 ? -4 : 4; // 0x1e2d3de
|
|
int32_t v7 = v6 + g6; // 0x1e2d3de
|
|
int32_t v8 = v6 + g8; // 0x1e2d3de
|
|
*(int32_t *)v7 = *(int32_t *)v8;
|
|
int32_t v9 = v7 + v6; // 0x1e2d3df
|
|
int32_t v10 = v8 + v6; // 0x1e2d3df
|
|
*(int32_t *)v9 = *(int32_t *)v10;
|
|
g6 = v9 + v6;
|
|
g8 = v10 + v6;
|
|
float32_t v11;
|
|
*(float32_t *)(g4 + 118) = (float32_t)(0.01L * (float80_t)v11);
|
|
int32_t v12; // edx
|
|
*(int32_t *)(g4 + 114) = v12;
|
|
*(int32_t *)(g4 + 122) = g2;
|
|
*(int32_t *)(g4 + 126) = g5;
|
|
int32_t v13 = function_1e3991a(a2, 0); // 0x1e2d40f
|
|
g2 = v13;
|
|
int32_t v14 = *(int32_t *)v13; // 0x1e2d414
|
|
g5 = v14;
|
|
*(int32_t *)(g4 + 86) = v14;
|
|
*(int32_t *)(g4 + 90) = *(int32_t *)(g2 + 4);
|
|
int32_t v15 = function_1e3991a(a2, 0); // 0x1e2d429
|
|
g2 = v15;
|
|
int32_t v16 = *(int32_t *)v15; // 0x1e2d42e
|
|
g5 = v16;
|
|
g6 = a2;
|
|
g2 = g4;
|
|
*(int32_t *)(g4 + 82) = v16;
|
|
g4 = 407;
|
|
g3 = v1;
|
|
return g2;
|
|
}
|
|
|
|
// Address range: 0x1e2d43e - 0x1e2d45c
|
|
int32_t function_1e2d43e(char a1) {
|
|
// 0x1e2d43e
|
|
g2 = function_1e2a4cb();
|
|
if ((a1 & 1) != 0) {
|
|
// 0x1e2d44d
|
|
g2 = function_1e3df60(g8);
|
|
}
|
|
// 0x1e2d456
|
|
g2 = g8;
|
|
return g8;
|
|
}
|
|
|
|
// Address range: 0x1e2d45c - 0x1e2d4b8
|
|
int32_t function_1e2d45c(int32_t a1, int32_t a2, int32_t a3) {
|
|
// 0x1e2d45c
|
|
g2 = 0;
|
|
*(int32_t *)(g5 + 78) = 0;
|
|
int32_t v1 = g5; // 0x1e2d465
|
|
g8 = v1;
|
|
int32_t v2 = *(int32_t *)(v1 + 30); // 0x1e2d467
|
|
g5 = v2;
|
|
int32_t v3 = g2; // 0x1e2d46a
|
|
int32_t result; // 0x1e2d4ae
|
|
if (*(int32_t *)(v2 + 370) == v3) {
|
|
// 0x1e2d490
|
|
g2 = a1;
|
|
*(char *)(a1 + 5) = 0;
|
|
g2 = function_1e29a40(*(int32_t *)(a1 + 26), 0);
|
|
g2 = function_1e39a10(*(int32_t *)(g8 + 122));
|
|
g11++;
|
|
result = function_1e328b9(63, g8);
|
|
} else {
|
|
int32_t v4 = *(int32_t *)(v1 + 58); // 0x1e2d478
|
|
int32_t v5 = *(int32_t *)(v1 + 54); // 0x1e2d47b
|
|
float80_t v6 = function_1e2f084(a1, a2, a3, v5, v4, 0x4e6e6b28, v3); // 0x1e2d487
|
|
result = (float32_t)v6;
|
|
}
|
|
// 0x1e2d4b3
|
|
g2 = result;
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e2d4b8 - 0x1e2d50f
|
|
int32_t function_1e2d4b8(int32_t a1) {
|
|
int32_t v1 = *(int32_t *)(a1 + 30); // 0x1e2d4be
|
|
g2 = v1;
|
|
int32_t v2 = *(int32_t *)(*(int32_t *)(v1 + 262) + 8); // 0x1e2d4c7
|
|
g5 = v2;
|
|
*(int32_t *)(v2 + 106) = 0;
|
|
*(char *)(g5 + 5) = 1;
|
|
int32_t v3 = *(int32_t *)(a1 + 86); // 0x1e2d4d5
|
|
g2 = v3;
|
|
*(int32_t *)(g5 + 42) = v3;
|
|
*(int32_t *)(g5 + 46) = *(int32_t *)(a1 + 90);
|
|
int32_t v4 = *(int32_t *)(a1 + 114); // 0x1e2d4e7
|
|
int32_t v5 = *(int32_t *)(a1 + 110); // 0x1e2d4ea
|
|
g2 = function_1e29f0d(g5, a1 + 98, v5, v4, *(int32_t *)(a1 + 118));
|
|
int32_t v6 = g8; // 0x1e2d4f4
|
|
int32_t v7 = *(int32_t *)(v6 + 126); // 0x1e2d4f4
|
|
g2 = v7;
|
|
int32_t v8; // 0x1e2d503
|
|
if (v7 != 0) {
|
|
// 0x1e2d4fb
|
|
g2 = function_1e39a10(v7);
|
|
v8 = g8;
|
|
} else {
|
|
v8 = v6;
|
|
}
|
|
// 0x1e2d503
|
|
*(int32_t *)(v8 + 78) = 0;
|
|
return g2;
|
|
}
|
|
|
|
// Address range: 0x1e2d50f - 0x1e2d5ca
|
|
int32_t function_1e2d50f(int32_t a1, int32_t a2) {
|
|
// 0x1e2d50f
|
|
g2 = a1;
|
|
int32_t v1 = g5; // 0x1e2d51b
|
|
g8 = v1;
|
|
if (a1 == 56) {
|
|
int32_t v2; // 0x1e2d53b
|
|
if (a2 <= -1 && a2 != -0x80000000) {
|
|
// 0x1e2d53b
|
|
v2 = *(int32_t *)(v1 + 82);
|
|
g2 = v2;
|
|
} else {
|
|
v2 = a2;
|
|
}
|
|
int32_t v3 = function_1e325d2(v2, v1, 0x1e2d4b8); // 0x1e2d54a
|
|
g2 = v3;
|
|
*(int32_t *)(g8 + 78) = v3;
|
|
} else {
|
|
if (a1 == 1020) {
|
|
int32_t v4 = *(int32_t *)(v1 + 6); // 0x1e2d557
|
|
g5 = v4;
|
|
int32_t v5 = *(int32_t *)(v1 + 30); // 0x1e2d55a
|
|
g2 = v5;
|
|
int32_t v6 = *(int32_t *)(v5 + 218); // 0x1e2d560
|
|
g7 = v6;
|
|
*(int32_t *)(v1 + 142 + 4 * v6) = v4;
|
|
int32_t v7; // esi
|
|
g2 = function_1e3dbc0(a2, g6, v7);
|
|
int32_t v8 = __ftol(); // 0x1e2d578
|
|
g2 = v8;
|
|
int32_t v9 = *(int32_t *)(4 * v8 + 142 + g8); // 0x1e2d57d
|
|
g5 = v9;
|
|
*(int32_t *)(g8 + 6) = v9;
|
|
} else {
|
|
if (a1 == 1024) {
|
|
int32_t v10 = *(int32_t *)(v1 + 78); // 0x1e2d589
|
|
g2 = v10;
|
|
int32_t v11; // 0x1e2d59a
|
|
if (v10 != 0) {
|
|
// 0x1e2d590
|
|
g2 = function_1e32771(v10);
|
|
v11 = g8;
|
|
} else {
|
|
v11 = v1;
|
|
}
|
|
int32_t v12 = 0; // edi
|
|
g2 = *(int32_t *)(v11 + 30);
|
|
*(int32_t *)(v11 + 78) = 0;
|
|
*(int32_t *)(g8 + 6) = v12;
|
|
if (*(int32_t *)(g2 + 214) > v12) {
|
|
int32_t v13 = g8 + 142; // 0x1e2d5ab
|
|
g2 = v13;
|
|
*(int32_t *)v13 = v12;
|
|
int32_t v14 = g2 + 4; // 0x1e2d5b4251
|
|
g2 = v14;
|
|
int32_t v15 = *(int32_t *)(g8 + 30); // 0x1e2d5b7255
|
|
g5 = v15;
|
|
int32_t v16 = 1; // 0x1e2d5ba259
|
|
if (*(int32_t *)(v15 + 214) > v16) {
|
|
int32_t v17 = v16 + 1; // edx
|
|
*(int32_t *)v14 = v12;
|
|
int32_t v18 = g2 + 4; // 0x1e2d5b4
|
|
g2 = v18;
|
|
int32_t v19 = *(int32_t *)(g8 + 30); // 0x1e2d5b7
|
|
g5 = v19;
|
|
while (*(int32_t *)(v19 + 214) > v17) {
|
|
// 0x1e2d5b1
|
|
v17++;
|
|
*(int32_t *)v18 = v12;
|
|
v18 = g2 + 4;
|
|
g2 = v18;
|
|
v19 = *(int32_t *)(g8 + 30);
|
|
g5 = v19;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
// 0x1e2d5c2
|
|
g2 = 0;
|
|
return 0;
|
|
}
|
|
|