Function at 0x14004ce90
Capabilities:
Get socket status

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x220]
sub rsp, 0x320
mov rax, qword [0x14016d4c0]
xor rax, rsp
mov qword [rbp + 0x210], rax
mov r15, r9
mov r14, r8
mov rsi, rdx
mov r13, rcx
mov rax, qword [rbp + 0x270]
mov qword [rsp + 0x48], rax
xor r12b, r12b
mov rax, qword [rcx]
cmp rax, 0xffffffffffffffff
je 0x14004cf4a
nop dword [rax]
test r14, r14
je 0x14004cf4a
lea rcx, [rsp + 0x30]
call fcn.14002a010
mov rbx, qword [rsp + 0x30]
mov qword [rbp + 8], rsi
mov dword [rbp], 1
mov dword [rbp - 0x68], 0
mov dword [rbp - 0x64], 0x2710
nop dword [rax]
lea rax, [rbp - 0x68]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp]
lea ecx, [rsi + 1]
call qword [sym.imp.WS2_32.dll_select]
test eax, eax
jns 0x14004cf7e
call fcn.1400d4108
cmp dword [rax], 4
je 0x14004cf20
movzx eax, r12b
mov rcx, qword [rbp + 0x210]
xor rcx, rsp
call fcn.1400c4df0
lea r11, [rsp + 0x320]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
jne 0x14004cfd1
lea rcx, [rsp + 0x38]
call fcn.14002a010
mov rcx, qword [rsp + 0x38]
sub rcx, rbx
movabs rax, 0x431bde82d7b634db
imul rcx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rax, r15, 0x3e8
cmp rdx, rax
jg 0x14004cf4a
mov qword [rsp + 0x40], 1
lea rcx, [rsp + 0x40]
call fcn.140042720
jmp 0x14004cf04
cmp r14, 1
sete dil
mov byte [rbp - 0x70], 0
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x60], xmm0
movups xmmword [rbp - 0x50], xmm0
movups xmmword [rbp - 0x40], xmm0
movups xmmword [rbp - 0x30], xmm0
movups xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], rax
mov r12, qword [rsp + 0x48]
mov rax, qword [r12 + 0x20]
mov r10, qword [rax]
mov rax, qword [r12 + 0x18]
mov r9, qword [rax]
mov rax, qword [r12 + 0x10]
mov r8, qword [rax]
mov rax, qword [r12 + 8]
mov rdx, qword [rax]
mov rax, qword [r12]
mov rcx, qword [rax]
lea rax, vtable.httplib::detail::SocketStream.0
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], rcx
mov qword [rbp - 0x50], rdx
mov qword [rbp - 0x48], r8
mov qword [rbp - 0x40], r9
mov qword [rbp - 0x38], r10
movdqa xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x20], 0
mov edx, 0x1000
lea rcx, [rbp - 0x30]
call fcn.140009160
mov rbx, qword [rbp - 0x30]
xor edx, edx
mov r8d, 0x1000
mov rcx, rbx
call fcn.1400ff740
lea rax, [rbx + 0x1000]
mov qword [rbp - 0x28], rax
xor ebx, ebx
mov qword [rbp - 0x18], rbx
mov qword [rbp - 0x10], rbx
mov rax, qword [r12 + 0x28]
mov qword [rbp - 0x78], rbx
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x20], rcx
lea r9, [rbp - 0x70]
movzx r8d, dil
lea rdx, [rbp - 0x60]
mov rcx, qword [rax]
call fcn.140038810
movzx r12d, al
mov rcx, qword [rbp - 0x78]
test rcx, rcx
je 0x14004d0cf
mov rax, qword [rcx]
lea rdx, [rsp + 0x50]
cmp rcx, rdx
setne dl
call qword [rax + reloc.WLDAP32.dll_Ordinal_32]
nop
lea rax, vtable.httplib::detail::SocketStream.0
mov qword [rbp - 0x60], rax
mov rcx, qword [rbp - 0x30]
test rcx, rcx
je 0x14004d110
mov rdx, qword [rbp - 0x20]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004d10b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004d139
call fcn.1400c4e5c
test r12b, r12b
je 0x14004cf4a
cmp byte [rbp - 0x70], 0
jne 0x14004cf4a
dec r14
mov rax, qword [r13]
cmp rax, 0xffffffffffffffff
jne 0x14004cef0
jmp 0x14004cf4a
call fcn.1400d3b88
int3