Function at 0x140094810
Capabilities:
Get socket status
Receive data
Receive data on socket

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x2a8
mov qword [rsp + 0x60], 0xfffffffffffffffe
mov rax, qword [0x140131088]
xor rax, rsp
mov qword [rsp + 0x290], rax
mov rbx, r9
mov ebp, r8d
mov r15, rdx
mov rsi, rcx
cmp byte [rcx + 0x1a8], 0
jne 0x140094b24
xor edi, edi
mov dword [r9], edi
mov r14d, dword [rsp + 0x308]
mov r9d, r14d
mov rcx, qword [rcx + 0x1b8]
call qword [sym.imp.WS2_32.dll_recv]
test eax, eax
je 0x1400948fe
cmp eax, 0xffffffff
jne 0x140094b1b
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
je 0x140094905
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ebx, eax
mov rdx, qword [rsi]
mov rcx, rsi
call qword [rdx + 0x68]
mov rdi, rax
mov rdx, qword [rsi]
mov rcx, rsi
call qword [rdx + 0x60]
mov dword [rsp + 0x58], ebx
mov dword [rsp + 0x50], r14d
mov dword [rsp + 0x48], ebp
mov dword [rsp + 0x40], 0xffffffff
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rax
lea rax, str._CSockstream__read_failed__2___local:__s____peer:__s__._iReturn:__d__buflen:__ld__flag:__d__errno:__d
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x16f
lea r9, str.CSockStream::readbyflag
lea r8, str...includesonetlibsphstreamSockStream.cpp
mov edx, 8
lea rcx, [0x1401399a0]
call fcn.14007a380
xor al, al
jmp 0x140094b26
mov ecx, dword [rsp + 0x300]
test ecx, ecx
jne 0x14009495c
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [rsp + 0x38], 0x179
mov dword [rsp + 0x30], eax
lea rax, str._CSockstream__read_failed__d__3__d
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x179
lea r9, str.CSockStream::readbyflag
lea r8, str...includesonetlibsphstreamSockStream.cpp
mov edx, 8
lea rcx, [0x1401399a0]
call fcn.14007a380
xor al, al
jmp 0x140094b26
cmp qword [rsi + 0x1c0], rdi
je 0x140094a1d
mov byte [rsi + 0x1a8], 1
xor eax, eax
mov qword [rsp + 0x70], rax
lea ecx, [rax + 0x38]
call fcn.14009dbb8
mov rbx, rax
mov qword [rsp + 0x68], rax
xor eax, eax
mov qword [rbx], rax
mov qword [rbx + 8], rax
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], rax
mov qword [rbx + 0x20], rax
mov qword [rbx + 0x28], rax
mov qword [rbx + 0x30], rax
mov rcx, qword [rsi + 0x1b8]
lea rax, vtable.CReference.0
mov qword [rbx], rax
mov dword [rbx + 8], edi
mov dword [rbx + 0xc], 1
mov dword [rbx + 0x10], edi
mov qword [rbx + 0x18], rcx
mov dword [rbx + 0x20], edi
lea rax, vtable.CTCPStreamTask.0
mov qword [rbx], rax
mov qword [rbx + 0x28], rsi
lea rcx, [rsi + 0x10]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov byte [rbx + 0x30], 0
mov qword [rsp + 0x70], rbx
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsi + 0x1c0]
mov rax, qword [rcx]
lea rdx, [rsp + 0x70]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x140094a18
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
nop
jmp 0x140094b24
mov rax, qword [rsi + 0x1b8]
mov qword [rsp + 0x88], rax
mov dword [rsp + 0x80], 1
xor r9d, r9d
xor r8d, r8d
cmp ecx, 0xffffffff
jne 0x140094a4c
lea ecx, [rax + 1]
mov qword [rsp + 0x20], rdi
jmp 0x140094a85
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rsp + 0x78], edx
imul eax, edx, 0x3e8
sub ecx, eax
imul eax, ecx, 0x3e8
mov dword [rsp + 0x7c], eax
mov ecx, dword [rsi + 0x1b8]
inc ecx
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x80]
call qword [sym.imp.WS2_32.dll_select]
mov edi, eax
test eax, eax
jle 0x140094ace
lea rdx, [rsp + 0x80]
mov rcx, qword [rsi + 0x1b8]
call qword [sym.imp.WS2_32.dll___WSAFDIsSet]
test eax, eax
je 0x140094ace
mov rax, qword [rsi]
mov dword [rsp + 0x20], r14d
mov r9, rbx
mov r8d, ebp
mov rdx, r15
mov rcx, rsi
call qword [rax + 0x100]
jmp 0x140094b26
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [rsp + 0x40], 0x19a
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x30], eax
lea rax, str._CSockstream__read_failed__d__select__d__4__d
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x19a
lea r9, str.CSockStream::readbyflag
lea r8, str...includesonetlibsphstreamSockStream.cpp
mov edx, 8
lea rcx, [0x1401399a0]
call fcn.14007a380
xor al, al
jmp 0x140094b26
mov byte [rsi + 0x1a8], dil
mov dword [rbx], eax
mov al, 1
mov rcx, qword [rsp + 0x290]
xor rcx, rsp
call fcn.14009d860
add rsp, 0x2a8
pop r15
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret