2203 lines
66 KiB
C
2203 lines
66 KiB
C
#include "pinball.h"
|
|
|
|
// Address range: 0x1e25d5e - 0x1e25e71
|
|
int32_t function_1e25d5e(int32_t a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5) {
|
|
// 0x1e25d5e
|
|
g2 = a5;
|
|
g171 = a5;
|
|
g5 = a3;
|
|
g499 = a3;
|
|
int32_t v1 = 0; // esi
|
|
g500 = a4;
|
|
g505 = 0;
|
|
g506 = 0;
|
|
g507 = a1;
|
|
g508 = a2;
|
|
int32_t * hWnd = GetDesktopWindow(); // 0x1e25da7
|
|
g2 = (int32_t)hWnd;
|
|
g2 = GetWindowRect(hWnd, (struct tagRECT *)&g708);
|
|
int32_t v2 = GetSystemMetrics(5); // 0x1e25db6
|
|
g2 = v2;
|
|
int32_t v3 = a1 + 2 * v2; // edi
|
|
int32_t v4 = GetSystemMetrics(6); // 0x1e25dc1
|
|
g2 = v4;
|
|
int32_t v5 = a2 + 2 * v4; // ebx
|
|
int32_t v6 = GetSystemMetrics(15); // 0x1e25dcc
|
|
g2 = v6;
|
|
int32_t v7 = g504 - g502 - v5; // 0x1e25ded
|
|
int32_t v8 = (v7 - (v7 >> 31)) / 2; // 0x1e25df2
|
|
int32_t Y = v8 - (GetSystemMetrics(4) + v6) - 2; // 0x1e25e06
|
|
g510 = Y;
|
|
int32_t v9 = g503 - g501 - v3; // 0x1e25e0d
|
|
int32_t v10 = (v9 - (v9 >> 31)) / 2; // 0x1e25e12
|
|
int32_t X = v10 - 2; // 0x1e25e14
|
|
g509 = (struct tagRECT *)X;
|
|
int32_t v11 = v3 + 2 + v10; // 0x1e25e1c
|
|
g511 = v11;
|
|
int32_t v12 = v8 + 2 + v5; // 0x1e25e2e
|
|
g5 = v12;
|
|
g512 = (struct tagRECT *)v12;
|
|
g2 = g499;
|
|
int32_t result = MoveWindow((int32_t *)g499, X, Y, v11 - X, v12 - Y, (v1 & 1) != 0); // 0x1e25e5c
|
|
g2 = result;
|
|
g167 = v1;
|
|
g8 = X;
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e25e71 - 0x1e25f13
|
|
int32_t function_1e25e71(void) {
|
|
int32_t v1 = g6; // bp-8
|
|
if (g165 == 0) {
|
|
goto lab_0x1e25f01;
|
|
} else {
|
|
// 0x1e25e80
|
|
g2 = g167;
|
|
if (g167 <= -1) {
|
|
goto lab_0x1e25eba;
|
|
} else {
|
|
if (g167 == 0) {
|
|
goto lab_0x1e25eba;
|
|
} else {
|
|
if ((g167 & 1) != 0) {
|
|
// 0x1e25e92
|
|
g2 = function_1e259ef();
|
|
int32_t v2 = GetSystemMetrics(15); // 0x1e25e9c
|
|
g2 = v2;
|
|
int32_t v3 = v2 + function_1e259f2(); // 0x1e25ea9
|
|
int32_t v4 = g503 - 1; // 0x1e25eb1
|
|
g2 = v4;
|
|
g2 = function_1e25fae(v4, v3, (int32_t)&g708, (int32_t)&g708);
|
|
}
|
|
goto lab_0x1e25f01;
|
|
}
|
|
}
|
|
}
|
|
lab_0x1e25f01:;
|
|
int32_t result = function_1e29aea(); // 0x1e25f01
|
|
g2 = result;
|
|
g167 = 0;
|
|
return result;
|
|
lab_0x1e25eba:;
|
|
// 0x1e25eba
|
|
int32_t v5; // esi
|
|
int32_t v6; // 0x1e25ee2
|
|
int32_t v7; // 0x1e25ee6
|
|
if (g166 == 0) {
|
|
// 0x1e25ede
|
|
g5 = 0;
|
|
v5 = 0;
|
|
v7 = &v1;
|
|
v6 = 0;
|
|
} else {
|
|
int32_t v8 = function_1e259ef(); // 0x1e25ec3
|
|
g2 = v8;
|
|
v5 = v8;
|
|
int32_t v9 = GetSystemMetrics(15); // 0x1e25ecc
|
|
g2 = v9;
|
|
int32_t v10 = function_1e259f2(); // 0x1e25ed4
|
|
g2 = v10;
|
|
int32_t v11 = v9 + v10; // 0x1e25ed9
|
|
g5 = v11;
|
|
v7 = g9;
|
|
v6 = v11;
|
|
}
|
|
// 0x1e25ee2
|
|
*(int32_t *)(v7 - 4) = -v6;
|
|
*(int32_t *)(v7 - 8) = -v5;
|
|
*(int32_t *)(v7 - 12) = g5 + g504;
|
|
int32_t v12 = v5 + g503; // 0x1e25ef9
|
|
g2 = v12;
|
|
*(int32_t *)(v7 - 16) = v12;
|
|
int32_t v13 = function_1e25fae((int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e25efc
|
|
g2 = v13;
|
|
goto lab_0x1e25f01;
|
|
}
|
|
|
|
// Address range: 0x1e25f13 - 0x1e25f24
|
|
int32_t function_1e25f13(void) {
|
|
// 0x1e25f13
|
|
int32_t result; // 0x1e25f23
|
|
if (g170 == 0) {
|
|
// 0x1e25f13
|
|
result = g2;
|
|
} else {
|
|
int32_t v1 = function_1e259f5(0); // 0x1e25f1e
|
|
g2 = v1;
|
|
result = v1;
|
|
}
|
|
// 0x1e25f23
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e25f24 - 0x1e25f53
|
|
int32_t function_1e25f24(int32_t a1, int32_t a2, int32_t a3, int32_t a4) {
|
|
int32_t v1 = g8; // bp-4
|
|
int32_t v2 = &v1; // 0x1e25f24
|
|
g8 = 0;
|
|
if (g165 == 0) {
|
|
// 0x1e25f4f
|
|
g8 = *(int32_t *)v2;
|
|
return g2;
|
|
}
|
|
int32_t v3; // 0x1e25f4f
|
|
if (a1 == 0) {
|
|
// 0x1e25f35
|
|
function_1e259f5(0);
|
|
g2 = g499;
|
|
g2 = SetWindowPos((int32_t *)g499, (int32_t *)1, g8, g8, g8, g8, 19);
|
|
v3 = g9;
|
|
} else {
|
|
v3 = v2;
|
|
}
|
|
// 0x1e25f4f
|
|
g8 = *(int32_t *)v3;
|
|
return g2;
|
|
}
|
|
|
|
// Address range: 0x1e25f53 - 0x1e25f7a
|
|
int32_t function_1e25f53(uint32_t a1) {
|
|
int32_t v1 = (int16_t)a1 - g552; // 0x1e25f68
|
|
g5 = v1 | a1 & -0x10000;
|
|
int32_t result = v1 | 0x10000 * (int32_t)((int16_t)(a1 / 0x10000) - g553); // 0x1e25f75
|
|
g2 = result;
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e25f7a - 0x1e25fae
|
|
int32_t function_1e25f7a(int32_t a1, int32_t a2, int32_t a3, int32_t a4) {
|
|
// 0x1e25f7a
|
|
g5 = a1;
|
|
*(int32_t *)(a1 + 8) = g511 - (int32_t)g509;
|
|
*(int32_t *)(g5 + 12) = (int32_t)g512 - g510;
|
|
*(int32_t *)(g5 + 16) = (int32_t)g509;
|
|
g2 = g510;
|
|
*(int32_t *)(g5 + 20) = g510;
|
|
return g2;
|
|
}
|
|
|
|
// Address range: 0x1e25fae - 0x1e26030
|
|
int32_t function_1e25fae(int32_t a1, int32_t a2, int32_t lprc, int32_t a4) {
|
|
int32_t * h = CreateSolidBrush(0); // 0x1e25fb9
|
|
int32_t v1 = (int32_t)h; // 0x1e25fb9
|
|
g2 = v1;
|
|
int32_t result; // 0x1e26021
|
|
if (h != NULL) {
|
|
// 0x1e25fc5
|
|
g2 = g499;
|
|
int32_t * hdc = GetDC((int32_t *)g499); // 0x1e25fcb
|
|
int32_t v2 = (int32_t)hdc; // 0x1e25fcb
|
|
g2 = v2;
|
|
int32_t v3 = (int32_t)SelectObject(hdc, h); // 0x1e25fd5
|
|
g2 = v3;
|
|
if (hdc != NULL) {
|
|
// 0x1e25fe1
|
|
g5 = a4;
|
|
g2 = a4 + a2 + 1;
|
|
FillRect(hdc, (struct tagRECT *)&lprc, h);
|
|
g2 = g499;
|
|
g2 = ReleaseDC((int32_t *)g499, hdc);
|
|
}
|
|
// 0x1e26018
|
|
*(int32_t *)(g9 - 4) = v3;
|
|
*(int32_t *)(g9 - 8) = v2;
|
|
g2 = (int32_t)SelectObject(&g708, &g708);
|
|
*(int32_t *)(g9 - 4) = v1;
|
|
result = DeleteObject(&g708);
|
|
g2 = result;
|
|
} else {
|
|
result = v1;
|
|
}
|
|
// 0x1e26027
|
|
g4 = *(int32_t *)(g9 + 8);
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e26030 - 0x1e26035
|
|
int32_t function_1e26030(void) {
|
|
int32_t result = function_1e29aea(); // 0x1e26030
|
|
g2 = result;
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e26035 - 0x1e26172
|
|
int32_t function_1e26035(int32_t a1) {
|
|
// 0x1e26035
|
|
if (a1 == 1) {
|
|
// 0x1e26061
|
|
if (g518 != 0) {
|
|
// 0x1e260b2
|
|
g2 = function_1e28059(401, 0);
|
|
g2 = function_1e28059(103, 0);
|
|
g2 = function_1e2807b(404, 1);
|
|
if (g202 != 0) {
|
|
// 0x1e260df
|
|
g2 = g202;
|
|
int32_t v1 = *(int32_t *)(g202 + 230); // 0x1e260e4
|
|
g2 = v1;
|
|
if (v1 != 0) {
|
|
// 0x1e260ee
|
|
*(char *)(v1 + 5) = 1;
|
|
}
|
|
}
|
|
} else {
|
|
// 0x1e2606b
|
|
g2 = function_1e28059(103, 1);
|
|
g2 = function_1e28059(401, 1);
|
|
int32_t v2 = 0; // 0x1e26080
|
|
g2 = function_1e2807b(404, v2);
|
|
if (g202 != v2) {
|
|
// 0x1e26097
|
|
g2 = g202;
|
|
int32_t v3 = *(int32_t *)(g202 + 230); // 0x1e2609c
|
|
g2 = v3;
|
|
if (v3 != 0) {
|
|
// 0x1e260aa
|
|
*(char *)(v3 + 5) = (char)v2;
|
|
}
|
|
}
|
|
}
|
|
goto lab_0x1e26161;
|
|
} else {
|
|
if (a1 == 2) {
|
|
// 0x1e260f4
|
|
g2 = function_1e28059(401, 0);
|
|
if (g518 == 0) {
|
|
// 0x1e26109
|
|
g2 = function_1e28059(103, 1);
|
|
g2 = function_1e2807b(404, 0);
|
|
}
|
|
// 0x1e2611d
|
|
if (g202 != 0) {
|
|
// 0x1e26126
|
|
g2 = g202;
|
|
int32_t v4 = *(int32_t *)(g202 + 266); // 0x1e2612b
|
|
g5 = v4;
|
|
if (v4 != 0) {
|
|
// 0x1e26135
|
|
*(int32_t *)(g9 - 4) = 0x3fb33333;
|
|
g2 = *(int32_t *)v4;
|
|
*(int32_t *)(g9 - 8) = 29;
|
|
}
|
|
}
|
|
goto lab_0x1e26161;
|
|
} else {
|
|
if (a1 == 3) {
|
|
goto lab_0x1e26142;
|
|
} else {
|
|
if (a1 == 4) {
|
|
goto lab_0x1e26142;
|
|
} else {
|
|
goto lab_0x1e26161;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
lab_0x1e26161:
|
|
// 0x1e26161
|
|
g2 = 1;
|
|
g6 = *(int32_t *)g9;
|
|
g516 = a1;
|
|
g8 = *(int32_t *)(g9 + 4);
|
|
g4 = *(int32_t *)(g9 + 8);
|
|
return 1;
|
|
lab_0x1e26142:
|
|
// 0x1e26142
|
|
g2 = function_1e28059(401, 0);
|
|
g2 = function_1e28059(103, 0);
|
|
g519 = 0x1388;
|
|
goto lab_0x1e26161;
|
|
}
|
|
|
|
// Address range: 0x1e26172 - 0x1e261c8
|
|
int32_t function_1e26172(int32_t a1, int32_t a2, int32_t a3, int32_t a4) {
|
|
int32_t v1 = g516; // 0x1e26172
|
|
g2 = v1;
|
|
int32_t result;
|
|
if (v1 == 0) {
|
|
result = 1;
|
|
// 0x1e261c5
|
|
g2 = result;
|
|
return result;
|
|
}
|
|
if (v1 < 1) {
|
|
result = 1;
|
|
// 0x1e261c5
|
|
g2 = result;
|
|
return result;
|
|
}
|
|
if (v1 <= 2) {
|
|
result = 0;
|
|
// 0x1e261c5
|
|
g2 = result;
|
|
return result;
|
|
}
|
|
if (v1 == 3) {
|
|
// 0x1e26195
|
|
g2 = a1;
|
|
int32_t v2 = g519 - a1; // 0x1e26199
|
|
g519 = v2;
|
|
if (v2 >= 0) {
|
|
if (a1 >= 0) {
|
|
result = 1;
|
|
// 0x1e261c5
|
|
g2 = result;
|
|
return result;
|
|
}
|
|
}
|
|
// 0x1e261bb
|
|
g2 = function_1e26035(4);
|
|
result = 1;
|
|
// 0x1e261c5
|
|
g2 = result;
|
|
return result;
|
|
}
|
|
if (v1 != 4) {
|
|
result = 1;
|
|
// 0x1e261c5
|
|
g2 = result;
|
|
return result;
|
|
}
|
|
// 0x1e261a9
|
|
g2 = a1;
|
|
int32_t v3 = g519 - a1; // 0x1e261ad
|
|
g519 = v3;
|
|
if (v3 < 0) {
|
|
// 0x1e261bb
|
|
g2 = function_1e26035(1);
|
|
result = 1;
|
|
// 0x1e261c5
|
|
g2 = result;
|
|
return result;
|
|
}
|
|
if (a1 >= 0) {
|
|
result = 1;
|
|
// 0x1e261c5
|
|
g2 = result;
|
|
return result;
|
|
}
|
|
// 0x1e261bb
|
|
g2 = function_1e26035(1);
|
|
result = 1;
|
|
// 0x1e261c5
|
|
g2 = result;
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e261c8 - 0x1e26224
|
|
int32_t function_1e261c8(void) {
|
|
// 0x1e261c8
|
|
int32_t result;
|
|
if (g518 == 0) {
|
|
// 0x1e2621b
|
|
result = function_1e26d6e(1);
|
|
} else {
|
|
// 0x1e261d3
|
|
g2 = g202;
|
|
g2 = *(int32_t *)g202;
|
|
g518 = 0;
|
|
g5 = g202;
|
|
g2 = function_1e26035(2);
|
|
g5 = g201;
|
|
g2 = function_1e2f83c();
|
|
int32_t v1 = function_1e25763(24); // 0x1e26208
|
|
g2 = v1;
|
|
g5 = g200;
|
|
result = function_1e2fbc7(v1, (int32_t)&g708);
|
|
}
|
|
// 0x1e26222
|
|
g2 = result;
|
|
g8 = *(int32_t *)g9;
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e26224 - 0x1e26339
|
|
int32_t function_1e26224(int32_t a1, int32_t a2, int32_t a3) {
|
|
int32_t v1 = g3; // bp-4
|
|
g3 = &v1;
|
|
function_1e26035(2);
|
|
g2 = g202;
|
|
g7 = 0;
|
|
int32_t v2 = *(int32_t *)(g202 + 214); // 0x1e2623b
|
|
g8 = v2;
|
|
if (v2 < 1) {
|
|
// 0x1e26261
|
|
g5 = 0;
|
|
} else {
|
|
// 0x1e26245
|
|
g5 = 0;
|
|
*(int32_t *)(g3 - 44) = 0;
|
|
int32_t v3 = g202 + 102; // 0x1e2624e
|
|
int32_t v4 = *(int32_t *)v3; // 0x1e2624e
|
|
g2 = v4;
|
|
int32_t v5 = g5; // 0x1e26250
|
|
g5 = v5 + 4;
|
|
g7++;
|
|
*(int32_t *)(v5 - 28 + g3) = *(int32_t *)v4;
|
|
int32_t v6 = g7; // 0x1e2625d
|
|
int32_t v7 = g8; // 0x1e2625d
|
|
while (v6 < v7) {
|
|
// 0x1e2624a
|
|
*(int32_t *)(g5 - 44 + g3) = v6;
|
|
v3 += 28;
|
|
v4 = *(int32_t *)v3;
|
|
g2 = v4;
|
|
v5 = g5;
|
|
g5 = v5 + 4;
|
|
g7++;
|
|
*(int32_t *)(v5 - 28 + g3) = *(int32_t *)v4;
|
|
v6 = g7;
|
|
v7 = g8;
|
|
}
|
|
// 0x1e26261
|
|
g5 = 0;
|
|
if (v7 >= 1) {
|
|
// 0x1e26267
|
|
g7 = 0;
|
|
int32_t v8 = 0; // 0x1e26271
|
|
int32_t v9 = v7; // 0x1e2626f
|
|
int32_t v10 = 0; // 0x1e2626d
|
|
int32_t v11;
|
|
while (true) {
|
|
int32_t v12 = v10; // edi
|
|
int32_t v13 = v9 - v8; // 0x1e26271
|
|
g2 = v13;
|
|
int32_t v14 = v10; // 0x1e26287
|
|
int32_t v15 = v10; // 0x1e2628b
|
|
int32_t v16;
|
|
while (true) {
|
|
int32_t v17 = g3; // 0x1e26276
|
|
int32_t v18 = v17 - 28; // 0x1e26276
|
|
int32_t * v19 = (int32_t *)(v18 + v15); // 0x1e26276
|
|
uint32_t v20 = *v19; // 0x1e26276
|
|
g2 = v20;
|
|
int32_t * v21 = (int32_t *)(v18 + v14); // 0x1e2627a
|
|
int32_t v22; // 0x1e262a2
|
|
if (v20 > *v21) {
|
|
// 0x1e26280
|
|
*v19 = *v21;
|
|
*(int32_t *)(g3 - 28 + g7) = g2;
|
|
int32_t v23 = g3 - 44; // 0x1e26293
|
|
int32_t v24 = v23 + g7; // 0x1e26293
|
|
g2 = v24;
|
|
*(int32_t *)(v12 + v23) = *(int32_t *)v24;
|
|
*(int32_t *)g2 = *(int32_t *)(v15 - 44 + v17);
|
|
v16 = g7;
|
|
v22 = v12;
|
|
} else {
|
|
v16 = v14;
|
|
v22 = v15;
|
|
}
|
|
int32_t v25 = v22 + 4; // 0x1e262a2
|
|
v12 = v25;
|
|
int32_t v26 = v13 - 1; // 0x1e262a5
|
|
if (v26 == 0) {
|
|
// break -> 0x1e262aa
|
|
break;
|
|
}
|
|
v14 = v16;
|
|
v15 = v25;
|
|
v13 = v26;
|
|
}
|
|
// 0x1e262aa
|
|
v11 = g8;
|
|
int32_t v27 = v16 + 4; // 0x1e262aa
|
|
g7 = v27;
|
|
int32_t v28 = g5 + 1; // 0x1e262ad
|
|
g5 = v28;
|
|
if (v28 >= v11) {
|
|
// break -> 0x1e262b2
|
|
break;
|
|
}
|
|
v8 = v28;
|
|
v9 = v11;
|
|
v10 = v27;
|
|
}
|
|
v2 = v11;
|
|
} else {
|
|
v2 = v7;
|
|
}
|
|
}
|
|
// 0x1e262b2
|
|
int32_t result; // 0x1e26338
|
|
if (g518 != 0) {
|
|
// 0x1e262b2
|
|
result = g2;
|
|
} else {
|
|
// 0x1e262bb
|
|
g2 = g202;
|
|
if (*(int32_t *)(g202 + 62) == 0) {
|
|
if (v2 >= 1) {
|
|
// 0x1e262ca
|
|
g6 = 0;
|
|
int32_t v29 = 0; // 0x1e262cc
|
|
while (true) {
|
|
int32_t v30 = *(int32_t *)(v29 - 28 + g3); // 0x1e262cc
|
|
g4 = v30;
|
|
*(int32_t *)(g9 - 4) = v30;
|
|
*(int32_t *)(g9 - 8) = (int32_t)&g520;
|
|
int32_t v31 = function_1e30231((int32_t)&g708, (int32_t)&g708); // 0x1e262d6
|
|
g2 = v31;
|
|
int32_t v32; // 0x1e26327
|
|
if (v31 >= 0) {
|
|
// 0x1e262e2
|
|
*(int32_t *)(g9 - 4) = 200;
|
|
int32_t v33 = function_1e25371(v31); // 0x1e262e7
|
|
g2 = v33;
|
|
if (v33 != 0) {
|
|
// 0x1e262f3
|
|
*(int32_t *)(g9 - 4) = 0;
|
|
int32_t v34 = *(int32_t *)(g3 - 44 + g6); // 0x1e262f5
|
|
int32_t v35 = v34 + 26 & 0xffff | v34 & -0x10000; // 0x1e262f9
|
|
g2 = v35;
|
|
*(int32_t *)(g9 - 8) = v35;
|
|
int32_t v36 = function_1e25763(v33); // 0x1e262fe
|
|
g2 = v36;
|
|
*(int32_t *)(g9 - 4) = v36;
|
|
*(int32_t *)(g9 - 8) = v33;
|
|
g2 = (int32_t)lstrcpyA((char *)&g708, (char *)&g708);
|
|
}
|
|
// 0x1e2630d
|
|
*(int32_t *)(g9 - 4) = v33;
|
|
*(int32_t *)(g9 - 8) = v31;
|
|
*(int32_t *)(g9 - 12) = g4;
|
|
*(int32_t *)(g9 - 16) = (int32_t)&g520;
|
|
int32_t v37 = function_1e2fda9((int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e26319
|
|
g2 = v37;
|
|
if (v33 != 0) {
|
|
// 0x1e26324
|
|
*(int32_t *)(g9 - 4) = v33;
|
|
v32 = function_1e25401((int32_t)&g708);
|
|
g2 = v32;
|
|
} else {
|
|
v32 = v37;
|
|
}
|
|
} else {
|
|
v32 = v31;
|
|
}
|
|
int32_t v38 = g6 + 4; // 0x1e2632c
|
|
g6 = v38;
|
|
int32_t v39 = g8 - 1; // 0x1e2632f
|
|
g8 = v39;
|
|
if (v39 == 0) {
|
|
result = v32;
|
|
// break -> 0x1e26332
|
|
break;
|
|
}
|
|
v29 = v38;
|
|
}
|
|
} else {
|
|
result = g202;
|
|
}
|
|
} else {
|
|
result = g202;
|
|
}
|
|
}
|
|
// 0x1e26332
|
|
g6 = *(int32_t *)g9;
|
|
g8 = *(int32_t *)(g9 + 4);
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e26339 - 0x1e2637d
|
|
int32_t function_1e26339(int32_t a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5) {
|
|
int32_t v1 = g8; // bp-4
|
|
int32_t result;
|
|
if (g518 == 0) {
|
|
// 0x1e26343
|
|
g2 = g202;
|
|
int32_t v2 = *(int32_t *)(g202 + 214) - 1; // 0x1e2634e
|
|
if (v2 >= 0) {
|
|
int32_t v3 = 28 * v2; // 0x1e26351
|
|
int32_t v4 = &v1; // 0x1e2635d
|
|
int32_t v5 = g202; // 0x1e26354
|
|
while (true) {
|
|
// 0x1e26354
|
|
g2 = v5;
|
|
int32_t v6 = *(int32_t *)(v3 + 102 + v5); // 0x1e26359
|
|
g5 = v6;
|
|
*(int32_t *)(v4 - 4) = *(int32_t *)v6;
|
|
*(int32_t *)(v4 - 8) = (int32_t)&g520;
|
|
int32_t v7 = function_1e30231((int32_t)&g708, (int32_t)&g708); // 0x1e26364
|
|
g2 = v7;
|
|
if (v7 >= 0) {
|
|
result = 1;
|
|
// break -> 0x1e26374
|
|
break;
|
|
}
|
|
int32_t v8 = v3 - 28; // 0x1e2636d
|
|
if (v8 < 0) {
|
|
goto lab_0x1e26372;
|
|
}
|
|
// 0x1e2636d
|
|
v4 = g9;
|
|
v3 = v8;
|
|
v5 = g202;
|
|
}
|
|
// 0x1e26374
|
|
g2 = result;
|
|
return result;
|
|
}
|
|
}
|
|
lab_0x1e26372:
|
|
result = 0;
|
|
// 0x1e26374
|
|
g2 = result;
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e2637d - 0x1e26489
|
|
int32_t function_1e2637d(int32_t a1, int32_t a2, int32_t a3) {
|
|
int32_t v1 = g3; // bp-4
|
|
g3 = &v1;
|
|
int32_t v2; // bp-68
|
|
int32_t v3 = &v2; // 0x1e26380
|
|
g4 = a3;
|
|
int32_t result; // 0x1e26486
|
|
if (*(char *)(a3 + 5) == 0) {
|
|
goto lab_0x1e2647d;
|
|
} else {
|
|
// 0x1e26393
|
|
if (*(int32_t *)(a3 + 106) != 0) {
|
|
goto lab_0x1e2647d;
|
|
} else {
|
|
uint32_t v4 = (int32_t)__asm_fnstsw(g10); // 0x1e263a6
|
|
g2 = g2 & -0x10000 | v4;
|
|
if ((v4 / 256 & 65) == 0) {
|
|
// 0x1e263ab
|
|
g2 = g513;
|
|
*(int32_t *)(g4 + 66) = (int32_t)g513;
|
|
}
|
|
int32_t v5 = g4; // 0x1e263b3
|
|
int32_t v6 = v5 + 66; // 0x1e263b3
|
|
float80_t v7 = a2; // 0x1e263b6
|
|
float80_t v8 = v7 * (float80_t)*(float32_t *)v6; // 0x1e263b6
|
|
int32_t v9 = *(int32_t *)v6; // 0x1e263b9
|
|
g2 = v9;
|
|
g5 = a2;
|
|
*(float32_t *)(v5 + 70) = (float32_t)v8;
|
|
*(int32_t *)(g4 + 74) = g5;
|
|
*(int32_t *)(g4 + 78) = a1;
|
|
int32_t v10 = v5 + 42; // 0x1e263d4
|
|
v2 = *(int32_t *)v10;
|
|
int32_t v11 = g1 ? -4 : 4; // 0x1e263d4
|
|
int32_t v12 = v11 + v3; // 0x1e263d4
|
|
int32_t v13 = v11 + v10; // 0x1e263d4
|
|
*(int32_t *)v12 = *(int32_t *)v13;
|
|
*(int32_t *)(v12 + v11) = *(int32_t *)(v13 + v11);
|
|
int32_t v14; // bp-56
|
|
int32_t v15 = &v14; // 0x1e263d7
|
|
int32_t v16 = g4 + 54; // 0x1e263da
|
|
v14 = *(int32_t *)v16;
|
|
int32_t v17 = v11 + v15; // 0x1e263dd
|
|
int32_t v18 = v16 + v11; // 0x1e263dd
|
|
*(int32_t *)v17 = *(int32_t *)v18;
|
|
int32_t v19 = v17 + v11; // 0x1e263de
|
|
int32_t v20 = v18 + v11; // 0x1e263de
|
|
*(int32_t *)v19 = *(int32_t *)v20;
|
|
g6 = v19 + v11;
|
|
g8 = v20 + v11;
|
|
g2 = a1;
|
|
g5 = a2;
|
|
int32_t v21; // bp-12
|
|
g2 = &v21;
|
|
g5 = (int32_t)g563;
|
|
float80_t v22 = function_1e31324(&v2, g4, &v21); // 0x1e2640e
|
|
g2 = (float32_t)v22;
|
|
*(int32_t *)(g4 + 134) = 0;
|
|
g11++;
|
|
uint32_t v23 = (int32_t)__asm_fnstsw(g10); // 0x1e26426
|
|
g2 = g2 & -0x10000 | v23;
|
|
if ((v23 / 256 & 1) == 0) {
|
|
float80_t v24 = v7 * (float80_t)*(float32_t *)(g4 + 66); // 0x1e26451
|
|
*(float32_t *)(g4 + 70) = (float32_t)v24;
|
|
float32_t * v25 = (float32_t *)(g4 + 70); // 0x1e26457
|
|
float80_t v26 = (float80_t)*v25 * (float80_t)*(float32_t *)(g4 + 54); // 0x1e2645a
|
|
int32_t v27; // bp-24
|
|
g5 = &v27;
|
|
v27 = (float32_t)v26;
|
|
g2 = function_1e30cff(g4 + 42, &v27);
|
|
goto lab_0x1e2647d;
|
|
} else {
|
|
g5 = v21;
|
|
g2 = *(int32_t *)v21;
|
|
uint32_t v28 = (int32_t)__asm_fnstsw(g10); // 0x1e2643f
|
|
int32_t v29 = g2 & -0x10000 | v28; // 0x1e2643f
|
|
g2 = v29;
|
|
if ((v28 / 256 & 65) == 0) {
|
|
// 0x1e26444
|
|
g11--;
|
|
result = v29;
|
|
fabsl(v22 / (float80_t)(float32_t)v9);
|
|
goto lab_0x1e26480;
|
|
} else {
|
|
goto lab_0x1e2647d;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
lab_0x1e2647d:
|
|
// 0x1e2647d
|
|
g11--;
|
|
result = g2;
|
|
goto lab_0x1e26480;
|
|
lab_0x1e26480:
|
|
// 0x1e26480
|
|
g6 = *(int32_t *)g9;
|
|
g8 = *(int32_t *)(g9 + 4);
|
|
g4 = *(int32_t *)(g9 + 8);
|
|
g3 = v1;
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e26489 - 0x1e26621
|
|
int32_t function_1e26489(int32_t a1, int32_t a2, int32_t a3) {
|
|
// 0x1e26489
|
|
g2 = g202;
|
|
int32_t v1; // bp-52
|
|
int32_t v2 = &v1; // 0x1e26491
|
|
int32_t v3 = *(int32_t *)(g202 + 262); // 0x1e26497
|
|
int32_t v4 = *(int32_t *)(v3 + 4); // 0x1e2649d
|
|
g5 = v4;
|
|
int32_t v5 = v3 + 8; // 0x1e264a0
|
|
g8 = v5;
|
|
int32_t v6; // 0x1e2661e18
|
|
if (v4 >= 1) {
|
|
// 0x1e264ae
|
|
g4 = 0;
|
|
float32_t v7; // bp-32
|
|
int32_t v8 = &v7; // 0x1e264ec
|
|
int32_t v9 = 0; // 0x1e264e3
|
|
int32_t v10 = v4;
|
|
while (true) {
|
|
// 0x1e264b3
|
|
g2 = a2;
|
|
int32_t v11 = *(int32_t *)v5; // 0x1e264b6
|
|
g6 = v11;
|
|
char v12 = v9; // 0x1e264bb
|
|
int32_t v13; // 0x1e2661e21
|
|
if (*(char *)(v11 + 5) != v12) {
|
|
// 0x1e264c4
|
|
if (*(int32_t *)(v11 + 106) == v9) {
|
|
// 0x1e264de
|
|
g2 = g202;
|
|
int3_t v14; // 0x1e26590
|
|
if (*(char *)(g202 + 5) == v12) {
|
|
// 0x1e264de
|
|
v14 = g11;
|
|
} else {
|
|
// 0x1e264ec
|
|
g2 = v8;
|
|
g5 = (int32_t)g563;
|
|
*(int32_t *)(g9 - 4) = v8;
|
|
v7 = g4;
|
|
*(int32_t *)(g9 - 8) = g6;
|
|
int32_t v15 = g4; // 0x1e264fa
|
|
g2 = function_1e30fc1(v10, (int32_t)v7, v15, v15, a2);
|
|
v7 *= (float32_t)a2;
|
|
float80_t v16 = (float80_t)(float32_t)a2 * (float80_t)(float32_t)v15; // 0x1e26511
|
|
int32_t v17 = g6; // 0x1e26517
|
|
int32_t v18 = v17 + 54; // 0x1e26517
|
|
float80_t v19 = (float80_t)*(float32_t *)v18; // 0x1e26517
|
|
float32_t v20 = *(float32_t *)(v17 + 66); // 0x1e2651a
|
|
g5 = v8;
|
|
g2 = v18;
|
|
*(int32_t *)(g9 - 4) = v8;
|
|
*(int32_t *)(g9 - 8) = g2;
|
|
*(float32_t *)(g6 + 54) = (float32_t)(v19 * (float80_t)v20);
|
|
int32_t v21 = g6; // 0x1e26528
|
|
float32_t * v22 = (float32_t *)(v21 + 58); // 0x1e26528
|
|
float80_t v23 = (float80_t)*v22 * (float80_t)*(float32_t *)(v21 + 66); // 0x1e2652b
|
|
*v22 = (float32_t)v23;
|
|
function_1e30cff((int32_t)v7, (int32_t *)(int32_t)(float32_t)v16);
|
|
int32_t v24 = g6 + 54; // 0x1e26536
|
|
g2 = v24;
|
|
*(int32_t *)(g9 - 4) = v24;
|
|
float32_t v25 = function_1e30d19((int32_t)&g708); // 0x1e2653a
|
|
g2 = v25;
|
|
*(float32_t *)(g6 + 66) = v25;
|
|
int32_t v26 = g6; // 0x1e26542
|
|
int32_t v27 = v26 + 54; // 0x1e26542
|
|
float64_t v28;
|
|
if ((*(int32_t *)v27 & 0x7fffffff) != 0) {
|
|
// 0x1e26557
|
|
v28 = 1.0L / (float80_t)*(float32_t *)v27;
|
|
} else {
|
|
// 0x1e2654b
|
|
v28 = (int64_t)g4;
|
|
}
|
|
// 0x1e26563
|
|
*(float32_t *)(v26 + 82) = (float32_t)v28;
|
|
int32_t v29 = g6; // 0x1e26569
|
|
int32_t v30 = v29 + 58; // 0x1e26569
|
|
float64_t v31;
|
|
if ((*(int32_t *)v30 & 0x7fffffff) != 0) {
|
|
// 0x1e2657e
|
|
v31 = 1.0L / (float80_t)*(float32_t *)v30;
|
|
} else {
|
|
// 0x1e26572
|
|
v31 = (int64_t)g4;
|
|
}
|
|
// 0x1e2658a
|
|
*(float32_t *)(v29 + 86) = (float32_t)v31;
|
|
v14 = g11 + 1;
|
|
}
|
|
// 0x1e26590
|
|
g11 = v14;
|
|
g2 = a1;
|
|
uint32_t v32 = (int32_t)__asm_fnstsw(g10); // 0x1e265a6
|
|
int32_t v33 = g2 & -0x10000 | v32; // 0x1e265a6
|
|
g2 = v33;
|
|
if ((v32 / 256 & 65) == 0) {
|
|
int32_t v34 = v33; // 0x1e2661e20
|
|
int32_t v35 = a2;
|
|
int32_t v36 = 10;
|
|
while (true) {
|
|
if (v36 == 0) {
|
|
v13 = v34;
|
|
// break -> 0x1e265dc
|
|
break;
|
|
}
|
|
// 0x1e265b1
|
|
*(int32_t *)(g9 - 4) = g6;
|
|
*(int32_t *)(g9 - 8) = v35;
|
|
*(int32_t *)(g9 - 12) = a1;
|
|
int32_t v37 = function_1e2637d((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e265b8
|
|
g2 = v37;
|
|
float80_t v38 = 0.0; // 0x1e265c0
|
|
int32_t v39 = v36 - 1; // 0x1e265c2
|
|
g11++;
|
|
uint32_t v40 = (int32_t)__asm_fnstsw(g10); // 0x1e265d7
|
|
int32_t v41 = g2 & -0x10000 | v40; // 0x1e265d7
|
|
g2 = v41;
|
|
if ((v40 / 256 & 65) != 0) {
|
|
v13 = v41;
|
|
// break -> 0x1e265dc
|
|
break;
|
|
}
|
|
v34 = v41;
|
|
v35 = (float32_t)v38;
|
|
a1 = (float32_t)((float80_t)(float32_t)a1 + v38);
|
|
v36 = v39;
|
|
}
|
|
} else {
|
|
v13 = v33;
|
|
}
|
|
} else {
|
|
// 0x1e264c9
|
|
g7 = v2;
|
|
*(int32_t *)(v11 + 74) = a2;
|
|
g5 = *(int32_t *)(g6 + 106);
|
|
*(int32_t *)(g9 - 4) = v2;
|
|
*(int32_t *)(g9 - 8) = g6;
|
|
int32_t v42 = *(int32_t *)g5; // 0x1e264d4
|
|
g2 = v42;
|
|
v13 = v42;
|
|
}
|
|
} else {
|
|
v13 = a2;
|
|
}
|
|
int32_t v43 = g8 + 4; // 0x1e265dc
|
|
g8 = v43;
|
|
int32_t v44 = v10 - 1; // 0x1e265df
|
|
if (v44 == 0) {
|
|
v6 = v13;
|
|
// break -> 0x1e265e8
|
|
break;
|
|
}
|
|
// 0x1e265dc
|
|
v9 = g4;
|
|
v5 = v43;
|
|
v10 = v44;
|
|
}
|
|
} else {
|
|
v6 = g202;
|
|
}
|
|
int32_t result; // 0x1e2661e
|
|
if (a3 != 0) {
|
|
// 0x1e265ee
|
|
g2 = g202;
|
|
if (v4 > 0) {
|
|
int32_t v45 = g202; // 0x1e2661e17
|
|
int32_t v46 = *(int32_t *)(g202 + 262) + 8; // 0x1e26612
|
|
while (true) {
|
|
int32_t v47 = *(int32_t *)v46; // 0x1e26605
|
|
g5 = v47;
|
|
int32_t v48; // 0x1e2660d
|
|
if (*(char *)(v47 + 5) != 0) {
|
|
// 0x1e2660d
|
|
v48 = *(int32_t *)v47;
|
|
g2 = v48;
|
|
} else {
|
|
v48 = v45;
|
|
}
|
|
int32_t v49 = v4 - 1; // 0x1e26615
|
|
if (v49 == 0) {
|
|
result = v48;
|
|
// break -> 0x1e26618
|
|
break;
|
|
}
|
|
v45 = v48;
|
|
v4 = v49;
|
|
v46 += 4;
|
|
}
|
|
} else {
|
|
result = g202;
|
|
}
|
|
} else {
|
|
result = v6;
|
|
}
|
|
// 0x1e26618
|
|
g6 = *(int32_t *)g9;
|
|
g8 = *(int32_t *)(g9 + 4);
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e26621 - 0x1e26743
|
|
int32_t function_1e26621(int32_t a1) {
|
|
// 0x1e26621
|
|
int32_t v1; // 0x1e26635
|
|
if (a1 > 100) {
|
|
v1 = 100;
|
|
} else {
|
|
v1 = a1;
|
|
}
|
|
float80_t v2 = 0.001L * (float80_t)v1; // 0x1e2663c
|
|
int32_t v3 = function_1e26172(v1, g8, (int32_t)(float32_t)v2, g3); // 0x1e26645
|
|
g2 = v3;
|
|
if (v3 != 0) {
|
|
// 0x1e26737
|
|
g2 = 1;
|
|
g8 = *(int32_t *)g9;
|
|
return 1;
|
|
}
|
|
float32_t v4 = g172; // 0x1e26652
|
|
*(float32_t *)&g173 = (float32_t)(v2 + (float80_t)v4);
|
|
function_1e26489((int32_t)v4, (int32_t)(float32_t)v2, 1);
|
|
int32_t v5 = g173; // 0x1e26671
|
|
g5 = v5;
|
|
g2 = 0;
|
|
g172 = v5;
|
|
g204 = (char *)((int32_t)g204 + g8);
|
|
float80_t v6; // 0x1e266c8
|
|
if (g175 != 0) {
|
|
goto lab_0x1e266b9;
|
|
} else {
|
|
// 0x1e2668d
|
|
if (g176 != 0) {
|
|
goto lab_0x1e266b9;
|
|
} else {
|
|
// 0x1e26695
|
|
if (g177 != 0) {
|
|
goto lab_0x1e266b9;
|
|
} else {
|
|
float80_t v7 = (float80_t)g179 - v2; // st7
|
|
uint32_t v8 = (int32_t)__asm_fnstsw(g10); // 0x1e266ae
|
|
g2 = g2 & -0x10000 | v8;
|
|
float80_t v9;
|
|
if ((v8 / 256 & 1) == 0) {
|
|
// 0x1e266b3
|
|
v9 = 0.0L;
|
|
} else {
|
|
// 0x1e2669d
|
|
v9 = v7;
|
|
}
|
|
// 0x1e266b5
|
|
v6 = v9;
|
|
goto lab_0x1e266c8;
|
|
}
|
|
}
|
|
}
|
|
lab_0x1e266b9:
|
|
// 0x1e266b9
|
|
v6 = 4.0L * v2 + (float80_t)g179;
|
|
goto lab_0x1e266c8;
|
|
lab_0x1e266c8:
|
|
// 0x1e266c8
|
|
g179 = v6;
|
|
g11 = g11;
|
|
g2 = function_1e32692();
|
|
function_1e293ea();
|
|
g2 = g202;
|
|
g2 = function_1e2f3ed(*(int32_t *)(g202 + 50));
|
|
g5 = g202;
|
|
if (*(int32_t *)(g202 + 370) != 0) {
|
|
// 0x1e26737
|
|
g2 = 1;
|
|
g8 = *(int32_t *)g9;
|
|
return 1;
|
|
}
|
|
// 0x1e266f4
|
|
if ((int32_t)g179 > 0x3f000000) {
|
|
int32_t v10 = function_1e25763(25); // 0x1e26709
|
|
g2 = v10;
|
|
g5 = g200;
|
|
g2 = function_1e2fbc7(v10, (int32_t)&g708);
|
|
}
|
|
if ((int32_t)g179 > 0x3f800000) {
|
|
// 0x1e26726
|
|
g2 = g172;
|
|
g5 = g202;
|
|
*(int32_t *)(g9 - 4) = (int32_t)g172;
|
|
g2 = function_1e2e8f3();
|
|
}
|
|
// 0x1e26737
|
|
g2 = 1;
|
|
g8 = *(int32_t *)g9;
|
|
return 1;
|
|
}
|
|
|
|
// Address range: 0x1e26743 - 0x1e2675d
|
|
int32_t function_1e26743(void) {
|
|
// 0x1e26743
|
|
g195 = 0;
|
|
int32_t result = function_1e293ea(); // 0x1e2674d
|
|
g2 = result;
|
|
g195 = 1;
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e2675d - 0x1e26791
|
|
int32_t function_1e2675d(int32_t a1, int32_t a2) {
|
|
// 0x1e2675d
|
|
g2 = g202;
|
|
int32_t v1; // 0x1e26776
|
|
if (*(int32_t *)(g202 + 370) != 0) {
|
|
// 0x1e2676b
|
|
g5 = g200;
|
|
g2 = function_1e2f83c();
|
|
v1 = g202;
|
|
} else {
|
|
v1 = g202;
|
|
}
|
|
// 0x1e26776
|
|
g5 = v1;
|
|
*(int32_t *)(v1 + 370) = 0;
|
|
g179 = -2.0f;
|
|
return g2;
|
|
}
|
|
|
|
// Address range: 0x1e26791 - 0x1e267d0
|
|
int32_t function_1e26791(int32_t a1, int32_t a2) {
|
|
int32_t v1 = g3; // bp-4
|
|
g2 = g202;
|
|
g3 = &v1;
|
|
int32_t v2 = *(int32_t *)(g202 + 262); // 0x1e2679c
|
|
g5 = v2;
|
|
int32_t v3 = *(int32_t *)(v2 + 8); // 0x1e267a6
|
|
int32_t v4 = v3 + 54; // 0x1e267af
|
|
g5 = v4;
|
|
*(float32_t *)v4 = (float32_t)(30.0L * (float80_t)a1);
|
|
*(float32_t *)(v3 + 58) = (float32_t)(30.0L * (float80_t)a2);
|
|
float32_t v5 = function_1e30d19(v4); // 0x1e267c1
|
|
g2 = v5;
|
|
*(float32_t *)(v3 + 66) = v5;
|
|
g11++;
|
|
g8 = v4;
|
|
g3 = v1;
|
|
return g2;
|
|
}
|
|
|
|
// Address range: 0x1e267d0 - 0x1e2690e
|
|
int32_t function_1e267d0(int32_t a1, int32_t a2) {
|
|
// 0x1e267d0
|
|
g2 = g202;
|
|
int3_t v1 = g11; // 0x1e267db
|
|
int32_t v2 = g6; // bp-52
|
|
int32_t v3 = *(int32_t *)(g202 + 262); // 0x1e267ea
|
|
int32_t v4 = *(int32_t *)(v3 + 4); // 0x1e267f0
|
|
g6 = v4;
|
|
int32_t v5 = v3 + 8; // 0x1e267f3
|
|
g4 = v5;
|
|
float32_t v6 = 0.5L * (float80_t)(float32_t)a1; // bp-24
|
|
int3_t v7; // 0x1e268b1
|
|
int32_t v8; // 0x1e268ba
|
|
int32_t v9; // 0x1e268bf
|
|
if (v4 >= 1) {
|
|
int3_t v10 = v1; // 0x1e26826
|
|
int3_t v11; // 0x1e268267
|
|
while (true) {
|
|
int32_t v12 = *(int32_t *)v5; // 0x1e26810
|
|
g8 = v12;
|
|
int32_t v13; // 0x1e268a7
|
|
int32_t v14; // 0x1e268aa
|
|
if (*(char *)(v12 + 5) != 0) {
|
|
// 0x1e2681c
|
|
if (*(int32_t *)(v12 + 106) == 0) {
|
|
float80_t v15 = (float80_t)*(float32_t *)(v12 + 54); // 0x1e26826
|
|
float32_t v16 = *(float32_t *)(v12 + 66); // 0x1e26829
|
|
*(int32_t *)(g9 - 4) = (int32_t)&v6;
|
|
int32_t v17 = g8 + 54; // 0x1e26830
|
|
g2 = v17;
|
|
*(int32_t *)(g9 - 8) = v17;
|
|
*(float32_t *)(g8 + 54) = (float32_t)(v15 * (float80_t)v16);
|
|
int32_t v18 = g8; // 0x1e26837
|
|
float32_t * v19 = (float32_t *)(v18 + 58); // 0x1e26837
|
|
float80_t v20 = (float80_t)*v19 * (float80_t)*(float32_t *)(v18 + 66); // 0x1e2683a
|
|
*v19 = (float32_t)v20;
|
|
g11 = v10;
|
|
function_1e30cff((int32_t)&g708, &g708);
|
|
int32_t v21 = g8 + 54; // 0x1e26845
|
|
g2 = v21;
|
|
*(int32_t *)(g9 - 4) = v21;
|
|
float32_t v22 = function_1e30d19((int32_t)&g708); // 0x1e26849
|
|
g2 = v22;
|
|
*(float32_t *)(g8 + 66) = v22;
|
|
int32_t v23 = g8; // 0x1e26851
|
|
int32_t v24 = v23 + 54; // 0x1e26851
|
|
float64_t v25;
|
|
if ((*(int32_t *)v24 & 0x7fffffff) != 0) {
|
|
// 0x1e2686a
|
|
v25 = 1.0L / (float80_t)*(float32_t *)v24;
|
|
} else {
|
|
v25 = 0.0;
|
|
}
|
|
// 0x1e26876
|
|
*(float32_t *)(v23 + 82) = (float32_t)v25;
|
|
int32_t v26 = g8; // 0x1e2687c
|
|
int32_t v27 = v26 + 58; // 0x1e2687c
|
|
float64_t v28;
|
|
if ((*(int32_t *)v27 & 0x7fffffff) != 0) {
|
|
// 0x1e26895
|
|
v28 = 1.0L / (float80_t)*(float32_t *)v27;
|
|
} else {
|
|
v28 = 0.0;
|
|
}
|
|
// 0x1e268a1
|
|
*(float32_t *)(v26 + 86) = (float32_t)v28;
|
|
v14 = g6;
|
|
v13 = g4;
|
|
v11 = g11 + 1;
|
|
} else {
|
|
v14 = v4;
|
|
v13 = v5;
|
|
v11 = v10;
|
|
}
|
|
} else {
|
|
v14 = v4;
|
|
v13 = v5;
|
|
v11 = v10;
|
|
}
|
|
int32_t v29 = v13 + 4; // 0x1e268a7
|
|
g4 = v29;
|
|
int32_t v30 = v14 - 1; // 0x1e268aa
|
|
g6 = v30;
|
|
if (v30 == 0) {
|
|
// break -> 0x1e268b1
|
|
break;
|
|
}
|
|
v4 = v30;
|
|
v10 = v11;
|
|
v5 = v29;
|
|
}
|
|
// 0x1e268b1
|
|
v9 = g9;
|
|
v8 = g202;
|
|
v7 = v11;
|
|
} else {
|
|
v9 = &v2;
|
|
v8 = g202;
|
|
v7 = v1;
|
|
}
|
|
float80_t v31 = 0.5L - (float80_t)(float32_t)a2; // st7
|
|
g2 = v8;
|
|
*(int32_t *)(v9 - 4) = *(int32_t *)(v8 + 246);
|
|
*(int32_t *)(v9 - 8) = *(int32_t *)(g2 + 242);
|
|
*(int32_t *)(v9 - 12) = 0;
|
|
*(int32_t *)(v9 - 16) = 0;
|
|
*(float64_t *)(v9 - 24) = (float64_t)v31;
|
|
g11 = v7;
|
|
int32_t v32 = function_1e3dbc0((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e268d5
|
|
g2 = v32;
|
|
int32_t v33 = __ftol(); // 0x1e268dd
|
|
g2 = v33;
|
|
*(int32_t *)(g9 - 4) = v33;
|
|
*(float64_t *)(g9 - 12) = (float64_t)((float80_t)(float32_t)a1 + 0.5L);
|
|
int32_t v34 = function_1e3dbc0((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e268f2
|
|
g2 = v34;
|
|
int32_t v35 = __ftol(); // 0x1e268fa
|
|
g2 = v35;
|
|
*(int32_t *)(g9 - 4) = v35;
|
|
int32_t result = function_1e29b0a((int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e26900
|
|
g2 = result;
|
|
g6 = *(int32_t *)g9;
|
|
g8 = *(int32_t *)(g9 + 4);
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e2690e - 0x1e26933
|
|
int32_t function_1e2690e(int32_t a1, int32_t a2) {
|
|
// 0x1e2690e
|
|
int32_t result; // 0x1e26930
|
|
if (g175 == 0) {
|
|
// 0x1e2690e
|
|
result = g2;
|
|
} else {
|
|
int32_t v1 = function_1e267d0(0x40000000, -0x40800000); // 0x1e26921
|
|
g2 = v1;
|
|
result = v1;
|
|
}
|
|
// 0x1e26926
|
|
g175 = 0;
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e26933 - 0x1e26958
|
|
int32_t function_1e26933(int32_t a1, int32_t a2) {
|
|
// 0x1e26933
|
|
int32_t result; // 0x1e26955
|
|
if (g176 == 0) {
|
|
// 0x1e26933
|
|
result = g2;
|
|
} else {
|
|
int32_t v1 = function_1e267d0(-0x40000000, -0x40800000); // 0x1e26946
|
|
g2 = v1;
|
|
result = v1;
|
|
}
|
|
// 0x1e2694b
|
|
g176 = 0;
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e26958 - 0x1e26997
|
|
int32_t function_1e26958(void) {
|
|
// 0x1e26958
|
|
function_1e267d0(-0x40000000, 0x3f800000);
|
|
g2 = g178;
|
|
if (g178 != 0) {
|
|
// 0x1e26970
|
|
g2 = function_1e32771(g178);
|
|
}
|
|
// 0x1e26976
|
|
*(int32_t *)(g9 - 4) = 0x1e2690e;
|
|
*(int32_t *)(g9 - 8) = 0;
|
|
*(int32_t *)(g9 - 12) = 0x3ecccccd;
|
|
int32_t result = function_1e325d2((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e26982
|
|
g2 = result;
|
|
g175 = 1;
|
|
g178 = result;
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e26997 - 0x1e269d6
|
|
int32_t function_1e26997(void) {
|
|
// 0x1e26997
|
|
function_1e267d0(0x40000000, 0x3f800000);
|
|
g2 = g178;
|
|
if (g178 != 0) {
|
|
// 0x1e269af
|
|
g2 = function_1e32771(g178);
|
|
}
|
|
// 0x1e269b5
|
|
*(int32_t *)(g9 - 4) = 0x1e26933;
|
|
*(int32_t *)(g9 - 8) = 0;
|
|
*(int32_t *)(g9 - 12) = 0x3ecccccd;
|
|
int32_t result = function_1e325d2((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e269c1
|
|
g2 = result;
|
|
g176 = 1;
|
|
g178 = result;
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e269d6 - 0x1e269f8
|
|
int32_t function_1e269d6(int32_t a1, int32_t a2) {
|
|
// 0x1e269d6
|
|
int32_t result; // 0x1e269f5
|
|
if (g177 == 0) {
|
|
// 0x1e269d6
|
|
result = g2;
|
|
} else {
|
|
int32_t v1 = function_1e267d0(0, -0x40800000); // 0x1e269e6
|
|
g2 = v1;
|
|
result = v1;
|
|
}
|
|
// 0x1e269eb
|
|
g177 = 0;
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e269f8 - 0x1e26a34
|
|
int32_t function_1e269f8(void) {
|
|
// 0x1e269f8
|
|
function_1e267d0(0, 0x3f800000);
|
|
g2 = g178;
|
|
if (g178 != 0) {
|
|
// 0x1e26a0d
|
|
g2 = function_1e32771(g178);
|
|
}
|
|
// 0x1e26a13
|
|
*(int32_t *)(g9 - 4) = 0x1e269d6;
|
|
*(int32_t *)(g9 - 8) = 0;
|
|
*(int32_t *)(g9 - 12) = 0x3ecccccd;
|
|
int32_t result = function_1e325d2((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e26a1f
|
|
g2 = result;
|
|
g177 = 1;
|
|
g178 = result;
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e26a34 - 0x1e26cac
|
|
int32_t function_1e26a34(int32_t a1, int32_t a2, int32_t a3, int32_t a4) {
|
|
// 0x1e26a34
|
|
int32_t v1; // bp-24
|
|
int32_t v2 = &v1; // 0x1e26a37
|
|
int32_t v3 = g8; // 0x1e26a41
|
|
int32_t v4 = g6; // 0x1e26a42
|
|
int32_t v5; // 0x1e26a74
|
|
if (g150) {
|
|
goto lab_0x1e26ca4;
|
|
} else {
|
|
// 0x1e26a49
|
|
if (g518 != 0) {
|
|
goto lab_0x1e26ca4;
|
|
} else {
|
|
// 0x1e26a56
|
|
if (g516 == 1) {
|
|
// 0x1e26a6b
|
|
g8 = a1;
|
|
g2 = function_1e355ae(a1, v4, v3);
|
|
v5 = g8;
|
|
if (g640 != v5) {
|
|
// 0x1e26a96
|
|
if (g641 != v5) {
|
|
// 0x1e26afb
|
|
if (g642 != v5) {
|
|
// 0x1e26b1d
|
|
if (g643 != v5) {
|
|
// 0x1e26b41
|
|
if (g644 != v5) {
|
|
// 0x1e26b65
|
|
if (g645 != v5) {
|
|
goto lab_0x1e26ab3;
|
|
} else {
|
|
// 0x1e26b71
|
|
g2 = g202;
|
|
if (*(int32_t *)(g202 + 370) == 0) {
|
|
// 0x1e26b83
|
|
g2 = function_1e269f8();
|
|
}
|
|
goto lab_0x1e26ca4;
|
|
}
|
|
} else {
|
|
// 0x1e26b49
|
|
g2 = g202;
|
|
if (*(int32_t *)(g202 + 370) == 0) {
|
|
// 0x1e26b5b
|
|
g2 = function_1e26958();
|
|
}
|
|
goto lab_0x1e26ca4;
|
|
}
|
|
} else {
|
|
// 0x1e26b25
|
|
g2 = g202;
|
|
if (*(int32_t *)(g202 + 370) == 0) {
|
|
// 0x1e26b37
|
|
g2 = function_1e26997();
|
|
}
|
|
goto lab_0x1e26ca4;
|
|
}
|
|
} else {
|
|
// 0x1e26b03
|
|
g2 = g172;
|
|
g5 = g202;
|
|
goto lab_0x1e26ca4;
|
|
}
|
|
} else {
|
|
// 0x1e26a9e
|
|
g2 = g172;
|
|
g5 = g202;
|
|
g6 = *(int32_t *)g202;
|
|
goto lab_0x1e26ab3;
|
|
}
|
|
} else {
|
|
// 0x1e26a7c
|
|
g2 = g172;
|
|
g5 = g202;
|
|
goto lab_0x1e26ca4;
|
|
}
|
|
} else {
|
|
// 0x1e26a5f
|
|
g2 = function_1e26172(-1, v4, v3, (int32_t)&g708);
|
|
goto lab_0x1e26ca4;
|
|
}
|
|
}
|
|
}
|
|
lab_0x1e26ca4:
|
|
// 0x1e26ca4
|
|
g6 = *(int32_t *)g9;
|
|
g8 = *(int32_t *)(g9 + 4);
|
|
return g2;
|
|
lab_0x1e26ab3:
|
|
// 0x1e26ab3
|
|
if (g157 != 0) {
|
|
if (v5 == 66) {
|
|
// 0x1e26b8d
|
|
g2 = g202;
|
|
int32_t v6 = *(int32_t *)(g202 + 262); // 0x1e26b96
|
|
g2 = v6;
|
|
int32_t v7 = v6 + 8; // 0x1e26b9c
|
|
g6 = v7;
|
|
int32_t v8 = *(int32_t *)(v6 + 4); // 0x1e26b9f
|
|
g5 = v8;
|
|
int32_t v9; // 0x1e26bea
|
|
if (v8 < 1) {
|
|
lab_0x1e26bc6:
|
|
// 0x1e26bc6
|
|
*(int32_t *)(g9 - 4) = 362;
|
|
*(int32_t *)(g9 - 8) = 1;
|
|
int32_t v10 = function_1e22760((int32_t)&g708, (int32_t)&g708); // 0x1e26bcd
|
|
g2 = v10;
|
|
if (v10 == 0) {
|
|
// 0x1e26be8
|
|
g2 = 0;
|
|
v9 = 0;
|
|
} else {
|
|
// 0x1e26bd9
|
|
*(int32_t *)(g9 + 4) = g202;
|
|
g5 = v10;
|
|
int32_t v11 = function_1e2a9a0((int32_t)&g708); // 0x1e26be1
|
|
g2 = v11;
|
|
v9 = v11;
|
|
}
|
|
} else {
|
|
int32_t v12 = 0; // 0x1e26bae
|
|
int32_t v13; // 0x1e26ba6
|
|
while (true) {
|
|
// 0x1e26ba6
|
|
v13 = *(int32_t *)v7;
|
|
g2 = v13;
|
|
if (*(char *)(v13 + 5) == 0) {
|
|
// break -> 0x1e26bc2
|
|
break;
|
|
}
|
|
int32_t v14 = v12 + 1; // 0x1e26bae
|
|
int32_t v15 = v7 + 4; // 0x1e26baf
|
|
g6 = v15;
|
|
if (v14 >= v8) {
|
|
goto lab_0x1e26bc6;
|
|
}
|
|
v12 = v14;
|
|
v7 = v15;
|
|
}
|
|
v9 = v13;
|
|
}
|
|
// 0x1e26bea
|
|
*(char *)(v9 + 5) = 1;
|
|
g5 = 0x3f800000;
|
|
*(int32_t *)(g2 + 42) = 0x3f800000;
|
|
*(int32_t *)(g2 + 46) = g5;
|
|
g5 = 0;
|
|
int32_t v16 = g2; // 0x1e26bfb
|
|
int32_t v17 = *(int32_t *)(v16 + 154); // 0x1e26bfb
|
|
g7 = v17;
|
|
*(int32_t *)(v16 + 50) = v17;
|
|
*(int32_t *)(g2 + 62) = g5;
|
|
*(int32_t *)(g2 + 58) = g5;
|
|
*(int32_t *)(g2 + 54) = g5;
|
|
} else {
|
|
if (v5 == 72) {
|
|
// 0x1e26c12
|
|
*(int32_t *)(g9 - 4) = 200;
|
|
int32_t v18 = function_1e25371((int32_t)&g708); // 0x1e26c17
|
|
g2 = v18;
|
|
g8 = v18;
|
|
if (v18 != 0) {
|
|
// 0x1e26c22
|
|
*(int32_t *)(g9 - 4) = 0;
|
|
*(int32_t *)(g9 - 8) = 26;
|
|
int32_t v19 = function_1e25763((int32_t)&g708); // 0x1e26c26
|
|
g2 = v19;
|
|
*(int32_t *)(g9 - 4) = v19;
|
|
*(int32_t *)(g9 - 8) = v18;
|
|
g2 = (int32_t)lstrcpyA((char *)&g708, (char *)&g708);
|
|
}
|
|
// 0x1e26c33
|
|
*(int32_t *)(g9 - 4) = v18;
|
|
*(int32_t *)(g9 - 8) = 1;
|
|
*(int32_t *)(g9 - 12) = 0x3b9aca00;
|
|
*(int32_t *)(g9 - 16) = (int32_t)&g520;
|
|
int32_t v20 = function_1e2fda9((int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e26c40
|
|
g2 = v20;
|
|
if (v18 != 0) {
|
|
// 0x1e26c49
|
|
*(int32_t *)(g9 - 4) = v18;
|
|
g2 = function_1e25401((int32_t)&g708);
|
|
}
|
|
} else {
|
|
if (v5 == 77) {
|
|
// 0x1e26c51
|
|
g2 = g158;
|
|
g5 = v2;
|
|
*(int32_t *)(g9 - 4) = g158;
|
|
*(int32_t *)(g9 - 8) = (int32_t)"%ld";
|
|
*(int32_t *)(g9 - 12) = v2;
|
|
g2 = function_1e3d7a0((int32_t)&g708, (char *)&g708);
|
|
g5 = v2;
|
|
*(int32_t *)(g9 + 8) = 0x2000;
|
|
*(int32_t *)(g9 + 4) = (int32_t)"Mem:";
|
|
*(int32_t *)g9 = v2;
|
|
*(int32_t *)(g9 - 4) = g666;
|
|
g2 = MessageBoxA(&g708, (char *)&g708, (char *)&g708, (int32_t)&g708);
|
|
} else {
|
|
if (v5 == 82) {
|
|
// 0x1e26c84
|
|
g2 = function_1e35535();
|
|
} else {
|
|
if (v5 == 122) {
|
|
// 0x1e26c8b
|
|
g5 = (int32_t)g563;
|
|
g2 = function_1e319ac();
|
|
} else {
|
|
if (v5 == 123) {
|
|
// 0x1e26c98
|
|
g2 = g202;
|
|
g5 = g202;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
goto lab_0x1e26ca4;
|
|
}
|
|
|
|
// Address range: 0x1e26cac - 0x1e26d6e
|
|
int32_t function_1e26cac(int32_t a1, int32_t a2, int32_t a3, int32_t a4) {
|
|
// 0x1e26cac
|
|
if (g516 != 1 || g150 || g518 != 0) {
|
|
// 0x1e26d6b
|
|
return g2;
|
|
}
|
|
// 0x1e26cd3
|
|
g2 = a1;
|
|
if (g640 == a1 || g641 == a1 || g642 == a1) {
|
|
// 0x1e26cdf
|
|
g2 = g172;
|
|
g5 = g202;
|
|
g2 = *(int32_t *)g202;
|
|
// 0x1e26d6b
|
|
return g2;
|
|
}
|
|
// 0x1e26d34
|
|
if (g643 == a1) {
|
|
// 0x1e26d3c
|
|
g2 = function_1e26933(0, 0);
|
|
// 0x1e26d6b
|
|
return g2;
|
|
}
|
|
// 0x1e26d47
|
|
if (g644 == a1) {
|
|
// 0x1e26d4f
|
|
g2 = function_1e2690e(0, 0);
|
|
// 0x1e26d6b
|
|
return g2;
|
|
}
|
|
// 0x1e26d5a
|
|
if (g645 == a1) {
|
|
// 0x1e26d62
|
|
g2 = function_1e269d6(0, 0);
|
|
}
|
|
// 0x1e26d6b
|
|
return g2;
|
|
}
|
|
|
|
// Address range: 0x1e26d6e - 0x1e26db2
|
|
int32_t function_1e26d6e(int32_t a1) {
|
|
// 0x1e26d6e
|
|
g2 = a1;
|
|
g518 = a1;
|
|
g2 = function_1e26035(1);
|
|
if (g635 != 0) {
|
|
// 0x1e26d8a
|
|
g2 = function_1e27c0a(0);
|
|
}
|
|
// 0x1e26d91
|
|
g5 = g202;
|
|
g2 = *(int32_t *)g202;
|
|
*(float32_t *)(g9 - 4) = (float32_t)(float80_t)g639;
|
|
*(int32_t *)(g9 - 4) = 1014;
|
|
return g2;
|
|
}
|
|
|
|
// Address range: 0x1e26db2 - 0x1e26dbd
|
|
int32_t function_1e26db2(void) {
|
|
int32_t result = function_1e2fd6b(&g520); // 0x1e26db7
|
|
g2 = result;
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e26dbd - 0x1e26dd4
|
|
int32_t function_1e26dbd(int32_t * a1, int32_t * a2) {
|
|
// 0x1e26dbd
|
|
g2 = (int32_t)a1;
|
|
g5 = (int32_t)a2;
|
|
*a1 = 600;
|
|
*(int32_t *)g5 = 416;
|
|
return g2;
|
|
}
|
|
|
|
// Address range: 0x1e26dd4 - 0x1e26fcd
|
|
int32_t function_1e26dd4(void) {
|
|
int32_t v1 = g3; // bp-4
|
|
g159++;
|
|
g3 = &v1;
|
|
int32_t v2; // bp-60
|
|
int32_t v3 = &v2; // 0x1e26ddd
|
|
g4 = 300;
|
|
int32_t v4 = function_1e25371(300); // 0x1e26de9
|
|
g2 = v4;
|
|
g8 = v4;
|
|
int32_t lpString1 = function_1e25371(g4); // 0x1e26df1
|
|
g2 = lpString1;
|
|
g2 = (int32_t)lstrcpyA((char *)lpString1, (char *)&g515);
|
|
g2 = function_1e23f78(g8, lpString1, g4);
|
|
g174 = function_1e39d9c(g8);
|
|
int32_t v5 = g4; // bp-8
|
|
g2 = &v5;
|
|
g2 = function_1e257b0(158, &v5);
|
|
if (v5 != g4) {
|
|
// 0x1e26e2f
|
|
g2 = function_1e2f517("pbmsg_ft");
|
|
}
|
|
// 0x1e26e39
|
|
*(int32_t *)(g9 - 4) = g6;
|
|
g2 = function_1e25401((int32_t)&g708);
|
|
*(int32_t *)(g9 - 4) = g8;
|
|
function_1e25401((int32_t)&g708);
|
|
*(int32_t *)(g9 - 4) = 5;
|
|
*(int32_t *)(g9 - 8) = (int32_t)"background";
|
|
g2 = g174;
|
|
*(int32_t *)(g9 - 12) = g174;
|
|
int32_t v6 = function_1e39c9f((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e26e53
|
|
g2 = v6;
|
|
*(int32_t *)(g9 - 4) = v6;
|
|
function_1e27182();
|
|
*(int32_t *)(g9 - 4) = 10;
|
|
g2 = g174;
|
|
*(int32_t *)(g9 - 8) = (int32_t)"table_size";
|
|
*(int32_t *)(g9 - 12) = g2;
|
|
function_1e39c9f((int32_t)&g708, (int32_t)&g708, (int32_t)&g708);
|
|
*(int32_t *)(g9 - 4) = 1;
|
|
*(int32_t *)(g9 - 8) = g8;
|
|
g2 = g174;
|
|
*(int32_t *)(g9 - 12) = g174;
|
|
function_1e39c9f((int32_t)&g708, (int32_t)&g708, (int32_t)&g708);
|
|
*(int32_t *)(g9 - 4) = 11;
|
|
*(int32_t *)(g9 - 8) = (int32_t)"camera_info";
|
|
g2 = g174;
|
|
*(int32_t *)(g9 - 12) = g174;
|
|
int32_t v7 = function_1e39c9f((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e26e8f
|
|
g5 = v3;
|
|
g2 = 3;
|
|
int32_t v8 = v3; // 0x1e26eaa6
|
|
while (true) {
|
|
// 0x1e26e9e
|
|
v5 = 4;
|
|
int32_t v9 = v7; // 0x1e26ea5
|
|
v7 = v9 + 4;
|
|
*(int32_t *)v8 = *(int32_t *)v9;
|
|
int32_t v10 = g5 + 4; // 0x1e26eac
|
|
g5 = v10;
|
|
int32_t v11 = v5 - 1; // 0x1e26eaf
|
|
v5 = v11;
|
|
while (v11 != 0) {
|
|
// 0x1e26ea5
|
|
v9 = v7;
|
|
v7 = v9 + 4;
|
|
*(int32_t *)v10 = *(int32_t *)v9;
|
|
v10 = g5 + 4;
|
|
g5 = v10;
|
|
v11 = v5 - 1;
|
|
v5 = v11;
|
|
}
|
|
int32_t v12 = g2 - 1; // 0x1e26eb4
|
|
g2 = v12;
|
|
if (v12 == 0) {
|
|
// break -> 0x1e26eb7
|
|
break;
|
|
}
|
|
v8 = v10;
|
|
}
|
|
int32_t v13 = g6; // 0x1e26eb7
|
|
int16_t v14 = *(int16_t *)v13; // 0x1e26eb7
|
|
g2 = v14;
|
|
int16_t v15 = *(int16_t *)(v13 + 2); // 0x1e26eba
|
|
g4 = v7 + 4;
|
|
v5 = v15;
|
|
g5 = v3;
|
|
*(float32_t *)(g9 - 4) = (float32_t)(0.5L * (float80_t)v15);
|
|
*(float32_t *)(g9 - 4) = (float32_t)(0.5L * (float80_t)v14);
|
|
*(int32_t *)(g9 - 4) = *(int32_t *)v7;
|
|
*(int32_t *)(g9 - 8) = v3;
|
|
int32_t v16 = function_1e39a41(v5, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e26eed
|
|
g2 = v16;
|
|
int32_t v17 = (int32_t)*(int16_t *)(g6 + 2); // 0x1e26ef2
|
|
g2 = v17;
|
|
g5 = *(int32_t *)g4;
|
|
*(int32_t *)(g9 - 4) = v17;
|
|
v5 = g5;
|
|
int32_t v18 = (int32_t)*(int16_t *)g6; // 0x1e26efc
|
|
g5 = v18;
|
|
*(int32_t *)(g9 - 8) = v18;
|
|
g6 = 0;
|
|
*(int32_t *)(g9 - 12) = *(int32_t *)(g4 + 4);
|
|
*(int32_t *)(g9 - 16) = v5;
|
|
*(int32_t *)(g9 - 20) = g6;
|
|
int32_t v19 = function_1e2979b((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e26f09
|
|
g2 = v19;
|
|
*(int32_t *)(g9 - 4) = g6;
|
|
*(int32_t *)(g9 - 8) = g6;
|
|
*(int32_t *)(g9 - 12) = g8;
|
|
*(int32_t *)(g9 - 16) = *(int32_t *)(g8 + 33);
|
|
*(int32_t *)(g9 - 20) = *(int32_t *)(g8 + 29);
|
|
*(int32_t *)(g9 - 24) = *(int32_t *)(g8 + 16);
|
|
*(int32_t *)(g9 - 28) = *(int32_t *)(g8 + 12);
|
|
*(int32_t *)(g9 - 32) = (int32_t)&g549;
|
|
int32_t v20 = function_1e275f0((int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e26f22
|
|
g2 = v20;
|
|
*(int32_t *)(g9 - 4) = g8;
|
|
g2 = function_1e273a9((int32_t)&g708);
|
|
*(int32_t *)(g9 - 4) = g174;
|
|
g2 = function_1e39248((int32_t)&g708);
|
|
*(int32_t *)(g9 - 4) = g517 != g6 ? 1 : 3;
|
|
g2 = function_1e26035((int32_t)&g708);
|
|
g204 = NULL;
|
|
*(int32_t *)(g9 - 4) = 150;
|
|
g2 = function_1e32545((int32_t)&g708);
|
|
g2 = function_1e2f4cc();
|
|
*(int32_t *)(g9 - 4) = 374;
|
|
*(int32_t *)(g9 - 8) = 1;
|
|
int32_t v21 = function_1e22760((int32_t)&g708, (int32_t)&g708); // 0x1e26f6b
|
|
g2 = v21;
|
|
g5 = v21;
|
|
int32_t v22; // 0x1e26f79
|
|
int32_t v23; // 0x1e26f8f
|
|
if (v21 != 0) {
|
|
// 0x1e26f79
|
|
v22 = function_1e2e9be();
|
|
g2 = v22;
|
|
v23 = g9;
|
|
} else {
|
|
v23 = g9 + 8;
|
|
v22 = 0;
|
|
}
|
|
// 0x1e26f8f
|
|
g202 = v22;
|
|
*(int32_t *)(v23 - 4) = (int32_t)&g514;
|
|
*(int32_t *)(v23 - 8) = (int32_t)&g520;
|
|
function_1e302d9((int32_t)&g708);
|
|
g2 = g202;
|
|
int32_t v24 = *(int32_t *)(g202 + 262); // 0x1e26fa3
|
|
g5 = v24;
|
|
g2 = 0;
|
|
g6 = *(int32_t *)g9;
|
|
g8 = *(int32_t *)(g9 + 4);
|
|
int32_t v25 = *(int32_t *)(v24 + 8); // 0x1e26fad
|
|
g4 = *(int32_t *)(g9 + 8);
|
|
float80_t v26 = 200.0L * (float80_t)*(float32_t *)(v25 + 154); // 0x1e26fb7
|
|
g159--;
|
|
g3 = v1;
|
|
g513 = v26;
|
|
return 0;
|
|
}
|
|
|
|
// Address range: 0x1e26fcd - 0x1e2701e
|
|
int32_t function_1e26fcd(void) {
|
|
// 0x1e26fcd
|
|
g2 = function_1e2f4d3();
|
|
function_1e39201();
|
|
g2 = g174;
|
|
g2 = function_1e39cc6(g174);
|
|
g2 = function_1e30439(&g520, &g514);
|
|
g5 = g202;
|
|
if (g202 != 0) {
|
|
// 0x1e26ffb
|
|
g2 = *(int32_t *)g202;
|
|
}
|
|
// 0x1e27002
|
|
g202 = 0;
|
|
g2 = function_1e2f4d2();
|
|
g2 = function_1e325b8();
|
|
function_1e29706();
|
|
g2 = 0;
|
|
return 0;
|
|
}
|
|
|
|
// Address range: 0x1e2701e - 0x1e2703d
|
|
int32_t function_1e2701e(void) {
|
|
// 0x1e2701e
|
|
int32_t result; // 0x1e2703c
|
|
if (g202 == 0) {
|
|
// 0x1e2701e
|
|
result = g2;
|
|
} else {
|
|
// 0x1e27027
|
|
g2 = g172;
|
|
g5 = g202;
|
|
int32_t v1 = *(int32_t *)g202; // 0x1e27038
|
|
g2 = v1;
|
|
result = v1;
|
|
}
|
|
// 0x1e2703c
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e2703d - 0x1e2711a
|
|
int32_t function_1e2703d(void) {
|
|
bool v1 = g150; // 0x1e2703d
|
|
g5 = g200;
|
|
g2 = !v1;
|
|
g150 = !v1;
|
|
g2 = function_1e2f83c();
|
|
g5 = g201;
|
|
g2 = function_1e2f83c();
|
|
if (g150) {
|
|
if (g202 != 0) {
|
|
// 0x1e27075
|
|
g2 = g172;
|
|
g5 = g202;
|
|
g2 = *(int32_t *)g202;
|
|
}
|
|
int32_t v2 = function_1e25763(22); // 0x1e27093
|
|
g2 = v2;
|
|
g5 = g200;
|
|
g2 = function_1e2fbc7(v2, (int32_t)&g708);
|
|
int32_t result = function_1e27bec(); // 0x1e270a4
|
|
g2 = result;
|
|
// 0x1e27119
|
|
return result;
|
|
}
|
|
if (g202 != 0) {
|
|
// 0x1e270b4
|
|
g2 = g202;
|
|
g2 = *(int32_t *)g202;
|
|
g5 = g202;
|
|
}
|
|
// 0x1e270ca
|
|
if (g518 == 0) {
|
|
int32_t v3 = function_1e25763(g516 == 2 ? 24 : 23); // 0x1e270f0
|
|
g2 = v3;
|
|
g5 = g200;
|
|
g2 = function_1e2fbc7(v3, (int32_t)&g708);
|
|
}
|
|
// 0x1e27101
|
|
g2 = 0;
|
|
if (g635 == 0) {
|
|
// 0x1e27119
|
|
return 0;
|
|
}
|
|
// 0x1e2710b
|
|
int32_t result2; // 0x1e27114
|
|
if (!g150) {
|
|
// 0x1e27113
|
|
*(int32_t *)(g9 - 4) = 0;
|
|
result2 = function_1e27c0a((int32_t)&g708);
|
|
g2 = result2;
|
|
} else {
|
|
result2 = 0;
|
|
}
|
|
// 0x1e27119
|
|
return result2;
|
|
}
|
|
|
|
// Address range: 0x1e2711a - 0x1e27131
|
|
int32_t function_1e2711a(void) {
|
|
// 0x1e2711a
|
|
g2 = g202;
|
|
int32_t v1 = *(int32_t *)(g202 + 222); // 0x1e27126
|
|
g5 = v1;
|
|
int32_t result = *(int32_t *)v1; // 0x1e2712c
|
|
g2 = result;
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e27131 - 0x1e27151
|
|
int32_t function_1e27131(void) {
|
|
// 0x1e27131
|
|
int32_t result; // 0x1e27150
|
|
if (g202 == 0) {
|
|
// 0x1e27131
|
|
result = g2;
|
|
} else {
|
|
// 0x1e2713a
|
|
g2 = g202;
|
|
int32_t v1 = *(int32_t *)g202; // 0x1e27141
|
|
g2 = v1;
|
|
g5 = g202;
|
|
result = v1;
|
|
}
|
|
// 0x1e27150
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e27151 - 0x1e27182
|
|
int32_t function_1e27151(int32_t a1, int32_t a2) {
|
|
// 0x1e27151
|
|
g2 = a1;
|
|
g5 = a2;
|
|
g655 = a1;
|
|
g657 = a2;
|
|
if (g656 == 0) {
|
|
int32_t v1 = (int32_t)CreatePalette((struct tagLOGPALETTE *)&g180); // 0x1e27172
|
|
g2 = v1;
|
|
g656 = v1;
|
|
}
|
|
// 0x1e2717d
|
|
g2 = 0;
|
|
return 0;
|
|
}
|
|
|
|
// Address range: 0x1e27182 - 0x1e272a2
|
|
int32_t function_1e27182(void) {
|
|
int32_t ho = g656; // 0x1e27182
|
|
int32_t v1 = g6; // bp-12
|
|
int32_t v2; // 0x1e2719a
|
|
if (ho != 0) {
|
|
// 0x1e2718e
|
|
g2 = ho;
|
|
g2 = DeleteObject((int32_t *)ho);
|
|
v2 = g9;
|
|
} else {
|
|
v2 = &v1;
|
|
}
|
|
// 0x1e2719a
|
|
*(int32_t *)(v2 - 4) = (int32_t)&g180;
|
|
int32_t v3 = (int32_t)CreatePalette((struct tagLOGPALETTE *)&g708); // 0x1e2719f
|
|
g2 = v3;
|
|
g656 = v3;
|
|
int32_t v4 = (int32_t)GetDesktopWindow(); // 0x1e271aa
|
|
g2 = v4;
|
|
*(int32_t *)(g9 - 4) = v4;
|
|
int32_t v5 = (int32_t)GetDC(&g708); // 0x1e271b1
|
|
g2 = v5;
|
|
*(int32_t *)(g9 - 4) = 2;
|
|
*(int32_t *)(g9 - 8) = v5;
|
|
int32_t v6 = 0; // edi
|
|
g2 = SetSystemPaletteUse(&g708, (int32_t)&g708);
|
|
*(int32_t *)(g9 - 4) = 1;
|
|
*(int32_t *)(g9 - 8) = v5;
|
|
SetSystemPaletteUse(&g708, (int32_t)&g708);
|
|
*(int32_t *)(g9 - 4) = v6;
|
|
g2 = g656;
|
|
*(int32_t *)(g9 - 8) = g656;
|
|
*(int32_t *)(g9 - 12) = v5;
|
|
int32_t v7 = (int32_t)SelectPalette(&g708, &g708, (bool)&g708); // 0x1e271d5
|
|
g2 = v7;
|
|
*(int32_t *)(g9 - 4) = v5;
|
|
g2 = RealizePalette(&g708);
|
|
*(int32_t *)(g9 - 4) = v6;
|
|
*(int32_t *)(g9 - 8) = v7;
|
|
*(int32_t *)(g9 - 12) = v5;
|
|
g2 = (int32_t)SelectPalette(&g708, &g708, (bool)&g708);
|
|
*(int32_t *)(g9 - 4) = (int32_t)&g181;
|
|
*(int32_t *)(g9 - 8) = 256;
|
|
*(int32_t *)(g9 - 12) = v6;
|
|
*(int32_t *)(g9 - 16) = v5;
|
|
GetSystemPaletteEntries(&g708, (int32_t)&g708, (int32_t)&g708, (struct tagPALETTEENTRY *)&g708);
|
|
g2 = (int32_t)&g182;
|
|
*(char *)(int32_t)&g182 = 0;
|
|
int32_t v8 = g2 + 4; // 0x1e27207
|
|
g2 = v8;
|
|
while (v8 < (int32_t)&g189) {
|
|
// 0x1e27204
|
|
*(char *)v8 = 0;
|
|
v8 = g2 + 4;
|
|
g2 = v8;
|
|
}
|
|
// 0x1e27211
|
|
v6 = (int32_t)&g183;
|
|
int32_t v9 = *(int32_t *)(g9 + 16); // 0x1e27216
|
|
g2 = v9;
|
|
g5 = v9 + 42;
|
|
while (true) {
|
|
// 0x1e2721d
|
|
if (v9 != 0) {
|
|
unsigned char v10 = *(char *)g5; // 0x1e27221
|
|
*(char *)v6 = v10;
|
|
unsigned char v11 = *(char *)(g5 - 1); // 0x1e27225
|
|
v7 = v7 & -256 | (int32_t)v11;
|
|
*(char *)(v6 + 1) = v11;
|
|
unsigned char v12 = *(char *)(g5 - 2); // 0x1e2722b
|
|
g7 = (g7 & -256 | (int32_t)v10) & -256 | (int32_t)v12;
|
|
*(char *)(v6 + 2) = v12;
|
|
}
|
|
int32_t v13 = v6; // 0x1e27231
|
|
int32_t v14 = v13 + 4; // 0x1e27231
|
|
v6 = v14;
|
|
g5 += 4;
|
|
*(char *)(v13 + 3) = 4;
|
|
if (v14 >= (int32_t)&g184) {
|
|
// break -> 0x1e27243
|
|
break;
|
|
}
|
|
}
|
|
// 0x1e27243
|
|
*(int32_t *)(g9 - 4) = 38;
|
|
*(int32_t *)(g9 - 8) = v5;
|
|
int32_t v15 = GetDeviceCaps(&g708, (int32_t)&g708); // 0x1e27246
|
|
g2 = v15;
|
|
if ((v15 & 256) == 0) {
|
|
// 0x1e27251
|
|
*(char *)&g187 = -1;
|
|
*(char *)&g186 = -1;
|
|
*(char *)&g185 = -1;
|
|
}
|
|
// 0x1e27266
|
|
g2 = g656;
|
|
*(int32_t *)(g9 - 4) = 256;
|
|
*(int32_t *)(g9 - 8) = g2;
|
|
ResizePalette(&g708, (int32_t)&g708);
|
|
*(int32_t *)(g9 - 4) = (int32_t)&g181;
|
|
g2 = g656;
|
|
*(int32_t *)(g9 - 8) = 256;
|
|
*(int32_t *)(g9 - 12) = 0;
|
|
*(int32_t *)(g9 - 16) = g2;
|
|
int32_t v16 = SetPaletteEntries(&g708, (int32_t)&g708, (int32_t)&g708, (struct tagPALETTEENTRY *)&g708); // 0x1e27286
|
|
g2 = v16;
|
|
*(int32_t *)(g9 - 4) = v5;
|
|
int32_t v17 = (int32_t)GetDesktopWindow(); // 0x1e2728d
|
|
g2 = v17;
|
|
*(int32_t *)(g9 - 4) = v17;
|
|
ReleaseDC(&g708, &g708);
|
|
g2 = 0;
|
|
g6 = *(int32_t *)g9;
|
|
g8 = *(int32_t *)(g9 + 4);
|
|
g4 = *(int32_t *)(g9 + 8);
|
|
return 0;
|
|
}
|
|
|
|
// Address range: 0x1e272a2 - 0x1e272a3
|
|
int32_t function_1e272a2(int32_t a1, int32_t a2, int32_t a3) {
|
|
// 0x1e272a2
|
|
return g2;
|
|
}
|
|
|
|
// Address range: 0x1e272a3 - 0x1e272a4
|
|
int32_t function_1e272a3(int32_t a1, int32_t a2, int32_t a3) {
|
|
// 0x1e272a3
|
|
return g2;
|
|
}
|
|
|
|
// Address range: 0x1e272a4 - 0x1e272b7
|
|
int32_t function_1e272a4(void) {
|
|
// 0x1e272a4
|
|
g2 = g656;
|
|
if (g656 != 0) {
|
|
// 0x1e272ad
|
|
g2 = DeleteObject((int32_t *)g656);
|
|
}
|
|
// 0x1e272b4
|
|
g2 = 0;
|
|
return 0;
|
|
}
|
|
|
|
// Address range: 0x1e272b7 - 0x1e27332
|
|
int32_t function_1e272b7(int32_t a1, int32_t a2, int32_t a3) {
|
|
int32_t v1 = g8; // 0x1e272b8
|
|
int32_t v2 = g6; // 0x1e272bd
|
|
g6 = a1;
|
|
*(int32_t *)v1 = function_1e3a159(8, a1, a2, v2, v1, g4);
|
|
g2 = g656;
|
|
function_1e3a08c(v1, g656, 1);
|
|
g2 = g6;
|
|
*(int32_t *)(g8 + 12) = g6;
|
|
int32_t v3 = g2; // 0x1e272e5
|
|
int32_t v4 = v3 >> 31; // 0x1e272e5
|
|
g2 = v4 ^ v3;
|
|
*(int32_t *)(g8 + 20) = g6;
|
|
int32_t v5 = (g2 - v4 & 3 ^ v4) - v4; // 0x1e272f2
|
|
g2 = v5;
|
|
int32_t v6; // 0x1e27300
|
|
if (v5 != 0) {
|
|
// 0x1e272f6
|
|
v6 = g6 - v5 + 4;
|
|
} else {
|
|
v6 = g6;
|
|
}
|
|
// 0x1e272fb
|
|
g7 = g8;
|
|
g5 = g8 + 8;
|
|
*(int32_t *)(g8 + 20) = v6;
|
|
*(int32_t *)(g8 + 16) = g4;
|
|
*(char *)(g8 + 24) = 2;
|
|
int32_t v7;
|
|
if (*(int32_t *)(g7 + 16) != 3) {
|
|
int32_t v8 = g8 + 4 * *(int32_t *)(g7 + 32); // 0x1e2731f
|
|
g2 = v8;
|
|
v7 = v8 + g7;
|
|
} else {
|
|
int32_t v9 = g8 + g7; // 0x1e27312
|
|
g2 = v9;
|
|
v7 = v9 + 12;
|
|
}
|
|
// 0x1e27323
|
|
g2 = v7;
|
|
g6 = v1;
|
|
*(int32_t *)g5 = v7;
|
|
*(int32_t *)(g8 + 4) = *(int32_t *)g5;
|
|
g2 = 0;
|
|
g8 = g656;
|
|
g4 = 1;
|
|
return 0;
|
|
}
|
|
|
|
// Address range: 0x1e27332 - 0x1e27346
|
|
int32_t function_1e27332(int32_t a1, int32_t a2, int32_t a3) {
|
|
int32_t result = function_1e272b7(a1, a2, a3); // 0x1e2733e
|
|
g2 = result;
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e27346 - 0x1e273a9
|
|
int32_t function_1e27346(int32_t a1, int32_t a2, int32_t a3, int32_t a4) {
|
|
int32_t v1 = g4; // 0x1e27349
|
|
int32_t v2 = g8; // 0x1e2734a
|
|
int32_t v3 = g6; // 0x1e2734d
|
|
g8 = a1;
|
|
g5 = a2;
|
|
g6 = a1 + 20;
|
|
*(int32_t *)a1 = 0;
|
|
*(int32_t *)(g8 + 12) = g5;
|
|
*(int32_t *)g6 = g5;
|
|
if (a4 != 0) {
|
|
int32_t v4 = g5; // 0x1e27363
|
|
int32_t v5 = v4 >> 31; // 0x1e27365
|
|
g7 = v5;
|
|
int32_t v6 = ((v5 ^ v4) - v5 & 3 ^ v5) - v5; // 0x1e2736f
|
|
g2 = v6;
|
|
if (v6 != 0) {
|
|
int32_t v7 = v4 - v6 + 4; // 0x1e27375
|
|
g5 = v7;
|
|
*(int32_t *)g6 = v7;
|
|
}
|
|
}
|
|
// 0x1e2737a
|
|
g2 = a3;
|
|
g5 = *(int32_t *)g6;
|
|
*(char *)(g8 + 24) = 1;
|
|
int32_t v8 = g2; // 0x1e27383
|
|
int32_t v9 = v8 * g5; // 0x1e27383
|
|
g5 = v9;
|
|
*(int32_t *)(g8 + 16) = v8;
|
|
int32_t v10 = function_1e25371(v9); // 0x1e2738a
|
|
g2 = v10;
|
|
*(int32_t *)(g8 + 8) = v10;
|
|
int32_t result;
|
|
if (v10 != 0) {
|
|
// 0x1e2739d
|
|
*(int32_t *)(g8 + 4) = v10;
|
|
result = 0;
|
|
} else {
|
|
result = -1;
|
|
}
|
|
// 0x1e273a2
|
|
g2 = result;
|
|
g6 = v9;
|
|
g8 = v3;
|
|
g4 = v2;
|
|
g3 = v1;
|
|
return result;
|
|
}
|
|
|