Function at 0x1400384f0
Capabilities:
Get socket status

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r15
lea rbp, [rsp - 0x5e8]
sub rsp, 0x6e8
mov rax, qword [0x14017c0f0]
xor rax, rsp
mov qword [rbp + 0x5c0], rax
xor edi, edi
mov dword [rsp + 0x30], r8d
mov ebx, edx
mov rsi, rcx
mov qword [rsp + 0x50], rcx
mov r12d, edi
mov qword [rsp + 0x40], rdi
mov dword [rsp + 0x48], edi
test rcx, rcx
je 0x140038554
mov edx, edi
test ebx, ebx
je 0x140038554
mov rax, rcx
cmp qword [rax], 0xffffffffffffffff
jne 0x140038578
inc edx
add rax, 0x10
cmp edx, ebx
jb 0x140038544
test r8d, r8d
je 0x140038903
jns 0x1400388fa
mov ecx, 0x2726
call qword [sym.imp.WS2_32.dll_WSASetLastError]
or edi, 0xffffffff
mov eax, edi
jmp 0x14003873f
mov qword [rsp + 0x728], r13
mov qword [rsp + 0x6e0], r14
movaps xmmword [rsp + 0x6d0], xmm6
test r8d, r8d
jle 0x1400385a7
lea rcx, [rsp + 0x60]
mov r12d, r8d
call fcn.14002c2b0
movups xmm6, xmmword [rax]
jmp 0x1400385ac
movaps xmm6, xmmword [rsp + 0x40]
or r14, 0xffffffffffffffff
mov dword [rbp - 0x70], edi
add rsi, 8
mov dword [rbp + 0x1a0], edi
mov r10d, edi
mov dword [rbp + 0x3b0], edi
mov r11d, edi
mov r8d, edi
mov r13, rbx
mov eax, 0x710
mov ecx, 0x600
mov r15d, 0x300
nop
mov rdx, qword [rsi - 8]
mov word [rsi + 2], di
cmp rdx, 0xffffffffffffffff
je 0x1400386e3
movzx r9d, word [rsi]
test ax, r9w
je 0x1400386e3
cmp rdx, r14
cmova r14, rdx
test r15w, r9w
je 0x140038646
mov ecx, edi
test r10d, r10d
je 0x140038624
mov eax, ecx
cmp qword [rbp + rax*8 - 0x68], rdx
je 0x140038624
inc ecx
cmp ecx, r10d
jb 0x140038614
cmp ecx, r10d
jne 0x140038641
cmp r10d, 0x40
jae 0x140038641
mov eax, ecx
mov qword [rbp + rax*8 - 0x68], rdx
mov r10d, dword [rbp - 0x70]
inc r10d
mov dword [rbp - 0x70], r10d
mov ecx, 0x600
test r9b, 0x10
je 0x140038691
mov ecx, edi
test r11d, r11d
je 0x140038666
mov eax, ecx
cmp qword [rbp + rax*8 + 0x1a8], rdx
je 0x140038666
inc ecx
cmp ecx, r11d
jb 0x140038653
cmp ecx, r11d
jne 0x14003868c
cmp r11d, 0x40
jae 0x14003868c
mov eax, ecx
mov qword [rbp + rax*8 + 0x1a8], rdx
mov r11d, dword [rbp + 0x1a0]
inc r11d
mov dword [rbp + 0x1a0], r11d
mov ecx, 0x600
test cx, r9w
je 0x1400386de
mov ecx, edi
test r8d, r8d
je 0x1400386b3
nop
mov eax, ecx
cmp qword [rbp + rax*8 + 0x3b8], rdx
je 0x1400386b3
inc ecx
cmp ecx, r8d
jb 0x1400386a0
cmp ecx, r8d
jne 0x1400386d9
cmp r8d, 0x40
jae 0x1400386d9
mov eax, ecx
mov qword [rbp + rax*8 + 0x3b8], rdx
mov r8d, dword [rbp + 0x3b0]
inc r8d
mov dword [rbp + 0x3b0], r8d
mov ecx, 0x600
mov eax, 0x710
add rsi, 0x10
sub rbx, 1
jne 0x1400385e0
mov r15d, dword [rsp + 0x30]
test r10d, r10d
jne 0x14003875e
test r11d, r11d
jne 0x14003875e
test r8d, r8d
jne 0x14003875e
test r15d, r15d
je 0x140038725
jns 0x14003871c
mov ecx, 0x2726
call qword [sym.imp.WS2_32.dll_WSASetLastError]
or edi, 0xffffffff
jmp 0x140038725
mov ecx, r15d
call qword [sym.imp.KERNEL32.dll_Sleep]
mov eax, edi
mov r14, qword [rsp + 0x6e0]
mov r13, qword [rsp + 0x728]
movaps xmm6, xmmword [rsp + 0x6d0]
mov rcx, qword [rbp + 0x5c0]
xor rcx, rsp
call fcn.14006e6a0
add rsp, 0x6e8
pop r15
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
test r15d, r15d
lea rsi, [rsp + 0x40]
cmovs rsi, rdi
nop word [rax + rax]
test r15d, r15d
jle 0x1400387a2
mov eax, 0x10624dd3
mov ecx, r12d
imul r12d
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x3e8
mov dword [rsp + 0x40], edx
sub ecx, eax
imul eax, ecx, 0x3e8
mov dword [rsp + 0x44], eax
jmp 0x1400387a9
jne 0x1400387a9
mov qword [rsp + 0x40], rdi
test r8d, r8d
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0x3b0]
cmove r9, rdi
lea r8, [rbp + 0x1a0]
test r11d, r11d
lea rdx, [rbp - 0x70]
lea ecx, [r14 + 1]
cmove r8, rdi
test r10d, r10d
cmove rdx, rdi
call qword [sym.imp.WS2_32.dll_select]
cmp eax, 0xffffffff
jne 0x140038861
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
test eax, eax
je 0x1400387fd
cmp dword [0x14017e2f0], edi
jne 0x140038865
cmp eax, 0x2714
jne 0x140038865
test r15d, r15d
jg 0x140038819
mov r10d, dword [rbp - 0x70]
mov r11d, dword [rbp + 0x1a0]
mov r8d, dword [rbp + 0x3b0]
jmp 0x140038770
lea rcx, [rbp - 0x80]
movdqa xmmword [rsp + 0x70], xmm6
call fcn.14002c2b0
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x60]
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x60], xmm0
call fcn.14002c300
mov r12d, r15d
sub r12d, eax
test r12d, r12d
jle 0x14003886f
mov r10d, dword [rbp - 0x70]
mov r11d, dword [rbp + 0x1a0]
mov r8d, dword [rbp + 0x3b0]
jmp 0x140038770
test eax, eax
jns 0x14003886d
or eax, 0xffffffff
jmp 0x140038727
jne 0x140038876
xor eax, eax
jmp 0x140038727
mov rbx, qword [rsp + 0x50]
mov esi, edi
add rbx, 0xa
mov r14d, 0x400
nop word [rax + rax]
mov rcx, qword [rbx - 0xa]
mov word [rbx], di
cmp rcx, 0xffffffffffffffff
je 0x1400388e9
lea rdx, [rbp - 0x70]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x1400388b2
mov eax, 0x300
or word [rbx], ax
mov rcx, qword [rbx - 0xa]
lea rdx, [rbp + 0x1a0]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x1400388ca
or word [rbx], 0x10
mov rcx, qword [rbx - 0xa]
lea rdx, [rbp + 0x3b0]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x1400388e2
or word [rbx], r14w
cmp word [rbx], di
je 0x1400388e9
inc esi
add rbx, 0x10
sub r13, 1
jne 0x140038890
mov eax, esi
jmp 0x140038727
mov ecx, r8d
call qword [sym.imp.KERNEL32.dll_Sleep]
mov eax, edi
jmp 0x14003873f