Function at 0x405d68
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 0x28
add esp, 0xfffff004
push eax
dec eax
jne 0x405d71
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 [0x49017c]
jmp 0x405ebe
mov eax, ebx
call fcn.00402da8
mov edi, eax
test edi, edi
je 0x405ebb
mov eax, edi
sub eax, 4
mov esi, dword [eax]
test esi, 1
jne 0x405eaa
cmp byte [ebp - 0x1c002], 0
je 0x405eaa
test esi, 4
je 0x405e12
push ebp
mov eax, edi
call fcn.00405c14
pop ecx
jmp 0x405eaa
cmp dword [ebp - 0x1c008], 0x1000
jge 0x405eaa
xor edx, edx
mov eax, edi
call fcn.00404900
test al, al
je 0x405eaa
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.00405b78
mov byte [ebp - 0x1c003], al
cmp byte [ebp - 0x1c001], 0
je 0x405e6a
cmp byte [ebp - 0x1c003], 0
jne 0x405e6e
xor eax, eax
jmp 0x405e70
mov al, 1
mov byte [ebp - 0x1c001], al
cmp byte [ebp - 0x1c003], 1
je 0x405e88
mov dl, 1
mov eax, edi
call fcn.0040438c
cmp byte [ebp - 0x1c003], 1
je 0x405eaa
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.00402d84
mov edi, eax
test edi, edi
jne 0x405ddc
mov ebx, dword [ebx + 4]
cmp ebx, 0x490178
jne 0x405dcb
cmp byte [ebp - 0x1c002], 0
je 0x4061fb
mov ebx, dword [0x492220]
jmp 0x405f78
cmp dword [ebp - 0x1c008], 0x1000
jge 0x405f75
mov eax, ebx
add eax, 0x10
xor edx, edx
call fcn.00404900
test al, al
je 0x405f75
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.00405b78
mov byte [ebp - 0x1c003], al
cmp byte [ebp - 0x1c001], 0
je 0x405f38
cmp byte [ebp - 0x1c003], 0
jne 0x405f3c
xor eax, eax
jmp 0x405f3e
mov al, 1
mov byte [ebp - 0x1c001], al
cmp byte [ebp - 0x1c003], 1
je 0x405f59
mov eax, ebx
add eax, 0x10
mov dl, 1
call fcn.0040438c
cmp byte [ebp - 0x1c003], 1
je 0x405f75
mov eax, dword [ebp - 0x1c008]
mov dword [ebp + eax*4 - 0x20024], esi
inc dword [ebp - 0x1c008]
mov ebx, dword [ebx + 4]
cmp ebx, 0x49221c
jne 0x405ee2
cmp byte [ebp - 0x1c001], 0
jne 0x4061fb
mov byte [ebp - 0x1c009], 0
xor eax, eax
mov dword [ebp - 0x1c018], eax
lea edx, [ebp - 0x28024]
mov eax, 0x406204
mov ecx, 0x24
call fcn.00402b74
mov dword [ebp - 0x1c010], 0x38
mov dword [ebp - 0x1c020], 0x48d0da
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 0x406002
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 0x406113
cmp dword [ebx], 0
jbe 0x406106
cmp byte [ebp - 0x1c009], 0
jne 0x40604d
mov edx, 0x40622c
mov ecx, 0x4d
xchg edx, eax
call fcn.00402b74
mov byte [ebp - 0x1c009], 1
cmp byte [ebp - 0x1c00a], 0
jne 0x40609d
mov byte [eax], 0xd
inc eax
mov byte [eax], 0xa
inc eax
mov edx, dword [ebp - 0x1c018]
inc edx
xchg edx, eax
call fcn.00402ac4
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.00402ac4
mov edx, 0x40627c
mov ecx, 8
xchg edx, eax
call fcn.00402b74
mov byte [ebp - 0x1c00a], 1
jmp 0x4060a5
mov byte [eax], 0x2c
inc eax
mov byte [eax], 0x20
inc eax
mov edx, esi
sub edx, 1
jb 0x4060b3
je 0x4060c5
dec edx
je 0x4060d7
jmp 0x4060e9
mov edx, 0x406288
mov ecx, 7
xchg edx, eax
call fcn.00402b74
jmp 0x4060f2
mov edx, 0x406290
mov ecx, 0xa
xchg edx, eax
call fcn.00402b74
jmp 0x4060f2
mov edx, 0x40629c
mov ecx, 0xd
xchg edx, eax
call fcn.00402b74
jmp 0x4060f2
mov edx, dword [ebx - 4]
xchg edx, eax
call fcn.00402b90
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.00402ac4
dec esi
sub ebx, 8
cmp esi, 0xffffffff
jne 0x406016
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 0x405fd5
cmp dword [ebp - 0x1c008], 0
jle 0x4061a7
cmp byte [ebp - 0x1c009], 0
je 0x40615e
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, 0x4062ac
mov ecx, 0x62
xchg edx, eax
call fcn.00402b74
mov esi, dword [ebp - 0x1c008]
dec esi
test esi, esi
jb 0x4061a7
inc esi
xor edi, edi
lea ebx, [ebp - 0x20024]
test edi, edi
je 0x40618e
mov byte [eax], 0x2c
inc eax
mov byte [eax], 0x20
inc eax
mov edx, dword [ebx]
xchg edx, eax
call fcn.00402ac4
lea edx, [ebp - 0x20825]
cmp eax, edx
ja 0x4061a7
inc edi
add ebx, 4
dec esi
jne 0x406182
mov edx, 0x406310
mov ecx, 0xa9
xchg edx, eax
call fcn.00402b74
lea edx, [ebp - 0x28023]
push edx
mov edx, eax
pop eax
sub edx, eax
lea eax, [ebp - 0x28024]
call fcn.004035ac
lea eax, [ebp - 0x28024]
push eax
call sub.kernel32.dll_OutputDebugStringA
lea edx, [ebp - 0x28424]
mov eax, 0x4063bc
call fcn.004028d0
lea edx, [ebp - 0x28424]
lea eax, [ebp - 0x28024]
call fcn.00402bc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret