long Main(void arg1, void arg2) /* Takes no parameters. * Have 28Byte(s) local variable(s). */ { long loc1; /* ESP 16 */ long loc2; /* ESP 20 */ long loc3; /* ESP 24 */ register long loc4; /* ESI */ register long loc5; /* EAX */ loc4 = arg1; /* 004040D0 */ (void) LoadStringA(loc4, 103, var004054F4, 100); /* 004040D0 */ (void) LoadStringA(loc4, 109, var00405490, 100); /* 004010D0 No prototype. */ (void) proc_0001(loc4); /* 00401160 No prototype. */ loc5 = proc_0002(loc4, arg2); if (loc5 == 0) { return (loc5); } /* 004040D4 */ loc4 = LoadAcceleratorsA(loc4, (char *)0000006D); if (GetMessageA(&loc1, 0, 0, 0) != 0) { do { if (TranslateAcceleratorA(loc1, loc4, &loc1) == 0) { /* 004040E0 */ (void) TranslateMessage(&loc1); /* 004040E4 */ (void) DispatchMessageA(&loc1); } } while (GetMessageA(&loc3, 0, 0, 0) != 0); } /* 00401360 No prototype. */ (void) proc_0003(0x000003E8); return (loc2); } long proc_0001(void arg1, void arg2) /* Takes 4 bytes of parameters. * Unknown calling convention. * Have 48Byte(s) local variable(s). */ { long loc1; /* ESP 4 */ void loc2; /* ESP 12 */ void loc3; /* ESP 16 */ void loc4; /* ESP 20 */ long loc5; /* ESP 24 */ void loc6; /* ESP 28 */ long loc7; /* ESP 32 */ long loc8; /* ESP 36 */ void loc9; /* ESP 44 */ register long loc10; /* EAX */ loc10 = arg2; loc2 = 48; loc3 = 3; loc4 = &var004011C0; loc5 = 0; loc6 = 0; loc7 = loc10; /* 004040C4 */ loc8 = LoadIconA(loc10, (char *)0000006B); /* 004040C8 */ loc7 = LoadCursorA(0, (char *)00007F00); loc9 = 6; arg1 = 109; arg2 = var00405490; /* 004040C4 */ loc10 = LoadIconA(loc5, (char *)0000006C); arg1 = loc10; /* 004040CC */ return (RegisterClassExA(&loc1)); } long proc_0002(void arg1, long arg2) /* Takes 8 bytes of parameters. * Unknown calling convention. */ { register long loc1; /* EAX */ register long loc2; /* ESI */ loc1 = arg1; var00405558 = loc1; /* 004040B8 */ loc1 = CreateWindowExA(0, var00405490, var004054F4, 0x00CF0000, 0x80000000, 0, 0x80000000, 0, 0, 0, loc1, 0); loc2 = loc1; if (loc2 == 0) { return (loc1); } /* 004040BC */ (void) ShowWindow(loc2, arg2); /* 004040C0 */ (void) UpdateWindow(loc2); return (1); } void proc_0003() /* Takes 4 bytes of parameters. * Unknown calling convention. */ { /* 00401380 No prototype. */ (void) proc_0004(); /* 004013C0 No prototype. */ (void) proc_0006(); /* 00401430 No prototype. */ (void) proc_0005(0); return; } void proc_0004() /* Takes no parameters. * Unknown calling convention. */ { register long loc1; /* EAX */ register char loc2; /* BL */ register char loc3; /* AL */ register long loc4; /* EDI */ register long loc5; /* ESI */ register char loc6; /* rTMP */ register long loc7; /* EDX */ /* 00401430 No prototype. */ loc1 = proc_0005(10); loc2 = loc3; /* 00401430 No prototype. */ loc1 = proc_0005(3); loc4 = loc2; loc5 = loc3; loc1 = loc4; loc6 = loc1; loc7 = loc6 % loc5; /* 00401430 No prototype. */ (void) proc_0005(loc6 / loc5); loc1 = loc4; loc6 = loc1; loc1 = loc6 / loc5; /* 00401430 No prototype. */ (void) proc_0005(loc6 % loc5); return; } long proc_0005(void arg1) /* Takes 4 bytes of parameters. * Unknown calling convention. */ { return (arg1); } void proc_0006() /* Takes no parameters. * Unknown calling convention. * Have 200Byte(s) local variable(s). */ { long loc1; /* ESP 8 */ long loc2; /* ESP 12 */ long loc3; /* ESP 108 */ long loc4; /* ESP 112 */ void loc5; /* ESP 158 */ register long loc6; /* EAX */ register long loc7; /* EDI */ register long loc8; /* EDX */ register long loc9; /* ESI */ register long loc10; /* ECX */ /* 00401430 No prototype. */ loc6 = proc_0005(100, loc7); loc8 = loc6; loc9 = &loc2; loc7 = &loc4; loc10 = loc8 >> 2; /* Unsupported operation. */ _asm{004013DE F3A5 REP_MOVS ESI,EDI}; loc10 = loc6; loc6 = 0x20202020; loc10 = loc10 & 3; /* Unsupported operation. */ _asm{004013ED F3A4 REP_MOVS ESI,EDI}; loc10 = loc8; loc7 = &loc1; loc9 = loc10; loc5 = 65; loc10 = loc10 >> 2; /* Unsupported operation. */ _asm{00401402 F3AB REP_STOS EDI,EAX}; loc10 = loc9; loc9 = &loc3; loc10 = loc10 & 3; /* Unsupported operation. */ _asm{0040140D F3AA REP_STOS EDI,AL}; loc10 = loc8; loc7 = &loc1; loc6 = 0; /* Unsupported operation. */ _asm{00401417 F3A6 REPE_CMPS ESI,EDI}; /* Unsupported operation. */ _asm{0040141B 7405 JE 0x}; if { /* Unsupported operation. */ _asm{0040141D 1BC0 SBB EAX,EAX}; /* Unsupported operation. */ _asm{0040141F 83D8FF SBB EAX,-1}; } /* 00401430 No prototype. */ (void) proc_0005(loc6, loc9); return; }