Function at 0x5c1490
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x20
mov eax, dword [0x74f8a0]
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 0x5c1701
cmp dword [esp + 0xc], ebp
jne 0x5c1701
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 0x5c1577
test ebx, ebx
jne 0x5c1577
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 0x5c155d
cmp dword [esp + 0x10], ebp
jne 0x5c155d
add dword [esi + 0x30], ebp
lea edx, [esp + 0x24]
push edx
adc dword [esi + 0x34], ebx
mov ecx, esi
call fcn.0059c220
mov ebx, edx
mov edi, eax
test ebx, ebx
jg 0x5c1558
jl 0x5c153e
cmp edi, 0x10
jae 0x5c1558
mov eax, 0xfffffffa
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.0061807e
add esp, 0x20
ret 8
add edi, 0xfffffff0
jmp 0x5c15b4
pop ebx
pop edi
pop esi
mov eax, 0xfffffffb
pop ebp
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.0061807e
add esp, 0x20
ret 8
test edi, edi
jne 0x5c158d
test ebx, ebx
jne 0x5c158f
mov edi, dword [esi + 0x20]
sub edi, dword [esi + 0x30]
mov ebx, dword [esi + 0x24]
sbb ebx, dword [esi + 0x34]
jmp 0x5c15b7
test ebx, ebx
jg 0x5c15b1
jl 0x5c1597
cmp edi, ebp
jae 0x5c15b1
pop ebx
pop edi
pop esi
mov eax, 0xfffffff9
pop ebp
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.0061807e
add esp, 0x20
ret 8
add edi, 0xfffffff8
adc ebx, 0xffffffff
cmp dword [esp + 0x20], 0x78646973
jne 0x5c1694
mov ecx, dword [esp + 0x38]
xor eax, eax
cmp ebx, eax
jl 0x5c15ef
jg 0x5c15d5
cmp edi, ecx
jbe 0x5c15ef
pop ebx
pop edi
pop esi
mov eax, 0xfffffff8
pop ebp
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.0061807e
add esp, 0x20
ret 8
test ebx, ebx
jg 0x5c1614
jl 0x5c15fa
cmp edi, 0x18
jae 0x5c1614
pop ebx
pop edi
pop esi
mov eax, 0xfffffff4
pop ebp
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.0061807e
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 0x5c167a
mov eax, dword [esp + 0x10]
cmp eax, edi
jne 0x5c167a
push eax
push ebp
mov ecx, esi
call fcn.005c1320
cmp eax, 1
jne 0x5c1543
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.0061807e
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.0061807e
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 0x5c16e1
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x5c16e1
pop ebx
pop edi
pop esi
mov eax, 0xfffffff6
pop ebp
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.0061807e
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.0061807e
add esp, 0x20
ret 8
mov ecx, dword [esp + 0x28]
pop edi
pop esi
pop ebp
xor ecx, esp
mov eax, 0xfffffffc
call fcn.0061807e
add esp, 0x20
ret 8