Function at 0x403d00
Capabilities:
Print debug messages

Disassembly:
sub esp, 0x48
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x68]
lea eax, [esp + 0x20]
push eax
xor ebx, ebx
push edi
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x18], edi
xor esi, esi
mov dword [esp + 0x70], 1
call fcn.004069b4
mov ecx, dword [esp + 0x64]
add esp, 4
push eax
push edi
push ecx
call dword [0x40e020]
mov edx, dword [esp + 0x24]
push 0xa
push edi
mov dword [esp + 0x1c], edx
call fcn.00406992
add esp, 8
test eax, eax
jne 0x403c29
push 0x412cd4
push edi
call fcn.00406934
push edi
mov ebp, eax
call fcn.004069b4
add esp, 0xc
cmp ebp, ebx
mov esi, eax
je 0x403c02
push 0x3e
push edi
call fcn.00406992
mov ebx, eax
sub ebx, ebp
add esp, 8
sar ebx, 1
sub esi, ebx
cmp esi, 0x64
jle 0x403d34
mov eax, 0x51eb851f
imul esi
sar edx, 5
mov eax, edx
shr eax, 0x1f
lea ecx, [edx + eax + 2]
mov dword [esp + 0x68], ecx
jmp 0x403d2f
push 0xa
push edi
call fcn.00406992
push 0x412ce0
push edi
mov ebx, eax
call fcn.00406934
mov ebp, eax
add esp, 0x10
xor eax, eax
test ebx, ebx
je 0x403cd0
lea ecx, [ecx]
mov edx, dword [esp + 0x68]
inc edx
test ebp, ebp
mov dword [esp + 0x68], edx
je 0x403c70
cmp ebp, ebx
jae 0x403c70
push 0x3e
push edi
call fcn.00406992
sub eax, ebp
add esp, 8
sar eax, 1
mov ecx, ebx
sub ecx, edi
sar ecx, 1
cmp esi, ecx
jge 0x403c80
mov esi, ecx
mov dword [esp + 0x10], edi
cmp ebp, ebx
lea edi, [ebx + 2]
jae 0x403c89
sub esi, eax
cmp esi, 0x64
jle 0x403cb0
mov ecx, dword [esp + 0x68]
mov eax, 0x51eb851f
imul esi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
lea edx, [ecx + edx + 1]
mov dword [esp + 0x68], edx
mov esi, 0x64
push 0xa
push edi
call fcn.00406992
push 0x412ce0
push edi
mov ebx, eax
call fcn.00406934
mov ebp, eax
add esp, 0x10
xor eax, eax
test ebx, ebx
jne 0x403c50
test ebp, ebp
je 0x403ceb
cmp ebp, edi
jbe 0x403ceb
push 0x3e
push edi
call fcn.00406992
mov ebx, eax
sub ebx, ebp
add esp, 8
sar ebx, 1
jmp 0x403ced
xor ebx, ebx
push edi
call fcn.004069b4
sub eax, ebx
add esp, 4
cmp esi, eax
jae 0x403d0d
push edi
call fcn.004069b4
mov esi, eax
add esp, 4
sub esi, ebx
mov dword [esp + 0x10], edi
cmp esi, 0x64
jle 0x403d34
mov ecx, dword [esp + 0x68]
mov eax, 0x51eb851f
imul esi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
lea edx, [ecx + edx + 1]
mov dword [esp + 0x68], edx
mov esi, 0x64
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x5c]
lea eax, [esp + 0x20]
push eax
push esi
push ecx
push edx
call dword [0x40e020]
mov esi, dword [esp + 0x60]
mov edi, dword [0x40e1f0]
mov ebp, dword [esp + 0x20]
lea eax, [esp + 0x48]
push eax
push esi
call edi
push 0x66
push esi
call dword [0x40e1dc]
mov edx, dword [esp + 0x64]
lea ecx, [esp + 0x28]
push ecx
push edx
mov ebx, eax
call edi
lea eax, [esp + 0x38]
push eax
push ebx
call edi
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x5c]
inc ecx
imul ecx, dword [esp + 0x14]
push 1
lea edx, [esp + 0x1c]
push edx
push eax
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], ecx
call dword [0x40e01c]
mov edi, dword [esp + 0x34]
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x18]
sub eax, edi
add eax, edx
mov edx, dword [esp + 0x54]
sub edx, ecx
add edx, eax
push 1
push edx
cdq
sub eax, edx
mov edx, dword [esp + 0x38]
sar eax, 1
sub ecx, eax
mov eax, dword [esp + 0x30]
sub eax, edx
add eax, ebp
cdq
lea edi, [ebp + 0x28]
push edi
push ecx
mov ecx, dword [esp + 0x58]
sub eax, edx
sar eax, 1
sub ecx, eax
push ecx
push esi
mov esi, dword [0x40e1f4]
call esi
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x64]
push 1
push edx
push eax
push 0x14
push 0x14
push ecx
call esi
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x40]
mov ebp, dword [esp + 0x3c]
mov ecx, dword [esp + 0x1c]
sub eax, edx
mov edx, dword [esp + 0x44]
push 1
sub edx, ebp
push edx
push eax
cdq
sub eax, edx
add ecx, 0x28
push ecx
mov ecx, eax
mov eax, edi
cdq
sub eax, edx
sar ecx, 1
sar eax, 1
sub eax, ecx
push eax
push ebx
call esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x48
ret