Function at 0x100b30b0
Capabilities:
Get socket status

Disassembly:
sub esp, 0x324
mov eax, dword [0x101c6040]
xor eax, esp
mov dword [esp + 0x320], eax
push edi
mov edi, dword [esp + 0x32c]
mov dword [esp + 4], edi
test edi, edi
je 0x100b3301
mov ecx, dword [esp + 0x330]
test ecx, ecx
je 0x100b3332
mov dword [esp + 0x18], 0
mov dword [esp + 0x11c], 0
test ecx, 0x300
je 0x100b3110
mov eax, dword [edi]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], 1
test cl, 0x10
je 0x100b3129
mov eax, dword [edi]
mov dword [esp + 0x120], eax
mov dword [esp + 0x11c], 1
mov eax, dword [edi]
push ebx
push ebp
push esi
mov dword [esp + 0x230], eax
mov dword [esp + 0x22c], 1
call fcn.1007c3d0
mov ebp, dword [esp + 0x344]
mov esi, eax
mov ebx, dword [esp + 0x340]
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], edx
mov edi, dword [sym.imp.WS2_32.dll_select]
test ebp, ebp
jg 0x100b3174
jl 0x100b316d
test ebx, ebx
jae 0x100b3174
or esi, 0xffffffff
push 0
jmp 0x100b31cb
mov eax, ebx
or eax, ebp
jne 0x100b317e
xor esi, esi
jmp 0x100b319d
mov ecx, ebx
mov eax, ebp
sub ecx, esi
push 0
push 0x3e8
sbb eax, edx
push eax
push ecx
call fcn.100479e0
mov esi, eax
xor eax, eax
test esi, esi
cmovs esi, eax
mov eax, 0x10624dd3
mov ecx, esi
imul esi
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x1c], eax
imul eax, eax, 0x3e8
sub ecx, eax
imul eax, ecx, 0x3e8
mov dword [esp + 0x20], eax
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x230]
push eax
lea eax, [esp + 0x130]
push eax
lea eax, [esp + 0x30]
push eax
push 0
call edi
mov edi, eax
cmp edi, 0xffffffff
jne 0x100b3203
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edi, dword [esp + 0x10]
mov esi, eax
mov dword [edi + 4], esi
call fcn.10057cd5
mov dword [eax], esi
jmp 0x100b3235
lea eax, [esp + 0x22c]
push eax
mov eax, dword [esp + 0x14]
push dword [eax]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x100b3227
call fcn.10057cd5
mov dword [eax], 0x2746
jmp 0x100b3231
test edi, edi
jg 0x100b32bf
jns 0x100b32a5
mov edi, dword [esp + 0x10]
call fcn.10057cd5
cmp dword [eax], 0xb
je 0x100b3259
call fcn.10057cd5
cmp dword [eax], 0x2733
je 0x100b3259
call fcn.10057cd5
cmp dword [eax], 0x2734
jne 0x100b328f
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
test ebp, ebp
jl 0x100b315d
jg 0x100b3273
test ebx, ebx
jb 0x100b315d
call fcn.1007c3d0
cmp ebp, edx
jl 0x100b328f
jg 0x100b3282
cmp ebx, eax
jb 0x100b328f
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
jmp 0x100b315d
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
mov dword [edi + 4], esi
call fcn.10057cd5
mov dword [eax], esi
xor al, al
jmp 0x100b32e8
mov ecx, 0x274c
test esi, esi
mov eax, 0xb
cmovne eax, ecx
mov ecx, dword [esp + 0x10]
mov dword [ecx + 4], eax
xor al, al
jmp 0x100b32e8
mov ebx, dword [esp + 0x10]
lea eax, [esp + 0x24]
push eax
push dword [ebx]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
jne 0x100b32e6
lea eax, [esp + 0x128]
push eax
push dword [ebx]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x100b32bb
mov al, 1
mov ecx, dword [esp + 0x330]
pop esi
pop ebp
pop ebx
pop edi
xor ecx, esp
call fcn.10046e60
add esp, 0x324
ret
push str.sock
push str._mongoc_socket_wait
push 0xa3
push str.C:Usersprocr_vcpkg_buildtreesmongo_c_driver_src1.26.1_690bc2849a.clean_srclibmongoc_srcmongocmongoc_socket.c
push str._s:_d__s__:_precondition_failed:__s_n
push 2
call fcn.1004c994
add esp, 4
push eax
call fcn.10070de0
add esp, 0x18
call fcn.10056f35
push str.events
push str._mongoc_socket_wait
push 0xa4
push str.C:Usersprocr_vcpkg_buildtreesmongo_c_driver_src1.26.1_690bc2849a.clean_srclibmongoc_srcmongocmongoc_socket.c
push str._s:_d__s__:_precondition_failed:__s_n
push 2
call fcn.1004c994
add esp, 4
push eax
call fcn.10070de0
add esp, 0x18
call fcn.10056f35
int3