Function at 0x140109ee0
Capabilities:
Get socket status

Disassembly:
mov r11, rsp
push rbp
push rsi
push r12
push r15
lea rbp, [r11 - 0x5a8]
sub rsp, 0x688
mov rax, qword [0x14023c9c0]
xor rax, rsp
mov qword [rbp + 0x570], rax
mov r12d, r8d
mov rsi, rdx
mov r15, rcx
test rcx, rcx
je 0x14010a15f
mov qword [r11 + 0x10], rbx
xor ebx, ebx
mov qword [r11 + 0x20], rdi
mov r9d, ebx
mov dword [rsp + 0x40], ebx
mov r8d, ebx
mov dword [rbp + 0x150], ebx
mov edx, ebx
mov dword [rbp + 0x360], ebx
test rsi, rsi
je 0x14010a04f
mov qword [r11 - 0x28], r14
mov r10, rcx
mov r14, rsi
nop
mov edi, dword [r10 + 8]
test edi, 0x300
je 0x140109fa1
mov ecx, ebx
test r9d, r9d
je 0x140109f7e
mov rax, qword [r10]
mov r11, qword [rax]
nop dword [rax]
cmp qword [rsp + rcx*8 + 0x48], r11
je 0x140109f7e
inc ecx
cmp ecx, r9d
jb 0x140109f70
cmp ecx, r9d
jne 0x140109fa1
cmp r9d, 0x40
jae 0x140109fa1
mov rax, qword [r10]
mov rax, qword [rax]
mov qword [rsp + rcx*8 + 0x48], rax
mov r9d, dword [rsp + 0x40]
inc r9d
mov dword [rsp + 0x40], r9d
test dil, 0x10
je 0x140109fef
mov ecx, ebx
test r8d, r8d
je 0x140109fc5
mov rax, qword [r10]
mov r11, qword [rax]
cmp qword [rbp + rcx*8 + 0x158], r11
je 0x140109fc5
inc ecx
cmp ecx, r8d
jb 0x140109fb4
cmp ecx, r8d
jne 0x140109fef
cmp r8d, 0x40
jae 0x140109fef
mov rax, qword [r10]
mov rax, qword [rax]
mov qword [rbp + rcx*8 + 0x158], rax
mov r8d, dword [rbp + 0x150]
inc r8d
mov dword [rbp + 0x150], r8d
mov eax, ebx
test edx, edx
je 0x14010a012
mov rcx, qword [r10]
mov r11, qword [rcx]
nop dword [rax + rax]
mov ecx, eax
cmp qword [rbp + rcx*8 + 0x368], r11
je 0x14010a012
inc eax
cmp eax, edx
jb 0x14010a000
cmp eax, edx
jne 0x14010a039
cmp edx, 0x40
jae 0x14010a039
mov rcx, qword [r10]
mov edx, eax
mov rax, qword [rcx]
mov qword [rbp + rdx*8 + 0x368], rax
mov edx, dword [rbp + 0x360]
inc edx
mov dword [rbp + 0x360], edx
add r10, 0x10
sub r14, 1
jne 0x140109f50
mov r14, qword [rsp + 0x680]
mov eax, 0x10624dd3
lea r9, [rbp + 0x360]
imul r12d
lea r8, [rbp + 0x150]
xor ecx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x3e8
mov dword [rsp + 0x30], edx
lea rdx, [rsp + 0x40]
sub r12d, eax
imul eax, r12d, 0x3e8
mov dword [rsp + 0x34], eax
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
call qword [sym.imp.WS2_32.dll_select]
movsxd rdi, eax
cmp edi, 0xffffffff
jne 0x14010a0bf
call fcn.14009602c
mov rbx, rax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [rbx], eax
mov rax, 0xffffffffffffffff
jmp 0x14010a132
test rsi, rsi
je 0x14010a12f
mov rcx, qword [rbx + r15]
lea rdx, [rsp + 0x40]
mov rcx, qword [rcx]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x14010a0e4
mov dword [rbx + r15 + 0xc], 0x300
jmp 0x14010a125
mov rcx, qword [rbx + r15]
lea rdx, [rbp + 0x150]
mov rcx, qword [rcx]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x14010a106
mov dword [rbx + r15 + 0xc], reloc.WS2_32.dll_recv
jmp 0x14010a125
mov rcx, qword [rbx + r15]
lea rdx, [rbp + 0x360]
mov rcx, qword [rcx]
call sub.WS2_32.dll___WSAFDIsSet
neg eax
sbb ecx, ecx
and ecx, 2
mov dword [rbx + r15 + 0xc], ecx
add rbx, 0x10
sub rsi, 1
jne 0x14010a0c4
mov rax, rdi
mov rbx, qword [rsp + 0x6b8]
mov rdi, qword [rsp + 0x6c8]
mov rcx, qword [rbp + 0x570]
xor rcx, rsp
call fcn.1400886b0
add rsp, 0x688
pop r15
pop r12
pop rsi
pop rbp
ret
mov ecx, 2
call fcn.14008ffd0
mov rcx, rax
lea r8, str.C:Userslxrs_vcpkg_buildtreesmongo_c_driver_src1.26.1_690bc2849a.clean_srclibmongoc_srcmongocmongoc_socket.c
lea rax, [0x1401a4844]
mov r9d, 0x12a
mov qword [rsp + 0x28], rax
lea rdx, str._s:_d__s__:_precondition_failed:__s_n
lea rax, str.mongoc_socket_poll
mov qword [rsp + 0x20], rax
call fcn.140009568
call fcn.140095e6c
int3