Function at 0x40530c
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 0x28
add esp, 0xfffff004
push eax
dec eax
jne 0x405315
mov eax, dword [ebp - 4]
add esp, 0xfffffbe0
push ebx
push esi
push edi
mov byte [ebp - 0x1c002], al
lea eax, [ebp - 0x1c000]
xor ecx, ecx
mov edx, 0x1c000
call sub.rtl160.bpl__System__FillChar_qqrpvic
lea eax, [ebp - 0x20024]
xor ecx, ecx
mov edx, 0x4000
call sub.rtl160.bpl__System__FillChar_qqrpvic
xor eax, eax
mov dword [ebp - 0x1c008], eax
mov byte [ebp - 0x1c001], 1
mov ebx, dword [0x42017c]
jmp 0x405462
mov eax, ebx
call fcn.0040234c
mov edi, eax
test edi, edi
je 0x40545f
mov eax, edi
sub eax, 4
mov esi, dword [eax]
test esi, 1
jne 0x40544e
cmp byte [ebp - 0x1c002], 0
je 0x40544e
test esi, 4
je 0x4053b6
push ebp
mov eax, edi
call fcn.004051b8
pop ecx
jmp 0x40544e
cmp dword [ebp - 0x1c008], 0x1000
jge 0x40544e
xor edx, edx
mov eax, edi
call fcn.00403ea4
test al, al
je 0x40544e
and esi, 0xfffffff0
sub esi, 4
mov dword [ebp - 0x1c014], esi
sub dword [ebp - 0x1c014], 0x88
mov edx, dword [ebp - 0x1c014]
mov eax, edi
call fcn.0040511c
mov byte [ebp - 0x1c003], al
cmp byte [ebp - 0x1c001], 0
je 0x40540e
cmp byte [ebp - 0x1c003], 0
jne 0x405412
xor eax, eax
jmp 0x405414
mov al, 1
mov byte [ebp - 0x1c001], al
cmp byte [ebp - 0x1c003], 1
je 0x40542c
mov dl, 1
mov eax, edi
call fcn.00403930
cmp byte [ebp - 0x1c003], 1
je 0x40544e
mov eax, dword [ebp - 0x1c008]
mov edx, dword [ebp - 0x1c014]
mov dword [ebp + eax*4 - 0x20024], edx
inc dword [ebp - 0x1c008]
mov eax, edi
call fcn.00402328
mov edi, eax
test edi, edi
jne 0x405380
mov ebx, dword [ebx + 4]
cmp ebx, 0x420178
jne 0x40536f
cmp byte [ebp - 0x1c002], 0
je 0x40579f
mov ebx, dword [0x422220]
jmp 0x40551c
cmp dword [ebp - 0x1c008], 0x1000
jge 0x405519
mov eax, ebx
add eax, 0x10
xor edx, edx
call fcn.00403ea4
test al, al
je 0x405519
mov esi, dword [ebx + 0xc]
and esi, 0xfffffff0
sub esi, 4
sub esi, 0x10
sub esi, 0x88
mov eax, ebx
add eax, 0x10
mov edx, esi
call fcn.0040511c
mov byte [ebp - 0x1c003], al
cmp byte [ebp - 0x1c001], 0
je 0x4054dc
cmp byte [ebp - 0x1c003], 0
jne 0x4054e0
xor eax, eax
jmp 0x4054e2
mov al, 1
mov byte [ebp - 0x1c001], al
cmp byte [ebp - 0x1c003], 1
je 0x4054fd
mov eax, ebx
add eax, 0x10
mov dl, 1
call fcn.00403930
cmp byte [ebp - 0x1c003], 1
je 0x405519
mov eax, dword [ebp - 0x1c008]
mov dword [ebp + eax*4 - 0x20024], esi
inc dword [ebp - 0x1c008]
mov ebx, dword [ebx + 4]
cmp ebx, 0x42221c
jne 0x405486
cmp byte [ebp - 0x1c001], 0
jne 0x40579f
mov byte [ebp - 0x1c009], 0
xor eax, eax
mov dword [ebp - 0x1c018], eax
lea edx, [ebp - 0x28024]
mov eax, 0x4057a8
mov ecx, 0x24
call fcn.00402118
mov dword [ebp - 0x1c010], 0x38
mov dword [ebp - 0x1c020], 0x41f0da
lea edx, [ebp - 0x1b804]
mov dword [ebp - 0x1c024], edx
mov edx, dword [ebp - 0x1c020]
movzx edx, word [edx]
sub edx, 4
mov dword [ebp - 0x1c01c], edx
sub dword [ebp - 0x1c01c], 0x88
cmp dword [ebp - 0x1c01c], 0
jge 0x4055a6
xor edx, edx
mov dword [ebp - 0x1c01c], edx
mov byte [ebp - 0x1c00a], 0
mov esi, 0xff
mov edx, dword [ebp - 0x1c024]
mov ebx, edx
lea edx, [ebp - 0x20825]
cmp eax, edx
ja 0x4056b7
cmp dword [ebx], 0
jbe 0x4056aa
cmp byte [ebp - 0x1c009], 0
jne 0x4055f1
mov edx, 0x4057d0
mov ecx, 0x4d
xchg edx, eax
call fcn.00402118
mov byte [ebp - 0x1c009], 1
cmp byte [ebp - 0x1c00a], 0
jne 0x405641
mov byte [eax], 0xd
inc eax
mov byte [eax], 0xa
inc eax
mov edx, dword [ebp - 0x1c018]
inc edx
xchg edx, eax
call fcn.00402068
mov byte [eax], 0x20
inc eax
mov byte [eax], 0x2d
inc eax
mov byte [eax], 0x20
inc eax
mov edx, eax
mov eax, dword [ebp - 0x1c01c]
call fcn.00402068
mov edx, 0x405820
mov ecx, 8
xchg edx, eax
call fcn.00402118
mov byte [ebp - 0x1c00a], 1
jmp 0x405649
mov byte [eax], 0x2c
inc eax
mov byte [eax], 0x20
inc eax
mov edx, esi
sub edx, 1
jb 0x405657
je 0x405669
dec edx
je 0x40567b
jmp 0x40568d
mov edx, 0x40582c
mov ecx, 7
xchg edx, eax
call fcn.00402118
jmp 0x405696
mov edx, 0x405834
mov ecx, 0xa
xchg edx, eax
call fcn.00402118
jmp 0x405696
mov edx, 0x405840
mov ecx, 0xd
xchg edx, eax
call fcn.00402118
jmp 0x405696
mov edx, dword [ebx - 4]
xchg edx, eax
call fcn.00402134
mov byte [eax], 0x20
inc eax
mov byte [eax], 0x78
inc eax
mov byte [eax], 0x20
inc eax
mov edx, dword [ebx]
xchg edx, eax
call fcn.00402068
dec esi
sub ebx, 8
cmp esi, 0xffffffff
jne 0x4055ba
mov edx, dword [ebp - 0x1c01c]
mov dword [ebp - 0x1c018], edx
add dword [ebp - 0x1c024], 0x800
add dword [ebp - 0x1c020], 0x20
dec dword [ebp - 0x1c010]
jne 0x405579
cmp dword [ebp - 0x1c008], 0
jle 0x40574b
cmp byte [ebp - 0x1c009], 0
je 0x405702
mov byte [eax], 0xd
inc eax
mov byte [eax], 0xa
inc eax
mov byte [eax], 0xd
inc eax
mov byte [eax], 0xa
inc eax
mov edx, 0x405850
mov ecx, 0x62
xchg edx, eax
call fcn.00402118
mov esi, dword [ebp - 0x1c008]
dec esi
test esi, esi
jb 0x40574b
inc esi
xor edi, edi
lea ebx, [ebp - 0x20024]
test edi, edi
je 0x405732
mov byte [eax], 0x2c
inc eax
mov byte [eax], 0x20
inc eax
mov edx, dword [ebx]
xchg edx, eax
call fcn.00402068
lea edx, [ebp - 0x20825]
cmp eax, edx
ja 0x40574b
inc edi
add ebx, 4
dec esi
jne 0x405726
mov edx, 0x4058b4
mov ecx, 0xa9
xchg edx, eax
call fcn.00402118
lea edx, [ebp - 0x28023]
push edx
mov edx, eax
pop eax
sub edx, eax
lea eax, [ebp - 0x28024]
call fcn.00402b50
lea eax, [ebp - 0x28024]
push eax
call sub.kernel32.dll_OutputDebugStringA
lea edx, [ebp - 0x28424]
mov eax, 0x405960
call fcn.00401e74
lea edx, [ebp - 0x28424]
lea eax, [ebp - 0x28024]
call fcn.00402164
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret