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

Disassembly:
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r15
sub rsp, 0x20
movsxd r15, r8d
lea r12, [0x140000000]
mov esi, edx
mov rdi, rcx
cmp dword [r12 + r15*4 + 0x32150], 1
mov dword [r12 + r15*4 + 0x30e60], 9
jne 0x140008b65
xor eax, eax
mov rsi, qword [rsp + 0x58]
add rsp, 0x20
pop r15
pop r12
pop rdi
ret
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rbp
test rcx, rcx
jne 0x140008bca
lea rax, [r15 + r15*8]
lea rbx, [rax*8]
cmp esi, dword [rbx + r12 + 0x32bb8]
jbe 0x140008baa
mov rcx, qword [rbx + r12 + 0x32bb0]
mov rdx, rsi
call fcn.14000a4c0
mov qword [rbx + r12 + 0x32bb0], rax
mov dword [rbx + r12 + 0x32bb8], esi
mov rax, qword [rbx + r12 + 0x32bb0]
lea rdi, [r12 + 0x32ba0]
add rdi, rbx
mov qword [rbx + r12 + 0x32ba8], rax
mov qword [rdi], rax
jmp 0x140008c0f
mov eax, dword [rcx + 0x10]
mov qword [rsp + 0x50], r14
mov r14d, dword [rcx + 8]
sub r14d, eax
lea ebp, [r14 + rsi]
cmp ebp, dword [rcx + 0x18]
jbe 0x140008c0a
mov ebx, dword [rcx]
mov rcx, qword [rcx + 0x10]
sub ebx, eax
mov edx, ebp
call fcn.14000a4c0
mov ecx, ebx
add rcx, rax
mov qword [rdi + 0x10], rax
mov qword [rdi], rcx
mov ecx, r14d
add rcx, rax
mov dword [rdi + 0x18], ebp
mov qword [rdi + 8], rcx
mov r14, qword [rsp + 0x50]
test esi, esi
je 0x140008e10
xor ebp, ebp
nop dword [rax]
cmp dword [r12 + r15*4 + 0x30e60], ebp
jl 0x140008f7f
xor ecx, ecx
mov qword [r12 + r15*8 + 0x32500], rbp
mov qword [r12 + r15*8 + 0x32280], rbp
call fcn.14000f850
mov ecx, dword [r12 + r15*4 + 0x32b50]
mov qword [r12 + r15*8 + 0x32280], rax
call fcn.140008820
test eax, eax
jne 0x140008ca4
cmp qword [r12 + r15*8 + 0x33680], rbp
je 0x140008c80
xor ecx, ecx
call fcn.14000f850
mov rcx, qword [r12 + r15*8 + 0x33680]
add rcx, 7
cmp rcx, rax
jl 0x140008ca4
xor ecx, ecx
call fcn.14000f850
mov rcx, qword [r12 + r15*8 + 0x32280]
add rcx, 0xe
cmp rax, rcx
jle 0x140008ca4
lea rcx, str.RDP_protocol_error___receive_timeout_r_n
call fcn.14000a030
mov rcx, qword [r12 + r15*8 + 0x32320]
test rcx, rcx
je 0x140008cb7
call qword [sym.imp.libssl_1_1_x64.dll_SSL_pending]
mov rcx, qword [r12 + r15*8 + 0x32320]
test rcx, rcx
je 0x140008d30
mov rdx, qword [rdi + 8]
mov r8d, esi
call qword [sym.imp.libssl_1_1_x64.dll_SSL_read]
mov rcx, qword [r12 + r15*8 + 0x32320]
mov edx, eax
mov ebx, eax
call qword [sym.imp.libssl_1_1_x64.dll_SSL_get_error]
cmp eax, 1
je 0x140008e2c
lea ecx, [rax - 2]
cmp ecx, 1
jbe 0x140008d9d
test eax, eax
je 0x140008de4
mov r8d, eax
lea rdx, str.SSL_read:__d__n
xor ecx, ecx
call fcn.14000a300
lea rcx, str.SSL___network_error_r_n
call fcn.14000a030
xor eax, eax
mov dword [r12 + r15*4 + 0x32150], 1
jmp 0x140008e13
mov ecx, dword [r12 + r15*4 + 0x32b50]
call fcn.140008820
movsxd rcx, dword [r12 + r15*4 + 0x32b50]
xor r9d, r9d
mov rdx, qword [rdi + 8]
mov r8d, esi
call qword [sym.imp.WS2_32.dll_recv]
mov ebx, eax
test eax, eax
jns 0x140008da1
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
sub eax, 0x2733
je 0x140008d9d
sub eax, 0x12
je 0x140008f24
cmp eax, 1
jne 0x140008ec9
cmp qword [r12 + r15*8 + 0x32500], rbp
jne 0x140008eaa
cmp dword [r12 + r15*4 + 0x30e60], eax
jle 0x140008e8b
mov ecx, 0x12c
jmp 0x140008dd6
mov ebx, ebp
jmp 0x140008de4
jne 0x140008de4
lea rdx, str.____connection_closed__TCP_FIN__r_n
mov ecx, 1
call fcn.14000a300
cmp dword [r12 + r15*4 + 0x32230], ebp
jne 0x140008f73
cmp dword [r12 + r15*4 + 0x30e60], 1
jle 0x140008f54
mov ecx, 0x1f4
call qword [sym.imp.KERNEL32.dll_Sleep]
dec dword [r12 + r15*4 + 0x30e60]
movsxd rax, ebx
sub esi, ebx
add qword [rdi + 8], rax
test ebx, ebx
je 0x140008e08
add qword [r12 + r15*8 + 0x32500], rax
xor ecx, ecx
call fcn.14000f850
mov qword [r12 + r15*8 + 0x32280], rax
test esi, esi
jne 0x140008c20
mov rax, rdi
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x58]
add rsp, 0x20
pop r15
pop r12
pop rdi
ret
mov rcx, qword [r12 + r15*8 + 0x32320]
call qword [sym.imp.libssl_1_1_x64.dll_SSL_get_shutdown]
test al, 2
je 0x140008e5c
lea rdx, str.Remote_peer_initiated_ssl_shutdown._r_n
xor ecx, ecx
call fcn.14000a300
lea rcx, str.SSL_protocol_error___network_error_r_n
call fcn.14000a030
xor eax, eax
jmp 0x140008e13
call fcn.140008a60
mov rdx, rax
lea rcx, str.SSL_protocol_error____s_r_n
mov rbx, rax
call fcn.14000a030
mov rcx, rbx
call fcn.14000f890
xor eax, eax
mov dword [r12 + r15*4 + 0x32150], 1
jmp 0x140008e13
lea rcx, str.no_connection___connection_closed__RST__r_n
call fcn.14000a030
xor eax, eax
mov dword [r12 + r15*4 + 0x32150], 1
jmp 0x140008e13
lea rcx, str.RDP_protocol_error___connection_reset_by_peer_r_n
call fcn.14000a030
xor eax, eax
mov dword [r12 + r15*4 + 0x32150], 1
jmp 0x140008e13
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ecx, eax
call fcn.14000a360
mov r8, rax
lea rdx, str.____recv:__s_n
mov ecx, 1
call fcn.14000a300
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ecx, eax
call fcn.14000a360
mov rbx, rax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov r8, rbx
lea rcx, str.RDP_protocol_error_____d___s_r_n
mov edx, eax
call fcn.14000a030
xor eax, eax
mov dword [r12 + r15*4 + 0x32150], 1
jmp 0x140008e13
lea rdx, str.connection_aborted_r_n
mov ecx, 1
call fcn.14000a300
lea rcx, str.RDP_protocol_error___connection_aborted_r_n
call fcn.14000a030
xor eax, eax
mov dword [r12 + r15*4 + 0x32150], 1
jmp 0x140008e13
lea rcx, str.no_connection___connection_closed__FIN__r_n
call fcn.14000a030
xor eax, eax
mov dword [r12 + r15*4 + 0x32150], 1
jmp 0x140008e13
lea rcx, str.RDP_protocol_error___connection_closed__FIN__r_n
call fcn.14000a030
mov dword [r12 + r15*4 + 0x32150], 1
xor eax, eax
jmp 0x140008e13