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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x37
push 0
push 0
dec ecx
jne 0x45bf24
push ecx
push ebx
push esi
push edi
mov edi, eax
xor eax, eax
push ebp
push 0x45c3b7
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [0x57bb50], 1
xor edx, edx
push ebp
push 0x45c375
push dword fs:[edx]
mov dword fs:[edx], esp
call fcn.00402cbc
mov edx, dword [0x408af4]
mov dword [ebp - 0x24], edx
mov edx, dword [0x4546bc]
mov dword [ebp - 0x20], edx
lea edx, [ebp - 0x24]
mov ecx, 1
call fcn.0045b190
test al, al
je 0x45bf86
call fcn.00404810
jmp 0x45c37c
call fcn.0042d050
test al, al
jne 0x45bfa2
call fcn.0045ab88
test al, al
jne 0x45bfa2
call fcn.00404810
jmp 0x45c37c
call fcn.00402cdc
mov dword [ebp - 0x1c], eax
call fcn.00402cbc
mov edx, dword [0x408a68]
call fcn.00404058
test al, al
je 0x45c00d
call fcn.00402cbc
call fcn.0045ba60
test al, al
je 0x45bfdb
cmp dword [ebp - 0x1c], 0
je 0x45bfdb
mov eax, dword [ebp - 0x1c]
sub eax, 5
mov dword [ebp - 0x1c], eax
call fcn.00402cbc
mov edx, dword [eax + 4]
lea eax, [ebp - 0x14]
call fcn.00404ea8
call fcn.00402cbc
mov eax, dword [eax]
lea edx, [ebp - 0x124]
call fcn.00403e10
lea edx, [ebp - 0x124]
lea eax, [ebp - 8]
call fcn.00405074
jmp 0x45c02a
lea eax, [ebp - 0x14]
mov edx, 0x45c3d0
call fcn.00404ea8
lea eax, [ebp - 0x14]
call fcn.0042c210
lea eax, [ebp - 8]
call fcn.00404e10
mov eax, dword [0x57c080]
call fcn.0045aeec
test al, al
je 0x45c05a
lea edx, [ebp - 0x124]
mov eax, dword [0x57c080]
mov eax, dword [eax]
call fcn.00403e10
lea edx, [ebp - 0x124]
lea eax, [ebp - 4]
call fcn.00405074
jmp 0x45c062
lea eax, [ebp - 4]
call fcn.00404e10
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.00409e48
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, 0x45c3f0
call fcn.0040b314
mov eax, dword [ebp - 0x10]
call fcn.004052ec
push eax
call sub.kernel32.dll_OutputDebugStringA
lea eax, [ebp - 0x18]
call fcn.00404e10
mov edx, 0x20
mov eax, dword [ebp - 0x1c]
call fcn.0042c8f0
test al, al
je 0x45c131
mov eax, dword [ebp - 0x1c]
mov esi, eax
mov ebx, eax
add ebx, 0x20
dec ebx
sub ebx, esi
jb 0x45c131
inc ebx
push dword [ebp - 0x18]
push 0x45c42c
lea ecx, [ebp - 0x144]
xor eax, eax
mov al, byte [esi]
mov edx, 2
call fcn.00409e20
push dword [ebp - 0x144]
push 0x45c438
lea eax, [ebp - 0x18]
mov edx, 4
call fcn.004051ac
inc esi
dec ebx
jne 0x45c0f9
lea eax, [ebp - 0x10]
push eax
mov eax, 0x45c444
mov dword [ebp - 0x19c], eax
mov byte [ebp - 0x198], 0xb
call fcn.0040c3b4
add esp, 0xfffffff8
fstp qword [esp]
wait
lea eax, [ebp - 0x1a0]
call fcn.0045b658
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x194], eax
mov byte [ebp - 0x190], 0xb
lea eax, [ebp - 0x1a4]
call fcn.0045a328
mov eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x18c], eax
mov byte [ebp - 0x188], 0xb
mov eax, 0x45c454
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.0045bd98
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.0045ba84
mov eax, dword [ebp - 0x1ac]
mov dword [ebp - 0x14c], eax
mov byte [ebp - 0x148], 0xb
lea edx, [ebp - 0x19c]
mov ecx, 0xa
mov eax, 0x45c468
call fcn.0040b314
lea edx, [ebp - 0x1b0]
xor eax, eax
call fcn.004030d8
mov eax, dword [ebp - 0x1b0]
lea ecx, [ebp - 0xc]
mov edx, 0x45c520
call fcn.0040a624
lea eax, [ebp - 0xc]
xor ecx, ecx
mov dl, 1
call fcn.0042d458
test al, al
jne 0x45c27c
call fcn.00404810
jmp 0x45c37c
mov dl, 1
mov eax, dword [0x41c644]
call fcn.00403e90
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.00403ec0
push 0x242014
push 0x45c528
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, 0x45c548
call fcn.0040b314
mov eax, dword [ebp - 0x1b4]
call fcn.004052ec
push eax
push 0
call sub.user32.dll_MessageBoxA_1
cmp eax, 6
jne 0x45c360
lea edx, [ebp - 0x1b8]
xor eax, eax
call fcn.004030d8
mov eax, dword [ebp - 0x1b8]
lea ecx, [ebp - 0xc]
mov edx, 0x45c520
call fcn.0040a624
mov eax, dword [ebp - 0xc]
push eax
mov ecx, 0x45c5c0
mov edx, 0x45c5c0
mov eax, 0x45c5e8
call fcn.0046f04c
test al, al
jne 0x45c360
push 0x242030
push 0x45c600
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, 0x45c614
call fcn.0040b314
mov eax, dword [ebp - 0x1bc]
call fcn.004052ec
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 0x45c37c
mov byte [0x57bb50], 0
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x45c3be
lea eax, [ebp - 0x1bc]
mov edx, 8
call fcn.00404e34
lea eax, [ebp - 0x144]
mov edx, 2
call fcn.00404e34
lea eax, [ebp - 0x18]
mov edx, 6
call fcn.00404e34
ret