Function at 0x140061010
Capabilities:
Get socket status

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x1c0]
sub rsp, 0x2c0
mov rax, qword [0x140093028]
xor rax, rsp
mov qword [rbp + 0x1b0], rax
mov rax, qword [rcx + 0x98]
mov r15d, edx
mov rdi, rcx
mov byte [rsp + 0x70], r15b
cmp qword [rcx + 0x90], rax
jne 0x140061072
cmp edx, 0xffffffff
je 0x140061279
lea r12, [rsp + 0x70]
mov esi, 1
jmp 0x140061083
mov rax, qword [rcx + 0x20]
mov r12, qword [rax]
mov rax, qword [rcx + 0x40]
mov rsi, qword [rax]
sub rsi, r12
mov rax, rsi
test rax, rax
je 0x14006124a
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]
cmp rbx, 0x989680
jne 0x1400610b4
imul rax, rax, 0x64
jmp 0x1400610d2
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
imul rcx, rcx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
cmp qword [rdi + 0x168], rax
jl 0x140061284
test byte [rdi + 0xc0], 2
jne 0x1400610fc
lea rcx, [rdi + 0xb0]
mov r9, r14
lea rdx, [rsp + 0x30]
call fcn.140062850
cmp byte [rdi + 0xf4], 0
mov rcx, qword [rdi + 0xb8]
mov qword [rbp - 0x78], r12
mov dword [rbp - 0x80], esi
mov qword [rbp - 0x70], rsi
jne 0x14006112a
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rsp + 0x3c], xmm0
mov qword [rsp + 0x4c], rax
mov dword [rsp + 0x54], eax
mov r8d, 1
mov qword [rsp + 0x20], r14
lea rdx, [rbp - 0x80]
call fcn.140055d58
test eax, eax
jle 0x140061159
cdqe
mov rcx, rsi
cmp rax, rsi
cmovb rcx, rax
add r12, rcx
sub rsi, rcx
jmp 0x140061241
mov edx, 0x2733
lea rcx, [rsp + 0x58]
call fcn.14006344c
lea rdx, [rsp + 0x58]
mov rcx, r14
call fcn.140053704
test al, al
jne 0x14006119d
mov edx, 0x4d5
lea rcx, [rsp + 0x30]
call fcn.14006344c
lea rdx, [rsp + 0x30]
mov rcx, r14
call fcn.140053704
test al, al
je 0x140061291
mov rcx, rdi
call fcn.14006275c
cmp byte [rdi + 0xf4], 0
mov r8d, eax
mov rcx, qword [rdi + 0xb8]
jne 0x1400611cb
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rsp + 0x3c], xmm0
mov qword [rsp + 0x4c], rax
mov dword [rsp + 0x54], eax
cmp rcx, 0xffffffffffffffff
je 0x14006127d
mov qword [rbp - 0x58], rcx
mov dword [rbp - 0x60], 1
test r8d, r8d
js 0x140061216
mov eax, 0x10624dd3
imul r8d
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x3e8
mov dword [rsp + 0x78], edx
sub r8d, eax
imul eax, r8d, 0x3e8
mov dword [rsp + 0x7c], eax
lea rax, [rsp + 0x78]
jmp 0x140061218
xor eax, eax
inc ecx
mov qword [rsp + 0x20], rax
xor r9d, r9d
lea r8, [rbp - 0x60]
xor edx, edx
call qword [sym.imp.WS2_32.dll_select]
mov edx, eax
mov rcx, r14
shr edx, 0x1f
mov ebx, eax
call fcn.140055b8c
test ebx, ebx
js 0x140061291
test rsi, rsi
jne 0x140061096
mov rdx, qword [rdi + 0x90]
mov rcx, qword [rdi + 0x98]
cmp rdx, rcx
je 0x1400612b0
mov rax, qword [rdi + 0x20]
sub ecx, edx
mov qword [rax], rdx
mov rax, qword [rdi + 0x40]
mov qword [rax], rdx
mov rax, qword [rdi + 0x58]
mov dword [rax], ecx
cmp r15d, 0xffffffff
jne 0x140061296
xor eax, eax
jmp 0x1400612b3
mov edx, 0x2719
jmp 0x140061289
mov edx, 0x274c
mov rcx, r14
call fcn.1400633c0
or eax, 0xffffffff
jmp 0x1400612b3
mov rax, qword [rdi + 0x40]
mov rcx, qword [rax]
mov al, byte [rsp + 0x70]
mov byte [rcx], al
mov rax, qword [rdi + 0x58]
dec dword [rax]
mov rax, qword [rdi + 0x40]
inc qword [rax]
mov eax, r15d
mov rcx, qword [rbp + 0x1b0]
xor rcx, rsp
call fcn.140069020
lea r11, [rsp + 0x2c0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret