Function at 0x140008954
Capabilities:
Get socket status

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x218]
sub rsp, 0x2f0
mov rax, qword [0x14001d008]
xor rax, rsp
mov qword [rbp + 0x1e0], rax
mov rax, qword [rcx + 0x98]
mov r15d, edx
mov rdi, rcx
mov byte [rbp - 0x60], r15b
cmp qword [rcx + 0x90], rax
jne 0x1400089c6
cmp edx, 0xffffffff
je 0x140008bc8
lea rax, [rcx + 0x20]
mov esi, 1
mov qword [rsp + 0x30], rax
lea r12, [rbp - 0x60]
lea r13, [rcx + 0x40]
jmp 0x1400089ec
lea rdx, [rcx + 0x20]
mov rax, qword [rdx]
lea r13, [rcx + 0x40]
mov qword [rsp + 0x30], rdx
mov r12, qword [rax]
mov rax, qword [rcx + 0x40]
mov rsi, qword [rax]
mov rax, rdx
sub rsi, r12
je 0x140008b9a
lea r14, [rcx + 0x150]
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
mov r8, rax
cmp rbx, 0x989680
jne 0x140008a14
imul rcx, r8, 0x64
jmp 0x140008a3a
cqo
idiv rbx
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
mov rcx, rax
mov rax, r8
cqo
idiv rbx
imul rdx, rax, 0x3b9aca00
add rcx, rdx
cmp qword [rdi + 0x168], rcx
jl 0x140008bd3
test byte [rdi + 0xc0], 2
jne 0x140008a64
lea rcx, [rdi + 0xb0]
mov r9, r14
lea rdx, [rsp + 0x38]
call fcn.14000a3ac
cmp byte [rdi + 0xf4], 0
mov rcx, qword [rdi + 0xb8]
mov qword [rbp - 0x48], r12
mov dword [rbp - 0x50], esi
mov qword [rbp - 0x40], rsi
jne 0x140008a92
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rsp + 0x44], xmm0
mov qword [rsp + 0x54], rax
mov dword [rsp + 0x5c], eax
mov r8d, 1
mov qword [rsp + 0x20], r14
lea rdx, [rbp - 0x50]
call fcn.140004d7c
test eax, eax
jle 0x140008ac1
cdqe
mov rcx, rsi
cmp rax, rsi
cmovb rcx, rax
add r12, rcx
sub rsi, rcx
jmp 0x140008b8c
mov edx, 0x2733
lea rcx, [rbp - 0x78]
call fcn.14000ab44
lea rdx, [rbp - 0x78]
mov rcx, r14
call fcn.14000265c
test al, al
jne 0x140008b03
mov edx, 0x4d5
lea rcx, [rsp + 0x38]
call fcn.14000ab44
lea rdx, [rsp + 0x38]
mov rcx, r14
call fcn.14000265c
test al, al
je 0x140008be0
mov rcx, rdi
call fcn.14000a2b0
mov ecx, eax
mov rax, qword [rdi + 0xb8]
mov qword [rsp + 0x60], rax
cmp rax, 0xffffffffffffffff
je 0x140008bcc
mov qword [rbp - 0x28], rax
mov dword [rbp - 0x30], 1
test ecx, ecx
js 0x140008b5d
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x3e8
mov dword [rbp - 0x58], edx
sub ecx, eax
imul eax, ecx, 0x3e8
mov dword [rbp - 0x54], eax
lea rax, [rbp - 0x58]
jmp 0x140008b5f
xor eax, eax
mov ecx, dword [rsp + 0x60]
lea r8, [rbp - 0x30]
inc ecx
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor edx, edx
call qword [sym.imp.WS2_32.dll_select]
test eax, eax
mov rcx, r14
mov ebx, eax
sets dl
call fcn.140004bb0
test ebx, ebx
js 0x140008be0
test rsi, rsi
jne 0x1400089f3
mov rax, qword [rsp + 0x30]
mov rdx, qword [rdi + 0x90]
mov rcx, qword [rdi + 0x98]
cmp rdx, rcx
je 0x140008c00
mov rax, qword [rax]
sub ecx, edx
mov qword [rax], rdx
mov rax, qword [r13]
mov qword [rax], rdx
mov rax, qword [rdi + 0x58]
mov dword [rax], ecx
cmp r15d, 0xffffffff
jne 0x140008be5
xor eax, eax
jmp 0x140008c03
mov edx, 0x2719
jmp 0x140008bd8
mov edx, 0x274c
mov rcx, r14
call fcn.14000aab8
or eax, 0xffffffff
jmp 0x140008c03
mov rax, qword [r13]
mov edx, 1
mov rcx, rdi
mov r8, qword [rax]
mov al, byte [rbp - 0x60]
mov byte [r8], al
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::pbump_int____ptr64]
mov eax, r15d
mov rcx, qword [rbp + 0x1e0]
xor rcx, rsp
call fcn.140011270
lea r11, [rsp + 0x2f0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret