Function at 0x1400b889c
Capabilities:
Get socket status

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x658
mov r14, r8
mov edi, edx
mov rsi, rcx
mov rax, qword [0x1401ea088]
xor rax, rsp
mov qword [rsp + 0x650], rax
lea rbx, [rsp + 0x448]
mov r8d, 0x208
mov rcx, rbx
mov dl, 0xaa
call fcn.1401615d0
lea r15, [rsp + 0x240]
mov r8d, 0x208
mov rcx, r15
mov dl, 0xaa
call fcn.1401615d0
lea r12, [rsp + 0x38]
mov r8d, 0x208
mov rcx, r12
mov dl, 0xaa
call fcn.1401615d0
test rsi, rsi
je 0x1400b8932
test edi, edi
je 0x1400b8932
mov eax, edi
mov rcx, rax
shl rcx, 4
xor edx, edx
cmp qword [rsi + rdx], 0xffffffffffffffff
jne 0x1400b895d
add rdx, 0x10
cmp rcx, rdx
jne 0x1400b8922
mov rcx, qword [rsp + 0x650]
xor rcx, rsp
call fcn.14015c2e0
mov rcx, r14
add rsp, 0x658
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.1400b86f4
mov r11, r14
xor ecx, ecx
xor ebp, ebp
xor r13d, r13d
xor r14d, r14d
mov r8, rcx
shl r8, 4
mov word [rsi + r8 + 0xa], 0
mov rdx, qword [rsi + r8]
cmp rdx, 0xffffffffffffffff
je 0x1400b8a4b
movzx r8d, word [rsi + r8 + 8]
test r8d, 0x710
je 0x1400b8a4b
test r8d, 0x300
je 0x1400b89d6
mov r9d, ebp
xor r10d, r10d
test ebp, ebp
je 0x1400b89c2
cmp qword [rsp + r10*8 + 0x450], rdx
je 0x1400b89c2
inc r10
cmp r9, r10
jne 0x1400b89ad
mov r10d, r9d
cmp r10d, ebp
jne 0x1400b89d6
cmp ebp, 0x3f
ja 0x1400b89d6
mov qword [rsp + r9*8 + 0x450], rdx
inc ebp
test r8b, 0x10
je 0x1400b8a12
mov r9d, r13d
xor r10d, r10d
test r13d, r13d
je 0x1400b89fc
cmp qword [rsp + r10*8 + 0x248], rdx
je 0x1400b89fc
inc r10
cmp r9, r10
jne 0x1400b89e7
mov r10d, r9d
cmp r10d, r13d
jne 0x1400b8a12
cmp r13d, 0x3f
ja 0x1400b8a12
mov qword [rsp + r9*8 + 0x248], rdx
inc r13d
test r8d, 0x600
je 0x1400b8a4b
mov r8d, r14d
xor r9d, r9d
test r14d, r14d
je 0x1400b8a38
cmp qword [rsp + r9*8 + 0x40], rdx
je 0x1400b8a38
inc r9
cmp r8, r9
jne 0x1400b8a26
mov r9d, r8d
cmp r9d, r14d
jne 0x1400b8a4b
cmp r14d, 0x3f
ja 0x1400b8a4b
mov qword [rsp + r8*8 + 0x40], rdx
inc r14d
inc rcx
cmp rcx, rax
jne 0x1400b896a
mov dword [rsp + 0x448], ebp
mov dword [rsp + 0x240], r13d
mov dword [rsp + 0x38], r14d
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x30], rax
test ebp, ebp
jne 0x1400b8a92
test r13d, r13d
jne 0x1400b8a92
test r14d, r14d
jne 0x1400b8a92
mov rcx, r11
call fcn.1400b86f4
jmp 0x1400b8acb
lea rcx, [rsp + 0x30]
mov rdx, r11
call fcn.1400ee788
xor ecx, ecx
test r14d, r14d
cmove r12, rcx
test r13d, r13d
cmove r15, rcx
test ebp, ebp
cmove rbx, rcx
mov qword [rsp + 0x20], rax
xor ecx, ecx
mov rdx, rbx
mov r8, r15
mov r9, r12
call qword [sym.imp.WS2_32.dll_select]
mov ebx, eax
test eax, eax
jle 0x1400b8ba0
cmp edi, 2
mov r12d, 1
cmovae r12d, edi
shl r12, 4
xor r13d, r13d
lea rdi, [rsp + 0x448]
lea r14, [rsp + 0x240]
lea r15, [rsp + 0x38]
xor ebx, ebx
mov word [rsi + r13 + 0xa], 0
mov rcx, qword [rsi + r13]
cmp rcx, 0xffffffffffffffff
je 0x1400b8b91
mov rdx, rdi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x1400b8b3c
mov eax, dword [rsi + r13 + 8]
bt eax, 8
jae 0x1400b8b2f
or byte [rsi + r13 + 0xb], 1
test eax, 0x300
je 0x1400b8b3c
or byte [rsi + r13 + 0xb], 3
mov rcx, qword [rsi + r13]
mov rdx, r14
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x1400b8b5a
test byte [rsi + r13 + 8], 0x10
je 0x1400b8b5a
or byte [rsi + r13 + 0xa], 0x10
mov rcx, qword [rsi + r13]
mov rdx, r15
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x1400b8b87
mov eax, dword [rsi + r13 + 8]
bt eax, 9
jae 0x1400b8b7b
or byte [rsi + r13 + 0xb], 2
bt eax, 0xa
jae 0x1400b8b87
or byte [rsi + r13 + 0xb], 4
cmp word [rsi + r13 + 0xa], 1
sbb ebx, 0xffffffff
add r13, 0x10
cmp r12, r13
jne 0x1400b8b00
jmp 0x1400b8bb7
cmp ebx, 0xffffffff
jne 0x1400b8bb7
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
xor ebx, ebx
cmp eax, 0x2714
setne bl
neg ebx
mov rcx, qword [rsp + 0x650]
xor rcx, rsp
call fcn.14015c2e0
mov eax, ebx
add rsp, 0x658
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret