Function at 0x18004c9c8
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 [0x1800f4320]
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 0x18004ca41
cmp rdx, r15
jne 0x18004ca41
cmp r8, r15
jne 0x18004ca41
mov ecx, ebx
call fcn.18004cd58
jmp 0x18004cd2a
test rbx, rbx
jle 0x18004ca5b
lea rcx, [rsp + 0x40]
mov r13d, ebx
call fcn.180050f70
xor r11d, r11d
movups xmm6, xmmword [rax]
jmp 0x18004ca60
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 0x18004ca9f
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 0x18004cb29
mov r8d, r11d
test r9d, r9d
je 0x18004cac2
mov eax, r8d
cmp qword [rsp + rax*8 + 0x78], rdi
je 0x18004cac2
add r8d, r12d
cmp r8d, r9d
jb 0x18004cab0
cmp r8d, r9d
jne 0x18004cae2
cmp r9d, 0x40
jae 0x18004cae2
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 0x18004cafe
mov eax, r8d
cmp qword [rbp + rax*8 + 0x398], rdi
je 0x18004cafe
add r8d, r12d
cmp r8d, ecx
jb 0x18004cae9
cmp r8d, ecx
jne 0x18004cb22
cmp ecx, 0x40
jae 0x18004cb22
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 0x18004cb88
mov qword [rbp + 0x188], rsi
mov r10d, r12d
mov dword [rbp + 0x180], r12d
mov r8d, r11d
test ecx, ecx
je 0x18004cb65
mov eax, r8d
cmp qword [rbp + rax*8 + 0x398], rsi
je 0x18004cb65
add r8d, r12d
cmp r8d, ecx
jb 0x18004cb50
cmp r8d, ecx
jne 0x18004cb81
cmp ecx, 0x40
jae 0x18004cb81
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 0x18004cbca
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 0x18004cbd2
jne 0x18004cbd2
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 0x18004cc78
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
xor r11d, r11d
test eax, eax
je 0x18004cc27
cmp dword [0x1800f841c], r11d
jne 0x18004cc7f
cmp eax, 0x2714
jne 0x18004cc7f
test rbx, rbx
jle 0x18004cc62
lea rcx, [rsp + 0x60]
movdqa xmmword [rsp + 0x50], xmm6
call fcn.180050f70
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x40]
movups xmm0, xmmword [rax]
movdqu xmmword [rsp + 0x40], xmm0
call fcn.180050fe8
mov r13d, ebx
xor r11d, r11d
sub r13d, eax
test r13d, r13d
jle 0x18004cc73
mov r9d, dword [rsp + 0x70]
mov r10d, dword [rbp + 0x180]
jmp 0x18004cb98
mov eax, r11d
jmp 0x18004cc7b
xor r11d, r11d
test eax, eax
jns 0x18004cc87
or eax, 0xffffffff
jmp 0x18004cd2a
jne 0x18004cc90
xor eax, eax
jmp 0x18004cd2a
mov ebx, r11d
cmp r14, 0xffffffffffffffff
je 0x18004ccc6
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 0x18004ccc6
or ebx, 4
cmp rdi, 0xffffffffffffffff
je 0x18004ccf6
lea rdx, [rsp + 0x70]
mov rcx, rdi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x18004cce0
or ebx, 8
lea rdx, [rbp + 0x390]
mov rcx, rdi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x18004ccf6
or ebx, 4
cmp rsi, 0xffffffffffffffff
je 0x18004cd28
lea rdx, [rbp + 0x180]
mov rcx, rsi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x18004cd12
or ebx, 2
lea rdx, [rbp + 0x390]
mov rcx, rsi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x18004cd28
or ebx, 4
mov eax, ebx
mov rcx, qword [rbp + 0x5a0]
xor rcx, rsp
call fcn.180081d90
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