Function at 0x458670
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x2060
push 0
push 0
dec ecx
jne 0x458678
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00405f68
xor eax, eax
push ebp
push 0x458b10
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x4e2e58]
mov dword [eax], 1
mov eax, dword [0x4e2958]
cmp dword [eax], 2
jne 0x4586b5
mov eax, dword [ebp - 4]
call fcn.00457fd4
lea ecx, [ebp - 0x102d8]
mov edx, 3
mov eax, dword [0x508d28]
call fcn.00403f8c
lea edx, [ebp - 0x102d8]
lea eax, [ebp - 8]
call fcn.00405d18
mov eax, dword [0x4e2acc]
cmp byte [eax], 0
je 0x45877e
lea ecx, [ebp - 0x102d8]
mov eax, dword [0x4e2c68]
mov eax, dword [eax]
mov edx, 6
call fcn.00403f8c
lea edx, [ebp - 0x102d8]
lea eax, [ebp - 0xc]
call fcn.00405d18
push 0x458b24
lea edx, [ebp - 0x102dc]
mov eax, dword [ebp - 0xc]
call fcn.00409b68
push dword [ebp - 0x102dc]
push 0x458b34
lea edx, [ebp - 0x102e0]
mov eax, dword [ebp - 8]
call fcn.00409b68
push dword [ebp - 0x102e0]
push 0x458b34
push dword [ebp - 4]
mov eax, dword [0x4e308c]
mov edx, 6
call fcn.00405e38
mov eax, dword [0x4e308c]
mov eax, dword [eax]
call fcn.00405f78
mov edx, eax
lea eax, [ebp - 0x1000c]
call fcn.0040a7b4
lea eax, [ebp - 0x1000c]
push eax
call sub.kernel32.dll_OutputDebugStringA
jmp 0x45882a
mov eax, dword [0x4e2c68]
imul eax, dword [eax], 0xd
mov edx, dword [0x4e2cc8]
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.00405d18
push 0x458b24
mov eax, dword [0x4e2e4c]
push dword [eax]
push 0x458b40
lea edx, [ebp - 0x102e4]
mov eax, dword [ebp - 0xc]
call fcn.00409b68
push dword [ebp - 0x102e4]
push 0x458b4c
lea edx, [ebp - 0x102e8]
mov eax, dword [ebp - 8]
call fcn.00409b68
push dword [ebp - 0x102e8]
push 0x458b58
push dword [ebp - 4]
mov eax, dword [0x4e308c]
mov edx, 8
call fcn.00405e38
mov eax, dword [0x4e308c]
mov eax, dword [eax]
call fcn.00405f78
mov edx, eax
lea eax, [ebp - 0x1000c]
call fcn.0040a7b4
lea eax, [ebp - 0x1000c]
push eax
call sub.kernel32.dll_OutputDebugStringA
mov eax, dword [0x4e2944]
cmp dword [eax], 0
jbe 0x4588ba
mov edx, dword [0x4e2944]
mov edx, dword [edx]
lea eax, [ebp - 0x101d8]
call fcn.004036dc
lea eax, [ebp - 0x101d8]
call fcn.00403478
lea eax, [ebp - 0x102f0]
call fcn.00426aec
push dword [ebp - 0x102f0]
push 0x458b64
lea eax, [ebp - 0x102f4]
call fcn.004268a8
push dword [ebp - 0x102f4]
push 0x458b64
mov eax, dword [0x4e308c]
push dword [eax]
lea eax, [ebp - 0x102ec]
mov edx, 5
call fcn.00405e38
mov edx, dword [ebp - 0x102ec]
lea eax, [ebp - 0x101d8]
call fcn.00406290
call fcn.004042e8
lea eax, [ebp - 0x101d8]
call fcn.00403884
mov eax, dword [0x4e2958]
cmp dword [eax], 1
jne 0x458ae5
lea ecx, [ebp - 0x102d8]
mov edx, 3
mov eax, dword [0x508d28]
call fcn.00403f8c
lea edx, [ebp - 0x102d8]
lea eax, [ebp - 0xc]
call fcn.00405d18
mov eax, dword [0x4e2acc]
cmp byte [eax], 0
je 0x45894a
lea ecx, [ebp - 0x102d8]
mov eax, dword [0x4e2c68]
mov eax, dword [eax]
mov edx, 6
call fcn.00403f8c
lea edx, [ebp - 0x102d8]
lea eax, [ebp - 0xc]
call fcn.00405d18
lea edx, [ebp - 0x102f8]
mov eax, 0x321
call fcn.00452f3c
push dword [ebp - 0x102f8]
push dword [ebp - 0xc]
push 0x458b70
lea eax, [ebp - 8]
mov edx, 3
call fcn.00405e38
jmp 0x458a68
mov eax, dword [0x4e2c68]
imul eax, dword [eax], 0xd
mov edx, dword [0x4e2cc8]
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.00405d18
push 0x458b74
push 0x458b80
push 0x458b88
push 0x458b90
call sub.kernel32.dll_WritePrivateProfileStringA
push 0x458b74
lea edx, [ebp - 0x102fc]
mov eax, dword [ebp - 0xc]
call fcn.00409b68
mov eax, dword [ebp - 0x102fc]
call fcn.00405f78
push eax
push 0x458b98
push 0x458b90
call sub.kernel32.dll_WritePrivateProfileStringA
push 0x458b74
mov eax, dword [0x4e2e4c]
mov eax, dword [eax]
call fcn.00405f78
push eax
push 0x458ba0
push 0x458b90
call sub.kernel32.dll_WritePrivateProfileStringA
lea ecx, [ebp - 0x102d8]
mov edx, 6
mov eax, dword [0x508d28]
call fcn.00403f8c
lea edx, [ebp - 0x102d8]
mov eax, dword [0x4e2c6c]
call fcn.00405d18
push 0x458b74
lea edx, [ebp - 0x10300]
mov eax, dword [0x4e2c6c]
mov eax, dword [eax]
call fcn.00409b68
mov eax, dword [ebp - 0x10300]
call fcn.00405f78
push eax
push 0x458ba8
push 0x458b90
call sub.kernel32.dll_WritePrivateProfileStringA
push 0x458b74
mov eax, dword [ebp - 4]
call fcn.00405f78
push eax
push 0x458bb0
push 0x458b90
call sub.kernel32.dll_WritePrivateProfileStringA
lea eax, [ebp - 8]
mov edx, dword [0x4e2b3c]
mov edx, dword [edx]
call fcn.00405b4c
mov eax, dword [ebp - 4]
call fcn.00405f78
mov edx, eax
lea eax, [ebp - 0x800c]
call fcn.0040a7b4
mov eax, dword [ebp - 8]
call fcn.00405f78
mov edx, eax
lea eax, [ebp - 0x1000c]
call fcn.0040a7b4
push 0x31
lea eax, [ebp - 0x800c]
push eax
lea eax, [ebp - 0x1000c]
push eax
mov eax, dword [0x4e2900]
mov eax, dword [eax]
push eax
call sub.user32.dll_MessageBoxA_1
cmp eax, 2
jne 0x458ac0
xor edx, edx
mov eax, 0x3e7
call fcn.00458594
push 0
push 0
mov eax, dword [0x4e2900]
mov eax, dword [eax]
push eax
call sub.user32.dll_InvalidateRect
mov eax, dword [0x4e2900]
mov eax, dword [eax]
push eax
call sub.user32.dll_UpdateWindow
xor eax, eax
mov dword [0x508d28], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x458b17
lea eax, [ebp - 0x10300]
mov edx, 0xa
call fcn.00405ad8
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.00405ad8
ret