#include "pinball.h" // Address range: 0x1e2fbc7 - 0x1e2fd66 int32_t function_1e2fbc7(int32_t a1, int32_t a2) { int32_t v1 = g5; // 0x1e2fbcd g4 = v1; g8 = a1; int32_t v2; int32_t * v3; // 0x1e2fbeb if (a1 == 0) { goto lab_0x1e2fd5c; } else { // 0x1e2fbdc if (*(int32_t *)(v1 + 70) == 0) { goto lab_0x1e2fc86; } else { int32_t v4 = v1 + 74; // 0x1e2fbe6 g6 = v4; g5 = a1; v3 = (int32_t *)v4; int32_t v5 = *v3; // 0x1e2fbeb g2 = v5; int32_t v6 = *(int32_t *)(v5 + 4); // 0x1e2fbed g7 = v6; uint32_t v7; // 0x1e2fc10 bool v8; // 0x1e2fc10 while (true) { unsigned char v9 = *(char *)a1; // 0x1e2fbf0 int32_t v10 = v5 & -256; // 0x1e2fbf0 int32_t v11 = (int32_t)v9 | v10; // 0x1e2fbf0 g2 = v11; unsigned char v12 = *(char *)v6; // 0x1e2fbf2 if (v9 != v12) { v8 = v9 < v12; v7 = v11; // break -> 0x1e2fc10 break; } // 0x1e2fbf6 g2 = v11; if (v9 == 0) { v2 = 0; goto lab_0x1e2fc15; } unsigned char v13 = *(char *)(a1 + 1); // 0x1e2fbfa int32_t v14 = (int32_t)v13 | v10; // 0x1e2fbfa g2 = v14; unsigned char v15 = *(char *)(v6 + 1); // 0x1e2fbfd if (v13 != v15) { v8 = v13 < v15; v7 = v14; // break -> 0x1e2fc10 break; } int32_t v16 = a1 + 2; // 0x1e2fc02 g5 = v16; int32_t v17 = v6 + 2; // 0x1e2fc05 g7 = v17; g2 = v14; if (v13 == 0) { v2 = 0; goto lab_0x1e2fc15; } v6 = v17; v5 = v14; a1 = v16; } int32_t v18 = v8; // 0x1e2fc10 uint32_t v19 = v18 + v7; // 0x1e2fc10 int32_t v20 = v8; // 0x1e2fc10 bool v21 = v8 ? v7 < v20 - v18 | v19 != -1 : v7 < v19; // 0x1e2fc10 g2 = v20; v2 = v20 - (int32_t)!v21; goto lab_0x1e2fc15; } } lab_0x1e2fd5c: // 0x1e2fd5c g3 = *(int32_t *)g9; g6 = *(int32_t *)(g9 + 4); g8 = *(int32_t *)(g9 + 8); g4 = *(int32_t *)(g9 + 12); return g2; lab_0x1e2fc86: // 0x1e2fc86 if (*(int32_t *)(v1 + 58) == -1) { // 0x1e2fc8c g5 = v1; g2 = function_1e2f83c(); } // 0x1e2fc93 g6 = 0; int32_t v22 = function_1e3df20(16); // 0x1e2fc97 g2 = v22; g3 = v22; if (v22 != 0) { // 0x1e2fca5 g11--; g684 = 1000.0L * (float80_t)(float32_t)a2; g2 = a2; *(int32_t *)v22 = g6; *(int32_t *)(g3 + 8) = g2; *(int32_t *)(g3 + 12) = (int32_t)g204 + __ftol(); g6 = a1; g5 = -1; g2 = 0; int32_t v23 = a1; // 0x1e2fcd6 int32_t v24 = -1; // 0x1e2fcd6 int32_t v25; // 0x1e2fcd8 while (true) { if (v24 == 0) { v25 = 0; // break -> 0x1e2fcec break; } int32_t v26 = (g1 ? -1 : 1) + v23; // 0x1e2fcd6 g6 = v26; int32_t v27 = v24 - 1; // 0x1e2fcd6 g5 = v27; if (*(char *)v23 == 0) { v25 = v27; // break -> 0x1e2fcec break; } v23 = v26; v24 = v27; } int32_t v28 = -1 - v25; // 0x1e2fcd8 g5 = v28; int32_t v29 = function_1e25371(v28); // 0x1e2fcdb g2 = v29; *(int32_t *)(g3 + 4) = v29; int32_t v30 = g3; // 0x1e2fcec int32_t v31 = *(int32_t *)(v30 + 4); // 0x1e2fcec g7 = v31; int32_t v32; // 0x1e2fd49 if (v31 != 0) { // 0x1e2fcf3 g5 = -1; g2 = 0; int32_t v33 = a1; // 0x1e2fcfc int32_t v34 = -1; // 0x1e2fcfc int32_t v35; // 0x1e2fcfe int32_t v36; // 0x1e2fd00 while (true) { if (v34 == 0) { v36 = v33; v35 = 0; // break -> bb48 break; } int32_t v37 = (g1 ? -1 : 1) + v33; // 0x1e2fcfc int32_t v38 = v34 - 1; // 0x1e2fcfc g5 = v38; if (*(char *)v33 == 0) { v36 = v37; v35 = v38; // break -> bb48 break; } v33 = v37; v34 = v38; } int32_t v39 = -1 - v35; // 0x1e2fcfe g2 = v39; int32_t v40 = v39 / 4; // 0x1e2fd04 g5 = v40; __asm_rep_movsd_memcpy((char *)v31, (char *)(v36 - v39), v40); int32_t v41 = (g1 ? -4 : 4) * v40 + v31; // 0x1e2fd0b char * v42 = (char *)v41; // 0x1e2fd0b int32_t v43 = g2 & 3; // 0x1e2fd0f g5 = v43; __asm_rep_movsb_memcpy(v42, v42, v43); int32_t v44 = (g1 ? -1 : 1) * v43 + v41; // 0x1e2fd12 g6 = v44; g8 = v44; g5 = 0; v32 = g3; } else { v32 = v30; } if (v32 != 0) { int32_t v45 = *(int32_t *)(v32 + 4); // 0x1e2fd1c g2 = v45; if (v45 != 0) { int32_t v46 = g4; // 0x1e2fd3c int32_t * v47 = (int32_t *)(v46 + 70); // 0x1e2fd3c if (*v47 == 0) { // 0x1e2fd49 *v47 = v32; } else { int32_t v48 = *(int32_t *)(v46 + 74); // 0x1e2fd42 g2 = v48; *(int32_t *)v48 = v32; } int32_t v49 = g4; // 0x1e2fd4c *(int32_t *)(v49 + 74) = g3; if (*(int32_t *)(v49 + 58) == 0) { // 0x1e2fd55 g5 = g4; g2 = function_1e2f8ff(); } } else { // 0x1e2fd31 *(int32_t *)(g9 - 4) = v32; g2 = function_1e3df60((int32_t)&g708); } } } goto lab_0x1e2fd5c; lab_0x1e2fc15: // 0x1e2fc15 g2 = v2; if (v2 != 0) { goto lab_0x1e2fc86; } else { // 0x1e2fc19 g11--; g684 = 1000.0L * (float80_t)(float32_t)a2; int32_t v50 = *v3; // 0x1e2fc23 g2 = a2; *(int32_t *)(v50 + 8) = a2; int32_t v51 = __ftol(); // 0x1e2fc2c g2 = v51; int32_t v52 = (int32_t)g204 + v51; // 0x1e2fc37 g5 = v52; *(int32_t *)(v50 + 12) = v52; if (*(int32_t *)(g4 + 70) == *(int32_t *)g6) { int32_t v53 = g4 + 58; // 0x1e2fc47 g8 = v53; int32_t v54 = *(int32_t *)v53; // 0x1e2fc4a g2 = v54; if (v54 != 0) { if (v54 != -1) { // 0x1e2fc55 g2 = function_1e32771(v54); } } int32_t * v55 = (int32_t *)(g9 + 28); // 0x1e2fc5b if (*v55 == -0x40800000) { // 0x1e2fc7b *(int32_t *)g8 = -1; } else { // 0x1e2fc65 *(int32_t *)(g9 - 4) = 0x1e2fb84; *(int32_t *)(g9 - 8) = g4; *(int32_t *)(g9 - 12) = *v55; int32_t v56 = function_1e325d2((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e2fc6f g2 = v56; *(int32_t *)g8 = v56; } } goto lab_0x1e2fd5c; } } // Address range: 0x1e2fd66 - 0x1e2fd6b int32_t function_1e2fd66(void) { // 0x1e2fd66 g2 = 0; return 0; } // Address range: 0x1e2fd6b - 0x1e2fda9 int32_t function_1e2fd6b(int32_t * a1) { int32_t v1 = (int32_t)a1; g5 = 0x1e2fe0a; g2 = v1; g562 = 0x1e2fe0a; g629 = 0; g631 = 0; int32_t hInstance = *(int32_t *)&g660; // 0x1e2fd954 g633 = v1; int32_t result = DialogBoxParamA((int32_t *)hInstance, "dlg_highscores", (int32_t *)g666, (int32_t (*)(int32_t *, int32_t, int32_t, int32_t))0x1e2fe0a, 0); // 0x1e2fda0 g2 = result; return result; } // Address range: 0x1e2fda9 - 0x1e2fe0a int32_t function_1e2fda9(int32_t a1, int32_t a2, int32_t a3, int32_t a4) { // 0x1e2fda9 g561 = 0x1e2fe0a; int32_t v1 = g3; // bp-4 g632 = (char *)a3; g629 = 1; g5 = a2; g7 = a1; g2 = a4; g631 = a2; g633 = a1; g630 = a4; int32_t v2 = &v1; // 0x1e2fde3 *(int32_t *)(v2 - 4) = 0; g2 = g561; *(int32_t *)(v2 - 8) = g561; *(int32_t *)(v2 - 12) = g666; *(int32_t *)(v2 - 16) = (int32_t)"dlg_highscores"; *(int32_t *)(v2 - 20) = (int32_t)g660; int32_t result = DialogBoxParamA(&g708, (char *)&g708, &g708, (int32_t (*)(int32_t *, int32_t, int32_t, int32_t))&g708, (int32_t)&g708); // 0x1e2fdfc g2 = result; while (result != 0) { // 0x1e2fde3 v2 = g9; *(int32_t *)(v2 - 4) = 0; g2 = g561; *(int32_t *)(v2 - 8) = g561; *(int32_t *)(v2 - 12) = g666; *(int32_t *)(v2 - 16) = (int32_t)"dlg_highscores"; *(int32_t *)(v2 - 20) = (int32_t)g660; result = DialogBoxParamA(&g708, (char *)&g708, &g708, (int32_t (*)(int32_t *, int32_t, int32_t, int32_t))&g708, (int32_t)&g708); g2 = result; } // 0x1e2fe06 g3 = *(int32_t *)g9; return result; } // Address range: 0x1e2fe0a - 0x1e3002b int32_t function_1e2fe0a(int32_t hWnd, uint16_t a2, uint16_t a3) { // 0x1e2fe0a g2 = a2; int32_t lpString1; // bp-460 int32_t v1 = &lpString1; // 0x1e2fe12 int32_t v2; // 0x1e2feab int32_t v3 = v2; // 0x1e2fe1c int32_t v4 = v3; // bp-468 int32_t v5; int32_t result; // 0x1e2fe38 if (a2 == 16) { // 0x1e2fe3b g2 = SendMessageA((int32_t *)hWnd, 273, 2, 0); // 0x1e2fe31 g2 = 0; result = 0; return result; } else { if (a2 == 272) { // 0x1e2fe4f g2 = g633; int32_t v6; // ebx g2 = function_1e3015a(hWnd, g633, v3, v6); *(int32_t *)(g9 - 4) = 0; *(int32_t *)(g9 - 8) = g8; *(int32_t *)(g9 - 12) = hWnd; int32_t v7 = (int32_t)GetDlgItem(&g708, (int32_t)&g708); // 0x1e2fe68 g2 = v7; *(int32_t *)(g9 - 4) = v7; g8++; g2 = ShowWindow(&g708, (int32_t)&g708); while (g8 < 611) { // 0x1e2fe62 *(int32_t *)(g9 - 4) = 0; *(int32_t *)(g9 - 8) = g8; *(int32_t *)(g9 - 12) = hWnd; v7 = (int32_t)GetDlgItem(&g708, (int32_t)&g708); g2 = v7; *(int32_t *)(g9 - 4) = v7; g8++; g2 = ShowWindow(&g708, (int32_t)&g708); } // 0x1e2fe7e if (g629 != 1) { // 0x1e2feff *(int32_t *)(g9 - 4) = hWnd; v5 = (int32_t)SetFocus(&g708); goto lab_0x1e2ff08; } else { char * v8 = g632; // 0x1e2fe87 int32_t v9 = (int32_t)v8; // 0x1e2fe87 g2 = v9; if (v8 != (char *)-1) { int32_t v10 = v9 + 601; // 0x1e2fea2 g2 = v10; *(int32_t *)(g9 - 4) = v10; *(int32_t *)(g9 - 8) = hWnd; v2 = (int32_t)GetDlgItem(&g708, (int32_t)&g708); g2 = v2; *(int32_t *)(g9 - 4) = 5; *(int32_t *)(g9 - 8) = v2; g2 = ShowWindow(&g708, (int32_t)&g708); *(int32_t *)(g9 - 4) = 1; *(int32_t *)(g9 - 8) = v2; g2 = EnableWindow(&g708, (bool)&g708); *(int32_t *)(g9 - 4) = v2; SetFocus(&g708); g2 = g630; if (g630 != 0) { // 0x1e2fed5 *(int32_t *)(g9 - 4) = g630; *(int32_t *)(g9 - 8) = v2; g2 = SetWindowTextA(&g708, (char *)&g708); *(int32_t *)(g9 - 4) = -1; *(int32_t *)(g9 - 8) = 0; *(int32_t *)(g9 - 12) = 177; *(int32_t *)(g9 - 16) = v2; int32_t v11 = SendMessageA(&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e2fee7 g2 = v11; } // 0x1e2feed *(int32_t *)(g9 - 4) = 0; *(int32_t *)(g9 - 8) = 31; *(int32_t *)(g9 - 12) = 197; *(int32_t *)(g9 - 16) = v2; int32_t v12 = SendMessageA(&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e2fef7 v5 = v12; goto lab_0x1e2ff08; } else { // 0x1e2fe91 g629 = 0; g2 = 1; result = 1; return result; } } } else { if (a2 == 273) { // 0x1e2ff27 g2 = a3; if (a3 == 2) { // 0x1e2ff43 g2 = 0; g629 = 0; EndDialog((int32_t *)hWnd, 0); g2 = 1; result = 1; return result; } else { if (a3 == 111) { // 0x1e2ff5e int32_t v13; // 0x1e2ffb0 if (g629 == 1) { int32_t nIDDlgItem = (int32_t)g632 + 601; // 0x1e2ff77 g2 = nIDDlgItem; int32_t lpString; // bp-260 GetDlgItemTextA((int32_t *)hWnd, nIDDlgItem, (char *)&lpString, 32); g2 = &lpString; int32_t v14 = *(int32_t *)&g632; // 0x1e2ff924 g2 = function_1e30257(g633, g631, &lpString, v14); g629 = g4; v13 = g9; } else { v13 = &v4; } // 0x1e2ffb0 *(int32_t *)(v13 - 4) = 0; *(int32_t *)(v13 - 8) = hWnd; EndDialog(&g708, (int32_t)&g708); g2 = 1; result = 1; return result; } else { if (a3 == 112) { int32_t lpString2 = function_1e25763(41); // 0x1e2ffca g2 = lpString2; g5 = v1; g2 = (int32_t)lstrcpyA((char *)&lpString1, (char *)lpString2); g5 = v1; int32_t lpText = function_1e25763(40); // 0x1e2ffec g2 = lpText; int32_t * hWnd2 = (int32_t *)hWnd; // 0x1e2fff5 int32_t v15 = MessageBoxA(hWnd2, (char *)lpText, (char *)&g708, (int32_t)&g708); // 0x1e2fff5 g2 = v15; if (v15 == 1) { // 0x1e30004 g2 = g633; g2 = function_1e30212(g633); g2 = EndDialog(hWnd2, (int32_t)(g629 != g8)); } } // 0x1e2fe31 g2 = 0; result = 0; return result; } } } else { // 0x1e2fe31 g2 = 0; result = 0; return result; } } } lab_0x1e2fe33: // 0x1e2fe33 return result; lab_0x1e2ff08: // 0x1e2ff08 g2 = v5; *(int32_t *)(g9 - 4) = hWnd; int32_t * v16 = GetParent(&g708); // 0x1e2ff0b int32_t v17 = (int32_t)v16; // 0x1e2ff0b g2 = v17; if (v16 != NULL) { // 0x1e2ff19 *(int32_t *)(g9 - 4) = hWnd; *(int32_t *)(g9 - 8) = v17; g2 = function_1e24068((int32_t)&g708, (int32_t)&g708); } // 0x1e2fe31 g2 = 0; result = 0; return result; } // Address range: 0x1e3002b - 0x1e3015a int32_t function_1e3002b(int32_t a1, int32_t * a2, int32_t a3) { int32_t v1 = (int32_t)a2; int32_t v2 = g3; // 0x1e3002b int32_t v3 = v2; // bp-4 g3 = &v3; g8 = a1; int32_t v4; // 0x1e30151 int32_t result; // 0x1e30157 int32_t v5; // 0x1e30156 if (a1 != -999) { // 0x1e3004a int32_t lpString1; // bp-20 int32_t v6 = &lpString1; // 0x1e3004f g2 = v6; lstrcpyA((char *)&lpString1, ","); int32_t lpdwDisposition; // bp-28 g2 = &lpdwDisposition; int64_t phkResult; // bp-8 g5 = &phkResult; int32_t v7 = RegCreateKeyExA(HKEY_CURRENT_USER, "Control Panel\\International", 0, NULL, 0, 0xf003f, NULL, (int32_t **)&phkResult, &lpdwDisposition); // 0x1e30076 g2 = v7; if (v7 == 0) { // 0x1e30080 int32_t lpcbData; // bp-24 g2 = &lpcbData; g5 = v6; lpcbData = 10; int32_t * lpReserved = (int32_t *)0; // 0x1e30099 int32_t v8 = RegQueryValueExA((int32_t *)(int32_t)phkResult, "sThousand", lpReserved, lpReserved, (char *)&lpString1, &lpcbData); // 0x1e30099 g2 = v8; g2 = RegCloseKey((int32_t *)(int32_t)phkResult); } int32_t v9 = g8; // 0x1e300ad int64_t v10 = 0x100000000 * (int64_t)(v9 >> 31) | (int64_t)v9; // 0x1e300b0 int32_t v11 = v10 / 0x3b9aca00; // 0x1e300b0 int64_t v12 = v10 % 0x3b9aca00; // 0x1e300b0 g4 = v11; int32_t v13 = (0x100000000 * (int64_t)((int32_t)v12 >> 31) | v12 & 0xffffffff) / 0xf4240; // 0x1e300c1 g5 = v13; int64_t v14 = v10 % 0xf4240; // 0x1e300c8 int32_t v15 = (0x100000000 * (int64_t)((int32_t)v14 >> 31) | v14 & 0xffffffff) / 1000; // 0x1e300d2 phkResult = 1000; g6 = v15; g2 = v10 / 1000; int32_t v16 = v10 % 1000; // 0x1e300e0 int32_t v17; // 0x1e3015112 if (v11 < 1) { if (v13 < 1) { int32_t * v18 = (int32_t *)(g9 - 4); // 0x1e3013d if (v15 < 1) { // 0x1e3013d *v18 = v9; *(int32_t *)(g9 - 8) = (int32_t)"%ld"; *(int32_t *)(g9 - 12) = v1; g2 = function_1e3d7a0((int32_t)phkResult, (char *)&g708); v17 = g9 + 12; } else { // 0x1e30125 *v18 = v16; g2 = v6; *(int32_t *)(g9 - 8) = v6; *(int32_t *)(g9 - 12) = v15; *(int32_t *)(g9 - 16) = (int32_t)"%ld%s%03ld"; *(int32_t *)(g9 - 20) = v1; g2 = function_1e3d7a0((int32_t)phkResult, (char *)&g708); v17 = g9 + 20; } } else { // 0x1e30107 *(int32_t *)(g9 - 4) = v16; g2 = v6; *(int32_t *)(g9 - 8) = v6; *(int32_t *)(g9 - 12) = v15; *(int32_t *)(g9 - 16) = v6; *(int32_t *)(g9 - 20) = v13; *(int32_t *)(g9 - 24) = (int32_t)"%ld%s%03ld%s%03ld"; *(int32_t *)(g9 - 28) = v1; g2 = function_1e3d7a0((int32_t)phkResult, (char *)&g708); v17 = g9 + 28; } } else { // 0x1e300e7 *(int32_t *)(g9 - 4) = v16; g2 = v6; *(int32_t *)(g9 - 8) = v6; *(int32_t *)(g9 - 12) = v15; *(int32_t *)(g9 - 16) = v6; *(int32_t *)(g9 - 20) = v13; *(int32_t *)(g9 - 24) = v6; *(int32_t *)(g9 - 28) = v11; *(int32_t *)(g9 - 32) = (int32_t)"%ld%s%03ld%s%03ld%s%03ld"; *(int32_t *)(g9 - 36) = v1; g2 = function_1e3d7a0((int32_t)phkResult, (char *)&g708); v17 = g9 + 36; } // 0x1e3014e g2 = v1; result = v1; v5 = v3; v4 = v17; } else { // 0x1e3003f g2 = v1; *(char *)a2 = 0; result = g2; v5 = v2; v4 = g9; } // 0x1e30151 g6 = *(int32_t *)v4; g8 = *(int32_t *)(v4 + 4); g4 = *(int32_t *)(v4 + 8); g3 = v5; return result; } // Address range: 0x1e3015a - 0x1e301b5 int32_t function_1e3015a(int32_t a1, int32_t a2, int32_t a3, int32_t a4) { // 0x1e3015a g4 = 0; g8 = 0; int32_t v1 = a1 + 32; // 0x1e30165 g6 = v1; int32_t v2 = 0; // 0x1e30179 int32_t result; // 0x1e301a2 while (true) { // 0x1e30168 int32_t v3; // 0x1e30193 int32_t v4; // 0x1e30196 if (g629 == 1) { // 0x1e30171 if (v2 == (int32_t)g632) { // 0x1e30179 *(int32_t *)(g9 - 4) = v2; g2 = g631; *(int32_t *)(g9 - 8) = g631; g4 = 1; *(int32_t *)(g9 - 12) = (int32_t)&g58; *(int32_t *)(g9 - 16) = *(int32_t *)(g9 + 16); int32_t v5 = function_1e301b5((int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e3018e g2 = v5; v4 = g6; v3 = g8; } else { v4 = v1; v3 = v2; } } else { v4 = v1; v3 = v2; } int32_t v6 = g4 + v3; // 0x1e30193 g2 = v6; *(int32_t *)(g9 - 4) = v6; g8++; *(int32_t *)(g9 - 8) = *(int32_t *)g6; *(int32_t *)(g9 - 12) = v4 - 32; *(int32_t *)(g9 - 16) = *(int32_t *)(g9 + 16); result = function_1e301b5((int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708); g2 = result; int32_t v7 = g6 + 36; // 0x1e301a7 g6 = v7; int32_t v8 = g8; // 0x1e301aa if (v8 >= 5) { // break -> 0x1e301af break; } v1 = v7; v2 = v8; } // 0x1e301af g6 = *(int32_t *)g9; g8 = *(int32_t *)(g9 + 4); return result; } // Address range: 0x1e301b5 - 0x1e30212 int32_t function_1e301b5(int32_t a1, int32_t lpString, int32_t a3, uint32_t a4) { // 0x1e301b5 char lpString2; // bp-40 int32_t v1 = &lpString2; // 0x1e301b8 int32_t v2 = g8; // 0x1e301bb if (a4 >= 5) { // 0x1e3020b g8 = *(int32_t *)g9; return g2; } // 0x1e301c4 g2 = v1; int32_t v3 = function_1e3002b(a3, (int32_t *)&lpString2, v2); // 0x1e301cb g2 = v3; int32_t result; // 0x1e30205 if (lpString2 != 0) { int32_t nIDDlgItem = g8 + 401; // 0x1e301d6 g2 = nIDDlgItem; int32_t * hDlg = (int32_t *)a1; // 0x1e301e6 int32_t * hWnd = GetDlgItem(hDlg, nIDDlgItem); // 0x1e301e6 g2 = (int32_t)hWnd; g2 = SetWindowTextA(hWnd, (char *)lpString); int32_t * hWnd2 = GetDlgItem(hDlg, g8 + 501); // 0x1e301fa g2 = (int32_t)hWnd2; g5 = v1; result = SetWindowTextA(hWnd2, &lpString2); g2 = result; } else { result = v3; } // 0x1e3020b g8 = *(int32_t *)g9; return result; } // Address range: 0x1e30212 - 0x1e30231 int32_t function_1e30212(int32_t a1) { // 0x1e30212 g2 = 5; int32_t v1 = a1 + 32; // 0x1e3021b g5 = v1; *(int32_t *)v1 = -999; int32_t v2 = g5; // 0x1e30224 g5 = v2 + 36; int32_t v3 = g2 - 1; // 0x1e30227 g2 = v3; *(char *)(v2 - 32) = 0; while (v3 != 0) { // 0x1e3021e *(int32_t *)g5 = -999; v2 = g5; g5 = v2 + 36; v3 = g2 - 1; g2 = v3; *(char *)(v2 - 32) = 0; } // 0x1e3022e return g2; } // Address range: 0x1e30231 - 0x1e30257 int32_t function_1e30231(int32_t a1, int32_t a2) { // 0x1e30231 g7 = a2; if (a2 < 1) { lab_0x1e3024f_2: // 0x1e3024f g2 = -1; // 0x1e30254 return -1; } // 0x1e30239 g2 = 0; int32_t v1 = a1 + 32; // 0x1e3023f g5 = v1; int32_t result = 0; // 0x1e30249 while (true) { // 0x1e30242 if (*(int32_t *)v1 < a2) { // break -> 0x1e30254 break; } int32_t v2 = v1 + 36; // 0x1e30246 g5 = v2; int32_t v3 = result + 1; // 0x1e30249 g2 = v3; if (v3 >= 5) { goto lab_0x1e3024f_2; } result = v3; v1 = v2; } // 0x1e30254 return result; } // Address range: 0x1e30257 - 0x1e302c4 int32_t function_1e30257(int32_t a1, int32_t a2, int32_t * a3, int32_t result) { int32_t v1 = g3; // bp-16 int32_t v2; // 0x1e302bd if (result >= 0) { // 0x1e30263 if (result <= 4) { // 0x1e3026c g2 = 5 - result; int32_t v3 = a1 + 144; // 0x1e30283 int32_t v4 = v3 - 36; // 0x1e3027b g5 = 9; __asm_rep_movsd_memcpy((char *)v3, (char *)v4, 9); g5 = 0; int32_t v5 = g2 - 1; // 0x1e30288 g2 = v5; while (v5 != 0) { // 0x1e30279 v3 = v4; v4 = v3 - 36; g5 = 9; __asm_rep_movsd_memcpy((char *)v3, (char *)v4, 9); g5 = 0; v5 = g2 - 1; g2 = v5; } } // 0x1e3028b g5 = a2; int32_t v6 = 36 * result; // 0x1e30291 g2 = v6; int32_t lpString = (int32_t)a3; // esi *(int32_t *)(v6 + 32 + a1) = a2; int32_t v7 = g2; // 0x1e3029c int32_t v8 = lstrlenA((char *)lpString); // 0x1e302a0 g2 = v8; if (v8 >= 31) { // 0x1e302ab *(char *)(lpString + 31) = 0; } int32_t lpString1 = a1 + v7; // 0x1e302b0 g2 = (int32_t)lstrcpyA((char *)lpString1, (char *)lpString); *(char *)(lpString1 + 31) = 0; v2 = g9; } else { v2 = &v1; } // 0x1e302bb g2 = result; g4 = *(int32_t *)(v2 + 12); return result; } // Address range: 0x1e302c4 - 0x1e302d9 int32_t function_1e302c4(int32_t a1, int32_t a2) { int32_t result = function_1e3dd80(a1, (int32_t *)a2, 10); // 0x1e302ce g2 = result; return result; } // Address range: 0x1e302d9 - 0x1e30439 int32_t function_1e302d9(int32_t a1) { // 0x1e302d9 int32_t v1; // bp-36 int32_t v2 = &v1; // 0x1e302dc g6 = 0; g2 = function_1e30212(a1); int32_t v3 = function_1e25371(300); // 0x1e302f1 g2 = v3; g8 = v3; int32_t result; if (v3 == 0) { result = 1; // 0x1e30430 g2 = result; return result; } int32_t v4 = function_1e25371(300); // 0x1e3030b g2 = v4; int32_t v5 = function_1e25763(166); // 0x1e3032e g2 = v5; g4 = a1; for (int32_t i = 0; i < 5; i++) { // 0x1e30340 *(int32_t *)(g9 - 4) = 10; g2 = v2; *(int32_t *)(g9 - 8) = v2; *(int32_t *)(g9 - 12) = i; g2 = function_1e3dce0((int32_t)&g708, &g708, (int32_t)&g708); g5 = v2; *(int32_t *)(g9 + 8) = (int32_t)".Name"; *(int32_t *)(g9 + 4) = v2; g2 = (int32_t)lstrcatA((char *)&g708, (char *)&g708); *(int32_t *)(g9 - 4) = 32; g5 = v2; *(int32_t *)(g9 - 8) = (int32_t)&g25; *(int32_t *)(g9 - 12) = v3; *(int32_t *)(g9 - 16) = v2; *(int32_t *)(g9 - 20) = v5; int32_t v6 = function_1e2561a((int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e3036f g2 = v6; *(char *)(v3 + 32) = 0; *(int32_t *)(g9 - 4) = v3; *(int32_t *)(g9 - 8) = g4; lstrcpyA((char *)&g708, (char *)&g708); *(int32_t *)(g9 - 4) = 10; g2 = v2; *(int32_t *)(g9 - 8) = v2; *(int32_t *)(g9 - 12) = i; g2 = function_1e3dce0((int32_t)&g708, &g708, (int32_t)&g708); g5 = v2; *(int32_t *)(g9 + 8) = (int32_t)".Score"; *(int32_t *)(g9 + 4) = v2; g2 = (int32_t)lstrcatA((char *)&g708, (char *)&g708); *(int32_t *)(g9 - 4) = 300; g5 = v2; *(int32_t *)(g9 - 8) = (int32_t)&g25; *(int32_t *)(g9 - 12) = v3; *(int32_t *)(g9 - 16) = v2; *(int32_t *)(g9 - 20) = v5; int32_t v7 = function_1e2561a((int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e303b2 g2 = v7; *(int32_t *)(g9 - 4) = v3; int32_t v8 = function_1e3dad0((int32_t)&g708); // 0x1e303b8 g2 = v8; *(int32_t *)(g4 + 32) = v8; *(int32_t *)(g9 - 4) = g4; int32_t v9 = lstrlenA((char *)&g708) - 1; // 0x1e303ca g2 = v9; int32_t v10; // 0x1e303d6 int32_t v11; // 0x1e303d9 if (v9 < 0) { // 0x1e30340 v11 = g4; v10 = g6; } else { int32_t v12 = g4; int32_t v13 = g6; // 0x1e303d1 while (true) { int32_t v14 = (int32_t)*(char *)(v9 + v12); // 0x1e303cd g5 = v14; int32_t v15 = v14 + v13; // 0x1e303d1 int32_t v16 = v9 - 1; // 0x1e303d3 g2 = v16; if (v16 < 0) { v11 = v12; v10 = v15; // break -> 0x1e303d6 break; } v13 = v15; v9 = v16; } } // 0x1e303d6 g6 = *(int32_t *)(v11 + 32) + v10; g4 = v11 + 36; } // 0x1e303e9 *(int32_t *)(g9 - 4) = v3; *(int32_t *)(g9 - 8) = g6; g2 = function_1e302c4((int32_t)&g708, (int32_t)&g708); *(int32_t *)(g9 - 4) = 300; *(int32_t *)(g9 - 8) = (int32_t)&g25; *(int32_t *)(g9 - 12) = v4; *(int32_t *)(g9 - 16) = (int32_t)"Verification"; *(int32_t *)(g9 - 20) = v5; int32_t v17 = function_1e2561a((int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e30405 g2 = v17; *(int32_t *)(g9 - 4) = v4; *(int32_t *)(g9 - 8) = v3; int32_t v18 = lstrcmpA((char *)&g708, (char *)&g708); // 0x1e3040e g2 = v18; if (v18 != 0) { // 0x1e30418 *(int32_t *)(g9 - 4) = a1; g2 = function_1e30212((int32_t)&g708); } // 0x1e30420 *(int32_t *)(g9 - 4) = v3; g2 = function_1e25401((int32_t)&g708); *(int32_t *)(g9 - 4) = v4; g2 = function_1e25401((int32_t)&g708); result = 0; // 0x1e30430 g2 = result; return result; } // Address range: 0x1e30439 - 0x1e3053c int32_t function_1e30439(int32_t * a1, int32_t * a2) { int32_t v1 = (int32_t)a1; int32_t v2; // bp-36 int32_t v3 = &v2; // 0x1e3043c g6 = 0; int32_t v4 = function_1e25371(300); // 0x1e30449 g2 = v4; int32_t result; if (v4 != g6) { // 0x1e3045f g4 = 0; int32_t v5 = function_1e25763(166); // 0x1e30467 g2 = v5; g8 = v1; int32_t v6 = g4; while (true) { // 0x1e30475 *(int32_t *)(g9 - 4) = 10; g2 = v3; *(int32_t *)(g9 - 8) = v3; *(int32_t *)(g9 - 12) = g4; g2 = function_1e3dce0((int32_t)&g708, &g708, (int32_t)&g708); g5 = v3; *(int32_t *)(g9 + 8) = (int32_t)".Name"; *(int32_t *)(g9 + 4) = v3; lstrcatA((char *)&g708, (char *)&g708); *(int32_t *)(g9 - 4) = g8; g2 = v3; *(int32_t *)(g9 - 8) = v3; *(int32_t *)(g9 - 12) = v5; int32_t v7 = function_1e256f7((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e3049b g2 = v7; *(int32_t *)(g9 - 4) = 10; g5 = v3; *(int32_t *)(g9 - 8) = v3; *(int32_t *)(g9 - 12) = g4; g2 = function_1e3dce0((int32_t)&g708, &g708, (int32_t)&g708); g5 = v3; *(int32_t *)(g9 + 8) = (int32_t)".Score"; *(int32_t *)(g9 + 4) = v3; g2 = (int32_t)lstrcatA((char *)&g708, (char *)&g708); *(int32_t *)(g9 - 4) = 10; *(int32_t *)(g9 - 8) = v4; *(int32_t *)(g9 - 12) = *(int32_t *)(g8 + 32); g2 = function_1e3dd80((int32_t)&g708, &g708, (int32_t)&g708); *(int32_t *)(g9 + 8) = v4; *(int32_t *)(g9 + 4) = v3; *(int32_t *)g9 = v5; int32_t v8 = function_1e256f7((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e304d8 g2 = v8; *(int32_t *)(g9 - 4) = g8; int32_t v9 = lstrlenA((char *)&g708) - 1; // 0x1e304e4 g2 = v9; int32_t v10 = g6; int32_t v11; // 0x1e304f8 if (v9 >= 0) { g5 = v1; int32_t v12 = (int32_t)*(char *)(v9 + v6 + v1) + v10; // 0x1e304f3 int32_t v13 = v9 - 1; // 0x1e304f5 g2 = v13; v11 = v12; while (v13 >= 0) { // 0x1e304e7 v9 = v13; g5 = v1; v12 += (int32_t)*(char *)(v9 + v6 + v1); v13 = v9 - 1; g2 = v13; v11 = v12; } } else { v11 = v10; } int32_t v14 = g8; // 0x1e304f8 g6 = *(int32_t *)(v14 + 32) + v11; g8 = v14 + 36; int32_t v15 = v6 + 36; // 0x1e304fe g4++; if (v15 >= 180) { // break -> 0x1e30510 break; } v6 = v15; } // 0x1e30510 *(int32_t *)(g9 - 4) = v4; *(int32_t *)(g9 - 8) = g6; g2 = function_1e302c4((int32_t)&g708, (int32_t)&g708); *(int32_t *)(g9 - 4) = v4; *(int32_t *)(g9 - 8) = (int32_t)"Verification"; *(int32_t *)(g9 - 12) = v5; int32_t v16 = function_1e256f7((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e30524 g2 = v16; *(int32_t *)(g9 - 4) = v4; g2 = function_1e25401((int32_t)&g708); result = 0; } else { result = 1; } // 0x1e30533 g2 = result; g6 = *(int32_t *)g9; g8 = *(int32_t *)(g9 + 4); return result; } // Address range: 0x1e3053c - 0x1e30593 int32_t function_1e3053c(int32_t a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5, int32_t a6, int32_t a7) { // 0x1e3053c g2 = a1; *(int32_t *)g5 = (int32_t)&g28; *(int32_t *)(g5 + 4) = g2; *(int32_t *)g5 = (int32_t)&g59; *(int32_t *)(g5 + 17) = a3; *(int32_t *)(g5 + 69) = a4; int32_t v1 = g5; // 0x1e3055f g8 = v1; g2 = a7; *(int32_t *)(v1 + 8) = a2; g5 = a5; *(int32_t *)(g8 + 73) = a5; *(int32_t *)(g8 + 77) = a6; int32_t v2 = g8; // 0x1e30579 g7 = v2 + 21; *(int32_t *)(v2 + 81) = g2; *(char *)(g8 + 12) = 0; function_1e3a8ce(g7, a4, g5, a6, g2); int32_t result = g8; // 0x1e3058c g2 = result; g8 = g7; g3 = a4; return result; } // Address range: 0x1e30593 - 0x1e30594 int32_t function_1e30593(void) { // 0x1e30593 return g2; } // Address range: 0x1e30594 - 0x1e305a4 int32_t function_1e30594(int32_t a1) { int32_t v1 = g5 + 21; // 0x1e30594 g5 = v1; int32_t result = function_1e3a97f(a1, v1); // 0x1e3059c g2 = result; return result; } // Address range: 0x1e305a4 - 0x1e30601 int32_t function_1e305a4(int32_t a1, int32_t a2, int32_t a3, int32_t * a4, int32_t * a5) { // 0x1e305a4 g2 = a1; *(int32_t *)g5 = (int32_t)&g28; *(int32_t *)(g5 + 4) = g2; *(int32_t *)g5 = (int32_t)&g59; *(int32_t *)(g5 + 17) = a3; g2 = (int32_t)a4; *(char *)(g5 + 12) = 0; int32_t v1 = g5; // 0x1e305c8 g8 = v1; g5 = a2; *(int32_t *)(v1 + 8) = a2; int32_t v2 = *(int32_t *)g2; // 0x1e305d0 g5 = v2; *(int32_t *)(g8 + 69) = v2; int32_t v3 = *(int32_t *)(g2 + 4); // 0x1e305d5 g2 = (int32_t)a5; *(int32_t *)(g8 + 73) = v3; int32_t v4 = *(int32_t *)g2; // 0x1e305de g5 = v4; *(int32_t *)(g8 + 77) = v4; int32_t v5 = *(int32_t *)(g2 + 4); // 0x1e305e3 *(int32_t *)(g8 + 81) = v5; int32_t v6 = g5; // 0x1e305ea int32_t v7 = g8; // 0x1e305eb int32_t v8 = v7 + 21; // 0x1e305eb g5 = v8; int32_t v9 = *(int32_t *)(v7 + 69); // 0x1e305f1 function_1e3a8ce(v8, v9, *(int32_t *)(v7 + 73), v6, v5); int32_t result = g8; // 0x1e305fa g2 = result; g8 = v8; g3 = v9; return result; } // Address range: 0x1e30601 - 0x1e3061f int32_t function_1e30601(int32_t a1, int32_t a2) { int32_t v1 = g5; // 0x1e30601 int32_t v2 = *(int32_t *)(v1 + 4); // 0x1e30601 g2 = v1 + 21; g5 = v1 + 57; int32_t result = *(int32_t *)v2; // 0x1e30611 g2 = result; g5 = v2; return result; } // Address range: 0x1e3061f - 0x1e30662 int32_t function_1e3061f(int32_t a1) { int32_t v1 = g5; // 0x1e3061f int32_t v2 = v1 + 21; // 0x1e3061f float80_t v3 = a1; // 0x1e30624 float80_t v4 = v3 * (float80_t)*(float32_t *)v2; // 0x1e30624 float80_t v5 = v3 * (float80_t)*(float32_t *)(v1 + 25); // st6 float32_t * v6 = (float32_t *)(v1 + 69); // 0x1e3062f *v6 = (float32_t)(v4 + (float80_t)*v6); float32_t * v7 = (float32_t *)(g5 + 73); // 0x1e30637 *v7 = (float32_t)((float80_t)*v7 + v5); float32_t * v8 = (float32_t *)(g5 + 77); // 0x1e30641 *v8 = (float32_t)(v4 + (float80_t)*v8); float32_t * v9 = (float32_t *)(g5 + 81); // 0x1e30647 *v9 = (float32_t)(v5 + (float80_t)*v9); int32_t v10 = g5; // 0x1e3064d int32_t v11 = *(int32_t *)(v10 + 81); // 0x1e3064d int32_t v12 = *(int32_t *)(v10 + 77); // 0x1e30650 int32_t v13 = *(int32_t *)(v10 + 73); // 0x1e30653 int32_t v14 = *(int32_t *)(v10 + 69); // 0x1e30656 int32_t result = function_1e3a8ce(v2, v14, v13, v12, v11); // 0x1e3065a g2 = result; return result; } // Address range: 0x1e30662 - 0x1e30c93 int32_t function_1e30662(void) { int32_t v1 = g5; // 0x1e30669 int32_t v2 = v1 + 69; // 0x1e3066d g5 = v2; int32_t v3 = (int32_t)g563; // 0x1e30671 int32_t v4 = *(int32_t *)v2; // 0x1e30677 g2 = v4; int32_t v5 = v3 + 24; // 0x1e3067c g6 = v5; int32_t v6 = v3 + 8; // 0x1e3067f g8 = v6; g4 = v3 + 16; float80_t v7 = v4; // 0x1e3068b float80_t v8 = v7 - (float80_t)*(float32_t *)v5; // 0x1e3068e float80_t v9 = v8 * (float80_t)*(float32_t *)v6; // 0x1e30690 int32_t v10; // edi int32_t v11; // esi g2 = function_1e3dbc0((int32_t)(float32_t)v9, v10, v11); g2 = *(int32_t *)g4 - 1; g11++; uint32_t v12 = (int32_t)__asm_fnstsw(g10); // 0x1e306a8 g2 = g2 & -0x10000 | v12; int3_t v13; // 0x1e306cd if ((v12 / 256 & 65) == 0) { float80_t v14 = v7 - (float80_t)*(float32_t *)g6; // 0x1e306bb float80_t v15 = v14 * (float80_t)*(float32_t *)g8; // 0x1e306c0 int32_t v16 = function_1e3dbc0((int32_t)(float32_t)v15, (int32_t)&g708, (int32_t)&g708); // 0x1e306c5 g2 = v16; v13 = g11; } else { // 0x1e306ad g2 = *(int32_t *)g4 - 1; v13 = g11 - 1; } // 0x1e306cd g11 = v13 + 1; uint32_t v17 = (int32_t)__asm_fnstsw(g10); // 0x1e306d5 g2 = g2 & -0x10000 | v17; int3_t v18; // 0x1e30738 if ((v17 / 256 & 1) == 0) { // 0x1e30730 g2 = 0; v18 = g11; } else { float80_t v19 = v7 - (float80_t)*(float32_t *)g6; // 0x1e306dd float80_t v20 = v19 * (float80_t)*(float32_t *)g8; // 0x1e306e2 int32_t v21 = function_1e3dbc0((int32_t)(float32_t)v20, (int32_t)&g708, (int32_t)&g708); // 0x1e306e7 g2 = v21; int32_t v22 = *(int32_t *)g4 - 1; // 0x1e306f1 g2 = v22; g11++; uint32_t v23 = (int32_t)__asm_fnstsw(g10); // 0x1e306fa g2 = g2 & -0x10000 | v23; int3_t v24; // 0x1e3071f float80_t v25; // 0x1e3071f if ((v23 / 256 & 65) == 0) { float80_t v26 = v7 - (float80_t)*(float32_t *)g6; // 0x1e3070d float80_t v27 = v26 * (float80_t)*(float32_t *)g8; // 0x1e30712 int32_t v28 = function_1e3dbc0((int32_t)(float32_t)v27, (int32_t)&g708, (int32_t)&g708); // 0x1e30717 g2 = v28; v25 = g684; v24 = g11; } else { int32_t v29 = *(int32_t *)g4 - 1; // 0x1e30701 g2 = v29; v25 = v29; v24 = g11 - 1; } // 0x1e3071f g2 = v22; g5 = (float32_t)v25; v18 = v24 + 1; } // 0x1e30738 g11 = v18 - 1; int32_t v30 = __ftol(); // 0x1e3073b int32_t v31 = (int32_t)g563; // 0x1e30740 int32_t v32 = v31 + 28; // 0x1e3074c g4 = v32; int32_t v33 = v31 + 12; // 0x1e3074f g6 = v33; int32_t v34 = v1 + 73; // 0x1e30752 g2 = v34; g8 = v31 + 20; int32_t v35 = *(int32_t *)v34; // 0x1e3075b g5 = v35; float80_t v36 = v35; // 0x1e30763 float80_t v37 = v36 - (float80_t)*(float32_t *)v32; // 0x1e30766 float80_t v38 = v37 * (float80_t)*(float32_t *)v33; // 0x1e30768 *(float64_t *)(g9 - 8) = (float64_t)v38; g2 = function_1e3dbc0(v34, v30, v35); g2 = *(int32_t *)g8 - 1; g11++; uint32_t v39 = (int32_t)__asm_fnstsw(g10); // 0x1e30780 g2 = g2 & -0x10000 | v39; int3_t v40; // 0x1e307a5 if ((v39 / 256 & 65) == 0) { float80_t v41 = v36 - (float80_t)*(float32_t *)g4; // 0x1e30793 float80_t v42 = v41 * (float80_t)*(float32_t *)g6; // 0x1e30798 *(float64_t *)(g9 - 8) = (float64_t)v42; int32_t v43 = function_1e3dbc0((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e3079d g2 = v43; v40 = g11; } else { // 0x1e30785 g2 = *(int32_t *)g8 - 1; v40 = g11 - 1; } // 0x1e307a5 g11 = v40 + 1; uint32_t v44 = (int32_t)__asm_fnstsw(g10); // 0x1e307ad g2 = g2 & -0x10000 | v44; int3_t v45; // 0x1e30810 if ((v44 / 256 & 1) == 0) { // 0x1e30808 g2 = 0; v45 = g11; } else { float80_t v46 = v36 - (float80_t)*(float32_t *)g4; // 0x1e307b5 float80_t v47 = v46 * (float80_t)*(float32_t *)g6; // 0x1e307ba *(float64_t *)(g9 - 8) = (float64_t)v47; int32_t v48 = function_1e3dbc0((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e307bf g2 = v48; int32_t v49 = *(int32_t *)g8 - 1; // 0x1e307c9 g2 = v49; g11++; uint32_t v50 = (int32_t)__asm_fnstsw(g10); // 0x1e307d2 g2 = g2 & -0x10000 | v50; int3_t v51; // 0x1e307f7 float80_t v52; // 0x1e307f7 if ((v50 / 256 & 65) == 0) { float80_t v53 = v36 - (float80_t)*(float32_t *)g4; // 0x1e307e5 float80_t v54 = v53 * (float80_t)*(float32_t *)g6; // 0x1e307ea *(float64_t *)(g9 - 8) = (float64_t)v54; int32_t v55 = function_1e3dbc0((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e307ef g2 = v55; v52 = g684; v51 = g11; } else { int32_t v56 = *(int32_t *)g8 - 1; // 0x1e307d9 g2 = v56; v52 = v56; v51 = g11 - 1; } // 0x1e307f7 g2 = v49; g5 = (float32_t)v52; v45 = v51 + 1; } // 0x1e30810 g11 = v45 - 1; g8 = __ftol(); int32_t v57 = (int32_t)g563; // 0x1e3081a g4 = v57; int32_t v58 = v57 + 8; // 0x1e30823 g6 = v58; int32_t v59 = v1 + 77; // 0x1e30826 g2 = v59; int32_t v60 = *(int32_t *)v59; // 0x1e3082f g5 = v60; float80_t v61 = v60; // 0x1e30834 float80_t v62 = v61 - (float80_t)*(float32_t *)(v57 + 24); // 0x1e30837 float80_t v63 = v62 * (float80_t)*(float32_t *)v58; // 0x1e3083a *(float64_t *)(g9 - 8) = (float64_t)v63; g2 = function_1e3dbc0(v59, (int32_t)&g708, (int32_t)&g708); g2 = *(int32_t *)(g4 + 16) - 1; g11++; uint32_t v64 = (int32_t)__asm_fnstsw(g10); // 0x1e30853 g2 = g2 & -0x10000 | v64; int3_t v65; // 0x1e3087a if ((v64 / 256 & 65) == 0) { float80_t v66 = v61 - (float80_t)*(float32_t *)(g4 + 24); // 0x1e30867 float80_t v67 = v66 * (float80_t)*(float32_t *)g6; // 0x1e3086d *(float64_t *)(g9 - 8) = (float64_t)v67; int32_t v68 = function_1e3dbc0((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e30872 g2 = v68; v65 = g11; } else { // 0x1e30858 g2 = *(int32_t *)(g4 + 16) - 1; v65 = g11 - 1; } // 0x1e3087a g11 = v65 + 1; uint32_t v69 = (int32_t)__asm_fnstsw(g10); // 0x1e30882 g2 = g2 & -0x10000 | v69; int3_t v70; // 0x1e308e9 if ((v69 / 256 & 1) == 0) { // 0x1e308e1 g2 = 0; v70 = g11; } else { float80_t v71 = v61 - (float80_t)*(float32_t *)(g4 + 24); // 0x1e3088a float80_t v72 = v71 * (float80_t)*(float32_t *)g6; // 0x1e30890 *(float64_t *)(g9 - 8) = (float64_t)v72; int32_t v73 = function_1e3dbc0((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e30895 g2 = v73; int32_t v74 = *(int32_t *)(g4 + 16) - 1; // 0x1e308a0 g2 = v74; g11++; uint32_t v75 = (int32_t)__asm_fnstsw(g10); // 0x1e308a9 g2 = g2 & -0x10000 | v75; int3_t v76; // 0x1e308d0 float80_t v77; // 0x1e308d0 if ((v75 / 256 & 65) == 0) { float80_t v78 = v61 - (float80_t)*(float32_t *)(g4 + 24); // 0x1e308bd float80_t v79 = v78 * (float80_t)*(float32_t *)g6; // 0x1e308c3 *(float64_t *)(g9 - 8) = (float64_t)v79; int32_t v80 = function_1e3dbc0((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e308c8 g2 = v80; v77 = g684; v76 = g11; } else { int32_t v81 = *(int32_t *)(g4 + 16) - 1; // 0x1e308b1 g2 = v81; v77 = v81; v76 = g11 - 1; } // 0x1e308d0 g2 = v74; g5 = (float32_t)v77; v70 = v76 + 1; } // 0x1e308e9 g11 = v70 - 1; int32_t v82 = __ftol(); // 0x1e308ec int32_t v83 = (int32_t)g563; // 0x1e308f1 g4 = v83; g6 = v83 + 20; int32_t v84 = v1 + 81; // 0x1e30900 g2 = v84; int32_t v85 = *(int32_t *)v84; // 0x1e30909 g5 = v85; float80_t v86 = v85; // 0x1e3090e float80_t v87 = v86 - (float80_t)*(float32_t *)(v83 + 28); // 0x1e30911 float80_t v88 = v87 * (float80_t)*(float32_t *)(v83 + 12); // 0x1e30914 *(float64_t *)(g9 - 8) = (float64_t)v88; g2 = function_1e3dbc0(v84, (int32_t)&g708, (int32_t)&g708); g2 = *(int32_t *)g6 - 1; g11++; uint32_t v89 = (int32_t)__asm_fnstsw(g10); // 0x1e3092d g2 = g2 & -0x10000 | v89; int3_t v90; // 0x1e30954 if ((v89 / 256 & 65) == 0) { int32_t v91 = g4; // 0x1e30940 float80_t v92 = v86 - (float80_t)*(float32_t *)(v91 + 28); // 0x1e30940 float80_t v93 = v92 * (float80_t)*(float32_t *)(v91 + 12); // 0x1e30946 *(float64_t *)(g9 - 8) = (float64_t)v93; int32_t v94 = function_1e3dbc0((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e3094c g2 = v94; v90 = g11; } else { // 0x1e30932 g2 = *(int32_t *)g6 - 1; v90 = g11 - 1; } // 0x1e30954 g11 = v90 + 1; uint32_t v95 = (int32_t)__asm_fnstsw(g10); // 0x1e3095c g2 = g2 & -0x10000 | v95; if ((v95 / 256 & 1) == 0) { // 0x1e309bb g2 = 0; } else { int32_t v96 = g4; // 0x1e30964 float80_t v97 = v86 - (float80_t)*(float32_t *)(v96 + 28); // 0x1e30964 float80_t v98 = v97 * (float80_t)*(float32_t *)(v96 + 12); // 0x1e3096a *(float64_t *)(g9 - 8) = (float64_t)v98; int32_t v99 = function_1e3dbc0((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e30970 g2 = v99; int32_t v100 = *(int32_t *)g6 - 1; // 0x1e3097a g2 = v100; g11++; uint32_t v101 = (int32_t)__asm_fnstsw(g10); // 0x1e30983 g2 = g2 & -0x10000 | v101; float80_t v102; // 0x1e309aa if ((v101 / 256 & 65) == 0) { int32_t v103 = g4; // 0x1e30996 float80_t v104 = v86 - (float80_t)*(float32_t *)(v103 + 28); // 0x1e30996 float80_t v105 = v104 * (float80_t)*(float32_t *)(v103 + 12); // 0x1e3099c *(float64_t *)(g9 - 8) = (float64_t)v105; int32_t v106 = function_1e3dbc0((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e309a2 g2 = v106; v102 = g684; } else { int32_t v107 = *(int32_t *)g6 - 1; // 0x1e3098a g2 = v107; v102 = v107; } // 0x1e309aa g2 = v100; g5 = (float32_t)v102; } int32_t v108 = __ftol(); // 0x1e309c6 g5 = v2; float32_t * v109 = (float32_t *)v108; // 0x1e309ce g2 = v59; int16_t v110 = __asm_fnstsw(g10); // 0x1e309d8 g5 = v84; g2 = v34; int16_t v111 = __asm_fnstsw(g10); // 0x1e309f4 int32_t v112 = (v111 & 256) == 0 ? -1 : 1; g2 = v112; int32_t v113 = g8; // 0x1e30a06 int32_t result; // 0x1e30c7d if (v108 != v113) { // 0x1e30a5c g2 = v30; if (v82 != v30) { // 0x1e30ab6 g2 = v34; g5 = v84; float32_t v114 = *(float32_t *)v84; // 0x1e30ac1 float80_t v115 = (float80_t)*(float32_t *)v2; // 0x1e30ac3 g2 = v59; g5 = v34; g6 = v30; *(int32_t *)(g9 - 4) = v1; *(int32_t *)(g9 - 8) = g8; float80_t v116 = (float80_t)*(float32_t *)v34 - (float80_t)v114; // 0x1e30ad4 *(int32_t *)(g9 - 12) = g6; float80_t v117 = v116 / (v115 - (float80_t)*(float32_t *)v59); // 0x1e30ad7 g5 = (int32_t)g563; g2 = function_1e30f1c(v112, (int32_t)(float32_t)v117); int32_t v118 = g6; if (((int32_t)v110 / 256 & 65) != 0) { if ((v111 & 256) == 0) { while (true) { // 0x1e30c32 g2 = (int32_t)g563; uint32_t v119 = (int32_t)__asm_fnstsw(g10); // 0x1e30c5d g2 = g2 & -0x10000 | v119; if ((v119 / 256 & 65) == 0) { // 0x1e30c62 g6--; } else { uint32_t v120 = (int32_t)__asm_fnstsw(g10); // 0x1e30c6b g2 = g2 & -0x10000 | v120; if ((v120 / 256 & 64) != 0) { // 0x1e30c70 g6--; } // 0x1e30c71 g8--; } // 0x1e30c72 *(int32_t *)(g9 - 4) = v1; *(int32_t *)(g9 - 8) = g8; *(int32_t *)(g9 - 12) = g6; g5 = (int32_t)g563; result = function_1e30f1c((int32_t)&g708, (int32_t)&g708); g2 = result; if (v82 != g6) { // continue -> 0x1e30c32 continue; } // 0x1e30c87 if (v108 == g8) { // break -> 0x1e30c8c break; } } } else { while (true) { // 0x1e30bd0 g5 = g8 + 1; g2 = (int32_t)g563; uint32_t v121 = (int32_t)__asm_fnstsw(g10); // 0x1e30bfe g2 = g2 & -0x10000 | v121; if ((v121 / 256 & 1) == 0) { // 0x1e30c06 g8 = g5; uint32_t v122 = (int32_t)__asm_fnstsw(g10); // 0x1e30c0e g2 = g2 & -0x10000 | v122; if ((v122 / 256 & 64) != 0) { // 0x1e30c13 g6--; g8 = g5; } } else { // 0x1e30c03 g6--; } // 0x1e30c16 *(int32_t *)(g9 - 4) = v1; *(int32_t *)(g9 - 8) = g8; *(int32_t *)(g9 - 12) = g6; g5 = (int32_t)g563; int32_t v123 = function_1e30f1c((int32_t)&g708, (int32_t)&g708); // 0x1e30c21 g2 = v123; if (v82 != g6) { // continue -> 0x1e30bd0 continue; } // 0x1e30c2b if (v108 == g8) { result = v123; // break -> 0x1e30c8c break; } } } } else { if ((v111 & 256) == 0) { while (true) { // 0x1e30b66 g2 = (int32_t)g563; g5 = v118 + 1; uint32_t v124 = (int32_t)__asm_fnstsw(g10); // 0x1e30b94 g2 = g2 & -0x10000 | v124; if ((v124 / 256 & 65) == 0) { // 0x1e30b99 g6 = g5; } else { uint32_t v125 = (int32_t)__asm_fnstsw(g10); // 0x1e30ba3 g2 = g2 & -0x10000 | v125; if ((v125 / 256 & 64) != 0) { // 0x1e30ba8 g6 = g5; } // 0x1e30baa g8--; } // 0x1e30bab *(int32_t *)(g9 - 4) = v1; *(int32_t *)(g9 - 8) = g8; *(int32_t *)(g9 - 12) = g6; g5 = (int32_t)g563; int32_t v126 = function_1e30f1c((int32_t)&g708, (int32_t)&g708); // 0x1e30bb6 g2 = v126; int32_t v127 = g6; // 0x1e30bbb if (v82 != v127) { v118 = v127; // continue -> 0x1e30b66 continue; } // 0x1e30bc0 if (v108 == g8) { result = v126; // break -> 0x1e30c8c break; } v118 = v127; } } else { while (true) { // 0x1e30afc g5 = g8 + 1; g2 = (int32_t)g563; int32_t v128 = v118 + 1; // edx uint32_t v129 = (int32_t)__asm_fnstsw(g10); // 0x1e30b2d g2 = g2 & -0x10000 | v129; if ((v129 / 256 & 1) == 0) { // 0x1e30b36 g8 = g5; uint32_t v130 = (int32_t)__asm_fnstsw(g10); // 0x1e30b3e g2 = g2 & -0x10000 | v130; if ((v130 / 256 & 64) != 0) { // 0x1e30b43 g6 = v128; g8 = g5; } } else { // 0x1e30b32 g6 = v128; } // 0x1e30b47 *(int32_t *)(g9 - 4) = v1; *(int32_t *)(g9 - 8) = g8; *(int32_t *)(g9 - 12) = g6; g5 = (int32_t)g563; int32_t v131 = function_1e30f1c((int32_t)&g708, (int32_t)&g708); // 0x1e30b52 g2 = v131; int32_t v132 = g6; // 0x1e30b57 if (v82 != v132) { v118 = v132; // continue -> 0x1e30afc continue; } // 0x1e30b5c if (v108 == g8) { result = v131; // break -> 0x1e30c8c break; } v118 = v132; } } } } else { float32_t * v133 = (float32_t *)v113; // 0x1e30a90 if ((v111 & 256) == 0) { if (v109 <= v133) { *(int32_t *)(g9 - 4) = v1; *(int32_t *)(g9 - 8) = g8; g5 = (int32_t)g563; g8--; *(int32_t *)(g9 - 12) = v30; int32_t v134 = function_1e30f1c((int32_t)&g708, (int32_t)&g708); // 0x1e30aa7 g2 = v134; result = v134; while (v109 <= (float32_t *)g8) { // 0x1e30a99 *(int32_t *)(g9 - 4) = v1; *(int32_t *)(g9 - 8) = g8; g5 = (int32_t)g563; g8--; *(int32_t *)(g9 - 12) = v30; v134 = function_1e30f1c((int32_t)&g708, (int32_t)&g708); g2 = v134; result = v134; } } else { result = v30; } } else { if (v109 >= v133) { *(int32_t *)(g9 - 4) = v1; *(int32_t *)(g9 - 8) = g8; g5 = (int32_t)g563; g8++; *(int32_t *)(g9 - 12) = v30; int32_t v135 = function_1e30f1c((int32_t)&g708, (int32_t)&g708); // 0x1e30a81 g2 = v135; result = v135; while (v109 >= (float32_t *)g8) { // 0x1e30a73 *(int32_t *)(g9 - 4) = v1; *(int32_t *)(g9 - 8) = g8; g5 = (int32_t)g563; g8++; *(int32_t *)(g9 - 12) = v30; v135 = function_1e30f1c((int32_t)&g708, (int32_t)&g708); g2 = v135; result = v135; } } else { result = v30; } } } } else { // 0x1e30a0b g6 = v30; float32_t * v136 = (float32_t *)v82; // 0x1e30a38 float32_t * v137 = (float32_t *)v30; // 0x1e30a38 if (((int32_t)v110 / 256 & 65) != 0) { if (v136 <= v137) { *(int32_t *)(g9 - 4) = v1; *(int32_t *)(g9 - 8) = g8; *(int32_t *)(g9 - 12) = g6; g5 = (int32_t)g563; g6--; int32_t v138 = function_1e30f1c((int32_t)&g708, (int32_t)&g708); // 0x1e30a4d g2 = v138; result = v138; while (v136 <= (float32_t *)g6) { // 0x1e30a41 *(int32_t *)(g9 - 4) = v1; *(int32_t *)(g9 - 8) = g8; *(int32_t *)(g9 - 12) = g6; g5 = (int32_t)g563; g6--; v138 = function_1e30f1c((int32_t)&g708, (int32_t)&g708); g2 = v138; result = v138; } } else { result = v112; } } else { if (v136 >= v137) { *(int32_t *)(g9 - 4) = v1; *(int32_t *)(g9 - 8) = g8; *(int32_t *)(g9 - 12) = g6; g5 = (int32_t)g563; g6++; int32_t v139 = function_1e30f1c((int32_t)&g708, (int32_t)&g708); // 0x1e30a29 g2 = v139; result = v139; while (v136 >= (float32_t *)g6) { // 0x1e30a1d *(int32_t *)(g9 - 4) = v1; *(int32_t *)(g9 - 8) = g8; *(int32_t *)(g9 - 12) = g6; g5 = (int32_t)g563; g6++; v139 = function_1e30f1c((int32_t)&g708, (int32_t)&g708); g2 = v139; result = v139; } } else { result = v112; } } } // 0x1e30c8c return result; } // Address range: 0x1e30c93 - 0x1e30cf2 int32_t function_1e30c93(int32_t a1, float32_t a2) { int32_t v1; // ebp g3 = &v1; int32_t v2; // bp-28 int32_t v3 = &v2; // 0x1e30c96 int32_t v4 = g5; // 0x1e30c9b float32_t v5 = *(float32_t *)(a1 + 54); // 0x1e30ca0 float32_t v6 = *(float32_t *)(a1 + 42); // 0x1e30ca6 float32_t v7 = (float80_t)a2 * (float80_t)v5 + (float80_t)v6; // 0x1e30ca9 g2 = v3; v2 = (int32_t)(v7 - *(float32_t *)(v4 + 21)); g2 = (float32_t)function_1e30d19(v3); int32_t v8 = *(int32_t *)(v4 + 4); // 0x1e30cd5 g5 = v8; int32_t result = *(int32_t *)v8; // 0x1e30ce4 g2 = result; return result; } // Address range: 0x1e30cf2 - 0x1e30cff int32_t function_1e30cf2(void) { int32_t v1 = g5; // 0x1e30cf4 int32_t v2 = v1 + 21; // 0x1e30cf5 g5 = v2; int32_t result = function_1e319ad(v2, v1, 0); // 0x1e30cf9 g2 = result; return result; } // Address range: 0x1e30cff - 0x1e30d19 int32_t function_1e30cff(int32_t a1, int32_t * a2) { // 0x1e30cff g2 = (int32_t)a2; g5 = a1; float32_t * v1 = (float32_t *)a1; // 0x1e30d09 *v1 = *(float32_t *)a2 + *v1; float32_t * v2 = (float32_t *)(g5 + 4); // 0x1e30d10 *v2 = *(float32_t *)(g2 + 4) + *v2; return g2; } // Address range: 0x1e30d19 - 0x1e30d5c float80_t function_1e30d19(int32_t a1) { // 0x1e30d19 g2 = a1; float32_t * v1 = (float32_t *)a1; // 0x1e30d23 float80_t v2 = (float80_t)*v1 * (float80_t)*v1; // 0x1e30d25 int32_t v3 = a1 + 4; // 0x1e30d27 g5 = v3; float32_t v4 = *(float32_t *)v3; // 0x1e30d2a float80_t result = sqrtl(v2 + (float80_t)v4 * (float80_t)v4); // 0x1e30d30 if (((int32_t)(float32_t)result & 0x7fffffff) != 0) { float80_t v5 = 1.0L / result; // 0x1e30d46 *v1 = (float32_t)(v5 * (float80_t)*v1); float32_t * v6 = (float32_t *)g5; // 0x1e30d4f *v6 = (float32_t)(v5 * (float80_t)*v6); } // 0x1e30d53 g11--; return result; } // Address range: 0x1e30d5c - 0x1e30da5 int32_t function_1e30d5c(int32_t a1, int32_t a2, int32_t a3, int32_t a4) { // 0x1e30d5c g2 = a1; float32_t * v1 = (float32_t *)a1; // 0x1e30d66 g5 = a4; float32_t * v2 = (float32_t *)a4; // 0x1e30d6b float80_t v3 = (float80_t)*v1 - (float80_t)*v2; // 0x1e30d6b float80_t v4 = a3; // 0x1e30d7c float80_t v5 = (float80_t)(*(float32_t *)(a1 + 4) - *(float32_t *)(a4 + 4)); // 0x1e30d7f float80_t v6 = a2; // 0x1e30d82 float32_t v7 = *v2; // 0x1e30d87 *v1 = (float32_t)(v4 * v3 - v6 * v5 + (float80_t)v7); float32_t v8 = *(float32_t *)(g5 + 4); // 0x1e30d99 *(float32_t *)(g2 + 4) = (float32_t)(v4 * v5 + v6 * (float80_t)(float32_t)v3 + (float80_t)v8); return g2; } // Address range: 0x1e30da5 - 0x1e30de3 int32_t function_1e30da5(int32_t a1, float80_t a2) { // 0x1e30da5 float32_t v1; // bp-12 g2 = &v1; float32_t v2; // bp-8 g5 = &v2; function_1e30e36((int32_t)(float32_t)a2, (int32_t *)&v2, (int32_t *)&v1); g2 = a1; float32_t * v3 = (float32_t *)a1; // 0x1e30dbe float32_t v4 = *v3; // 0x1e30dbe int32_t v5 = a1 + 4; // 0x1e30dc3 g5 = v5; float32_t v6 = *(float32_t *)v5; // 0x1e30dc6 *v3 = (float32_t)((float80_t)v4 * (float80_t)v1 - (float80_t)v6 * (float80_t)v2); float32_t * v7 = (float32_t *)g5; // 0x1e30dcf float32_t v8 = *v7; // 0x1e30dcf float32_t v9 = *(float32_t *)g2; // 0x1e30dd4 *v7 = (float32_t)((float80_t)v8 * (float80_t)v1 + (float80_t)v9 * (float80_t)v2); return g2; } // Address range: 0x1e30de3 - 0x1e30e04 float80_t function_1e30de3(int32_t a1, int32_t a2) { // 0x1e30de3 g2 = a1; g5 = a2; float80_t v1 = (float80_t)*(float32_t *)a1 - (float80_t)*(float32_t *)a2; // 0x1e30ded float32_t v2 = *(float32_t *)(a2 + 4); // 0x1e30df2 float80_t v3 = (float80_t)*(float32_t *)(a1 + 4) - (float80_t)v2; // 0x1e30df2 g11--; return sqrtl(v1 * v1 + v3 * v3); } // Address range: 0x1e30e04 - 0x1e30e1f float80_t function_1e30e04(float32_t a1, int32_t a2, int32_t a3, int32_t a4) { float80_t v1 = (float80_t)a1 - (float80_t)(float32_t)a3; // 0x1e30e0a float80_t v2 = (float80_t)(float32_t)a2 - (float80_t)(float32_t)a4; // 0x1e30e10 g11--; return v1 * v1 + v2 * v2; } // Address range: 0x1e30e1f - 0x1e30e36 float80_t function_1e30e1f(int32_t * a1, int32_t * a2) { int32_t v1 = (int32_t)a2; int32_t v2 = (int32_t)a1; g5 = v1; g2 = v2; float32_t v3 = *(float32_t *)(v1 + 4); // 0x1e30e27 float32_t v4 = *(float32_t *)(v2 + 4); // 0x1e30e2a float32_t v5 = *(float32_t *)a2; // 0x1e30e2d float32_t v6 = *(float32_t *)a1; // 0x1e30e2f g11--; return (float80_t)v3 * (float80_t)v4 + (float80_t)v5 * (float80_t)v6; } // Address range: 0x1e30e36 - 0x1e30e52 int32_t function_1e30e36(int32_t a1, int32_t * a2, int32_t * a3) { int32_t v1 = (int32_t)a3; g2 = (int32_t)a2; float80_t v2 = a1; // 0x1e30e3d float80_t v3; if (fabsl(v2) < 9223372036854775808.0L) { float80_t v4 = sinl(v2); // 0x1e30e40 g5 = v1; *(float32_t *)a2 = (float32_t)v4; v3 = cosl(v2); } else { // .critedge g5 = v1; *(float32_t *)a2 = (float32_t)a1; v3 = v2; } // bb10 *(float32_t *)g5 = (float32_t)v3; return g2; } // Address range: 0x1e30e52 - 0x1e30edf int32_t function_1e30e52(int32_t a1, int32_t a2, float80_t a3, float80_t a4) { // 0x1e30e52 g2 = a1; int32_t v1 = g8; // 0x1e30e57 int32_t v2 = g6; // 0x1e30e58 *(int32_t *)(g5 + 24) = a1; *(int32_t *)(g5 + 16) = 10; *(int32_t *)(g5 + 20) = 15; int32_t v3 = g5; // 0x1e30e75 g8 = v3; g5 = a2; *(float32_t *)v3 = (float32_t)(0.1L * a3); *(int32_t *)(g8 + 28) = g5; *(float32_t *)(g8 + 4) = (float32_t)(0.0666666701436042785645L * a4); *(float32_t *)(g8 + 8) = 1.0f / *(float32_t *)&g5; int32_t v4 = g8; // 0x1e30e9b float80_t v5 = 1.0L / (float80_t)*(float32_t *)(v4 + 4); // 0x1e30e9b *(float32_t *)(v4 + 12) = (float32_t)v5; int32_t v6 = function_1e3df20(2404); // 0x1e30ea1 g2 = v6; int32_t result; // 0x1e30ed6 if (v6 == 0) { // 0x1e30ecf *(int32_t *)(g8 + 32) = 0; // 0x1e30ed6 result = g8; g2 = result; g6 = v2; g8 = v1; return result; } int32_t v7 = v6 + 4; // 0x1e30ead g3 = v7; g6 = 149; g4 = v7; *(int32_t *)v6 = 150; int32_t v8 = g4; // 0x1e30ebd g5 = v8; g4 = v8 + 16; g2 = function_1e30edf(); int32_t v9 = g6 - 1; // 0x1e30ec7 g6 = v9; while (v9 >= 0) { // 0x1e30ebd v8 = g4; g5 = v8; g4 = v8 + 16; g2 = function_1e30edf(); v9 = g6 - 1; g6 = v9; } // 0x1e30eca *(int32_t *)(g8 + 32) = g3; // 0x1e30ed6 result = g8; g2 = result; g6 = v2; g8 = v1; return result; } // Address range: 0x1e30edf - 0x1e30f07 int32_t function_1e30edf(void) { // 0x1e30edf g8 = g5; int32_t v1 = function_1e3a705(0); // 0x1e30ee4 g2 = v1; int32_t v2 = 0; // bp-12 *(int32_t *)(g8 + 4) = v1; *(int32_t *)g8 = 4; g2 = function_1e3a705(v2); *(int32_t *)(g8 + 8) = 1; *(int32_t *)(g8 + 12) = g2; int32_t result = g8; // 0x1e30f03 g2 = result; g8 = v2; return result; } // Address range: 0x1e30f07 - 0x1e30f1c int32_t function_1e30f07(void) { int32_t v1 = g5; // 0x1e30f08 g8 = v1; g2 = function_1e3a728(*(int32_t *)(v1 + 12)); int32_t v2 = *(int32_t *)(g8 + 4); // 0x1e30f12 int32_t result = function_1e3a728(v2); // 0x1e30f15 g2 = result; g8 = v2; return result; } // Address range: 0x1e30f1c - 0x1e30f54 int32_t function_1e30f1c(int32_t a1, int32_t a2) { int32_t v1 = g8; // bp-4 int32_t v2 = g5; // 0x1e30f1d int32_t v3 = *(int32_t *)(v2 + 32); // 0x1e30f2c int32_t v4 = 16 * (*(int32_t *)(v2 + 16) * a2 + a1) + v3; // 0x1e30f2c g7 = v4; int32_t v5 = v4 + 4; // 0x1e30f2f g8 = v5; int32_t v6 = *(int32_t *)v5; // 0x1e30f32 g5 = v6; int32_t v7 = *(int32_t *)v6; // 0x1e30f34 g2 = v7; int32_t v8; // 0x1e30f45 if (*(int32_t *)(v6 + 4) == v7) { int32_t v9 = function_1e3a739(v6, *(int32_t *)v4); // 0x1e30f3e g2 = v9; *(int32_t *)g8 = v9; v8 = g9; } else { v8 = &v1; } // 0x1e30f45 *(int32_t *)(v8 - 4) = *(int32_t *)(v8 + 16); *(int32_t *)(v8 - 8) = *(int32_t *)g8; int32_t result = function_1e3a6a7((int32_t)&g708, (int32_t)&g708); // 0x1e30f4b g2 = result; g8 = *(int32_t *)g9; return result; } // Address range: 0x1e30f54 - 0x1e30f8d int32_t function_1e30f54(int32_t a1, int32_t a2) { int32_t v1 = g8; // bp-4 int32_t v2 = g5; // 0x1e30f55 int32_t v3 = *(int32_t *)(v2 + 32); // 0x1e30f64 int32_t v4 = 16 * (*(int32_t *)(v2 + 16) * a2 + a1) + v3; // 0x1e30f64 g7 = v4; int32_t v5 = v4 + 12; // 0x1e30f67 g8 = v5; int32_t v6 = *(int32_t *)v5; // 0x1e30f6a g5 = v6; int32_t v7 = *(int32_t *)v6; // 0x1e30f6c g2 = v7; int32_t v8; // 0x1e30f7e if (*(int32_t *)(v6 + 4) == v7) { int32_t v9 = function_1e3a739(v6, *(int32_t *)(v4 + 8)); // 0x1e30f77 g2 = v9; *(int32_t *)g8 = v9; v8 = g9; } else { v8 = &v1; } // 0x1e30f7e *(int32_t *)(v8 - 4) = *(int32_t *)(v8 + 16); *(int32_t *)(v8 - 8) = *(int32_t *)g8; int32_t result = function_1e3a6a7((int32_t)&g708, (int32_t)&g708); // 0x1e30f84 g2 = result; g8 = *(int32_t *)g9; return result; }