Function at 0x5bd190
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x20
mov eax, dword [0x7496c8]
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 0x5bd401
cmp dword [esp + 0xc], ebp
jne 0x5bd401
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 0x5bd277
test ebx, ebx
jne 0x5bd277
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 0x5bd25d
cmp dword [esp + 0x10], ebp
jne 0x5bd25d
add dword [esi + 0x30], ebp
lea edx, [esp + 0x24]
push edx
adc dword [esi + 0x34], ebx
mov ecx, esi
call fcn.00598470
mov ebx, edx
mov edi, eax
test ebx, ebx
jg 0x5bd258
jl 0x5bd23e
cmp edi, 0x10
jae 0x5bd258
mov eax, 0xfffffffa
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.00613241
add esp, 0x20
ret 8
add edi, 0xfffffff0
jmp 0x5bd2b4
pop ebx
pop edi
pop esi
mov eax, 0xfffffffb
pop ebp
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.00613241
add esp, 0x20
ret 8
test edi, edi
jne 0x5bd28d
test ebx, ebx
jne 0x5bd28f
mov edi, dword [esi + 0x20]
sub edi, dword [esi + 0x30]
mov ebx, dword [esi + 0x24]
sbb ebx, dword [esi + 0x34]
jmp 0x5bd2b7
test ebx, ebx
jg 0x5bd2b1
jl 0x5bd297
cmp edi, ebp
jae 0x5bd2b1
pop ebx
pop edi
pop esi
mov eax, 0xfffffff9
pop ebp
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.00613241
add esp, 0x20
ret 8
add edi, 0xfffffff8
adc ebx, 0xffffffff
cmp dword [esp + 0x20], 0x78646973
jne 0x5bd394
mov ecx, dword [esp + 0x38]
xor eax, eax
cmp ebx, eax
jl 0x5bd2ef
jg 0x5bd2d5
cmp edi, ecx
jbe 0x5bd2ef
pop ebx
pop edi
pop esi
mov eax, 0xfffffff8
pop ebp
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.00613241
add esp, 0x20
ret 8
test ebx, ebx
jg 0x5bd314
jl 0x5bd2fa
cmp edi, 0x18
jae 0x5bd314
pop ebx
pop edi
pop esi
mov eax, 0xfffffff4
pop ebp
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.00613241
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 0x5bd37a
mov eax, dword [esp + 0x10]
cmp eax, edi
jne 0x5bd37a
push eax
push ebp
mov ecx, esi
call fcn.005bd020
cmp eax, 1
jne 0x5bd243
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.00613241
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.00613241
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 0x5bd3e1
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x5bd3e1
pop ebx
pop edi
pop esi
mov eax, 0xfffffff6
pop ebp
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.00613241
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.00613241
add esp, 0x20
ret 8
mov ecx, dword [esp + 0x28]
pop edi
pop esi
pop ebp
xor ecx, esp
mov eax, 0xfffffffc
call fcn.00613241
add esp, 0x20
ret 8