Function at 0x403604
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 8
add esp, 0xfffff004
push eax
dec eax
jne 0x40360d
mov eax, dword [ebp - 4]
add esp, 0xfffffbfc
push ebx
push esi
push edi
mov byte [ebp - 1], cl
mov ebx, edx
mov esi, eax
lea edx, [ebp - 0x8008]
mov eax, 0x4039c4
mov ecx, 0x26
call fcn.0040259c
mov edi, eax
mov eax, ebx
sub al, 1
jb 0x403692
je 0x403653
dec al
je 0x403668
dec al
je 0x40367d
jmp 0x4036a5
mov eax, 0x4039ec
mov ecx, 6
mov edx, edi
call fcn.0040259c
mov edi, eax
jmp 0x4036a5
mov eax, 0x4039f4
mov ecx, 7
mov edx, edi
call fcn.0040259c
mov edi, eax
jmp 0x4036a5
mov eax, 0x4039fc
mov ecx, 0xa
mov edx, edi
call fcn.0040259c
mov edi, eax
jmp 0x4036a5
mov eax, 0x403a08
mov ecx, 0xf
mov edx, edi
call fcn.0040259c
mov edi, eax
mov eax, 0x403a18
mov ecx, 0xc
mov edx, edi
call fcn.0040259c
mov edi, eax
cmp byte [ebp - 1], 0
je 0x40392d
cmp byte [ebp + 8], 0
je 0x40371d
cmp bl, 1
ja 0x4036ed
mov eax, 0x403a28
mov ecx, 0x42
mov edx, edi
call fcn.0040259c
mov edi, eax
mov edx, edi
mov eax, esi
call fcn.0040353c
mov edi, eax
jmp 0x403730
cmp dword [esi + 8], 0
jne 0x403708
mov eax, 0x403a6c
mov ecx, 0x41
mov edx, edi
call fcn.0040259c
mov edi, eax
jmp 0x403730
mov eax, 0x403ab0
mov ecx, 0x97
mov edx, edi
call fcn.0040259c
mov edi, eax
jmp 0x403730
mov eax, 0x403b48
mov ecx, 0x25
mov edx, edi
call fcn.0040259c
mov edi, eax
cmp bl, 1
ja 0x40374a
mov eax, 0x403b70
mov ecx, 0x21
mov edx, edi
call fcn.0040259c
mov edi, eax
jmp 0x40375d
mov eax, 0x403b94
mov ecx, 0x17
mov edx, edi
call fcn.0040259c
mov edi, eax
mov edx, edi
mov eax, dword [esi + 0x74]
call fcn.004024ec
mov edi, eax
cmp dword [esi + 0x14], 0
je 0x4037cd
cmp bl, 1
ja 0x403789
mov eax, 0x403bac
mov ecx, 0x34
mov edx, edi
call fcn.0040259c
mov edi, eax
jmp 0x40379c
mov eax, 0x403be4
mov ecx, 0x29
mov edx, edi
call fcn.0040259c
mov edi, eax
mov edx, edi
mov eax, dword [esi + 0x40]
call fcn.00402544
mov edi, eax
mov eax, 0x403c10
mov ecx, 0x39
mov edx, edi
call fcn.0040259c
mov edi, eax
lea eax, [esi + 0x14]
mov ecx, edi
mov edx, 0xb
call dword [0x45c7f8]
mov edi, eax
lea eax, [esi + 0x78]
call fcn.00402714
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x403807
mov eax, 0x467640
cmp eax, dword [ebp - 8]
je 0x403807
mov eax, 0x403c4c
mov ecx, 0x3a
mov edx, edi
call fcn.0040259c
mov edi, eax
mov edx, edi
mov eax, dword [ebp - 8]
call fcn.004025b8
mov edi, eax
cmp bl, 1
jbe 0x40389d
cmp dword [esi + 8], 0
je 0x40389d
mov eax, 0x403c88
mov ecx, 0x38
mov edx, edi
call fcn.0040259c
mov edi, eax
mov eax, esi
add eax, 0x80
call fcn.00402714
mov dword [ebp - 8], eax
mov eax, 0x467640
cmp eax, dword [ebp - 8]
jne 0x40384b
xor eax, eax
mov dword [ebp - 8], eax
mov edx, edi
mov eax, dword [ebp - 8]
call fcn.004025b8
mov edi, eax
cmp dword [esi + 0xc], 0
jbe 0x40387c
mov eax, 0x403cc4
mov ecx, 0x1d
mov edx, edi
call fcn.0040259c
mov edi, eax
mov edx, edi
mov eax, dword [esi + 0xc]
call fcn.004024ec
mov edi, eax
mov eax, 0x403ce4
mov ecx, 0x1e
mov edx, edi
call fcn.0040259c
mov edi, eax
mov edx, edi
mov eax, dword [esi + 0x10]
call fcn.004024ec
mov edi, eax
jmp 0x4038e1
cmp dword [esi + 0xc], 0
jbe 0x4038c2
mov eax, 0x403d04
mov ecx, 0x1e
mov edx, edi
call fcn.0040259c
mov edi, eax
mov edx, edi
mov eax, dword [esi + 0xc]
call fcn.004024ec
mov edi, eax
mov eax, 0x403d24
mov ecx, 0x1f
mov edx, edi
call fcn.0040259c
mov edi, eax
mov edx, edi
mov eax, dword [esi + 0x10]
call fcn.004024ec
mov edi, eax
cmp dword [esi + 0x48], 0
je 0x403940
mov eax, 0x403d44
mov ecx, 0x2f
mov edx, edi
call fcn.0040259c
mov edi, eax
mov edx, edi
mov eax, dword [esi + 0x44]
call fcn.00402544
mov edi, eax
mov eax, 0x403c10
mov ecx, 0x39
mov edx, edi
call fcn.0040259c
mov edi, eax
lea eax, [esi + 0x48]
mov ecx, edi
mov edx, 0xb
call dword [0x45c7f8]
mov edi, eax
jmp 0x403940
mov eax, 0x403d74
mov ecx, 0x25
mov edx, edi
call fcn.0040259c
mov edi, eax
cmp bl, 1
setne al
and eax, 0x7f
add eax, 3
cmp bl, 3
sete dl
and edx, 0x7f
add eax, edx
mov edx, edi
call fcn.0040332c
mov edi, eax
mov edx, edi
mov eax, esi
call fcn.004033f8
mov edi, eax
mov byte [edi], 0xd
inc edi
mov byte [edi], 0xa
inc edi
mov byte [edi], 0
lea eax, [ebp - 0x8008]
mov edx, edi
sub edx, eax
lea eax, [ebp - 0x8008]
call fcn.00402fd4
lea eax, [ebp - 0x8008]
push eax
call sub.kernel32.dll_OutputDebugStringA
lea edx, [ebp - 0x8408]
mov eax, 0x403d9c
call fcn.004022f8
lea edx, [ebp - 0x8408]
lea eax, [ebp - 0x8008]
call fcn.004025e8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4