Function at 0x10077fb6
Capabilities:
Read file on windows

Disassembly:
push esi
mov esi, dword [esp + 0x10]
mov ecx, dword [esi + 0x38]
cmp dword [esi + 0x1c8], ecx
jb 0x10077a11
inc dword [esi + 0x1c4]
mov eax, dword [esi + 0x1c4]
mov edx, dword [esi + 0x20]
sub edx, eax
dec edx
imul edx, ecx
add edx, dword [esi + 0x3c]
push 0
push edx
lea eax, [esi + 0x4c]
push eax
mov dword [esi + 0x1c8], 0
call fcn.1000c5c0
add esp, 0xc
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
push ecx
push edx
lea eax, [esi + 0x4c]
push eax
call fcn.1000b880
add dword [esi + 0x1c8], eax
add esp, 0xc
pop esi
ret
push esi
mov esi, dword [esp + 0x10]
push edi
mov edi, dword [esi + 0x38]
cmp dword [esi + 0x1c8], edi
jb 0x10077ace
mov eax, dword [esi + 0x1a4]
inc dword [esi + 0x1c4]
push edi
push eax
lea ecx, [esi + 0x4c]
push ecx
mov dword [esi + 0x1c8], 0
call fcn.1000b880
add esp, 0xc
cmp eax, edi
je 0x10077a8e
push 0x4c3
push str.._rddfile.c
push 0xca
push 0x40003
call fcn.10002e30
add esp, 0x10
pop edi
xor eax, eax
pop esi
ret
mov eax, dword [esi + 0x34]
imul eax, dword [esi + 0x30]
mov edx, dword [esi + 0x24]
mov ecx, dword [esi + 0x1a4]
push edx
push eax
push ecx
call fcn.100770e0
movzx eax, ax
add esp, 0xc
test ax, ax
je 0x10077ace
push 0x4cb
push str.._rddfile.c
push eax
push 0x40003
call fcn.10002e30
add esp, 0x10
pop edi
xor eax, eax
pop esi
ret
mov edx, dword [esi + 0x38]
mov edi, dword [esp + 0x10]
mov eax, dword [esi + 0x1c8]
sub edx, edi
cmp eax, edx
jbe 0x10077aff
push 0x4d3
push str.._rddfile.c
push 2
push 0x40003
call fcn.10002e30
add esp, 0x10
pop edi
xor eax, eax
pop esi
ret
mov ecx, dword [esi + 0x1a4]
mov edx, dword [esp + 0xc]
push edi
add ecx, eax
push ecx
push edx
call fcn.10031ea0
add dword [esi + 0x1c8], edi
add esp, 0xc
mov eax, edi
pop edi
pop esi
ret
push esi
mov esi, dword [esp + 0x10]
push edi
mov edi, dword [esi + 0x38]
cmp dword [esi + 0x1c8], edi
jb 0x10077beb
inc dword [esi + 0x1c4]
mov eax, dword [esi + 0x1c4]
mov ecx, dword [esi + 0x20]
sub ecx, eax
dec ecx
imul ecx, edi
add ecx, dword [esi + 0x3c]
push ebx
push 0
push ecx
lea ebx, [esi + 0x4c]
push ebx
mov dword [esi + 0x1c8], 0
call fcn.1000c5c0
mov edx, dword [esi + 0x1a4]
push edi
push edx
push ebx
call fcn.1000b880
add esp, 0x18
pop ebx
cmp eax, edi
je 0x10077bab
push 0x4f7
push str.._rddfile.c
push 0xca
push 0x40003
call fcn.10002e30
add esp, 0x10
pop edi
xor eax, eax
pop esi
ret
mov ecx, dword [esi + 0x34]
imul ecx, dword [esi + 0x30]
mov eax, dword [esi + 0x24]
mov edx, dword [esi + 0x1a4]
push eax
push ecx
push edx
call fcn.100770e0
movzx eax, ax
add esp, 0xc
test ax, ax
je 0x10077beb
push 0x4ff
push str.._rddfile.c
push eax
push 0x40003
call fcn.10002e30
add esp, 0x10
pop edi
xor eax, eax
pop esi
ret
mov ecx, dword [esi + 0x38]
mov edi, dword [esp + 0x10]
mov eax, dword [esi + 0x1c8]
sub ecx, edi
cmp eax, ecx
jbe 0x10077c1c
push 0x507
push str.._rddfile.c
push 2
push 0x40003
call fcn.10002e30
add esp, 0x10
pop edi
xor eax, eax
pop esi
ret
mov edx, dword [esi + 0x1a4]
add edx, eax
mov eax, dword [esp + 0xc]
push edi
push edx
push eax
call fcn.10031ea0
add dword [esi + 0x1c8], edi
add esp, 0xc
mov eax, edi
pop edi
pop esi
ret
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
cmp ecx, 7
ja case.default.0x10077faf
jmp dword [ecx*4 + 0x1007806c]
movzx ecx, word [esp + 8]
mov dword [esp + 0xc], ecx
mov edx, dword [esp + 4]
mov dword [esp + 8], edx
add eax, 0x4c
mov dword [esp + 4], eax
jmp fcn.1000b880
mov dword [esp + 0xc], eax
movzx eax, word [esp + 8]
mov dword [esp + 8], eax
jmp 0x100779d0
mov dword [esp + 0xc], eax
movzx edx, word [esp + 8]
mov dword [esp + 8], edx
jmp 0x10077a30
mov dword [esp + 0xc], eax
movzx ecx, word [esp + 8]
mov dword [esp + 8], ecx
jmp 0x10077b30
mov ecx, dword [esp + 4]
push 0
push eax
movzx eax, word [esp + 0x10]
push eax
push ecx
call fcn.10077c40
add esp, 0x10
ret
movzx edx, word [esp + 8]
push 1
push eax
mov eax, dword [esp + 0xc]
push edx
push eax
call fcn.10077c40
add esp, 0x10
ret
movzx ecx, word [esp + 8]
mov edx, dword [esp + 4]
push 0
push eax
push ecx
push edx
call fcn.10077d40
add esp, 0x10
ret
mov ecx, dword [esp + 4]
push 1
push eax
movzx eax, word [esp + 0x10]
push eax
push ecx
call fcn.10077d40
add esp, 0x10
ret
mov eax, dword [esp + 0xc]
ret