Function at 0x6b6390
Capabilities:
Read file on windows
Receive data
Receive data on socket

Disassembly:
push ebp
mov ebp, esp
push ebx
sub esp, 0x54
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x30], eax
mov eax, edx
mov byte [ebp - 0x34], al
mov eax, dword [sym.imp.libssp_0.dll___stack_chk_guard]
mov dword [ebp - 0xc], eax
xor eax, eax
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call fcn.006b62dc
cmp dword [ebp - 0x28], eax
jbe 0x6b63eb
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call fcn.006b62dc
mov dword [ebp - 0x28], eax
cmp byte [ebp - 0x34], 0
je 0x6b6424
mov ebx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call fcn.006b6325
mov edx, dword [ebp - 0x24]
mov dword [esp + 0xc], 0
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov dword [esp], edx
mov eax, dword [sym.imp.WS2_32.dll_recv]
call eax
sub esp, 0x10
mov dword [ebp - 0x14], eax
jmp 0x6b6448
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call fcn.006b6325
mov edx, dword [ebp - 0x28]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sub.msvcrt.dll__read
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jns 0x6b64ed
cmp byte [ebp - 0x34], 0
je 0x6b6465
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call fcn.006b8d37
jmp 0x6b646e
mov eax, dword [sym.imp.msvcrt.dll__errno]
call eax
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xb
je 0x6b64e3
cmp dword [ebp - 0x10], 0x2733
je 0x6b64e3
cmp dword [ebp - 0x10], 0x2747
jne 0x6b64cb
cmp byte [ebp - 0x34], 0
je 0x6b6496
mov eax, str.recv
jmp 0x6b649b
mov eax, str.read
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], str._s___failed:_WSAENOBUFS._Not_enough_ram_
mov dword [esp + 0xc], 0x79289c
mov dword [esp + 4], 4
mov dword [esp + 8], 0
mov dword [esp], 4
call fcn.006bf072
cmp dword [ebp - 0x30], 0
je 0x6b64d9
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x10]
mov dword [eax], edx
mov eax, 0xffffffff
jmp 0x6b65f7
mov eax, 0
jmp 0x6b65f7
cmp dword [ebp - 0x14], 0
jne 0x6b6542
call fcn.006b635b
test al, al
je 0x6b652f
mov eax, dword [ebp - 0x24]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], str.Encountered_eof_on_fd__d
mov dword [esp + 0xc], 0x79289c
mov dword [esp + 4], 4
mov dword [esp + 8], 0
mov dword [esp], 7
call fcn.006bf072
mov eax, dword [ebp - 0x2c]
mov dword [eax], 1
mov eax, 0
jmp 0x6b65f7
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x14]
add edx, eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x20]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x14]
add edx, eax
mov eax, dword [ebp - 0x20]
mov dword [eax + 4], edx
call fcn.006b635b
test al, al
je 0x6b65aa
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 4]
mov dword [esp + 0x18], eax
mov eax, dword [ebp - 0x14]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], str.Read__ld_bytes.__d_on_inbuf.
mov dword [esp + 0xc], 0x79289c
mov dword [esp + 4], 4
mov dword [esp + 8], 0
mov dword [esp], 7
call fcn.006bf072
cmp dword [ebp - 0x14], 0x7fffffff
setne al
movzx eax, al
test eax, eax
jne 0x6b65f4
mov dword [esp], str.src_lib_net_buffers_net.c
call fcn.006c14d2
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], str.read_result___0x7fffffff
mov dword [esp + 8], str.read_to_chunk
mov dword [esp + 4], 0x4f
mov dword [esp], eax
call fcn.006c1140
call fcn.006c14b8
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xc]
xor ecx, dword [sym.imp.libssp_0.dll___stack_chk_guard]
je 0x6b6607
call sub.libssp_0.dll___stack_chk_fail
mov ebx, dword [ebp - 4]
leave
ret