Function at 0x403490
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 8
add esp, 0xfffff004
push eax
dec eax
jne 0x403499
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, 0x403850
mov ecx, 0x26
call fcn.00402428
mov edi, eax
mov eax, ebx
sub al, 1
jb 0x40351e
je 0x4034df
dec al
je 0x4034f4
dec al
je 0x403509
jmp 0x403531
mov eax, 0x403878
mov ecx, 6
mov edx, edi
call fcn.00402428
mov edi, eax
jmp 0x403531
mov eax, 0x403880
mov ecx, 7
mov edx, edi
call fcn.00402428
mov edi, eax
jmp 0x403531
mov eax, 0x403888
mov ecx, 0xa
mov edx, edi
call fcn.00402428
mov edi, eax
jmp 0x403531
mov eax, 0x403894
mov ecx, 0xf
mov edx, edi
call fcn.00402428
mov edi, eax
mov eax, 0x4038a4
mov ecx, 0xc
mov edx, edi
call fcn.00402428
mov edi, eax
cmp byte [ebp - 1], 0
je 0x4037b9
cmp byte [ebp + 8], 0
je 0x4035a9
cmp bl, 1
ja 0x403579
mov eax, 0x4038b4
mov ecx, 0x42
mov edx, edi
call fcn.00402428
mov edi, eax
mov edx, edi
mov eax, esi
call fcn.004033c8
mov edi, eax
jmp 0x4035bc
cmp dword [esi + 8], 0
jne 0x403594
mov eax, 0x4038f8
mov ecx, 0x41
mov edx, edi
call fcn.00402428
mov edi, eax
jmp 0x4035bc
mov eax, 0x40393c
mov ecx, 0x97
mov edx, edi
call fcn.00402428
mov edi, eax
jmp 0x4035bc
mov eax, 0x4039d4
mov ecx, 0x25
mov edx, edi
call fcn.00402428
mov edi, eax
cmp bl, 1
ja 0x4035d6
mov eax, 0x4039fc
mov ecx, 0x21
mov edx, edi
call fcn.00402428
mov edi, eax
jmp 0x4035e9
mov eax, 0x403a20
mov ecx, 0x17
mov edx, edi
call fcn.00402428
mov edi, eax
mov edx, edi
mov eax, dword [esi + 0x74]
call fcn.00402378
mov edi, eax
cmp dword [esi + 0x14], 0
je 0x403659
cmp bl, 1
ja 0x403615
mov eax, 0x403a38
mov ecx, 0x34
mov edx, edi
call fcn.00402428
mov edi, eax
jmp 0x403628
mov eax, 0x403a70
mov ecx, 0x29
mov edx, edi
call fcn.00402428
mov edi, eax
mov edx, edi
mov eax, dword [esi + 0x40]
call fcn.004023d0
mov edi, eax
mov eax, 0x403a9c
mov ecx, 0x39
mov edx, edi
call fcn.00402428
mov edi, eax
lea eax, [esi + 0x14]
mov ecx, edi
mov edx, 0xb
call dword [0x42a7fc]
mov edi, eax
lea eax, [esi + 0x78]
call fcn.004025a0
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x403693
mov eax, 0x42e640
cmp eax, dword [ebp - 8]
je 0x403693
mov eax, 0x403ad8
mov ecx, 0x3a
mov edx, edi
call fcn.00402428
mov edi, eax
mov edx, edi
mov eax, dword [ebp - 8]
call fcn.00402444
mov edi, eax
cmp bl, 1
jbe 0x403729
cmp dword [esi + 8], 0
je 0x403729
mov eax, 0x403b14
mov ecx, 0x38
mov edx, edi
call fcn.00402428
mov edi, eax
mov eax, esi
add eax, 0x80
call fcn.004025a0
mov dword [ebp - 8], eax
mov eax, 0x42e640
cmp eax, dword [ebp - 8]
jne 0x4036d7
xor eax, eax
mov dword [ebp - 8], eax
mov edx, edi
mov eax, dword [ebp - 8]
call fcn.00402444
mov edi, eax
cmp dword [esi + 0xc], 0
jbe 0x403708
mov eax, 0x403b50
mov ecx, 0x1d
mov edx, edi
call fcn.00402428
mov edi, eax
mov edx, edi
mov eax, dword [esi + 0xc]
call fcn.00402378
mov edi, eax
mov eax, 0x403b70
mov ecx, 0x1e
mov edx, edi
call fcn.00402428
mov edi, eax
mov edx, edi
mov eax, dword [esi + 0x10]
call fcn.00402378
mov edi, eax
jmp 0x40376d
cmp dword [esi + 0xc], 0
jbe 0x40374e
mov eax, 0x403b90
mov ecx, 0x1e
mov edx, edi
call fcn.00402428
mov edi, eax
mov edx, edi
mov eax, dword [esi + 0xc]
call fcn.00402378
mov edi, eax
mov eax, 0x403bb0
mov ecx, 0x1f
mov edx, edi
call fcn.00402428
mov edi, eax
mov edx, edi
mov eax, dword [esi + 0x10]
call fcn.00402378
mov edi, eax
cmp dword [esi + 0x48], 0
je 0x4037cc
mov eax, 0x403bd0
mov ecx, 0x2f
mov edx, edi
call fcn.00402428
mov edi, eax
mov edx, edi
mov eax, dword [esi + 0x44]
call fcn.004023d0
mov edi, eax
mov eax, 0x403a9c
mov ecx, 0x39
mov edx, edi
call fcn.00402428
mov edi, eax
lea eax, [esi + 0x48]
mov ecx, edi
mov edx, 0xb
call dword [0x42a7fc]
mov edi, eax
jmp 0x4037cc
mov eax, 0x403c00
mov ecx, 0x25
mov edx, edi
call fcn.00402428
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.004031b8
mov edi, eax
mov edx, edi
mov eax, esi
call fcn.00403284
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.00402e60
lea eax, [ebp - 0x8008]
push eax
call sub.kernel32.dll_OutputDebugStringA
lea edx, [ebp - 0x8408]
mov eax, 0x403c28
call fcn.00402184
lea edx, [ebp - 0x8408]
lea eax, [ebp - 0x8008]
call fcn.00402474
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4