Function at 0x403bdc
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 8
add esp, 0xfffff004
push eax
dec eax
jne 0x403be5
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, 0x403f9c
mov ecx, 0x26
call fcn.00402b74
mov edi, eax
mov eax, ebx
sub al, 1
jb 0x403c6a
je 0x403c2b
dec al
je 0x403c40
dec al
je 0x403c55
jmp 0x403c7d
mov eax, 0x403fc4
mov ecx, 6
mov edx, edi
call fcn.00402b74
mov edi, eax
jmp 0x403c7d
mov eax, 0x403fcc
mov ecx, 7
mov edx, edi
call fcn.00402b74
mov edi, eax
jmp 0x403c7d
mov eax, 0x403fd4
mov ecx, 0xa
mov edx, edi
call fcn.00402b74
mov edi, eax
jmp 0x403c7d
mov eax, 0x403fe0
mov ecx, 0xf
mov edx, edi
call fcn.00402b74
mov edi, eax
mov eax, 0x403ff0
mov ecx, 0xc
mov edx, edi
call fcn.00402b74
mov edi, eax
cmp byte [ebp - 1], 0
je 0x403f05
cmp byte [ebp + 8], 0
je 0x403cf5
cmp bl, 1
ja 0x403cc5
mov eax, 0x404000
mov ecx, 0x42
mov edx, edi
call fcn.00402b74
mov edi, eax
mov edx, edi
mov eax, esi
call fcn.00403b14
mov edi, eax
jmp 0x403d08
cmp dword [esi + 8], 0
jne 0x403ce0
mov eax, 0x404044
mov ecx, 0x41
mov edx, edi
call fcn.00402b74
mov edi, eax
jmp 0x403d08
mov eax, 0x404088
mov ecx, 0x97
mov edx, edi
call fcn.00402b74
mov edi, eax
jmp 0x403d08
mov eax, 0x404120
mov ecx, 0x25
mov edx, edi
call fcn.00402b74
mov edi, eax
cmp bl, 1
ja 0x403d22
mov eax, 0x404148
mov ecx, 0x21
mov edx, edi
call fcn.00402b74
mov edi, eax
jmp 0x403d35
mov eax, 0x40416c
mov ecx, 0x17
mov edx, edi
call fcn.00402b74
mov edi, eax
mov edx, edi
mov eax, dword [esi + 0x74]
call fcn.00402ac4
mov edi, eax
cmp dword [esi + 0x14], 0
je 0x403da5
cmp bl, 1
ja 0x403d61
mov eax, 0x404184
mov ecx, 0x34
mov edx, edi
call fcn.00402b74
mov edi, eax
jmp 0x403d74
mov eax, 0x4041bc
mov ecx, 0x29
mov edx, edi
call fcn.00402b74
mov edi, eax
mov edx, edi
mov eax, dword [esi + 0x40]
call fcn.00402b1c
mov edi, eax
mov eax, 0x4041e8
mov ecx, 0x39
mov edx, edi
call fcn.00402b74
mov edi, eax
lea eax, [esi + 0x14]
mov ecx, edi
mov edx, 0xb
call dword [0x48d7f8]
mov edi, eax
lea eax, [esi + 0x78]
call fcn.00402cec
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x403ddf
mov eax, 0x493640
cmp eax, dword [ebp - 8]
je 0x403ddf
mov eax, 0x404224
mov ecx, 0x3a
mov edx, edi
call fcn.00402b74
mov edi, eax
mov edx, edi
mov eax, dword [ebp - 8]
call fcn.00402b90
mov edi, eax
cmp bl, 1
jbe 0x403e75
cmp dword [esi + 8], 0
je 0x403e75
mov eax, 0x404260
mov ecx, 0x38
mov edx, edi
call fcn.00402b74
mov edi, eax
mov eax, esi
add eax, 0x80
call fcn.00402cec
mov dword [ebp - 8], eax
mov eax, 0x493640
cmp eax, dword [ebp - 8]
jne 0x403e23
xor eax, eax
mov dword [ebp - 8], eax
mov edx, edi
mov eax, dword [ebp - 8]
call fcn.00402b90
mov edi, eax
cmp dword [esi + 0xc], 0
jbe 0x403e54
mov eax, 0x40429c
mov ecx, 0x1d
mov edx, edi
call fcn.00402b74
mov edi, eax
mov edx, edi
mov eax, dword [esi + 0xc]
call fcn.00402ac4
mov edi, eax
mov eax, 0x4042bc
mov ecx, 0x1e
mov edx, edi
call fcn.00402b74
mov edi, eax
mov edx, edi
mov eax, dword [esi + 0x10]
call fcn.00402ac4
mov edi, eax
jmp 0x403eb9
cmp dword [esi + 0xc], 0
jbe 0x403e9a
mov eax, 0x4042dc
mov ecx, 0x1e
mov edx, edi
call fcn.00402b74
mov edi, eax
mov edx, edi
mov eax, dword [esi + 0xc]
call fcn.00402ac4
mov edi, eax
mov eax, 0x4042fc
mov ecx, 0x1f
mov edx, edi
call fcn.00402b74
mov edi, eax
mov edx, edi
mov eax, dword [esi + 0x10]
call fcn.00402ac4
mov edi, eax
cmp dword [esi + 0x48], 0
je 0x403f18
mov eax, 0x40431c
mov ecx, 0x2f
mov edx, edi
call fcn.00402b74
mov edi, eax
mov edx, edi
mov eax, dword [esi + 0x44]
call fcn.00402b1c
mov edi, eax
mov eax, 0x4041e8
mov ecx, 0x39
mov edx, edi
call fcn.00402b74
mov edi, eax
lea eax, [esi + 0x48]
mov ecx, edi
mov edx, 0xb
call dword [0x48d7f8]
mov edi, eax
jmp 0x403f18
mov eax, 0x40434c
mov ecx, 0x25
mov edx, edi
call fcn.00402b74
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.00403904
mov edi, eax
mov edx, edi
mov eax, esi
call fcn.004039d0
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.004035ac
lea eax, [ebp - 0x8008]
push eax
call sub.kernel32.dll_OutputDebugStringA
lea edx, [ebp - 0x8408]
mov eax, 0x404374
call fcn.004028d0
lea edx, [ebp - 0x8408]
lea eax, [ebp - 0x8008]
call fcn.00402bc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4