Function at 0x14002d920
Capabilities:
Get socket status

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x2c8
movaps xmmword [rsp + 0x290], xmm6
movaps xmmword [rsp + 0x2a0], xmm7
movaps xmmword [rsp + 0x2b0], xmm8
mov r14, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov rax, qword [rcx + 0x30]
movdqu xmm8, xmmword [rcx + 0x40]
movdqu xmm7, xmmword [rcx + 0x50]
mov qword [rsp + 0x40], rax
imul rax, qword [rcx + 0x38], 0x3e8
mov r13, rdx
mov qword [rsp + 0x310], rcx
mov byte [rsp + 0x4f], 0
mov qword [rsp + 0x38], rax
nop dword [rax]
mov rax, qword [rsp + 0x310]
mov rax, qword [rax + 0x28]
cmp rax, 0xffffffffffffffff
je 0x14002da12
cmp qword [rsp + 0x40], 0
je 0x14002da12
call sym.std::chrono::_V2::steady_clock::now__
mov rdi, qword [sym.imp.WSOCK32.dll_select]
movq xmm6, qword [0x140062170]
lea ebp, [r13 + 1]
mov r12, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov r15, rax
lea rsi, [rsp + 0x60]
lea rbx, [rsp + 0x80]
nop dword [rax]
mov dword [rsp + 0x80], 1
mov qword [rsp + 0x88], r13
movq qword [rsp + 0x60], xmm6
mov qword [rsp + 0x20], rsi
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
mov ecx, ebp
call rdi
cdqe
test rax, rax
jns 0x14002da60
call r14
cmp dword [rax], 4
je 0x14002d9f1
mov edx, 2
mov rcx, r13
call qword [sym.imp.WSOCK32.dll_shutdown]
mov rcx, r13
call qword [sym.imp.WSOCK32.dll_closesocket]
movzx eax, byte [rsp + 0x4f]
movaps xmm6, xmmword [rsp + 0x290]
movaps xmm7, xmmword [rsp + 0x2a0]
movaps xmm8, xmmword [rsp + 0x2b0]
add rsp, 0x2c8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
jne 0x14002dac8
call sym.std::chrono::_V2::steady_clock::now__
movabs rdx, 0x431bde82d7b634db
sub rax, r15
mov rcx, rax
imul rdx
mov rax, qword [rsp + 0x38]
sar rcx, 0x3f
sar rdx, 0x12
sub rdx, rcx
cmp rdx, rax
jg 0x14002da12
mov qword [rsp + 0x80], 0
mov dword [rsp + 0x88], 0xf4240
mov rdx, rbx
mov rcx, rbx
call sym.nanosleep
cmp eax, 0xffffffff
jne 0x14002d9d8
call r12
cmp dword [rax], 4
jne 0x14002d9d8
jmp 0x14002daa6
pxor xmm6, xmm6
mov ecx, 0x1000
lea rbp, method.httplib::detail::SocketStream.SocketStream__
mov byte [rsp + 0x5f], 0
mov qword [rsp + 0x80], rbp
mov qword [rsp + 0x88], r13
mov qword [rsp + 0xc0], 0
movaps xmmword [rsp + 0x90], xmm8
movaps xmmword [rsp + 0xa0], xmm7
movaps xmmword [rsp + 0xb0], xmm6
call sym.operator_new_unsigned_long_long_
pxor xmm0, xmm0
lea r9, [rsp + 0x5f]
lea rdi, [rax + 8]
lea rdx, [rax + 0x1000]
mov qword [rsp + 0xb0], rax
and rdi, 0xfffffffffffffff8
mov qword [rsp + 0xc0], rdx
mov qword [rax], 0
mov qword [rax + 0xff8], 0
sub rax, rdi
lea ecx, [rax + 0x1000]
xor eax, eax
shr ecx, 3
rep stosq qword [rdi], rax
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0xb8], rdx
mov rdx, rbx
cmp qword [rsp + 0x40], 1
movaps xmmword [rsp + 0x60], xmm0
mov rcx, qword [rsp + 0x310]
sete r8b
movups xmmword [rsp + 0xc8], xmm6
mov qword [rsp + 0x70], 0
movzx r8d, r8b
mov qword [rsp + 0x78], 0
call method.httplib::Server.process_request_httplib::Stream__bool__bool__std::function_void__httplib::Request___const_
mov byte [rsp + 0x4f], al
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x14002dbc8
mov r8d, 3
mov rdx, rsi
mov rcx, rsi
call rax
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 0x80], rbp
test rcx, rcx
je 0x14002dbed
mov rdx, qword [rsp + 0xc0]
sub rdx, rcx
call sym.operator_delete_void__unsigned_long_long_
cmp byte [rsp + 0x4f], 0
je 0x14002da12
movzx eax, byte [rsp + 0x5f]
test al, al
jne 0x14002dc0c
sub qword [rsp + 0x40], 1
jmp 0x14002d988
mov byte [rsp + 0x4f], al
jmp 0x14002da12