Function at 0x100e40b0
Capabilities:
Get socket status

Disassembly:
sub esp, 0x324
mov eax, dword [0x101f3600]
xor eax, esp
mov dword [esp + 0x320], eax
push edi
mov edi, dword [esp + 0x32c]
mov dword [esp + 4], edi
test edi, edi
je 0x100e4301
mov ecx, dword [esp + 0x330]
test ecx, ecx
je 0x100e4332
mov dword [esp + 0x18], 0
mov dword [esp + 0x11c], 0
test ecx, 0x300
je 0x100e4110
mov eax, dword [edi]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], 1
test cl, 0x10
je 0x100e4129
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.100ad4a0
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 0x100e4174
jl 0x100e416d
test ebx, ebx
jae 0x100e4174
or esi, 0xffffffff
push 0
jmp 0x100e41cb
mov eax, ebx
or eax, ebp
jne 0x100e417e
xor esi, esi
jmp 0x100e419d
mov ecx, ebx
mov eax, ebp
sub ecx, esi
push 0
push 0x3e8
sbb eax, edx
push eax
push ecx
call fcn.100751a0
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 0x100e4203
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edi, dword [esp + 0x10]
mov esi, eax
mov dword [edi + 4], esi
call fcn.10080fc3
mov dword [eax], esi
jmp 0x100e4235
lea eax, [esp + 0x22c]
push eax
mov eax, dword [esp + 0x14]
push dword [eax]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x100e4227
call fcn.10080fc3
mov dword [eax], 0x2746
jmp 0x100e4231
test edi, edi
jg 0x100e42bf
jns 0x100e42a5
mov edi, dword [esp + 0x10]
call fcn.10080fc3
cmp dword [eax], 0xb
je 0x100e4259
call fcn.10080fc3
cmp dword [eax], 0x2733
je 0x100e4259
call fcn.10080fc3
cmp dword [eax], 0x2734
jne 0x100e428f
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
test ebp, ebp
jl 0x100e415d
jg 0x100e4273
test ebx, ebx
jb 0x100e415d
call fcn.100ad4a0
cmp ebp, edx
jl 0x100e428f
jg 0x100e4282
cmp ebx, eax
jb 0x100e428f
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
jmp 0x100e415d
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
mov dword [edi + 4], esi
call fcn.10080fc3
mov dword [eax], esi
xor al, al
jmp 0x100e42e8
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 0x100e42e8
mov ebx, dword [esp + 0x10]
lea eax, [esp + 0x24]
push eax
push dword [ebx]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
jne 0x100e42e6
lea eax, [esp + 0x128]
push eax
push dword [ebx]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x100e42bb
mov al, 1
mov ecx, dword [esp + 0x330]
pop esi
pop ebp
pop ebx
pop edi
xor ecx, esp
call fcn.100747a0
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.1007a58f
add esp, 4
push eax
call fcn.100a1e70
add esp, 0x18
call fcn.1008069d
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.1007a58f
add esp, 4
push eax
call fcn.100a1e70
add esp, 0x18
call fcn.1008069d
int3