Function at 0x14018e180
Capabilities:
Receive data
Receive data on socket

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x68
mov rax, qword [0x140353c70]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov rbx, r9
mov r13d, r8d
mov qword [rsp + 0x28], rdx
mov rsi, rcx
mov r14, qword [rsp + 0xd0]
mov byte [rsp + 0x20], 0
xor al, al
mov byte [rsp + 0x21], al
mov rdi, qword [r14 + 8]
mov qword [rsp + 0x30], rdi
mov rcx, r14
call fcn.1401a2180
cmp byte [rsi + 0xce], 0
je 0x14018e1f2
mov rax, qword [rbx]
mov rdx, qword [str.Another_thread_is_closing_this_socket.]
mov rcx, rbx
call qword [rax + 0x28]
xor al, al
jmp 0x14018e554
xor r12d, r12d
mov ebp, 0xc042c00
test rdi, rdi
je 0x14018e20e
mov rdx, rbx
mov rcx, rdi
call fcn.14009e640
test al, al
jne 0x14018e1eb
mov r15d, 1
cmp r13d, 0xabcd0123
cmovne r15d, r13d
mov rcx, r14
call fcn.1401a2180
cmp qword [rsi + 0x290], 0xffffffffffffffff
je 0x14018e530
lea rdx, [rsi + 0xcd]
cmp byte [rdx], 0
jne 0x14018e51e
cmp byte [rsi + 0xce], 0
jne 0x14018e50c
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x40]
call fcn.14005f9f0
nop
test r15d, r15d
cmove r15d, ebp
lea rcx, [rsi + 0x1f8]
mov r9, rbx
mov r8, qword [r14 + 8]
mov edx, 0x1000
call fcn.1401e8d20
test al, al
jne 0x14018e4ea
cmp byte [rsi + 0xce], al
jne 0x14018e4cd
cmp qword [rsi + 0x290], 0xffffffffffffffff
je 0x14018e4ad
mov bpl, 1
nop dword [rax]
xor r9d, r9d
lea r8d, [r9 + 1]
lea rdx, [rsp + 0x38]
mov rcx, qword [rsi + 0x290]
call qword [sym.imp.WS2_32.dll_recv]
movsxd rdi, eax
test eax, eax
jg 0x14018e335
je 0x14018e460
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
jne 0x14018e418
test bpl, bpl
je 0x14018e404
cmp r13d, 0xabcd0123
je 0x14018e404
mov rdx, rbx
mov rcx, r14
call fcn.1401a2300
test al, al
jne 0x14018e409
mov r9, rbx
mov r8, r14
mov edx, r15d
mov rcx, rsi
call fcn.140194150
test al, al
je 0x14018e3d2
xor bpl, bpl
test edi, edi
js 0x14018e2b0
jmp 0x14018e409
lea edx, [rdi - 0x1000]
lea rcx, [rsi + 0x1f8]
call fcn.1401e8cd0
cmp byte [rsi + 0x37a], 0
je 0x14018e365
lea rcx, [rsi + 0xd8]
mov r9, rbx
mov r8, qword [r14 + 8]
mov edx, edi
call fcn.14018d670
cmp byte [rsi + 0x371], 0
je 0x14018e383
mov rcx, qword [r14 + 8]
test rcx, rcx
je 0x14018e383
mov rdx, rdi
mov r8, rbx
call fcn.14009e990
nop
lea rcx, [rsp + 0x40]
call fcn.14005fb10
movzx edx, byte [rsp + 0x38]
cmp dl, 0xa
je 0x14018e3a1
cmp dl, 0xd
je 0x14018e3b0
inc r12d
jmp 0x14018e3b3
test r12d, r12d
jne 0x14018e3b0
mov byte [rsp + 0x20], 1
mov byte [rsp + 0x21], 1
xor r12d, r12d
mov rcx, qword [rsp + 0x28]
call fcn.14003eaf0
cmp byte [rsp + 0x20], 0
jne 0x14018e54f
mov rdi, qword [rsp + 0x30]
jmp 0x14018e1f5
cmp byte [r14 + 0x29], 0
je 0x14018e3eb
mov rax, qword [rbx]
lea rdx, str.Socket_recv_aborted_by_application
mov rcx, rbx
call qword [rax + 0x28]
jmp 0x14018e409
cmp byte [r14 + 0x28], 0
jne 0x14018e409
mov rax, qword [rbx]
lea rdx, str.Socket_recv_failed.
mov rcx, rbx
call qword [rax + 0x28]
jmp 0x14018e409
mov byte [r14 + 0x28], 1
lea rcx, [rsp + 0x40]
call fcn.14005fb10
jmp 0x14018e54f
mov rcx, rbx
call fcn.14004e0e0
mov r8d, 1
lea rdx, str.maxToReceive
mov rcx, rbx
call fcn.14004d750
mov rax, qword [rbx]
lea rdx, str.Failed_to_receive_data_on_the_TCP_socket
mov rcx, rbx
call qword [rax + 0x28]
mov byte [r14 + 0x2a], 1
mov byte [rsi + 0x288], 0
lea rcx, [rsp + 0x40]
call fcn.14005fb10
jmp 0x14018e54f
cmp byte [rbx + 0x169], 0
je 0x14018e48e
mov r8d, 1
lea rdx, str.maxToReceive
mov rcx, rbx
call fcn.14004d750
mov rax, qword [rbx]
lea rdx, str.Connection_closed_by_peer.
mov rcx, rbx
call qword [rax + 0x28]
mov rdx, rbx
mov rcx, rsi
call fcn.140191b10
mov byte [r14 + 0x2b], 1
lea rcx, [rsp + 0x40]
call fcn.14005fb10
jmp 0x14018e54f
mov rax, qword [rbx]
lea rdx, str.The_socket_is_already_closed.__Cannot_recv.
mov rcx, rbx
call qword [rax + 0x28]
nop
lea rcx, [rsp + 0x40]
call fcn.14005fb10
jmp 0x14018e54f
mov rax, qword [rbx]
mov rdx, qword [str.Another_thread_is_closing_this_socket.]
mov rcx, rbx
call qword [rax + 0x28]
nop
lea rcx, [rsp + 0x40]
call fcn.14005fb10
jmp 0x14018e54f
mov byte [r14 + 0x29], 1
mov rax, qword [rbx]
lea rdx, str.Aborted_by_application_while_download_throttling__2_
mov rcx, rbx
call qword [rax + 0x28]
nop
lea rcx, [rsp + 0x40]
call fcn.14005fb10
jmp 0x14018e54f
mov rax, qword [rbx]
mov rdx, qword [str.Another_thread_is_closing_this_socket.]
mov rcx, rbx
call qword [rax + 0x28]
jmp 0x14018e54f
mov rax, qword [rbx]
lea rdx, str.Another_thread_is_already_receiving_on_this_socket.
mov rcx, rbx
call qword [rax + 0x28]
jmp 0x14018e54f
mov r8, qword [rbx]
lea rdx, str.This_socket_is_not_connected
mov rcx, rbx
call qword [r8 + 0x28]
mov byte [r14 + 0x2a], 1
mov word [rsi + 0x288], 0
movzx eax, byte [rsp + 0x21]
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.1402474e0
add rsp, 0x68
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret