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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x37
push 0
push 0
dec ecx
jne 0x45655c
push ecx
push ebx
push esi
push edi
mov edi, eax
xor eax, eax
push ebp
push 0x4569e7
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [0x4dd088], 1
xor edx, edx
push ebp
push 0x4569a5
push dword fs:[edx]
mov dword fs:[edx], esp
call fcn.00402c20
mov edx, dword [0x40a8e4]
mov dword [ebp - 0x24], edx
mov edx, dword [0x4339f4]
mov dword [ebp - 0x20], edx
lea edx, [ebp - 0x24]
mov ecx, 1
call fcn.004557c8
test al, al
je 0x4565be
call fcn.00404698
jmp 0x4569ac
call fcn.0042a984
test al, al
jne 0x4565da
call fcn.004551c0
test al, al
jne 0x4565da
call fcn.00404698
jmp 0x4569ac
call fcn.00402c40
mov dword [ebp - 0x1c], eax
call fcn.00402c20
mov edx, dword [0x40a87c]
call fcn.00403f20
test al, al
je 0x456645
call fcn.00402c20
call fcn.00456098
test al, al
je 0x456613
cmp dword [ebp - 0x1c], 0
je 0x456613
mov eax, dword [ebp - 0x1c]
sub eax, 5
mov dword [ebp - 0x1c], eax
call fcn.00402c20
mov edx, dword [eax + 4]
lea eax, [ebp - 0x14]
call fcn.00404db8
call fcn.00402c20
mov eax, dword [eax]
lea edx, [ebp - 0x124]
call fcn.00403cd8
lea edx, [ebp - 0x124]
lea eax, [ebp - 8]
call fcn.00404f84
jmp 0x45665a
lea eax, [ebp - 0x14]
mov edx, 0x456a00
call fcn.00404db8
lea eax, [ebp - 8]
call fcn.00404d20
mov eax, dword [0x4dd5b0]
call fcn.00455524
test al, al
je 0x45668a
lea edx, [ebp - 0x124]
mov eax, dword [0x4dd5b0]
mov eax, dword [eax]
call fcn.00403cd8
lea edx, [ebp - 0x124]
lea eax, [ebp - 4]
call fcn.00404f84
jmp 0x456692
lea eax, [ebp - 4]
call fcn.00404d20
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.0040b9b8
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, 0x456a20
call fcn.0040d0c4
mov eax, dword [ebp - 0x10]
call fcn.004051fc
push eax
call sub.kernel32.dll_OutputDebugStringA
lea eax, [ebp - 0x18]
call fcn.00404d20
mov edx, 0x20
mov eax, dword [ebp - 0x1c]
call fcn.0042a224
test al, al
je 0x456761
mov eax, dword [ebp - 0x1c]
mov esi, eax
mov ebx, eax
add ebx, 0x20
dec ebx
sub ebx, esi
jb 0x456761
inc ebx
push dword [ebp - 0x18]
push 0x456a5c
lea ecx, [ebp - 0x144]
xor eax, eax
mov al, byte [esi]
mov edx, 2
call fcn.0040b990
push dword [ebp - 0x144]
push 0x456a68
lea eax, [ebp - 0x18]
mov edx, 4
call fcn.004050bc
inc esi
dec ebx
jne 0x456729
lea eax, [ebp - 0x10]
push eax
mov eax, 0x456a74
mov dword [ebp - 0x19c], eax
mov byte [ebp - 0x198], 0xb
call fcn.0040e104
add esp, 0xfffffff8
fstp qword [esp]
wait
lea eax, [ebp - 0x1a0]
call fcn.00455c90
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x194], eax
mov byte [ebp - 0x190], 0xb
lea eax, [ebp - 0x1a4]
call fcn.00454b04
mov eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x18c], eax
mov byte [ebp - 0x188], 0xb
mov eax, 0x456a84
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.004563d0
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.004560bc
mov eax, dword [ebp - 0x1ac]
mov dword [ebp - 0x14c], eax
mov byte [ebp - 0x148], 0xb
lea edx, [ebp - 0x19c]
mov ecx, 0xa
mov eax, 0x456a98
call fcn.0040d0c4
lea edx, [ebp - 0x1b0]
xor eax, eax
call fcn.0040303c
mov eax, dword [ebp - 0x1b0]
lea ecx, [ebp - 0xc]
mov edx, 0x456b50
call fcn.0040c0ac
lea eax, [ebp - 0xc]
xor ecx, ecx
mov dl, 1
call fcn.0042ad84
test al, al
jne 0x4568ac
call fcn.00404698
jmp 0x4569ac
mov dl, 1
mov eax, dword [0x41cdb4]
call fcn.00403d58
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.00403d88
push 0x242014
push 0x456b58
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, 0x456b78
call fcn.0040d0c4
mov eax, dword [ebp - 0x1b4]
call fcn.004051fc
push eax
push 0
call sub.user32.dll_MessageBoxA_1
cmp eax, 6
jne 0x456990
lea edx, [ebp - 0x1b8]
xor eax, eax
call fcn.0040303c
mov eax, dword [ebp - 0x1b8]
lea ecx, [ebp - 0xc]
mov edx, 0x456b50
call fcn.0040c0ac
mov eax, dword [ebp - 0xc]
push eax
mov ecx, 0x456bf0
mov edx, 0x456bf0
mov eax, 0x456c18
call fcn.004694f0
test al, al
jne 0x456990
push 0x242030
push 0x456c30
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, 0x456c44
call fcn.0040d0c4
mov eax, dword [ebp - 0x1bc]
call fcn.004051fc
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 0x4569ac
mov byte [0x4dd088], 0
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4569ee
lea eax, [ebp - 0x1bc]
mov edx, 8
call fcn.00404d44
lea eax, [ebp - 0x144]
mov edx, 2
call fcn.00404d44
lea eax, [ebp - 0x18]
mov edx, 6
call fcn.00404d44
ret