Function at 0x140061014
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 0x140061076
cmp edx, 0xffffffff
je 0x14006127d
lea r12, [rsp + 0x70]
mov esi, 1
jmp 0x140061087
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 0x14006124e
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 0x1400610b8
imul rax, rax, 0x64
jmp 0x1400610d6
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 0x140061288
test byte [rdi + 0xc0], 2
jne 0x140061100
lea rcx, [rdi + 0xb0]
mov r9, r14
lea rdx, [rsp + 0x30]
call fcn.140062854
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 0x14006112e
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 0x14006115d
cdqe
mov rcx, rsi
cmp rax, rsi
cmovb rcx, rax
add r12, rcx
sub rsi, rcx
jmp 0x140061245
mov edx, 0x2733
lea rcx, [rsp + 0x58]
call fcn.140063450
lea rdx, [rsp + 0x58]
mov rcx, r14
call fcn.140053704
test al, al
jne 0x1400611a1
mov edx, 0x4d5
lea rcx, [rsp + 0x30]
call fcn.140063450
lea rdx, [rsp + 0x30]
mov rcx, r14
call fcn.140053704
test al, al
je 0x140061295
mov rcx, rdi
call fcn.140062760
cmp byte [rdi + 0xf4], 0
mov r8d, eax
mov rcx, qword [rdi + 0xb8]
jne 0x1400611cf
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 0x140061281
mov qword [rbp - 0x58], rcx
mov dword [rbp - 0x60], 1
test r8d, r8d
js 0x14006121a
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 0x14006121c
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 0x140061295
test rsi, rsi
jne 0x14006109a
mov rdx, qword [rdi + 0x90]
mov rcx, qword [rdi + 0x98]
cmp rdx, rcx
je 0x1400612b4
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 0x14006129a
xor eax, eax
jmp 0x1400612b7
mov edx, 0x2719
jmp 0x14006128d
mov edx, 0x274c
mov rcx, r14
call fcn.1400633c4
or eax, 0xffffffff
jmp 0x1400612b7
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