Function at 0x457f6c
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x2060
push 0
push 0
dec ecx
jne 0x457f74
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00405f60
xor eax, eax
push ebp
push 0x45840c
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x4d8e0c]
mov dword [eax], 1
mov eax, dword [0x4d8930]
cmp dword [eax], 2
jne 0x457fb1
mov eax, dword [ebp - 4]
call fcn.004578dc
lea ecx, [ebp - 0x102d8]
mov edx, 3
mov eax, dword [0x4fed14]
call fcn.00403f8c
lea edx, [ebp - 0x102d8]
lea eax, [ebp - 8]
call fcn.00405d10
mov eax, dword [0x4d8a94]
cmp byte [eax], 0
je 0x45807a
lea ecx, [ebp - 0x102d8]
mov eax, dword [0x4d8c24]
mov eax, dword [eax]
mov edx, 6
call fcn.00403f8c
lea edx, [ebp - 0x102d8]
lea eax, [ebp - 0xc]
call fcn.00405d10
push 0x458420
lea edx, [ebp - 0x102dc]
mov eax, dword [ebp - 0xc]
call fcn.00409b18
push dword [ebp - 0x102dc]
push 0x458430
lea edx, [ebp - 0x102e0]
mov eax, dword [ebp - 8]
call fcn.00409b18
push dword [ebp - 0x102e0]
push 0x458430
push dword [ebp - 4]
mov eax, dword [0x4d9030]
mov edx, 6
call fcn.00405e30
mov eax, dword [0x4d9030]
mov eax, dword [eax]
call fcn.00405f70
mov edx, eax
lea eax, [ebp - 0x1000c]
call fcn.0040a764
lea eax, [ebp - 0x1000c]
push eax
call sub.kernel32.dll_OutputDebugStringA
jmp 0x458126
mov eax, dword [0x4d8c24]
imul eax, dword [eax], 0xd
mov edx, dword [0x4d8c84]
mov edx, dword [edx]
mov eax, dword [edx + eax + 4]
lea ecx, [ebp - 0x102d8]
mov edx, 6
call fcn.00403f8c
lea edx, [ebp - 0x102d8]
lea eax, [ebp - 0xc]
call fcn.00405d10
push 0x458420
mov eax, dword [0x4d8e00]
push dword [eax]
push 0x45843c
lea edx, [ebp - 0x102e4]
mov eax, dword [ebp - 0xc]
call fcn.00409b18
push dword [ebp - 0x102e4]
push 0x458448
lea edx, [ebp - 0x102e8]
mov eax, dword [ebp - 8]
call fcn.00409b18
push dword [ebp - 0x102e8]
push 0x458454
push dword [ebp - 4]
mov eax, dword [0x4d9030]
mov edx, 8
call fcn.00405e30
mov eax, dword [0x4d9030]
mov eax, dword [eax]
call fcn.00405f70
mov edx, eax
lea eax, [ebp - 0x1000c]
call fcn.0040a764
lea eax, [ebp - 0x1000c]
push eax
call sub.kernel32.dll_OutputDebugStringA
mov eax, dword [0x4d891c]
cmp dword [eax], 0
jbe 0x4581b6
mov edx, dword [0x4d891c]
mov edx, dword [edx]
lea eax, [ebp - 0x101d8]
call fcn.004036dc
lea eax, [ebp - 0x101d8]
call fcn.00403478
lea eax, [ebp - 0x102f0]
call fcn.004266b0
push dword [ebp - 0x102f0]
push 0x458460
lea eax, [ebp - 0x102f4]
call fcn.0042646c
push dword [ebp - 0x102f4]
push 0x458460
mov eax, dword [0x4d9030]
push dword [eax]
lea eax, [ebp - 0x102ec]
mov edx, 5
call fcn.00405e30
mov edx, dword [ebp - 0x102ec]
lea eax, [ebp - 0x101d8]
call fcn.00406288
call fcn.004042e8
lea eax, [ebp - 0x101d8]
call fcn.00403884
mov eax, dword [0x4d8930]
cmp dword [eax], 1
jne 0x4583e1
lea ecx, [ebp - 0x102d8]
mov edx, 3
mov eax, dword [0x4fed14]
call fcn.00403f8c
lea edx, [ebp - 0x102d8]
lea eax, [ebp - 0xc]
call fcn.00405d10
mov eax, dword [0x4d8a94]
cmp byte [eax], 0
je 0x458246
lea ecx, [ebp - 0x102d8]
mov eax, dword [0x4d8c24]
mov eax, dword [eax]
mov edx, 6
call fcn.00403f8c
lea edx, [ebp - 0x102d8]
lea eax, [ebp - 0xc]
call fcn.00405d10
lea edx, [ebp - 0x102f8]
mov eax, 0x321
call fcn.00452e30
push dword [ebp - 0x102f8]
push dword [ebp - 0xc]
push 0x45846c
lea eax, [ebp - 8]
mov edx, 3
call fcn.00405e30
jmp 0x458364
mov eax, dword [0x4d8c24]
imul eax, dword [eax], 0xd
mov edx, dword [0x4d8c84]
mov edx, dword [edx]
mov eax, dword [edx + eax + 4]
lea ecx, [ebp - 0x102d8]
mov edx, 6
call fcn.00403f8c
lea edx, [ebp - 0x102d8]
lea eax, [ebp - 0xc]
call fcn.00405d10
push 0x458470
push 0x45847c
push 0x458484
push 0x45848c
call sub.kernel32.dll_WritePrivateProfileStringA
push 0x458470
lea edx, [ebp - 0x102fc]
mov eax, dword [ebp - 0xc]
call fcn.00409b18
mov eax, dword [ebp - 0x102fc]
call fcn.00405f70
push eax
push 0x458494
push 0x45848c
call sub.kernel32.dll_WritePrivateProfileStringA
push 0x458470
mov eax, dword [0x4d8e00]
mov eax, dword [eax]
call fcn.00405f70
push eax
push 0x45849c
push 0x45848c
call sub.kernel32.dll_WritePrivateProfileStringA
lea ecx, [ebp - 0x102d8]
mov edx, 6
mov eax, dword [0x4fed14]
call fcn.00403f8c
lea edx, [ebp - 0x102d8]
mov eax, dword [0x4d8c28]
call fcn.00405d10
push 0x458470
lea edx, [ebp - 0x10300]
mov eax, dword [0x4d8c28]
mov eax, dword [eax]
call fcn.00409b18
mov eax, dword [ebp - 0x10300]
call fcn.00405f70
push eax
push 0x4584a4
push 0x45848c
call sub.kernel32.dll_WritePrivateProfileStringA
push 0x458470
mov eax, dword [ebp - 4]
call fcn.00405f70
push eax
push 0x4584ac
push 0x45848c
call sub.kernel32.dll_WritePrivateProfileStringA
lea eax, [ebp - 8]
mov edx, dword [0x4d8afc]
mov edx, dword [edx]
call fcn.00405b44
mov eax, dword [ebp - 4]
call fcn.00405f70
mov edx, eax
lea eax, [ebp - 0x800c]
call fcn.0040a764
mov eax, dword [ebp - 8]
call fcn.00405f70
mov edx, eax
lea eax, [ebp - 0x1000c]
call fcn.0040a764
push 0x31
lea eax, [ebp - 0x800c]
push eax
lea eax, [ebp - 0x1000c]
push eax
mov eax, dword [0x4d88d8]
mov eax, dword [eax]
push eax
call sub.user32.dll_MessageBoxA_1
cmp eax, 2
jne 0x4583bc
xor edx, edx
mov eax, 0x3e7
call fcn.00457e90
push 0
push 0
mov eax, dword [0x4d88d8]
mov eax, dword [eax]
push eax
call sub.user32.dll_InvalidateRect
mov eax, dword [0x4d88d8]
mov eax, dword [eax]
push eax
call sub.user32.dll_UpdateWindow
xor eax, eax
mov dword [0x4fed14], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x458413
lea eax, [ebp - 0x10300]
mov edx, 0xa
call fcn.00405ad0
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.00405ad0
ret