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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x37
push 0
push 0
dec ecx
jne 0x45b10c
push ecx
push ebx
push esi
push edi
mov edi, eax
xor eax, eax
push ebp
push 0x45b59f
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [0x573bfc], 1
xor edx, edx
push ebp
push 0x45b55d
push dword fs:[edx]
mov dword fs:[edx], esp
call fcn.00402cac
mov edx, dword [0x40ad44]
mov dword [ebp - 0x24], edx
mov edx, dword [0x435d54]
mov dword [ebp - 0x20], edx
lea edx, [ebp - 0x24]
mov ecx, 1
call fcn.0045a378
test al, al
je 0x45b16e
call fcn.00404848
jmp 0x45b564
call fcn.0042e44c
test al, al
jne 0x45b18a
call fcn.00459d70
test al, al
jne 0x45b18a
call fcn.00404848
jmp 0x45b564
call fcn.00402ccc
mov dword [ebp - 0x1c], eax
call fcn.00402cac
mov edx, dword [0x40acb8]
call fcn.004040d0
test al, al
je 0x45b1f5
call fcn.00402cac
call fcn.0045ac48
test al, al
je 0x45b1c3
cmp dword [ebp - 0x1c], 0
je 0x45b1c3
mov eax, dword [ebp - 0x1c]
sub eax, 5
mov dword [ebp - 0x1c], eax
call fcn.00402cac
mov edx, dword [eax + 4]
lea eax, [ebp - 0x14]
call fcn.00404ee0
call fcn.00402cac
mov eax, dword [eax]
lea edx, [ebp - 0x124]
call fcn.00403e88
lea edx, [ebp - 0x124]
lea eax, [ebp - 8]
call fcn.004050ac
jmp 0x45b212
lea eax, [ebp - 0x14]
mov edx, 0x45b5b8
call fcn.00404ee0
lea eax, [ebp - 0x14]
call fcn.0042d040
lea eax, [ebp - 8]
call fcn.00404e48
mov eax, dword [0x574150]
call fcn.0045a0d4
test al, al
je 0x45b242
lea edx, [ebp - 0x124]
mov eax, dword [0x574150]
mov eax, dword [eax]
call fcn.00403e88
lea edx, [ebp - 0x124]
lea eax, [ebp - 4]
call fcn.004050ac
jmp 0x45b24a
lea eax, [ebp - 4]
call fcn.00404e48
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.0040c268
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, 0x45b5d8
call fcn.0040db08
mov eax, dword [ebp - 0x10]
call fcn.00405324
push eax
call sub.kernel32.dll_OutputDebugStringA
lea eax, [ebp - 0x18]
call fcn.00404e48
mov edx, 0x20
mov eax, dword [ebp - 0x1c]
call fcn.0042dcec
test al, al
je 0x45b319
mov eax, dword [ebp - 0x1c]
mov esi, eax
mov ebx, eax
add ebx, 0x20
dec ebx
sub ebx, esi
jb 0x45b319
inc ebx
push dword [ebp - 0x18]
push 0x45b614
lea ecx, [ebp - 0x144]
xor eax, eax
mov al, byte [esi]
mov edx, 2
call fcn.0040c240
push dword [ebp - 0x144]
push 0x45b620
lea eax, [ebp - 0x18]
mov edx, 4
call fcn.004051e4
inc esi
dec ebx
jne 0x45b2e1
lea eax, [ebp - 0x10]
push eax
mov eax, 0x45b62c
mov dword [ebp - 0x19c], eax
mov byte [ebp - 0x198], 0xb
call fcn.0040f0e4
add esp, 0xfffffff8
fstp qword [esp]
wait
lea eax, [ebp - 0x1a0]
call fcn.0045a840
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x194], eax
mov byte [ebp - 0x190], 0xb
lea eax, [ebp - 0x1a4]
call fcn.00459510
mov eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x18c], eax
mov byte [ebp - 0x188], 0xb
mov eax, 0x45b63c
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.0045af80
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.0045ac6c
mov eax, dword [ebp - 0x1ac]
mov dword [ebp - 0x14c], eax
mov byte [ebp - 0x148], 0xb
lea edx, [ebp - 0x19c]
mov ecx, 0xa
mov eax, 0x45b650
call fcn.0040db08
lea edx, [ebp - 0x1b0]
xor eax, eax
call fcn.004030dc
mov eax, dword [ebp - 0x1b0]
lea ecx, [ebp - 0xc]
mov edx, 0x45b708
call fcn.0040c9ec
lea eax, [ebp - 0xc]
xor ecx, ecx
mov dl, 1
call fcn.0042e854
test al, al
jne 0x45b464
call fcn.00404848
jmp 0x45b564
mov dl, 1
mov eax, dword [0x41fc44]
call fcn.00403f08
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.00403f38
push 0x242014
push 0x45b710
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, 0x45b730
call fcn.0040db08
mov eax, dword [ebp - 0x1b4]
call fcn.00405324
push eax
push 0
call sub.user32.dll_MessageBoxA_1
cmp eax, 6
jne 0x45b548
lea edx, [ebp - 0x1b8]
xor eax, eax
call fcn.004030dc
mov eax, dword [ebp - 0x1b8]
lea ecx, [ebp - 0xc]
mov edx, 0x45b708
call fcn.0040c9ec
mov eax, dword [ebp - 0xc]
push eax
mov ecx, 0x45b7a8
mov edx, 0x45b7a8
mov eax, 0x45b7d0
call fcn.0046e9ec
test al, al
jne 0x45b548
push 0x242030
push 0x45b7e8
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, 0x45b7fc
call fcn.0040db08
mov eax, dword [ebp - 0x1bc]
call fcn.00405324
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 0x45b564
mov byte [0x573bfc], 0
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x45b5a6
lea eax, [ebp - 0x1bc]
mov edx, 8
call fcn.00404e6c
lea eax, [ebp - 0x144]
mov edx, 2
call fcn.00404e6c
lea eax, [ebp - 0x18]
mov edx, 6
call fcn.00404e6c
ret