Function at 0x140069591
Capabilities:
Get socket status

Disassembly:
test rcx, rcx
je 0x140069b31
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 [0x140202df8]
test rax, rax
mov dword [rsp + 0x40], r14d
mov dword [rbp + 0x150], r14d
cmove rax, rbx
mov dword [rbx + 4], r15d
mov qword [0x140202df8], rax
jmp 0x140069911
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 0x14006971d
mov r10, qword [rbx + 0x550]
test r10, r10
je 0x140069683
mov r10, qword [r10]
jmp 0x140069686
mov r10, r14
test r10, r10
je 0x140069718
cmp qword [r10], r14
je 0x1400696d3
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 0x1400696d3
mov dword [rbx + 0x548], eax
mov rax, qword [rbx + 0x550]
test rax, rax
jne 0x1400696e4
mov rax, r14
jmp 0x1400696e8
add rax, 0x24
mov eax, dword [rax + 8]
test eax, eax
jle 0x1400696fd
cmp eax, dword [rbx + 0x548]
jge 0x1400696fd
mov dword [rbx + 0x548], eax
mov rax, qword [rbx + 0x550]
mov rcx, qword [rax + 0x10]
mov qword [rbx + 0x550], rcx
test rcx, rcx
jne 0x140069672
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 0x140069768
mov rdx, qword [rbx + 0x4f0]
cmp qword [rsp + rcx*8 + 0x48], rdx
je 0x140069768
add ecx, r15d
cmp ecx, r8d
jb 0x140069759
cmp ecx, r8d
jne 0x140069784
cmp r8d, 0x40
jae 0x140069784
mov rax, qword [rbx + 0x4f0]
mov qword [rsp + rcx*8 + 0x48], rax
add dword [rsp + 0x40], r15d
mov rcx, qword [0x140202e08]
or edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
jmp 0x1400697eb
mov rax, qword [rbx + 0x518]
mov rdi, qword [rax + 0x18]
mov qword [rbx + 0x550], rdi
test rdi, rdi
je 0x1400697b2
mov rdi, qword [rdi]
jmp 0x1400697b5
mov rdi, r14
mov rcx, qword [rbx + 0x510]
mov rdx, rdi
call fcn.14006ce7c
mov rcx, qword [rbx + 0x550]
call fcn.14006ce10
test rdi, rdi
je 0x1400697eb
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x1400697e3
mov rcx, rdi
call rax
mov rcx, rdi
call fcn.140163938
mov rax, qword [rbx + 0x518]
cmp dword [rax + 8], r14d
jg 0x140069796
mov rcx, qword [0x140202e08]
xor r8d, r8d
mov edx, r15d
call qword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
add dword [rbx + 0x52c], r15d
cmp dword [rbp + 0x360], r14d
jne 0x140069838
cmp dword [rbp + 0x150], r14d
jne 0x140069838
mov ecx, dword [rbx + 0x548]
mov edx, r15d
call qword [sym.imp.KERNEL32.dll_SleepEx]
or esi, 0xffffffff
jmp 0x140069862
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 0x140069881
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 0x140069911
mov rdi, qword [rbx + 0x550]
test rdi, rdi
je 0x1400698a9
mov rdi, qword [rdi]
jmp 0x1400698ac
mov rdi, r14
test rdi, rdi
je 0x140069911
mov rax, qword [rdi + 8]
test rax, rax
je 0x1400698d9
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 0x1400698ec
lea rax, [rdx + 0x24]
mov r8, qword [rax]
test r8, r8
je 0x1400698fa
mov rcx, rdi
call r8
mov rax, qword [rbx + 0x550]
mov rcx, qword [rax + 0x10]
mov qword [rbx + 0x550], rcx
test rcx, rcx
jne 0x140069898
cmp dword [rbx], r14d
je 0x14006962e
cmp qword [rbx + 0x538], r14
je 0x140069930
mov rcx, qword [rbx + 0x540]
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov rdi, qword [rbx + 0x508]
test rdi, rdi
je 0x140069977
mov rdi, qword [rdi + 0x18]
jmp 0x14006995f
mov rsi, qword [rdi]
test rsi, rsi
je 0x14006995b
mov rdx, qword [rsi + 8]
mov rcx, rbx
call qword [rsi]
mov rcx, rsi
call fcn.140163938
mov rdi, qword [rdi + 0x10]
test rdi, rdi
jne 0x140069942
mov rcx, qword [rbx + 0x508]
call fcn.14006cf64
mov qword [rbx + 0x508], r14
mov rax, qword [rbx + 0x510]
mov rax, qword [rax + 0x18]
mov qword [rbx + 0x550], rax
test rax, rax
je 0x140069999
mov rax, qword [rax + 0x10]
mov qword [rbx + 0x550], rax
mov dword [rbx], r15d
cmp qword [rbx + 0x550], r14
je 0x1400699ec
mov rdi, qword [rbx + 0x550]
test rdi, rdi
je 0x1400699b6
mov rdi, qword [rdi]
jmp 0x1400699b9
mov rdi, r14
test rdi, rdi
je 0x1400699ec
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x1400699cc
mov rcx, rdi
call rax
mov rcx, rdi
call fcn.140163938
mov rcx, qword [rbx + 0x550]
call fcn.14006ce10
mov qword [rbx + 0x550], rax
test rax, rax
jne 0x1400699a5
mov rax, qword [0x140202df8]
cmp rax, rbx
cmove rax, r14
mov qword [0x140202df8], rax
mov rax, qword [rbx + 0x510]
mov rdi, qword [rax + 0x18]
mov qword [rbx + 0x550], rdi
test rdi, rdi
je 0x140069a35
mov rdi, qword [rdi]
test rdi, rdi
je 0x140069a35
mov rcx, rdi
call qword [rdi + reloc.WS2_32.dll_recv]
mov rcx, rdi
call fcn.140163938
mov qword [rbx + 0x4f8], r14
mov rcx, qword [rbx + 0x510]
call fcn.14006cf64
mov rax, qword [rbx + 0x518]
mov rcx, qword [rax + 0x18]
jmp 0x140069a88
mov rdi, qword [rbx + 0x550]
test rdi, rdi
je 0x140069a5f
mov rdi, qword [rdi]
jmp 0x140069a62
mov rdi, r14
test rdi, rdi
je 0x140069a94
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x140069a75
mov rcx, rdi
call rax
mov rcx, rdi
call fcn.140163938
mov rax, qword [rbx + 0x550]
mov rcx, qword [rax + 0x10]
mov qword [rbx + 0x550], rcx
test rcx, rcx
jne 0x140069a4e
mov rcx, qword [rbx + 0x518]
call fcn.14006cf64
mov rcx, qword [rbx + 0x520]
test rcx, rcx
je 0x140069ab6
xor r8d, r8d
xor edx, edx
call fcn.14006d188
mov rcx, qword [rbx + 0x4f0]
cmp rcx, 0xffffffffffffffff
je 0x140069ad1
call qword [sym.imp.WS2_32.dll_closesocket]
or qword [rbx + 0x4f0], 0xffffffffffffffff
call qword [sym.imp.WS2_32.dll_WSACleanup]
mov eax, dword [0x140202df4]
cmp eax, r15d
jne 0x140069af5
mov rcx, qword [0x140202e08]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x140202df4]
sub eax, r15d
mov rcx, rbx
mov dword [0x140202df4], eax
call fcn.140163938
mov rcx, qword [rbp + 0x570]
xor rcx, rsp
call fcn.14015c600
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