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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x37
push 0
push 0
dec ecx
jne 0x456180
push ecx
push ebx
push esi
push edi
mov dword [ebp - 0x1c], eax
xor eax, eax
push ebp
push 0x456602
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [0x54f778], 1
xor eax, eax
push ebp
push 0x4565c0
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.0040300c
mov edx, dword [0x4089fc]
mov dword [ebp - 0x24], edx
mov edx, dword [0x44f8e4]
mov dword [ebp - 0x20], edx
lea edx, [ebp - 0x24]
mov ecx, 1
call fcn.004550b8
test al, al
je 0x4561e3
call fcn.00404dfc
jmp 0x4565c7
call fcn.0042dc0c
test al, al
jne 0x4561ff
call fcn.00454c4c
test al, al
jne 0x4561ff
call fcn.00404dfc
jmp 0x4565c7
call fcn.0040302c
mov ebx, eax
call fcn.0040300c
mov edx, dword [0x408994]
call fcn.00404564
test al, al
je 0x456261
call fcn.0040300c
call fcn.00455cb8
test al, al
je 0x45622f
test ebx, ebx
je 0x45622f
sub ebx, 5
call fcn.0040300c
mov edx, dword [eax + 4]
lea eax, [ebp - 0x14]
call fcn.00405474
call fcn.0040300c
mov eax, dword [eax]
lea edx, [ebp - 0x124]
call fcn.004042b8
lea edx, [ebp - 0x124]
lea eax, [ebp - 8]
call fcn.00405640
jmp 0x456276
lea eax, [ebp - 0x14]
mov edx, 0x456618
call fcn.00405474
lea eax, [ebp - 8]
call fcn.004053dc
mov eax, dword [0x54fc98]
call fcn.00454f0c
test al, al
je 0x4562a6
lea edx, [ebp - 0x124]
mov eax, dword [0x54fc98]
mov eax, dword [eax]
call fcn.004042b8
lea edx, [ebp - 0x124]
lea eax, [ebp - 4]
call fcn.00405640
jmp 0x4562ae
lea eax, [ebp - 4]
call fcn.004053dc
lea eax, [ebp - 0x10]
push eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x13c], eax
mov byte [ebp - 0x138], 0xb
mov esi, ebx
mov eax, esi
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x140]
mov eax, 8
call fcn.00409e00
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, 0x456638
call fcn.0040b1c4
mov eax, dword [ebp - 0x10]
call fcn.00405888
push eax
call sub.kernel32.dll_OutputDebugStringA
lea eax, [ebp - 0x18]
call fcn.004053dc
mov edx, 0x20
mov eax, esi
call fcn.0042d3ec
test al, al
je 0x45637a
mov edi, esi
add esi, 0x20
dec esi
sub esi, edi
jb 0x45637a
inc esi
push dword [ebp - 0x18]
push 0x456674
lea ecx, [ebp - 0x144]
movzx eax, byte [edi]
mov edx, 2
call fcn.00409dd8
push dword [ebp - 0x144]
push 0x456680
lea eax, [ebp - 0x18]
mov edx, 4
call fcn.0040578c
inc edi
dec esi
jne 0x456343
lea eax, [ebp - 0x10]
push eax
mov eax, 0x45668c
mov dword [ebp - 0x19c], eax
mov byte [ebp - 0x198], 0xb
call fcn.0040c2ac
add esp, 0xfffffff8
fstp qword [esp]
wait
lea eax, [ebp - 0x1a0]
call fcn.004558e4
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x194], eax
mov byte [ebp - 0x190], 0xb
lea eax, [ebp - 0x1a4]
call fcn.004555cc
mov eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x18c], eax
mov byte [ebp - 0x188], 0xb
mov eax, 0x45669c
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 eax, dword [ebp - 0x1c]
mov dword [ebp - 0x174], eax
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, ebx
call fcn.00455ff4
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.00455cdc
mov eax, dword [ebp - 0x1ac]
mov dword [ebp - 0x14c], eax
mov byte [ebp - 0x148], 0xb
lea edx, [ebp - 0x19c]
mov ecx, 0xa
mov eax, 0x4566ac
call fcn.0040b1c4
lea edx, [ebp - 0x1b0]
xor eax, eax
call fcn.004034b4
mov eax, dword [ebp - 0x1b0]
lea ecx, [ebp - 0xc]
mov edx, 0x456764
call fcn.0040a484
lea eax, [ebp - 0xc]
xor ecx, ecx
mov dl, 1
call fcn.0042de04
test al, al
jne 0x4564c7
call fcn.00404dfc
jmp 0x4565c7
mov dl, 1
mov eax, dword [0x41900c]
call fcn.004043a8
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.004043d8
push 0x242014
push 0x45676c
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, 0x45678c
call fcn.0040b1c4
mov eax, dword [ebp - 0x1b4]
call fcn.00405888
push eax
push 0
call sub.user32.dll_MessageBoxA_1
cmp eax, 6
jne 0x4565ab
lea edx, [ebp - 0x1b8]
xor eax, eax
call fcn.004034b4
mov eax, dword [ebp - 0x1b8]
lea ecx, [ebp - 0xc]
mov edx, 0x456764
call fcn.0040a484
mov eax, dword [ebp - 0xc]
push eax
mov ecx, 0x456804
mov edx, 0x456804
mov eax, 0x45682c
call fcn.00468b30
test al, al
jne 0x4565ab
push 0x242030
push 0x456844
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, 0x456858
call fcn.0040b1c4
mov eax, dword [ebp - 0x1bc]
call fcn.00405888
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 0x4565c7
mov byte [0x54f778], 0
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x456609
lea eax, [ebp - 0x1bc]
mov edx, 8
call fcn.00405400
lea eax, [ebp - 0x144]
mov edx, 2
call fcn.00405400
lea eax, [ebp - 0x18]
mov edx, 6
call fcn.00405400
ret