Function at 0x18008c870
Capabilities:
Get socket status

Disassembly:
mov rax, rsp
mov dword [rax + 0x18], r8d
push rbp
push rsi
push rdi
push r13
push r15
sub rsp, 0x670
xor esi, esi
mov edi, edx
mov r15, rcx
mov dword [rax + 8], esi
mov dword [rax + 0xc], esi
mov r13d, esi
test rcx, rcx
je 0x18008c8b6
mov r9d, esi
test edx, edx
je 0x18008c8b6
mov rax, rcx
cmp qword [rax], 0xffffffffffffffff
jne 0x18008c8cd
inc r9d
add rax, 0x10
cmp r9d, edi
jb 0x18008c8a4
mov ecx, r8d
call fcn.18008c4e0
add rsp, 0x670
pop r15
pop r13
pop rdi
pop rsi
pop rbp
ret
mov qword [rsp + 0x6a8], rbx
mov qword [rsp + 0x668], r12
mov qword [rsp + 0x660], r14
test r8d, r8d
jle 0x18008c8f7
mov r13d, r8d
call fcn.180096d30
mov rbx, rax
jmp 0x18008c8ff
mov rbx, qword [rsp + 0x6a0]
xor ebp, ebp
mov rsi, r15
mov r14, rdi
mov r10d, ebp
mov dword [rsp + 0x240], ebp
mov r11d, ebp
mov dword [rsp + 0x30], ebp
mov r8d, ebp
mov dword [rsp + 0x450], ebp
or r12, 0xffffffffffffffff
nop word [rax + rax]
mov rdx, qword [rsi]
mov word [rsi + 0xa], bp
cmp rdx, 0xffffffffffffffff
je 0x18008ca3a
movzx r9d, word [rsi + 8]
test r9b, 7
je 0x18008ca3a
cmp rdx, r12
cmova r12, rdx
test r9b, 1
je 0x18008c9aa
mov ecx, ebp
mov rax, rbp
test r10d, r10d
je 0x18008c984
nop word [rax + rax]
cmp qword [rsp + rax*8 + 0x248], rdx
je 0x18008c984
inc ecx
inc rax
cmp ecx, r10d
jb 0x18008c970
cmp ecx, r10d
jne 0x18008c9aa
cmp r10d, 0x40
jae 0x18008c9aa
mov qword [rsp + rax*8 + 0x248], rdx
mov r10d, dword [rsp + 0x240]
inc r10d
mov dword [rsp + 0x240], r10d
test r9b, 4
je 0x18008c9ee
mov ecx, ebp
mov rax, rbp
test r11d, r11d
je 0x18008c9d1
nop word [rax + rax]
cmp qword [rsp + rax*8 + 0x38], rdx
je 0x18008c9d1
inc ecx
inc rax
cmp ecx, r11d
jb 0x18008c9c0
cmp ecx, r11d
jne 0x18008c9ee
cmp r11d, 0x40
jae 0x18008c9ee
mov qword [rsp + rax*8 + 0x38], rdx
mov r11d, dword [rsp + 0x30]
inc r11d
mov dword [rsp + 0x30], r11d
test r9b, 2
je 0x18008ca3a
mov ecx, ebp
mov rax, rbp
test r8d, r8d
je 0x18008ca14
nop
cmp qword [rsp + rax*8 + 0x458], rdx
je 0x18008ca14
inc ecx
inc rax
cmp ecx, r8d
jb 0x18008ca00
cmp ecx, r8d
jne 0x18008ca3a
cmp r8d, 0x40
jae 0x18008ca3a
mov qword [rsp + rax*8 + 0x458], rdx
mov r8d, dword [rsp + 0x450]
inc r8d
mov dword [rsp + 0x450], r8d
add rsi, 0x10
sub rdi, 1
jne 0x18008c930
mov ebp, dword [rsp + 0x6b0]
test r10d, r10d
jne 0x18008ca8c
test r11d, r11d
jne 0x18008ca8c
test r8d, r8d
jne 0x18008ca8c
mov ecx, ebp
call fcn.18008c4e0
mov r12, qword [rsp + 0x668]
mov rbx, qword [rsp + 0x6a8]
mov r14, qword [rsp + 0x660]
add rsp, 0x670
pop r15
pop r13
pop rdi
pop rsi
pop rbp
ret
lea rdi, [rsp + 0x6a0]
test ebp, ebp
mov ecx, 0
cmovs rdi, rcx
nop
test ebp, ebp
jle 0x18008cad7
mov eax, 0x10624dd3
imul r13d
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, r13d
mov dword [rsp + 0x6a0], edx
imul edx, edx, 0x3e8
sub eax, edx
imul eax, eax, 0x3e8
mov dword [rsp + 0x6a4], eax
jmp 0x18008cae9
test ebp, ebp
jne 0x18008cae9
mov dword [rsp + 0x6a0], ecx
mov dword [rsp + 0x6a4], ecx
test r8d, r8d
lea r9, [rsp + 0x450]
lea r8, [rsp + 0x30]
cmove r9, rcx
test r11d, r11d
lea rdx, [rsp + 0x240]
cmove r8, rcx
test r10d, r10d
mov qword [rsp + 0x20], rdi
cmove rdx, rcx
lea ecx, [r12 + 1]
call qword [sym.imp.WS2_32.dll_select]
cmp eax, 0xffffffff
jne 0x18008cb99
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
test eax, eax
je 0x18008cb42
cmp dword [0x18010a854], 0
jne 0x18008cb9d
cmp eax, 0x2714
jne 0x18008cb9d
test ebp, ebp
jg 0x18008cb62
mov r10d, dword [rsp + 0x240]
mov r11d, dword [rsp + 0x30]
mov r8d, dword [rsp + 0x450]
xor ecx, ecx
jmp 0x18008caa0
call fcn.180096d30
mov rdx, rbx
mov rcx, rax
call fcn.180096d70
mov r13d, ebp
sub r13d, eax
test r13d, r13d
jle 0x18008cba9
mov r10d, dword [rsp + 0x240]
mov r11d, dword [rsp + 0x30]
mov r8d, dword [rsp + 0x450]
xor ecx, ecx
jmp 0x18008caa0
test eax, eax
jns 0x18008cba5
or eax, 0xffffffff
jmp 0x18008ca65
test eax, eax
jne 0x18008cbb0
xor eax, eax
jmp 0x18008ca65
xor esi, esi
lea rbx, [r15 + 0xa]
mov edi, esi
nop dword [rax + rax]
mov rcx, qword [rbx - 0xa]
mov word [rbx], si
cmp rcx, 0xffffffffffffffff
je 0x18008cc18
lea rdx, [rsp + 0x240]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x18008cbe2
or word [rbx], 1
mov rcx, qword [rbx - 0xa]
lea rdx, [rsp + 0x30]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x18008cbf8
or word [rbx], 4
mov rcx, qword [rbx - 0xa]
lea rdx, [rsp + 0x450]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x18008cc11
or word [rbx], 2
cmp word [rbx], si
je 0x18008cc18
inc edi
add rbx, 0x10
sub r14, 1
jne 0x18008cbc0
mov eax, edi
jmp 0x18008ca65