Function at 0x140073db9
Capabilities:
Get socket status

Disassembly:
test rcx, rcx
je 0x140074359
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 [0x14021c510]
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 [0x14021fe98]
test rax, rax
mov dword [rsp + 0x40], r14d
mov dword [rbp + 0x150], r14d
cmove rax, rbx
mov dword [rbx + 4], r15d
mov qword [0x14021fe98], rax
jmp 0x140074139
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 + 0x558], rcx
mov dword [rbx + 0x550], 0x5265c00
test rcx, rcx
je 0x140073f45
mov r10, qword [rbx + 0x558]
test r10, r10
je 0x140073eab
mov r10, qword [r10]
jmp 0x140073eae
mov r10, r14
test r10, r10
je 0x140073f40
cmp qword [r10], r14
je 0x140073efb
mov eax, dword [rbx + 0x550]
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 + 0x550]
jge 0x140073efb
mov dword [rbx + 0x550], eax
mov rax, qword [rbx + 0x558]
test rax, rax
jne 0x140073f0c
mov rax, r14
jmp 0x140073f10
add rax, 0x24
mov eax, dword [rax + 8]
test eax, eax
jle 0x140073f25
cmp eax, dword [rbx + 0x550]
jge 0x140073f25
mov dword [rbx + 0x550], eax
mov rax, qword [rbx + 0x558]
mov rcx, qword [rax + 0x10]
mov qword [rbx + 0x558], rcx
test rcx, rcx
jne 0x140073e9a
mov r8d, dword [rsp + 0x40]
mov ecx, dword [rbx + 0x550]
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 0x140073f90
mov rdx, qword [rbx + 0x4f0]
cmp qword [rsp + rcx*8 + 0x48], rdx
je 0x140073f90
add ecx, r15d
cmp ecx, r8d
jb 0x140073f81
cmp ecx, r8d
jne 0x140073fac
cmp r8d, 0x40
jae 0x140073fac
mov rax, qword [rbx + 0x4f0]
mov qword [rsp + rcx*8 + 0x48], rax
add dword [rsp + 0x40], r15d
mov rcx, qword [0x14021fea8]
or edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
jmp 0x140074013
mov rax, qword [rbx + 0x518]
mov rdi, qword [rax + 0x18]
mov qword [rbx + 0x558], rdi
test rdi, rdi
je 0x140073fda
mov rdi, qword [rdi]
jmp 0x140073fdd
mov rdi, r14
mov rcx, qword [rbx + 0x510]
mov rdx, rdi
call fcn.1400776f0
mov rcx, qword [rbx + 0x558]
call fcn.140077684
test rdi, rdi
je 0x140074013
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x14007400b
mov rcx, rdi
call rax
mov rcx, rdi
call fcn.14016f3a8
mov rax, qword [rbx + 0x518]
cmp dword [rax + 8], r14d
jg 0x140073fbe
mov rcx, qword [0x14021fea8]
xor r8d, r8d
mov edx, r15d
call qword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
add dword [rbx + 0x52c], r15d
cmp dword [rbp + 0x360], r14d
jne 0x140074060
cmp dword [rbp + 0x150], r14d
jne 0x140074060
mov ecx, dword [rbx + 0x550]
mov edx, r15d
call qword [sym.imp.KERNEL32.dll_SleepEx]
or esi, 0xffffffff
jmp 0x14007408a
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 0x1400740a9
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 + 0x558], rdx
test rdx, rdx
je 0x140074139
mov rdi, qword [rbx + 0x558]
test rdi, rdi
je 0x1400740d1
mov rdi, qword [rdi]
jmp 0x1400740d4
mov rdi, r14
test rdi, rdi
je 0x140074139
mov rax, qword [rdi + 8]
test rax, rax
je 0x140074101
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 + 0x558]
mov rax, r14
test rdx, rdx
je 0x140074114
lea rax, [rdx + 0x24]
mov r8, qword [rax]
test r8, r8
je 0x140074122
mov rcx, rdi
call r8
mov rax, qword [rbx + 0x558]
mov rcx, qword [rax + 0x10]
mov qword [rbx + 0x558], rcx
test rcx, rcx
jne 0x1400740c0
cmp dword [rbx], r14d
je 0x140073e56
cmp qword [rbx + 0x538], r14
je 0x140074158
mov rcx, qword [rbx + 0x548]
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov rdi, qword [rbx + 0x508]
test rdi, rdi
je 0x14007419f
mov rdi, qword [rdi + 0x18]
jmp 0x140074187
mov rsi, qword [rdi]
test rsi, rsi
je 0x140074183
mov rdx, qword [rsi + 8]
mov rcx, rbx
call qword [rsi]
mov rcx, rsi
call fcn.14016f3a8
mov rdi, qword [rdi + 0x10]
test rdi, rdi
jne 0x14007416a
mov rcx, qword [rbx + 0x508]
call fcn.1400777d8
mov qword [rbx + 0x508], r14
mov rax, qword [rbx + 0x510]
mov rax, qword [rax + 0x18]
mov qword [rbx + 0x558], rax
test rax, rax
je 0x1400741c1
mov rax, qword [rax + 0x10]
mov qword [rbx + 0x558], rax
mov dword [rbx], r15d
cmp qword [rbx + 0x558], r14
je 0x140074214
mov rdi, qword [rbx + 0x558]
test rdi, rdi
je 0x1400741de
mov rdi, qword [rdi]
jmp 0x1400741e1
mov rdi, r14
test rdi, rdi
je 0x140074214
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x1400741f4
mov rcx, rdi
call rax
mov rcx, rdi
call fcn.14016f3a8
mov rcx, qword [rbx + 0x558]
call fcn.140077684
mov qword [rbx + 0x558], rax
test rax, rax
jne 0x1400741cd
mov rax, qword [0x14021fe98]
cmp rax, rbx
cmove rax, r14
mov qword [0x14021fe98], rax
mov rax, qword [rbx + 0x510]
mov rdi, qword [rax + 0x18]
mov qword [rbx + 0x558], rdi
test rdi, rdi
je 0x14007425d
mov rdi, qword [rdi]
test rdi, rdi
je 0x14007425d
mov rcx, rdi
call qword [rdi + reloc.WS2_32.dll_recv]
mov rcx, rdi
call fcn.14016f3a8
mov qword [rbx + 0x4f8], r14
mov rcx, qword [rbx + 0x510]
call fcn.1400777d8
mov rax, qword [rbx + 0x518]
mov rcx, qword [rax + 0x18]
jmp 0x1400742b0
mov rdi, qword [rbx + 0x558]
test rdi, rdi
je 0x140074287
mov rdi, qword [rdi]
jmp 0x14007428a
mov rdi, r14
test rdi, rdi
je 0x1400742bc
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x14007429d
mov rcx, rdi
call rax
mov rcx, rdi
call fcn.14016f3a8
mov rax, qword [rbx + 0x558]
mov rcx, qword [rax + 0x10]
mov qword [rbx + 0x558], rcx
test rcx, rcx
jne 0x140074276
mov rcx, qword [rbx + 0x518]
call fcn.1400777d8
mov rcx, qword [rbx + 0x520]
test rcx, rcx
je 0x1400742de
xor r8d, r8d
xor edx, edx
call fcn.1400779fc
mov rcx, qword [rbx + 0x4f0]
cmp rcx, 0xffffffffffffffff
je 0x1400742f9
call qword [sym.imp.WS2_32.dll_closesocket]
or qword [rbx + 0x4f0], 0xffffffffffffffff
call qword [sym.imp.WS2_32.dll_WSACleanup]
mov eax, dword [0x14021fe90]
cmp eax, r15d
jne 0x14007431d
mov rcx, qword [0x14021fea8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x14021fe90]
sub eax, r15d
mov rcx, rbx
mov dword [0x14021fe90], eax
call fcn.14016f3a8
mov rcx, qword [rbp + 0x570]
xor rcx, rsp
call fcn.140168070
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