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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x37
push 0
push 0
dec ecx
jne 0x45a83c
push ecx
push ebx
push esi
push edi
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x45acbf
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [0x5b9174], 1
xor eax, eax
push ebp
push 0x45ac7d
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.00402868
mov edx, dword [0x40aa18]
mov dword [ebp - 0x24], edx
mov edx, dword [0x437da4]
mov dword [ebp - 0x20], edx
lea edx, [ebp - 0x24]
mov ecx, 1
call fcn.00459aa8
test al, al
je 0x45a89f
call fcn.004043b4
jmp 0x45ac84
call fcn.0042ee5c
test al, al
jne 0x45a8bb
call fcn.004594ac
test al, al
jne 0x45a8bb
call fcn.004043b4
jmp 0x45ac84
call fcn.00402888
mov ebx, eax
call fcn.00402868
mov edx, dword [0x40a9b0]
call fcn.00403c04
test al, al
je 0x45a91d
call fcn.00402868
call fcn.0045a378
test al, al
je 0x45a8eb
test ebx, ebx
je 0x45a8eb
sub ebx, 5
call fcn.00402868
mov edx, dword [eax + 4]
lea eax, [ebp - 0x18]
call fcn.00404a00
call fcn.00402868
mov eax, dword [eax]
lea edx, [ebp - 0x124]
call fcn.004039c8
lea edx, [ebp - 0x124]
lea eax, [ebp - 0xc]
call fcn.00404bd4
jmp 0x45a932
lea eax, [ebp - 0x18]
mov edx, 0x45acd8
call fcn.00404a00
lea eax, [ebp - 0xc]
call fcn.00404968
mov eax, dword [0x5b969c]
call fcn.00459804
test al, al
je 0x45a962
lea edx, [ebp - 0x124]
mov eax, dword [0x5b969c]
mov eax, dword [eax]
call fcn.004039c8
lea edx, [ebp - 0x124]
lea eax, [ebp - 8]
call fcn.00404bd4
jmp 0x45a96a
lea eax, [ebp - 8]
call fcn.00404968
lea eax, [ebp - 0x14]
push eax
mov eax, dword [ebp - 4]
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.0040bfac
mov eax, dword [ebp - 0x140]
mov dword [ebp - 0x134], eax
mov byte [ebp - 0x130], 0xb
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x12c], eax
mov byte [ebp - 0x128], 0xb
lea edx, [ebp - 0x13c]
mov ecx, 2
mov eax, 0x45acf8
call fcn.0040d560
mov eax, dword [ebp - 0x14]
call fcn.00404e44
push eax
call sub.kernel32.dll_OutputDebugStringA
lea eax, [ebp - 0x1c]
call fcn.00404968
mov edx, 0x20
mov eax, esi
call fcn.0042e71c
test al, al
je 0x45aa37
mov edi, esi
add esi, 0x20
dec esi
sub esi, edi
jb 0x45aa37
inc esi
push dword [ebp - 0x1c]
push 0x45ad34
lea ecx, [ebp - 0x144]
xor eax, eax
mov al, byte [edi]
mov edx, 2
call fcn.0040bf70
push dword [ebp - 0x144]
push 0x45ad40
lea eax, [ebp - 0x1c]
mov edx, 4
call fcn.00404d0c
inc edi
dec esi
jne 0x45a9ff
lea eax, [ebp - 0x14]
push eax
mov eax, 0x45ad4c
mov dword [ebp - 0x19c], eax
mov byte [ebp - 0x198], 0xb
call fcn.0040eba0
add esp, 0xfffffff8
fstp qword [esp]
wait
lea eax, [ebp - 0x1a0]
call fcn.00459f70
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x194], eax
mov byte [ebp - 0x190], 0xb
lea eax, [ebp - 0x1a4]
call fcn.00458df4
mov eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x18c], eax
mov byte [ebp - 0x188], 0xb
mov eax, 0x45ad5c
mov dword [ebp - 0x184], eax
mov byte [ebp - 0x180], 0xb
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x17c], eax
mov byte [ebp - 0x178], 0xb
mov eax, dword [ebp - 4]
mov dword [ebp - 0x174], eax
mov byte [ebp - 0x170], 0xb
mov eax, dword [ebp - 8]
mov dword [ebp - 0x16c], eax
mov byte [ebp - 0x168], 0xb
lea edx, [ebp - 0x1a8]
mov eax, ebx
call fcn.0045a6b0
mov eax, dword [ebp - 0x1a8]
mov dword [ebp - 0x164], eax
mov byte [ebp - 0x160], 0xb
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x15c], eax
mov byte [ebp - 0x158], 0xb
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x154], eax
mov byte [ebp - 0x150], 0xb
lea eax, [ebp - 0x1ac]
call fcn.0045a39c
mov eax, dword [ebp - 0x1ac]
mov dword [ebp - 0x14c], eax
mov byte [ebp - 0x148], 0xb
lea edx, [ebp - 0x19c]
mov ecx, 0xa
mov eax, 0x45ad70
call fcn.0040d560
lea edx, [ebp - 0x1b0]
xor eax, eax
call fcn.00402c90
mov eax, dword [ebp - 0x1b0]
lea ecx, [ebp - 0x10]
mov edx, 0x45ae28
call fcn.0040c700
lea eax, [ebp - 0x10]
xor ecx, ecx
mov dl, 1
call fcn.0042f25c
test al, al
jne 0x45ab84
call fcn.004043b4
jmp 0x45ac84
mov dl, 1
mov eax, dword [0x41eb20]
call fcn.00403a48
mov ebx, eax
mov edx, dword [ebp - 0x14]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov edx, dword [ebp - 0x10]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x74]
mov eax, ebx
call fcn.00403a78
push 0x242014
push 0x45ae30
lea eax, [ebp - 0x1b4]
push eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x24], eax
mov byte [ebp - 0x20], 0xb
lea edx, [ebp - 0x24]
xor ecx, ecx
mov eax, 0x45ae50
call fcn.0040d560
mov eax, dword [ebp - 0x1b4]
call fcn.00404e44
push eax
push 0
call sub.user32.dll_MessageBoxA_1
cmp eax, 6
jne 0x45ac68
lea edx, [ebp - 0x1b8]
xor eax, eax
call fcn.00402c90
mov eax, dword [ebp - 0x1b8]
lea ecx, [ebp - 0x10]
mov edx, 0x45ae28
call fcn.0040c700
mov eax, dword [ebp - 0x10]
push eax
mov ecx, 0x45aec8
mov edx, 0x45aec8
mov eax, 0x45aef0
call fcn.0046d5f0
test al, al
jne 0x45ac68
push 0x242030
push 0x45af08
lea eax, [ebp - 0x1bc]
push eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x24], eax
mov byte [ebp - 0x20], 0xb
lea edx, [ebp - 0x24]
xor ecx, ecx
mov eax, 0x45af1c
call fcn.0040d560
mov eax, dword [ebp - 0x1bc]
call fcn.00404e44
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 0x45ac84
mov byte [0x5b9174], 0
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x45acc6
lea eax, [ebp - 0x1bc]
mov edx, 8
call fcn.0040498c
lea eax, [ebp - 0x144]
mov edx, 2
call fcn.0040498c
lea eax, [ebp - 0x1c]
mov edx, 6
call fcn.0040498c
ret