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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x37
push 0
push 0
dec ecx
jne 0x49f5a4
push ecx
push ebx
push esi
push edi
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x49f9d8
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.004027f4
mov edx, dword [0x408614]
mov dword [ebp - 0x24], edx
mov edx, dword [0x48d570]
mov dword [ebp - 0x20], edx
lea edx, [ebp - 0x24]
mov ecx, 1
call fcn.0049ec6c
test al, al
jne 0x49f99d
call fcn.00489664
test al, al
jne 0x49f602
call fcn.0049e918
test al, al
je 0x49f99d
call fcn.00402814
mov esi, eax
call fcn.004027f4
mov edx, dword [0x4085ac]
call fcn.00403dd8
test al, al
je 0x49f64f
call fcn.004027f4
mov edx, dword [eax + 4]
lea eax, [ebp - 0x18]
call fcn.00404bb8
call fcn.004027f4
mov eax, dword [eax]
lea edx, [ebp - 0x124]
call fcn.00403b9c
lea edx, [ebp - 0x124]
lea eax, [ebp - 0xc]
call fcn.00404d7c
jmp 0x49f664
lea eax, [ebp - 0x18]
mov edx, 0x49f9f0
call fcn.00404bb8
lea eax, [ebp - 0xc]
call fcn.00404b20
mov eax, dword [0x58c61c]
call fcn.0049eac0
test al, al
je 0x49f694
lea edx, [ebp - 0x124]
mov eax, dword [0x58c61c]
mov eax, dword [eax]
call fcn.00403b9c
lea edx, [ebp - 0x124]
lea eax, [ebp - 8]
call fcn.00404d7c
jmp 0x49f69c
lea eax, [ebp - 8]
call fcn.00404b20
lea eax, [ebp - 0x14]
push eax
mov eax, dword [ebp - 4]
mov dword [ebp - 0x13c], eax
mov byte [ebp - 0x138], 0xb
mov ebx, esi
mov eax, ebx
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x140]
mov eax, 8
call fcn.0040976c
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, 0x49fa10
call fcn.0040ace8
mov eax, dword [ebp - 0x14]
call fcn.00404fec
push eax
call sub.kernel32.dll_OutputDebugStringA
lea eax, [ebp - 0x1c]
call fcn.00404b20
mov edx, 0x20
mov eax, ebx
call fcn.00488f24
test al, al
je 0x49f769
mov edi, ebx
add ebx, 0x20
dec ebx
sub ebx, edi
jb 0x49f769
inc ebx
push dword [ebp - 0x1c]
push 0x49fa4c
lea ecx, [ebp - 0x144]
xor eax, eax
mov al, byte [edi]
mov edx, 2
call fcn.00409730
push dword [ebp - 0x144]
push 0x49fa58
lea eax, [ebp - 0x1c]
mov edx, 4
call fcn.00404eb4
inc edi
dec ebx
jne 0x49f731
lea eax, [ebp - 0x14]
push eax
mov eax, 0x49fa64
mov dword [ebp - 0x19c], eax
mov byte [ebp - 0x198], 0xb
call fcn.0040c2cc
add esp, 0xfffffff8
fstp qword [esp]
wait
lea eax, [ebp - 0x1a0]
call fcn.0049f114
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x194], eax
mov byte [ebp - 0x190], 0xb
lea eax, [ebp - 0x1a4]
call fcn.0049edf4
mov eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x18c], eax
mov byte [ebp - 0x188], 0xb
mov eax, 0x49fa74
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
mov eax, esi
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x1a8]
mov eax, 8
call fcn.0040976c
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.0049f2b4
mov eax, dword [ebp - 0x1ac]
mov dword [ebp - 0x14c], eax
mov byte [ebp - 0x148], 0xb
lea edx, [ebp - 0x19c]
mov ecx, 0xa
mov eax, 0x49fa88
call fcn.0040ace8
lea edx, [ebp - 0x1b0]
xor eax, eax
call fcn.00402c80
mov eax, dword [ebp - 0x1b0]
lea ecx, [ebp - 0x10]
mov edx, 0x49fb40
call fcn.00409f60
lea eax, [ebp - 0x10]
xor ecx, ecx
mov dl, 1
call fcn.00489cfc
test al, al
je 0x49f99d
mov dl, 1
mov eax, dword [0x41bba8]
call fcn.00403c1c
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.00403c4c
push 0x242014
push 0x49fb48
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, 0x49fb68
call fcn.0040ace8
mov eax, dword [ebp - 0x1b4]
call fcn.00404fec
push eax
push 0
call sub.user32.dll_MessageBoxA_1
cmp eax, 6
jne 0x49f99d
lea edx, [ebp - 0x1b8]
xor eax, eax
call fcn.00402c80
mov eax, dword [ebp - 0x1b8]
lea ecx, [ebp - 0x10]
mov edx, 0x49fb40
call fcn.00409f60
mov eax, dword [ebp - 0x10]
push eax
mov ecx, 0x49fbe0
mov edx, 0x49fbe0
mov eax, 0x49fc08
call fcn.004ada68
test al, al
jne 0x49f99d
push 0x242030
push 0x49fc20
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, 0x49fc34
call fcn.0040ace8
mov eax, dword [ebp - 0x1bc]
call fcn.00404fec
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 0x49f9df
lea eax, [ebp - 0x1bc]
mov edx, 8
call fcn.00404b44
lea eax, [ebp - 0x144]
mov edx, 2
call fcn.00404b44
lea eax, [ebp - 0x1c]
mov edx, 6
call fcn.00404b44
ret