Function at 0x140068f6d
Capabilities:
Get socket status

Disassembly:
test rcx, rcx
je 0x14006950d
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r14
push r15
lea rbp, [rax - 0x598]
sub rsp, 0x680
mov rax, qword [0x1401ff510]
xor rax, rsp
mov qword [rbp + 0x570], rax
xor r14d, r14d
mov rbx, rcx
mov qword [rcx + 0x52c], r14
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [rbx + 8], eax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov r8d, dword [rbx + 8]
xor edx, edx
mov ecx, 0x1fffff
mov qword [rbx + 0x10], rax
call qword [sym.imp.KERNEL32.dll_OpenThread]
lea r15d, [r14 + 1]
mov dword [rbp + 0x360], r14d
mov qword [rbx + 0x18], rax
mov rax, qword [0x140202e38]
test rax, rax
mov dword [rsp + 0x40], r14d
mov dword [rbp + 0x150], r14d
cmove rax, rbx
mov dword [rbx + 4], r15d
mov qword [0x140202e38], rax
jmp 0x1400692ed
mov rax, qword [rbx + 0x510]
mov r8d, r14d
mov dword [rbp + 0x360], r14d
mov dword [rsp + 0x40], r14d
mov dword [rbp + 0x150], r14d
mov qword [rsp + 0x38], 0x15180
mov rcx, qword [rax + 0x18]
mov qword [rbx + 0x550], rcx
mov dword [rbx + 0x548], 0x5265c00
test rcx, rcx
je 0x1400690f9
mov r10, qword [rbx + 0x550]
test r10, r10
je 0x14006905f
mov r10, qword [r10]
jmp 0x140069062
mov r10, r14
test r10, r10
je 0x1400690f4
cmp qword [r10], r14
je 0x1400690af
mov eax, dword [rbx + 0x548]
lea r9, [rsp + 0x40]
mov dword [rsp + 0x30], eax
lea r8, [rbp + 0x150]
lea rax, [rsp + 0x30]
mov rcx, r10
lea rdx, [rbp + 0x360]
mov qword [rsp + 0x20], rax
call qword [r10]
mov eax, dword [rsp + 0x30]
cmp eax, dword [rbx + 0x548]
jge 0x1400690af
mov dword [rbx + 0x548], eax
mov rax, qword [rbx + 0x550]
test rax, rax
jne 0x1400690c0
mov rax, r14
jmp 0x1400690c4
add rax, 0x24
mov eax, dword [rax + 8]
test eax, eax
jle 0x1400690d9
cmp eax, dword [rbx + 0x548]
jge 0x1400690d9
mov dword [rbx + 0x548], eax
mov rax, qword [rbx + 0x550]
mov rcx, qword [rax + 0x10]
mov qword [rbx + 0x550], rcx
test rcx, rcx
jne 0x14006904e
mov r8d, dword [rsp + 0x40]
mov ecx, dword [rbx + 0x548]
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x3e8
mov dword [rsp + 0x38], edx
sub ecx, eax
imul eax, ecx, 0x3e8
mov ecx, r14d
mov dword [rsp + 0x3c], eax
test r8d, r8d
je 0x140069144
mov rdx, qword [rbx + 0x4f0]
cmp qword [rsp + rcx*8 + 0x48], rdx
je 0x140069144
add ecx, r15d
cmp ecx, r8d
jb 0x140069135
cmp ecx, r8d
jne 0x140069160
cmp r8d, 0x40
jae 0x140069160
mov rax, qword [rbx + 0x4f0]
mov qword [rsp + rcx*8 + 0x48], rax
add dword [rsp + 0x40], r15d
mov rcx, qword [0x140202e48]
or edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
jmp 0x1400691c7
mov rax, qword [rbx + 0x518]
mov rdi, qword [rax + 0x18]
mov qword [rbx + 0x550], rdi
test rdi, rdi
je 0x14006918e
mov rdi, qword [rdi]
jmp 0x140069191
mov rdi, r14
mov rcx, qword [rbx + 0x510]
mov rdx, rdi
call fcn.14006c80c
mov rcx, qword [rbx + 0x550]
call fcn.14006c7a0
test rdi, rdi
je 0x1400691c7
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x1400691bf
mov rcx, rdi
call rax
mov rcx, rdi
call fcn.1401630c0
mov rax, qword [rbx + 0x518]
cmp dword [rax + 8], r14d
jg 0x140069172
mov rcx, qword [0x140202e48]
xor r8d, r8d
mov edx, r15d
call qword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
add dword [rbx + 0x52c], r15d
cmp dword [rbp + 0x360], r14d
jne 0x140069214
cmp dword [rbp + 0x150], r14d
jne 0x140069214
mov ecx, dword [rbx + 0x548]
mov edx, r15d
call qword [sym.imp.KERNEL32.dll_SleepEx]
or esi, 0xffffffff
jmp 0x14006923e
lea rax, [rsp + 0x38]
mov ecx, 0x40
lea r9, [rsp + 0x40]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x150]
lea rdx, [rbp + 0x360]
call qword [sym.imp.WS2_32.dll_select]
mov esi, eax
add dword [rbx + 0x530], r15d
cmp esi, 0xffffffff
jne 0x14006925d
mov dword [rbp + 0x360], r14d
mov dword [rbp + 0x150], r14d
mov dword [rsp + 0x40], r14d
mov rcx, qword [rbx + 0x510]
mov rdx, qword [rcx + 0x18]
mov qword [rbx + 0x550], rdx
test rdx, rdx
je 0x1400692ed
mov rdi, qword [rbx + 0x550]
test rdi, rdi
je 0x140069285
mov rdi, qword [rdi]
jmp 0x140069288
mov rdi, r14
test rdi, rdi
je 0x1400692ed
mov rax, qword [rdi + 8]
test rax, rax
je 0x1400692b5
lea rcx, [rsp + 0x40]
mov edx, esi
mov qword [rsp + 0x20], rcx
lea r9, [rbp + 0x150]
mov rcx, rdi
lea r8, [rbp + 0x360]
call rax
mov rdx, qword [rbx + 0x550]
mov rax, r14
test rdx, rdx
je 0x1400692c8
lea rax, [rdx + 0x24]
mov r8, qword [rax]
test r8, r8
je 0x1400692d6
mov rcx, rdi
call r8
mov rax, qword [rbx + 0x550]
mov rcx, qword [rax + 0x10]
mov qword [rbx + 0x550], rcx
test rcx, rcx
jne 0x140069274
cmp dword [rbx], r14d
je 0x14006900a
cmp qword [rbx + 0x538], r14
je 0x14006930c
mov rcx, qword [rbx + 0x540]
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov rdi, qword [rbx + 0x508]
test rdi, rdi
je 0x140069353
mov rdi, qword [rdi + 0x18]
jmp 0x14006933b
mov rsi, qword [rdi]
test rsi, rsi
je 0x140069337
mov rdx, qword [rsi + 8]
mov rcx, rbx
call qword [rsi]
mov rcx, rsi
call fcn.1401630c0
mov rdi, qword [rdi + 0x10]
test rdi, rdi
jne 0x14006931e
mov rcx, qword [rbx + 0x508]
call fcn.14006c8f4
mov qword [rbx + 0x508], r14
mov rax, qword [rbx + 0x510]
mov rax, qword [rax + 0x18]
mov qword [rbx + 0x550], rax
test rax, rax
je 0x140069375
mov rax, qword [rax + 0x10]
mov qword [rbx + 0x550], rax
mov dword [rbx], r15d
cmp qword [rbx + 0x550], r14
je 0x1400693c8
mov rdi, qword [rbx + 0x550]
test rdi, rdi
je 0x140069392
mov rdi, qword [rdi]
jmp 0x140069395
mov rdi, r14
test rdi, rdi
je 0x1400693c8
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x1400693a8
mov rcx, rdi
call rax
mov rcx, rdi
call fcn.1401630c0
mov rcx, qword [rbx + 0x550]
call fcn.14006c7a0
mov qword [rbx + 0x550], rax
test rax, rax
jne 0x140069381
mov rax, qword [0x140202e38]
cmp rax, rbx
cmove rax, r14
mov qword [0x140202e38], rax
mov rax, qword [rbx + 0x510]
mov rdi, qword [rax + 0x18]
mov qword [rbx + 0x550], rdi
test rdi, rdi
je 0x140069411
mov rdi, qword [rdi]
test rdi, rdi
je 0x140069411
mov rcx, rdi
call qword [rdi + reloc.WS2_32.dll_recv]
mov rcx, rdi
call fcn.1401630c0
mov qword [rbx + 0x4f8], r14
mov rcx, qword [rbx + 0x510]
call fcn.14006c8f4
mov rax, qword [rbx + 0x518]
mov rcx, qword [rax + 0x18]
jmp 0x140069464
mov rdi, qword [rbx + 0x550]
test rdi, rdi
je 0x14006943b
mov rdi, qword [rdi]
jmp 0x14006943e
mov rdi, r14
test rdi, rdi
je 0x140069470
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x140069451
mov rcx, rdi
call rax
mov rcx, rdi
call fcn.1401630c0
mov rax, qword [rbx + 0x550]
mov rcx, qword [rax + 0x10]
mov qword [rbx + 0x550], rcx
test rcx, rcx
jne 0x14006942a
mov rcx, qword [rbx + 0x518]
call fcn.14006c8f4
mov rcx, qword [rbx + 0x520]
test rcx, rcx
je 0x140069492
xor r8d, r8d
xor edx, edx
call fcn.14006cb18
mov rcx, qword [rbx + 0x4f0]
cmp rcx, 0xffffffffffffffff
je 0x1400694ad
call qword [sym.imp.WS2_32.dll_closesocket]
or qword [rbx + 0x4f0], 0xffffffffffffffff
call qword [sym.imp.WS2_32.dll_WSACleanup]
mov eax, dword [0x140202e34]
cmp eax, r15d
jne 0x1400694d1
mov rcx, qword [0x140202e48]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x140202e34]
sub eax, r15d
mov rcx, rbx
mov dword [0x140202e34], eax
call fcn.1401630c0
mov rcx, qword [rbp + 0x570]
xor rcx, rsp
call fcn.14015bde0
lea r11, [rsp + 0x680]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret