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

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rsp + 0xa8], rbx
mov rax, qword [0x14026be10]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x28], r8
mov r13, rdx
mov rsi, rcx
mov rbp, qword [rsp + 0xb8]
mov rdi, qword [rsp + 0xc0]
test rdx, rdx
jne 0x1400f7eb7
xor al, al
jmp 0x1400f8204
mov ebx, dword [r8]
mov dword [rsp + 0x20], ebx
test ebx, ebx
jne 0x1400f7ec9
mov al, 1
jmp 0x1400f8204
mov cl, 1
mov dword [r8], 0
mov eax, dword [rsp + 0xb0]
mov r14d, 0x1499700
mov edx, 1
test ebx, ebx
je 0x1400f8201
movzx r15d, r9b
cmp eax, 0xabcd0123
cmove r15d, edx
mov r12d, edx
cmovne r12d, eax
test r13, r13
je 0x1400f81ff
mov rcx, rbp
call fcn.1400aeb50
cmp qword [rsi + 0xb0], 0xffffffffffffffff
je 0x1400f81e2
lea rdx, [rsi + 0xd]
cmp byte [rdx], 0
jne 0x1400f81d0
cmp byte [rsi + 0xe], 0
jne 0x1400f81be
xor eax, eax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rax
lea rcx, [rsp + 0x38]
call fcn.14006f5b0
nop
test r12d, r12d
cmove r12d, r14d
lea rcx, [rsi + 0x150]
mov r9, rdi
mov r8, qword [rbp + 8]
mov edx, 0x1000
call fcn.1401595b0
test al, al
jne 0x1400f819d
cmp byte [rsi + 0xe], al
jne 0x1400f8180
cmp qword [rsi + 0xb0], 0xffffffffffffffff
je 0x1400f8163
mov r14d, ebx
mov eax, 0x100000
cmp ebx, eax
cmova r14d, eax
nop dword [rax]
xor r9d, r9d
mov r8d, r14d
mov rdx, r13
mov rcx, qword [rsi + 0xb0]
call qword [sym.imp.WS2_32.dll_recv]
mov ebx, eax
test eax, eax
jg 0x1400f8012
je 0x1400f811a
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
jne 0x1400f80d6
test r15b, r15b
jne 0x1400f80c3
mov rdx, rdi
mov rcx, rbp
call fcn.1400aece0
test al, al
jne 0x1400f80b4
mov r9, rdi
mov r8, rbp
mov edx, r12d
mov rcx, rsi
call fcn.1400f8e50
test al, al
je 0x1400f808e
test ebx, ebx
jns 0x1400f80c7
jmp 0x1400f7fa0
lea edx, [rbx - 0x1000]
lea rcx, [rsi + 0x150]
call fcn.140159560
cmp byte [rsi + 0x2ac], 0
je 0x1400f803f
lea rcx, [rsi + 0x18]
mov r9, rdi
mov r8, qword [rbp + 8]
mov edx, ebx
call fcn.140121dd0
cmp byte [rsi + 0x2a9], 0
je 0x1400f805d
mov rcx, qword [rbp + 8]
test rcx, rcx
je 0x1400f805d
movsxd rdx, ebx
mov r8, rdi
call fcn.14008e440
nop
lea rcx, [rsp + 0x38]
call fcn.14006f6e0
mov cl, 1
cmp byte [rbp + 0x19], 0
jne 0x1400f8201
xor r9b, r9b
mov r8, qword [rsp + 0x28]
add dword [r8], ebx
sub dword [rsp + 0x20], ebx
add r13, rbx
mov ebx, dword [rsp + 0x20]
jmp 0x1400f7ed2
cmp byte [rbp + 0x19], 0
je 0x1400f809d
lea rdx, str.Socket_recv_aborted_by_application
jmp 0x1400f80aa
cmp byte [rbp + 0x18], 0
jne 0x1400f80b4
lea rdx, str.Socket_recv_failed.
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x28]
nop
lea rcx, [rsp + 0x38]
call fcn.14006f6e0
jmp 0x1400f81ff
mov byte [rbp + 0x18], 1
lea rcx, [rsp + 0x38]
call fcn.14006f6e0
jmp 0x1400f81ff
mov rcx, rdi
call fcn.1400720b0
mov r8d, r14d
lea rdx, str.maxToReceive
mov rcx, rdi
call fcn.1400717d0
mov rax, qword [rdi]
lea rdx, str.Failed_to_receive_data_on_the_TCP_socket
mov rcx, rdi
call qword [rax + 0x28]
mov byte [rbp + 0x1a], 1
mov byte [rsi + 0xa8], 0
lea rcx, [rsp + 0x38]
call fcn.14006f6e0
jmp 0x1400f81ff
cmp byte [rdi + 0xa9], 0
je 0x1400f8145
mov r8d, r14d
lea rdx, str.maxToReceive
mov rcx, rdi
call fcn.1400717d0
mov rax, qword [rdi]
lea rdx, str.Connection_closed_by_peer.
mov rcx, rdi
call qword [rax + 0x28]
mov rdx, rdi
mov rcx, rsi
call fcn.1400f6f30
mov byte [rbp + 0x1b], 1
lea rcx, [rsp + 0x38]
call fcn.14006f6e0
jmp 0x1400f81ff
mov rax, qword [rdi]
lea rdx, str.The_socket_is_already_closed.__Cannot_recv.
mov rcx, rdi
call qword [rax + 0x28]
nop
lea rcx, [rsp + 0x38]
call fcn.14006f6e0
jmp 0x1400f81ff
mov rax, qword [rdi]
mov rdx, qword [str.Another_thread_is_closing_this_socket.]
mov rcx, rdi
call qword [rax + 0x28]
nop
lea rcx, [rsp + 0x38]
call fcn.14006f6e0
jmp 0x1400f81ff
mov byte [rbp + 0x19], 1
mov rax, qword [rdi]
lea rdx, str.Aborted_by_application_while_download_throttling__2_
mov rcx, rdi
call qword [rax + 0x28]
nop
lea rcx, [rsp + 0x38]
call fcn.14006f6e0
jmp 0x1400f81ff
mov rax, qword [rdi]
mov rdx, qword [str.Another_thread_is_closing_this_socket.]
mov rcx, rdi
call qword [rax + 0x28]
jmp 0x1400f81ff
mov rax, qword [rdi]
lea rdx, str.Another_thread_is_already_receiving_on_this_socket.
mov rcx, rdi
call qword [rax + 0x28]
jmp 0x1400f81ff
mov rax, qword [rdi]
lea rdx, str.This_socket_is_not_connected
mov rcx, rdi
call qword [rax + 0x28]
mov byte [rbp + 0x1a], 1
mov word [rsi + 0xa8], 0
xor cl, cl
movzx eax, cl
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.140168e10
mov rbx, qword [rsp + 0xa8]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret