Function at 0x140419ef0
Capabilities:
Get socket status

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x98
mov rax, qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov r15, rcx
lea rcx, [rcx + 0x30]
mov qword [rsp + 0x58], rax
mov rdi, r8
mov dword [rsp + 0xe8], edx
mov qword [rsp + 0x48], rcx
call rax
movzx edx, byte [r15 + 0x1f8]
mov byte [rsp + 0x38], dl
test dl, dl
jne 0x14041a450
mov rsi, qword [r15 + 0x1a8]
mov rbx, qword [r15 + 0x1c0]
mov rbp, qword [r15 + 0x1d8]
mov r8d, dword [r15 + 0x1b0]
mov dword [rsi], 0
mov r13, qword [r15 + 0x58]
mov qword [r15 + 0x1b8], 0xffffffffffffffff
mov dword [rbx], 0
mov qword [r15 + 0x1d0], 0xffffffffffffffff
mov dword [rbp], 0
mov qword [r15 + 0x1e8], 0xffffffffffffffff
test r8d, r8d
je 0x14041a4c0
mov r10d, dword [rsi]
mov rbx, qword [r15 + 0x1f0]
mov r14, qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea r11d, [r10 + 1]
mov dword [rsi], r11d
mov qword [rsi + r10*8 + 8], r13
test rbx, rbx
jne 0x140419fc9
jmp 0x140419fde
mov rbx, qword [rbx + 8]
test rbx, rbx
je 0x140419fde
mov rax, qword [rbx]
mov r12, r14
mov rcx, rbx
call qword [rax + 0x10]
test al, al
jne 0x140419fc0
mov byte [rsp + 0x38], 1
lea rcx, [r15 + 0x1f0]
lea r14, [r15 + 0x78]
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x50], rcx
lea rbp, [r15 + 0x1a8]
cmp byte [rsp + 0x38], 0
mov rbx, qword [r14]
jne 0x14041a010
cmp r14, rbx
setne byte [rsp + 0x38]
cmp r14, rbx
je 0x14041a0c1
mov r12, qword [rbp]
mov esi, dword [rbp + 8]
mov eax, dword [r12]
nop dword [rax]
lea r8d, [rax + 1]
mov r13, rbx
mov r11d, eax
mov rbx, qword [rbx]
mov eax, r8d
cmp esi, r8d
jae 0x14041a0ab
mov edx, esi
shr edx, 1
add edx, esi
mov esi, r8d
cmp edx, r8d
cmovae esi, edx
mov r12d, esi
lea rcx, [r12*8 + 8]
mov r12, qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
call fcn.14053f0d0
mov r9, qword [rbp]
mov r12, rax
mov r10d, dword [r9]
mov dword [rax], r10d
test r10d, r10d
je 0x14041a094
lea rdx, [r9 + 8]
lea rcx, [rax + 8]
mov qword [rsp + 0x30], r9
lea r8, [r10*8]
call sub.msvcrt.dll_memmove
mov r9, qword [rsp + 0x30]
mov rcx, r9
call fcn.14053f080
mov r11d, dword [r12]
mov qword [rbp], r12
mov dword [rbp + 8], esi
lea eax, [r11 + 1]
mov rcx, qword [r13 + 0x10]
mov dword [r12], eax
mov qword [r12 + r11*8 + 8], rcx
cmp rbx, r14
jne 0x14041a028
mov r13, qword [rbp + 0x10]
mov rbx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x50]
cmp rbx, r13
cmovae r13, rbx
add rbp, 0x18
add r14, 0x50
mov qword [rsp + 0x40], r13
cmp rbp, r8
jne 0x140419ffe
cmp byte [rsp + 0x38], 0
mov rbx, qword [r15 + 0x168]
lea rbp, [r15 + 0x168]
je 0x14041a470
cmp rbp, rbx
je 0x14041a970
mov r12, qword [r15 + 0x1c0]
mov esi, dword [r15 + 0x1c8]
mov r8d, dword [r12]
lea r10d, [r8 + 1]
mov r13, rbx
mov eax, r8d
mov rbx, qword [rbx]
mov r8d, r10d
cmp esi, r10d
jae 0x14041a1a7
mov r12d, esi
shr r12d, 1
add r12d, esi
cmp r12d, r10d
cmovae r10d, r12d
mov r12, qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov r9d, r10d
lea rcx, [r9*8 + 8]
mov rsi, r9
call fcn.14053f0d0
mov r14, qword [r15 + 0x1c0]
mov r12, rax
mov r11d, dword [r14]
mov dword [rax], r11d
test r11d, r11d
je 0x14041a189
lea rdx, [r14 + 8]
lea rcx, [rax + 8]
lea r8, [r11*8]
call sub.msvcrt.dll_memmove
mov rcx, r14
call fcn.14053f080
mov eax, dword [r12]
mov qword [r15 + 0x1c0], r12
mov dword [r15 + 0x1c8], esi
lea r8d, [rax + 1]
mov rcx, qword [r13 + 0x10]
mov dword [r12], r8d
mov qword [r12 + rax*8 + 8], rcx
cmp rbx, rbp
jne 0x14041a120
mov r13, qword [r15 + 0x1d0]
mov rdx, qword [rsp + 0x40]
mov rbx, qword [r15 + 0x168]
cmp rdx, r13
cmovae r13, rdx
mov qword [rsp + 0x30], r13
cmp rbx, rbp
je 0x14041a29d
mov r12, qword [r15 + 0x1d8]
mov esi, dword [r15 + 0x1e0]
mov r8d, dword [r12]
nop word [rax + rax]
lea r10d, [r8 + 1]
mov r13, rbx
mov eax, r8d
mov rbx, qword [rbx]
mov r8d, r10d
cmp esi, r10d
jae 0x14041a287
mov r9d, esi
shr r9d, 1
add r9d, esi
cmp r9d, r10d
cmovae r10d, r9d
mov r12d, r10d
lea rcx, [r12*8 + 8]
mov rsi, r12
mov r12, qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
call fcn.14053f0d0
mov r14, qword [r15 + 0x1d8]
mov r12, rax
mov r11d, dword [r14]
mov dword [rax], r11d
test r11d, r11d
je 0x14041a269
lea rdx, [r14 + 8]
lea rcx, [rax + 8]
lea r8, [r11*8]
call sub.msvcrt.dll_memmove
mov rcx, r14
call fcn.14053f080
mov eax, dword [r12]
mov qword [r15 + 0x1d8], r12
mov dword [r15 + 0x1e0], esi
lea r8d, [rax + 1]
mov rcx, qword [r13 + 0x10]
mov dword [r12], r8d
mov qword [r12 + rax*8 + 8], rcx
cmp rbx, rbp
jne 0x14041a200
mov edx, dword [rsp + 0xe8]
mov rsi, qword [r15 + 0x1e8]
test edx, edx
jne 0x14041a2ba
cmp byte [rsp + 0x38], 1
jne 0x14041a450
mov r13d, dword [rsp + 0xe8]
mov qword [rsp + 0x68], 0
test r13d, r13d
je 0x14041a342
mov rbx, qword [r15 + 0x1f0]
mov edx, 0x11e1a300
cmp dword [rsp + 0xe8], edx
cmovbe edx, dword [rsp + 0xe8]
test rbx, rbx
je 0x14041a317
mov r14, qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
nop word [rax + rax]
mov rax, qword [rbx]
mov r12, r14
mov rcx, rbx
call qword [rax + 0x20]
mov rbx, qword [rbx + 8]
mov edx, eax
test rbx, rbx
jne 0x14041a300
movsxd r10, edx
mov r12d, edx
imul r9, r10, 0x431bde83
sar r12d, 0x1f
sar r9, 0x32
sub r9d, r12d
imul r11d, r9d, 0xf4240
mov dword [rsp + 0x68], r9d
sub edx, r11d
mov dword [rsp + 0x6c], edx
mov rcx, qword [rsp + 0x48]
mov r12, qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
call r12
mov rcx, qword [rsp + 0x30]
mov r9, qword [r15 + 0x1d8]
mov dword [rsp + 0x70], 0
mov r8, qword [r15 + 0x1c0]
mov rdx, qword [r15 + 0x1a8]
mov qword [rsp + 0x78], 0
cmp rsi, rcx
mov r13, r9
mov qword [rsp + 0x80], 0
cmovb rsi, rcx
or r13, r8
or r13, rdx
lea ecx, [rsi + 1]
mov esi, dword [rsp + 0x68]
je 0x14041a9bf
test esi, esi
je 0x14041a51c
lea rax, [rsp + 0x68]
mov qword [rsp + 0x20], rax
call qword [sym.imp.WS2_32.dll_select]
mov ebx, eax
test eax, eax
js 0x14041a47d
je 0x14041a487
mov rdx, qword [r15 + 0x1a8]
mov rcx, qword [r15 + 0x58]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
jne 0x14041a53f
mov rcx, qword [rsp + 0x48]
mov r8, qword [rsp + 0x58]
call r8
mov r8, qword [r15 + 0x1d8]
xor r13d, r13d
lea r14, [r15 + 0x160]
mov r9d, dword [r8]
test r9d, r9d
je 0x14041a664
nop
mov rsi, qword [r15 + 0x1a0]
mov r11d, r13d
mov rcx, qword [r8 + r11*8 + 8]
test rsi, rsi
jne 0x14041a570
add r13d, 1
cmp r13d, r9d
jb 0x14041a664
mov rax, qword [r15 + 0x1c0]
cmp dword [rax], 0
jne 0x14041a698
jmp 0x14041a6a2
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
nop
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp rbx, rbp
setne byte [rsp + 0x38]
jmp 0x14041a105
lea rcx, [rsp + 0x70]
call fcn.14004b220
mov rcx, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x58]
call rbp
mov r13, qword [r15 + 0x1f0]
test r13, r13
je 0x14041a4b6
nop
mov rbp, qword [r13]
mov rdx, rdi
mov rcx, r13
call qword [rbp + 0x28]
mov r13, qword [r13 + 8]
test r13, r13
jne 0x14041a4a0
mov rcx, qword [rsp + 0x48]
call r12
jmp 0x14041a45c
mov ecx, 0x10
mov r12, qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
call fcn.14053f0d0
mov r12, qword [r15 + 0x1a8]
mov rsi, rax
mov r9d, dword [r12]
mov dword [rax], r9d
test r9d, r9d
je 0x14041a4fd
lea rdx, [r12 + 8]
lea rcx, [rax + 8]
lea r8, [r9*8]
call sub.msvcrt.dll_memmove
mov rcx, r12
call fcn.14053f080
mov qword [r15 + 0x1a8], rsi
mov dword [r15 + 0x1b0], 1
jmp 0x140419f98
mov r14d, dword [rsp + 0x6c]
sub r14d, 1
cmp r14d, 0x3e6
ja 0x14041a3ad
mov dword [rsp + 0x6c], 0x3e8
jmp 0x14041a3ad
lea rcx, [r15 + 0x58]
call fcn.1404348e0
test al, al
je 0x14041a98d
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x58]
sub ebx, 1
call rdx
test ebx, ebx
jne 0x14041a3f2
jmp 0x14041a493
mov rax, rcx
xor edx, edx
div rsi
shl rdx, 4
add rdx, qword [r15 + 0x198]
mov rsi, qword [rdx]
cmp rbp, rsi
je 0x14041a657
mov rbx, qword [rdx + 8]
mov r10, qword [rbx]
cmp rsi, r10
jne 0x14041a5ac
jmp 0x14041a657
mov rsi, qword [rsi]
cmp r10, rsi
je 0x14041a657
cmp rcx, qword [rsi + 0x10]
jne 0x14041a5a0
cmp rbp, rsi
je 0x14041a657
mov rbx, qword [rsi + 0x18]
test rbx, rbx
jne 0x14041a609
jmp 0x14041a642
mov r8, qword [r9 + 0x20]
mov qword [rsi + 0x18], r8
test r8, r8
je 0x14041a820
mov qword [r9 + 0x20], 0
mov r11, qword [rdi + 8]
mov qword [rbx + 0x20], 0
test r11, r11
je 0x14041a840
mov qword [r11 + 0x20], rbx
mov qword [rdi + 8], rbx
mov rbx, r8
mov rcx, rbx
call qword [rbx + 0x60]
test eax, eax
je 0x14041a64d
mov r9, qword [rsi + 0x18]
movq xmm2, rbx
movddup xmm0, xmm2
test r9, r9
jne 0x14041a5d0
mov rcx, qword [rdi + 8]
mov qword [rbx + 0x20], 0
test rcx, rcx
je 0x14041a838
mov qword [rcx + 0x20], rbx
mov qword [rdi + 8], rbx
mov rdx, rsi
mov rcx, r14
call fcn.14043b0f0
mov r8, qword [r15 + 0x1d8]
mov r9d, dword [r8]
add r13d, 1
cmp r13d, r9d
jb 0x14041a410
mov r10, qword [r15 + 0x1c0]
mov r11d, dword [r10]
test r11d, r11d
je 0x14041a6a2
xor r13d, r13d
lea r14, [r15 + 0x160]
nop dword [rax]
mov r8, qword [r15 + 0x1a0]
mov eax, r13d
mov r9, qword [r10 + rax*8 + 8]
test r8, r8
jne 0x14041a848
mov r8, qword [r15 + 0x1d8]
mov r9d, dword [r8]
lea rax, [r15 + 0x28]
lea r13, [r15 + 0x118]
mov qword [rsp + 0x38], rax
lea r14, [r15 + 0x1d8]
lea rdx, [r13 - 8]
xor ebp, ebp
mov qword [rsp + 0x30], rdx
test r9d, r9d
je 0x14041a7cd
nop dword [rax]
mov rsi, qword [r13 + 0x38]
mov ecx, ebp
mov rbx, qword [r8 + rcx*8 + 8]
test rsi, rsi
je 0x14041a7c1
mov rax, rbx
xor edx, edx
div rsi
shl rdx, 4
add rdx, qword [r13 + 0x30]
mov rsi, qword [rdx]
cmp rsi, r13
je 0x14041a7c1
mov r10, qword [rdx + 8]
mov r11, qword [r10]
cmp rsi, r11
jne 0x14041a724
jmp 0x14041a7c1
mov rsi, qword [rsi]
cmp r11, rsi
je 0x14041a7c1
cmp rbx, qword [rsi + 0x10]
jne 0x14041a718
cmp r13, rsi
je 0x14041a7c1
mov rbx, qword [rsi + 0x18]
test rbx, rbx
jne 0x14041a779
jmp 0x14041a7ae
mov r8, qword [r9 + 0x20]
mov qword [rsi + 0x18], r8
test r8, r8
je 0x14041a7f0
mov qword [r9 + 0x20], 0
mov rcx, qword [rdi + 8]
mov qword [rbx + 0x20], 0
test rcx, rcx
je 0x14041a810
mov qword [rcx + 0x20], rbx
mov qword [rdi + 8], rbx
mov rbx, r8
mov rcx, rbx
call qword [rbx + 0x60]
test eax, eax
je 0x14041a7bb
mov r9, qword [rsi + 0x18]
movq xmm4, rbx
movddup xmm5, xmm4
test r9, r9
jne 0x14041a740
mov rax, qword [rdi + 8]
mov qword [rbx + 0x20], 0
test rax, rax
je 0x14041a808
mov qword [rax + 0x20], rbx
mov qword [rdi + 8], rbx
mov rcx, qword [rsp + 0x30]
mov rdx, rsi
call fcn.14043b0f0
mov r8, qword [r14]
mov r9d, dword [r8]
add ebp, 1
cmp ebp, r9d
jb 0x14041a6d0
sub r13, 0x50
cmp qword [rsp + 0x38], r13
je 0x14041a493
mov r8, qword [r14 - 0x18]
sub r14, 0x18
mov r9d, dword [r8]
jmp 0x14041a6b9
mov qword [rsi + 0x20], 0
mov qword [r9 + 0x20], 0
jmp 0x14041a795
movups xmmword [rdi], xmm5
jmp 0x14041a7ae
movups xmmword [rdi], xmm5
jmp 0x14041a776
mov qword [rsi + 0x20], 0
mov qword [r9 + 0x20], 0
jmp 0x14041a625
movups xmmword [rdi], xmm0
jmp 0x14041a642
movups xmmword [rdi], xmm0
jmp 0x14041a606
mov rax, r9
xor edx, edx
div r8
shl rdx, 4
add rdx, qword [r15 + 0x198]
mov rsi, qword [rdx]
cmp rbp, rsi
je 0x14041a933
mov rbx, qword [rdx + 8]
mov rcx, qword [rbx]
cmp rsi, rcx
jne 0x14041a88c
jmp 0x14041a933
mov rsi, qword [rsi]
cmp rcx, rsi
je 0x14041a933
cmp r9, qword [rsi + 0x10]
jne 0x14041a880
cmp rbp, rsi
je 0x14041a933
mov rbx, qword [rsi + 0x18]
test rbx, rbx
jne 0x14041a8e9
jmp 0x14041a91e
mov r11, qword [r10 + 0x20]
mov qword [rsi + 0x18], r11
test r11, r11
je 0x14041a948
mov qword [r10 + 0x20], 0
mov r9, qword [rdi + 8]
mov qword [rbx + 0x20], 0
test r9, r9
je 0x14041a968
mov qword [r9 + 0x20], rbx
mov qword [rdi + 8], rbx
mov rbx, r11
mov rcx, rbx
call qword [rbx + 0x60]
test eax, eax
je 0x14041a929
mov r10, qword [rsi + 0x18]
movq xmm3, rbx
movddup xmm1, xmm3
test r10, r10
jne 0x14041a8b0
mov r8, qword [rdi + 8]
mov qword [rbx + 0x20], 0
test r8, r8
je 0x14041a960
mov qword [r8 + 0x20], rbx
mov qword [rdi + 8], rbx
mov rdx, rsi
mov rcx, r14
call fcn.14043b0f0
mov r10, qword [r15 + 0x1c0]
mov r11d, dword [r10]
add r13d, 1
cmp r13d, r11d
jb 0x14041a680
jmp 0x14041a698
mov qword [rsi + 0x20], 0
mov qword [r10 + 0x20], 0
jmp 0x14041a905
movups xmmword [rdi], xmm1
jmp 0x14041a91e
movups xmmword [rdi], xmm1
jmp 0x14041a8e6
mov r14, qword [r15 + 0x1d0]
mov rdx, qword [rsp + 0x40]
cmp rdx, r14
cmovae r14, rdx
mov qword [rsp + 0x30], r14
jmp 0x14041a29d
mov rcx, qword [rsp + 0x48]
mov r10, qword [rsp + 0x58]
call r10
mov rcx, qword [r15 + 0x28]
mov byte [r15 + 0x1f8], 1
lock add dword [rcx + 0x30], 1
lea rdx, [r15 + 0x208]
call fcn.1404272f0
sub ebx, 1
jmp 0x14041a55f
movsxd r10, dword [rsp + 0x6c]
imul ecx, esi, 0x3e8
imul r11, r10, 0x10624dd3
mov rdx, r10
sar edx, 0x1f
sar r11, 0x26
sub r11d, edx
add r11d, ecx
mov ecx, 1
cmovne ecx, r11d
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x58]
call rsi
jmp 0x14041a493