Function at 0x14003ac50
Capabilities:
Get socket status

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x570]
sub rsp, 0x670
xor edi, edi
mov rsi, r8
mov r14d, edx
test rcx, rcx
je 0x14003ac94
mov r8d, edi
test edx, edx
je 0x14003ac94
mov rax, rcx
cmp qword [rax], 0xffffffffffffffff
jne 0x14003acc2
inc r8d
add rax, 0x10
cmp r8d, r14d
jb 0x14003ac82
test rsi, rsi
je 0x14003b010
jns 0x14003aff7
mov ecx, 0x2726
call qword [sym.imp.WSOCK32.dll_WSASetLastError]
or edi, 0xffffffff
mov eax, edi
add rsp, 0x670
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
mov qword [rsp + 0x6a8], rbx
mov qword [rsp + 0x668], r12
or r15, 0xffffffffffffffff
mov qword [rsp + 0x660], r13
mov r10d, edi
mov dword [rbp + 0x140], edi
mov r12, r15
mov r13d, edi
mov r11d, edi
mov dword [rsp + 0x30], edi
mov r8d, edi
mov dword [rbp + 0x350], edi
lea rbx, [rcx + 8]
mov rax, qword [rbx - 8]
mov word [rbx + 2], di
cmp rax, 0xffffffffffffffff
je 0x14003adfe
jae 0x14003ae2a
movzx r9d, word [rbx]
test r9b, 7
je 0x14003adfe
cmp rax, r12
cmova r12, rax
test r9b, 1
je 0x14003ad78
mov edx, edi
mov rcx, rdi
test r10d, r10d
je 0x14003ad54
nop
cmp qword [rbp + rcx*8 + 0x148], rax
je 0x14003ad54
inc edx
inc rcx
cmp edx, r10d
jb 0x14003ad40
cmp edx, r10d
jne 0x14003ad78
cmp r10d, 0x40
jae 0x14003ad78
mov qword [rbp + rcx*8 + 0x148], rax
mov r10d, dword [rbp + 0x140]
inc r10d
mov dword [rbp + 0x140], r10d
test r9b, 4
je 0x14003adb6
mov edx, edi
mov rcx, rdi
test r11d, r11d
je 0x14003ad99
cmp qword [rsp + rcx*8 + 0x38], rax
je 0x14003ad99
inc edx
inc rcx
cmp edx, r11d
jb 0x14003ad88
cmp edx, r11d
jne 0x14003adb6
cmp r11d, 0x40
jae 0x14003adb6
mov qword [rsp + rcx*8 + 0x38], rax
mov r11d, dword [rsp + 0x30]
inc r11d
mov dword [rsp + 0x30], r11d
test r9b, 2
je 0x14003adfe
mov edx, edi
mov rcx, rdi
test r8d, r8d
je 0x14003adda
cmp qword [rbp + rcx*8 + 0x358], rax
je 0x14003adda
inc edx
inc rcx
cmp edx, r8d
jb 0x14003adc6
cmp edx, r8d
jne 0x14003adfe
cmp r8d, 0x40
jae 0x14003adfe
mov qword [rbp + rcx*8 + 0x358], rax
mov r8d, dword [rbp + 0x350]
inc r8d
mov dword [rbp + 0x350], r8d
inc r13d
add rbx, 0x10
cmp r13d, r14d
jb 0x14003ad01
test r10d, r10d
jne 0x14003ae92
test r11d, r11d
jne 0x14003ae92
test r8d, r8d
jne 0x14003ae92
test rsi, rsi
jne 0x14003ae5f
mov r15d, edi
jmp 0x14003af30
mov ecx, 0x2726
call qword [sym.imp.WSOCK32.dll_WSASetLastError]
mov eax, r15d
mov r12, qword [rsp + 0x668]
mov rbx, qword [rsp + 0x6a8]
mov r13, qword [rsp + 0x660]
add rsp, 0x670
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
jns 0x14003ae71
mov ecx, 0x2726
call qword [sym.imp.WSOCK32.dll_WSASetLastError]
jmp 0x14003af30
mov ecx, 0xffffffff
mov eax, 0xfffffffe
cmp rsi, rcx
cmovge rsi, rax
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_Sleep]
mov r15d, edi
jmp 0x14003af30
lea rbx, [rbp + 0x5b8]
test rsi, rsi
jns 0x14003aea3
mov rbx, rdi
jmp 0x14003aef5
jle 0x14003aeee
movabs rax, 0x20c49ba5e353f7cf
imul rsi
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov rax, rdx
imul rax, rax, 0x3e8
sub rsi, rax
mov eax, 0x7fffffff
imul rsi, rsi, 0x3e8
cmp rdx, rax
cmovg rdx, rax
mov dword [rbp + 0x5b8], edx
mov dword [rbp + 0x5bc], esi
jmp 0x14003aef5
mov qword [rbp + 0x5b8], rdi
test r8d, r8d
lea r9, [rbp + 0x350]
lea r8, [rsp + 0x30]
cmove r9, rdi
test r11d, r11d
lea rdx, [rbp + 0x140]
cmove r8, rdi
test r10d, r10d
lea ecx, [r12 + 1]
cmove rdx, rdi
mov qword [rsp + 0x20], rbx
call qword [sym.imp.WSOCK32.dll_select]
mov r15d, eax
test r15d, r15d
jle 0x14003ae35
mov rbx, qword [rbp + 0x5a0]
mov esi, edi
mov r12, r14
add rbx, 0xa
nop dword [rax]
mov rcx, qword [rbx - 0xa]
mov word [rbx], di
cmp rcx, 0xffffffffffffffff
je 0x14003afe3
lea rdx, [rbp + 0x140]
call sub.WSOCK32.dll___WSAFDIsSet
test eax, eax
je 0x14003af88
movzx eax, word [rbx - 2]
and ax, 1
je 0x14003af7f
or word [rbx], 1
test ax, ax
je 0x14003af88
or word [rbx], 1
mov rcx, qword [rbx - 0xa]
lea rdx, [rsp + 0x30]
call sub.WSOCK32.dll___WSAFDIsSet
test eax, eax
je 0x14003afb1
movzx eax, word [rbx - 2]
and ax, 4
je 0x14003afa8
or word [rbx], 4
test ax, ax
je 0x14003afb1
or word [rbx], 4
mov rcx, qword [rbx - 0xa]
lea rdx, [rbp + 0x350]
call sub.WSOCK32.dll___WSAFDIsSet
test eax, eax
je 0x14003afdc
movzx eax, word [rbx - 2]
and ax, 2
je 0x14003afd3
or word [rbx], 2
test ax, ax
je 0x14003afdc
or word [rbx], 2
cmp word [rbx], di
je 0x14003afe3
inc esi
add rbx, 0x10
dec r12
jne 0x14003af50
mov eax, esi
jmp 0x14003ae38
mov ecx, 0xffffffff
mov eax, 0xfffffffe
cmp rsi, rcx
cmovge rsi, rax
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_Sleep]
mov eax, edi
add rsp, 0x670
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret