#include "pinball.h" // Address range: 0x1e24359 - 0x1e24b5e int32_t function_1e24359(int32_t hWnd4, uint32_t a2, uint32_t a3, int32_t a4, char a5) { // 0x1e24359 int32_t lpPaint; // bp-88 int32_t v1 = &lpPaint; // 0x1e2435c int32_t v2 = g4; // 0x1e2435f int32_t v3 = g6; // 0x1e24361 g8 = a2; if (g664 == a2) { int32_t * hWnd = (int32_t *)hWnd4; bool v4 = IsIconic(hWnd); // 0x1e24370 g2 = v4; if (v4) { // 0x1e2437a g2 = ShowWindow(hWnd, 9); } // 0x1e24385 *(int32_t *)(g9 - 4) = hWnd4; SetForegroundWindow(&g708); g2 = 0; // 0x1e24b55 return 0; } // 0x1e24395 g2 = a2; int32_t v5; // esi int32_t v6; if (a2 < 29) { if (a2 == 28) { // 0x1e245ef g6 = 0; if (a3 == 0) { // 0x1e24635 g6 = 0; g155 = 0; g2 = function_1e25f24(0, v3, v5, v2); g2 = function_1e2807b(403, g6); int32_t v7 = g6; // 0x1e2464e g637 = v7; g2 = function_1e24310(v7); g2 = function_1e27960(); g2 = function_1e27bec(); v6 = a4; } else { // 0x1e245f6 g155 = 1; g2 = function_1e27977(); if (g635 != g6) { // 0x1e2460d if ((int32_t)g150 == g6) { // 0x1e24615 g2 = function_1e27c0a(g6); } } // 0x1e2461b g156 = 1; g2 = g638; *(int32_t *)(g9 - 4) = g638; g2 = function_1e24310((int32_t)&g708); v6 = a4; } } else { int32_t v8 = a2 - 1; // 0x1e243a2 g686 = v8; g2 = v8; g5 = (int32_t)*(char *)(a2 + (int32_t)&g13 - 1); switch (a2) { case 1: { // 0x1e24475 int32_t v9; // bp-24 g2 = &v9; g159++; int32_t * hWnd2 = GetDesktopWindow(); // 0x1e2447f g2 = (int32_t)hWnd2; GetWindowRect(hWnd2, (struct tagRECT *)&g708); int32_t v10; // bp-28 g5 = &v10; int32_t v11; v10 = v11 - v9; g6 = 0; int32_t v12; int32_t v13; int32_t v14 = v13 - v12; // bp-8 g2 = &v14; g2 = function_1e26dbd(&v10, &v14); int32_t * cursorHandle = LoadCursorA((int32_t *)g6, (char *)0x7f02); // 0x1e244b3 g2 = (int32_t)cursorHandle; g2 = (int32_t)SetCursor(cursorHandle); g2 = function_1e27151(*(int32_t *)&g660, hWnd4); int32_t v15 = function_1e255a3(g6, "Voices", 8); // 0x1e244d9 g2 = v15; int32_t v16 = *(int32_t *)&g660; // 0x1e244df13 int32_t v17 = function_1e27775(v16, v15, (int32_t)&g708); // 0x1e244e5 g2 = v17; if (v17 == 0) { // 0x1e244ee g2 = function_1e28059(201, g6); } // 0x1e244f9 g2 = function_1e27977(); if (g517 == 0) { // 0x1e24507 *(int32_t *)(g9 - 4) = hWnd4; int32_t v18 = function_1e27b5f((int32_t)&g708); // 0x1e2450a g2 = v18; if (v18 == 0) { // 0x1e24513 *(int32_t *)(g9 - 4) = 0; *(int32_t *)(g9 - 8) = 202; g2 = function_1e28059((int32_t)&g708, (int32_t)&g708); } } // 0x1e2451f g2 = function_1e26dd4(); *(int32_t *)(g9 - 4) = g4; g2 = (int32_t)SetCursor(&g708); *(int32_t *)(g9 - 4) = 1; *(int32_t *)(g9 - 8) = (int32_t)"Change Display"; *(int32_t *)(g9 - 12) = 0; int32_t v19 = function_1e255a3((int32_t)&g708, (char *)&g708, (int32_t)&g708); // 0x1e24534 g2 = v19; *(int32_t *)(g9 - 4) = v19; *(int32_t *)(g9 - 8) = hWnd4; int32_t v20 = (int32_t)GetMenu(&g708); // 0x1e2453d g2 = v20; *(int32_t *)(g9 - 4) = v20; *(int32_t *)(g9 - 8) = hWnd4; *(int32_t *)(g9 - 12) = g637; *(int32_t *)(g9 - 16) = v14; *(int32_t *)(g9 - 20) = v10; int32_t v21 = function_1e25d5e((int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e24553 g2 = v21; g159--; // break -> 0x1e24b45 break; } case 2: { } case 16: { } case 18: { // 0x1e24563 PostQuitMessage(0); g2 = &g708; function_1e25f13(); g2 = 0; // 0x1e24b55 return 0; } case 3: { // 0x1e24577 g156 = 1; // break -> 0x1e24b45 break; } case 7: { // 0x1e24586 g2 = 1; g154 = 1; g156 = 1; g2 = function_1e272a2(v3, v5, v2); g2 = function_1e25c67(); g2 = function_1e26030(); // break -> 0x1e24b45 break; } case 8: { // 0x1e245a9 g154 = 0; g2 = function_1e272a3(v3, v5, v2); g2 = function_1e2701e(); // break -> 0x1e24b45 break; } case 15: { // 0x1e245c2 g2 = v1; int32_t * hWnd3 = (int32_t *)hWnd4; g2 = (int32_t)BeginPaint(hWnd3, (struct tagPAINTSTRUCT *)&lpPaint); g2 = function_1e25e71(); g5 = v1; EndPaint(hWnd3, (struct tagPAINTSTRUCT *)&lpPaint); g2 = 0; // 0x1e24b55 return 0; } case 20: { // 0x1e245e8 g2 = 0; // 0x1e24b55 return 0; } } v6 = a4; } goto lab_0x1e24b45; } else { if (a2 < 127) { if (a2 == 126) { int32_t v22 = function_1e25c6f(v3, v5, v2); // 0x1e24676 g2 = v22; if (v22 != 0) { // 0x1e24683 g2 = 0; g637 = 0; g2 = function_1e2807b(403, 0); v6 = a4; } else { v6 = a4; } } else { if (a2 == 36) { // 0x1e24669 g2 = function_1e25f7a(a4, v3, v5, v2); v6 = a4; } else { v6 = a4; } } goto lab_0x1e24b45; } else { if (a2 < 274) { if (a2 == 273) { // 0x1e247de g156 = 1; g2 = a3; if (a3 < 203) { if (a3 >= 201) { goto lab_0x1e248c0; } else { if (a3 == 101) { // 0x1e24860 g2 = function_1e242a3(); } else { if (a3 == 102) { // 0x1e24867 if (!g150) { // 0x1e24870 g2 = function_1e2424f(); } // 0x1e24875 g2 = function_1e24136(*(int32_t *)&g660, hWnd4, "DIALOG_1"); } else { if (a3 == 103) { // 0x1e2488a if (!g150) { // 0x1e24893 g2 = function_1e2424f(); } // 0x1e24898 g2 = function_1e26db2(); } else { if (a3 == 105) { // 0x1e248a2 g2 = PostMessageA((int32_t *)hWnd4, 18, 0, 0); } else { if (a3 == 106) { // 0x1e248b6 g2 = function_1e26224(v3, v5, v2); } } } } } goto lab_0x1e2481e; } } else { if (a3 < 302) { if (a3 == 301) { // 0x1e248f3 if (!g150) { // 0x1e248fc g2 = function_1e2424f(); } // 0x1e24901 g2 = function_1e23fe3(*(int32_t *)&g660, hWnd4); goto lab_0x1e2481e; } else { if (a3 == 204) { goto lab_0x1e248db; } else { goto lab_0x1e2481e; } } } else { int32_t v23 = a3 - 401; // 0x1e2484f g2 = v23; g687 = v23; switch (a3) { case 401: { // 0x1e24914 g2 = function_1e2427b(v3); g2 = function_1e2711a(); goto lab_0x1e2481e; } case 402: { // 0x1e24923 g2 = function_1e2424f(); goto lab_0x1e2481e; } case 403: { goto lab_0x1e248c0; } case 404: { // 0x1e2492d g2 = function_1e2427b(v3); g2 = function_1e261c8(); goto lab_0x1e2481e; } case 405: { // 0x1e2493c if (!g150) { // 0x1e24945 g2 = function_1e2424f(); } // 0x1e2494a g4 = 500; int32_t v24 = function_1e25371(500); // 0x1e24950 g2 = v24; g6 = v24; if (v24 != 0) { int32_t lpCmdLine = function_1e25371(g4); // 0x1e24960 g2 = lpCmdLine; g4 = lpCmdLine; if (lpCmdLine != 0) { // 0x1e24976 function_1e2561a(0, (int32_t)"Shell Exe", v24, (int32_t)&g25, 500); g5 = g666; g2 = g666 * g666; g2 = function_1e3d7a0(lpCmdLine, "%s %s%lX %s%lX"); int32_t v25 = WinExec((char *)lpCmdLine, 5); // 0x1e249c1 g2 = v25; if (v25 < 32) { // 0x1e249cc g2 = function_1e25763(170); int32_t lpText = function_1e25763(171); // 0x1e249e5 g2 = lpText; int32_t v26 = MessageBoxA((int32_t *)g666, (char *)lpText, (char *)&g708, (int32_t)&g708); // 0x1e249f1 g2 = v26; } // 0x1e249f7 *(int32_t *)(g9 - 4) = v24; g2 = function_1e25401((int32_t)&g708); *(int32_t *)(g9 - 4) = lpCmdLine; g2 = function_1e25401((int32_t)&g708); } else { // 0x1e2496b g2 = function_1e25401(v24); } } goto lab_0x1e2481e; } case 406: { goto lab_0x1e248db; } case 408: { goto lab_0x1e24a08; } case 409: { goto lab_0x1e24a08; } case 410: { goto lab_0x1e24a08; } case 411: { goto lab_0x1e24a08; } default: { goto lab_0x1e2481e; } } } } } else { if (a2 == 256) { if ((a5 & 64) == 0) { // 0x1e246a0 g2 = function_1e26a34(a3, v3, v5, v2); } // 0x1e246a8 g2 = a3; if (a3 == 27) { // 0x1e246c6 if (g637 != 0) { // 0x1e246cf *(int32_t *)(g9 - 4) = 403; g2 = function_1e280a4((int32_t)&g708); } // 0x1e246d9 *(int32_t *)(g9 - 4) = 0; g2 = g666; *(int32_t *)(g9 - 8) = 0xf020; *(int32_t *)(g9 - 12) = 274; *(int32_t *)(g9 - 16) = g2; int32_t v27 = SendMessageA(&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e246eb g2 = v27; } else { if (a3 == 113) { // 0x1e246f3 g2 = function_1e242a3(); } else { if (a3 == 114) { // 0x1e246fa g2 = function_1e2424f(); } else { if (a3 == 115) { // 0x1e24701 *(int32_t *)(g9 - 4) = 403; g2 = function_1e280a4((int32_t)&g708); } else { if (a3 == 119) { // 0x1e2470d if (!g150) { // 0x1e24716 g2 = function_1e2424f(); } // 0x1e2471b g2 = function_1e28812(); } } } } } // 0x1e24720 if (g157 != 0) { // 0x1e2472d g2 = a3; if (a3 == 72) { // 0x1e24749 g152 = 1; v6 = a4; } else { if (a3 == 89) { // 0x1e24758 *(int32_t *)(g9 - 4) = (int32_t)"Pinball"; *(int32_t *)(g9 - 8) = hWnd4; SetWindowTextA(&g708, (char *)&g708); int32_t v28 = g151 == 0; // 0x1e2476d g2 = v28; g151 = v28; v6 = a4; } else { if (a3 == 112) { // 0x1e2477b *(int32_t *)(g9 - 4) = 10; g2 = function_1e26621((int32_t)&g708); v6 = a4; } else { if (a3 == 126) { bool v29 = g150; // 0x1e24787 g2 = !v29; g150 = !v29; if (v29) { // 0x1e2479f g156 = 1; v6 = a4; } else { v6 = a4; } } else { v6 = a4; } } } } } else { v6 = a4; } } else { if (a2 == 257) { // 0x1e247ae g2 = function_1e26cac(a3, v3, v5, v2); v6 = a4; } else { if (a2 == 260) { // 0x1e247bb g156 = 1; if (g165 != 0) { // 0x1e247d2 g2 = function_1e258ef(1); v6 = a4; } else { v6 = a4; } } else { v6 = a4; } } } goto lab_0x1e24b45; } } else { if (a2 < 279) { if (a2 == 278) { // 0x1e24a6f g156 = 1; v6 = a4; goto lab_0x1e24b45; } else { if (a2 == 274) { int32_t v30 = a3 & 0xfff0; // 0x1e24a1d g2 = v30; if (v30 == 0xf010) { // 0x1e24a3c if (g165 != 0) { // 0x1e24a45 g2 = 0; // 0x1e24b55 return 0; } goto lab_0x1e24a63; } else { if (v30 == 0xf020) { // 0x1e24a4c if (!g150) { // 0x1e24a59 g2 = function_1e2424f(); v6 = a4; } else { v6 = a4; } goto lab_0x1e24b45; } else { if (v30 == 0xf140) { goto lab_0x1e24a63; } else { v6 = a4; goto lab_0x1e24b45; } } } } else { v6 = a4; goto lab_0x1e24b45; } } } else { if (a2 == 287) { // 0x1e24a7e g2 = 0; if (a4 == 0) { // 0x1e24a89 if (g165 != 0) { // 0x1e24a91 g2 = function_1e258ef(0); } // 0x1e24a97 g2 = 0; // 0x1e24b55 return 0; } v6 = a4; goto lab_0x1e24b45; } else { if (a2 == 513) { // 0x1e24a9e if (g516 != 0) { // 0x1e24ab3 if (g157 != 0) { // 0x1e24ac0 g153 = 1; int32_t v31 = (int32_t)SetCursor(NULL); // 0x1e24acc g2 = v31; g667 = v31; int32_t v32 = function_1e25f53(a4); // 0x1e24ada g661 = v32 & 0xffff; int32_t v33 = v32 / 0x10000; // 0x1e24aed g2 = v33; g662 = v33; g2 = (int32_t)SetCapture((int32_t *)hWnd4); v6 = v32; } else { v6 = a4; } } else { // 0x1e24aa7 g2 = function_1e26172(-1, v3, v5, v2); v6 = a4; } goto lab_0x1e24b45; } else { if (a2 == 514) { // 0x1e24b03 g2 = 0; if (g153 != 0) { // 0x1e24b0d g153 = 0; g2 = g667; g2 = (int32_t)SetCursor((int32_t *)g667); g2 = ReleaseCapture(); v6 = a4; } else { v6 = a4; } goto lab_0x1e24b45; } else { if (a2 == 516) { goto lab_0x1e24b26; } else { if (a2 == 519) { goto lab_0x1e24b26; } else { if (a2 == 785) { // 0x1e24b38 g2 = InvalidateRect((int32_t *)hWnd4, NULL, false); v6 = a4; goto lab_0x1e24b45; } else { if (a2 == 953) { goto lab_0x1e2481e; } else { v6 = a4; goto lab_0x1e24b45; } } } } } } } } } } } lab_0x1e24b45: // 0x1e24b45 *(int32_t *)(g9 - 4) = v6; *(int32_t *)(g9 - 8) = a3; *(int32_t *)(g9 - 12) = g8; *(int32_t *)(g9 - 16) = hWnd4; int32_t result = DefWindowProcA(&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e24b4f g2 = result; // 0x1e24b55 return result; lab_0x1e248c0: // 0x1e248c0 if (!g150) { // 0x1e248c9 g2 = function_1e2424f(); } // 0x1e248ce g2 = function_1e280a4(a3); goto lab_0x1e2481e; lab_0x1e2481e: if (a3 == 1) { // 0x1e24828 *(int32_t *)(g9 - 4) = a4; g2 = function_1e27c5e(); v6 = a4; } else { v6 = a4; } goto lab_0x1e24b45; lab_0x1e248db: // 0x1e248db if (!g150) { // 0x1e248e4 g2 = function_1e2424f(); } // 0x1e248e9 g2 = function_1e28812(); goto lab_0x1e2481e; lab_0x1e24a08: // 0x1e24a08 g2 = function_1e280a4(a3); g2 = function_1e242a3(); goto lab_0x1e2481e; lab_0x1e24a63: // 0x1e24a63 g2 = function_1e25f24(0, v3, v5, v2); v6 = a4; goto lab_0x1e24b45; lab_0x1e24b26: // 0x1e24b26 if (g516 == 0) { // 0x1e24b2f g2 = function_1e26172(-1, v3, v5, v2); v6 = a4; } else { v6 = a4; } goto lab_0x1e24b45; } // Address range: 0x1e24bc6 - 0x1e252d8 int32_t function_1e24bc6(int32_t a1, int32_t a2, int32_t a3) { // 0x1e24bc6 int32_t v1; // bp-304 int32_t v2 = &v1; // 0x1e24bc9 g2 = function_1e25365(0x1e242cf, g6, g8, g4); g159++; int32_t v3 = function_1e25763(165); // 0x1e24bf4 g2 = v3; g2 = function_1e254dd(v3); int32_t v4 = function_1e25763(166); // 0x1e24c0c g2 = v4; int32_t v5 = function_1e255a3(v4, (char *)&g708, (int32_t)&g708); // 0x1e24c12 g2 = v5; int32_t lpCmdLine = function_1e25371(500); // 0x1e24c21 g2 = lpCmdLine; int32_t result; // 0x1e252d5 int32_t v6; // 0x1e24d14 int32_t v7; // 0x1e24d24 if (v5 > 1) { // 0x1e24c21 g6 = lpCmdLine; if (lpCmdLine != 0) { int32_t v8 = function_1e25763(166); // 0x1e24c4f g2 = v8; int32_t v9 = function_1e2561a(v8, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e24c55 g2 = v9; int32_t v10 = WinExec((char *)lpCmdLine, 5); // 0x1e24c5d g2 = v10; g8 = v10; g2 = function_1e25401(lpCmdLine); if (g8 < 32) { goto lab_0x1e24dd5; } else { // 0x1e24c74 function_1e25505(); g2 = 0; result = 0; goto lab_0x1e252cf; } } else { // 0x1e24c2c function_1e25505(); g2 = 0; result = 0; goto lab_0x1e252cf; } } else { // 0x1e24c80 g4 = lpCmdLine; if (lpCmdLine != 0) { // 0x1e24c97 g6 = 500; int32_t v11 = function_1e25763(166); // 0x1e24cab g2 = v11; function_1e25693(v11, (int32_t)&g708); struct tagPAINTSTRUCT * hModule = g660; // 0x1e24cb7 g2 = (int32_t)hModule; g2 = GetModuleFileNameA((int32_t *)hModule, (char *)lpCmdLine, g6); int32_t v12 = function_1e25763(g8); // 0x1e24ccd g2 = v12; g2 = function_1e256f7(v12, (int32_t)&g708, (int32_t)&g708); g2 = function_1e25763(169); int32_t v13 = function_1e25763(g8); // 0x1e24ced g2 = v13; g2 = function_1e256f7(v13, (int32_t)&g708, (int32_t)&g708); int32_t v14 = function_1e25763(g8); // 0x1e24cfb g2 = v14; g2 = function_1e256f7(0, (int32_t)"Last Table Played", v14); g2 = function_1e25401(lpCmdLine); v6 = function_1e25371(g6); g2 = v6; g8 = v6; if (v6 == 0) { goto lab_0x1e24dd5; } else { // 0x1e24d23 v7 = function_1e25371(g6); g2 = v7; g6 = v7; if (v7 == 0) { goto lab_0x1e24dcf; } else { // 0x1e24d33 g4 = 0; int32_t v15; // bp-104 int32_t v16 = &v15; // 0x1e24d40 int32_t v17 = 0; while (true) { // 0x1e24d38 *(int32_t *)(g9 - 4) = v17; *(int32_t *)(g9 - 8) = (int32_t)"Table%d"; g5 = v16; *(int32_t *)(g9 - 12) = v16; g2 = function_1e3d7a0((int32_t)&g708, (char *)&g708); g5 = v16; *(int32_t *)(g9 + 8) = 500; *(int32_t *)(g9 + 4) = (int32_t)&g25; *(int32_t *)g9 = v6; *(int32_t *)(g9 - 4) = v16; *(int32_t *)(g9 - 8) = 0; int32_t v18 = function_1e2561a((int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e24d5d g2 = v18; if (*(char *)v6 == 0) { // break -> 0x1e24dad break; } // 0x1e24d67 *(int32_t *)(g9 - 4) = 500; *(int32_t *)(g9 - 8) = (int32_t)&g25; *(int32_t *)(g9 - 12) = v7; *(int32_t *)(g9 - 16) = (int32_t)"Table Name"; *(int32_t *)(g9 - 20) = v6; int32_t v19 = function_1e2561a((int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e24d78 g2 = v19; *(int32_t *)(g9 - 4) = 0; *(int32_t *)(g9 - 8) = 169; int32_t v20 = function_1e25763((int32_t)&g708); // 0x1e24d84 g2 = v20; *(int32_t *)(g9 - 4) = v20; *(int32_t *)(g9 - 8) = v7; int32_t v21 = lstrcmpA((char *)&g708, (char *)&g708); // 0x1e24d8b g2 = v21; if (v21 == 0) { // 0x1e24dad g4 = 1; goto lab_0x1e24dc9; } // 0x1e24d95 if (*(char *)v7 == 0) { // break -> 0x1e24dad break; } int32_t v22 = v17 + 1; // 0x1e24d9a if (v22 >= 0x7fbc) { // break -> 0x1e24dad break; } v17 = v22; } // 0x1e24dad if (g4 == 0) { // 0x1e24db1 *(int32_t *)(g9 - 4) = 0; *(int32_t *)(g9 - 8) = 166; int32_t v23 = function_1e25763((int32_t)&g708); // 0x1e24db8 g2 = v23; *(int32_t *)(g9 - 4) = v23; g5 = v16; *(int32_t *)(g9 - 8) = v16; *(int32_t *)(g9 - 12) = 0; int32_t v24 = function_1e256f7((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e24dc4 g2 = v24; } goto lab_0x1e24dc9; } } } else { // 0x1e24c8b function_1e25505(); g2 = 0; result = 0; goto lab_0x1e252cf; } } lab_0x1e24dd5: // 0x1e24dd5 *(int32_t *)(g9 - 4) = (int32_t)"-quick"; g159--; *(int32_t *)(g9 - 8) = a2; int32_t v25 = function_1e3d810((int32_t)&g708, (int32_t)&g708); // 0x1e24de3 g2 = v25; g517 = 1; if (v25 == 0) { // 0x1e24df9 g517 = 0; } // 0x1e24e03 *(int32_t *)(g9 + 4) = 300; g660 = (struct tagPAINTSTRUCT *)a1; *(int32_t *)g9 = 0; *(int32_t *)(g9 - 4) = 168; int32_t v26 = function_1e25763((int32_t)&g708); // 0x1e24e19 g2 = v26; *(int32_t *)(g9 - 4) = v26; *(int32_t *)(g9 - 8) = (int32_t)&g515; *(int32_t *)(g9 - 12) = (int32_t)"Pinball Data"; *(int32_t *)(g9 - 16) = g8; *(int32_t *)(g9 - 20) = 166; int32_t v27 = function_1e25763((int32_t)&g708); // 0x1e24e2f g2 = v27; *(int32_t *)(g9 - 4) = v27; int32_t v28 = function_1e2561a((int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e24e35 g2 = v28; *(int32_t *)(g9 - 4) = (int32_t)"PinballThemeSwitcherUniqueMsgString"; g2 = RegisterWindowMessageA((char *)&g708); *(int32_t *)(g9 - 4) = g8; g664 = g2; *(int32_t *)(g9 - 8) = g8; *(int32_t *)(g9 - 12) = 167; int32_t v29 = function_1e25763((int32_t)&g708); // 0x1e24e51 g2 = v29; *(int32_t *)(g9 - 4) = v29; int32_t * v30 = FindWindowA((char *)&g708, (char *)&g708); // 0x1e24e57 int32_t v31 = (int32_t)v30; // 0x1e24e57 g2 = v31; if (v30 == NULL) { int32_t v32 = function_1e28fb7(); // 0x1e24e77 g2 = v32; if (v32 == 0) { // 0x1e24e87 g4 = 0; *(int32_t *)(g9 - 4) = (int32_t)"ICON_1"; *(int32_t *)(g9 - 8) = g6; int32_t v33 = 0x1008; // bp-72 g2 = (int32_t)LoadIconA((int32_t *)0x1008, (char *)0x1e24359); *(int32_t *)(g9 - 4) = 0x7f00; *(int32_t *)(g9 - 8) = g4; g2 = (int32_t)LoadCursorA((int32_t *)g2, (char *)&g708); *(int32_t *)(g9 - 4) = g4; *(int32_t *)(g9 - 8) = 167; int32_t v34 = function_1e25763(g2); // 0x1e24ed2 g2 = (int32_t)"splash_bitmap"; *(int32_t *)(g9 - 4) = (int32_t)"splash_bitmap"; *(int32_t *)(g9 - 8) = g2; *(int32_t *)(g9 - 12) = g6; int32_t v35 = function_1e28c4f(v34, (int32_t)&g708, (int32_t)&g708); // 0x1e24ee2 g8 = v35; int32_t v36 = &v33; // 0x1e24ee9 g2 = v36; *(int32_t *)(g9 - 4) = v36; g2 = RegisterClassA((struct tagWNDCLASSA *)&g708); g2 = function_1e28ec7(); *(int32_t *)(g9 - 4) = g4; *(int32_t *)(g9 - 8) = 38; int32_t v37 = function_1e25763((int32_t)&g708); // 0x1e24efb g2 = v37; *(int32_t *)(g9 - 4) = v37; g5 = v2; *(int32_t *)(g9 - 8) = v2; g2 = (int32_t)lstrcpyA((char *)&g708, (char *)&g708); *(int32_t *)(g9 - 4) = g4; *(int32_t *)(g9 - 8) = g6; *(int32_t *)(g9 - 12) = g4; *(int32_t *)(g9 - 16) = g4; *(int32_t *)(g9 - 20) = 480; g5 = v2; *(int32_t *)(g9 - 24) = 640; *(int32_t *)(g9 - 28) = g4; *(int32_t *)(g9 - 32) = g4; *(int32_t *)(g9 - 36) = 0x3ca0000; *(int32_t *)(g9 - 40) = v2; *(int32_t *)(g9 - 44) = g4; *(int32_t *)(g9 - 48) = 167; int32_t v38 = function_1e25763((int32_t)&g708); // 0x1e24f30 g2 = v38; *(int32_t *)(g9 - 4) = v38; *(int32_t *)(g9 - 8) = g4; int32_t * windowHandle = CreateWindowExA((int32_t)&g708, (char *)&g708, (char *)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, &g708, &g708, &g708, &g708); // 0x1e24f37 int32_t v39 = (int32_t)windowHandle; // 0x1e24f37 g2 = v39; g666 = v39; int32_t v40 = g4; // 0x1e24f42 if (v39 != v40) { // 0x1e24f54 g2 = v39; *(int32_t *)(g9 - 4) = v39; int32_t v41 = (int32_t)GetMenu(&g708); // 0x1e24f5a g2 = v41; *(int32_t *)(g9 - 4) = v41; g2 = function_1e27c96((int32_t)&g708); g2 = function_1e27131(); g2 = function_1e26743(); *(int32_t *)(g9 - 4) = (int32_t)"-fullscreen"; *(int32_t *)(g9 - 8) = a2; int32_t v42 = function_1e3d810((int32_t)&g708, (int32_t)&g708); // 0x1e24f78 g2 = v42; int32_t v43; // 0x1e24f9a if (v42 != 0) { // 0x1e24f84 g637 = 1; *(int32_t *)(g9 + 4) = 1; *(int32_t *)g9 = 403; g2 = function_1e2807b((int32_t)&g708, (int32_t)&g708); v43 = g9; } else { v43 = g9 + 8; } // 0x1e24f9a *(int32_t *)(v43 - 4) = a3; *(int32_t *)(v43 - 8) = g666; g2 = ShowWindow(&g708, (int32_t)&g708); *(int32_t *)(g9 - 4) = g637; g2 = function_1e259f5((int32_t)&g708); *(int32_t *)(g9 - 4) = g666; g2 = UpdateWindow(&g708); if (v35 != 0) { // 0x1e24fc4 *(int32_t *)(g9 - 4) = v35; g2 = function_1e28d7b((int32_t)&g708); *(int32_t *)(g9 - 4) = v35; g2 = function_1e28dba((int32_t)&g708); } // 0x1e24fd4 g2 = g638; *(int32_t *)(g9 - 4) = g638; g2 = function_1e24310((int32_t)&g708); int32_t v44 = timeGetTime(); // 0x1e24fdf g2 = v44; g8 = v44; int32_t v45 = timeGetTime(); // 0x1e24fe7 g2 = v45; if (v45 >= g8) { // 0x1e24ff1 int32_t v46; // bp-132 int32_t v47 = &v46; // 0x1e25009 while (true) { int32_t v48 = timeGetTime() - g8; // 0x1e24ff7 g2 = v48; if (v48 >= 2000) { // break -> 0x1e25020 break; } // 0x1e25000 *(int32_t *)(g9 - 4) = 1; g2 = g666; *(int32_t *)(g9 - 8) = 0; g5 = v47; *(int32_t *)(g9 - 12) = 0; *(int32_t *)(g9 - 16) = g2; *(int32_t *)(g9 - 20) = v47; bool v49 = PeekMessageA((struct tagMSG *)&g708, &g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e25010 g2 = v49; int32_t v50 = timeGetTime(); // 0x1e25016 g2 = v50; if (v50 < g8) { // break -> 0x1e25020 break; } } } // 0x1e25020 *(int32_t *)(g9 - 4) = (int32_t)"-demo"; *(int32_t *)(g9 - 8) = a2; int32_t v51 = function_1e3d810((int32_t)&g708, (int32_t)&g708); // 0x1e25028 g2 = v51; int32_t v52; if (v51 == 0) { // 0x1e2503b *(int32_t *)(g9 + 4) = 0; v52 = function_1e26d6e((int32_t)&g708); } else { // 0x1e25034 v52 = function_1e261c8(); } // 0x1e25042 g2 = v52; g8 = 0; int32_t v53 = timeGetTime(); // 0x1e25044 g2 = v53; g4 = &g669; g665 = v53; int32_t v54; // bp-32 int32_t v55 = &v54; // 0x1e251bd int32_t v56 = 300; int32_t v57 = 0; while (true) { int32_t v58 = g8; // 0x1e25054 int32_t v59; int32_t v60; // 0x1e25070 if (v56 == v58) { // 0x1e2505d if (g151 != v58) { // 0x1e25070 v60 = timeGetTime(); g2 = v60; if (v57 != g8) { int32_t v61 = v60 - v57; // 0x1e25082 g2 = v61; *(float64_t *)(g9 - 8) = (float64_t)(300.0L / (0.001L * (float80_t)v61)); *(int32_t *)(g9 - 12) = (int32_t)"Frames/sec = %02.02f"; *(int32_t *)(g9 - 16) = (int32_t)&g496; g2 = function_1e3d7a0(v60, (char *)&g708); *(int32_t *)(g9 + 12) = (int32_t)&g496; *(int32_t *)(g9 + 8) = g666; g2 = SetWindowTextA(&g708, (char *)&g708); int32_t v62 = g8; // 0x1e250c3 if (g152 != v62) { // 0x1e250cf if (g670 == v62) { // 0x1e250d7 *(int32_t *)(g9 - 4) = 1024; int32_t v63 = function_1e22670((int32_t)&g708); // 0x1e250dc int32_t v64 = v63 + 42; // 0x1e250e4 g6 = v64; g5 = 255; g2 = 0; int32_t v65 = 0; // 0x1e25111 int32_t v66 = g8; int32_t v67 = 10; while (true) { if (v67 >= 256) { // break -> 0x1e25135 break; } int32_t v68 = g5; // 0x1e25107 *(char *)v64 = (char)(v65 > v68 ? v68 : v65); int32_t v69 = 0x1000000 * v66 / 0x1000000; // 0x1e25119 int32_t v70 = v65 > v68 ? v69 : g2; g7 = v70; *(char *)(g6 - 1) = (char)v70; g2 += 8; *(char *)(g6 - 2) = (char)g7; int32_t v71 = g6 + 4; // 0x1e25125 g6 = v71; int32_t v72 = v67 + 1; // 0x1e2512b int32_t v73 = g2; // 0x1e2512e if (v73 >= 2048) { // break -> 0x1e25135 break; } v64 = v71; v65 = v73; v66 = v69 + 1; v67 = v72; } // 0x1e25135 *(int32_t *)(g9 - 4) = v63; g2 = function_1e27182(); *(int32_t *)(g9 - 4) = v63; g2 = function_1e22600((int32_t)&g708); *(int32_t *)g9 = 15; *(int32_t *)(g9 - 4) = 400; *(int32_t *)(g9 - 8) = g4; int32_t v74 = function_1e27332((int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e25150 g2 = v74; } // 0x1e25155 *(int32_t *)(g9 - 4) = 10; *(int32_t *)(g9 - 8) = 300; *(int32_t *)(g9 - 12) = g8; *(int32_t *)(g9 - 16) = g8; *(int32_t *)(g9 - 20) = g8; *(int32_t *)(g9 - 24) = g8; *(int32_t *)(g9 - 28) = g4; int32_t v75 = function_1e2748e((int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e25161 g2 = v75; *(int32_t *)(g9 - 4) = g8; *(int32_t *)(g9 - 8) = g8; *(int32_t *)(g9 - 12) = g8; *(int32_t *)(g9 - 16) = 10; *(int32_t *)(g9 - 20) = 300; *(int32_t *)(g9 - 24) = g4; int32_t v76 = function_1e27576((int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e25171 g2 = v76; } } // 0x1e25176 g2 = v60; v59 = 300; } else { v59 = 300; v60 = v58; } } else { v59 = v56; v60 = v57; } // 0x1e25181 g2 = function_1e279f0(); int32_t v77 = function_1e252d8(); // 0x1e25186 g2 = v77; if (v77 == 0) { // break -> 0x1e2527d break; } int32_t v78 = g8; // 0x1e25193 if (g154 == v78) { v56 = v59; v57 = v60; // continue -> 0x1e25054 continue; } // 0x1e2519f if (g153 != v78) { int32_t v79 = timeGetTime(); // 0x1e251a7 g663 = v79; int32_t v80 = v79 - g665; // 0x1e251b2 g2 = v80; if (v80 >= 2) { // 0x1e251bd g2 = v55; *(int32_t *)(g9 - 4) = v55; GetCursorPos((struct tagPOINT *)&g708); int32_t v81; *(int32_t *)(g9 - 4) = v81 - g662; int32_t v82 = g661 - v54; // 0x1e251d6 g2 = v82; *(int32_t *)(g9 - 8) = v82; g2 = function_1e26791((int32_t)&g708, (int32_t)&g708); *(int32_t *)(g9 - 4) = g662; *(int32_t *)(g9 - 8) = g661; g2 = SetCursorPos((int32_t)&g708, (int32_t)&g708); } } // 0x1e251f1 if ((int32_t)g150 != g8) { v56 = v59; v57 = v60; // continue -> 0x1e25054 continue; } int32_t v83 = timeGetTime(); // 0x1e251fd g2 = v83; g663 = v83; int32_t v84 = g8; // 0x1e25208 int32_t v85; // 0x1e25220 if (g156 == v84) { // 0x1e251fd v85 = g665; } else { // 0x1e25210 g665 = v83; g156 = v84; v85 = v83; } int32_t v86 = v83 - v85; // 0x1e25220 g2 = v86; *(int32_t *)(g9 - 4) = v86; int32_t v87 = function_1e26621((int32_t)&g708); // 0x1e25227 g2 = v87; if (v87 == 0) { v56 = v59; v57 = v60; // continue -> 0x1e25054 continue; } // 0x1e25234 if (g670 != g8) { int32_t v88 = g663 - g665 + 10; // 0x1e25247 int32_t v89; int32_t v90; // 0x1e25256 if (v88 > 236) { v89 = 249; v90 = 249; } else { v89 = v88; v90 = v88; } // 0x1e25256 g2 = v89; *(int32_t *)(g9 - 4) = v90; *(int32_t *)(g9 - 8) = g8; int32_t v91 = 299 - v59; // 0x1e2525d g2 = v91; *(int32_t *)(g9 - 12) = v91; *(int32_t *)(g9 - 16) = 10; *(int32_t *)(g9 - 20) = 1; *(int32_t *)(g9 - 24) = g4; int32_t v92 = function_1e27576((int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e25266 g2 = v92; } int32_t v93 = g663; // 0x1e2526b g2 = v93; g665 = v93; v56 = v59 - 1; v57 = v60; } // 0x1e2527d *(int32_t *)(g9 - 4) = (int32_t)&g669; g2 = function_1e273a9((int32_t)&g708); g2 = function_1e27faa(); g2 = function_1e27bc4(); g2 = function_1e26fcd(); g2 = function_1e278d0(); function_1e272a4(); g2 = g666; *(int32_t *)(g9 - 4) = g666; g2 = DestroyWindow(&g708); function_1e25505(); int32_t v94 = (int32_t)g660; // 0x1e252b1 g2 = v94; *(int32_t *)(g9 - 4) = v94; *(int32_t *)(g9 - 8) = 0; *(int32_t *)(g9 - 12) = 167; int32_t v95 = function_1e25763((int32_t)&g708); // 0x1e252be g2 = v95; *(int32_t *)(g9 - 4) = v95; UnregisterClassA((char *)&g708, &g708); g2 = g668; result = g668; } else { // 0x1e24f46 *(int32_t *)(g9 - 4) = v40; PostQuitMessage((int32_t)&g708); g2 = 0; result = 0; } } else { // 0x1e24e80 g2 = 0; result = 0; } } else { // 0x1e24e61 *(int32_t *)(g9 - 4) = g8; *(int32_t *)(g9 - 8) = g8; *(int32_t *)(g9 - 12) = g664; *(int32_t *)(g9 - 16) = v31; SendMessageA(&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708); g2 = 0; result = 0; } goto lab_0x1e252cf; lab_0x1e252cf: // 0x1e252cf g6 = *(int32_t *)g9; g8 = *(int32_t *)(g9 + 4); g4 = *(int32_t *)(g9 + 8); return result; lab_0x1e24dcf: // 0x1e24dcf *(int32_t *)(g9 - 4) = v6; g2 = function_1e25401((int32_t)&g708); goto lab_0x1e24dd5; lab_0x1e24dc9: // 0x1e24dc9 *(int32_t *)(g9 - 4) = v7; g2 = function_1e25401((int32_t)&g708); goto lab_0x1e24dcf; } // Address range: 0x1e252d8 - 0x1e25365 int32_t function_1e252d8(void) { // 0x1e252d8 g2 = 0; int32_t lpMsg; // bp-32 int32_t v1 = &lpMsg; // 0x1e252dd int32_t v2; if (g154 != 0) { int32_t v3 = v1; // 0x1e25320 while (true) { // 0x1e25320 *(int32_t *)(v3 - 4) = 1; g2 = v1; *(int32_t *)(v3 - 8) = 0; *(int32_t *)(v3 - 12) = 0; *(int32_t *)(v3 - 16) = 0; *(int32_t *)(v3 - 20) = v1; bool v4 = PeekMessageA((struct tagMSG *)&g708, &g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708); // 0x1e2532c g2 = v4; if (!v4) { // break -> 0x1e2535c break; } // 0x1e25336 g2 = v1; *(int32_t *)(g9 - 4) = v1; TranslateMessage((struct tagMSG *)&g708); g2 = v1; *(int32_t *)(g9 - 4) = v1; g2 = DispatchMessageA((struct tagMSG *)&g708); if (v2 == 18) { // 0x1e25350 g2 = 0; return 0; } // 0x1e25336 v3 = g9; } } else { // 0x1e252e8 g5 = v1; g2 = g666; bool v5 = GetMessageA((struct tagMSG *)&lpMsg, (int32_t *)g666, 0, 0); // 0x1e252f4 g2 = v5; g5 = v1; g2 = TranslateMessage((struct tagMSG *)&lpMsg); g5 = v1; g2 = DispatchMessageA((struct tagMSG *)&lpMsg); if (v2 == 18) { // 0x1e25314 g2 = 0; // 0x1e25361 return 0; } } // 0x1e2535c g2 = 1; // 0x1e25361 return 1; } // Address range: 0x1e25365 - 0x1e25371 int32_t function_1e25365(int32_t result, int32_t a2, int32_t a3, int32_t a4) { // 0x1e25365 g2 = result; g160 = result; return result; } // Address range: 0x1e25371 - 0x1e25401 int32_t function_1e25371(uint32_t a1) { int32_t v1 = g8; // 0x1e25371 g8 = a1; int32_t v2 = a1 + 4; // 0x1e2537c g2 = v2; int32_t v3 = function_1e22670(v2); // 0x1e253bf g2 = v3; if (a1 >= 0xffdc) { if (v3 == 0) { // 0x1e253e3 g2 = 0; // 0x1e253fd g8 = v1; return 0; } int32_t v4 = 256 * g8; // 0x1e253ec g5 = v4; *(int32_t *)v3 = v4; g158 += g8 + 4; *(char *)g2 = -91; } else { if (v3 == 0) { // 0x1e253a6 g2 = 0; // 0x1e253fd g8 = v1; return 0; } int32_t v5 = 256 * g8; // 0x1e253af g5 = v5; *(int32_t *)v3 = v5; g158 += g8 + 4; *(char *)g2 = 90; } int32_t result = g2 + 4; // 0x1e253fa g2 = result; // 0x1e253fd g8 = v1; return result; } // Address range: 0x1e25401 - 0x1e2542e int32_t function_1e25401(int32_t a1) { int32_t result = a1 - 4; // 0x1e25405 g2 = result; int32_t v1 = *(int32_t *)result / 256 + 4; // 0x1e2540d g5 = v1; g158 -= v1; unsigned char v2 = *(char *)result; // 0x1e25416 g5 = (int32_t)v2 | v1 & 0x1ffff00; if (v2 != 90) { char v3 = v2 + 91; // 0x1e2541d g683 = ((v3 ^ v2) & (v2 ^ -128)) < 0; if (v3 != 0) { // 0x1e2542b return result; } } int32_t result2 = function_1e22600(result); // 0x1e25423 g2 = result2; g683 = (g9 + 4 & (g9 ^ -0x80000000)) < 0; // 0x1e2542b return result2; } // Address range: 0x1e2542e - 0x1e254dd int32_t function_1e2542e(int32_t a1, int32_t a2) { int32_t v1 = g3; // 0x1e2542e g2 = a1; int32_t v2 = g4; // 0x1e25437 int32_t result; // 0x1e2543d int32_t v3; // 0x1e25447 if (a1 != 0) { // 0x1e25447 v3 = a1 - 4; g2 = v3; int32_t v4 = *(int32_t *)v3 / 256; // 0x1e2544c g5 = v4; g158 -= v4; unsigned char v5 = *(char *)v3; // 0x1e25455 g5 = (int32_t)v5 | v4 & 0xffff00; if (v5 != 90) { if (v5 != -91) { goto lab_0x1e254c1; } else { int32_t v6 = a2 + 4; // 0x1e25494 g5 = v6; int32_t v7 = function_1e3d900(v3, v6, v2, v1); // 0x1e25499 g2 = v7; if (v7 != 0) { v3 = v7; goto lab_0x1e254c1; } else { // 0x1e254bd g2 = 0; result = 0; goto lab_0x1e254d8; } } } else { int32_t v8 = a2 + 4; // 0x1e2545f g5 = v8; int32_t v9 = function_1e3d900(v3, v8, v2, v1); // 0x1e25464 g2 = v9; if (v9 != 0) { v3 = v9; goto lab_0x1e254c1; } else { // 0x1e25488 g2 = 0; result = 0; goto lab_0x1e254d8; } } } else { // 0x1e2543a result = function_1e25371(a2); g2 = result; goto lab_0x1e254d8; } lab_0x1e254d8: // 0x1e254d8 g4 = *(int32_t *)g9; g3 = *(int32_t *)(g9 + 4); return result; lab_0x1e254c1:; unsigned char v10 = *(char *)v3; // 0x1e254c1 g5 = a2; int32_t v11 = 256 * a2; // 0x1e254c8 g7 = v11; *(int32_t *)v3 = v11; g158 += g5; *(char *)g2 = (char)(g4 & -256 | (int32_t)v10); int32_t v12 = g2 + 4; // 0x1e254d5 g2 = v12; result = v12; goto lab_0x1e254d8; } // Address range: 0x1e254dd - 0x1e25505 int32_t function_1e254dd(int32_t lpString) { int32_t v1 = lstrlenA((char *)lpString) + 1; // 0x1e254e7 g2 = v1; int32_t lpString1 = function_1e25371(v1); // 0x1e254e9 g2 = lpString1; g497 = lpString1; int32_t result; // 0x1e254fc if (lpString1 != 0) { // 0x1e254f7 result = (int32_t)lstrcpyA((char *)lpString1, (char *)lpString); g2 = result; } else { result = 0; } // 0x1e25502 return result; } // Address range: 0x1e25505 - 0x1e2551f int32_t function_1e25505(void) { int32_t v1 = g497; // 0x1e25505 g2 = v1; int32_t result; // 0x1e2550f if (v1 != 0) { // 0x1e2550e result = function_1e25401(v1); g2 = result; } else { result = 0; } // 0x1e25514 g497 = 0; return result; } // Address range: 0x1e2551f - 0x1e25589 int32_t function_1e2551f(int32_t a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5, int32_t a6, int32_t * a7, int32_t * a8) { int32_t v1 = g8; // bp-4 int32_t * v2; int32_t v3; // 0x1e2554d if (g161 != 0) { v3 = &v1; goto lab_0x1e25548; } else { int32_t v4 = function_1e25371(2000); // 0x1e2552e g2 = v4; g161 = v4; if (v4 != 0) { // 0x1e25529 v3 = g9; goto lab_0x1e25548; } else { v2 = &g497; goto lab_0x1e25585; } } lab_0x1e25548:; int32_t v5 = g497; // 0x1e25548 g2 = v5; *(int32_t *)(v3 - 4) = v5; *(int32_t *)(v3 - 8) = g161; g2 = (int32_t)lstrcpyA((char *)&g708, (char *)&g708); int32_t v6 = *(int32_t *)(g9 + 8); // 0x1e2555a if (v6 != 0) { // 0x1e25562 *(int32_t *)(g9 - 4) = (int32_t)&g26; int32_t v7 = g161; // 0x1e25567 g2 = v7; *(int32_t *)(g9 - 8) = v7; lstrcatA((char *)&g708, (char *)&g708); *(int32_t *)(g9 - 4) = v6; int32_t v8 = g161; // 0x1e25574 g2 = v8; *(int32_t *)(g9 - 8) = v8; g2 = (int32_t)lstrcatA((char *)&g708, (char *)&g708); v2 = &g161; } else { v2 = &g161; } goto lab_0x1e25585; lab_0x1e25585:; int32_t result = *v2; g2 = result; g8 = *(int32_t *)g9; return result; } // Address range: 0x1e25589 - 0x1e255a3 int32_t function_1e25589(void) { int32_t v1 = g161; // 0x1e25589 g2 = v1; int32_t result; // 0x1e25593 if (v1 != 0) { // 0x1e25592 result = function_1e25401(v1); g2 = result; } else { result = 0; } // 0x1e25598 g161 = 0; return result; } // Address range: 0x1e255a3 - 0x1e2561a int32_t function_1e255a3(int32_t a1, char * lpValueName, int32_t result) { int32_t v1 = g3; // 0x1e255a3 int32_t v2 = v1; // bp-4 g2 = result; g3 = &v2; int32_t v3 = g8; // bp-24 int32_t lpData = result; // bp-8 if (g497 == 0) { // 0x1e25613 g8 = *(int32_t *)(int32_t)&v3; g3 = v1; return result; } // 0x1e255ba int32_t v4; // bp-20 g2 = &v4; int32_t hKey; // bp-12 g5 = &hKey; g8 = 0; int32_t lpSubKey = function_1e2551f(a1, 0, 0, 0, 0xf003f, 0, &hKey, &v4); // 0x1e255d0 g2 = lpSubKey; int32_t v5 = RegCreateKeyExA(HKEY_CURRENT_USER, (char *)lpSubKey, (int32_t)&g708, (char *)&g708, (int32_t)&g708, (int32_t)&g708, (struct _SECURITY_ATTRIBUTES *)&g708, (int32_t **)&g708, &g708); // 0x1e255db g2 = v5; if (v5 == 0) { // 0x1e255e5 int32_t lpcbData; // bp-16 g2 = &lpcbData; g5 = &lpData; lpcbData = 4; int32_t * lpReserved = (int32_t *)g8; // 0x1e255fc int32_t v6 = RegQueryValueExA((int32_t *)hKey, lpValueName, lpReserved, lpReserved, (char *)&lpData, &lpcbData); // 0x1e255fc g2 = v6; g2 = RegCloseKey((int32_t *)hKey); } // 0x1e2560b function_1e25589(); g2 = lpData; // 0x1e25613 g8 = *(int32_t *)g9; g3 = v2; return lpData; } // Address range: 0x1e2561a - 0x1e25693 int32_t function_1e2561a(int32_t a1, int32_t lpValueName, int32_t a3, int32_t lpString2, int32_t iMaxLength) { // 0x1e2561a g8 = iMaxLength; g6 = 0; char * lpString1 = (char *)a3; // 0x1e2562e int32_t v1 = (int32_t)lstrcpynA(lpString1, (char *)lpString2, iMaxLength); // 0x1e2562e g2 = v1; int32_t v2 = g6; // 0x1e25634 int32_t result; // 0x1e25686 if (g497 != v2) { // 0x1e2563c int32_t v3; // bp-16 g2 = &v3; int32_t hKey; // bp-8 g5 = &hKey; int32_t lpSubKey = function_1e2551f(a1, v2, v2, v2, 0xf003f, v2, &hKey, &v3); // 0x1e25650 g2 = lpSubKey; int32_t v4 = RegCreateKeyExA(HKEY_CURRENT_USER, (char *)lpSubKey, (int32_t)&g708, (char *)&g708, (int32_t)&g708, (int32_t)&g708, (struct _SECURITY_ATTRIBUTES *)&g708, (int32_t **)&g708, &g708); // 0x1e2565b g2 = v4; if (v4 == 0) { int32_t lpcbData = g8; // bp-12 g8 = &lpcbData; int32_t * lpReserved = (int32_t *)g6; // 0x1e25677 int32_t v5 = RegQueryValueExA((int32_t *)hKey, (char *)lpValueName, lpReserved, lpReserved, lpString1, &lpcbData); // 0x1e25677 g2 = v5; g2 = RegCloseKey((int32_t *)hKey); } // 0x1e25686 result = function_1e25589(); g2 = result; } else { result = v1; } // 0x1e2568b g6 = *(int32_t *)g9; g8 = *(int32_t *)(g9 + 4); return result; } // Address range: 0x1e25693 - 0x1e256f7 int32_t function_1e25693(int32_t a1, int32_t lpValueName) { int32_t v1 = g3; // 0x1e25693 int32_t v2 = v1; // bp-4 g3 = &v2; int32_t v3 = g8; // bp-16 g8 = 0; if (g497 == 0) { // 0x1e256f0 g8 = *(int32_t *)(int32_t)&v3; g3 = v1; return g2; } // 0x1e256a4 int32_t v4; // bp-12 g2 = &v4; int32_t hKey; // bp-8 g5 = &hKey; int32_t lpSubKey = function_1e2551f(a1, 0, 0, 0, 0xf003f, 0, &hKey, &v4); // 0x1e256b8 g2 = lpSubKey; int32_t v5 = RegCreateKeyExA(HKEY_CURRENT_USER, (char *)lpSubKey, (int32_t)&g708, (char *)&g708, (int32_t)&g708, (int32_t)&g708, (struct _SECURITY_ATTRIBUTES *)&g708, (int32_t **)&g708, &g708); // 0x1e256c3 g2 = v5; if (v5 == 0) { // 0x1e256cd int32_t lpData; // bp+12 g2 = &lpData; int32_t v6 = RegSetValueExA((int32_t *)hKey, (char *)lpValueName, g8, 4, (char *)&lpData, 4); // 0x1e256dc g2 = v6; g2 = RegCloseKey((int32_t *)hKey); } int32_t result = function_1e25589(); // 0x1e256eb g2 = result; // 0x1e256f0 g8 = *(int32_t *)g9; g3 = v2; return result; } // Address range: 0x1e256f7 - 0x1e25763 int32_t function_1e256f7(int32_t a1, int32_t lpValueName, int32_t a3) { int32_t v1 = g3; // 0x1e256f7 int32_t v2 = v1; // bp-4 g3 = &v2; int32_t v3 = g8; // bp-16 g8 = 0; if (g497 == 0) { // 0x1e2575c g8 = *(int32_t *)(int32_t)&v3; g3 = v1; return g2; } // 0x1e25708 int32_t v4; // bp-12 g2 = &v4; int32_t hKey; // bp-8 g5 = &hKey; int32_t lpSubKey = function_1e2551f(a1, 0, 0, 0, 0xf003f, 0, &hKey, &v4); // 0x1e2571c g2 = lpSubKey; int32_t v5 = RegCreateKeyExA(HKEY_CURRENT_USER, (char *)lpSubKey, (int32_t)&g708, (char *)&g708, (int32_t)&g708, (int32_t)&g708, (struct _SECURITY_ATTRIBUTES *)&g708, (int32_t **)&g708, &g708); // 0x1e25727 g2 = v5; if (v5 == 0) { char * lpString = (char *)a3; // 0x1e25734 int32_t cbData = lstrlenA(lpString) + 1; // 0x1e2573a g2 = cbData; g2 = RegSetValueExA((int32_t *)hKey, (char *)lpValueName, g8, 1, lpString, cbData); g2 = RegCloseKey((int32_t *)hKey); } int32_t result = function_1e25589(); // 0x1e25757 g2 = result; // 0x1e2575c g8 = *(int32_t *)g9; g3 = v2; return result; } // Address range: 0x1e25763 - 0x1e257b0 int32_t function_1e25763(int32_t uID) { int32_t lpBuffer = 256 * g163 + (int32_t)&g498; // 0x1e25771 g2 = uID; int32_t hInstance = *(int32_t *)&g660; // 0x1e2577e4 struct tagPAINTSTRUCT * v1; // bp-20 *(int32_t *)&v1 = hInstance; int32_t v2 = LoadStringA((int32_t *)hInstance, uID, (char *)lpBuffer, 255); // 0x1e25784 g2 = v2; if (v2 == 0) { // 0x1e2578e *(char *)lpBuffer = 0; } int32_t v3 = g163 + 1; // 0x1e25791 int32_t v4; if (v3 >= 6) { v4 = 0; } else { v4 = v3; } // 0x1e257aa g163 = v4; g2 = lpBuffer; g8 = (int32_t)v1; return lpBuffer; } // Address range: 0x1e257b0 - 0x1e257ff int32_t function_1e257b0(int32_t uID, int32_t * a2) { int32_t v1 = g3; // bp-4 g5 = uID; g3 = &v1; int32_t lpBuffer; // bp-260 int32_t v2 = &lpBuffer; // 0x1e257b8 g2 = v2; int32_t hInstance = *(int32_t *)&g660; // 0x1e257cb4 int32_t v3 = LoadStringA((int32_t *)hInstance, uID, (char *)&lpBuffer, 255); // 0x1e257d1 g2 = 0; int32_t result; // 0x1e257fc if (v3 != 0) { // 0x1e257e0 g2 = v2; int32_t v4 = function_1e3db80(&lpBuffer); // 0x1e257e7 g5 = (int32_t)a2; *a2 = v4; g2 = 1; result = 1; } else { result = 0; } // 0x1e257f9 g3 = v1; return result; } // Address range: 0x1e257ff - 0x1e258ef int32_t function_1e257ff(int32_t a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5) { int32_t v1 = g3; // bp-4 g2 = g657; g3 = &v1; int32_t v2 = &a2; // 0x1e25807 g8 = (int32_t)GetDC((int32_t *)g657); g2 = a5 + a3; if (g162 < 0) { // 0x1e25837 g2 = 255; g659 = -1; g658 = -1; g162 = -1; int32_t v3 = function_1e25763(189); // 0x1e25852 g2 = v3; if (v3 != 0) { // 0x1e2585b g2 = function_1e3d750(v3, (int32_t)"%d %d %d"); } } // 0x1e25878 *(int32_t *)(g9 - 4) = 1; *(int32_t *)(g9 - 8) = g8; int32_t v4 = SetBkMode(&g708, (int32_t)&g708); // 0x1e2587b int32_t v5 = g162; // 0x1e2588d g7 = v5; int32_t v6 = 0x10000 * (int32_t)g659; // 0x1e2589b g2 = v6; int32_t v7 = v5 | 256 * (int32_t)g658 | v6; // 0x1e258a0 g5 = v7; *(int32_t *)(g9 - 4) = v7; *(int32_t *)(g9 - 8) = g8; int32_t v8 = SetTextColor(&g708, (int32_t)&g708); // 0x1e258a4 *(int32_t *)(g9 - 4) = 2064; g2 = v2; *(int32_t *)(g9 - 8) = v2; *(int32_t *)(g9 - 12) = a1; int32_t v9 = lstrlenA((char *)&g708); // 0x1e258b8 g2 = v9; *(int32_t *)(g9 - 4) = v9; *(int32_t *)(g9 - 8) = a1; *(int32_t *)(g9 - 12) = g8; int32_t v10 = DrawTextA(&g708, (char *)&g708, (int32_t)&g708, (struct tagRECT *)&g708, (int32_t)&g708); // 0x1e258c3 g2 = v10; *(int32_t *)(g9 - 4) = v4; *(int32_t *)(g9 - 8) = g8; g2 = SetBkMode(&g708, (int32_t)&g708); *(int32_t *)(g9 - 4) = v8; *(int32_t *)(g9 - 8) = g8; SetTextColor(&g708, (int32_t)&g708); *(int32_t *)(g9 - 4) = g8; g2 = g657; *(int32_t *)(g9 - 8) = g657; int32_t result = ReleaseDC(&g708, &g708); // 0x1e258e0 g2 = result; g3 = v1; return result; } // Address range: 0x1e258ef - 0x1e25953 int32_t function_1e258ef(int32_t a1) { // 0x1e258ef g2 = a1; g166 = a1; function_1e25953(); g2 = g499; char v1 = g167; // 0x1e25932 int32_t * hMenu; // 0x1e2594a if (g166 == 0) { // 0x1e2592b g167 = v1 | 1; InvalidateRect((int32_t *)g499, NULL, true); g2 = g499; hMenu = NULL; } else { // 0x1e25906 g167 = v1 | 2; InvalidateRect((int32_t *)g499, NULL, true); g2 = g500; hMenu = (int32_t *)g500; } int32_t result = SetMenu((int32_t *)g499, hMenu); // 0x1e2594a g2 = result; return result; } // Address range: 0x1e25953 - 0x1e259ef int32_t function_1e25953(void) { // 0x1e25953 g2 = 0; int32_t v1; // 0x1e259b8 if (g165 != 0) { // 0x1e25982 int32_t v2; // bp-20 g2 = &v2; int32_t * hWnd = GetDesktopWindow(); // 0x1e25986 g2 = (int32_t)hWnd; GetWindowRect(hWnd, (struct tagRECT *)&g708); int32_t v3; int32_t v4 = v3 - v2 - g550; // 0x1e25999 g552 = (v4 - (v4 >> 31)) / 2; int32_t v5; int32_t v6; int32_t v7 = v6 - v5 - g551; // 0x1e259af int32_t v8 = v7 >> 31; // 0x1e259b5 g7 = v8; v1 = (v7 - v8) / 2; g2 = v1; } else { // 0x1e25964 g552 = 0; g2 = GetSystemMetrics(15); int32_t v9 = function_1e259f2(); // 0x1e25973 g2 = v9; v1 = v9; } // 0x1e259bf g553 = v1; int32_t result; // 0x1e259df if (g166 != 0) { // 0x1e259c8 *(int32_t *)(g9 - 4) = 15; int32_t v10 = GetSystemMetrics((int32_t)&g708); // 0x1e259ca g2 = v10; int32_t v11 = function_1e259f2(); // 0x1e259d2 g2 = v11; g553 = (int32_t)g553 - (v10 + v11); result = function_1e259ef(); g2 = result; g552 = (int32_t)g552 - result; } else { result = v1; } // 0x1e259ea g8 = *(int32_t *)g9; return result; } // Address range: 0x1e259ef - 0x1e259f2 int32_t function_1e259ef(void) { // 0x1e259ef g2 = 0; return 0; } // Address range: 0x1e259f2 - 0x1e259f5 int32_t function_1e259f2(void) { // 0x1e259f2 g2 = 0; return 0; } // Address range: 0x1e259f5 - 0x1e25a90 int32_t function_1e259f5(int32_t result) { // 0x1e259f5 g2 = result; int32_t v1 = g8; // 0x1e259f9 if (g165 == result) { // 0x1e25a8c g8 = *(int32_t *)g9; return result; } // 0x1e25a06 g165 = result; if (result == 0) { // 0x1e25a5a g8 = 0; function_1e25bc7(v1); g2 = g499; g168 |= -128; g2 = InvalidateRect((int32_t *)g499, (struct tagRECT *)g8, true); g2 = function_1e258ef(1); int32_t * hWnd = (int32_t *)g8; // 0x1e25a86 int32_t result2 = RedrawWindow(hWnd, (struct tagRECT *)g8, hWnd, 389); // 0x1e25a86 g2 = result2; // 0x1e25a8c g8 = *(int32_t *)g9; return result2; } // 0x1e25a0f g2 = g499; bool isVisible = IsWindowVisible((int32_t *)g499); // 0x1e25a15 g2 = isVisible; if (isVisible) { // 0x1e25a1f g2 = g499; bool v2 = GetWindowRect((int32_t *)g499, (struct tagRECT *)&g509); // 0x1e25a2a g2 = v2; } // 0x1e25a30 function_1e25ab3(); *(int32_t *)(g9 - 4) = 1; g2 = g499; g168 |= -128; *(int32_t *)(g9 - 8) = 0; *(int32_t *)(g9 - 12) = g2; g2 = InvalidateRect(&g708, (struct tagRECT *)&g708, (bool)&g708); *(int32_t *)(g9 - 4) = 0; g2 = function_1e258ef((int32_t)&g708); int32_t result3 = function_1e25a90(); // 0x1e25a53 g2 = result3; // 0x1e25a8c g8 = *(int32_t *)g9; return result3; } // Address range: 0x1e25a90 - 0x1e25ab3 int32_t function_1e25a90(void) { // 0x1e25a90 g2 = g499; int32_t dwNewLong = GetWindowLongA((int32_t *)g499, -16) & -0xc00001; // 0x1e25a9e g2 = dwNewLong; int32_t result = SetWindowLongA((int32_t *)g499, -16, dwNewLong); // 0x1e25aac g2 = result; return result; } // Address range: 0x1e25ab3 - 0x1e25bc7 int32_t function_1e25ab3(void) { // 0x1e25ab3 int32_t v1; // bp-176 int32_t v2 = &v1; // 0x1e25ab6 int32_t v3 = g8; // bp-180 int32_t v4 = &v3; // 0x1e25abc int32_t result = 0; // esi int32_t v5; // bp-20 int32_t v6; int32_t v7; int32_t v8; int32_t v9; // 0x1e25b89 if (g171 != 0) { // 0x1e25acb if (g170 == 0) { // 0x1e25ad7 g2 = function_1e25a90(); if (g164 != result) { // 0x1e25b0c g2 = &v5; int32_t * hWnd = GetDesktopWindow(); // 0x1e25b10 g2 = (int32_t)hWnd; GetWindowRect(hWnd, (struct tagRECT *)&g708); int32_t cx = v6 - v5 + 1; // 0x1e25b2d g2 = cx; int32_t X = result; // 0x1e25b2f g2 = SetWindowPos((int32_t *)g499, (int32_t *)-1, X, X, cx, 1 - v7 + v8, 8); } // 0x1e25b3f result = 1; *(int32_t *)(g9 - 4) = 4; g2 = v2; g169 = result; *(int32_t *)(g9 - 8) = v2; ChangeDisplaySettingsA((struct _devicemodeA *)&g708, (int32_t)&g708); *(int32_t *)(g9 - 4) = 4; g2 = v2; *(int32_t *)(g9 - 8) = v2; g169 = result; struct _devicemodeA * v10; uint32_t v11 = ChangeDisplaySettingsA((struct _devicemodeA *)((int32_t)v10 & 251), (int32_t)&g708); // 0x1e25b6f g170 = v11 < result; g2 = result; if (v11 < result) { // 0x1e25bc2 g8 = *(int32_t *)g9; return result; } // 0x1e25b3f v9 = g9; } else { v9 = v4; } } else { v9 = v4; } int32_t v12 = &v5; // 0x1e25b86 g2 = v12; *(int32_t *)(v9 - 4) = v12; int32_t v13 = (int32_t)GetDesktopWindow(); // 0x1e25b8a g2 = v13; *(int32_t *)(g9 - 4) = v13; g2 = GetWindowRect(&g708, (struct tagRECT *)&g708); function_1e25a90(); *(int32_t *)(g9 - 4) = 8; *(int32_t *)(g9 - 8) = 1 - v7 + v8; int32_t v14 = v6 - v5 + 1; // 0x1e25bac g2 = v14; *(int32_t *)(g9 - 12) = v14; *(int32_t *)(g9 - 16) = 0; *(int32_t *)(g9 - 20) = 0; *(int32_t *)(g9 - 24) = -2; *(int32_t *)(g9 - 28) = g499; SetWindowPos(&g708, &g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708); g2 = 0; // 0x1e25bc2 g8 = *(int32_t *)g9; return 0; } // Address range: 0x1e25bc7 - 0x1e25c44 int32_t function_1e25bc7(int32_t a1) { // 0x1e25bc7 if (g170 != 0) { // 0x1e25bd2 g170 = 0; g169 = 1; g2 = ChangeDisplaySettingsA(NULL, 4); int32_t X = 0; // 0x1e25beb if (g164 != X) { // 0x1e25bf3 g2 = g499; g2 = SetWindowPos((int32_t *)g499, (int32_t *)-2, X, X, X, X, 19); } } // 0x1e25c07 function_1e25c44(); *(int32_t *)(g9 - 4) = 20; *(int32_t *)(g9 - 8) = (int32_t)g512 - g510; *(int32_t *)(g9 - 12) = g511 - (int32_t)g509; g2 = g499; *(int32_t *)(g9 - 16) = g510; *(int32_t *)(g9 - 20) = (int32_t)g509; *(int32_t *)(g9 - 24) = 0; *(int32_t *)(g9 - 28) = g2; SetWindowPos(&g708, &g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708, (int32_t)&g708); g2 = 0; g8 = *(int32_t *)g9; return 0; } // Address range: 0x1e25c44 - 0x1e25c67 int32_t function_1e25c44(void) { // 0x1e25c44 g2 = g499; int32_t dwNewLong = GetWindowLongA((int32_t *)g499, -16) | 0xc00000; // 0x1e25c52 g2 = dwNewLong; int32_t result = SetWindowLongA((int32_t *)g499, -16, dwNewLong); // 0x1e25c60 g2 = result; return result; } // Address range: 0x1e25c67 - 0x1e25c6f int32_t function_1e25c67(void) { // 0x1e25c67 g168 |= -128; return g2; } // Address range: 0x1e25c6f - 0x1e25d5e int32_t function_1e25c6f(int32_t a1, int32_t a2, int32_t a3) { // 0x1e25c6f g2 = 0; if (g169 != 0) { // 0x1e25c7a g169 = 0; // 0x1e25d5c return 0; } // 0x1e25c84 g6 = 0; if (g165 != 0) { // 0x1e25c92 if (g170 != 0) { // 0x1e25c9a g170 = 0; g165 = 0; function_1e25c44(); g2 = g499; g168 |= -128; g2 = InvalidateRect((int32_t *)g499, (struct tagRECT *)g6, true); function_1e258ef(1); int32_t X = (int32_t)g509; // 0x1e25cdb g2 = g499; g2 = SetWindowPos((int32_t *)g499, (int32_t *)g6, X, g510, g511 - X, (int32_t)g512 - g510, 28); int32_t v1 = (int32_t)GetDesktopWindow(); // 0x1e25d01 g2 = v1; function_1e24068(v1, (int32_t)&g708); g2 = 1; // 0x1e25d5c return 1; } } int32_t X2 = (int32_t)g509; // 0x1e25d27 g2 = g499; g2 = SetWindowPos((int32_t *)g499, NULL, X2, g510, g511 - X2, (int32_t)g512 - g510, 0); int32_t v2 = (int32_t)GetDesktopWindow(); // 0x1e25d4e g2 = v2; function_1e24068(v2, (int32_t)&g708); g2 = 0; // 0x1e25d5c return 0; }