Function at 0x18000ef97
Capabilities:
Get socket status

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x658
and dword [rsp + 0x450], 0
and dword [rsp + 0x248], 0
mov r12, rcx
and dword [rsp + 0x40], 0
movabs rax, 0x186a000000000
mov qword [rsp + 0x38], rax
mov r10, qword [rcx + 8]
xor r11d, r11d
xor r9d, r9d
xor r14d, r14d
xor r8d, r8d
xor edi, edi
cmp rdi, r10
je 0x18000f0d3
mov rax, qword [r12]
mov rbp, qword [rax + rdi*8]
cmp dword [rbp + 0x5c], 0
je 0x18000f0cb
cmp dword [rbp + 0x10], 3
je 0x18000f0cb
mov edx, r11d
mov eax, r9d
mov ebx, r14d
xor ecx, ecx
cmp rbx, rcx
je 0x18000f02b
movsxd rsi, dword [rbp]
cmp qword [rsp + rcx*8 + 0x458], rsi
je 0x18000f02d
inc rcx
jmp 0x18000f013
mov ecx, ebx
cmp ecx, r14d
jne 0x18000f04f
cmp r14d, 0x3f
ja 0x18000f04f
movsxd rcx, dword [rbp]
mov qword [rsp + rbx*8 + 0x458], rcx
inc r14d
mov dword [rsp + 0x450], r14d
cmp dword [rbp + 0x58], 0
jne 0x18000f093
xor ecx, ecx
cmp rax, rcx
je 0x18000f06f
movsxd rsi, dword [rbp]
cmp qword [rsp + rcx*8 + 0x250], rsi
je 0x18000f071
inc rcx
jmp 0x18000f057
mov ecx, eax
cmp ecx, r9d
jne 0x18000f093
cmp r9d, 0x3f
ja 0x18000f093
movsxd rcx, dword [rbp]
mov qword [rsp + rax*8 + 0x250], rcx
inc r9d
mov dword [rsp + 0x248], r9d
xor eax, eax
cmp rdx, rax
je 0x18000f0aa
movsxd rcx, dword [rbp]
cmp qword [rsp + rax*8 + 0x48], rcx
je 0x18000f0ac
inc rax
jmp 0x18000f095
mov eax, edx
cmp eax, r11d
jne 0x18000f0c8
cmp r11d, 0x3f
ja 0x18000f0c8
movsxd rax, dword [rbp]
mov qword [rsp + rdx*8 + 0x48], rax
inc r11d
mov dword [rsp + 0x40], r11d
inc r8
inc rdi
jmp 0x18000efe3
test r8, r8
je 0x18000f395
mov ecx, dword [r12 + 0x1c]
inc ecx
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x450]
lea r8, [rsp + 0x248]
lea r9, [rsp + 0x40]
call qword [sym.imp.WS2_32.dll_select]
cmp eax, 0xffffffff
je 0x18000f3a0
mov r14d, eax
xor ebx, ebx
lea r15, [rsp + 0x34]
mov r13, qword [sym.imp.KERNEL32.dll_PeekNamedPipe]
mov rsi, qword [sym.imp.KERNEL32.dll_GetLastError]
mov rax, qword [r12 + 8]
cmp rbx, rax
jae 0x18000f1fb
mov rax, qword [r12]
mov rax, qword [rax + rbx*8]
cmp dword [rax + 0x5c], 0
je 0x18000f1f3
cmp dword [rax + 0x10], 3
jne 0x18000f1f3
mov rcx, qword [rax + 8]
and qword [rsp + 0x28], 0
mov qword [rsp + 0x20], r15
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call r13
test eax, eax
je 0x18000f185
cmp dword [rsp + 0x34], 0
je 0x18000f1f3
mov rcx, r12
mov rdx, rbx
call fcn.18000f3ad
jmp 0x18000f1f3
mov rax, qword [r12]
mov rax, qword [rax + rbx*8]
mov ebp, dword [rax]
call rsi
mov rcx, qword [r12]
mov rcx, qword [rcx + rbx*8]
cmp eax, 0x6d
jne 0x18000f1b4
mov rax, qword [rcx + 0x38]
test rax, rax
je 0x18000f1e9
mov r8, qword [rcx + 0x60]
mov rcx, r12
mov edx, ebp
call rax
jmp 0x18000f1da
mov rdi, qword [rcx + 0x30]
test rdi, rdi
je 0x18000f1e9
mov ecx, dword [rcx]
call fcn.18000f78f
mov rcx, qword [r12]
mov rcx, qword [rcx + rbx*8]
mov r9, qword [rcx + 0x60]
mov rcx, r12
mov edx, ebp
mov r8d, eax
call rdi
mov rcx, r12
mov edx, ebp
mov r8d, eax
call fcn.18000f72c
jmp 0x18000f1f3
mov rcx, r12
mov edx, ebp
call fcn.18000ef80
inc rbx
jmp 0x18000f129
test r14d, r14d
je 0x18000f341
xor edi, edi
lea r14, [rsp + 0x40]
lea r15, [rsp + 0x248]
lea rsi, [rsp + 0x450]
cmp rdi, rax
jae 0x18000f381
mov rax, qword [r12]
mov rax, qword [rax + rdi*8]
cmp dword [rax + 0x5c], 0
je 0x18000f27f
movsxd rcx, dword [rax]
mov rdx, rsi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x18000f27f
mov rax, qword [r12]
mov rax, qword [rax + rdi*8]
cmp dword [rax + 0x10], 2
jne 0x18000f274
mov rbx, qword [rax + 0x28]
test rbx, rbx
je 0x18000f27f
mov ebp, dword [rax]
mov r8, qword [rax + 0x60]
mov rcx, r12
mov edx, ebp
call rbx
mov rcx, r12
mov edx, ebp
mov r8d, eax
call fcn.18000f72c
jmp 0x18000f27f
mov rcx, r12
mov rdx, rdi
call fcn.18000f3ad
mov rax, qword [r12]
mov rcx, qword [rax + rdi*8]
cmp dword [rcx + 0x5c], 0
je 0x18000f2d6
movsxd rcx, dword [rcx]
mov rdx, r15
call sub.WS2_32.dll___WSAFDIsSet
mov rcx, qword [r12]
mov rcx, qword [rcx + rdi*8]
test eax, eax
je 0x18000f2d6
mov rbx, qword [rcx + 0x18]
test rbx, rbx
je 0x18000f2cf
mov ebp, dword [rcx]
mov r8, qword [rcx + 0x60]
mov rcx, r12
mov edx, ebp
call rbx
mov rcx, r12
mov edx, ebp
mov r8d, eax
call fcn.18000f72c
mov rax, qword [r12]
mov rcx, qword [rax + rdi*8]
mov dword [rcx + 0x58], 1
cmp dword [rcx + 0x5c], 0
je 0x18000f334
movsxd rcx, dword [rcx]
mov rdx, r14
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x18000f334
mov rax, qword [r12]
mov rax, qword [rax + rdi*8]
mov rbx, qword [rax + 0x30]
mov ebp, dword [rax]
test rbx, rbx
je 0x18000f32a
mov ecx, ebp
call fcn.18000f78f
mov rcx, qword [r12]
mov rcx, qword [rcx + rdi*8]
mov r9, qword [rcx + 0x60]
mov rcx, r12
mov edx, ebp
mov r8d, eax
call rbx
mov rcx, r12
mov edx, ebp
mov r8d, eax
call fcn.18000f72c
jmp 0x18000f334
mov rcx, r12
mov edx, ebp
call fcn.18000ef80
inc rdi
mov rax, qword [r12 + 8]
jmp 0x18000f21b
mov ecx, dword [r12 + 0x18]
mov ebx, 0x32
mov eax, ecx
xor edx, edx
div ebx
mov ebp, eax
add ecx, 0x64
mov eax, ecx
xor edx, edx
div ebx
cmp ebp, eax
je 0x18000f37c
mov rax, qword [r12 + 0x20]
test rax, rax
je 0x18000f37c
mov rdx, qword [r12 + 0x28]
mov rcx, r12
call rax
mov ecx, dword [r12 + 0x18]
add ecx, 0x64
mov dword [r12 + 0x18], ecx
add rsp, 0x658
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rcx, str.select_group:_couldnt_select__
call fcn.18000fb1f
int3