Function at 0x5c9900
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x20
mov eax, dword [0x758898]
xor eax, esp
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x24]
push ebp
push esi
push edi
mov esi, ecx
xor edi, edi
push edi
lea ecx, [esp + 0x10]
push ecx
mov ebp, 8
push ebp
lea edx, [esp + 0x24]
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 0x28]
push edx
push eax
mov dword [esp + 0x20], edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x5c9b71
cmp dword [esp + 0xc], ebp
jne 0x5c9b71
add dword [esi + 0x30], ebp
mov ecx, dword [esp + 0x18]
push ebx
adc dword [esi + 0x34], edi
push ecx
call sub.WS2_32.dll_ntohl
cdq
mov edi, eax
mov ebx, edx
cmp edi, 1
jne 0x5c99e7
test ebx, ebx
jne 0x5c99e7
mov ecx, dword [esi + 0x28]
push edx
lea edx, [esp + 0x14]
push edx
push ebp
lea eax, [esp + 0x30]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x5c99cd
cmp dword [esp + 0x10], ebp
jne 0x5c99cd
add dword [esi + 0x30], ebp
lea edx, [esp + 0x24]
push edx
adc dword [esi + 0x34], ebx
mov ecx, esi
call fcn.005c9700
mov ebx, edx
mov edi, eax
test ebx, ebx
jg 0x5c99c8
jl 0x5c99ae
cmp edi, 0x10
jae 0x5c99c8
mov eax, 0xfffffffa
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.00620b8d
add esp, 0x20
ret 8
add edi, 0xfffffff0
jmp 0x5c9a24
pop ebx
pop edi
pop esi
mov eax, 0xfffffffb
pop ebp
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.00620b8d
add esp, 0x20
ret 8
test edi, edi
jne 0x5c99fd
test ebx, ebx
jne 0x5c99ff
mov edi, dword [esi + 0x20]
sub edi, dword [esi + 0x30]
mov ebx, dword [esi + 0x24]
sbb ebx, dword [esi + 0x34]
jmp 0x5c9a27
test ebx, ebx
jg 0x5c9a21
jl 0x5c9a07
cmp edi, ebp
jae 0x5c9a21
pop ebx
pop edi
pop esi
mov eax, 0xfffffff9
pop ebp
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.00620b8d
add esp, 0x20
ret 8
add edi, 0xfffffff8
adc ebx, 0xffffffff
cmp dword [esp + 0x20], 0x78646973
jne 0x5c9b04
mov ecx, dword [esp + 0x38]
xor eax, eax
cmp ebx, eax
jl 0x5c9a5f
jg 0x5c9a45
cmp edi, ecx
jbe 0x5c9a5f
pop ebx
pop edi
pop esi
mov eax, 0xfffffff8
pop ebp
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.00620b8d
add esp, 0x20
ret 8
test ebx, ebx
jg 0x5c9a84
jl 0x5c9a6a
cmp edi, 0x18
jae 0x5c9a84
pop ebx
pop edi
pop esi
mov eax, 0xfffffff4
pop ebp
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.00620b8d
add esp, 0x20
ret 8
mov ebp, dword [esp + 0x14]
mov ecx, dword [esi + 0x28]
push 0
lea eax, [esp + 0x14]
push eax
push edi
push ebp
push ecx
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x5c9aea
mov eax, dword [esp + 0x10]
cmp eax, edi
jne 0x5c9aea
push eax
push ebp
mov ecx, esi
call fcn.005c9790
cmp eax, 1
jne 0x5c99b3
mov edx, dword [esi + 0x30]
mov ecx, dword [esi + 0x34]
add edx, edi
adc ecx, ebx
add dword [esi + 0x10], edx
mov edx, dword [esi + 0x10]
pop ebx
adc dword [esi + 0x14], ecx
add dword [esi + 0x18], edx
mov ecx, dword [esi + 0x14]
pop edi
adc dword [esi + 0x1c], ecx
pop esi
pop ebp
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.00620b8d
add esp, 0x20
ret 8
pop ebx
pop edi
pop esi
mov eax, 0xfffffff7
pop ebp
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.00620b8d
add esp, 0x20
ret 8
mov eax, dword [esi + 0x30]
mov edx, dword [esi + 0x34]
add eax, edi
push 0
adc edx, ebx
lea ecx, [esp + 0x1c]
push ecx
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x28]
push eax
push edx
mov dword [esp + 0x24], eax
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp eax, 0xffffffff
jne 0x5c9b51
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x5c9b51
pop ebx
pop edi
pop esi
mov eax, 0xfffffff6
pop ebp
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.00620b8d
add esp, 0x20
ret 8
add dword [esi + 0x30], edi
mov eax, 0xfffffff5
adc dword [esi + 0x34], ebx
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.00620b8d
add esp, 0x20
ret 8
mov ecx, dword [esp + 0x28]
pop edi
pop esi
pop ebp
xor ecx, esp
mov eax, 0xfffffffc
call fcn.00620b8d
add esp, 0x20
ret 8