Function at 0x1400a0030
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 [0x1401c1280]
xor rax, rsp
mov qword [rbp + 0x570], rax
mov r12d, r8d
mov rsi, rdx
mov r15, rcx
test rcx, rcx
je 0x1400a02af
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 0x1400a019f
mov qword [r11 - 0x28], r14
mov r10, rcx
mov r14, rsi
nop
mov edi, dword [r10 + 8]
test edi, 0x300
je 0x1400a00f1
mov ecx, ebx
test r9d, r9d
je 0x1400a00ce
mov rax, qword [r10]
mov r11, qword [rax]
nop dword [rax]
cmp qword [rsp + rcx*8 + 0x48], r11
je 0x1400a00ce
inc ecx
cmp ecx, r9d
jb 0x1400a00c0
cmp ecx, r9d
jne 0x1400a00f1
cmp r9d, 0x40
jae 0x1400a00f1
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 0x1400a013f
mov ecx, ebx
test r8d, r8d
je 0x1400a0115
mov rax, qword [r10]
mov r11, qword [rax]
cmp qword [rbp + rcx*8 + 0x158], r11
je 0x1400a0115
inc ecx
cmp ecx, r8d
jb 0x1400a0104
cmp ecx, r8d
jne 0x1400a013f
cmp r8d, 0x40
jae 0x1400a013f
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 0x1400a0162
mov rcx, qword [r10]
mov r11, qword [rcx]
nop dword [rax + rax]
mov ecx, eax
cmp qword [rbp + rcx*8 + 0x368], r11
je 0x1400a0162
inc eax
cmp eax, edx
jb 0x1400a0150
cmp eax, edx
jne 0x1400a0189
cmp edx, 0x40
jae 0x1400a0189
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 0x1400a00a0
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 0x1400a020f
call fcn.14002ed7c
mov rbx, rax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [rbx], eax
mov rax, 0xffffffffffffffff
jmp 0x1400a0282
test rsi, rsi
je 0x1400a027f
mov rcx, qword [rbx + r15]
lea rdx, [rsp + 0x40]
mov rcx, qword [rcx]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x1400a0234
mov dword [rbx + r15 + 0xc], 0x300
jmp 0x1400a0275
mov rcx, qword [rbx + r15]
lea rdx, [rbp + 0x150]
mov rcx, qword [rcx]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x1400a0256
mov dword [rbx + r15 + 0xc], reloc.WS2_32.dll_recv
jmp 0x1400a0275
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 0x1400a0214
mov rax, rdi
mov rbx, qword [rsp + 0x6b8]
mov rdi, qword [rsp + 0x6c8]
mov rcx, qword [rbp + 0x570]
xor rcx, rsp
call fcn.140023a50
add rsp, 0x688
pop r15
pop r12
pop rsi
pop rbp
ret
mov ecx, 2
call fcn.14002e9a4
mov rcx, rax
lea r8, str.C:Userslxrs_vcpkg_buildtreesmongo_c_driver_src1.26.1_690bc2849a.clean_srclibmongoc_srcmongocmongoc_socket.c
lea rax, [0x14012d024]
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.140052ea0
call fcn.14002eb84
int3