Function at 0x1401666e9
Capabilities:
Get socket status

Disassembly:
jmp 0x140215e80
mov qword [rsp + 8], rcx
push rbp
push rdi
mov eax, 0x86f8
call fcn.140161e46
sub rsp, rax
lea rbp, [rsp + 0x30]
lea rdi, [rsp + 0x30]
mov ecx, 0x2032
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x8718]
mov rax, qword [0x1404ee780]
xor rax, rbp
mov qword [rbp + 0x86b0], rax
lea rcx, reloc.WS2_32.dll_accept
call fcn.14016a9fb
call fcn.140162936
mov rax, qword [rbp + 0x86e0]
cqo
mov ecx, 0x3e8
idiv rcx
mov dword [rbp + 0x8038], eax
mov rax, qword [rbp + 0x86e0]
cqo
mov ecx, 0x3e8
idiv rcx
mov rax, rdx
imul rax, rax, 0x3e8
mov dword [rbp + 0x803c], eax
mov r8d, 0x8008
lea rdx, [0x140515b90]
lea rcx, [rbp + 0x10]
call fcn.14016526c
lea rax, [rbp + 0x8038]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0x10]
mov ecx, dword [0x140515b40]
call qword [sym.imp.WS2_32.dll_select]
mov dword [rbp + 0x8054], eax
cmp dword [rbp + 0x8054], 0xffffffff
jne 0x140215f85
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2714
je 0x140215f7e
call fcn.1401693b2
mov rdx, rax
lea rcx, str.do_sockets:_select___failed___s__n
call fcn.1401631c9
mov ecx, 1
call fcn.140160c21
xor eax, eax
jmp 0x1402162e5
xor ecx, ecx
call fcn.1402193e0
mov qword [0x140515b48], rax
mov dword [rbp + 0x8074], 0
jmp 0x140215fad
mov eax, dword [rbp + 0x8074]
inc eax
mov dword [rbp + 0x8074], eax
mov eax, dword [rbp + 0x10]
cmp dword [rbp + 0x8074], eax
jge 0x140216001
movsxd rax, dword [rbp + 0x8074]
mov rcx, qword [rbp + rax*8 + 0x18]
call fcn.140169371
mov dword [rbp + 0x8094], eax
movsxd rax, dword [rbp + 0x8094]
lea rcx, [0x14050db40]
cmp qword [rcx + rax*8], 0
je 0x140215fff
movsxd rax, dword [rbp + 0x8094]
lea rcx, [0x14050db40]
mov rax, qword [rcx + rax*8]
mov ecx, dword [rbp + 0x8094]
call qword [rax + 0x50]
jmp 0x140215f9f
call fcn.140162936
mov dword [rbp + 0x8074], 1
jmp 0x140216020
mov eax, dword [rbp + 0x8074]
inc eax
mov dword [rbp + 0x8074], eax
mov eax, dword [0x140515b40]
cmp dword [rbp + 0x8074], eax
jge 0x1402162e3
movsxd rax, dword [rbp + 0x8074]
lea rcx, [0x14050db40]
cmp qword [rcx + rax*8], 0
jne 0x140216049
jmp 0x140216012
movsxd rax, dword [rbp + 0x8074]
lea rcx, [0x14050db40]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0x40], 0
je 0x140216123
movsxd rax, dword [rbp + 0x8074]
lea rcx, [0x14050db40]
mov rax, qword [rcx + rax*8]
mov rdx, qword [rax + 0x40]
mov rcx, qword [0x140515b48]
call fcn.140219380
cmp rax, qword [0x1404ee040]
jle 0x140216123
movsxd rax, dword [rbp + 0x8074]
lea rcx, [0x14050db40]
mov rax, qword [rcx + rax*8]
movzx eax, byte [rax]
shr al, 1
and al, 1
movzx eax, al
test eax, eax
je 0x140216106
movsxd rax, dword [rbp + 0x8074]
lea rcx, [0x14050db40]
mov rax, qword [rcx + rax*8]
movzx eax, byte [rax]
shr al, 2
and al, 3
movzx eax, al
cmp eax, 2
je 0x140216104
movsxd rax, dword [rbp + 0x8074]
lea rcx, [0x14050db40]
mov rax, qword [rcx + rax*8]
movzx eax, byte [rax]
and al, 0xf3
or al, 4
movsxd rcx, dword [rbp + 0x8074]
lea rdx, [0x14050db40]
mov rcx, qword [rdx + rcx*8]
mov byte [rcx], al
jmp 0x140216123
mov edx, dword [rbp + 0x8074]
lea rcx, str.Session__d_timed_out_n
call fcn.140168c9b
mov ecx, dword [rbp + 0x8074]
call fcn.140161860
movsxd rax, dword [rbp + 0x8074]
lea rcx, [0x14050db40]
mov rax, qword [rcx + rax*8]
mov ecx, dword [rbp + 0x8074]
call qword [rax + 0x60]
movsxd rax, dword [rbp + 0x8074]
lea rcx, [0x14050db40]
cmp qword [rcx + rax*8], 0
jne 0x140216158
jmp 0x140216012
movsxd rax, dword [rbp + 0x8074]
lea rcx, [0x14050db40]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0x28], 0x800
jne 0x1402161a0
movsxd rax, dword [rbp + 0x8074]
lea rcx, [0x14050db40]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0x18], 0x800
jne 0x1402161a0
mov ecx, dword [rbp + 0x8074]
call fcn.140161860
jmp 0x140216012
movsxd rax, dword [rbp + 0x8074]
lea rcx, [0x14050db40]
mov rax, qword [rcx + rax*8]
movsxd rcx, dword [rbp + 0x8074]
lea rdx, [0x14050db40]
mov rcx, qword [rdx + rcx*8]
mov rcx, qword [rcx + 0x38]
cmp qword [rax + 0x28], rcx
jne 0x140216207
movsxd rax, dword [rbp + 0x8074]
lea rcx, [0x14050db40]
mov rax, qword [rcx + rax*8]
mov qword [rax + 0x38], 0
movsxd rax, dword [rbp + 0x8074]
lea rcx, [0x14050db40]
mov rax, qword [rcx + rax*8]
mov qword [rax + 0x28], 0
jmp 0x1402162d4
movsxd rax, dword [rbp + 0x8074]
lea rcx, [0x14050db40]
mov rax, qword [rcx + rax*8]
movsxd rcx, dword [rbp + 0x8074]
lea rdx, [0x14050db40]
mov rcx, qword [rdx + rcx*8]
mov rcx, qword [rcx + 0x38]
mov rax, qword [rax + 0x28]
sub rax, rcx
movsxd rcx, dword [rbp + 0x8074]
lea rdx, [0x14050db40]
mov rcx, qword [rdx + rcx*8]
mov qword [rcx + 0x28], rax
movsxd rax, dword [rbp + 0x8074]
lea rcx, [0x14050db40]
mov rax, qword [rcx + rax*8]
movsxd rcx, dword [rbp + 0x8074]
lea rdx, [0x14050db40]
mov rcx, qword [rdx + rcx*8]
movsxd rdx, dword [rbp + 0x8074]
lea r8, [0x14050db40]
mov rdx, qword [r8 + rdx*8]
mov rcx, qword [rcx + 8]
add rcx, qword [rdx + 0x38]
movsxd rdx, dword [rbp + 0x8074]
lea r8, [0x14050db40]
mov rdx, qword [r8 + rdx*8]
mov qword [rbp + 0x86a8], rdx
mov r8, qword [rax + 0x28]
mov rdx, rcx
mov rax, qword [rbp + 0x86a8]
mov rcx, qword [rax + 8]
call fcn.14016b5fe
movsxd rax, dword [rbp + 0x8074]
lea rcx, [0x14050db40]
mov rax, qword [rcx + rax*8]
mov qword [rax + 0x38], 0
xor eax, eax
test eax, eax
jne 0x1402161a0
jmp 0x140216012
xor eax, eax
mov rdi, rax
lea rcx, [rbp - 0x30]
lea rdx, reloc.WS2_32.dll_bind
call fcn.140168bb0
mov rax, rdi
mov rcx, qword [rbp + 0x86b0]
xor rcx, rbp
call fcn.140165226
lea rsp, [rbp + 0x86c8]
pop rdi
pop rbp
ret