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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x37
push 0
push 0
dec ecx
jne 0x43d578
push ecx
push ebx
push esi
push edi
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x43d9ac
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.0040285c
mov edx, dword [0x408390]
mov dword [ebp - 0x24], edx
mov edx, dword [0x42b598]
mov dword [ebp - 0x20], edx
lea edx, [ebp - 0x24]
mov ecx, 1
call fcn.0043cc40
test al, al
jne 0x43d971
call fcn.00427654
test al, al
jne 0x43d5d6
call fcn.0043c940
test al, al
je 0x43d971
call fcn.0040287c
mov esi, eax
call fcn.0040285c
mov edx, dword [0x408328]
call fcn.00403cd4
test al, al
je 0x43d623
call fcn.0040285c
mov edx, dword [eax + 4]
lea eax, [ebp - 0x18]
call fcn.00404ab4
call fcn.0040285c
mov eax, dword [eax]
lea edx, [ebp - 0x124]
call fcn.00403a98
lea edx, [ebp - 0x124]
lea eax, [ebp - 0xc]
call fcn.00404c78
jmp 0x43d638
lea eax, [ebp - 0x18]
mov edx, 0x43d9c4
call fcn.00404ab4
lea eax, [ebp - 0xc]
call fcn.00404a1c
mov eax, dword [0x4cbbac]
call fcn.0043ca94
test al, al
je 0x43d668
lea edx, [ebp - 0x124]
mov eax, dword [0x4cbbac]
mov eax, dword [eax]
call fcn.00403a98
lea edx, [ebp - 0x124]
lea eax, [ebp - 8]
call fcn.00404c78
jmp 0x43d670
lea eax, [ebp - 8]
call fcn.00404a1c
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.00409338
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, 0x43d9e4
call fcn.0040a8b8
mov eax, dword [ebp - 0x14]
call fcn.00404ee8
push eax
call sub.kernel32.dll_OutputDebugStringA
lea eax, [ebp - 0x1c]
call fcn.00404a1c
mov edx, 0x20
mov eax, ebx
call fcn.00426f14
test al, al
je 0x43d73d
mov edi, ebx
add ebx, 0x20
dec ebx
sub ebx, edi
jb 0x43d73d
inc ebx
push dword [ebp - 0x1c]
push 0x43da20
lea ecx, [ebp - 0x144]
xor eax, eax
mov al, byte [edi]
mov edx, 2
call fcn.004092fc
push dword [ebp - 0x144]
push 0x43da2c
lea eax, [ebp - 0x1c]
mov edx, 4
call fcn.00404db0
inc edi
dec ebx
jne 0x43d705
lea eax, [ebp - 0x14]
push eax
mov eax, 0x43da38
mov dword [ebp - 0x19c], eax
mov byte [ebp - 0x198], 0xb
call fcn.0040b924
add esp, 0xfffffff8
fstp qword [esp]
wait
lea eax, [ebp - 0x1a0]
call fcn.0043d0e8
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x194], eax
mov byte [ebp - 0x190], 0xb
lea eax, [ebp - 0x1a4]
call fcn.0043cdc8
mov eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x18c], eax
mov byte [ebp - 0x188], 0xb
mov eax, 0x43da48
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.00409338
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.0043d288
mov eax, dword [ebp - 0x1ac]
mov dword [ebp - 0x14c], eax
mov byte [ebp - 0x148], 0xb
lea edx, [ebp - 0x19c]
mov ecx, 0xa
mov eax, 0x43da5c
call fcn.0040a8b8
lea edx, [ebp - 0x1b0]
xor eax, eax
call fcn.00402cdc
mov eax, dword [ebp - 0x1b0]
lea ecx, [ebp - 0x10]
mov edx, 0x43db14
call fcn.00409a60
lea eax, [ebp - 0x10]
xor ecx, ecx
mov dl, 1
call fcn.00427cec
test al, al
je 0x43d971
mov dl, 1
mov eax, dword [0x41a298]
call fcn.00403b18
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.00403b48
push 0x242014
push 0x43db1c
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, 0x43db3c
call fcn.0040a8b8
mov eax, dword [ebp - 0x1b4]
call fcn.00404ee8
push eax
push 0
call sub.user32.dll_MessageBoxA_1
cmp eax, 6
jne 0x43d971
lea edx, [ebp - 0x1b8]
xor eax, eax
call fcn.00402cdc
mov eax, dword [ebp - 0x1b8]
lea ecx, [ebp - 0x10]
mov edx, 0x43db14
call fcn.00409a60
mov eax, dword [ebp - 0x10]
push eax
mov ecx, 0x43dbb4
mov edx, 0x43dbb4
mov eax, 0x43dbdc
call fcn.0044b8a8
test al, al
jne 0x43d971
push 0x242030
push 0x43dbf4
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, 0x43dc08
call fcn.0040a8b8
mov eax, dword [ebp - 0x1bc]
call fcn.00404ee8
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 0x43d9b3
lea eax, [ebp - 0x1bc]
mov edx, 8
call fcn.00404a40
lea eax, [ebp - 0x144]
mov edx, 2
call fcn.00404a40
lea eax, [ebp - 0x1c]
mov edx, 6
call fcn.00404a40
ret