Function at 0x416960
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xa4
mov eax, dword [0x5eae84]
xor eax, esp
mov dword [esp + 0xa0], eax
mov eax, dword [ebp + 8]
push ebx
mov ebx, ecx
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 0x18]
push esi
mov esi, dword [eax + 8]
mov ecx, dword [eax + 4]
cmp dword [esi], 0x20424b41
push edi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x20], 0x2c0020
mov eax, 0x44
mov dword [esp + 0x24], 0x440044
jne 0x4169da
movzx eax, word [esi + 4]
cmp eax, 4
jae 0x4169da
mov ecx, eax
mov ax, word [esi + 6]
cmp ax, word [esp + ecx*2 + 0x20]
jne 0x4169da
mov al, byte [esi + 0xd]
movzx eax, al
add eax, eax
mov dword [esp + 0xc], eax
xor eax, eax
mov dword [esp + 0x10], eax
jmp 0x4169f4
mov al, byte [esi + 2]
movzx eax, al
add eax, eax
mov dword [esp + 0xc], eax
xor eax, eax
mov dword [esp + 0x10], eax
jmp 0x4169f4
mov eax, dword [esp + 0x10]
mov edi, dword [ebx + 0x14]
mov ecx, esi
sub edi, eax
call fcn.004057a0
cmp al, 1
jne 0x416a38
mov ecx, esi
call fcn.004058d0
lea ecx, [eax + 1]
mov eax, edi
cdq
idiv dword [esp + 0xc]
add eax, dword [ebx + 0x2b8]
cmp eax, ecx
jl 0x416a38
mov ecx, esi
call fcn.004058d0
mov edi, 1
sub edi, dword [ebx + 0x2b8]
add edi, eax
imul edi, dword [esp + 0xc]
lea eax, [esp + 0x20]
push eax
movzx eax, byte [ebx + 0x10]
push edi
mov edx, dword [ebx + eax*4 + 8]
mov edi, dword [esp + 0x18]
add edx, edi
lea ecx, [ebx + 0x20]
call fcn.00404c10
mov ecx, eax
add esp, 8
mov dword [esp + 0x1c], ecx
test ecx, ecx
js 0x416b9d
cdq
idiv dword [esp + 0xc]
add edi, ecx
mov ecx, esi
mov dword [esp + 0x10], edi
add dword [ebx + 0x2b8], eax
call fcn.004057a0
cmp al, 1
jne 0x416abd
mov ecx, esi
call fcn.004058d0
inc eax
cmp dword [ebx + 0x2b8], eax
jl 0x416abd
mov ecx, esi
call fcn.00405870
mov ecx, esi
mov dword [ebx + 0x2b8], eax
call fcn.00405870
push 0
push eax
mov ecx, esi
call fcn.00405f10
push 0
push eax
lea ecx, [ebx + 0x20]
call fcn.00416ff0
add esp, 0x10
test edi, edi
jg 0x416b5e
cmp dword [esp + 0x1c], 0
jne 0x4169f0
cmp dword [esi], 0x20424b41
mov dword [esp + 0x20], 0x2c0020
mov dword [esp + 0x24], 0x440044
jne 0x416b06
movzx eax, word [esi + 4]
cmp eax, 4
jae 0x416b06
mov ecx, eax
mov ax, word [esi + 6]
cmp ax, word [esp + ecx*2 + 0x20]
jne 0x416b06
mov eax, dword [esi + 0x18]
cmp eax, dword [esi + 0x14]
jmp 0x416b0c
mov eax, dword [esi + 0x14]
cmp eax, dword [esi + 0x10]
seta al
test al, al
jne 0x416b2b
mov ecx, dword [esp + 0x14]
call fcn.0040f150
test al, al
je 0x416b2b
mov byte [ebx + 4], 1
mov eax, 1
jmp 0x416b60
push str._warn_
lea eax, [esp + 0x2c]
push 0x80
push eax
call dword [sym.imp.MSVCR110.dll_strcpy_s]
add esp, 0xc
lea eax, [esp + 0x2e]
push str.ov_read_error___
push 0x7a
push eax
call dword [sym.imp.MSVCR110.dll_sprintf_s]
mov word [esp + eax + 0x3a], 0xa
jmp 0x416bce
xor eax, eax
movzx ecx, byte [ebx + 0x10]
mov edx, dword [esp + 0x18]
mov ecx, dword [ebx + ecx*4 + 8]
mov dword [edx], ecx
mov dword [edx + 4], edi
movzx ecx, byte [ebx + 0x10]
inc ecx
and ecx, 0x80000001
jns 0x416b83
dec ecx
or ecx, 0xfffffffe
inc ecx
mov byte [ebx + 0x10], cl
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xa0]
xor ecx, esp
call fcn.0057d22e
mov esp, ebp
pop ebp
ret 4
push str._warn_
lea eax, [esp + 0x2c]
push 0x80
push eax
call dword [sym.imp.MSVCR110.dll_strcpy_s]
add esp, 0xc
lea eax, [esp + 0x2e]
push str.ov_read_error___
push 0x7a
push eax
call dword [sym.imp.MSVCR110.dll_sprintf_s]
mov word [esp + eax + 0x3a], 0xa
add esp, 0xc
lea eax, [esp + 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov ecx, dword [esp + 0xac]
pop edi
pop esi
pop ebx
xor ecx, esp
mov eax, 2
call fcn.0057d22e
mov esp, ebp
pop ebp
ret 4