Function at 0x4199c0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x68
mov eax, dword [0x4545c0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push edi
mov dword [ebp - 0x64], eax
call fcn.004265cf
add esp, 4
push edi
test eax, eax
jne 0x419c46
push 1
lea ecx, [ebp - 0x40]
push 0xe
push ecx
call fcn.00426841
push edi
call fcn.004265cf
add esp, 0x14
push edi
test eax, eax
jne 0x419c46
push 1
lea edx, [ebp - 0x30]
push 0x2c
push edx
call fcn.00426841
add esp, 0x10
cmp word [ebp - 0x22], 0x18
jne 0x419c45
cmp dword [ebp - 0x20], 0
jne 0x419c45
cmp dword [ebp - 0x10], 0
je 0x419a3c
cmp dword [ebp - 0xc], 0
jne 0x419c45
mov eax, dword [ebp - 0x2c]
push ebx
mov ebx, dword [ebp - 0x28]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x4c], ebx
test eax, eax
je 0x419c2b
test ebx, ebx
je 0x419c2b
mov eax, dword [ebp - 0x36]
push 0
push eax
push edi
call fcn.0042640f
add esp, 0xc
test eax, eax
jne 0x419c2b
mov eax, dword [ebp - 0x1c]
push esi
mov esi, ebx
imul esi, dword [ebp - 0x48]
lea ecx, [esi + esi*2]
sub eax, ecx
cdq
idiv ebx
xor ecx, ecx
mov edx, 4
mov dword [ebp - 0x68], eax
mov eax, ebx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004245a0
mov ebx, eax
xor ecx, ecx
mov eax, esi
mov edx, 0xc
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004245a0
mov dword [ebx], eax
xor eax, eax
add esp, 8
cmp dword [ebp - 0x4c], eax
jle 0x419adf
mov edx, dword [ebp - 0x48]
lea edx, [edx + edx*2]
add edx, edx
xor ecx, ecx
add edx, edx
nop
mov esi, dword [ebx]
add esi, ecx
mov dword [ebx + eax*4], esi
inc eax
add ecx, edx
cmp eax, dword [ebp - 0x4c]
jl 0x419ad0
mov eax, dword [ebp - 0x4c]
dec eax
mov dword [ebp - 0x50], eax
js 0x419bec
lea esp, [esp]
xor esi, esi
cmp dword [ebp - 0x48], esi
jle 0x419bc7
mov dword [ebp - 0x54], esi
mov edi, edi
push edi
call fcn.004265cf
add esp, 4
push edi
test eax, eax
jne 0x419b27
push 1
lea eax, [ebp - 0x41]
push 1
push eax
call fcn.00426841
movzx ecx, byte [ebp - 0x41]
add esp, 0x10
mov dword [ebp - 0x5c], ecx
jmp 0x419b2f
call fcn.0042655b
add esp, 4
push edi
call fcn.004265cf
add esp, 4
push edi
test eax, eax
jne 0x419b56
push 1
lea edx, [ebp - 0x41]
push 1
push edx
call fcn.00426841
movzx eax, byte [ebp - 0x41]
add esp, 0x10
mov dword [ebp - 0x58], eax
jmp 0x419b5e
call fcn.0042655b
add esp, 4
push edi
call fcn.004265cf
add esp, 4
push edi
test eax, eax
jne 0x419b85
push 1
lea ecx, [ebp - 0x41]
push 1
push ecx
call fcn.00426841
movzx edx, byte [ebp - 0x41]
add esp, 0x10
mov dword [ebp - 0x60], edx
jmp 0x419b8d
call fcn.0042655b
add esp, 4
mov eax, dword [ebp - 0x50]
test eax, eax
js 0x419bb9
test esi, esi
js 0x419bb9
cmp eax, dword [ebp - 0x4c]
jge 0x419bb9
cmp esi, dword [ebp - 0x48]
jge 0x419bb9
mov eax, dword [ebx + eax*4]
add eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x58]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
add dword [ebp - 0x54], 0xc
inc esi
cmp esi, dword [ebp - 0x48]
jl 0x419b00
mov edx, dword [ebp - 0x68]
push 1
push edx
push edi
call fcn.0042640f
add esp, 0xc
test eax, eax
je 0x419be3
push edi
call fcn.0042655b
add esp, 4
dec dword [ebp - 0x50]
jns 0x419af0
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp + 0xc]
push eax
mov eax, dword [ebp - 0x64]
push ecx
push ebx
push edx
push eax
call fcn.00419c60
mov ecx, dword [ebx]
push ecx
call fcn.004243b0
push ebx
call fcn.004243b0
push edi
call fcn.0042655b
add esp, 0x20
pop esi
mov al, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004243bb
mov esp, ebp
pop ebp
ret
push edi
call fcn.0042655b
add esp, 4
xor al, al
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004243bb
mov esp, ebp
pop ebp
ret
push edi
call fcn.0042655b
mov ecx, dword [ebp - 4]
xor ecx, ebp
add esp, 4
xor al, al
call fcn.004243bb
mov esp, ebp
pop ebp
ret