2244 lines
61 KiB
C
2244 lines
61 KiB
C
#include "pinball.h"
|
|
|
|
// Address range: 0x1e2ad55 - 0x1e2af0e
|
|
int32_t function_1e2ad55(int32_t a1, float80_t a2) {
|
|
float32_t v1 = a2;
|
|
g2 = a1;
|
|
int32_t v2 = g8; // 0x1e2ad63
|
|
int32_t v3 = g6; // 0x1e2ad64
|
|
int32_t v4 = g5; // 0x1e2ad65
|
|
g8 = v4;
|
|
if (a1 == 11) {
|
|
// 0x1e2ad96
|
|
g2 = function_1e3dbc0((int32_t)v1, v3, v2);
|
|
int32_t v5 = __ftol(); // 0x1e2ada7
|
|
g2 = v5;
|
|
g6 = v5;
|
|
int32_t v6 = g8; // 0x1e2adae
|
|
int32_t v7 = *(int32_t *)(v6 + 34); // 0x1e2adae
|
|
g2 = v7;
|
|
int32_t v8 = *(int32_t *)(v7 + 4); // 0x1e2adb1
|
|
g5 = v8;
|
|
int32_t v9 = 2 * v5; // 0x1e2adb7
|
|
g5 = v9;
|
|
int32_t v10 = *(int32_t *)(v8 + 4) - 1; // 0x1e2adbe
|
|
g2 = v10;
|
|
int32_t v11; // 0x1e2adc6
|
|
if (v9 > v10) {
|
|
// 0x1e2adc3
|
|
v11 = (v10 - (v10 >> 31)) / 2;
|
|
g2 = v11;
|
|
g6 = v11;
|
|
} else {
|
|
v11 = v5;
|
|
}
|
|
int32_t v12; // 0x1e2add5
|
|
if (v11 < 0) {
|
|
// 0x1e2adce
|
|
g6 = 0;
|
|
v12 = 0;
|
|
} else {
|
|
v12 = v11;
|
|
}
|
|
int32_t v13 = v6 + 78; // 0x1e2add0
|
|
g4 = v13;
|
|
uint32_t v14 = *(int32_t *)v13; // 0x1e2add3
|
|
g2 = v14;
|
|
if (v14 == v12) {
|
|
// 0x1e2af03
|
|
g2 = 0;
|
|
return 0;
|
|
}
|
|
int32_t v15; // 0x1e2ade9
|
|
int32_t v16; // 0x1e2ade9
|
|
if (v14 <= v12) {
|
|
// 0x1e2addf
|
|
g2 = function_1e39a10(*(int32_t *)(v6 + 94));
|
|
g11++;
|
|
v16 = g6;
|
|
v15 = g4;
|
|
} else {
|
|
v16 = v12;
|
|
v15 = v13;
|
|
}
|
|
// 0x1e2ade9
|
|
int32_t v17; // 0x1e2adf9
|
|
int32_t v18; // 0x1e2adf9
|
|
if (*(int32_t *)v15 > v16) {
|
|
// 0x1e2aded
|
|
*(int32_t *)(g9 - 4) = *(int32_t *)(g8 + 98);
|
|
g2 = function_1e39a10((int32_t)&g708);
|
|
g11++;
|
|
v18 = g4;
|
|
v17 = g6;
|
|
} else {
|
|
v18 = v15;
|
|
v17 = v16;
|
|
}
|
|
// 0x1e2adf7
|
|
g5 = g8;
|
|
*(int32_t *)v18 = v17;
|
|
g2 = function_1e2accd();
|
|
*(int32_t *)(g9 - 4) = g8;
|
|
*(int32_t *)(g9 - 8) = 11;
|
|
g2 = function_1e328b9((int32_t)&g708, (int32_t)&g708);
|
|
// 0x1e2af03
|
|
g2 = 0;
|
|
return 0;
|
|
}
|
|
if (a1 == 12) {
|
|
int32_t v19 = *(int32_t *)(v4 + 34); // 0x1e2ae11
|
|
g2 = v19;
|
|
int32_t v20 = *(int32_t *)(v4 + 78) + 1; // 0x1e2ae14
|
|
g7 = v20;
|
|
int32_t v21 = *(int32_t *)(v19 + 4); // 0x1e2ae15
|
|
g5 = v21;
|
|
int32_t v22 = 2 * v20; // 0x1e2ae1b
|
|
g5 = v22;
|
|
int32_t v23 = *(int32_t *)(v21 + 4) - 1; // 0x1e2ae22
|
|
g2 = v23;
|
|
int32_t v24; // 0x1e2ae2a
|
|
if (v22 > v23) {
|
|
// 0x1e2ae27
|
|
v24 = (v23 - (v23 >> 31)) / 2;
|
|
g2 = v24;
|
|
g7 = v24;
|
|
} else {
|
|
v24 = v20;
|
|
}
|
|
// 0x1e2ae2e
|
|
g5 = v4;
|
|
g2 = function_1e2ad55(11, (float80_t)v24);
|
|
// 0x1e2af03
|
|
g2 = 0;
|
|
return 0;
|
|
}
|
|
if (a1 == 13) {
|
|
int32_t v25 = *(int32_t *)(v4 + 78) - 1; // 0x1e2ae4b
|
|
int32_t v26;
|
|
int32_t v27; // 0x1e2ae55
|
|
if (v25 < 0) {
|
|
v26 = 0;
|
|
v27 = 0;
|
|
} else {
|
|
v26 = v25;
|
|
v27 = v25;
|
|
}
|
|
// 0x1e2ae50
|
|
g2 = v26;
|
|
g2 = function_1e2ad55(11, (float80_t)v27);
|
|
// 0x1e2af03
|
|
g2 = 0;
|
|
return 0;
|
|
}
|
|
if (a1 == 1020) {
|
|
int32_t v28 = *(int32_t *)(v4 + 30); // 0x1e2ae6d
|
|
g2 = v28;
|
|
int32_t v29 = *(int32_t *)(v4 + 78); // 0x1e2ae70
|
|
g7 = v29;
|
|
int32_t v30 = *(int32_t *)(v28 + 218); // 0x1e2ae76
|
|
g5 = v30;
|
|
*(int32_t *)(v4 + 122 + 8 * v30) = v29;
|
|
int32_t v31 = g8; // 0x1e2ae83
|
|
int32_t v32 = *(int32_t *)(v31 + 6); // 0x1e2ae83
|
|
g2 = v32;
|
|
*(int32_t *)(v31 + 118 + 8 * g5) = v32;
|
|
g2 = function_1e3dbc0((int32_t)v1, v3, v2);
|
|
int32_t v33 = __ftol(); // 0x1e2ae92
|
|
g2 = v33;
|
|
int32_t v34 = g8; // 0x1e2ae97
|
|
*(int32_t *)(v34 + 78) = *(int32_t *)(8 * v33 + 122 + v34);
|
|
int32_t v35 = g8; // 0x1e2aea1
|
|
g5 = v35;
|
|
int32_t v36 = *(int32_t *)(v35 + 118 + 8 * g2); // 0x1e2aea6
|
|
g7 = v36;
|
|
*(int32_t *)(v35 + 6) = v36;
|
|
g2 = function_1e2ad55(11, (float80_t)*(int32_t *)(v35 + 78));
|
|
// 0x1e2af03
|
|
g2 = 0;
|
|
return 0;
|
|
}
|
|
if (a1 != 1024) {
|
|
// 0x1e2af03
|
|
g2 = 0;
|
|
return 0;
|
|
}
|
|
int32_t v37 = *(int32_t *)(v4 + 82); // 0x1e2aeb9
|
|
g2 = v37;
|
|
int32_t v38; // 0x1e2aed3
|
|
if (v37 != 0) {
|
|
// 0x1e2aec0
|
|
g2 = function_1e32771(v37);
|
|
g2 = function_1e2ac7c(*(int32_t *)(g8 + 82));
|
|
v38 = g8;
|
|
} else {
|
|
v38 = v4;
|
|
}
|
|
// 0x1e2aecf
|
|
g6 = 0;
|
|
g2 = *(int32_t *)(v38 + 30);
|
|
*(int32_t *)(v38 + 78) = 0;
|
|
*(int32_t *)(g8 + 6) = g6;
|
|
int32_t v39 = g8; // 0x1e2aee4
|
|
int32_t v40; // 0x1e2aef0
|
|
if (*(int32_t *)(g2 + 214) > g6) {
|
|
int32_t v41 = v39 + 122; // 0x1e2aee4
|
|
g2 = v41;
|
|
int32_t v42 = 1; // edx
|
|
*(int32_t *)v41 = g6;
|
|
*(int32_t *)(g2 - 4) = g6;
|
|
int32_t v43 = g2 + 8; // 0x1e2aeed
|
|
g2 = v43;
|
|
v40 = g8;
|
|
int32_t v44 = *(int32_t *)(v40 + 30); // 0x1e2aef0
|
|
g5 = v44;
|
|
while (*(int32_t *)(v44 + 214) > v42) {
|
|
// 0x1e2aee7
|
|
v42++;
|
|
*(int32_t *)v43 = g6;
|
|
*(int32_t *)(g2 - 4) = g6;
|
|
v43 = g2 + 8;
|
|
g2 = v43;
|
|
v40 = g8;
|
|
v44 = *(int32_t *)(v40 + 30);
|
|
g5 = v44;
|
|
}
|
|
} else {
|
|
v40 = v39;
|
|
}
|
|
// 0x1e2aefb
|
|
*(int32_t *)(g9 - 4) = v40;
|
|
*(int32_t *)(g9 - 8) = 0;
|
|
g2 = function_1e2ac7c((int32_t)&g708);
|
|
// 0x1e2af03
|
|
g2 = 0;
|
|
return 0;
|
|
}
|
|
|
|
// Address range: 0x1e2af0e - 0x1e2af22
|
|
int32_t function_1e2af0e(int32_t a1) {
|
|
// 0x1e2af0e
|
|
g2 = a1;
|
|
int32_t result;
|
|
if (a1 < 4) {
|
|
// 0x1e2af1b
|
|
result = *(int32_t *)(4 * a1 + 102 + g5);
|
|
} else {
|
|
result = 0;
|
|
}
|
|
// 0x1e2af1f
|
|
g2 = result;
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e2af22 - 0x1e2af36
|
|
int32_t function_1e2af22(int32_t a1, int32_t a2) {
|
|
// 0x1e2af22
|
|
g2 = a1;
|
|
int32_t result; // 0x1e2af33
|
|
if (a1 < 4) {
|
|
// 0x1e2af2b
|
|
*(int32_t *)(4 * a1 + 102 + g5) = a2;
|
|
result = g2;
|
|
} else {
|
|
result = a1;
|
|
}
|
|
// 0x1e2af33
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e2af36 - 0x1e2b090
|
|
int32_t function_1e2af36(int32_t a1, int32_t a2) {
|
|
// 0x1e2af36
|
|
int32_t v1; // bp-100
|
|
int32_t v2 = &v1; // 0x1e2af39
|
|
int32_t v3 = g6; // 0x1e2af3e
|
|
g6 = 0;
|
|
g2 = function_1e2a3f7(a1, a2, 0, v3);
|
|
g5 = v2;
|
|
*(int32_t *)g8 = (int32_t)&g37;
|
|
*(int32_t *)(g8 + 102) = g6;
|
|
g2 = function_1e39641(a2, g6, v2);
|
|
int32_t v4;
|
|
int32_t v5 = *(int32_t *)v4; // bp-16
|
|
g2 = *(int32_t *)(v4 + 4);
|
|
g4 = 0;
|
|
int32_t v6 = *(int32_t *)(v4 + 8); // bp-28
|
|
g2 = *(int32_t *)(v4 + 12);
|
|
int32_t v7 = function_1e3df20(85); // 0x1e2af86
|
|
g2 = v7;
|
|
int32_t v8; // 0x1e2afab
|
|
if (v7 == 0) {
|
|
// 0x1e2af36
|
|
v8 = g4;
|
|
} else {
|
|
int32_t v9 = g8; // 0x1e2af9d
|
|
g5 = v7;
|
|
int32_t v10;
|
|
int32_t v11 = function_1e305a4(v9, v9 + 5, v10, &v6, &v5); // 0x1e2afa4
|
|
g2 = v11;
|
|
g4 = v11;
|
|
v8 = v11;
|
|
}
|
|
// 0x1e2afab
|
|
g2 = *(int32_t *)v8;
|
|
g5 = v8;
|
|
int32_t v12 = g8; // 0x1e2afaf
|
|
int32_t v13 = v12 + 46; // 0x1e2afaf
|
|
g6 = v13;
|
|
int32_t v14 = *(int32_t *)v13; // 0x1e2afb5
|
|
g5 = v14;
|
|
int32_t v15 = *(int32_t *)v14; // 0x1e2afb7
|
|
g2 = v15;
|
|
int32_t v16; // 0x1e2afc9
|
|
if (*(int32_t *)(v14 + 4) == v15) {
|
|
// 0x1e2afbe
|
|
*(int32_t *)(g9 - 4) = *(int32_t *)(v12 + 42);
|
|
*(int32_t *)(g9 - 8) = g5;
|
|
int32_t v17 = function_1e3a739((int32_t)&g708, (int32_t)&g708); // 0x1e2afc2
|
|
g2 = v17;
|
|
*(int32_t *)g6 = v17;
|
|
v16 = g4;
|
|
} else {
|
|
v16 = v8;
|
|
}
|
|
// 0x1e2afc9
|
|
*(int32_t *)(g9 - 4) = v16;
|
|
g4 = g8 + 106;
|
|
*(int32_t *)(g9 - 8) = *(int32_t *)g6;
|
|
g2 = function_1e3a6a7((int32_t)&g708, (int32_t)&g708);
|
|
*(int32_t *)(g9 - 4) = 85;
|
|
int32_t v18 = function_1e3df20((int32_t)&g708); // 0x1e2afd6
|
|
g2 = v18;
|
|
if (v18 == 0) {
|
|
// 0x1e2affd
|
|
*(int32_t *)g4 = 0;
|
|
} else {
|
|
// 0x1e2afe2
|
|
*(int32_t *)g9 = (int32_t)&v6;
|
|
*(int32_t *)(g9 - 4) = (int32_t)&v5;
|
|
g5 = v18;
|
|
*(int32_t *)(g9 - 12) = g8 + 5;
|
|
*(int32_t *)(g9 - 16) = g8;
|
|
int32_t v19 = function_1e305a4((int32_t)&g708, (int32_t)&g708, (int32_t)&g708, &g708, &g708); // 0x1e2aff4
|
|
g2 = v19;
|
|
*(int32_t *)g4 = v19;
|
|
}
|
|
int32_t * v20 = (int32_t *)g4; // 0x1e2b003
|
|
int32_t v21 = *v20; // 0x1e2b003
|
|
g5 = v21;
|
|
g2 = *(int32_t *)v21;
|
|
int32_t v22 = *v20; // 0x1e2b00a
|
|
g4 = v22;
|
|
int32_t v23 = *(int32_t *)g6; // 0x1e2b00c
|
|
g5 = v23;
|
|
int32_t v24 = *(int32_t *)v23; // 0x1e2b00e
|
|
g2 = v24;
|
|
int32_t v25; // 0x1e2b020
|
|
if (*(int32_t *)(v23 + 4) == v24) {
|
|
// 0x1e2b015
|
|
*(int32_t *)(g9 - 4) = *(int32_t *)(g8 + 42);
|
|
*(int32_t *)(g9 - 8) = g5;
|
|
int32_t v26 = function_1e3a739((int32_t)&g708, (int32_t)&g708); // 0x1e2b019
|
|
g2 = v26;
|
|
*(int32_t *)g6 = v26;
|
|
v25 = g4;
|
|
} else {
|
|
v25 = v22;
|
|
}
|
|
// 0x1e2b020
|
|
*(int32_t *)(g9 - 4) = v25;
|
|
*(int32_t *)(g9 - 8) = *(int32_t *)g6;
|
|
g2 = function_1e3a6a7((int32_t)&g708, (int32_t)&g708);
|
|
*(int32_t *)(g8 + 90) = 0x3f266666;
|
|
*(int32_t *)(g8 + 82) = 0x47435000;
|
|
*(int32_t *)(g8 + 86) = 0x40a00000;
|
|
*(int32_t *)(g9 - 4) = 1202;
|
|
*(int32_t *)(g9 - 8) = 0;
|
|
*(int32_t *)(g9 - 12) = a2;
|
|
int32_t v27 = function_1e3991a((int32_t)&g708, (int32_t)&g708); // 0x1e2b047
|
|
g2 = v27;
|
|
if (v27 != 0) {
|
|
int32_t v28 = *(int32_t *)v27; // 0x1e2b050
|
|
g2 = v28;
|
|
*(int32_t *)(g8 + 90) = v28;
|
|
}
|
|
// 0x1e2b055
|
|
*(int32_t *)(g9 - 4) = 1200;
|
|
*(int32_t *)(g9 - 8) = 0;
|
|
*(int32_t *)(g9 - 12) = a2;
|
|
int32_t v29 = function_1e3991a((int32_t)&g708, (int32_t)&g708); // 0x1e2b05f
|
|
g2 = v29;
|
|
if (v29 != 0) {
|
|
int32_t v30 = *(int32_t *)v29; // 0x1e2b068
|
|
g2 = v30;
|
|
*(int32_t *)(g8 + 82) = v30;
|
|
}
|
|
// 0x1e2b06d
|
|
*(int32_t *)(g9 - 4) = 1201;
|
|
*(int32_t *)(g9 - 8) = 0;
|
|
*(int32_t *)(g9 - 12) = a2;
|
|
int32_t v31 = function_1e3991a((int32_t)&g708, (int32_t)&g708); // 0x1e2b077
|
|
g2 = v31;
|
|
if (v31 != 0) {
|
|
int32_t v32 = *(int32_t *)v31; // 0x1e2b080
|
|
g2 = v32;
|
|
*(int32_t *)(g8 + 86) = v32;
|
|
}
|
|
// 0x1e2b085
|
|
g2 = g8;
|
|
g6 = *(int32_t *)g9;
|
|
g4 = *(int32_t *)(g9 + 8);
|
|
return g8;
|
|
}
|
|
|
|
// Address range: 0x1e2b090 - 0x1e2b0ae
|
|
int32_t function_1e2b090(char a1) {
|
|
// 0x1e2b090
|
|
g2 = function_1e2a4cb();
|
|
if ((a1 & 1) != 0) {
|
|
// 0x1e2b09f
|
|
g2 = function_1e3df60(g8);
|
|
}
|
|
// 0x1e2b0a8
|
|
g2 = g8;
|
|
return g8;
|
|
}
|
|
|
|
// Address range: 0x1e2b0ae - 0x1e2b0c1
|
|
int32_t function_1e2b0ae(int32_t a1) {
|
|
// 0x1e2b0ae
|
|
g5 = a1;
|
|
*(int32_t *)(a1 + 102) = 0;
|
|
int32_t result = function_1e2b151(); // 0x1e2b0b9
|
|
g2 = result;
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e2b0c1 - 0x1e2b151
|
|
int32_t function_1e2b0c1(int32_t a1, int32_t a2, float32_t a3, int32_t a4) {
|
|
// 0x1e2b0c1
|
|
g2 = a2;
|
|
g8 = a1;
|
|
*(int32_t *)(a1 + 42) = *(int32_t *)a2;
|
|
int32_t v1 = g8; // 0x1e2b0d8
|
|
int32_t v2 = v1 + 134; // edx
|
|
int32_t v3 = *(int32_t *)(g2 + 4); // 0x1e2b0de
|
|
g2 = v3;
|
|
g6 = a4;
|
|
*(int32_t *)(v1 + 46) = v3;
|
|
g2 = *(int32_t *)v2;
|
|
float80_t v4 = (float80_t)*(float32_t *)(a1 + 70) - (float80_t)a3; // 0x1e2b0e9
|
|
*(float32_t *)(g8 + 70) = (float32_t)v4;
|
|
int32_t v5 = g2; // 0x1e2b0ec
|
|
if (v5 < 5) {
|
|
// 0x1e2b0f1
|
|
*(int32_t *)(4 * v5 + 114 + g8) = g6;
|
|
int32_t * v6 = (int32_t *)v2; // 0x1e2b0f5
|
|
*v6 = *v6 + 1;
|
|
}
|
|
// 0x1e2b0f7
|
|
*(int32_t *)(g5 + 94) = -1;
|
|
int32_t v7 = g5; // 0x1e2b0fe
|
|
int32_t v8; // 0x1e2b123
|
|
if (*(int32_t *)(v7 + 106) != g6) {
|
|
// 0x1e2b103
|
|
*(int32_t *)(v7 + 94) = 1;
|
|
v8 = g5;
|
|
} else {
|
|
v8 = v7;
|
|
}
|
|
int32_t v9 = g8 + 66; // 0x1e2b10a
|
|
int32_t v10 = v8 + 78; // 0x1e2b111
|
|
v2 = v10;
|
|
if ((*(int32_t *)v9 & 0x7fffffff) == 0) {
|
|
int32_t v11 = *(int32_t *)(v8 + 86); // 0x1e2b123
|
|
g2 = v11;
|
|
*(int32_t *)v10 = v11;
|
|
} else {
|
|
float80_t v12 = 20.0L * (float80_t)*(float32_t *)v9; // 0x1e2b119
|
|
*(float32_t *)v10 = (float32_t)v12;
|
|
}
|
|
uint32_t v13 = (int32_t)__asm_fnstsw(g10); // 0x1e2b12d
|
|
g2 = g2 & -0x10000 | v13;
|
|
if ((v13 / 256 & 1) != 0) {
|
|
int32_t v14 = *(int32_t *)(g5 + 86); // 0x1e2b132
|
|
g2 = v14;
|
|
*(int32_t *)v2 = v14;
|
|
}
|
|
uint32_t v15 = (int32_t)__asm_fnstsw(g10); // 0x1e2b13c
|
|
g2 = g2 & -0x10000 | v15;
|
|
if ((v15 / 256 & 65) == 0) {
|
|
int32_t v16 = *(int32_t *)(g5 + 82); // 0x1e2b141
|
|
g2 = v16;
|
|
*(int32_t *)v2 = v16;
|
|
}
|
|
int32_t result = function_1e2b151(); // 0x1e2b146
|
|
g2 = result;
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e2b151 - 0x1e2b210
|
|
int32_t function_1e2b151(void) {
|
|
int32_t v1 = g5; // 0x1e2b153
|
|
int32_t v2 = v1 + 98; // 0x1e2b157
|
|
g6 = v2;
|
|
g8 = v1;
|
|
int32_t v3 = *(int32_t *)(v1 + 34) + 4; // edx
|
|
int32_t v4 = *(int32_t *)(v1 + 94); // 0x1e2b15f
|
|
g5 = v4;
|
|
int32_t * v5 = (int32_t *)v2; // 0x1e2b162
|
|
int32_t v6 = *v5 + v4; // 0x1e2b162
|
|
g5 = v6;
|
|
*v5 = v6;
|
|
int32_t v7 = *(int32_t *)v3; // 0x1e2b166
|
|
g2 = v7;
|
|
int32_t v8 = *(int32_t *)(v7 + 4); // 0x1e2b168
|
|
g2 = v8;
|
|
if (v8 > v6) {
|
|
if (v6 < 0) {
|
|
int32_t v9 = v8 - 1; // 0x1e2b17b
|
|
g2 = v9;
|
|
*(int32_t *)g6 = v9;
|
|
}
|
|
} else {
|
|
// 0x1e2b16f
|
|
*(int32_t *)g6 = 0;
|
|
}
|
|
int32_t v10 = *(int32_t *)g6; // 0x1e2b17e
|
|
g5 = v10;
|
|
int32_t v11 = *(int32_t *)v3; // 0x1e2b180
|
|
g2 = v11;
|
|
g4 = *(int32_t *)(4 * v10 + 8 + v11);
|
|
int32_t v12 = g8; // 0x1e2b186
|
|
int32_t v13 = *(int32_t *)(v12 + 30); // 0x1e2b186
|
|
g5 = v13;
|
|
if (*(int32_t *)(v13 + 370) == 0) {
|
|
// 0x1e2b192
|
|
g2 = function_1e328b9(63, v12);
|
|
int32_t v14 = *(int32_t *)(g8 + 70); // 0x1e2b19a
|
|
g2 = v14;
|
|
if (v14 != 0) {
|
|
// 0x1e2b1a1
|
|
g2 = function_1e39a10(v14);
|
|
g11++;
|
|
}
|
|
// 0x1e2b1a9
|
|
if (*(int32_t *)g6 == 0) {
|
|
// 0x1e2b1ae
|
|
*(int32_t *)(g9 - 4) = g8;
|
|
*(int32_t *)(g9 - 8) = 62;
|
|
g2 = function_1e328b9((int32_t)&g708, (int32_t)&g708);
|
|
}
|
|
}
|
|
int32_t v15 = *(int32_t *)(g8 + 30); // 0x1e2b1b6
|
|
g5 = v15;
|
|
int32_t v16 = *(int32_t *)(g4 + 33); // 0x1e2b1b9
|
|
g2 = v16;
|
|
int32_t v17 = v16 - *(int32_t *)(v15 + 238); // 0x1e2b1bf
|
|
g2 = v17;
|
|
*(int32_t *)(g9 - 4) = v17;
|
|
int32_t v18 = *(int32_t *)(g4 + 29); // 0x1e2b1c6
|
|
g2 = v18;
|
|
int32_t v19 = v18 - *(int32_t *)(g5 + 234); // 0x1e2b1c9
|
|
g2 = v19;
|
|
g5 = *(int32_t *)(*(int32_t *)(g8 + 38) + 4);
|
|
*(int32_t *)(g9 - 8) = v19;
|
|
int32_t v20 = *(int32_t *)g6; // 0x1e2b1d3
|
|
g2 = v20;
|
|
*(int32_t *)(g9 - 12) = *(int32_t *)(4 * v20 + 8 + g5);
|
|
*(int32_t *)(g9 - 16) = g4;
|
|
*(int32_t *)(g9 - 20) = *(int32_t *)(g8 + 26);
|
|
int32_t v21 = function_1e29a04((int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e2b1dd
|
|
g2 = v21;
|
|
float32_t * v22 = (float32_t *)(g8 + 78); // 0x1e2b1e5
|
|
float80_t v23 = (float80_t)*(float32_t *)(g8 + 90) * (float80_t)*v22; // 0x1e2b1e5
|
|
*v22 = (float32_t)v23;
|
|
uint32_t v24 = (int32_t)__asm_fnstsw(g10); // 0x1e2b1f1
|
|
int32_t v25 = g2 & -0x10000 | v24; // 0x1e2b1f1
|
|
g2 = v25;
|
|
int32_t result; // 0x1e2b207
|
|
if ((v24 / 256 & 1) == 0) {
|
|
float32_t v26 = *(float32_t *)(g8 + 78); // 0x1e2b1f8
|
|
*(int32_t *)(g9 - 4) = 0x1e2b0ae;
|
|
*(int32_t *)(g9 - 8) = g8;
|
|
*(float32_t *)(g9 - 12) = (float32_t)(1.0L / (float80_t)v26);
|
|
result = function_1e325d2((int32_t)&g708, (int32_t)&g708, (int32_t)&g708);
|
|
g2 = result;
|
|
} else {
|
|
result = v25;
|
|
}
|
|
// 0x1e2b20c
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e2b210 - 0x1e2b270
|
|
int32_t function_1e2b210(int32_t a1) {
|
|
int32_t v1 = g5; // 0x1e2b21a
|
|
g8 = v1;
|
|
if (a1 != 1024) {
|
|
// 0x1e2b269
|
|
g2 = 0;
|
|
return 0;
|
|
}
|
|
int32_t v2 = *(int32_t *)(v1 + 102); // 0x1e2b21e
|
|
g2 = v2;
|
|
int32_t v3; // 0x1e2b230
|
|
if (v2 != 0) {
|
|
// 0x1e2b227
|
|
g2 = function_1e32771(v2);
|
|
*(int32_t *)(g8 + 102) = 0;
|
|
v3 = g8;
|
|
} else {
|
|
v3 = v1;
|
|
}
|
|
// 0x1e2b230
|
|
g5 = *(int32_t *)(v3 + 34);
|
|
*(int32_t *)(v3 + 98) = 0;
|
|
int32_t v4 = *(int32_t *)(*(int32_t *)(g5 + 4) + 8); // 0x1e2b23d
|
|
g5 = v4;
|
|
int32_t v5 = *(int32_t *)(g8 + 30); // 0x1e2b240
|
|
int32_t v6 = *(int32_t *)(v4 + 33); // 0x1e2b243
|
|
g2 = v6;
|
|
int32_t v7 = v6 - *(int32_t *)(v5 + 238); // 0x1e2b246
|
|
g2 = v7;
|
|
*(int32_t *)(g9 - 4) = v7;
|
|
int32_t v8 = *(int32_t *)(g5 + 29); // 0x1e2b24d
|
|
g2 = v8;
|
|
int32_t v9 = v8 - *(int32_t *)(v5 + 234); // 0x1e2b250
|
|
g2 = v9;
|
|
*(int32_t *)(g9 - 8) = v9;
|
|
int32_t v10 = *(int32_t *)(*(int32_t *)(g8 + 38) + 4); // 0x1e2b25a
|
|
*(int32_t *)(g9 - 12) = *(int32_t *)(v10 + 8);
|
|
*(int32_t *)(g9 - 16) = g5;
|
|
*(int32_t *)(g9 - 20) = *(int32_t *)(g8 + 26);
|
|
int32_t v11 = function_1e29a04((int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e2b264
|
|
g2 = v11;
|
|
// 0x1e2b269
|
|
g2 = 0;
|
|
return 0;
|
|
}
|
|
|
|
// Address range: 0x1e2b270 - 0x1e2b284
|
|
int32_t function_1e2b270(int32_t a1) {
|
|
// 0x1e2b270
|
|
g2 = a1;
|
|
int32_t result;
|
|
if (a1 < 2) {
|
|
// 0x1e2b27d
|
|
result = *(int32_t *)(4 * a1 + 110 + g5);
|
|
} else {
|
|
result = 0;
|
|
}
|
|
// 0x1e2b281
|
|
g2 = result;
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e2b284 - 0x1e2b298
|
|
int32_t function_1e2b284(int32_t a1, int32_t a2) {
|
|
// 0x1e2b284
|
|
g2 = a1;
|
|
int32_t result; // 0x1e2b295
|
|
if (a1 < 2) {
|
|
// 0x1e2b28d
|
|
*(int32_t *)(4 * a1 + 110 + g5) = a2;
|
|
result = g2;
|
|
} else {
|
|
result = a1;
|
|
}
|
|
// 0x1e2b295
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e2b298 - 0x1e2b2d1
|
|
int32_t function_1e2b298(int32_t a1, int32_t a2) {
|
|
int32_t v1 = g8; // 0x1e2b298
|
|
g2 = function_1e2a3f7(a1, a2, 1, g6);
|
|
g6 = 0;
|
|
*(int32_t *)g8 = (int32_t)&g38;
|
|
int32_t v2 = function_1e3991a(v1, 0); // 0x1e2b2bd
|
|
g2 = v2;
|
|
*(int32_t *)(g8 + 82) = *(int32_t *)v2;
|
|
*(int32_t *)(g8 + 78) = g6;
|
|
g2 = g8;
|
|
g6 = v1;
|
|
return g8;
|
|
}
|
|
|
|
// Address range: 0x1e2b2d1 - 0x1e2b2ef
|
|
int32_t function_1e2b2d1(char a1) {
|
|
// 0x1e2b2d1
|
|
g2 = function_1e2a4cb();
|
|
if ((a1 & 1) != 0) {
|
|
// 0x1e2b2e0
|
|
g2 = function_1e3df60(g8);
|
|
}
|
|
// 0x1e2b2e9
|
|
g2 = g8;
|
|
return g8;
|
|
}
|
|
|
|
// Address range: 0x1e2b2ef - 0x1e2b368
|
|
int32_t function_1e2b2ef(int32_t a1, int32_t a2, int32_t a3) {
|
|
int32_t v1 = g5; // 0x1e2b2f3
|
|
int32_t v2 = *(int32_t *)(v1 + 30); // 0x1e2b2f3
|
|
g2 = v2;
|
|
if (*(int32_t *)(v2 + 370) != 0) {
|
|
int32_t v3 = *(int32_t *)(v1 + 54); // 0x1e2b30b
|
|
float80_t v4 = function_1e2f084(a1, a2, a3, v3, *(int32_t *)(v1 + 58), 0x4e6e6b28, 0); // 0x1e2b317
|
|
g2 = (float32_t)v4;
|
|
// 0x1e2b363
|
|
return (float32_t)v4;
|
|
}
|
|
int32_t v5 = *(int32_t *)(v1 + 62); // 0x1e2b320
|
|
int32_t v6 = *(int32_t *)(v1 + 66); // 0x1e2b323
|
|
int32_t v7 = *(int32_t *)(v1 + 58); // 0x1e2b326
|
|
int32_t v8 = *(int32_t *)(v1 + 54); // 0x1e2b329
|
|
g2 = (float32_t)function_1e2f084(a1, a2, a3, v8, v7, v6, v5);
|
|
g11++;
|
|
uint32_t v9 = (int32_t)__asm_fnstsw(g10); // 0x1e2b33d
|
|
int32_t result = g2 & -0x10000 | v9; // 0x1e2b33d
|
|
g2 = result;
|
|
if ((v9 / 256 & 65) != 0) {
|
|
// 0x1e2b363
|
|
return result;
|
|
}
|
|
int32_t v10 = *(int32_t *)(g8 + 74); // 0x1e2b342
|
|
g2 = v10;
|
|
if (v10 != 0) {
|
|
// 0x1e2b349
|
|
g2 = function_1e39a10(v10);
|
|
g11++;
|
|
}
|
|
// 0x1e2b351
|
|
*(int32_t *)(g9 - 4) = 0;
|
|
g2 = g5;
|
|
*(int32_t *)(g9 - 8) = 49;
|
|
int32_t v11 = g8; // 0x1e2b357
|
|
g5 = v11;
|
|
*(int32_t *)(g9 - 12) = v11;
|
|
*(int32_t *)(g9 - 16) = 63;
|
|
int32_t result2 = function_1e328b9((int32_t)&g708, (int32_t)&g708); // 0x1e2b35e
|
|
g2 = result2;
|
|
// 0x1e2b363
|
|
return result2;
|
|
}
|
|
|
|
// Address range: 0x1e2b368 - 0x1e2b3a2
|
|
int32_t function_1e2b368(int32_t a1) {
|
|
int32_t v1 = g8; // 0x1e2b368
|
|
g6 = a1;
|
|
g8 = 0;
|
|
*(int32_t *)(a1 + 78) = 0;
|
|
*(char *)(g6 + 5) = 1;
|
|
int32_t v2 = g6; // 0x1e2b377
|
|
int32_t v3 = *(int32_t *)(v2 + 34); // 0x1e2b377
|
|
g2 = v3;
|
|
int32_t v4 = *(int32_t *)(v3 + 4); // 0x1e2b37a
|
|
g5 = v4;
|
|
int32_t result = function_1e29a40(*(int32_t *)(v2 + 26), *(int32_t *)(v4 + 8)); // 0x1e2b383
|
|
g2 = result;
|
|
if (v1 == g8) {
|
|
// 0x1e2b39d
|
|
return result;
|
|
}
|
|
int32_t v5 = *(int32_t *)(g6 + 70); // 0x1e2b38e
|
|
g2 = v5;
|
|
int32_t result2; // 0x1e2b396
|
|
if (v5 != 0) {
|
|
// 0x1e2b395
|
|
result2 = function_1e39a10(v5);
|
|
g2 = result2;
|
|
} else {
|
|
result2 = 0;
|
|
}
|
|
// 0x1e2b39d
|
|
return result2;
|
|
}
|
|
|
|
// Address range: 0x1e2b3a2 - 0x1e2b478
|
|
int32_t function_1e2b3a2(int32_t a1, int32_t a2) {
|
|
// 0x1e2b3a2
|
|
g2 = a1;
|
|
int32_t v1 = g8; // 0x1e2b3a6
|
|
int32_t v2 = g6; // 0x1e2b3a7
|
|
int32_t v3 = g5; // 0x1e2b3a8
|
|
g8 = v3;
|
|
if (a1 == 49) {
|
|
// 0x1e2b3c7
|
|
*(char *)(v3 + 5) = 0;
|
|
g2 = function_1e29a40(*(int32_t *)(g8 + 26), 0);
|
|
// 0x1e2b471
|
|
g2 = 0;
|
|
return 0;
|
|
}
|
|
if (a1 == 50) {
|
|
int32_t v4 = function_1e325d2(*(int32_t *)(v3 + 82), v3, 0x1e2b368); // 0x1e2b3e3
|
|
g2 = v4;
|
|
*(int32_t *)(g8 + 78) = v4;
|
|
// 0x1e2b471
|
|
g2 = 0;
|
|
return 0;
|
|
}
|
|
if (a1 == 1020) {
|
|
int32_t v5 = v3 + 6; // 0x1e2b3f4
|
|
g6 = v5;
|
|
int32_t v6 = *(int32_t *)(v3 + 30); // 0x1e2b3f7
|
|
g2 = v6;
|
|
int32_t v7 = *(int32_t *)v5; // 0x1e2b3fd
|
|
g5 = v7;
|
|
int32_t v8 = *(int32_t *)(v6 + 218); // 0x1e2b3ff
|
|
g7 = v8;
|
|
*(int32_t *)(v3 + 98 + 4 * v8) = v7;
|
|
g2 = function_1e3dbc0(a2, v2, v1);
|
|
int32_t v9 = __ftol(); // 0x1e2b414
|
|
g2 = v9;
|
|
int32_t v10 = *(int32_t *)(4 * v9 + 98 + g8); // 0x1e2b419
|
|
g5 = v10;
|
|
g2 = 50;
|
|
*(int32_t *)g6 = v10;
|
|
int32_t v11 = g5; // 0x1e2b426
|
|
g5 = g8;
|
|
int32_t v12 = (int32_t)(v11 != 0) + g2; // 0x1e2b42b
|
|
g2 = v12;
|
|
g2 = function_1e2b3a2(v12, 0);
|
|
// 0x1e2b471
|
|
g2 = 0;
|
|
return 0;
|
|
}
|
|
if (a1 != 1024) {
|
|
// 0x1e2b471
|
|
g2 = 0;
|
|
return 0;
|
|
}
|
|
// 0x1e2b436
|
|
g6 = 0;
|
|
g2 = *(int32_t *)(v3 + 30);
|
|
*(int32_t *)(v3 + 6) = 0;
|
|
int32_t v13 = g6; // 0x1e2b43e
|
|
int32_t v14 = g8; // 0x1e2b446
|
|
int32_t v15; // 0x1e2b45c
|
|
if (*(int32_t *)(g2 + 214) > v13) {
|
|
int32_t v16 = v14 + 98; // 0x1e2b446
|
|
g2 = v16;
|
|
g5 = 0;
|
|
g6 = v13 + 1;
|
|
*(int32_t *)v16 = 0;
|
|
int32_t v17 = g2 + 4; // 0x1e2b44e28
|
|
g2 = v17;
|
|
int32_t v18 = g8; // 0x1e2b45129
|
|
int32_t v19 = g6; // 0x1e2b45436
|
|
int32_t v20; // 0x1e2b451
|
|
if (*(int32_t *)(*(int32_t *)(v18 + 30) + 214) > v19) {
|
|
g6 = v19 + 1;
|
|
*(int32_t *)v17 = g5;
|
|
int32_t v21 = g2 + 4; // 0x1e2b44e
|
|
g2 = v21;
|
|
v20 = g8;
|
|
while (*(int32_t *)(*(int32_t *)(v20 + 30) + 214) > g6) {
|
|
// 0x1e2b44b
|
|
g6++;
|
|
*(int32_t *)v21 = g5;
|
|
v21 = g2 + 4;
|
|
g2 = v21;
|
|
v20 = g8;
|
|
}
|
|
} else {
|
|
v20 = v18;
|
|
}
|
|
v15 = v20;
|
|
} else {
|
|
v15 = v14;
|
|
}
|
|
int32_t v22 = *(int32_t *)(v15 + 78); // 0x1e2b45c
|
|
g2 = v22;
|
|
int32_t v23; // 0x1e2b469
|
|
if (v22 != 0) {
|
|
// 0x1e2b463
|
|
g2 = function_1e32771(v22);
|
|
v23 = g8;
|
|
} else {
|
|
v23 = v15;
|
|
}
|
|
// 0x1e2b469
|
|
*(int32_t *)(g9 - 4) = v23;
|
|
*(int32_t *)(g9 - 8) = 0;
|
|
g2 = function_1e2b368((int32_t)&g708);
|
|
// 0x1e2b471
|
|
g2 = 0;
|
|
return 0;
|
|
}
|
|
|
|
// Address range: 0x1e2b478 - 0x1e2b48c
|
|
int32_t function_1e2b478(int32_t a1) {
|
|
// 0x1e2b478
|
|
g2 = a1;
|
|
int32_t result;
|
|
if (a1 < 3) {
|
|
// 0x1e2b485
|
|
result = *(int32_t *)(4 * a1 + 86 + g5);
|
|
} else {
|
|
result = 0;
|
|
}
|
|
// 0x1e2b489
|
|
g2 = result;
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e2b48c - 0x1e2b4a0
|
|
int32_t function_1e2b48c(int32_t a1, int32_t a2) {
|
|
// 0x1e2b48c
|
|
g2 = a1;
|
|
int32_t result; // 0x1e2b49d
|
|
if (a1 < 3) {
|
|
// 0x1e2b495
|
|
*(int32_t *)(4 * a1 + 86 + g5) = a2;
|
|
result = g2;
|
|
} else {
|
|
result = a1;
|
|
}
|
|
// 0x1e2b49d
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e2b4a0 - 0x1e2b4f0
|
|
int32_t function_1e2b4a0(int32_t a1, int32_t a2) {
|
|
int32_t v1 = g3; // bp-4
|
|
g3 = &v1;
|
|
int32_t v2; // bp-76
|
|
int32_t v3 = &v2; // 0x1e2b4a3
|
|
g2 = function_1e2a3f7(a1, a2, 1, g6);
|
|
g6 = 0;
|
|
g5 = v3;
|
|
*(int32_t *)g8 = (int32_t)&g39;
|
|
int32_t v4 = g6; // 0x1e2b4c3
|
|
*(int32_t *)(g8 + 82) = v4;
|
|
*(int32_t *)(g8 + 86) = 0x3dcccccd;
|
|
g2 = function_1e39641(a2, v4, v3);
|
|
int32_t v5 = 50; // bp-116
|
|
g5 = g8;
|
|
function_1e2b566(v5, g6);
|
|
g2 = g8;
|
|
g6 = v5;
|
|
g3 = v1;
|
|
return g8;
|
|
}
|
|
|
|
// Address range: 0x1e2b4f0 - 0x1e2b50e
|
|
int32_t function_1e2b4f0(char a1) {
|
|
// 0x1e2b4f0
|
|
g2 = function_1e2a4cb();
|
|
if ((a1 & 1) != 0) {
|
|
// 0x1e2b4ff
|
|
g2 = function_1e3df60(g8);
|
|
}
|
|
// 0x1e2b508
|
|
g2 = g8;
|
|
return g8;
|
|
}
|
|
|
|
// Address range: 0x1e2b50e - 0x1e2b54d
|
|
int32_t function_1e2b50e(int32_t a1, int32_t a2, int32_t a3) {
|
|
// 0x1e2b50e
|
|
g8 = g5;
|
|
int32_t v1 = function_1e2a5b8(a1, a2, a3); // 0x1e2b51d
|
|
g2 = v1;
|
|
int32_t result; // 0x1e2b544
|
|
if (v1 != 0) {
|
|
// 0x1e2b526
|
|
g2 = g5;
|
|
int32_t v2 = g8; // 0x1e2b52c
|
|
g5 = v2;
|
|
int32_t v3 = function_1e325d2(*(int32_t *)(v2 + 86), v2, 0x1e2b54d); // 0x1e2b539
|
|
g2 = v3;
|
|
int32_t v4 = g8; // 0x1e2b53e
|
|
*(int32_t *)(v4 + 82) = v3;
|
|
result = function_1e328b9(63, v4);
|
|
g2 = result;
|
|
} else {
|
|
result = 0;
|
|
}
|
|
// 0x1e2b549
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e2b54d - 0x1e2b566
|
|
int32_t function_1e2b54d(int32_t a1) {
|
|
// 0x1e2b54d
|
|
g5 = a1;
|
|
g2 = *(int32_t *)a1;
|
|
*(int32_t *)(a1 + 82) = 0;
|
|
return g2;
|
|
}
|
|
|
|
// Address range: 0x1e2b566 - 0x1e2b5f3
|
|
int32_t function_1e2b566(int32_t a1, int32_t a2) {
|
|
int32_t v1 = g5; // 0x1e2b568
|
|
g8 = v1;
|
|
int32_t v2; // 0x1e2b594
|
|
if (a1 < 49) {
|
|
goto lab_0x1e2b5ec;
|
|
} else {
|
|
if (a1 > 50) {
|
|
if (a1 != 1024) {
|
|
goto lab_0x1e2b5ec;
|
|
} else {
|
|
int32_t v3 = *(int32_t *)(v1 + 82); // 0x1e2b580
|
|
g2 = v3;
|
|
int32_t v4; // 0x1e2b58d
|
|
if (v3 != 0) {
|
|
// 0x1e2b587
|
|
g2 = function_1e32771(v3);
|
|
v4 = g8;
|
|
} else {
|
|
v4 = v1;
|
|
}
|
|
// 0x1e2b58d
|
|
*(int32_t *)(v4 + 82) = 0;
|
|
v2 = a1;
|
|
if (v2 == 50) {
|
|
// 0x1e2b5a7
|
|
*(char *)(g8 + 5) = 1;
|
|
goto lab_0x1e2b5ab;
|
|
} else {
|
|
goto lab_0x1e2b599;
|
|
}
|
|
}
|
|
} else {
|
|
if (a1 == 50) {
|
|
// 0x1e2b5a7
|
|
*(char *)(g8 + 5) = 1;
|
|
goto lab_0x1e2b5ab;
|
|
} else {
|
|
v2 = 49;
|
|
goto lab_0x1e2b599;
|
|
}
|
|
}
|
|
}
|
|
lab_0x1e2b5ec:
|
|
// 0x1e2b5ec
|
|
g2 = 0;
|
|
g8 = *(int32_t *)(g9 + 4);
|
|
return 0;
|
|
lab_0x1e2b599:
|
|
if (v2 == 1024) {
|
|
// 0x1e2b5a7
|
|
*(char *)(g8 + 5) = 1;
|
|
goto lab_0x1e2b5ab;
|
|
} else {
|
|
// 0x1e2b5a1
|
|
*(char *)(g8 + 5) = 0;
|
|
goto lab_0x1e2b5ab;
|
|
}
|
|
lab_0x1e2b5ab:;
|
|
int32_t v5 = *(int32_t *)(g8 + 34); // 0x1e2b5ab
|
|
g2 = v5;
|
|
if (v5 != 0) {
|
|
int32_t v6 = *(int32_t *)(v5 + 4); // 0x1e2b5b2
|
|
g2 = v6;
|
|
int32_t v7 = *(int32_t *)(g8 + 30); // 0x1e2b5b5
|
|
int32_t v8 = 4 * (int32_t)*(char *)(g8 + 5); // 0x1e2b5bc
|
|
g5 = v8;
|
|
int32_t v9 = v6 - v8; // 0x1e2b5bf
|
|
g2 = v9;
|
|
int32_t v10 = *(int32_t *)(v9 + 12); // 0x1e2b5c1
|
|
int32_t v11 = *(int32_t *)(v10 + 33); // 0x1e2b5c4
|
|
g2 = v11;
|
|
int32_t v12 = v11 - *(int32_t *)(v7 + 238); // 0x1e2b5c7
|
|
g2 = v12;
|
|
*(int32_t *)(g9 - 4) = v12;
|
|
int32_t v13 = *(int32_t *)(v10 + 29); // 0x1e2b5ce
|
|
g2 = v13;
|
|
int32_t v14 = v13 - *(int32_t *)(v7 + 234); // 0x1e2b5d1
|
|
g2 = v14;
|
|
*(int32_t *)(g9 - 8) = v14;
|
|
int32_t v15 = *(int32_t *)(*(int32_t *)(g8 + 38) + 4) - g5; // 0x1e2b5de
|
|
g2 = v15;
|
|
*(int32_t *)(g9 - 12) = *(int32_t *)(v15 + 12);
|
|
*(int32_t *)(g9 - 16) = v10;
|
|
*(int32_t *)(g9 - 20) = *(int32_t *)(g8 + 26);
|
|
int32_t v16 = function_1e29a04((int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e2b5e7
|
|
g2 = v16;
|
|
}
|
|
goto lab_0x1e2b5ec;
|
|
}
|
|
|
|
// Address range: 0x1e2b5f3 - 0x1e2b607
|
|
int32_t function_1e2b5f3(int32_t a1) {
|
|
// 0x1e2b5f3
|
|
g2 = a1;
|
|
int32_t result;
|
|
if (a1 < 1) {
|
|
// 0x1e2b600
|
|
result = *(int32_t *)(4 * a1 + 94 + g5);
|
|
} else {
|
|
result = 0;
|
|
}
|
|
// 0x1e2b604
|
|
g2 = result;
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e2b607 - 0x1e2b61b
|
|
int32_t function_1e2b607(int32_t a1, int32_t a2) {
|
|
// 0x1e2b607
|
|
g2 = a1;
|
|
int32_t result; // 0x1e2b618
|
|
if (a1 < 1) {
|
|
// 0x1e2b610
|
|
*(int32_t *)(4 * a1 + 94 + g5) = a2;
|
|
result = g2;
|
|
} else {
|
|
result = a1;
|
|
}
|
|
// 0x1e2b618
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e2b61b - 0x1e2b682
|
|
int32_t function_1e2b61b(int32_t a1, int32_t a2) {
|
|
int32_t v1 = g3; // bp-4
|
|
g3 = &v1;
|
|
int32_t v2; // bp-76
|
|
int32_t v3 = &v2; // 0x1e2b61e
|
|
g2 = function_1e2a3f7(a1, a2, 1, g6);
|
|
g5 = v3;
|
|
g6 = 0;
|
|
*(int32_t *)g8 = (int32_t)&g40;
|
|
function_1e39641(a2, g6, v3);
|
|
*(int32_t *)(g8 + 94) = g5;
|
|
int32_t v4 = g6; // 0x1e2b653
|
|
*(int32_t *)(g8 + 86) = v4;
|
|
int32_t v5 = 1024; // bp-116
|
|
int32_t v6 = g8; // 0x1e2b65c
|
|
g5 = v6;
|
|
*(int32_t *)(v6 + 78) = 55;
|
|
*(int32_t *)(g8 + 82) = 5;
|
|
*(int32_t *)(g8 + 66) = 0x4e6e6b28;
|
|
function_1e2b6b6(v5, v4);
|
|
g2 = g8;
|
|
g6 = v5;
|
|
g3 = v1;
|
|
return g8;
|
|
}
|
|
|
|
// Address range: 0x1e2b682 - 0x1e2b6a0
|
|
int32_t function_1e2b682(char a1) {
|
|
// 0x1e2b682
|
|
g2 = function_1e2a4cb();
|
|
if ((a1 & 1) != 0) {
|
|
// 0x1e2b691
|
|
g2 = function_1e3df60(g8);
|
|
}
|
|
// 0x1e2b69a
|
|
g2 = g8;
|
|
return g8;
|
|
}
|
|
|
|
// Address range: 0x1e2b6a0 - 0x1e2b6b6
|
|
int32_t function_1e2b6a0(int32_t a1) {
|
|
// 0x1e2b6a0
|
|
g2 = a1;
|
|
*(int32_t *)(a1 + 86) = 0;
|
|
int32_t result = function_1e328b9(60, a1); // 0x1e2b6ae
|
|
g2 = result;
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e2b6b6 - 0x1e2b778
|
|
int32_t function_1e2b6b6(int32_t a1, int32_t a2) {
|
|
// 0x1e2b6b6
|
|
g2 = a1;
|
|
int32_t v1 = g6; // bp-8
|
|
int32_t v2 = g5; // 0x1e2b6bc
|
|
g8 = v2;
|
|
int32_t v3; // 0x1e2b73b
|
|
if (a1 == 51) {
|
|
goto lab_0x1e2b6e6;
|
|
} else {
|
|
if (a1 == 52) {
|
|
// 0x1e2b71c
|
|
*(char *)(v2 + 5) = 1;
|
|
g2 = function_1e39a10(*(int32_t *)(v2 + 90));
|
|
g11++;
|
|
int32_t v4 = g8; // 0x1e2b72a
|
|
int32_t v5 = *(int32_t *)(v4 + 34); // 0x1e2b72a
|
|
g2 = v5;
|
|
int32_t v6 = *(int32_t *)(v5 + 4); // 0x1e2b72d
|
|
g5 = v6;
|
|
g2 = function_1e29a40(*(int32_t *)(v4 + 26), *(int32_t *)(v6 + 8));
|
|
v3 = g8;
|
|
goto lab_0x1e2b73b;
|
|
} else {
|
|
if (a1 == 59) {
|
|
v3 = v2;
|
|
goto lab_0x1e2b73b;
|
|
} else {
|
|
if (a1 != 1011) {
|
|
if (a1 != 1020) {
|
|
if (a1 != 1024) {
|
|
// 0x1e2b771
|
|
g2 = 0;
|
|
g8 = *(int32_t *)(g9 + 4);
|
|
return 0;
|
|
}
|
|
}
|
|
}
|
|
goto lab_0x1e2b6e6;
|
|
}
|
|
}
|
|
}
|
|
lab_0x1e2b6e6:;
|
|
int32_t v7 = *(int32_t *)(v2 + 86); // 0x1e2b6e6
|
|
g2 = v7;
|
|
g6 = 0;
|
|
int32_t v8; // 0x1e2b6fa
|
|
if (v7 != 0) {
|
|
// 0x1e2b6ef
|
|
g2 = function_1e32771(v7);
|
|
*(int32_t *)(g8 + 86) = g6;
|
|
v8 = g9;
|
|
} else {
|
|
v8 = &v1;
|
|
}
|
|
// 0x1e2b6f8
|
|
g2 = 0;
|
|
*(int32_t *)(v8 - 4) = 0;
|
|
*(int32_t *)(g8 + 6) = g2;
|
|
*(int32_t *)(g9 - 4) = *(int32_t *)(g8 + 26);
|
|
*(char *)(g8 + 5) = (char)g2;
|
|
g2 = function_1e29a40((int32_t)&g708, (int32_t)&g708);
|
|
if (*(int32_t *)(g9 + 12) == 51) {
|
|
// 0x1e2b710
|
|
*(int32_t *)(g9 - 4) = *(int32_t *)(g8 + 94);
|
|
g2 = function_1e39a10((int32_t)&g708);
|
|
g11++;
|
|
}
|
|
// 0x1e2b771
|
|
g2 = 0;
|
|
g8 = *(int32_t *)(g9 + 4);
|
|
return 0;
|
|
lab_0x1e2b73b:;
|
|
int32_t v9 = *(int32_t *)(v3 + 86); // 0x1e2b73b
|
|
g2 = v9;
|
|
if (v9 != 0) {
|
|
// 0x1e2b742
|
|
*(int32_t *)(g9 - 4) = v9;
|
|
g2 = function_1e32771((int32_t)&g708);
|
|
}
|
|
// 0x1e2b748
|
|
g2 = g2 & -0x10000 | (int32_t)__asm_fnstsw(g10);
|
|
*(int32_t *)(g9 - 4) = 0x1e2b6a0;
|
|
*(int32_t *)(g9 - 8) = g8;
|
|
*(float32_t *)(g9 - 12) = (float32_t)(float80_t)*(float32_t *)(g9 + 16);
|
|
int32_t v10 = function_1e325d2((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e2b769
|
|
g2 = v10;
|
|
*(int32_t *)(g8 + 86) = v10;
|
|
// 0x1e2b771
|
|
g2 = 0;
|
|
g8 = *(int32_t *)(g9 + 4);
|
|
return 0;
|
|
}
|
|
|
|
// Address range: 0x1e2b778 - 0x1e2b7c5
|
|
int32_t function_1e2b778(int32_t a1, int32_t a2) {
|
|
int32_t v1 = g3; // bp-4
|
|
g3 = &v1;
|
|
int32_t v2; // bp-76
|
|
int32_t v3 = &v2; // 0x1e2b77b
|
|
g2 = function_1e2a3f7(a1, a2, 1, g8);
|
|
g5 = v3;
|
|
*(int32_t *)g8 = (int32_t)&g41;
|
|
g2 = function_1e39641(a2, 0, v3);
|
|
int32_t v4 = g8; // 0x1e2b7b2
|
|
g5 = v4;
|
|
int32_t v5; // edx
|
|
*(int32_t *)(v4 + 82) = v5;
|
|
function_1e2b7e3(1024, 0);
|
|
g2 = g8;
|
|
g3 = v1;
|
|
return g8;
|
|
}
|
|
|
|
// Address range: 0x1e2b7c5 - 0x1e2b7e3
|
|
int32_t function_1e2b7c5(char a1) {
|
|
// 0x1e2b7c5
|
|
g2 = function_1e2a4cb();
|
|
if ((a1 & 1) != 0) {
|
|
// 0x1e2b7d4
|
|
g2 = function_1e3df60(g8);
|
|
}
|
|
// 0x1e2b7dd
|
|
g2 = g8;
|
|
return g8;
|
|
}
|
|
|
|
// Address range: 0x1e2b7e3 - 0x1e2b84c
|
|
int32_t function_1e2b7e3(int32_t a1, int32_t a2) {
|
|
int32_t v1 = g6; // bp-8
|
|
int32_t v2 = g5; // 0x1e2b7e5
|
|
g6 = v2;
|
|
g8 = a1;
|
|
int32_t v3;
|
|
int32_t v4; // 0x1e2b847
|
|
if (a1 == 1020) {
|
|
v4 = &v1;
|
|
goto lab_0x1e2b845;
|
|
} else {
|
|
if (a1 == 53) {
|
|
// 0x1e2b807
|
|
*(char *)(v2 + 5) = 0;
|
|
g2 = function_1e29a40(*(int32_t *)(g6 + 26), 0);
|
|
v3 = g6 + 82;
|
|
goto lab_0x1e2b837;
|
|
} else {
|
|
if (a1 == 54) {
|
|
goto lab_0x1e2b81a;
|
|
} else {
|
|
if (a1 == 1024) {
|
|
goto lab_0x1e2b81a;
|
|
} else {
|
|
goto lab_0x1e2b83e;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
lab_0x1e2b845:
|
|
// 0x1e2b845
|
|
g2 = 0;
|
|
g6 = *(int32_t *)v4;
|
|
g8 = *(int32_t *)(v4 + 4);
|
|
return 0;
|
|
lab_0x1e2b837:
|
|
// 0x1e2b837
|
|
g2 = function_1e39a10(*(int32_t *)v3);
|
|
g11++;
|
|
goto lab_0x1e2b83e;
|
|
lab_0x1e2b81a:
|
|
// 0x1e2b81a
|
|
g2 = *(int32_t *)(v2 + 34);
|
|
*(char *)(v2 + 5) = 1;
|
|
int32_t v5 = *(int32_t *)(g2 + 4); // 0x1e2b821
|
|
g5 = v5;
|
|
g2 = function_1e29a40(*(int32_t *)(g6 + 26), *(int32_t *)(v5 + 8));
|
|
if (g8 != 54) {
|
|
goto lab_0x1e2b83e;
|
|
} else {
|
|
// 0x1e2b834
|
|
v3 = g6 + 78;
|
|
goto lab_0x1e2b837;
|
|
}
|
|
lab_0x1e2b83e:
|
|
// 0x1e2b83e
|
|
*(int32_t *)(g9 - 4) = g6;
|
|
*(int32_t *)(g9 - 8) = g8;
|
|
g2 = function_1e328b9((int32_t)&g708, (int32_t)&g708);
|
|
v4 = g9;
|
|
goto lab_0x1e2b845;
|
|
}
|
|
|
|
// Address range: 0x1e2b84c - 0x1e2b8aa
|
|
int32_t function_1e2b84c(int32_t a1) {
|
|
// 0x1e2b84c
|
|
int32_t v1; // bp-76
|
|
int32_t v2 = &v1; // 0x1e2b84f
|
|
g2 = v2;
|
|
g6 = g5;
|
|
g2 = function_1e39641(a1, 0, v2);
|
|
g5 = 600;
|
|
int32_t v3 = function_1e3991a(g8, g4); // 0x1e2b879
|
|
g2 = v3;
|
|
int32_t v4 = function_1e29b62(v3, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e2b87f
|
|
g2 = v4;
|
|
g5 = 603;
|
|
int32_t v5 = g4; // 0x1e2b88d
|
|
int32_t v6 = g8; // 0x1e2b895
|
|
int32_t v7 = function_1e3991a(v6, v5); // 0x1e2b896
|
|
g2 = v7;
|
|
int32_t result = function_1e29b62(v7, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e2b89c
|
|
g2 = result;
|
|
g6 = v7;
|
|
g8 = v6;
|
|
g4 = v5;
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e2b8aa - 0x1e2b8ca
|
|
int32_t function_1e2b8aa(int32_t a1, int32_t a2, int32_t a3, int32_t a4) {
|
|
// 0x1e2b8aa
|
|
function_1e2a3f7(a1, a2, a3, g8);
|
|
g2 = g8;
|
|
*(int32_t *)g8 = (int32_t)&g42;
|
|
g8 = a1;
|
|
return g2;
|
|
}
|
|
|
|
// Address range: 0x1e2b8ca - 0x1e2b8e8
|
|
int32_t function_1e2b8ca(char a1) {
|
|
// 0x1e2b8ca
|
|
g2 = function_1e2a4cb();
|
|
if ((a1 & 1) != 0) {
|
|
// 0x1e2b8d9
|
|
g2 = function_1e3df60(g8);
|
|
}
|
|
// 0x1e2b8e2
|
|
g2 = g8;
|
|
return g8;
|
|
}
|
|
|
|
// Address range: 0x1e2b8e8 - 0x1e2b92a
|
|
int32_t function_1e2b8e8(int32_t a1, int32_t a2) {
|
|
// 0x1e2b8e8
|
|
g2 = function_1e2a3f7(a1, a2, 0, g8);
|
|
int32_t v1 = g8; // 0x1e2b8fa
|
|
int32_t v2 = *(int32_t *)(v1 + 34); // 0x1e2b8fa
|
|
g2 = v2;
|
|
*(int32_t *)v1 = (int32_t)&g42;
|
|
*(char *)(g8 + 78) = 0;
|
|
if (v2 != 0) {
|
|
int32_t v3 = *(int32_t *)(v2 + 4); // 0x1e2b90b
|
|
g2 = v3;
|
|
g2 = function_1e29a40(*(int32_t *)(g8 + 26), *(int32_t *)(v3 + 8));
|
|
}
|
|
// 0x1e2b919
|
|
*(int32_t *)(g9 - 4) = *(int32_t *)(g9 + 12);
|
|
g5 = g8;
|
|
function_1e2b84c((int32_t)&g708);
|
|
g2 = g8;
|
|
return g8;
|
|
}
|
|
|
|
// Address range: 0x1e2b92a - 0x1e2b9cb
|
|
int32_t function_1e2b92a(int32_t a1, int32_t a2, float32_t a3, int32_t a4) {
|
|
// 0x1e2b92a
|
|
g2 = a2;
|
|
g8 = g5;
|
|
int32_t v1 = *(int32_t *)a2; // 0x1e2b938
|
|
g5 = v1;
|
|
float80_t v2 = (float80_t)*(float32_t *)(a1 + 70) - (float80_t)a3; // st7
|
|
*(int32_t *)(a1 + 42) = v1;
|
|
g5 = a1 + 134;
|
|
int32_t v3 = *(int32_t *)(g2 + 4); // 0x1e2b949
|
|
g2 = v3;
|
|
*(int32_t *)(a1 + 46) = v3;
|
|
g2 = *(int32_t *)g5;
|
|
*(float32_t *)(a1 + 70) = (float32_t)v2;
|
|
int32_t v4 = g2; // 0x1e2b954
|
|
if (v4 < 5) {
|
|
// 0x1e2b959
|
|
*(int32_t *)(4 * v4 + 114 + a1) = a4;
|
|
int32_t * v5 = (int32_t *)g5; // 0x1e2b960
|
|
*v5 = *v5 + 1;
|
|
}
|
|
int32_t v6 = g8; // 0x1e2b962
|
|
int32_t result = *(int32_t *)(v6 + 30); // 0x1e2b962
|
|
g2 = result;
|
|
if (*(int32_t *)(result + 370) != 0) {
|
|
// 0x1e2b9c5
|
|
return result;
|
|
}
|
|
int32_t v7 = v6 + 78; // 0x1e2b96e
|
|
g6 = v7;
|
|
if (*(char *)v7 == 0) {
|
|
// 0x1e2b98c
|
|
g2 = function_1e39a10(*(int32_t *)(v6 + 70));
|
|
g11++;
|
|
g2 = function_1e328b9(63, g8);
|
|
} else {
|
|
// 0x1e2b976
|
|
g2 = function_1e325d2(0x3dcccccd, v6, 0x1e2b9cb);
|
|
*(char *)(g8 + 5) = 0;
|
|
}
|
|
// 0x1e2b99e
|
|
g2 = *(int32_t *)(g8 + 34);
|
|
char * v8 = (char *)g6; // 0x1e2b9a1
|
|
char v9 = *v8; // 0x1e2b9a1
|
|
g5 = g5 & -256 | (int32_t)(v9 == 0);
|
|
*v8 = (char)(v9 == 0);
|
|
int32_t v10 = g2; // 0x1e2b9aa
|
|
if (v10 == 0) {
|
|
// 0x1e2b9c5
|
|
return 0;
|
|
}
|
|
// 0x1e2b9ae
|
|
int32_t v11;
|
|
if ((char)g5 == 0) {
|
|
int32_t v12 = *(int32_t *)(v10 + 4); // 0x1e2b9b6
|
|
g2 = v12;
|
|
v11 = *(int32_t *)(v12 + 8);
|
|
} else {
|
|
v11 = 0;
|
|
}
|
|
// 0x1e2b9bc
|
|
g2 = v11;
|
|
int32_t result2 = function_1e29a40(*(int32_t *)(g8 + 26), v11); // 0x1e2b9c0
|
|
g2 = result2;
|
|
// 0x1e2b9c5
|
|
return result2;
|
|
}
|
|
|
|
// Address range: 0x1e2b9cb - 0x1e2b9d6
|
|
int32_t function_1e2b9cb(int32_t a1) {
|
|
// 0x1e2b9cb
|
|
g2 = a1;
|
|
*(char *)(a1 + 5) = 1;
|
|
return g2;
|
|
}
|
|
|
|
// Address range: 0x1e2b9d6 - 0x1e2ba02
|
|
int32_t function_1e2b9d6(int32_t a1) {
|
|
if (a1 != 1024) {
|
|
// 0x1e2b9fd
|
|
g2 = 0;
|
|
return 0;
|
|
}
|
|
// 0x1e2b9e0
|
|
*(char *)(g5 + 5) = 1;
|
|
*(char *)(g5 + 78) = 0;
|
|
int32_t v1 = g5; // 0x1e2b9e8
|
|
int32_t v2 = *(int32_t *)(v1 + 34); // 0x1e2b9e8
|
|
g2 = v2;
|
|
if (v2 != 0) {
|
|
int32_t v3 = *(int32_t *)(v2 + 4); // 0x1e2b9ef
|
|
g2 = v3;
|
|
g2 = function_1e29a40(*(int32_t *)(v1 + 26), *(int32_t *)(v3 + 8));
|
|
}
|
|
// 0x1e2b9fd
|
|
g2 = 0;
|
|
return 0;
|
|
}
|
|
|
|
// Address range: 0x1e2ba02 - 0x1e2ba16
|
|
int32_t function_1e2ba02(int32_t a1) {
|
|
// 0x1e2ba02
|
|
g2 = a1;
|
|
int32_t result;
|
|
if (a1 < 2) {
|
|
// 0x1e2ba0f
|
|
result = *(int32_t *)(4 * a1 + 79 + g5);
|
|
} else {
|
|
result = 0;
|
|
}
|
|
// 0x1e2ba13
|
|
g2 = result;
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e2ba16 - 0x1e2ba2a
|
|
int32_t function_1e2ba16(int32_t a1, int32_t a2) {
|
|
// 0x1e2ba16
|
|
g2 = a1;
|
|
int32_t result; // 0x1e2ba27
|
|
if (a1 < 2) {
|
|
// 0x1e2ba1f
|
|
*(int32_t *)(4 * a1 + 79 + g5) = a2;
|
|
result = g2;
|
|
} else {
|
|
result = a1;
|
|
}
|
|
// 0x1e2ba27
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e2ba2a - 0x1e2ba7c
|
|
int32_t function_1e2ba2a(int32_t a1, int32_t a2) {
|
|
int32_t v1 = g6; // 0x1e2ba2c
|
|
g8 = g5;
|
|
g4 = 0;
|
|
g6 = a2;
|
|
g2 = function_1e2b8aa(a1, a2, 0, v1);
|
|
*(int32_t *)g8 = (int32_t)&g43;
|
|
*(char *)(g8 + 78) = (char)g4;
|
|
*(int32_t *)(g8 + 91) = g4;
|
|
int32_t v2 = g8; // 0x1e2ba4c
|
|
int32_t v3 = g4; // 0x1e2ba4c
|
|
if (*(int32_t *)(v2 + 34) != v3) {
|
|
// 0x1e2ba51
|
|
g2 = function_1e29a40(*(int32_t *)(v2 + 26), v3);
|
|
}
|
|
// 0x1e2ba5a
|
|
*(int32_t *)(g9 - 4) = g6;
|
|
g5 = g8;
|
|
g2 = function_1e2b84c((int32_t)&g708);
|
|
*(int32_t *)(g9 - 4) = 407;
|
|
*(int32_t *)(g9 - 8) = 0;
|
|
*(int32_t *)(g9 - 12) = g6;
|
|
int32_t v4 = function_1e3991a((int32_t)&g708, (int32_t)&g708); // 0x1e2ba6a
|
|
g2 = v4;
|
|
int32_t v5 = *(int32_t *)v4; // 0x1e2ba6f
|
|
g2 = v5;
|
|
g6 = *(int32_t *)g9;
|
|
*(int32_t *)(g8 + 87) = v5;
|
|
g2 = g8;
|
|
g4 = *(int32_t *)(g9 + 4);
|
|
return g8;
|
|
}
|
|
|
|
// Address range: 0x1e2ba7c - 0x1e2ba9a
|
|
int32_t function_1e2ba7c(char a1) {
|
|
// 0x1e2ba7c
|
|
g2 = function_1e2a4cb();
|
|
if ((a1 & 1) != 0) {
|
|
// 0x1e2ba8b
|
|
g2 = function_1e3df60(g8);
|
|
}
|
|
// 0x1e2ba94
|
|
g2 = g8;
|
|
return g8;
|
|
}
|
|
|
|
// Address range: 0x1e2ba9a - 0x1e2bab3
|
|
int32_t function_1e2ba9a(int32_t a1) {
|
|
// 0x1e2ba9a
|
|
g2 = function_1e29a40(*(int32_t *)(a1 + 26), 0);
|
|
*(int32_t *)(a1 + 91) = 0;
|
|
return g2;
|
|
}
|
|
|
|
// Address range: 0x1e2bab3 - 0x1e2bb6b
|
|
int32_t function_1e2bab3(int32_t a1, int32_t a2, float32_t a3, int32_t a4) {
|
|
// 0x1e2bab3
|
|
g2 = a2;
|
|
g8 = g5;
|
|
int32_t v1 = *(int32_t *)a2; // 0x1e2bac2
|
|
g5 = v1;
|
|
int32_t v2 = a1 + 134; // edi
|
|
float80_t v3 = (float80_t)*(float32_t *)(a1 + 70) - (float80_t)a3; // st7
|
|
*(int32_t *)(a1 + 42) = v1;
|
|
int32_t v4 = *(int32_t *)v2; // 0x1e2bad3
|
|
g5 = v4;
|
|
int32_t v5 = *(int32_t *)(g2 + 4); // 0x1e2bad5
|
|
g2 = v5;
|
|
*(int32_t *)(a1 + 46) = v5;
|
|
*(float32_t *)(a1 + 70) = (float32_t)v3;
|
|
if (v4 < 5) {
|
|
// 0x1e2bae3
|
|
g2 = a4;
|
|
*(int32_t *)(a1 + 114 + 4 * g5) = a4;
|
|
int32_t * v6 = (int32_t *)v2; // 0x1e2baea
|
|
*v6 = *v6 + 1;
|
|
}
|
|
int32_t v7 = g8; // 0x1e2baec
|
|
int32_t v8 = *(int32_t *)(v7 + 30); // 0x1e2baec
|
|
g2 = v8;
|
|
g4 = 0;
|
|
if (*(int32_t *)(v8 + 370) != 0) {
|
|
// 0x1e2bb64
|
|
return g2;
|
|
}
|
|
int32_t v9 = v7 + 78; // 0x1e2baf9
|
|
g6 = v9;
|
|
if (*(char *)v9 == 0) {
|
|
// 0x1e2bb34
|
|
g2 = function_1e39a10(*(int32_t *)(v7 + 70));
|
|
g11++;
|
|
int32_t v10 = function_1e328b9(63, g8); // 0x1e2bb41
|
|
g2 = v10;
|
|
char * v11 = (char *)g6; // 0x1e2bb46
|
|
char v12 = *v11; // 0x1e2bb46
|
|
g2 = (int32_t)(v12 == 0) | v10 & -256;
|
|
*v11 = (char)(v12 == 0);
|
|
int32_t v13 = *(int32_t *)(g8 + 34); // 0x1e2bb4f
|
|
g2 = v13;
|
|
if (v13 != 0) {
|
|
int32_t v14 = *(int32_t *)(v13 + 4); // 0x1e2bb56
|
|
g2 = v14;
|
|
g2 = function_1e29a40(*(int32_t *)(g8 + 26), *(int32_t *)(v14 + 8));
|
|
}
|
|
} else {
|
|
// 0x1e2bb00
|
|
g2 = function_1e325d2(0x3dcccccd, v7, 0x1e2b9cb);
|
|
*(char *)(g8 + 5) = (char)g4;
|
|
char * v15 = (char *)g6; // 0x1e2bb13
|
|
char v16 = *v15; // 0x1e2bb13
|
|
g2 = g2 & -256 | (int32_t)(v16 == 0);
|
|
*v15 = (char)(v16 == 0);
|
|
if (*(int32_t *)(g8 + 91) == g4) {
|
|
int32_t v17 = function_1e325d2(*(int32_t *)(g8 + 87), g8, 0x1e2ba9a); // 0x1e2bb2a
|
|
g2 = v17;
|
|
*(int32_t *)(g8 + 91) = v17;
|
|
}
|
|
}
|
|
// 0x1e2bb64
|
|
return g2;
|
|
}
|
|
|
|
// Address range: 0x1e2bb6b - 0x1e2bba6
|
|
int32_t function_1e2bb6b(int32_t a1) {
|
|
int32_t v1 = g5; // 0x1e2bb74
|
|
g8 = v1;
|
|
if (a1 != 1024) {
|
|
// 0x1e2bba0
|
|
g2 = 0;
|
|
return 0;
|
|
}
|
|
// 0x1e2bb78
|
|
*(char *)(v1 + 5) = 1;
|
|
*(char *)(g8 + 78) = 0;
|
|
int32_t v2 = g8; // 0x1e2bb80
|
|
int32_t v3 = *(int32_t *)(v2 + 91); // 0x1e2bb80
|
|
g2 = v3;
|
|
int32_t v4; // 0x1e2bb8f
|
|
if (v3 != 0) {
|
|
// 0x1e2bb87
|
|
g2 = function_1e32771(v3);
|
|
v4 = g8;
|
|
} else {
|
|
v4 = v2;
|
|
}
|
|
// 0x1e2bb8d
|
|
g2 = 0;
|
|
*(int32_t *)(v4 + 91) = 0;
|
|
int32_t v5 = g2; // 0x1e2bb92
|
|
if (*(int32_t *)(g8 + 34) != v5) {
|
|
// 0x1e2bb97
|
|
*(int32_t *)(g9 - 4) = v5;
|
|
*(int32_t *)(g9 - 8) = *(int32_t *)(g8 + 26);
|
|
g2 = function_1e29a40((int32_t)&g708, (int32_t)&g708);
|
|
}
|
|
// 0x1e2bba0
|
|
g2 = 0;
|
|
return 0;
|
|
}
|
|
|
|
// Address range: 0x1e2bba6 - 0x1e2bbc4
|
|
int32_t function_1e2bba6(int32_t a1, int32_t a2) {
|
|
int32_t v1 = g8; // 0x1e2bba6
|
|
g8 = g5;
|
|
function_1e2b8aa(a1, a2, 1, v1);
|
|
g2 = g8;
|
|
*(int32_t *)g8 = (int32_t)&g44;
|
|
return g2;
|
|
}
|
|
|
|
// Address range: 0x1e2bbc4 - 0x1e2bbe2
|
|
int32_t function_1e2bbc4(char a1) {
|
|
// 0x1e2bbc4
|
|
g2 = function_1e2a4cb();
|
|
if ((a1 & 1) != 0) {
|
|
// 0x1e2bbd3
|
|
g2 = function_1e3df60(g8);
|
|
}
|
|
// 0x1e2bbdc
|
|
g2 = g8;
|
|
return g8;
|
|
}
|
|
|
|
// Address range: 0x1e2bbe2 - 0x1e2bc3e
|
|
int32_t function_1e2bbe2(int32_t a1, int32_t a2, float32_t a3, int32_t a4) {
|
|
// 0x1e2bbe2
|
|
g2 = a2;
|
|
g8 = g5;
|
|
int32_t v1 = *(int32_t *)a2; // 0x1e2bbf0
|
|
g5 = v1;
|
|
float80_t v2 = (float80_t)*(float32_t *)(a1 + 70) - (float80_t)a3; // st7
|
|
g6 = a1 + 134;
|
|
*(int32_t *)(a1 + 42) = v1;
|
|
int32_t v3 = *(int32_t *)(g2 + 4); // 0x1e2bc01
|
|
g2 = v3;
|
|
g5 = *(int32_t *)g6;
|
|
*(int32_t *)(a1 + 46) = v3;
|
|
*(float32_t *)(a1 + 70) = (float32_t)v2;
|
|
if (g5 < 5) {
|
|
// 0x1e2bc11
|
|
g2 = a4;
|
|
*(int32_t *)(a1 + 114 + 4 * g5) = a4;
|
|
int32_t * v4 = (int32_t *)g6; // 0x1e2bc18
|
|
*v4 = *v4 + 1;
|
|
}
|
|
int32_t v5 = g8; // 0x1e2bc1a
|
|
int32_t v6 = *(int32_t *)(v5 + 30); // 0x1e2bc1a
|
|
g2 = v6;
|
|
int32_t result; // 0x1e2bc33
|
|
if (*(int32_t *)(v6 + 370) == 0) {
|
|
// 0x1e2bc26
|
|
g2 = function_1e39a10(*(int32_t *)(v5 + 70));
|
|
g11++;
|
|
result = function_1e328b9(63, g8);
|
|
g2 = result;
|
|
} else {
|
|
result = v6;
|
|
}
|
|
// 0x1e2bc38
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e2bc3e - 0x1e2bc7c
|
|
int32_t function_1e2bc3e(int32_t a1, int32_t a2) {
|
|
// 0x1e2bc3e
|
|
function_1e2a3f7(a1, a2, 1, g8);
|
|
g2 = 0;
|
|
*(int32_t *)g8 = (int32_t)&g45;
|
|
*(int32_t *)(g8 + 6) = g2;
|
|
*(int32_t *)(g8 + 86) = g2;
|
|
*(int32_t *)(g8 + 78) = 0x3f333333;
|
|
*(int32_t *)(g8 + 82) = 0x3dcccccd;
|
|
*(int32_t *)(g8 + 66) = 0x4e6e6b28;
|
|
*(int32_t *)(g8 + 90) = g2;
|
|
g2 = g8;
|
|
return g8;
|
|
}
|
|
|
|
// Address range: 0x1e2bc7c - 0x1e2bc9a
|
|
int32_t function_1e2bc7c(char a1) {
|
|
// 0x1e2bc7c
|
|
g2 = function_1e2a4cb();
|
|
if ((a1 & 1) != 0) {
|
|
// 0x1e2bc8b
|
|
g2 = function_1e3df60(g8);
|
|
}
|
|
// 0x1e2bc94
|
|
g2 = g8;
|
|
return g8;
|
|
}
|
|
|
|
// Address range: 0x1e2bc9a - 0x1e2bd10
|
|
int32_t function_1e2bc9a(int32_t a1, int32_t a2, int32_t a3) {
|
|
int32_t v1 = g5; // 0x1e2bc9e
|
|
int32_t v2 = *(int32_t *)(v1 + 30); // 0x1e2bc9e
|
|
g2 = v2;
|
|
int32_t v3 = g6; // bp-12
|
|
g8 = v1;
|
|
if (*(int32_t *)(v2 + 370) != 0) {
|
|
int32_t v4 = *(int32_t *)(v1 + 58); // 0x1e2bcb2
|
|
int32_t v5 = *(int32_t *)(v1 + 54); // 0x1e2bcb5
|
|
float80_t v6 = function_1e2f084(a1, a2, a3, v5, v4, 0, *(int32_t *)(v1 + 62)); // 0x1e2bcc1
|
|
g2 = (float32_t)v6;
|
|
// 0x1e2bd0a
|
|
return (float32_t)v6;
|
|
}
|
|
int32_t v7 = v1 + 90; // 0x1e2bcca
|
|
g6 = v7;
|
|
int32_t * v8 = (int32_t *)v7; // 0x1e2bccd
|
|
int32_t v9; // 0x1e2bcf0
|
|
if (*v8 == 0) {
|
|
// 0x1e2bcd2
|
|
*v8 = 1;
|
|
*(int32_t *)(g8 + 66) = 0x4e6e6b28;
|
|
int32_t v10 = g8; // 0x1e2bce4
|
|
int32_t v11 = function_1e325d2(*(int32_t *)(v10 + 78), v10, 0x1e2bd10); // 0x1e2bce8
|
|
g2 = v11;
|
|
*(int32_t *)(g8 + 86) = v11;
|
|
v9 = g9;
|
|
} else {
|
|
v9 = &v3;
|
|
}
|
|
// 0x1e2bcf0
|
|
*(int32_t *)(v9 - 4) = a3;
|
|
*(int32_t *)(v9 - 8) = a2;
|
|
*(int32_t *)(v9 - 12) = a1;
|
|
g5 = g8;
|
|
int32_t v12 = function_1e2a5b8((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e2bcfb
|
|
g2 = v12;
|
|
int32_t result; // 0x1e2bd0d
|
|
if (v12 != 0) {
|
|
// 0x1e2bd04
|
|
*(int32_t *)g6 = 0;
|
|
result = g2;
|
|
} else {
|
|
result = 0;
|
|
}
|
|
// 0x1e2bd0a
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e2bd10 - 0x1e2bdbd
|
|
int32_t function_1e2bd10(int32_t a1) {
|
|
// 0x1e2bd10
|
|
g8 = a1;
|
|
g6 = 0;
|
|
if (*(int32_t *)(a1 + 90) == 0) {
|
|
int32_t v1 = *(int32_t *)(a1 + 34); // 0x1e2bd73
|
|
g2 = v1;
|
|
int32_t v2; // 0x1e2bda9
|
|
if (v1 != 0) {
|
|
int32_t v3 = *(int32_t *)(v1 + 4); // 0x1e2bd7a
|
|
g2 = v3;
|
|
int32_t v4 = *(int32_t *)(a1 + 30); // 0x1e2bd7d
|
|
int32_t v5 = *(int32_t *)(v3 + 8); // 0x1e2bd80
|
|
g5 = v5;
|
|
int32_t v6 = *(int32_t *)(v5 + 33); // 0x1e2bd83
|
|
g2 = v6;
|
|
int32_t v7 = v6 - *(int32_t *)(v4 + 238); // 0x1e2bd86
|
|
g2 = v7;
|
|
int32_t v8 = *(int32_t *)(v5 + 29); // 0x1e2bd8d
|
|
g2 = v8;
|
|
int32_t v9 = v8 - *(int32_t *)(v4 + 234); // 0x1e2bd90
|
|
g2 = v9;
|
|
int32_t v10 = *(int32_t *)(*(int32_t *)(a1 + 38) + 4); // 0x1e2bd9a
|
|
int32_t v11 = *(int32_t *)(a1 + 26); // 0x1e2bda1
|
|
g2 = function_1e29a04(v11, v5, *(int32_t *)(v10 + 8), v9, v7);
|
|
v2 = g8;
|
|
} else {
|
|
v2 = a1;
|
|
}
|
|
// 0x1e2bda9
|
|
*(int32_t *)(v2 + 86) = 0;
|
|
*(int32_t *)(g9 - 4) = g8;
|
|
*(int32_t *)(g9 - 8) = 60;
|
|
int32_t result = function_1e328b9((int32_t)&g708, (int32_t)&g708); // 0x1e2bdb3
|
|
g2 = result;
|
|
// 0x1e2bdb8
|
|
return result;
|
|
}
|
|
// 0x1e2bd1d
|
|
*(int32_t *)(a1 + 66) = 0;
|
|
int32_t v12 = g8; // 0x1e2bd25
|
|
int32_t v13 = function_1e325d2(*(int32_t *)(v12 + 82), v12, 0x1e2bd10); // 0x1e2bd29
|
|
g2 = v13;
|
|
*(int32_t *)(g8 + 86) = v13;
|
|
g2 = function_1e39a10(*(int32_t *)(g8 + 74));
|
|
int32_t v14 = *(int32_t *)(g8 + 34); // 0x1e2bd3b
|
|
g2 = v14;
|
|
int32_t result2; // 0x1e2bd6c
|
|
if (v14 != 0) {
|
|
int32_t v15 = *(int32_t *)(v14 + 4); // 0x1e2bd42
|
|
g2 = v15;
|
|
int32_t v16 = *(int32_t *)(g8 + 30); // 0x1e2bd45
|
|
int32_t v17 = *(int32_t *)(v15 + 12); // 0x1e2bd48
|
|
g5 = v17;
|
|
int32_t v18 = *(int32_t *)(v17 + 33); // 0x1e2bd4b
|
|
g2 = v18;
|
|
int32_t v19 = v18 - *(int32_t *)(v16 + 238); // 0x1e2bd4e
|
|
g2 = v19;
|
|
int32_t v20 = *(int32_t *)(v17 + 29); // 0x1e2bd55
|
|
g2 = v20;
|
|
int32_t v21 = v20 - *(int32_t *)(v16 + 234); // 0x1e2bd58
|
|
g2 = v21;
|
|
int32_t v22 = *(int32_t *)(*(int32_t *)(*(int32_t *)(g8 + 38) + 4) + 12); // 0x1e2bd65
|
|
result2 = function_1e29a04(*(int32_t *)(g8 + 26), v17, v22, v21, v19);
|
|
g2 = result2;
|
|
} else {
|
|
result2 = 0;
|
|
}
|
|
// 0x1e2bdb8
|
|
return result2;
|
|
}
|
|
|
|
// Address range: 0x1e2bdbd - 0x1e2be04
|
|
int32_t function_1e2bdbd(int32_t a1) {
|
|
// 0x1e2bdbd
|
|
g2 = a1;
|
|
int32_t v1 = g5; // 0x1e2bdc2
|
|
g8 = v1;
|
|
if (a1 != 1011) {
|
|
if (a1 != 1024) {
|
|
// 0x1e2bdfe
|
|
g2 = 0;
|
|
return 0;
|
|
}
|
|
}
|
|
int32_t v2 = *(int32_t *)(v1 + 86); // 0x1e2bdd2
|
|
g2 = v2;
|
|
if (v2 == 0) {
|
|
// 0x1e2bdfe
|
|
g2 = 0;
|
|
return 0;
|
|
}
|
|
// 0x1e2bdd9
|
|
g2 = function_1e32771(v2);
|
|
if (*(int32_t *)(g8 + 34) != 0) {
|
|
// 0x1e2bde5
|
|
g2 = function_1e29a40(*(int32_t *)(g8 + 26), 0);
|
|
}
|
|
// 0x1e2bdef
|
|
*(int32_t *)(g8 + 66) = 0x4e6e6b28;
|
|
g2 = 0;
|
|
*(int32_t *)(g8 + 86) = 0;
|
|
*(int32_t *)(g8 + 90) = g2;
|
|
// 0x1e2bdfe
|
|
g2 = 0;
|
|
return 0;
|
|
}
|
|
|
|
// Address range: 0x1e2be04 - 0x1e2bfbb
|
|
int32_t function_1e2be04(int32_t a1, int32_t a2, int32_t a3) {
|
|
int32_t v1 = g3; // bp-4
|
|
g3 = &v1;
|
|
int32_t v2; // bp-96
|
|
int32_t v3 = &v2; // 0x1e2be07
|
|
g4 = g5;
|
|
function_1e2a3f7(a1, a2, 0, g6);
|
|
g2 = a3 == 0;
|
|
*(int32_t *)g4 = (int32_t)&g46;
|
|
int32_t v4 = g2; // 0x1e2be28
|
|
int32_t v5 = -v4; // 0x1e2be28
|
|
g2 = v5;
|
|
*(int32_t *)(g4 + 82) = v5;
|
|
if (v4 != 0) {
|
|
// 0x1e2be31
|
|
*(char *)(g4 + 5) = 0;
|
|
}
|
|
// 0x1e2be35
|
|
g8 = 0;
|
|
*(int32_t *)(g4 + 6) = 0;
|
|
*(int32_t *)(g4 + 86) = g8;
|
|
int32_t v6 = g8; // 0x1e2be42
|
|
*(int32_t *)(g4 + 78) = v6;
|
|
*(int32_t *)(g4 + 90) = 0x3fc00000;
|
|
*(int32_t *)(g4 + 94) = 0x3d4ccccd;
|
|
int32_t v7 = function_1e3991a(a2, v6); // 0x1e2be57
|
|
g2 = v7;
|
|
int32_t v8 = *(int32_t *)v7; // 0x1e2be5c
|
|
g2 = v8;
|
|
float32_t v9 = v8; // bp-12
|
|
int32_t v10 = function_1e3991a(a2, g8); // 0x1e2be6a
|
|
g2 = v10;
|
|
int32_t v11 = *(int32_t *)v10; // 0x1e2be6f
|
|
g5 = v11;
|
|
*(int32_t *)(g4 + 106) = v11;
|
|
function_1e39641(a2, g8, v3);
|
|
*(int32_t *)(g4 + 74) = v3;
|
|
int32_t v12 = g8; // 0x1e2be90
|
|
int32_t v13 = v12 + 8; // 0x1e2be90
|
|
g2 = v13;
|
|
int32_t v14 = *(int32_t *)v12; // 0x1e2be93
|
|
g5 = v14;
|
|
*(int32_t *)(g4 + 110) = v14;
|
|
*(int32_t *)(g4 + 114) = *(int32_t *)(g8 + 4);
|
|
float80_t v15 = (float80_t)*(float32_t *)g2 * (float80_t)v9; // 0x1e2bea3
|
|
*(float32_t *)(g4 + 122) = (float32_t)v15;
|
|
int32_t * v16 = (int32_t *)(g4 + 122); // 0x1e2bea9
|
|
if ((*v16 & 0x7fffffff) == 0) {
|
|
// 0x1e2beb2
|
|
*v16 = 0x3a83126f;
|
|
}
|
|
int32_t v17 = function_1e3df20(37); // 0x1e2bebb
|
|
float32_t v18 = v17;
|
|
g2 = v17;
|
|
int32_t v19; // 0x1e2bf00
|
|
float32_t v20; // 0x1e2bf216
|
|
if (v17 == 0) {
|
|
// 0x1e2bef9
|
|
v9 = 0.0f;
|
|
v20 = 0.0f;
|
|
v19 = 0;
|
|
} else {
|
|
int32_t v21 = g4; // 0x1e2bec7
|
|
float80_t v22 = (float80_t)*(float32_t *)(v21 + 122); // 0x1e2bec7
|
|
*(int32_t *)v17 = (int32_t)&g28;
|
|
float32_t v23 = v18; // 0x1e2bed8
|
|
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; // 0x1e2bef1
|
|
int32_t v26 = v25 + v24; // 0x1e2bef1
|
|
int32_t v27 = v25 + g8; // 0x1e2bef1
|
|
*(int32_t *)v26 = *(int32_t *)v27;
|
|
int32_t v28 = v26 + v25; // 0x1e2bef2
|
|
*(int32_t *)v28 = *(int32_t *)(v27 + v25);
|
|
g6 = v28 + v25;
|
|
int32_t v29 = *(int32_t *)&v18; // 0x1e2bef43
|
|
*(int32_t *)&v9 = v29;
|
|
v20 = v29;
|
|
v19 = v29;
|
|
}
|
|
// 0x1e2bf00
|
|
g2 = v19;
|
|
g5 = v19;
|
|
int32_t v30 = g4; // 0x1e2bf0a
|
|
int32_t v31 = v30 + 46; // 0x1e2bf0a
|
|
g8 = v31;
|
|
int32_t v32 = *(int32_t *)v31; // 0x1e2bf0d
|
|
g5 = v32;
|
|
int32_t v33 = *(int32_t *)v32; // 0x1e2bf0f
|
|
g2 = v33;
|
|
float32_t v34; // 0x1e2bf21
|
|
if (*(int32_t *)(v32 + 4) == v33) {
|
|
int32_t v35 = function_1e3a739(v32, *(int32_t *)(v30 + 42)); // 0x1e2bf1a
|
|
g2 = v35;
|
|
*(int32_t *)g8 = v35;
|
|
v34 = v9;
|
|
} else {
|
|
v34 = v20;
|
|
}
|
|
// 0x1e2bf21
|
|
*(int32_t *)(g9 - 4) = (int32_t)v34;
|
|
*(int32_t *)(g9 - 8) = *(int32_t *)g8;
|
|
g2 = function_1e3a6a7((int32_t)&g708, (int32_t)&g708);
|
|
g5 = v13;
|
|
*(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 + 122) = (float32_t)v36;
|
|
int32_t v37 = g4; // 0x1e2bf3d
|
|
float32_t * v38 = (float32_t *)(v37 + 122); // 0x1e2bf3d
|
|
int32_t v39; // bp-64
|
|
g8 = &v39;
|
|
g6 = v37 + 130;
|
|
*v38 = (float32_t)(v36 * (float80_t)*v38);
|
|
int32_t v40 = function_1e3991a((int32_t)&g708, (int32_t)&g708); // 0x1e2bf4c
|
|
g2 = v40;
|
|
int32_t v41 = *(int32_t *)(v40 + 8); // 0x1e2bf51
|
|
g5 = v41;
|
|
*(int32_t *)(g4 + 98) = v41;
|
|
*(int32_t *)g6 = v39;
|
|
int32_t v42 = g1 ? -4 : 4; // 0x1e2bf57
|
|
int32_t v43 = v42 + g6; // 0x1e2bf57
|
|
int32_t v44 = v42 + g8; // 0x1e2bf57
|
|
*(int32_t *)v43 = *(int32_t *)v44;
|
|
*(int32_t *)(v43 + v42) = *(int32_t *)(v44 + v42);
|
|
int32_t v45 = g4; // 0x1e2bf69
|
|
g5 = *(int32_t *)(v45 + 122);
|
|
int32_t v46; // bp-24
|
|
int32_t v47 = &v46; // 0x1e2bf6c
|
|
int32_t v48 = v45 + 110; // esi
|
|
float32_t v49;
|
|
*(float32_t *)(g4 + 150) = (float32_t)(0.01L * (float80_t)v49);
|
|
*(int32_t *)(g4 + 146) = g2;
|
|
v9 = g5;
|
|
int32_t v50 = g4; // 0x1e2bf87
|
|
g5 = v50 + 154;
|
|
g2 = v50 + 5;
|
|
v46 = *(int32_t *)v48;
|
|
int32_t v51 = v47 + v42; // 0x1e2bf90
|
|
int32_t v52 = v48 + v42; // 0x1e2bf90
|
|
*(int32_t *)v51 = *(int32_t *)v52;
|
|
int32_t v53 = v51 + v42; // 0x1e2bf91
|
|
int32_t v54 = v52 + v42; // 0x1e2bf91
|
|
*(int32_t *)v53 = *(int32_t *)v54;
|
|
g6 = v53 + v42;
|
|
g8 = v54 + v42;
|
|
*(int32_t *)(g9 - 4) = g5;
|
|
*(int32_t *)(g9 - 8) = 0;
|
|
int32_t v55 = g4; // 0x1e2bf99
|
|
*(int32_t *)(v55 + 162) = v55;
|
|
*(int32_t *)g5 = g2;
|
|
*(int32_t *)(g4 + 158) = g7;
|
|
g2 = v47;
|
|
*(int32_t *)(g9 - 4) = v47;
|
|
function_1e319ad(v46, (int32_t)&g708, (int32_t)&g708);
|
|
int32_t result = g4; // 0x1e2bfb0
|
|
g2 = result;
|
|
g6 = *(int32_t *)g9;
|
|
g4 = *(int32_t *)(g9 + 8);
|
|
g3 = v1;
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e2bfbb - 0x1e2bfc0
|
|
int32_t function_1e2bfbb(void) {
|
|
int32_t result = function_1e2a510(); // 0x1e2bfbb
|
|
g2 = result;
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e2bfc0 - 0x1e2bfde
|
|
int32_t function_1e2bfc0(char a1) {
|
|
// 0x1e2bfc0
|
|
g2 = function_1e2a4cb();
|
|
if ((a1 & 1) != 0) {
|
|
// 0x1e2bfcf
|
|
g2 = function_1e3df60(g8);
|
|
}
|
|
// 0x1e2bfd8
|
|
g2 = g8;
|
|
return g8;
|
|
}
|
|
|
|
// Address range: 0x1e2bfde - 0x1e2c048
|
|
int32_t function_1e2bfde(int32_t a1) {
|
|
int32_t v1 = g5; // 0x1e2bfdf
|
|
g8 = v1;
|
|
if (*(int32_t *)(v1 + 78) != 0) {
|
|
// 0x1e2c044
|
|
return g2;
|
|
}
|
|
// 0x1e2bfe7
|
|
*(int32_t *)(v1 + 66) = 0x4e6e6b28;
|
|
*(int32_t *)(g8 + 78) = 1;
|
|
g5 = a1;
|
|
*(int32_t *)(g8 + 102) = a1;
|
|
*(int32_t *)(g5 + 106) = g8;
|
|
int32_t v2 = *(int32_t *)(g8 + 110); // 0x1e2bfff
|
|
g2 = v2;
|
|
*(int32_t *)(g5 + 42) = v2;
|
|
int32_t v3 = g5; // 0x1e2c005
|
|
g2 = *(int32_t *)(v3 + 50);
|
|
*(int32_t *)(v3 + 46) = *(int32_t *)(g8 + 114);
|
|
int32_t v4 = g8; // 0x1e2c00e
|
|
*(int32_t *)(v4 + 126) = g2;
|
|
*(int32_t *)(g5 + 50) = *(int32_t *)(v4 + 98);
|
|
int32_t v5 = g8; // 0x1e2c017
|
|
int32_t v6 = *(int32_t *)(v5 + 30); // 0x1e2c017
|
|
g5 = v6;
|
|
int32_t result; // 0x1e2c03f
|
|
if (*(int32_t *)(v6 + 370) == 0) {
|
|
// 0x1e2c032
|
|
g2 = function_1e39a10(*(int32_t *)(v5 + 70));
|
|
g11++;
|
|
result = function_1e328b9(63, g8);
|
|
g2 = result;
|
|
} else {
|
|
// 0x1e2c023
|
|
g2 = v6;
|
|
g5 = v5;
|
|
result = v6;
|
|
}
|
|
// 0x1e2c044
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e2c048 - 0x1e2c060
|
|
int32_t function_1e2c048(int32_t a1) {
|
|
// 0x1e2c048
|
|
g2 = a1;
|
|
int32_t v1; // 0x1e2c056
|
|
if (*(int32_t *)(a1 + 82) == 0) {
|
|
// 0x1e2c052
|
|
*(char *)(a1 + 5) = 1;
|
|
v1 = g2;
|
|
} else {
|
|
v1 = a1;
|
|
}
|
|
// 0x1e2c056
|
|
*(int32_t *)(v1 + 86) = 0;
|
|
return g2;
|
|
}
|
|
|
|
// Address range: 0x1e2c060 - 0x1e2c0c2
|
|
int32_t function_1e2c060(int32_t a1) {
|
|
// 0x1e2c060
|
|
g8 = a1;
|
|
g4 = 0;
|
|
int32_t * v1 = (int32_t *)(a1 + 78); // 0x1e2c068
|
|
if (*v1 == 0) {
|
|
// 0x1e2c0bd
|
|
g8 = *(int32_t *)g9;
|
|
return g2;
|
|
}
|
|
// 0x1e2c06d
|
|
*v1 = 0;
|
|
int32_t v2 = g8; // 0x1e2c075
|
|
int32_t v3 = function_1e325d2(*(int32_t *)(v2 + 94), v2, 0x1e2c048); // 0x1e2c079
|
|
g2 = v3;
|
|
*(int32_t *)(g8 + 86) = v3;
|
|
int32_t * v4 = (int32_t *)(g8 + 102); // 0x1e2c081
|
|
int32_t v5 = *v4; // 0x1e2c081
|
|
g5 = v5;
|
|
if (v5 != 0) {
|
|
// 0x1e2c088
|
|
*v4 = g4;
|
|
*(int32_t *)(v5 + 50) = *(int32_t *)(g8 + 126);
|
|
int32_t v6 = g8; // 0x1e2c091
|
|
int32_t v7 = v6 + 130; // 0x1e2c091
|
|
g2 = v7;
|
|
int32_t v8 = *(int32_t *)(v6 + 146); // 0x1e2c09d
|
|
int32_t v9 = *(int32_t *)(v6 + 142); // 0x1e2c0a3
|
|
g2 = function_1e29f0d(v5, v7, v9, v8, *(int32_t *)(v6 + 150));
|
|
*(char *)(g8 + 5) = (char)g4;
|
|
g2 = function_1e39a10(*(int32_t *)(g8 + 74));
|
|
}
|
|
// 0x1e2c0bd
|
|
g8 = *(int32_t *)g9;
|
|
return g2;
|
|
}
|
|
|