Function at 0x140020224
Capabilities:
Get socket status

Disassembly:
mov rax, rsp
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x608]
sub rsp, 0x6c8
movaps xmmword [rax - 0x58], xmm6
mov rax, qword [0x1400d4130]
xor rax, rsp
mov qword [rbp + 0x5a0], rax
xor r11d, r11d
mov eax, 0x7fffffff
cmp r9, rax
mov qword [rsp + 0x30], r11
mov rbx, r9
mov dword [rsp + 0x38], r11d
cmovge rbx, rax
mov rsi, r8
or r15, 0xffffffffffffffff
mov rdi, rdx
mov r14, rcx
mov r13d, r11d
cmp rcx, r15
jne 0x14002029d
cmp rdx, r15
jne 0x14002029d
cmp r8, r15
jne 0x14002029d
mov ecx, ebx
call fcn.1400205b4
jmp 0x140020586
test rbx, rbx
jle 0x1400202b7
lea rcx, [rsp + 0x40]
mov r13d, ebx
call fcn.140016c34
xor r11d, r11d
movups xmm6, xmmword [rax]
jmp 0x1400202bc
movaps xmm6, xmmword [rsp + 0x30]
mov dword [rsp + 0x70], r11d
mov ecx, r11d
mov dword [rbp + 0x390], ecx
mov rdx, r15
mov r9d, r11d
mov r12d, 1
cmp r14, r15
je 0x1400202fb
mov ecx, r12d
mov qword [rsp + 0x78], r14
mov dword [rbp + 0x390], ecx
mov r9d, r12d
mov dword [rsp + 0x70], r12d
mov rdx, r14
mov qword [rbp + 0x398], r14
cmp rdi, r15
je 0x140020385
mov r8d, r11d
test r9d, r9d
je 0x14002031e
mov eax, r8d
cmp qword [rsp + rax*8 + 0x78], rdi
je 0x14002031e
add r8d, r12d
cmp r8d, r9d
jb 0x14002030c
cmp r8d, r9d
jne 0x14002033e
cmp r9d, 0x40
jae 0x14002033e
mov eax, r8d
mov qword [rsp + rax*8 + 0x78], rdi
mov r9d, dword [rsp + 0x70]
add r9d, r12d
mov dword [rsp + 0x70], r9d
mov r8d, r11d
test ecx, ecx
je 0x14002035a
mov eax, r8d
cmp qword [rbp + rax*8 + 0x398], rdi
je 0x14002035a
add r8d, r12d
cmp r8d, ecx
jb 0x140020345
cmp r8d, ecx
jne 0x14002037e
cmp ecx, 0x40
jae 0x14002037e
mov eax, r8d
mov qword [rbp + rax*8 + 0x398], rdi
mov ecx, dword [rbp + 0x390]
add ecx, r12d
mov dword [rbp + 0x390], ecx
cmp rdi, rdx
cmova rdx, rdi
mov dword [rbp + 0x180], r11d
mov r10d, r11d
cmp rsi, r15
je 0x1400203e4
mov qword [rbp + 0x188], rsi
mov r10d, r12d
mov dword [rbp + 0x180], r12d
mov r8d, r11d
test ecx, ecx
je 0x1400203c1
mov eax, r8d
cmp qword [rbp + rax*8 + 0x398], rsi
je 0x1400203c1
add r8d, r12d
cmp r8d, ecx
jb 0x1400203ac
cmp r8d, ecx
jne 0x1400203dd
cmp ecx, 0x40
jae 0x1400203dd
mov eax, r8d
mov qword [rbp + rax*8 + 0x398], rsi
add dword [rbp + 0x390], r12d
cmp rsi, rdx
cmova rdx, rsi
test rbx, rbx
lea r15, [rsp + 0x30]
lea r12d, [rdx + 1]
cmovs r15, r11
test rbx, rbx
jle 0x140020426
mov eax, 0x10624dd3
mov ecx, r13d
imul r13d
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x3e8
mov dword [rsp + 0x30], edx
sub ecx, eax
imul eax, ecx, 0x3e8
mov dword [rsp + 0x34], eax
jmp 0x14002042e
jne 0x14002042e
and qword [rsp + 0x30], 0
neg r10d
mov qword [rsp + 0x20], r15
lea rax, [rbp + 0x180]
mov ecx, r12d
sbb r8, r8
and r8, rax
lea rax, [rsp + 0x70]
neg r9d
lea r9, [rbp + 0x390]
sbb rdx, rdx
and rdx, rax
call qword [sym.imp.WS2_32.dll_select]
cmp eax, 0xffffffff
jne 0x1400204d4
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
xor r11d, r11d
test eax, eax
je 0x140020483
cmp dword [0x1400d5e10], r11d
jne 0x1400204db
cmp eax, 0x2714
jne 0x1400204db
test rbx, rbx
jle 0x1400204be
lea rcx, [rsp + 0x60]
movdqa xmmword [rsp + 0x50], xmm6
call fcn.140016c34
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x40]
movups xmm0, xmmword [rax]
movdqu xmmword [rsp + 0x40], xmm0
call fcn.140016c04
mov r13d, ebx
xor r11d, r11d
sub r13d, eax
test r13d, r13d
jle 0x1400204cf
mov r9d, dword [rsp + 0x70]
mov r10d, dword [rbp + 0x180]
jmp 0x1400203f4
mov eax, r11d
jmp 0x1400204d7
xor r11d, r11d
test eax, eax
jns 0x1400204e3
or eax, 0xffffffff
jmp 0x140020586
jne 0x1400204ec
xor eax, eax
jmp 0x140020586
mov ebx, r11d
cmp r14, 0xffffffffffffffff
je 0x140020522
lea rdx, [rsp + 0x70]
mov rcx, r14
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
lea rdx, [rbp + 0x390]
mov eax, 1
mov rcx, r14
cmovne ebx, eax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x140020522
or ebx, 4
cmp rdi, 0xffffffffffffffff
je 0x140020552
lea rdx, [rsp + 0x70]
mov rcx, rdi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x14002053c
or ebx, 8
lea rdx, [rbp + 0x390]
mov rcx, rdi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x140020552
or ebx, 4
cmp rsi, 0xffffffffffffffff
je 0x140020584
lea rdx, [rbp + 0x180]
mov rcx, rsi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x14002056e
or ebx, 2
lea rdx, [rbp + 0x390]
mov rcx, rsi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x140020584
or ebx, 4
mov eax, ebx
mov rcx, qword [rbp + 0x5a0]
xor rcx, rsp
call fcn.14004d240
movaps xmm6, xmmword [rsp + 0x6b0]
add rsp, 0x6c8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret