Function at 0x5c6650
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x20
mov eax, dword [0x755898]
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 0x5c68c1
cmp dword [esp + 0xc], ebp
jne 0x5c68c1
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 0x5c6737
test ebx, ebx
jne 0x5c6737
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 0x5c671d
cmp dword [esp + 0x10], ebp
jne 0x5c671d
add dword [esi + 0x30], ebp
lea edx, [esp + 0x24]
push edx
adc dword [esi + 0x34], ebx
mov ecx, esi
call fcn.005c6450
mov ebx, edx
mov edi, eax
test ebx, ebx
jg 0x5c6718
jl 0x5c66fe
cmp edi, 0x10
jae 0x5c6718
mov eax, 0xfffffffa
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.0061d2ff
add esp, 0x20
ret 8
add edi, 0xfffffff0
jmp 0x5c6774
pop ebx
pop edi
pop esi
mov eax, 0xfffffffb
pop ebp
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.0061d2ff
add esp, 0x20
ret 8
test edi, edi
jne 0x5c674d
test ebx, ebx
jne 0x5c674f
mov edi, dword [esi + 0x20]
sub edi, dword [esi + 0x30]
mov ebx, dword [esi + 0x24]
sbb ebx, dword [esi + 0x34]
jmp 0x5c6777
test ebx, ebx
jg 0x5c6771
jl 0x5c6757
cmp edi, ebp
jae 0x5c6771
pop ebx
pop edi
pop esi
mov eax, 0xfffffff9
pop ebp
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.0061d2ff
add esp, 0x20
ret 8
add edi, 0xfffffff8
adc ebx, 0xffffffff
cmp dword [esp + 0x20], 0x78646973
jne 0x5c6854
mov ecx, dword [esp + 0x38]
xor eax, eax
cmp ebx, eax
jl 0x5c67af
jg 0x5c6795
cmp edi, ecx
jbe 0x5c67af
pop ebx
pop edi
pop esi
mov eax, 0xfffffff8
pop ebp
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.0061d2ff
add esp, 0x20
ret 8
test ebx, ebx
jg 0x5c67d4
jl 0x5c67ba
cmp edi, 0x18
jae 0x5c67d4
pop ebx
pop edi
pop esi
mov eax, 0xfffffff4
pop ebp
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.0061d2ff
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 0x5c683a
mov eax, dword [esp + 0x10]
cmp eax, edi
jne 0x5c683a
push eax
push ebp
mov ecx, esi
call fcn.005c64e0
cmp eax, 1
jne 0x5c6703
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.0061d2ff
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.0061d2ff
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 0x5c68a1
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x5c68a1
pop ebx
pop edi
pop esi
mov eax, 0xfffffff6
pop ebp
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.0061d2ff
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.0061d2ff
add esp, 0x20
ret 8
mov ecx, dword [esp + 0x28]
pop edi
pop esi
pop ebp
xor ecx, esp
mov eax, 0xfffffffc
call fcn.0061d2ff
add esp, 0x20
ret 8