2246 lines
81 KiB
C
2246 lines
81 KiB
C
#include "pinball.h"
|
|
|
|
// Address range: 0x1e2e9be - 0x1e2effc
|
|
int32_t function_1e2e9be(void) {
|
|
// 0x1e2e9be
|
|
g4 = 0;
|
|
g6 = g5;
|
|
g2 = function_1e29f8c(0, -1, 0, g3);
|
|
g2 = function_1e3a705(32);
|
|
int32_t v1 = g6; // 0x1e2e9e1
|
|
g3 = v1 + 258;
|
|
*(int32_t *)(v1 + 250) = 16;
|
|
*(int32_t *)(g6 + 254) = g2;
|
|
int32_t v2 = function_1e3a705(3); // 0x1e2e9f7
|
|
*(int32_t *)g8 = v2;
|
|
*(int32_t *)g6 = (int32_t)&g54;
|
|
g2 = 1;
|
|
*(int32_t *)(g6 + 50) = g4;
|
|
*(int32_t *)g3 = g2;
|
|
*(int32_t *)(g6 + 54) = g4;
|
|
*(int32_t *)(g6 + 58) = g4;
|
|
*(int32_t *)(g6 + 78) = g4;
|
|
*(char *)(g6 + 5) = (char)g2;
|
|
*(int32_t *)(g6 + 370) = g4;
|
|
*(int32_t *)(g6 + 94) = g4;
|
|
*(int32_t *)(g6 + 90) = g4;
|
|
*(int32_t *)(g6 + 358) = g4;
|
|
*(int32_t *)(g6 + 98) = g4;
|
|
*(int32_t *)(g6 + 346) = g4;
|
|
int32_t v3 = function_1e22760(g2, 362); // 0x1e2ea3c
|
|
g2 = v3;
|
|
g4 = 0;
|
|
int32_t v4; // 0x1e2ea50
|
|
if (v3 != 0) {
|
|
// 0x1e2ea4d
|
|
g5 = v3;
|
|
v4 = function_1e2a9a0(g6);
|
|
g2 = v4;
|
|
g4 = v4;
|
|
} else {
|
|
v4 = 0;
|
|
}
|
|
int32_t v5 = *(int32_t *)g8; // 0x1e2ea57
|
|
g5 = v5;
|
|
int32_t v6 = *(int32_t *)v5; // 0x1e2ea59
|
|
g2 = v6;
|
|
int32_t v7; // 0x1e2ea6b
|
|
if (*(int32_t *)(v5 + 4) == v6) {
|
|
// 0x1e2ea60
|
|
*(int32_t *)(g9 - 4) = *(int32_t *)g3;
|
|
*(int32_t *)(g9 - 8) = g5;
|
|
int32_t v8 = function_1e3a739((int32_t)&g708, (int32_t)&g708); // 0x1e2ea64
|
|
g2 = v8;
|
|
*(int32_t *)g8 = v8;
|
|
v7 = g4;
|
|
} else {
|
|
v7 = v4;
|
|
}
|
|
// 0x1e2ea6b
|
|
*(int32_t *)(g9 - 4) = v7;
|
|
*(int32_t *)(g9 - 8) = *(int32_t *)g8;
|
|
g2 = function_1e3a6a7((int32_t)&g708, (int32_t)&g708);
|
|
*(char *)(g4 + 5) = 0;
|
|
*(int32_t *)(g9 - 4) = 126;
|
|
*(int32_t *)(g9 - 8) = 1;
|
|
int32_t v9 = function_1e22760((int32_t)&g708, (int32_t)&g708); // 0x1e2ea7b
|
|
g2 = v9;
|
|
int32_t v10; // 0x1e2ea8f
|
|
if (v9 != 0) {
|
|
// 0x1e2ea87
|
|
*(int32_t *)(g9 + 4) = g6;
|
|
g5 = v9;
|
|
g2 = function_1e2da82((int32_t)&g708);
|
|
v10 = g9;
|
|
} else {
|
|
v10 = g9 + 8;
|
|
}
|
|
// 0x1e2ea8f
|
|
*(int32_t *)(v10 - 4) = 138;
|
|
*(int32_t *)(v10 - 8) = 1;
|
|
int32_t v11 = function_1e22760((int32_t)&g708, (int32_t)&g708); // 0x1e2ea96
|
|
g2 = v11;
|
|
if (v11 == 0) {
|
|
// 0x1e2eab4
|
|
*(int32_t *)(g6 + 266) = 0;
|
|
} else {
|
|
// 0x1e2eaa2
|
|
*(int32_t *)(g9 + 4) = 0;
|
|
g5 = v11;
|
|
*(int32_t *)g9 = g6;
|
|
int32_t v12 = function_1e3b1c6((int32_t)&g708, (int32_t)&g708); // 0x1e2eaa7
|
|
g2 = v12;
|
|
*(int32_t *)(g6 + 266) = v12;
|
|
}
|
|
// 0x1e2eabe
|
|
g2 = g196;
|
|
*(int32_t *)(g9 - 4) = g196;
|
|
g8 = g6 + 130;
|
|
*(int32_t *)(g9 - 8) = (int32_t)"score1";
|
|
int32_t v13 = function_1e2f282((int32_t)&g708, (int32_t)&g708); // 0x1e2ead4
|
|
g2 = v13;
|
|
*(int32_t *)(g6 + 50) = v13;
|
|
*(int32_t *)(g6 + 102) = g2;
|
|
*(int32_t *)(g9 - 4) = g4;
|
|
g4++;
|
|
*(int32_t *)(g9 - 8) = *(int32_t *)(g6 + 50);
|
|
int32_t v14 = function_1e2f317((int32_t)&g708); // 0x1e2eae4
|
|
g2 = v14;
|
|
*(int32_t *)g8 = v14;
|
|
g8 += 28;
|
|
while (g4 < 4) {
|
|
// 0x1e2eadf
|
|
*(int32_t *)(g9 - 4) = g4;
|
|
g4++;
|
|
*(int32_t *)(g9 - 8) = *(int32_t *)(g6 + 50);
|
|
v14 = function_1e2f317((int32_t)&g708);
|
|
g2 = v14;
|
|
*(int32_t *)g8 = v14;
|
|
g8 += 28;
|
|
}
|
|
// 0x1e2eaf3
|
|
*(int32_t *)(g6 + 330) = 3;
|
|
g8 = 0;
|
|
*(int32_t *)(g6 + 218) = 0;
|
|
g2 = g196;
|
|
*(int32_t *)(g9 - 4) = g196;
|
|
*(int32_t *)(g9 - 8) = (int32_t)"ballcount1";
|
|
int32_t v15 = function_1e2f282((int32_t)&g708, (int32_t)&g708); // 0x1e2eb10
|
|
*(int32_t *)(g6 + 54) = v15;
|
|
g2 = g196;
|
|
*(int32_t *)(g9 - 4) = g196;
|
|
*(int32_t *)(g9 - 8) = (int32_t)"player_number1";
|
|
int32_t v16 = function_1e2f282((int32_t)&g708, (int32_t)&g708); // 0x1e2eb23
|
|
*(int32_t *)(g6 + 58) = v16;
|
|
int32_t v17 = g9 + 24; // 0x1e2eb2b
|
|
g2 = v17;
|
|
*(int32_t *)(g9 - 4) = v17;
|
|
*(int32_t *)(g9 - 8) = 1025;
|
|
*(int32_t *)(g9 - 12) = (int32_t)"table_objects";
|
|
int32_t v18 = function_1e392c2((int32_t)&g708); // 0x1e2eb3a
|
|
g2 = v18;
|
|
*(int32_t *)(g9 - 4) = v18;
|
|
int32_t v19 = function_1e39996((int32_t)&g708, (int32_t)&g708, &g708); // 0x1e2eb40
|
|
g2 = v19;
|
|
*(int32_t *)(g9 + 16) = v19;
|
|
int32_t v20 = *(int32_t *)(g9 + 24); // 0x1e2eb49
|
|
int32_t v21 = g8; // 0x1e2eb49
|
|
if (v20 > v21) {
|
|
// 0x1e2eb53
|
|
g2 = v20;
|
|
*(int32_t *)(g9 + 28) = v21;
|
|
int32_t v22 = g2; // 0x1e2eb5b
|
|
int32_t v23 = v22 - (v22 >> 31); // 0x1e2eb5c
|
|
g2 = v23 / 2;
|
|
if (v23 >= 2) {
|
|
// 0x1e2eb68
|
|
g4 = 1;
|
|
while (true) {
|
|
int32_t * v24 = (int32_t *)(g9 + 16); // 0x1e2eb6d
|
|
g2 = *v24;
|
|
*v24 = *v24 + 2;
|
|
g5 = (g5 & -0x10000) | (int32_t)*(int16_t *)g2;
|
|
int32_t * v25 = (int32_t *)(g9 + 16); // 0x1e2eb79
|
|
g2 = *v25;
|
|
*v25 = *v25 + 2;
|
|
g3 = (int32_t)*(int16_t *)g2;
|
|
int32_t v26 = g5; // 0x1e2eb85
|
|
int32_t v27 = v26 - 1000; // 0x1e2eb88
|
|
g2 = v27;
|
|
g688 = v27;
|
|
switch (v26) {
|
|
case 1000: {
|
|
}
|
|
case 1010: {
|
|
// 0x1e2eb9d
|
|
*(int32_t *)(g9 - 4) = 90;
|
|
*(int32_t *)(g9 - 8) = g4;
|
|
int32_t v28 = function_1e22760((int32_t)&g708, (int32_t)&g708); // 0x1e2eba0
|
|
g2 = v28;
|
|
if (v28 != 0) {
|
|
// 0x1e2ebb0
|
|
*(int32_t *)(g9 + 4) = g3;
|
|
g5 = v28;
|
|
*(int32_t *)g9 = g6;
|
|
g2 = function_1e2a64b((int32_t)&g708, (int32_t)&g708);
|
|
}
|
|
// break -> 0x1e2efae
|
|
break;
|
|
}
|
|
case 1001: {
|
|
// 0x1e2ebbe
|
|
*(int32_t *)(g9 - 4) = 106;
|
|
*(int32_t *)(g9 - 8) = g4;
|
|
int32_t v29 = function_1e22760((int32_t)&g708, (int32_t)&g708); // 0x1e2ebc1
|
|
g2 = v29;
|
|
if (v29 == 0) {
|
|
// 0x1e2ebe1
|
|
*(int32_t *)(g6 + 222) = g8;
|
|
} else {
|
|
// 0x1e2ebcd
|
|
*(int32_t *)(g9 + 4) = g3;
|
|
g5 = v29;
|
|
*(int32_t *)g9 = g6;
|
|
int32_t v30 = function_1e2d6c5((int32_t)&g708, (int32_t)&g708); // 0x1e2ebd1
|
|
g2 = v30;
|
|
*(int32_t *)(g6 + 222) = v30;
|
|
}
|
|
// break -> 0x1e2efae
|
|
break;
|
|
}
|
|
case 1002: {
|
|
// 0x1e2ebec
|
|
*(int32_t *)(g9 - 4) = 222;
|
|
*(int32_t *)(g9 - 8) = g4;
|
|
int32_t v31 = function_1e22760((int32_t)&g708, (int32_t)&g708); // 0x1e2ebf2
|
|
g2 = v31;
|
|
if (v31 == 0) {
|
|
// 0x1e2ec0d
|
|
*(int32_t *)(g9 + 28) = g8;
|
|
} else {
|
|
// 0x1e2ebfe
|
|
*(int32_t *)(g9 + 4) = g3;
|
|
g5 = v31;
|
|
*(int32_t *)g9 = g6;
|
|
int32_t v32 = function_1e3aabb((int32_t)&g708, (int32_t)&g708); // 0x1e2ec02
|
|
g2 = v32;
|
|
*(int32_t *)(g9 + 20) = v32;
|
|
}
|
|
int32_t v33 = *(int32_t *)(g6 + 266); // 0x1e2ec11
|
|
int32_t v34 = *(int32_t *)(v33 + 46); // 0x1e2ec17
|
|
g5 = v34;
|
|
int32_t v35 = v33 + 42; // 0x1e2ec1a
|
|
g3 = v35;
|
|
int32_t v36 = *(int32_t *)v34; // 0x1e2ec1d
|
|
g2 = v36;
|
|
if (*(int32_t *)(v34 + 4) == v36) {
|
|
// 0x1e2ec24
|
|
*(int32_t *)(g9 - 4) = *(int32_t *)v35;
|
|
*(int32_t *)(g9 - 8) = g5;
|
|
int32_t v37 = function_1e3a739((int32_t)&g708, (int32_t)&g708); // 0x1e2ec28
|
|
g2 = v37;
|
|
*(int32_t *)(g3 + 4) = v37;
|
|
}
|
|
// 0x1e2ec30
|
|
*(int32_t *)(g9 - 4) = *(int32_t *)(g9 + 20);
|
|
*(int32_t *)(g9 - 8) = *(int32_t *)(g3 + 4);
|
|
g2 = function_1e3a6a7((int32_t)&g708, (int32_t)&g708);
|
|
// break -> 0x1e2efae
|
|
break;
|
|
}
|
|
case 1003: {
|
|
// 0x1e2ec41
|
|
*(int32_t *)(g9 - 4) = 106;
|
|
*(int32_t *)(g9 - 8) = g4;
|
|
int32_t v38 = function_1e22760((int32_t)&g708, (int32_t)&g708); // 0x1e2ec44
|
|
g2 = v38;
|
|
if (v38 == 0) {
|
|
// 0x1e2ec61
|
|
*(int32_t *)(g6 + 42) = g8;
|
|
} else {
|
|
// 0x1e2ec50
|
|
*(int32_t *)(g9 + 4) = g3;
|
|
g5 = v38;
|
|
*(int32_t *)g9 = g6;
|
|
int32_t v39 = function_1e3d329((int32_t)&g708, (int32_t)&g708); // 0x1e2ec54
|
|
g2 = v39;
|
|
*(int32_t *)(g6 + 42) = v39;
|
|
}
|
|
// break -> 0x1e2efae
|
|
break;
|
|
}
|
|
case 1004: {
|
|
// 0x1e2ec69
|
|
*(int32_t *)(g9 - 4) = 106;
|
|
*(int32_t *)(g9 - 8) = g4;
|
|
int32_t v40 = function_1e22760((int32_t)&g708, (int32_t)&g708); // 0x1e2ec6c
|
|
g2 = v40;
|
|
if (v40 == 0) {
|
|
// 0x1e2ec89
|
|
*(int32_t *)(g6 + 46) = g8;
|
|
} else {
|
|
// 0x1e2ec78
|
|
*(int32_t *)(g9 + 4) = g3;
|
|
g5 = v40;
|
|
*(int32_t *)g9 = g6;
|
|
int32_t v41 = function_1e3d329((int32_t)&g708, (int32_t)&g708); // 0x1e2ec7c
|
|
g2 = v41;
|
|
*(int32_t *)(g6 + 46) = v41;
|
|
}
|
|
// break -> 0x1e2efae
|
|
break;
|
|
}
|
|
case 1005: {
|
|
// 0x1e2ec91
|
|
*(int32_t *)(g9 - 4) = 150;
|
|
*(int32_t *)(g9 - 8) = g4;
|
|
int32_t v42 = function_1e22760((int32_t)&g708, (int32_t)&g708); // 0x1e2ec97
|
|
g2 = v42;
|
|
if (v42 != 0) {
|
|
// 0x1e2eca7
|
|
*(int32_t *)(g9 + 4) = g3;
|
|
g5 = v42;
|
|
*(int32_t *)g9 = g6;
|
|
g2 = function_1e2abfe((int32_t)&g708, (int32_t)&g708);
|
|
}
|
|
// break -> 0x1e2efae
|
|
break;
|
|
}
|
|
case 1006: {
|
|
// 0x1e2ecb5
|
|
*(int32_t *)(g9 - 4) = 114;
|
|
*(int32_t *)(g9 - 8) = g4;
|
|
int32_t v43 = function_1e22760((int32_t)&g708, (int32_t)&g708); // 0x1e2ecb8
|
|
g2 = v43;
|
|
if (v43 != 0) {
|
|
// 0x1e2ecc8
|
|
*(int32_t *)(g9 + 4) = g3;
|
|
g5 = v43;
|
|
*(int32_t *)g9 = g6;
|
|
g2 = function_1e2b298((int32_t)&g708, (int32_t)&g708);
|
|
}
|
|
// break -> 0x1e2efae
|
|
break;
|
|
}
|
|
case 1007: {
|
|
// 0x1e2ecd6
|
|
*(int32_t *)(g9 - 4) = 90;
|
|
*(int32_t *)(g9 - 8) = g4;
|
|
int32_t v44 = function_1e22760((int32_t)&g708, (int32_t)&g708); // 0x1e2ecd9
|
|
g2 = v44;
|
|
if (v44 == 0) {
|
|
// 0x1e2ecf9
|
|
*(int32_t *)(g6 + 226) = g8;
|
|
} else {
|
|
// 0x1e2ece5
|
|
*(int32_t *)(g9 + 4) = g3;
|
|
g5 = v44;
|
|
*(int32_t *)g9 = g6;
|
|
int32_t v45 = function_1e2d5f8((int32_t)&g708, (int32_t)&g708); // 0x1e2ece9
|
|
g2 = v45;
|
|
*(int32_t *)(g6 + 226) = v45;
|
|
}
|
|
// break -> 0x1e2efae
|
|
break;
|
|
}
|
|
case 1011: {
|
|
// 0x1e2ed04
|
|
*(int32_t *)(g9 - 4) = 114;
|
|
*(int32_t *)(g9 - 8) = g4;
|
|
int32_t v46 = function_1e22760((int32_t)&g708, (int32_t)&g708); // 0x1e2ed07
|
|
g2 = v46;
|
|
if (v46 != 0) {
|
|
// 0x1e2ed17
|
|
*(int32_t *)(g9 + 4) = g3;
|
|
g5 = v46;
|
|
*(int32_t *)g9 = g6;
|
|
g2 = function_1e2b61b((int32_t)&g708, (int32_t)&g708);
|
|
}
|
|
// break -> 0x1e2efae
|
|
break;
|
|
}
|
|
case 1012: {
|
|
// 0x1e2ed25
|
|
*(int32_t *)(g9 - 4) = 234;
|
|
*(int32_t *)(g9 - 8) = g4;
|
|
int32_t v47 = function_1e22760((int32_t)&g708, (int32_t)&g708); // 0x1e2ed2b
|
|
g2 = v47;
|
|
if (v47 != 0) {
|
|
// 0x1e2ed3b
|
|
*(int32_t *)(g9 + 4) = g4;
|
|
g5 = v47;
|
|
*(int32_t *)g9 = g3;
|
|
*(int32_t *)(g9 - 4) = g6;
|
|
int32_t v48 = function_1e2be04((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e2ed40
|
|
g2 = v48;
|
|
}
|
|
// break -> 0x1e2efae
|
|
break;
|
|
}
|
|
case 1013: {
|
|
// 0x1e2ed4a
|
|
*(int32_t *)(g9 - 4) = 102;
|
|
*(int32_t *)(g9 - 8) = g4;
|
|
int32_t v49 = function_1e22760((int32_t)&g708, (int32_t)&g708); // 0x1e2ed4d
|
|
g2 = v49;
|
|
if (v49 != 0) {
|
|
// 0x1e2ed5d
|
|
*(int32_t *)(g9 + 4) = g3;
|
|
g5 = v49;
|
|
*(int32_t *)g9 = g6;
|
|
g2 = function_1e2b778((int32_t)&g708, (int32_t)&g708);
|
|
}
|
|
// break -> 0x1e2efae
|
|
break;
|
|
}
|
|
case 1014: {
|
|
// 0x1e2ed6b
|
|
*(int32_t *)(g9 - 4) = 94;
|
|
*(int32_t *)(g9 - 8) = g4;
|
|
int32_t v50 = function_1e22760((int32_t)&g708, (int32_t)&g708); // 0x1e2ed6e
|
|
g2 = v50;
|
|
if (v50 != 0) {
|
|
// 0x1e2ed7e
|
|
*(int32_t *)(g9 + 4) = g3;
|
|
g5 = v50;
|
|
*(int32_t *)g9 = g6;
|
|
g2 = function_1e2bc3e((int32_t)&g708, (int32_t)&g708);
|
|
}
|
|
// break -> 0x1e2efae
|
|
break;
|
|
}
|
|
case 1015: {
|
|
// 0x1e2ed8c
|
|
*(int32_t *)(g9 - 4) = 87;
|
|
*(int32_t *)(g9 - 8) = g4;
|
|
int32_t v51 = function_1e22760((int32_t)&g708, (int32_t)&g708); // 0x1e2ed8f
|
|
g2 = v51;
|
|
if (v51 != 0) {
|
|
// 0x1e2ed9f
|
|
*(int32_t *)(g9 + 4) = g3;
|
|
g5 = v51;
|
|
*(int32_t *)g9 = g6;
|
|
g2 = function_1e2b8e8((int32_t)&g708, (int32_t)&g708);
|
|
}
|
|
// break -> 0x1e2efae
|
|
break;
|
|
}
|
|
case 1016: {
|
|
// 0x1e2edad
|
|
*(int32_t *)(g9 - 4) = 110;
|
|
*(int32_t *)(g9 - 8) = g4;
|
|
int32_t v52 = function_1e22760((int32_t)&g708, (int32_t)&g708); // 0x1e2edb0
|
|
g2 = v52;
|
|
g5 = v52;
|
|
if (v52 != 0) {
|
|
// 0x1e2edc2
|
|
*(int32_t *)(g9 + 4) = g3;
|
|
*(int32_t *)g9 = g6;
|
|
g2 = function_1e2a761((int32_t)&g708, (int32_t)&g708);
|
|
}
|
|
// break -> 0x1e2efae
|
|
break;
|
|
}
|
|
case 1017: {
|
|
// 0x1e2edce
|
|
*(int32_t *)(g9 - 4) = 158;
|
|
*(int32_t *)(g9 - 8) = g4;
|
|
int32_t v53 = function_1e22760((int32_t)&g708, (int32_t)&g708); // 0x1e2edd4
|
|
g2 = v53;
|
|
g5 = v53;
|
|
if (v53 != 0) {
|
|
// 0x1e2ede6
|
|
*(int32_t *)(g9 + 4) = g3;
|
|
*(int32_t *)g9 = g6;
|
|
g2 = function_1e2d39e((int32_t)&g708, (int32_t)&g708);
|
|
}
|
|
// break -> 0x1e2efae
|
|
break;
|
|
}
|
|
case 1018: {
|
|
// 0x1e2edf2
|
|
*(int32_t *)(g9 - 4) = 118;
|
|
*(int32_t *)(g9 - 8) = g4;
|
|
int32_t v54 = function_1e22760((int32_t)&g708, (int32_t)&g708); // 0x1e2edf5
|
|
g2 = v54;
|
|
g5 = v54;
|
|
if (v54 != 0) {
|
|
// 0x1e2ee07
|
|
*(int32_t *)(g9 + 4) = g3;
|
|
*(int32_t *)g9 = g6;
|
|
g2 = function_1e2af36((int32_t)&g708, (int32_t)&g708);
|
|
}
|
|
// break -> 0x1e2efae
|
|
break;
|
|
}
|
|
case 1019: {
|
|
// 0x1e2ee13
|
|
*(int32_t *)(g9 - 4) = 98;
|
|
*(int32_t *)(g9 - 8) = g4;
|
|
int32_t v55 = function_1e22760((int32_t)&g708, (int32_t)&g708); // 0x1e2ee16
|
|
g2 = v55;
|
|
g5 = v55;
|
|
if (v55 != 0) {
|
|
// 0x1e2ee28
|
|
*(int32_t *)(g9 + 4) = g3;
|
|
*(int32_t *)g9 = g6;
|
|
g2 = function_1e2b4a0((int32_t)&g708, (int32_t)&g708);
|
|
}
|
|
// break -> 0x1e2efae
|
|
break;
|
|
}
|
|
case 1020: {
|
|
// 0x1e2ee34
|
|
*(int32_t *)(g9 - 4) = 95;
|
|
*(int32_t *)(g9 - 8) = g4;
|
|
int32_t v56 = function_1e22760((int32_t)&g708, (int32_t)&g708); // 0x1e2ee37
|
|
g2 = v56;
|
|
g5 = v56;
|
|
if (v56 != 0) {
|
|
// 0x1e2ee49
|
|
*(int32_t *)(g9 + 4) = g3;
|
|
*(int32_t *)g9 = g6;
|
|
g2 = function_1e2ba2a((int32_t)&g708, (int32_t)&g708);
|
|
}
|
|
// break -> 0x1e2efae
|
|
break;
|
|
}
|
|
case 1021: {
|
|
// 0x1e2ee55
|
|
*(int32_t *)(g9 - 4) = 154;
|
|
*(int32_t *)(g9 - 8) = g4;
|
|
int32_t v57 = function_1e22760((int32_t)&g708, (int32_t)&g708); // 0x1e2ee5b
|
|
g2 = v57;
|
|
g5 = v57;
|
|
if (v57 != 0) {
|
|
// 0x1e2ee6d
|
|
*(int32_t *)(g9 + 4) = g3;
|
|
*(int32_t *)g9 = g6;
|
|
g2 = function_1e2c687((int32_t)&g708, (int32_t)&g708);
|
|
}
|
|
// break -> 0x1e2efae
|
|
break;
|
|
}
|
|
case 1022: {
|
|
// 0x1e2ee79
|
|
*(int32_t *)(g9 - 4) = 142;
|
|
*(int32_t *)(g9 - 8) = g4;
|
|
int32_t v58 = function_1e22760((int32_t)&g708, (int32_t)&g708); // 0x1e2ee7f
|
|
g2 = v58;
|
|
g5 = v58;
|
|
if (v58 != 0) {
|
|
// 0x1e2ee91
|
|
*(int32_t *)(g9 + 4) = g3;
|
|
*(int32_t *)g9 = g6;
|
|
g2 = function_1e2c1e4((int32_t)&g708, (int32_t)&g708);
|
|
}
|
|
// break -> 0x1e2efae
|
|
break;
|
|
}
|
|
case 1023: {
|
|
// 0x1e2ee9d
|
|
*(int32_t *)(g9 - 4) = 130;
|
|
*(int32_t *)(g9 - 8) = g4;
|
|
int32_t v59 = function_1e22760((int32_t)&g708, (int32_t)&g708); // 0x1e2eea3
|
|
g2 = v59;
|
|
g5 = v59;
|
|
if (v59 != 0) {
|
|
// 0x1e2eeb5
|
|
*(int32_t *)(g9 + 4) = g3;
|
|
*(int32_t *)g9 = g6;
|
|
g2 = function_1e2ce72((int32_t)&g708, (int32_t)&g708);
|
|
}
|
|
// break -> 0x1e2efae
|
|
break;
|
|
}
|
|
case 1024: {
|
|
// 0x1e2eec1
|
|
*(int32_t *)(g9 - 4) = 87;
|
|
*(int32_t *)(g9 - 8) = g4;
|
|
int32_t v60 = function_1e22760((int32_t)&g708, (int32_t)&g708); // 0x1e2eec4
|
|
g2 = v60;
|
|
g5 = v60;
|
|
if (v60 != 0) {
|
|
// 0x1e2eed6
|
|
*(int32_t *)(g9 + 4) = g3;
|
|
*(int32_t *)g9 = g6;
|
|
g2 = function_1e2bba6((int32_t)&g708, (int32_t)&g708);
|
|
}
|
|
// break -> 0x1e2efae
|
|
break;
|
|
}
|
|
case 1026: {
|
|
// 0x1e2eee2
|
|
*(int32_t *)(g9 - 4) = 138;
|
|
*(int32_t *)(g9 - 8) = g4;
|
|
int32_t v61 = function_1e22760((int32_t)&g708, (int32_t)&g708); // 0x1e2eee8
|
|
g2 = v61;
|
|
g5 = v61;
|
|
if (v61 != 0) {
|
|
// 0x1e2eefa
|
|
*(int32_t *)(g9 + 4) = g3;
|
|
*(int32_t *)g9 = g6;
|
|
g2 = function_1e3b1c6((int32_t)&g708, (int32_t)&g708);
|
|
}
|
|
// break -> 0x1e2efae
|
|
break;
|
|
}
|
|
case 1028: {
|
|
// 0x1e2ef06
|
|
*(int32_t *)(g9 - 4) = 54;
|
|
*(int32_t *)(g9 - 8) = g4;
|
|
int32_t v62 = function_1e22760((int32_t)&g708, (int32_t)&g708); // 0x1e2ef09
|
|
g2 = v62;
|
|
g5 = v62;
|
|
if (v62 != 0) {
|
|
// 0x1e2ef1b
|
|
*(int32_t *)(g9 + 4) = g3;
|
|
*(int32_t *)g9 = g6;
|
|
g2 = function_1e2a273((int32_t)&g708, (int32_t)&g708);
|
|
}
|
|
// break -> 0x1e2efae
|
|
break;
|
|
}
|
|
case 1029: {
|
|
// 0x1e2ef27
|
|
*(int32_t *)(g9 - 4) = 234;
|
|
*(int32_t *)(g9 - 8) = g4;
|
|
int32_t v63 = function_1e22760((int32_t)&g708, (int32_t)&g708); // 0x1e2ef2d
|
|
g2 = v63;
|
|
g5 = v63;
|
|
if (v63 != 0) {
|
|
// 0x1e2ef3b
|
|
*(int32_t *)(g9 + 4) = g8;
|
|
*(int32_t *)g9 = g3;
|
|
*(int32_t *)(g9 - 4) = g6;
|
|
int32_t v64 = function_1e2be04((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e2ef3e
|
|
g2 = v64;
|
|
}
|
|
// break -> 0x1e2efae
|
|
break;
|
|
}
|
|
case 1030: {
|
|
// 0x1e2ef45
|
|
*(int32_t *)(g9 - 4) = 166;
|
|
*(int32_t *)(g9 - 8) = g4;
|
|
int32_t v65 = function_1e22760((int32_t)&g708, (int32_t)&g708); // 0x1e2ef4b
|
|
g2 = v65;
|
|
g5 = v65;
|
|
if (v65 != 0) {
|
|
// 0x1e2ef59
|
|
*(int32_t *)(g9 + 4) = g3;
|
|
*(int32_t *)g9 = g6;
|
|
g2 = function_1e3bcfa((int32_t)&g708, (int32_t)&g708);
|
|
}
|
|
// break -> 0x1e2efae
|
|
break;
|
|
}
|
|
case 1031: {
|
|
// 0x1e2ef62
|
|
*(int32_t *)(g9 - 4) = 46;
|
|
*(int32_t *)(g9 - 8) = g4;
|
|
int32_t v66 = function_1e22760((int32_t)&g708, (int32_t)&g708); // 0x1e2ef65
|
|
g2 = v66;
|
|
g5 = v66;
|
|
if (v66 != 0) {
|
|
// 0x1e2ef73
|
|
*(int32_t *)(g9 + 4) = g3;
|
|
*(int32_t *)g9 = g6;
|
|
g2 = function_1e2f16b((int32_t)&g708, (int32_t)&g708);
|
|
}
|
|
// break -> 0x1e2efae
|
|
break;
|
|
}
|
|
case 1032: {
|
|
// 0x1e2ef7c
|
|
*(int32_t *)(g9 - 4) = 46;
|
|
*(int32_t *)(g9 - 8) = g4;
|
|
int32_t v67 = function_1e22760((int32_t)&g708, (int32_t)&g708); // 0x1e2ef7f
|
|
g2 = v67;
|
|
g5 = v67;
|
|
if (v67 != 0) {
|
|
// 0x1e2ef8d
|
|
*(int32_t *)(g9 + 4) = g3;
|
|
*(int32_t *)g9 = g6;
|
|
g2 = function_1e2f1cb((int32_t)&g708, (int32_t)&g708);
|
|
}
|
|
// break -> 0x1e2efae
|
|
break;
|
|
}
|
|
case 1033: {
|
|
// 0x1e2ef96
|
|
*(int32_t *)(g9 - 4) = 78;
|
|
*(int32_t *)(g9 - 8) = g4;
|
|
int32_t v68 = function_1e22760((int32_t)&g708, (int32_t)&g708); // 0x1e2ef99
|
|
g2 = v68;
|
|
g5 = v68;
|
|
if (v68 != 0) {
|
|
// 0x1e2efa7
|
|
*(int32_t *)(g9 + 4) = g3;
|
|
*(int32_t *)g9 = g6;
|
|
g2 = function_1e2f73e((int32_t)&g708, (int32_t)&g708);
|
|
}
|
|
// break -> 0x1e2efae
|
|
break;
|
|
}
|
|
}
|
|
// 0x1e2efae
|
|
g2 = *(int32_t *)(g9 + 24);
|
|
int32_t * v69 = (int32_t *)(g9 + 28); // 0x1e2efb2
|
|
*v69 = *v69 + 1;
|
|
int32_t v70 = g2; // 0x1e2efb6
|
|
int32_t v71 = (v70 - (v70 >> 31)) / 2; // 0x1e2efb9
|
|
g2 = v71;
|
|
if (v71 <= *(int32_t *)(g9 + 28)) {
|
|
// break -> 0x1e2efc5
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
// 0x1e2efc5
|
|
g2 = function_1e28fba();
|
|
*(int32_t *)(g9 - 4) = (int32_t)"info_text_box";
|
|
g5 = g6;
|
|
g2 = function_1e2e7ce();
|
|
*(int32_t *)(g9 - 4) = (int32_t)"mission_text_box";
|
|
g5 = g6;
|
|
g200 = g2;
|
|
g2 = function_1e2e7ce();
|
|
*(int32_t *)(g9 - 4) = g6;
|
|
g201 = g2;
|
|
function_1e32850((int32_t)&g708);
|
|
g2 = g6;
|
|
g3 = *(int32_t *)g9;
|
|
g8 = *(int32_t *)(g9 + 8);
|
|
return g6;
|
|
}
|
|
|
|
// Address range: 0x1e2f084 - 0x1e2f16b
|
|
float80_t function_1e2f084(int32_t a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5, int32_t a6, int32_t a7) {
|
|
int32_t v1 = g3; // bp-4
|
|
g2 = a2;
|
|
g3 = v1;
|
|
int32_t v2 = *(int32_t *)a2; // 0x1e2f08e
|
|
g5 = v2;
|
|
float32_t v3; // bp-20
|
|
int32_t v4 = &v3; // edi
|
|
*(int32_t *)(a1 + 42) = v2;
|
|
int32_t v5 = *(int32_t *)(g2 + 4); // 0x1e2f09f
|
|
g2 = v5;
|
|
*(int32_t *)(a1 + 46) = v5;
|
|
v3 = (float32_t)*(int32_t *)a3;
|
|
int32_t v6 = g1 ? -4 : 4; // 0x1e2f0a5
|
|
int32_t v7 = v6 + v4; // 0x1e2f0a5
|
|
int32_t v8 = v6 + a3; // 0x1e2f0a5
|
|
*(int32_t *)v7 = *(int32_t *)v8;
|
|
*(int32_t *)(v7 + v6) = *(int32_t *)(v8 + v6);
|
|
int32_t v9 = a1 + 58; // 0x1e2f0a8
|
|
v4 = v9;
|
|
int32_t v10 = a1 + 54; // 0x1e2f0ab
|
|
float32_t v11;
|
|
float80_t v12 = v11; // 0x1e2f0b0
|
|
float80_t v13 = (float80_t)*(float32_t *)v10 * (float80_t)v3; // 0x1e2f0b5
|
|
float80_t v14 = v12 * (float80_t)*(float32_t *)v9 + v13; // 0x1e2f0b8
|
|
float80_t v15 = -v14; // 0x1e2f0ba
|
|
float32_t v16 = v15; // 0x1e2f0c2
|
|
uint32_t v17 = (int32_t)__asm_fnstsw(g10); // 0x1e2f0c5
|
|
g2 = (g2 & -0x10000) | v17;
|
|
int3_t v18;
|
|
if ((v17 / 256 & 65) == 0) {
|
|
float80_t v19 = v12 * v15; // 0x1e2f0d6
|
|
float32_t * v20 = (float32_t *)v10; // 0x1e2f0dc
|
|
float80_t v21 = v16 * v3; // 0x1e2f0de
|
|
float80_t v22 = a5; // 0x1e2f0e1
|
|
float80_t v23 = a4; // 0x1e2f0e7
|
|
float80_t v24 = v23 * v21; // 0x1e2f0e7
|
|
*v20 = (float32_t)(v24 + v22 * (v21 + (float80_t)*v20));
|
|
float32_t * v25 = (float32_t *)v4; // 0x1e2f0ee
|
|
float80_t v26 = v23 * v19; // 0x1e2f0fa
|
|
*v25 = (float32_t)(v26 + v22 * (v19 + (float80_t)*v25));
|
|
g2 = (float32_t)function_1e30d19(v10);
|
|
v18 = g11;
|
|
} else {
|
|
// 0x1e2f10a
|
|
v16 = v14;
|
|
v18 = g11 - 1;
|
|
}
|
|
float32_t * v27 = (float32_t *)(a1 + 66); // 0x1e2f112
|
|
float80_t result = (float80_t)(v16 * *v27); // 0x1e2f124
|
|
float80_t v28 = (1.0L - (float80_t)(float32_t)a4) * result; // 0x1e2f124
|
|
*v27 = (float32_t)((float80_t)*v27 - v28);
|
|
g11 = v18 + 1;
|
|
uint32_t v29 = (int32_t)__asm_fnstsw(g10); // 0x1e2f133
|
|
g2 = (g2 & -0x10000) | v29;
|
|
int3_t v30 = g11;
|
|
int3_t v31; // 0x1e2f15f
|
|
if ((v29 / 256 & 1) == 0) {
|
|
float80_t v32 = (float80_t)*(float32_t *)(a1 + 66); // 0x1e2f138
|
|
float32_t * v33 = (float32_t *)v10; // 0x1e2f13b
|
|
float80_t v34 = a7; // 0x1e2f140
|
|
float80_t v35 = v34 * (float80_t)v3; // 0x1e2f140
|
|
*v33 = (float32_t)(v32 * (float80_t)*v33 + v35);
|
|
float80_t v36 = (float80_t)*(float32_t *)(a1 + 66); // 0x1e2f147
|
|
float32_t v37 = *(float32_t *)v4; // 0x1e2f14a
|
|
*(int32_t *)(g9 - 4) = v10;
|
|
float80_t v38 = v34 * v12 + v36 * (float80_t)v37; // 0x1e2f153
|
|
*(float32_t *)v4 = (float32_t)v38;
|
|
float32_t v39 = function_1e30d19((int32_t)&g708); // 0x1e2f157
|
|
g2 = v39;
|
|
*(float32_t *)(a1 + 66) = v39;
|
|
v31 = g11 + 1;
|
|
} else {
|
|
v31 = v30;
|
|
}
|
|
// 0x1e2f15f
|
|
g11 = v31 - 1;
|
|
g6 = *(int32_t *)g9;
|
|
g8 = *(int32_t *)(g9 + 4);
|
|
g3 = v1;
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e2f16b - 0x1e2f1a4
|
|
int32_t function_1e2f16b(int32_t a1, int32_t a2) {
|
|
int32_t v1 = g3; // bp-4
|
|
g3 = v1;
|
|
int32_t v2; // bp-76
|
|
int32_t v3 = v2; // 0x1e2f16e
|
|
g2 = function_1e29f8c(a1, a2, 1, g8);
|
|
g5 = v3;
|
|
*(int32_t *)g8 = (int32_t)&g55;
|
|
function_1e39641(a2, 0, v3);
|
|
g2 = g8;
|
|
g3 = v1;
|
|
return g2;
|
|
}
|
|
|
|
// Address range: 0x1e2f1a4 - 0x1e2f1c2
|
|
int32_t function_1e2f1a4(char a1) {
|
|
// 0x1e2f1a4
|
|
g2 = function_1e2a201();
|
|
if ((a1 & 1) != 0) {
|
|
// 0x1e2f1b3
|
|
g2 = function_1e3df60(g8);
|
|
}
|
|
// 0x1e2f1bc
|
|
g2 = g8;
|
|
return g8;
|
|
}
|
|
|
|
// Address range: 0x1e2f1c2 - 0x1e2f1cb
|
|
int32_t function_1e2f1c2(void) {
|
|
int32_t result = function_1e39a10(*(int32_t *)(g5 + 42)); // 0x1e2f1c5
|
|
g2 = result;
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e2f1cb - 0x1e2f1f0
|
|
int32_t function_1e2f1cb(int32_t a1, int32_t a2) {
|
|
// 0x1e2f1cb
|
|
function_1e29f8c(a1, a2, 1, g8);
|
|
g2 = g8;
|
|
*(int32_t *)g8 = (int32_t)&g56;
|
|
*(int32_t *)(g8 + 42) = 0;
|
|
return g2;
|
|
}
|
|
|
|
// Address range: 0x1e2f1f0 - 0x1e2f20e
|
|
int32_t function_1e2f1f0(char a1) {
|
|
// 0x1e2f1f0
|
|
g2 = function_1e2a201();
|
|
if ((a1 & 1) != 0) {
|
|
// 0x1e2f1ff
|
|
g2 = function_1e3df60(g8);
|
|
}
|
|
// 0x1e2f208
|
|
g2 = g8;
|
|
return g8;
|
|
}
|
|
|
|
// Address range: 0x1e2f20e - 0x1e2f26c
|
|
int32_t function_1e2f20e(int32_t a1) {
|
|
// 0x1e2f20e
|
|
g2 = a1;
|
|
int32_t v1 = g6; // bp-8
|
|
int32_t v2 = g5; // 0x1e2f214
|
|
g8 = v2;
|
|
if (a1 != 59) {
|
|
if (a1 != 1011) {
|
|
if (a1 != 1022) {
|
|
if (a1 != 1024) {
|
|
// 0x1e2f265
|
|
g2 = 0;
|
|
return 0;
|
|
}
|
|
}
|
|
}
|
|
int32_t v3 = *(int32_t *)(v2 + 42); // 0x1e2f253
|
|
g2 = v3;
|
|
if (v3 != 0) {
|
|
// 0x1e2f25c
|
|
g2 = function_1e32771(v3);
|
|
*(int32_t *)(g8 + 42) = 0;
|
|
}
|
|
// 0x1e2f265
|
|
g2 = 0;
|
|
return 0;
|
|
}
|
|
int32_t v4 = *(int32_t *)(v2 + 42); // 0x1e2f232
|
|
g2 = v4;
|
|
int32_t v5; // 0x1e2f23f
|
|
if (v4 != 0) {
|
|
// 0x1e2f239
|
|
g2 = function_1e32771(v4);
|
|
v5 = g9;
|
|
} else {
|
|
v5 = v1;
|
|
}
|
|
// 0x1e2f23f
|
|
*(int32_t *)(v5 - 4) = 0x1e2f26c;
|
|
*(int32_t *)(v5 - 8) = g8;
|
|
*(int32_t *)(v5 - 12) = *(int32_t *)(v5 + 16);
|
|
int32_t v6 = function_1e325d2((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e2f249
|
|
g2 = v6;
|
|
*(int32_t *)(g8 + 42) = v6;
|
|
// 0x1e2f265
|
|
g2 = 0;
|
|
return 0;
|
|
}
|
|
|
|
// Address range: 0x1e2f26c - 0x1e2f282
|
|
int32_t function_1e2f26c(int32_t a1) {
|
|
// 0x1e2f26c
|
|
g2 = a1;
|
|
*(int32_t *)(a1 + 42) = 0;
|
|
int32_t result = function_1e328b9(60, a1); // 0x1e2f27a
|
|
g2 = result;
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e2f282 - 0x1e2f317
|
|
int32_t function_1e2f282(int32_t a1, int32_t a2) {
|
|
int32_t v1 = function_1e25371(68); // 0x1e2f288
|
|
g2 = v1;
|
|
int32_t result; // 0x1e2f314
|
|
if (v1 != 0) {
|
|
// 0x1e2f297
|
|
g2 = a2;
|
|
*(int32_t *)v1 = -0x270f;
|
|
*(int32_t *)(v1 + 8) = g2;
|
|
int32_t v2 = function_1e39c9f(*(int32_t *)&g620, a1, 10); // 0x1e2f2b0
|
|
g2 = v2;
|
|
if (v2 != 0) {
|
|
int32_t v3 = v2 + 2; // 0x1e2f2c6
|
|
g2 = v3;
|
|
int32_t v4 = (int32_t)*(int16_t *)v3; // 0x1e2f2c9
|
|
g5 = v4;
|
|
g2 = v2 + 4;
|
|
*(int32_t *)(v1 + 12) = v4;
|
|
int32_t v5 = g2; // 0x1e2f2d2
|
|
g2 = v5 + 2;
|
|
*(int32_t *)(v1 + 16) = (int32_t)*(int16_t *)v5;
|
|
int32_t v6 = (int32_t)*(int16_t *)g2; // 0x1e2f2db
|
|
g5 = v6;
|
|
*(int32_t *)(v1 + 20) = v6;
|
|
int32_t v7 = (int32_t)*(int16_t *)(g2 + 2); // 0x1e2f2e4
|
|
*(int32_t *)(v1 + 24) = v7;
|
|
int32_t v8 = v7 & -0x10000; // 0x1e2f2f1
|
|
int32_t v9 = v8; // edi
|
|
int32_t v10 = (v8 + 1 & 0xffff) | (v8 & -0x10000); // ebx
|
|
*(int32_t *)(g9 - 4) = 1;
|
|
int32_t v11 = ((g7 & -0x10000) | (int32_t)*(int16_t *)v2) + v9; // 0x1e2f2f5
|
|
g2 = v11;
|
|
*(int32_t *)(g9 - 8) = v11;
|
|
*(int32_t *)(g9 - 12) = (int32_t)g620;
|
|
int32_t v12 = function_1e39b58((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e2f2ff
|
|
g2 = v12;
|
|
*(int32_t *)(v1 + 28 + 4 * v9) = v12;
|
|
while ((int16_t)v10 < 10) {
|
|
// 0x1e2f2ee
|
|
v8 = v10;
|
|
v9 = v8;
|
|
v10 = (v8 + 1 & 0xffff) | (v8 & -0x10000);
|
|
*(int32_t *)(g9 - 4) = 1;
|
|
v11 = ((g7 & -0x10000) | (int32_t)*(int16_t *)v2) + v9;
|
|
g2 = v11;
|
|
*(int32_t *)(g9 - 8) = v11;
|
|
*(int32_t *)(g9 - 12) = (int32_t)g620;
|
|
v12 = function_1e39b58((int32_t)&g708, (int32_t)&g708, (int32_t)&g708);
|
|
g2 = v12;
|
|
*(int32_t *)(v1 + 28 + 4 * v9) = v12;
|
|
}
|
|
// 0x1e2f30e
|
|
g2 = v1;
|
|
result = v1;
|
|
} else {
|
|
// 0x1e2f2b9
|
|
function_1e25401(v1);
|
|
g2 = 0;
|
|
result = 0;
|
|
}
|
|
} else {
|
|
// 0x1e2f293
|
|
g2 = 0;
|
|
result = 0;
|
|
}
|
|
// 0x1e2f310
|
|
g3 = *(int32_t *)g9;
|
|
g6 = *(int32_t *)(g9 + 4);
|
|
g8 = *(int32_t *)(g9 + 8);
|
|
g4 = *(int32_t *)(g9 + 12);
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e2f317 - 0x1e2f33a
|
|
int32_t function_1e2f317(int32_t a1) {
|
|
int32_t v1 = g6; // 0x1e2f318
|
|
int32_t v2 = function_1e25371(68); // 0x1e2f31b
|
|
g2 = v2;
|
|
int32_t result; // 0x1e2f337
|
|
if (v2 != 0) {
|
|
// 0x1e2f328
|
|
g5 = 17;
|
|
__asm_rep_movsd_memcpy((char *)v2, (char *)a1, 17);
|
|
g5 = 0;
|
|
result = g2;
|
|
} else {
|
|
// 0x1e2f324
|
|
g2 = 0;
|
|
result = 0;
|
|
}
|
|
// 0x1e2f335
|
|
g6 = 68;
|
|
g8 = v1;
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e2f33a - 0x1e2f34b
|
|
int32_t function_1e2f33a(int32_t a1) {
|
|
// 0x1e2f33a
|
|
g2 = a1;
|
|
int32_t result; // 0x1e2f343
|
|
if (a1 != 0) {
|
|
// 0x1e2f342
|
|
result = function_1e25401(a1);
|
|
g2 = result;
|
|
} else {
|
|
result = 0;
|
|
}
|
|
// 0x1e2f348
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e2f34b - 0x1e2f363
|
|
int32_t function_1e2f34b(int32_t a1, int32_t a2) {
|
|
// 0x1e2f34b
|
|
g5 = a1;
|
|
if (a1 != 0) {
|
|
// 0x1e2f353
|
|
*(int32_t *)(a1 + 4) = 1;
|
|
g2 = a2;
|
|
*(int32_t *)a1 = a2;
|
|
}
|
|
// 0x1e2f360
|
|
return g2;
|
|
}
|
|
|
|
// Address range: 0x1e2f363 - 0x1e2f3ed
|
|
int32_t function_1e2f363(int32_t a1, int32_t a2, int32_t a3) {
|
|
int32_t v1 = g3; // bp-16
|
|
int32_t v2; // 0x1e2f3e6
|
|
int32_t result; // 0x1e2f3ea
|
|
if (a1 == 0) {
|
|
// 0x1e2f363
|
|
result = g2;
|
|
v2 = v1;
|
|
} else {
|
|
int32_t v3 = *(int32_t *)(a1 + 8); // 0x1e2f36f
|
|
int32_t v4 = a1 + 16; // 0x1e2f372
|
|
g3 = v4;
|
|
int32_t v5 = a1 + 12; // 0x1e2f39c
|
|
g4 = v5;
|
|
int32_t v6 = a1 + 24; // 0x1e2f39f
|
|
g6 = v6;
|
|
int32_t v7; // 0x1e2f3b5
|
|
if (v3 == 0) {
|
|
int32_t v8 = a1 + 20; // 0x1e2f3a2
|
|
g8 = v8;
|
|
int32_t v9 = *(int32_t *)v4; // 0x1e2f3a7
|
|
int32_t v10 = *(int32_t *)v5; // 0x1e2f3aa
|
|
int32_t v11 = *(int32_t *)v6; // 0x1e2f3ac
|
|
int32_t v12 = *(int32_t *)v8; // 0x1e2f3ae
|
|
v7 = function_1e27576((int32_t)&g549, v12, v11, v10, v9, 0);
|
|
} else {
|
|
int32_t v13 = *(int32_t *)v4; // 0x1e2f37f
|
|
g5 = v13;
|
|
int32_t v14 = a1 + 20; // 0x1e2f382
|
|
g8 = v14;
|
|
int32_t v15 = *(int32_t *)v5; // 0x1e2f385
|
|
g2 = v15;
|
|
int32_t v16 = *(int32_t *)v6; // 0x1e2f38c
|
|
int32_t v17 = *(int32_t *)v14; // 0x1e2f38e
|
|
int32_t v18 = function_1e275f0((int32_t)&g549, v17, v16, v15, v13, v3, v15, v13); // 0x1e2f395
|
|
v7 = v18;
|
|
}
|
|
// 0x1e2f3ba
|
|
g2 = v7;
|
|
if (*(int32_t *)(g9 + 24) != 0) {
|
|
// 0x1e2f3c1
|
|
g5 = *(int32_t *)g3;
|
|
g7 = *(int32_t *)g4;
|
|
*(int32_t *)(g9 - 4) = *(int32_t *)g6;
|
|
*(int32_t *)(g9 - 8) = *(int32_t *)g8;
|
|
*(int32_t *)(g9 - 12) = g5 + (int32_t)g553;
|
|
int32_t v19 = g7 + (int32_t)g552; // 0x1e2f3d7
|
|
g2 = v19;
|
|
*(int32_t *)(g9 - 16) = v19;
|
|
*(int32_t *)(g9 - 20) = g5;
|
|
*(int32_t *)(g9 - 24) = g7;
|
|
*(int32_t *)(g9 - 28) = (int32_t)&g549;
|
|
int32_t v20 = function_1e2748e((int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e2f3e1
|
|
g2 = v20;
|
|
result = v20;
|
|
v2 = g9;
|
|
} else {
|
|
result = v7;
|
|
v2 = g9;
|
|
}
|
|
}
|
|
// 0x1e2f3e6
|
|
g3 = *(int32_t *)v2;
|
|
g6 = *(int32_t *)(v2 + 4);
|
|
g8 = *(int32_t *)(v2 + 8);
|
|
g4 = *(int32_t *)(v2 + 12);
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e2f3ed - 0x1e2f4cc
|
|
int32_t function_1e2f3ed(int32_t a1) {
|
|
int32_t v1 = g3; // 0x1e2f3ed
|
|
int32_t v2 = v1; // bp-4
|
|
g3 = v2;
|
|
int32_t v3; // bp-24
|
|
int32_t v4 = v3; // 0x1e2f3f0
|
|
int32_t v5 = g6; // bp-36
|
|
int32_t v6 = v5; // 0x1e2f3f5
|
|
int32_t v7; // 0x1e2f4c3
|
|
if (a1 != 0) {
|
|
int32_t * v8 = (int32_t *)(a1 + 4); // 0x1e2f403
|
|
if (*v8 != 0) {
|
|
int32_t * v9 = (int32_t *)a1; // 0x1e2f40c
|
|
if (*v9 <= 0x3b9aca00) {
|
|
int32_t * v10 = (int32_t *)(a1 + 20); // 0x1e2f418
|
|
int32_t v11 = *v10; // 0x1e2f418
|
|
g2 = v11;
|
|
int32_t * v12 = (int32_t *)(a1 + 16); // 0x1e2f41b
|
|
g5 = *v12;
|
|
int32_t * v13 = (int32_t *)(a1 + 12); // 0x1e2f41e
|
|
g2 = *v13 + v11;
|
|
int32_t v14 = a1; // bp-44
|
|
*v8 = 0;
|
|
int32_t v15 = g2; // 0x1e2f426
|
|
int32_t v16 = g5; // 0x1e2f429
|
|
g2 = function_1e2f363(v14, 0, v5);
|
|
int32_t v17 = *v9; // 0x1e2f431
|
|
g2 = v17;
|
|
if (v17 >= 0) {
|
|
// 0x1e2f437
|
|
g5 = v4;
|
|
g6 = v4;
|
|
function_1e3dd80(v17, &v3, 10);
|
|
g5 = -1;
|
|
g2 = 0;
|
|
int32_t v18 = -1; // 0x1e2f450
|
|
int32_t v19; // 0x1e2f452
|
|
while (true) {
|
|
if (v18 == 0) {
|
|
v19 = 0;
|
|
// break -> bb26
|
|
break;
|
|
}
|
|
int32_t v20 = g6; // 0x1e2f450
|
|
g6 = (g1 ? -1 : 1) + v20;
|
|
int32_t v21 = v18 - 1; // 0x1e2f450
|
|
g5 = v21;
|
|
if (*(char *)v20 == 0) {
|
|
v19 = v21;
|
|
// break -> bb26
|
|
break;
|
|
}
|
|
v18 = v21;
|
|
}
|
|
// bb26
|
|
g5 = -1 - v19;
|
|
int32_t v22 = -3 - v19; // 0x1e2f454
|
|
g6 = v22;
|
|
if (v22 >= 0) {
|
|
int32_t v23 = v14; // 0x1e2f45f
|
|
while (true) {
|
|
// 0x1e2f45b
|
|
g5 = v22 - 20 + g3;
|
|
*(int32_t *)(v23 - 4) = g4;
|
|
*(int32_t *)(v23 - 8) = g4;
|
|
char * v24 = (char *)g5; // 0x1e2f461
|
|
unsigned char v25 = *v24 - 48; // 0x1e2f463
|
|
g2 = (g2 & -256) | (int32_t)v25;
|
|
*v24 = v25;
|
|
int32_t v26 = g2; // 0x1e2f467
|
|
g5 = v26;
|
|
int32_t v27 = *(int32_t *)(a1 + 28 + 4 * v26); // 0x1e2f46a
|
|
g2 = v27;
|
|
*(int32_t *)(g9 - 4) = v27;
|
|
g5 = *(int32_t *)(g2 + 12);
|
|
*(int32_t *)(g9 - 8) = v16;
|
|
int32_t v28 = v15 - g5; // 0x1e2f475
|
|
*(int32_t *)(g9 - 12) = v28;
|
|
*(int32_t *)(g9 - 16) = *(int32_t *)(g2 + 16);
|
|
*(int32_t *)(g9 - 20) = g5;
|
|
*(int32_t *)(g9 - 24) = (int32_t)&g549;
|
|
int32_t v29; // 0x1e2f493
|
|
if (g196 == g4) {
|
|
// 0x1e2f493
|
|
v29 = 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);
|
|
} else {
|
|
int32_t v30 = function_1e2766e((int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e2f48c
|
|
v29 = v30;
|
|
}
|
|
// 0x1e2f498
|
|
g2 = v29;
|
|
int32_t v31 = g6 - 1; // 0x1e2f498
|
|
g6 = v31;
|
|
if (v31 < 0) {
|
|
// break -> 0x1e2f49b
|
|
break;
|
|
}
|
|
// 0x1e2f498
|
|
v23 = g9;
|
|
v22 = v31;
|
|
v15 = v28;
|
|
}
|
|
}
|
|
}
|
|
// 0x1e2f49b
|
|
g5 = *v12;
|
|
g7 = *v13;
|
|
*(int32_t *)(g9 - 4) = *(int32_t *)(a1 + 24);
|
|
*(int32_t *)(g9 - 8) = *v10;
|
|
*(int32_t *)(g9 - 12) = g5 + (int32_t)g553;
|
|
int32_t v32 = g7 + (int32_t)g552; // 0x1e2f4b4
|
|
g2 = v32;
|
|
*(int32_t *)(g9 - 16) = v32;
|
|
*(int32_t *)(g9 - 20) = g5;
|
|
*(int32_t *)(g9 - 24) = g7;
|
|
*(int32_t *)(g9 - 28) = (int32_t)&g549;
|
|
int32_t v33 = function_1e2748e((int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e2f4be
|
|
g2 = v33;
|
|
v7 = g9;
|
|
} else {
|
|
v2 = v1;
|
|
v7 = v6;
|
|
}
|
|
} else {
|
|
v2 = v1;
|
|
v7 = v6;
|
|
}
|
|
} else {
|
|
v2 = v1;
|
|
v7 = v6;
|
|
}
|
|
// 0x1e2f4c3
|
|
g6 = *(int32_t *)v7;
|
|
g8 = *(int32_t *)(v7 + 4);
|
|
g4 = *(int32_t *)(v7 + 8);
|
|
g3 = v2;
|
|
return g2;
|
|
}
|
|
|
|
// Address range: 0x1e2f4cc - 0x1e2f4d2
|
|
int32_t function_1e2f4cc(void) {
|
|
// 0x1e2f4cc
|
|
g2 = 1;
|
|
return 1;
|
|
}
|
|
|
|
// Address range: 0x1e2f4d2 - 0x1e2f4d3
|
|
int32_t function_1e2f4d2(void) {
|
|
// 0x1e2f4d2
|
|
return g2;
|
|
}
|
|
|
|
// Address range: 0x1e2f4d3 - 0x1e2f517
|
|
int32_t function_1e2f4d3(void) {
|
|
// 0x1e2f4d3
|
|
if (g560 == NULL) {
|
|
// 0x1e2f515
|
|
return g2;
|
|
}
|
|
// 0x1e2f4dd
|
|
g8 = 0;
|
|
int32_t v1 = 0; // 0x1e2f4e4
|
|
int32_t result; // 0x1e2f4fb
|
|
while (true) {
|
|
int32_t v2 = (int32_t)g560; // 0x1e2f4df
|
|
g2 = v2;
|
|
int32_t v3 = *(int32_t *)(v1 + 8 + v2); // 0x1e2f4e4
|
|
g2 = v3;
|
|
int32_t v4; // 0x1e2f500
|
|
if (v3 != 0) {
|
|
// 0x1e2f4ec
|
|
*(int32_t *)(g9 - 4) = v3;
|
|
function_1e273a9((int32_t)&g708);
|
|
int32_t v5 = (int32_t)g560; // 0x1e2f4f2
|
|
g2 = v5;
|
|
*(int32_t *)(g9 - 4) = *(int32_t *)(v5 + 8 + g8);
|
|
result = function_1e25401((int32_t)&g708);
|
|
g2 = result;
|
|
v4 = g8;
|
|
} else {
|
|
result = 0;
|
|
v4 = v1;
|
|
}
|
|
int32_t v6 = v4 + 4; // 0x1e2f500
|
|
g8 = v6;
|
|
if (v6 >= 512) {
|
|
// break -> 0x1e2f50b
|
|
break;
|
|
}
|
|
// 0x1e2f500
|
|
v1 = v6;
|
|
}
|
|
// 0x1e2f50b
|
|
g560 = NULL;
|
|
// 0x1e2f515
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e2f517 - 0x1e2f73e
|
|
int32_t function_1e2f517(char * lpName) {
|
|
int32_t v1 = g3; // bp-4
|
|
g3 = v1;
|
|
int32_t hModule = *(int32_t *)&g660; // 0x1e2f52512
|
|
int32_t * hResInfo = FindResourceA((int32_t *)hModule, lpName, (char *)10); // 0x1e2f52b
|
|
int32_t result = (int32_t)hResInfo; // 0x1e2f52b
|
|
g2 = result;
|
|
int32_t v2; // 0x1e2f540
|
|
if (hResInfo == NULL) {
|
|
goto lab_0x1e2f735;
|
|
} else {
|
|
int32_t * hResData = LoadResource((int32_t *)*(int32_t *)&g660, hResInfo); // 0x1e2f540
|
|
v2 = (int32_t)hResData;
|
|
g2 = v2;
|
|
if (hResData == NULL) {
|
|
result = v2;
|
|
goto lab_0x1e2f735;
|
|
} else {
|
|
int32_t * v3 = LockResource(hResData); // 0x1e2f552
|
|
int32_t v4 = (int32_t)v3; // 0x1e2f552
|
|
int32_t v5 = v4 + 134; // 0x1e2f560
|
|
g2 = v5;
|
|
int32_t v6 = function_1e25371(520); // 0x1e2f568
|
|
g2 = v6;
|
|
g560 = (char *)v6;
|
|
if (v6 == 0) {
|
|
goto lab_0x1e2f72c;
|
|
} else {
|
|
// 0x1e2f57a
|
|
g2 = 0;
|
|
int32_t v7 = v6 + 8; // 0x1e2f582
|
|
g5 = 128;
|
|
__asm_rep_stosd_memset((char *)v7, 0, 128);
|
|
g6 = (g1 ? -512 : 512) + v7;
|
|
g5 = 0;
|
|
g7 = 0;
|
|
int32_t v8 = v4 + 6; // 0x1e2f593
|
|
int32_t v9 = 0; // 0x1e2f598
|
|
int32_t v10; // 0x1e2f593
|
|
for (int32_t i = 0; i < 128; i++) {
|
|
// 0x1e2f590
|
|
g2 = v4;
|
|
v10 = (int32_t)*(char *)(i + v8);
|
|
g2 = v10;
|
|
if (v10 > v9) {
|
|
// 0x1e2f59c
|
|
g7 = v10;
|
|
} else {
|
|
v10 = v9;
|
|
}
|
|
// 0x1e2f59e
|
|
g5 = i + 1;
|
|
v9 = v10;
|
|
}
|
|
int32_t v11 = v4 + 4; // 0x1e2f5aa
|
|
g2 = v11;
|
|
int16_t * v12 = (int16_t *)v11; // 0x1e2f5ad
|
|
int32_t v13 = (int32_t)*v12 * v10 + 4; // 0x1e2f5b6
|
|
g2 = v13;
|
|
int32_t v14 = function_1e25371(v13); // 0x1e2f5ba
|
|
g2 = v14;
|
|
if (v14 == 0) {
|
|
int32_t v15 = (int32_t)g560; // 0x1e2f717
|
|
g2 = v15;
|
|
g2 = function_1e25401(v15);
|
|
g560 = NULL;
|
|
goto lab_0x1e2f72c;
|
|
} else {
|
|
// 0x1e2f5ca
|
|
g2 = v4;
|
|
char * v16 = g560; // 0x1e2f5cd
|
|
g5 = (int32_t)v16;
|
|
int32_t v17 = (int32_t)*(int16_t *)v3; // 0x1e2f5d3
|
|
g7 = v17;
|
|
*(int32_t *)v16 = v17;
|
|
int32_t v18 = (int32_t)*(int16_t *)v11; // 0x1e2f5db
|
|
g2 = v18;
|
|
int32_t v19 = (int32_t)g560; // 0x1e2f5de
|
|
g5 = v19;
|
|
g4 = 0;
|
|
*(int32_t *)(v19 + 4) = v18;
|
|
int32_t v20 = v14 + 3; // 0x1e2f658
|
|
int32_t v21 = v14 + 4; // 0x1e2f689
|
|
int32_t v22 = g4; // 0x1e2f5ef
|
|
int32_t v23 = 0;
|
|
while (true) {
|
|
// 0x1e2f5ec
|
|
g2 = v4;
|
|
int32_t v24 = v22 + v8; // 0x1e2f5ef
|
|
g5 = v24;
|
|
char * v25 = (char *)v24; // 0x1e2f5f3
|
|
int32_t v26;
|
|
if (*v25 != 0) {
|
|
// 0x1e2f5ff
|
|
*(int32_t *)(g9 - 4) = 37;
|
|
int32_t v27 = function_1e25371(v24); // 0x1e2f601
|
|
g5 = v23;
|
|
int32_t v28 = v23 + 8; // 0x1e2f60f
|
|
*(int32_t *)(v28 + (int32_t)g560) = v27;
|
|
int32_t v29 = (int32_t)g560; // 0x1e2f613
|
|
g2 = v29;
|
|
int32_t v30 = *(int32_t *)(v29 + 8 + g5); // 0x1e2f618
|
|
g7 = v30;
|
|
if (v30 == 0) {
|
|
// break -> 0x1e2f708
|
|
break;
|
|
}
|
|
// 0x1e2f624
|
|
*(int32_t *)(g9 - 4) = 0;
|
|
g5 = v11;
|
|
int32_t v31 = (int32_t)*v12; // 0x1e2f629
|
|
g2 = v31;
|
|
*(int32_t *)(g9 - 8) = v31;
|
|
g8 = v24;
|
|
int32_t v32 = (int32_t)*v25; // 0x1e2f630
|
|
g5 = v32;
|
|
*(int32_t *)(g9 - 12) = v32;
|
|
*(int32_t *)(g9 - 16) = v30;
|
|
int32_t v33 = function_1e27346((int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e2f635
|
|
g2 = v33;
|
|
if (v33 != 0) {
|
|
int32_t v34 = (int32_t)g560; // 0x1e2f6ec
|
|
g2 = v34;
|
|
*(int32_t *)(g9 - 4) = *(int32_t *)(v34 + 8 + 4 * g4);
|
|
g2 = function_1e25401((int32_t)&g708);
|
|
int32_t v35 = (int32_t)g560; // 0x1e2f6fa
|
|
g5 = v35;
|
|
*(int32_t *)(v35 + 8 + 4 * g4) = 0;
|
|
goto lab_0x1e2f708;
|
|
}
|
|
// 0x1e2f642
|
|
g2 = v24;
|
|
g5 = v11;
|
|
int32_t v36 = (int32_t)*v12; // 0x1e2f651
|
|
g2 = v36;
|
|
int32_t v37 = v36 * (int32_t)*v25 + 1; // 0x1e2f657
|
|
int32_t v38 = v37 / 4; // 0x1e2f65d
|
|
g5 = v38;
|
|
__asm_rep_movsd_memcpy((char *)v20, (char *)v5, v38);
|
|
int32_t v39 = (g1 ? -4 : 4) * v38 + v20; // 0x1e2f660
|
|
char * v40 = (char *)v39; // 0x1e2f660
|
|
int32_t v41 = v37 & 3; // 0x1e2f664
|
|
g5 = v41;
|
|
__asm_rep_movsb_memcpy(v40, v40, v41);
|
|
g6 = (g1 ? -1 : 1) * v41 + v39;
|
|
g2 = v24;
|
|
g5 = v23;
|
|
int32_t v42 = v37 + v5; // 0x1e2f675
|
|
int32_t v43 = (int32_t)*v25; // 0x1e2f678
|
|
g7 = v43;
|
|
g2 = v14;
|
|
int32_t v44 = *(int32_t *)(v28 + (int32_t)g560); // 0x1e2f67e
|
|
g2 = v21;
|
|
int32_t v45 = *(int32_t *)(v44 + 20); // 0x1e2f68c
|
|
int32_t v46 = -v45; // 0x1e2f68f
|
|
g5 = 1;
|
|
int32_t v47 = (1 - *(int32_t *)(v44 + 16)) * v46; // 0x1e2f69c
|
|
g5 = v47;
|
|
int32_t v48 = *(int32_t *)(v44 + 8) + v47; // 0x1e2f6a0
|
|
g5 = v48;
|
|
g8 = v11;
|
|
if (*v12 > 0) {
|
|
int32_t v49 = v43 / 4; // 0x1e2f6b6
|
|
g5 = v49;
|
|
__asm_rep_movsd_memcpy((char *)v48, (char *)v21, v49);
|
|
int32_t v50 = (g1 ? -4 : 4) * v49 + v48; // 0x1e2f6b9
|
|
char * v51 = (char *)v50; // 0x1e2f6b9
|
|
int32_t v52 = g7 & 3; // 0x1e2f6bd
|
|
g5 = v52;
|
|
__asm_rep_movsb_memcpy(v51, v51, v52);
|
|
g6 = (g1 ? -1 : 1) * v52 + v50;
|
|
g5 = v46;
|
|
int32_t v53 = g7; // 0x1e2f6c5
|
|
int32_t v54 = v53 + g2; // 0x1e2f6c5
|
|
g2 = v54;
|
|
g8 = v11;
|
|
int32_t v55 = 1; // 0x1e2f6ca
|
|
int32_t v56 = (int32_t)*v12; // 0x1e2f6d0
|
|
g5 = v56;
|
|
v26 = v42;
|
|
while (v56 > v55) {
|
|
// 0x1e2f6af
|
|
v21 = v54;
|
|
v48 -= v45;
|
|
v49 = v53 / 4;
|
|
g5 = v49;
|
|
__asm_rep_movsd_memcpy((char *)v48, (char *)v21, v49);
|
|
v50 = (g1 ? -4 : 4) * v49 + v48;
|
|
v51 = (char *)v50;
|
|
v52 = g7 & 3;
|
|
g5 = v52;
|
|
__asm_rep_movsb_memcpy(v51, v51, v52);
|
|
g6 = (g1 ? -1 : 1) * v52 + v50;
|
|
g5 = v46;
|
|
v53 = g7;
|
|
v54 = v53 + g2;
|
|
g2 = v54;
|
|
g8 = v11;
|
|
v55++;
|
|
v56 = (int32_t)*v12;
|
|
g5 = v56;
|
|
v26 = v42;
|
|
}
|
|
} else {
|
|
v26 = v42;
|
|
}
|
|
} else {
|
|
v26 = v5;
|
|
}
|
|
int32_t v57 = v23 + 4; // 0x1e2f6d8
|
|
int32_t v58 = g4 + 1; // 0x1e2f6dc
|
|
g4 = v58;
|
|
if (v57 >= 512) {
|
|
// break -> 0x1e2f708
|
|
break;
|
|
}
|
|
v5 = v26;
|
|
v22 = v58;
|
|
v23 = v57;
|
|
}
|
|
goto lab_0x1e2f708;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
lab_0x1e2f735:
|
|
// 0x1e2f735
|
|
g6 = *(int32_t *)g9;
|
|
g8 = *(int32_t *)(g9 + 4);
|
|
g3 = v1;
|
|
return result;
|
|
lab_0x1e2f72c:
|
|
// 0x1e2f72c
|
|
*(int32_t *)(g9 - 4) = v2;
|
|
int32_t v59 = FreeResource(&g708); // 0x1e2f72f
|
|
g2 = v59;
|
|
result = v59;
|
|
goto lab_0x1e2f735;
|
|
lab_0x1e2f708:
|
|
// 0x1e2f708
|
|
if (g4 != 128) {
|
|
// 0x1e2f710
|
|
g2 = function_1e2f4d3();
|
|
}
|
|
goto lab_0x1e2f72c;
|
|
}
|
|
|
|
// Address range: 0x1e2f73e - 0x1e2f7c0
|
|
int32_t function_1e2f73e(int32_t a1, uint32_t a2) {
|
|
int32_t v1 = g6; // 0x1e2f742
|
|
int32_t v2 = 1; // bp-16
|
|
g6 = a2;
|
|
function_1e29f8c(a1, a2, 1, v1);
|
|
g5 = 0;
|
|
*(int32_t *)g8 = (int32_t)&g57;
|
|
*(int32_t *)(g8 + 42) = g5;
|
|
*(int32_t *)(g8 + 46) = g5;
|
|
*(int32_t *)(g8 + 50) = g5;
|
|
*(int32_t *)(g8 + 54) = g5;
|
|
g2 = g196;
|
|
*(int32_t *)(g8 + 62) = g196;
|
|
*(int32_t *)(g8 + 66) = (int32_t)g560;
|
|
*(int32_t *)(g8 + 70) = g5;
|
|
*(int32_t *)(g8 + 74) = g5;
|
|
*(int32_t *)(g8 + 58) = g5;
|
|
if (a2 >= 1) {
|
|
// 0x1e2f787
|
|
g2 = v2;
|
|
int32_t v3 = function_1e39996(a2, 1500, &v2); // 0x1e2f792
|
|
g2 = v3;
|
|
int32_t v4 = (int32_t)*(int16_t *)v3; // 0x1e2f797
|
|
g5 = v4;
|
|
g2 = v3 + 2;
|
|
*(int32_t *)(g8 + 42) = v4;
|
|
int32_t v5 = g2; // 0x1e2f7a0
|
|
g2 = v5 + 2;
|
|
*(int32_t *)(g8 + 46) = (int32_t)*(int16_t *)v5;
|
|
int32_t v6 = (int32_t)*(int16_t *)g2; // 0x1e2f7a9
|
|
g5 = v6;
|
|
*(int32_t *)(g8 + 50) = v6;
|
|
*(int32_t *)(g8 + 54) = (int32_t)*(int16_t *)(g2 + 2);
|
|
}
|
|
// 0x1e2f7b6
|
|
g2 = g8;
|
|
g6 = *(int32_t *)g9;
|
|
return g8;
|
|
}
|
|
|
|
// Address range: 0x1e2f7c0 - 0x1e2f7de
|
|
int32_t function_1e2f7c0(char a1) {
|
|
// 0x1e2f7c0
|
|
g8 = g5;
|
|
int32_t v1; // esi
|
|
g2 = function_1e2f7de(v1);
|
|
if ((a1 & 1) != 0) {
|
|
// 0x1e2f7cf
|
|
g2 = function_1e3df60(g8);
|
|
}
|
|
// 0x1e2f7d8
|
|
g2 = g8;
|
|
return g8;
|
|
}
|
|
|
|
// Address range: 0x1e2f7de - 0x1e2f83c
|
|
int32_t function_1e2f7de(int32_t a1) {
|
|
int32_t v1 = g5; // 0x1e2f7e2
|
|
int32_t v2 = *(int32_t *)(v1 + 58); // 0x1e2f7e2
|
|
g2 = v2;
|
|
*(int32_t *)v1 = (int32_t)&g57;
|
|
int32_t v3 = g5; // 0x1e2f7eb
|
|
g6 = v3;
|
|
int32_t v4; // 0x1e2f803
|
|
if (v2 != 0) {
|
|
int32_t v5; // 0x1e2f7fc
|
|
if (v2 != -1) {
|
|
// 0x1e2f7f6
|
|
g2 = function_1e32771(v2);
|
|
v5 = g6;
|
|
} else {
|
|
v5 = v3;
|
|
}
|
|
// 0x1e2f7fc
|
|
*(int32_t *)(v5 + 58) = 0;
|
|
v4 = g6;
|
|
} else {
|
|
v4 = v3;
|
|
}
|
|
int32_t v6 = v4 + 70; // 0x1e2f803
|
|
g4 = v6;
|
|
int32_t v7 = *(int32_t *)v6; // 0x1e2f806
|
|
int32_t v8; // 0x1e2f830
|
|
if (v7 != 0) {
|
|
while (true) {
|
|
// 0x1e2f80b
|
|
g3 = v7;
|
|
int32_t v9 = *(int32_t *)v7; // 0x1e2f80f
|
|
g8 = v9;
|
|
int32_t v10; // 0x1e2f82a
|
|
if (v7 != 0) {
|
|
int32_t v11 = *(int32_t *)(v7 + 4); // 0x1e2f814
|
|
g2 = v11;
|
|
if (v11 != 0) {
|
|
// 0x1e2f81b
|
|
*(int32_t *)(g9 - 4) = v11;
|
|
g2 = function_1e25401((int32_t)&g708);
|
|
}
|
|
// 0x1e2f821
|
|
*(int32_t *)(g9 - 4) = v7;
|
|
g2 = function_1e3df60((int32_t)&g708);
|
|
v10 = g4;
|
|
} else {
|
|
v10 = v6;
|
|
}
|
|
// 0x1e2f82a
|
|
*(int32_t *)v10 = v9;
|
|
if (v9 == 0) {
|
|
// break -> 0x1e2f830
|
|
break;
|
|
}
|
|
int32_t v12 = g4;
|
|
v7 = *(int32_t *)v12;
|
|
v6 = v12;
|
|
}
|
|
// 0x1e2f830
|
|
v8 = g6;
|
|
} else {
|
|
v8 = v4;
|
|
}
|
|
// 0x1e2f830
|
|
g5 = v8;
|
|
int32_t result = function_1e2a201(); // 0x1e2f832
|
|
g2 = result;
|
|
g3 = *(int32_t *)g9;
|
|
g6 = *(int32_t *)(g9 + 4);
|
|
g8 = *(int32_t *)(g9 + 8);
|
|
return result;
|
|
}
|
|
|
|
// Address range: 0x1e2f83c - 0x1e2f8ff
|
|
int32_t function_1e2f83c(void) {
|
|
int32_t v1 = g5; // 0x1e2f842
|
|
g8 = v1;
|
|
int32_t v2 = *(int32_t *)(v1 + 62); // 0x1e2f845
|
|
g5 = v2;
|
|
int32_t v3 = v1 + 46; // 0x1e2f848
|
|
g3 = v3;
|
|
int32_t v4; // 0x1e2f887
|
|
if (v2 == 0) {
|
|
int32_t v5 = v1 + 42; // 0x1e2f870
|
|
g4 = v5;
|
|
int32_t v6 = v1 + 54; // 0x1e2f873
|
|
g6 = v6;
|
|
int32_t v7 = *(int32_t *)v3; // 0x1e2f878
|
|
int32_t v8 = *(int32_t *)v5; // 0x1e2f87b
|
|
int32_t v9 = *(int32_t *)v6; // 0x1e2f87d
|
|
int32_t v10 = *(int32_t *)(v1 + 50); // 0x1e2f87f
|
|
v4 = function_1e27576((int32_t)&g549, v10, v9, v8, v7, 0);
|
|
} else {
|
|
int32_t v11 = *(int32_t *)v3; // 0x1e2f84f
|
|
g2 = v11;
|
|
int32_t v12 = v1 + 42; // 0x1e2f852
|
|
g4 = v12;
|
|
int32_t v13 = v1 + 54; // 0x1e2f855
|
|
g6 = v13;
|
|
int32_t v14 = *(int32_t *)v12; // 0x1e2f859
|
|
int32_t v15 = *(int32_t *)v13; // 0x1e2f85f
|
|
int32_t v16 = *(int32_t *)(v1 + 50); // 0x1e2f861
|
|
int32_t v17 = function_1e275f0((int32_t)&g549, v16, v15, v14, v11, v2, v14, v11); // 0x1e2f869
|
|
v4 = v17;
|
|
}
|
|
// 0x1e2f88c
|
|
g2 = v4;
|
|
g7 = *(int32_t *)g3;
|
|
g5 = *(int32_t *)g4;
|
|
*(int32_t *)(g9 - 4) = *(int32_t *)g6;
|
|
*(int32_t *)(g9 - 8) = *(int32_t *)(g8 + 50);
|
|
*(int32_t *)(g9 - 12) = g7 + (int32_t)g553;
|
|
int32_t v18 = g5 + (int32_t)g552; // 0x1e2f8a3
|
|
g2 = v18;
|
|
*(int32_t *)(g9 - 16) = v18;
|
|
*(int32_t *)(g9 - 20) = g7;
|
|
*(int32_t *)(g9 - 24) = g5;
|
|
*(int32_t *)(g9 - 28) = (int32_t)&g549;
|
|
int32_t v19 = function_1e2748e((int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e2f8ad
|
|
g2 = v19;
|
|
int32_t v20 = g8; // 0x1e2f8b2
|
|
int32_t v21 = *(int32_t *)(v20 + 58); // 0x1e2f8b2
|
|
g2 = v21;
|
|
int32_t v22; // 0x1e2f8cb
|
|
if (v21 != 0) {
|
|
int32_t v23; // 0x1e2f8c4
|
|
if (v21 != -1) {
|
|
// 0x1e2f8be
|
|
*(int32_t *)(g9 - 4) = v21;
|
|
g2 = function_1e32771((int32_t)&g708);
|
|
v23 = g8;
|
|
} else {
|
|
v23 = v20;
|
|
}
|
|
// 0x1e2f8c4
|
|
*(int32_t *)(v23 + 58) = 0;
|
|
v22 = g8;
|
|
} else {
|
|
v22 = v20;
|
|
}
|
|
int32_t v24 = v22 + 70; // 0x1e2f8cb
|
|
g8 = v24;
|
|
int32_t v25 = *(int32_t *)v24; // 0x1e2f8ce
|
|
if (v25 != 0) {
|
|
while (true) {
|
|
int32_t v26 = *(int32_t *)v25; // 0x1e2f8d7
|
|
g6 = v26;
|
|
int32_t v27; // 0x1e2f8f1
|
|
if (v25 != 0) {
|
|
int32_t v28 = *(int32_t *)(v25 + 4); // 0x1e2f8db
|
|
g2 = v28;
|
|
if (v28 != 0) {
|
|
// 0x1e2f8e2
|
|
*(int32_t *)(g9 - 4) = v28;
|
|
g2 = function_1e25401((int32_t)&g708);
|
|
}
|
|
// 0x1e2f8e8
|
|
*(int32_t *)(g9 - 4) = v25;
|
|
g2 = function_1e3df60((int32_t)&g708);
|
|
v27 = g8;
|
|
} else {
|
|
v27 = v24;
|
|
}
|
|
// 0x1e2f8f1
|
|
*(int32_t *)v27 = v26;
|
|
if (v26 == 0) {
|
|
// break -> 0x1e2f8f7
|
|
break;
|
|
}
|
|
int32_t v29 = g8;
|
|
v25 = *(int32_t *)v29;
|
|
v24 = v29;
|
|
}
|
|
}
|
|
// 0x1e2f8f7
|
|
g3 = *(int32_t *)g9;
|
|
g6 = *(int32_t *)(g9 + 4);
|
|
g8 = *(int32_t *)(g9 + 8);
|
|
g4 = *(int32_t *)(g9 + 12);
|
|
return g2;
|
|
}
|
|
|
|
// Address range: 0x1e2f8ff - 0x1e2fb84
|
|
int32_t function_1e2f8ff(void) {
|
|
int32_t v1 = g5; // 0x1e2f907
|
|
int32_t v2 = *(int32_t *)(v1 + 62); // 0x1e2f907
|
|
g8 = v1;
|
|
int32_t v3; // 0x1e2f941
|
|
if (v2 == 0) {
|
|
int32_t v4 = *(int32_t *)(v1 + 46); // 0x1e2f930
|
|
int32_t v5 = *(int32_t *)(v1 + 42); // 0x1e2f933
|
|
int32_t v6 = *(int32_t *)(v1 + 54); // 0x1e2f936
|
|
int32_t v7 = *(int32_t *)(v1 + 50); // 0x1e2f939
|
|
v3 = function_1e27576((int32_t)&g549, v7, v6, v5, v4, 0);
|
|
} else {
|
|
int32_t v8 = *(int32_t *)(v1 + 46); // 0x1e2f911
|
|
g5 = v8;
|
|
int32_t v9 = *(int32_t *)(v1 + 42); // 0x1e2f914
|
|
g2 = v9;
|
|
int32_t v10 = *(int32_t *)(v1 + 54); // 0x1e2f91c
|
|
int32_t v11 = *(int32_t *)(v1 + 50); // 0x1e2f91f
|
|
int32_t v12 = function_1e275f0((int32_t)&g549, v11, v10, v9, v8, v2, v9, v8); // 0x1e2f927
|
|
v3 = v12;
|
|
}
|
|
// 0x1e2f946
|
|
g2 = v3;
|
|
int32_t v13 = g8; // 0x1e2f946
|
|
int32_t v14 = *(int32_t *)(v13 + 70); // 0x1e2f946
|
|
int32_t v15; // 0x1e2f992
|
|
int32_t v16; // 0x1e2f998
|
|
if (v14 == 0) {
|
|
goto lab_0x1e2fb55_2;
|
|
} else {
|
|
float80_t v17; // 0x1e2f97e
|
|
while (true) {
|
|
lab_0x1e2f950:
|
|
// 0x1e2f950
|
|
g6 = v14;
|
|
if (*(int32_t *)(v14 + 8) != -0x40800000) {
|
|
int32_t v18 = *(int32_t *)(v14 + 12) - (int32_t)g204; // 0x1e2f972
|
|
g2 = v18;
|
|
v17 = 0.001L * (float80_t)v18;
|
|
g684 = v17;
|
|
uint32_t v19 = (int32_t)__asm_fnstsw(g10); // 0x1e2f98d
|
|
g2 = (g2 & -0x10000) | v19;
|
|
if ((v19 / 256 & 1) == 0) {
|
|
// break -> 0x1e2f9c5
|
|
break;
|
|
}
|
|
// 0x1e2f992
|
|
v15 = *(int32_t *)v14;
|
|
g4 = v15;
|
|
if (v14 == 0) {
|
|
goto lab_0x1e2f9ae;
|
|
} else {
|
|
// 0x1e2f998
|
|
v16 = *(int32_t *)(v14 + 4);
|
|
g2 = v16;
|
|
if (v16 == 0) {
|
|
goto lab_0x1e2f9a5;
|
|
} else {
|
|
goto lab_0x1e2f99f;
|
|
}
|
|
}
|
|
} else {
|
|
int32_t v20 = *(int32_t *)v14; // 0x1e2f95c
|
|
g4 = v20;
|
|
if (v20 == 0) {
|
|
// 0x1e2f9bc
|
|
*(int32_t *)(v13 + 58) = -1;
|
|
goto lab_0x1e2f9e3;
|
|
}
|
|
if (v14 == 0) {
|
|
v15 = v20;
|
|
goto lab_0x1e2f9ae;
|
|
} else {
|
|
int32_t v21 = *(int32_t *)(v14 + 4); // 0x1e2f966
|
|
g2 = v21;
|
|
if (v21 == 0) {
|
|
goto lab_0x1e2f9a5;
|
|
} else {
|
|
v16 = v21;
|
|
goto lab_0x1e2f99f;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
// 0x1e2f9c5
|
|
g2 = 0x3e800000;
|
|
*(int32_t *)(g9 - 4) = 0x1e2fb84;
|
|
*(int32_t *)(g9 - 8) = g8;
|
|
int32_t v22 = g2; // 0x1e2f9d0
|
|
int32_t v23 = (char *)(int32_t)(float32_t)v17 < (char *)v22 ? v22 : (int32_t)(float32_t)v17;
|
|
*(int32_t *)(g9 - 12) = v23;
|
|
int32_t v24 = function_1e325d2((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e2f9db
|
|
g2 = v24;
|
|
*(int32_t *)(g8 + 58) = v24;
|
|
goto lab_0x1e2f9e3;
|
|
}
|
|
lab_0x1e2fb55_2:
|
|
// 0x1e2fb55
|
|
g5 = *(int32_t *)(v13 + 46);
|
|
g7 = *(int32_t *)(v13 + 42);
|
|
*(int32_t *)(g9 - 4) = *(int32_t *)(v13 + 54);
|
|
*(int32_t *)(g9 - 8) = *(int32_t *)(g8 + 50);
|
|
*(int32_t *)(g9 - 12) = g5 + (int32_t)g553;
|
|
int32_t v25 = g7 + (int32_t)g552; // 0x1e2fb6e
|
|
g2 = v25;
|
|
*(int32_t *)(g9 - 16) = v25;
|
|
*(int32_t *)(g9 - 20) = g5;
|
|
*(int32_t *)(g9 - 24) = g7;
|
|
*(int32_t *)(g9 - 28) = (int32_t)&g549;
|
|
int32_t result = function_1e2748e((int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e2fb78
|
|
// 0x1e2fb7d
|
|
g2 = result;
|
|
g8 = *(int32_t *)(g9 + 4);
|
|
return result;
|
|
lab_0x1e2fad0:;
|
|
// 0x1e2fad0
|
|
int32_t v26; // 0x1e2fad0
|
|
int32_t v27 = *(int32_t *)(v26 + 42); // 0x1e2fad0
|
|
g2 = v27;
|
|
char * v28; // 0x1e2fa72
|
|
uint32_t v29 = (int32_t)v28; // 0x1e2fad3
|
|
int32_t v30; // 0x1e2fb29
|
|
int32_t v31; // 0x1e2fb43
|
|
int32_t v32; // 0x1e2fb4c
|
|
int32_t v33; // 0x1e2fa43
|
|
int32_t v34; // 0x1e2fb29
|
|
if (v29 > v32) {
|
|
int32_t v35 = v32; // 0x1e2fae2
|
|
int32_t v36 = v26; // 0x1e2fadd
|
|
int32_t v37 = v27;
|
|
while (true) {
|
|
// 0x1e2fadb
|
|
g5 = 0;
|
|
int32_t v38 = *(int32_t *)(v36 + 66); // 0x1e2fadd
|
|
g2 = v38;
|
|
int32_t v39 = v35 + 1; // 0x1e2fae2
|
|
g6 = v39;
|
|
int32_t v40 = (int32_t)*(char *)v35 & 127; // 0x1e2fae3
|
|
g5 = v40;
|
|
int32_t v41 = *(int32_t *)(v38 + 8 + 4 * v40); // 0x1e2fae6
|
|
int32_t v42;
|
|
int32_t v43; // 0x1e2fb19
|
|
int32_t v44; // 0x1e2fb2936
|
|
int32_t v45; // 0x1e2fb24
|
|
if (v41 != 0) {
|
|
// 0x1e2faee
|
|
*(int32_t *)(g9 - 4) = 0;
|
|
*(int32_t *)(g9 - 8) = 0;
|
|
*(int32_t *)(g9 - 12) = v41;
|
|
*(int32_t *)(g9 - 16) = v33;
|
|
*(int32_t *)(g9 - 20) = v37;
|
|
*(int32_t *)(g9 - 24) = *(int32_t *)(v41 + 16);
|
|
int32_t * v46 = (int32_t *)(v41 + 12); // 0x1e2fb03
|
|
*(int32_t *)(g9 - 28) = *v46;
|
|
*(int32_t *)(g9 - 32) = (int32_t)&g549;
|
|
int32_t v47; // 0x1e2fb14
|
|
if (g196 == 0) {
|
|
// 0x1e2fb14
|
|
v47 = 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);
|
|
} else {
|
|
int32_t v48 = function_1e2766e((int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e2fb0d
|
|
v47 = v48;
|
|
}
|
|
// 0x1e2fb19
|
|
g2 = v47;
|
|
v43 = g8;
|
|
int32_t v49 = *(int32_t *)(v43 + 66); // 0x1e2fb19
|
|
g2 = v49;
|
|
int32_t v50 = *(int32_t *)v49; // 0x1e2fb1c
|
|
g2 = v50;
|
|
int32_t v51 = *v46 + v50; // 0x1e2fb1e
|
|
g2 = v51;
|
|
v44 = v51;
|
|
v45 = g6;
|
|
v42 = v51 + v37;
|
|
} else {
|
|
v44 = v38;
|
|
v45 = v39;
|
|
v43 = v36;
|
|
v42 = v37;
|
|
}
|
|
if (v29 <= v45) {
|
|
v31 = v43;
|
|
v34 = v44;
|
|
v30 = v45;
|
|
// break -> 0x1e2fb29
|
|
break;
|
|
}
|
|
v35 = v45;
|
|
v36 = v43;
|
|
v37 = v42;
|
|
}
|
|
} else {
|
|
v31 = v26;
|
|
v34 = v27;
|
|
v30 = v32;
|
|
}
|
|
unsigned char v52 = *(char *)v30 & 127; // 0x1e2fb2b
|
|
int32_t v53 = (int32_t)v52 | (v34 & -256); // 0x1e2fb2b
|
|
g2 = v53;
|
|
int32_t v54; // 0x1e2fb42
|
|
int32_t v55; // 0x1e2fb3a
|
|
if (v52 == 32) {
|
|
int32_t v56 = v53; // 0x1e2fb32
|
|
int32_t v57 = v30; // 0x1e2fb31
|
|
while (true) {
|
|
int32_t v58 = v57 + 1; // 0x1e2fb31
|
|
unsigned char v59 = *(char *)v58 & 127; // 0x1e2fb34
|
|
int32_t v60 = (int32_t)v59 | (v56 & -256); // 0x1e2fb34
|
|
g2 = v60;
|
|
if (v59 != 32) {
|
|
v55 = v60;
|
|
v54 = v58;
|
|
// break -> 0x1e2fb3a
|
|
break;
|
|
}
|
|
v56 = v60;
|
|
v57 = v58;
|
|
}
|
|
} else {
|
|
v55 = v53;
|
|
v54 = v30;
|
|
}
|
|
unsigned char v61 = *(char *)v54 & 127; // 0x1e2fb3c
|
|
g2 = (int32_t)v61 | (v55 & -256);
|
|
if (v61 == 10) {
|
|
// 0x1e2fb42
|
|
v32 = v54 + 1;
|
|
} else {
|
|
v32 = v54;
|
|
}
|
|
int32_t v62 = *(int32_t *)(v31 + 66); // 0x1e2fb43
|
|
g2 = v62;
|
|
int32_t v63 = *(int32_t *)(v62 + 4); // 0x1e2fb46
|
|
g5 = v63;
|
|
if (*(char *)v32 == 0) {
|
|
v13 = v31;
|
|
// break -> 0x1e2fb55
|
|
goto lab_0x1e2fb55_2;
|
|
}
|
|
v26 = v31;
|
|
v33 += v63;
|
|
goto lab_0x1e2fa55;
|
|
lab_0x1e2f9ae:
|
|
// 0x1e2f9ae
|
|
*(int32_t *)(g8 + 70) = v15;
|
|
int32_t v91 = g8; // 0x1e2f9b1
|
|
int32_t v92 = *(int32_t *)(v91 + 70); // 0x1e2f9b1
|
|
if (v92 == 0) {
|
|
v13 = v91;
|
|
goto lab_0x1e2fb55_2;
|
|
}
|
|
v14 = v92;
|
|
v13 = v91;
|
|
goto lab_0x1e2f950;
|
|
lab_0x1e2f9a5:
|
|
// 0x1e2f9a5
|
|
*(int32_t *)(g9 - 4) = v14;
|
|
g2 = function_1e3df60((int32_t)&g708);
|
|
v15 = g4;
|
|
goto lab_0x1e2f9ae;
|
|
lab_0x1e2f99f:
|
|
// 0x1e2f99f
|
|
*(int32_t *)(g9 - 4) = v16;
|
|
g2 = function_1e25401((int32_t)&g708);
|
|
goto lab_0x1e2f9a5;
|
|
lab_0x1e2f9e3:;
|
|
int32_t v93 = g8; // 0x1e2f9e3
|
|
int32_t v82; // edx
|
|
if (*(int32_t *)(v93 + 66) == 0) {
|
|
// 0x1e2f9e9
|
|
v82 = *(int32_t *)(v93 + 46);
|
|
g5 = *(int32_t *)(v93 + 42);
|
|
*(int32_t *)(g9 - 4) = *(int32_t *)(v93 + 54);
|
|
*(int32_t *)(g9 - 8) = *(int32_t *)(g8 + 50);
|
|
*(int32_t *)(g9 - 12) = v82 + (int32_t)g553;
|
|
int32_t v94 = g5 + (int32_t)g552; // 0x1e2fa02
|
|
g2 = v94;
|
|
*(int32_t *)(g9 - 16) = v94;
|
|
*(int32_t *)(g9 - 20) = v82;
|
|
*(int32_t *)(g9 - 24) = g5;
|
|
*(int32_t *)(g9 - 28) = (int32_t)&g549;
|
|
int32_t v95 = function_1e2748e((int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e2fa0c
|
|
g2 = v95;
|
|
*(int32_t *)(g9 - 4) = 255;
|
|
int32_t v96 = g8; // 0x1e2fa16
|
|
g2 = *(int32_t *)(v96 + 46);
|
|
*(int32_t *)(g9 - 8) = *(int32_t *)(v96 + 54);
|
|
g2 += (int32_t)g553;
|
|
int32_t v97 = g8; // 0x1e2fa22
|
|
g5 = *(int32_t *)(v97 + 70);
|
|
*(int32_t *)(g9 - 12) = *(int32_t *)(v97 + 50);
|
|
*(int32_t *)(g9 - 16) = g2;
|
|
int32_t v98 = (int32_t)g552 + *(int32_t *)(g8 + 42); // 0x1e2fa2c
|
|
g2 = v98;
|
|
*(int32_t *)(g9 - 20) = v98;
|
|
*(int32_t *)(g9 - 24) = *(int32_t *)(g5 + 4);
|
|
int32_t v99 = function_1e257ff((int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e2fa36
|
|
result = v99;
|
|
// 0x1e2fb7d
|
|
g2 = result;
|
|
g8 = *(int32_t *)(g9 + 4);
|
|
return result;
|
|
}
|
|
int32_t v100 = *(int32_t *)(v93 + 70); // 0x1e2fa40
|
|
g2 = v100;
|
|
v33 = *(int32_t *)(v93 + 46);
|
|
g5 = v33;
|
|
int32_t v101 = *(int32_t *)(v100 + 4); // 0x1e2fa49
|
|
if (*(char *)v101 != 0) {
|
|
v32 = v101;
|
|
v26 = v93;
|
|
while (true) {
|
|
lab_0x1e2fa55:;
|
|
int32_t v64 = *(int32_t *)(v26 + 54); // 0x1e2fa58
|
|
g5 = v64;
|
|
int32_t v65 = *(int32_t *)(v26 + 46) + v64; // 0x1e2fa5b
|
|
g5 = v65;
|
|
int32_t v66 = *(int32_t *)(*(int32_t *)(v26 + 66) + 4) + v33; // 0x1e2fa61
|
|
g2 = v66;
|
|
if (v66 > v65) {
|
|
v13 = v26;
|
|
// break -> 0x1e2fb55
|
|
break;
|
|
}
|
|
// 0x1e2fa6c
|
|
g2 = 0;
|
|
g5 = 0;
|
|
v28 = (char *)v32;
|
|
int32_t v67 = (int32_t)*v28 & 127; // 0x1e2fa7a
|
|
g5 = v67;
|
|
if (v67 != 0) {
|
|
// 0x1e2fa7f
|
|
while (true) {
|
|
int32_t v68; // 0x1e2fa87
|
|
if (v68 == 10) {
|
|
// break -> 0x1e2fac3
|
|
break;
|
|
}
|
|
// 0x1e2fa84
|
|
int32_t * v69; // 0x1e2fa55
|
|
int32_t v70 = *v69; // 0x1e2fa84
|
|
int32_t v71 = *(int32_t *)(4 * v68 + 8 + v70); // 0x1e2fa87
|
|
g5 = v71;
|
|
char * v72;
|
|
char * v73;
|
|
int32_t v74; // 0x1e2fa9a
|
|
int32_t v75; // 0x1e2fa9a22
|
|
int32_t v76; // 0x1e2fac926
|
|
int32_t v77; // 0x1e2fac928
|
|
if (v71 != 0) {
|
|
int32_t v78 = *(int32_t *)(v71 + 12); // 0x1e2fa8f
|
|
g5 = v78;
|
|
int32_t v79 = *(int32_t *)v70; // 0x1e2fa95
|
|
int32_t v80 = v79 + v78; // 0x1e2fa97
|
|
g5 = v80;
|
|
int32_t v81 = v80 + v74; // 0x1e2fa9a
|
|
v82 = v81;
|
|
int32_t * v83; // 0x1e2fa9c
|
|
int32_t v84 = *v83; // 0x1e2fa9c
|
|
if (v84 < v81) {
|
|
// 0x1e2fac9
|
|
goto lab_0x1e2fad0;
|
|
}
|
|
int32_t v85 = (int32_t)v72; // 0x1e2faa1
|
|
char v86 = *v72; // 0x1e2faa4
|
|
int32_t v87; // 0x1e2fac924
|
|
if (v86 == 32) {
|
|
// 0x1e2faa9
|
|
g2 = v85;
|
|
v87 = v85;
|
|
} else {
|
|
v87 = v77;
|
|
}
|
|
char * v88 = (char *)(v85 + 1); // 0x1e2faab
|
|
v76 = v87;
|
|
v75 = v81;
|
|
v73 = v88;
|
|
} else {
|
|
v76 = v77;
|
|
v75 = v74;
|
|
v73 = v72;
|
|
}
|
|
// 0x1e2faae
|
|
g5 = 0;
|
|
unsigned char v89 = *v73; // 0x1e2fab3
|
|
int32_t v90 = (int32_t)v89 & 127; // 0x1e2fab5
|
|
g5 = v90;
|
|
if (v90 == 0) {
|
|
// break -> 0x1e2fac3
|
|
break;
|
|
}
|
|
v77 = v76;
|
|
v74 = v75;
|
|
v68 = v90;
|
|
v72 = v73;
|
|
}
|
|
}
|
|
goto lab_0x1e2fad0;
|
|
}
|
|
} else {
|
|
v13 = v93;
|
|
}
|
|
goto lab_0x1e2fb55_2;
|
|
}
|
|
|
|
// Address range: 0x1e2fb84 - 0x1e2fbc7
|
|
int32_t function_1e2fb84(int32_t a1) {
|
|
// 0x1e2fb84
|
|
g5 = 0;
|
|
g8 = a1;
|
|
int32_t v1 = *(int32_t *)(a1 + 70); // 0x1e2fb8d
|
|
*(int32_t *)(a1 + 58) = 0;
|
|
if (v1 == 0) {
|
|
// 0x1e2fbc1
|
|
return g2;
|
|
}
|
|
// 0x1e2fb97
|
|
g6 = *(int32_t *)v1;
|
|
int32_t v2 = *(int32_t *)(v1 + 4); // 0x1e2fb99
|
|
g2 = v2;
|
|
if (v2 != 0) {
|
|
// 0x1e2fba0
|
|
g2 = function_1e25401(v2);
|
|
}
|
|
// 0x1e2fba6
|
|
*(int32_t *)(g9 - 4) = v1;
|
|
g2 = function_1e3df60((int32_t)&g708);
|
|
int32_t v3 = g8; // 0x1e2fbaf
|
|
g5 = v3;
|
|
*(int32_t *)(v3 + 70) = g6;
|
|
g2 = function_1e2f8ff();
|
|
*(int32_t *)(g9 - 4) = g8;
|
|
*(int32_t *)(g9 - 8) = 60;
|
|
int32_t result = function_1e328b9((int32_t)&g708, (int32_t)&g708); // 0x1e2fbbc
|
|
g2 = result;
|
|
// 0x1e2fbc1
|
|
return result;
|
|
}
|
|
|