Function at 0x45c9e0
Capabilities:
Contain obfuscated stackstrings
Print debug messages

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x37
push 0
push 0
dec ecx
jne 0x45c9e8
push ecx
push ebx
push esi
push edi
mov edi, eax
xor eax, eax
push ebp
push 0x45ce7b
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [0x490ce4], 1
xor edx, edx
push ebp
push 0x45ce39
push dword fs:[edx]
mov dword fs:[edx], esp
call fcn.004027c0
mov edx, dword [0x4077f4]
mov dword [ebp - 0x24], edx
mov edx, dword [0x437634]
mov dword [ebp - 0x20], edx
lea edx, [ebp - 0x24]
mov ecx, 1
call fcn.0045bc54
test al, al
je 0x45ca4a
call fcn.004040a4
jmp 0x45ce40
call fcn.0042fea0
test al, al
jne 0x45ca66
call fcn.0045b64c
test al, al
jne 0x45ca66
call fcn.004040a4
jmp 0x45ce40
call fcn.004027e0
mov dword [ebp - 0x1c], eax
call fcn.004027c0
mov edx, dword [0x40778c]
call fcn.0040394c
test al, al
je 0x45cad1
call fcn.004027c0
call fcn.0045c524
test al, al
je 0x45ca9f
cmp dword [ebp - 0x1c], 0
je 0x45ca9f
mov eax, dword [ebp - 0x1c]
sub eax, 5
mov dword [ebp - 0x1c], eax
call fcn.004027c0
mov edx, dword [eax + 4]
lea eax, [ebp - 0x14]
call fcn.0040475c
call fcn.004027c0
mov eax, dword [eax]
lea edx, [ebp - 0x124]
call fcn.00403710
lea edx, [ebp - 0x124]
lea eax, [ebp - 8]
call fcn.00404928
jmp 0x45caee
lea eax, [ebp - 0x14]
mov edx, 0x45ce94
call fcn.0040475c
lea eax, [ebp - 0x14]
call fcn.0042ea94
lea eax, [ebp - 8]
call fcn.004046c4
mov eax, dword [0x491238]
call fcn.0045b9b0
test al, al
je 0x45cb1e
lea edx, [ebp - 0x124]
mov eax, dword [0x491238]
mov eax, dword [eax]
call fcn.00403710
lea edx, [ebp - 0x124]
lea eax, [ebp - 4]
call fcn.00404928
jmp 0x45cb26
lea eax, [ebp - 4]
call fcn.004046c4
lea eax, [ebp - 0x10]
push eax
mov dword [ebp - 0x13c], edi
mov byte [ebp - 0x138], 0xb
mov eax, dword [ebp - 0x1c]
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x140]
mov eax, 8
call fcn.00408a44
mov eax, dword [ebp - 0x140]
mov dword [ebp - 0x134], eax
mov byte [ebp - 0x130], 0xb
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x12c], eax
mov byte [ebp - 0x128], 0xb
lea edx, [ebp - 0x13c]
mov ecx, 2
mov eax, 0x45ceb4
call fcn.00409e0c
mov eax, dword [ebp - 0x10]
call fcn.00404ba0
push eax
call sub.kernel32.dll_OutputDebugStringA
lea eax, [ebp - 0x18]
call fcn.004046c4
mov edx, 0x20
mov eax, dword [ebp - 0x1c]
call fcn.0042f740
test al, al
je 0x45cbf5
mov eax, dword [ebp - 0x1c]
mov esi, eax
mov ebx, eax
add ebx, 0x20
dec ebx
sub ebx, esi
jb 0x45cbf5
inc ebx
push dword [ebp - 0x18]
push 0x45cef0
lea ecx, [ebp - 0x144]
xor eax, eax
mov al, byte [esi]
mov edx, 2
call fcn.00408a1c
push dword [ebp - 0x144]
push 0x45cefc
lea eax, [ebp - 0x18]
mov edx, 4
call fcn.00404a60
inc esi
dec ebx
jne 0x45cbbd
lea eax, [ebp - 0x10]
push eax
mov eax, 0x45cf08
mov dword [ebp - 0x19c], eax
mov byte [ebp - 0x198], 0xb
call fcn.0040aeac
add esp, 0xfffffff8
fstp qword [esp]
wait
lea eax, [ebp - 0x1a0]
call fcn.0045c11c
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x194], eax
mov byte [ebp - 0x190], 0xb
lea eax, [ebp - 0x1a4]
call fcn.0045adec
mov eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x18c], eax
mov byte [ebp - 0x188], 0xb
mov eax, 0x45cf18
mov dword [ebp - 0x184], eax
mov byte [ebp - 0x180], 0xb
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x17c], eax
mov byte [ebp - 0x178], 0xb
mov dword [ebp - 0x174], edi
mov byte [ebp - 0x170], 0xb
mov eax, dword [ebp - 4]
mov dword [ebp - 0x16c], eax
mov byte [ebp - 0x168], 0xb
lea edx, [ebp - 0x1a8]
mov eax, dword [ebp - 0x1c]
call fcn.0045c85c
mov eax, dword [ebp - 0x1a8]
mov dword [ebp - 0x164], eax
mov byte [ebp - 0x160], 0xb
mov eax, dword [ebp - 8]
mov dword [ebp - 0x15c], eax
mov byte [ebp - 0x158], 0xb
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x154], eax
mov byte [ebp - 0x150], 0xb
lea eax, [ebp - 0x1ac]
call fcn.0045c548
mov eax, dword [ebp - 0x1ac]
mov dword [ebp - 0x14c], eax
mov byte [ebp - 0x148], 0xb
lea edx, [ebp - 0x19c]
mov ecx, 0xa
mov eax, 0x45cf2c
call fcn.00409e0c
lea edx, [ebp - 0x1b0]
xor eax, eax
call fcn.00402b50
mov eax, dword [ebp - 0x1b0]
lea ecx, [ebp - 0xc]
mov edx, 0x45cfe4
call fcn.0040911c
lea eax, [ebp - 0xc]
xor ecx, ecx
mov dl, 1
call fcn.004302a8
test al, al
jne 0x45cd40
call fcn.004040a4
jmp 0x45ce40
mov dl, 1
mov eax, dword [0x417494]
call fcn.00403790
mov ebx, eax
mov edx, dword [ebp - 0x10]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov edx, dword [ebp - 0xc]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x74]
mov eax, ebx
call fcn.004037c0
push 0x242014
push 0x45cfec
lea eax, [ebp - 0x1b4]
push eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x24], eax
mov byte [ebp - 0x20], 0xb
lea edx, [ebp - 0x24]
xor ecx, ecx
mov eax, 0x45d00c
call fcn.00409e0c
mov eax, dword [ebp - 0x1b4]
call fcn.00404ba0
push eax
push 0
call sub.user32.dll_MessageBoxA_1
cmp eax, 6
jne 0x45ce24
lea edx, [ebp - 0x1b8]
xor eax, eax
call fcn.00402b50
mov eax, dword [ebp - 0x1b8]
lea ecx, [ebp - 0xc]
mov edx, 0x45cfe4
call fcn.0040911c
mov eax, dword [ebp - 0xc]
push eax
mov ecx, 0x45d084
mov edx, 0x45d084
mov eax, 0x45d0ac
call fcn.004702d8
test al, al
jne 0x45ce24
push 0x242030
push 0x45d0c4
lea eax, [ebp - 0x1bc]
push eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x24], eax
mov byte [ebp - 0x20], 0xb
lea edx, [ebp - 0x24]
xor ecx, ecx
mov eax, 0x45d0d8
call fcn.00409e0c
mov eax, dword [ebp - 0x1bc]
call fcn.00404ba0
push eax
push 0
call sub.user32.dll_MessageBoxA_1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x45ce40
mov byte [0x490ce4], 0
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x45ce82
lea eax, [ebp - 0x1bc]
mov edx, 8
call fcn.004046e8
lea eax, [ebp - 0x144]
mov edx, 2
call fcn.004046e8
lea eax, [ebp - 0x18]
mov edx, 6
call fcn.004046e8
ret