Function at 0x18008c510
Capabilities:
Get socket status

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], rbp
push rsi
push rdi
push r12
push r13
push r15
sub rsp, 0x670
xor edi, edi
mov esi, r9d
mov r12, r8
mov rbp, rdx
mov r15, rcx
mov dword [rax + 8], edi
mov dword [rax + 0xc], edi
mov r13d, edi
cmp rcx, 0xffffffffffffffff
jne 0x18008c55a
cmp rdx, rcx
jne 0x18008c55a
cmp r8, rcx
jne 0x18008c55a
mov ecx, r9d
call fcn.18008c4e0
jmp 0x18008c853
mov qword [rsp + 0x6a8], rbx
mov qword [rsp + 0x6b0], r14
test r9d, r9d
jle 0x18008c57c
mov r13d, r9d
call fcn.180096d30
mov rbx, rax
jmp 0x18008c584
mov rbx, qword [rsp + 0x6a0]
or r8, 0xffffffffffffffff
mov ecx, edi
mov r9d, edi
lea eax, [r8 + 2]
mov dword [rsp + 0x40], ecx
mov dword [rsp + 0x250], edi
cmp r15, r8
je 0x18008c5c1
mov qword [rsp + 0x258], r15
mov r9d, eax
mov dword [rsp + 0x250], eax
mov qword [rsp + 0x48], r15
mov ecx, eax
mov dword [rsp + 0x40], eax
mov r8, r15
cmp rbp, 0xffffffffffffffff
je 0x18008c654
mov eax, edi
test r9d, r9d
je 0x18008c5f0
lea rdx, [rsp + 0x258]
nop word [rax + rax]
cmp qword [rdx], rbp
je 0x18008c5f0
inc eax
add rdx, 8
cmp eax, r9d
jb 0x18008c5e0
cmp eax, r9d
jne 0x18008c616
cmp r9d, 0x40
jae 0x18008c616
mov qword [rsp + rax*8 + 0x258], rbp
mov r9d, dword [rsp + 0x250]
inc r9d
mov dword [rsp + 0x250], r9d
mov eax, edi
test ecx, ecx
je 0x18008c630
lea rdx, [rsp + 0x48]
cmp qword [rdx], rbp
je 0x18008c630
inc eax
add rdx, 8
cmp eax, ecx
jb 0x18008c621
cmp eax, ecx
jne 0x18008c648
cmp ecx, 0x40
jae 0x18008c648
mov qword [rsp + rax*8 + 0x48], rbp
mov ecx, dword [rsp + 0x40]
inc ecx
mov dword [rsp + 0x40], ecx
cmp rbp, r8
mov eax, 1
cmova r8, rbp
mov dword [rsp + 0x460], edi
cmp r12, 0xffffffffffffffff
je 0x18008c6a8
mov dword [rsp + 0x460], eax
mov qword [rsp + 0x468], r12
mov eax, edi
test ecx, ecx
je 0x18008c68f
lea rdx, [rsp + 0x48]
nop dword [rax + rax]
cmp qword [rdx], r12
je 0x18008c68f
inc eax
add rdx, 8
cmp eax, ecx
jb 0x18008c680
cmp eax, ecx
jne 0x18008c6a1
cmp ecx, 0x40
jae 0x18008c6a1
mov qword [rsp + rax*8 + 0x48], r12
inc dword [rsp + 0x40]
cmp r12, r8
cmova r8, r12
lea r14, [rsp + 0x30]
lea ecx, [r8 + 1]
test esi, esi
cmovs r14, rdi
mov dword [rsp + 0x6a0], ecx
nop
test esi, esi
jle 0x18008c6f1
mov eax, 0x10624dd3
imul r13d
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, r13d
mov dword [rsp + 0x30], edx
imul edx, edx, 0x3e8
sub eax, edx
imul eax, eax, 0x3e8
mov dword [rsp + 0x34], eax
jmp 0x18008c6fd
test esi, esi
jne 0x18008c6fd
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x34], edi
cmp dword [rsp + 0x460], edi
lea r8, [rsp + 0x460]
lea rdx, [rsp + 0x250]
cmove r8, rdi
test r9d, r9d
lea r9, [rsp + 0x40]
cmove rdx, rdi
mov qword [rsp + 0x20], r14
call qword [sym.imp.WS2_32.dll_select]
cmp eax, 0xffffffff
jne 0x18008c794
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
test eax, eax
je 0x18008c74d
cmp dword [0x18010a854], edi
jne 0x18008c798
cmp eax, 0x2714
jne 0x18008c798
test esi, esi
jg 0x18008c765
mov r9d, dword [rsp + 0x250]
mov ecx, dword [rsp + 0x6a0]
jmp 0x18008c6c0
call fcn.180096d30
mov rdx, rbx
mov rcx, rax
call fcn.180096d70
mov r13d, esi
sub r13d, eax
test r13d, r13d
jle 0x18008c7a4
mov r9d, dword [rsp + 0x250]
mov ecx, dword [rsp + 0x6a0]
jmp 0x18008c6c0
test eax, eax
jns 0x18008c7a0
or eax, 0xffffffff
jmp 0x18008c843
test eax, eax
jne 0x18008c7ab
xor eax, eax
jmp 0x18008c843
cmp r15, 0xffffffffffffffff
je 0x18008c7df
lea rdx, [rsp + 0x250]
mov rcx, r15
call sub.WS2_32.dll___WSAFDIsSet
lea rdx, [rsp + 0x40]
mov rcx, r15
test eax, eax
mov eax, 1
cmovne edi, eax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x18008c7df
or edi, 4
cmp rbp, 0xffffffffffffffff
je 0x18008c810
lea rdx, [rsp + 0x250]
mov rcx, rbp
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x18008c7fc
or edi, 8
lea rdx, [rsp + 0x40]
mov rcx, rbp
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x18008c810
or edi, 4
cmp r12, 0xffffffffffffffff
je 0x18008c841
lea rdx, [rsp + 0x460]
mov rcx, r12
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x18008c82d
or edi, 2
lea rdx, [rsp + 0x40]
mov rcx, r12
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x18008c841
or edi, 4
mov eax, edi
mov rbx, qword [rsp + 0x6a8]
mov r14, qword [rsp + 0x6b0]
mov rbp, qword [rsp + 0x6b8]
add rsp, 0x670
pop r15
pop r13
pop r12
pop rdi
pop rsi
ret