Function at 0x140139d5d
Capabilities:
Get socket status

Disassembly:
jmp 0x140176980
mov qword [rsp + 8], rcx
push rbp
push rdi
mov eax, 0x86f8
call fcn.1401366d5
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 [0x14044e640]
xor rax, rbp
mov qword [rbp + 0x86b0], rax
lea rcx, reloc.WS2_32.dll_accept
call fcn.14013ceb8
call fcn.140136efa
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, [0x1404693f0]
lea rcx, [rbp + 0x10]
call fcn.140138d77
lea rax, [rbp + 0x8038]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0x10]
mov ecx, dword [0x1404693a0]
call qword [sym.imp.WS2_32.dll_select]
mov dword [rbp + 0x8054], eax
cmp dword [rbp + 0x8054], 0xffffffff
jne 0x140176a85
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2714
je 0x140176a7e
call fcn.14013bebe
mov rdx, rax
lea rcx, str.do_sockets:_select___failed___s__n
call fcn.140137517
mov ecx, 1
call fcn.14013596f
xor eax, eax
jmp 0x140176e04
xor ecx, ecx
call fcn.140179b30
mov qword [0x1404693a8], rax
mov dword [rbp + 0x8074], 0
jmp 0x140176aad
mov eax, dword [rbp + 0x8074]
inc eax
mov dword [rbp + 0x8074], eax
mov eax, dword [rbp + 0x10]
cmp dword [rbp + 0x8074], eax
jge 0x140176b0f
movsxd rax, dword [rbp + 0x8074]
mov rcx, qword [rbp + rax*8 + 0x18]
call fcn.14013be8c
mov dword [rbp + 0x8094], eax
movsxd rax, dword [rbp + 0x8094]
lea rcx, [0x1404613a0]
cmp qword [rcx + rax*8], 0
je 0x140176b0d
movsxd rax, dword [rbp + 0x8094]
lea rcx, [0x1404613a0]
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + 0x50]
mov qword [rbp + 0x86a8], rax
mov ecx, dword [rbp + 0x8094]
call qword [rbp + 0x86a8]
jmp 0x140176a9f
call fcn.140136efa
mov dword [rbp + 0x8074], 1
jmp 0x140176b2e
mov eax, dword [rbp + 0x8074]
inc eax
mov dword [rbp + 0x8074], eax
mov eax, dword [0x1404693a0]
cmp dword [rbp + 0x8074], eax
jge 0x140176e02
movsxd rax, dword [rbp + 0x8074]
lea rcx, [0x1404613a0]
cmp qword [rcx + rax*8], 0
jne 0x140176b57
jmp 0x140176b20
movsxd rax, dword [rbp + 0x8074]
lea rcx, [0x1404613a0]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0x40], 0
je 0x140176c31
movsxd rax, dword [rbp + 0x8074]
lea rcx, [0x1404613a0]
mov rax, qword [rcx + rax*8]
mov rdx, qword [rax + 0x40]
mov rcx, qword [0x1404693a8]
call fcn.140179a00
cmp rax, qword [0x14044e398]
jle 0x140176c31
movsxd rax, dword [rbp + 0x8074]
lea rcx, [0x1404613a0]
mov rax, qword [rcx + rax*8]
movzx eax, byte [rax]
shr al, 1
and al, 1
movzx eax, al
test eax, eax
je 0x140176c14
movsxd rax, dword [rbp + 0x8074]
lea rcx, [0x1404613a0]
mov rax, qword [rcx + rax*8]
movzx eax, byte [rax]
shr al, 2
and al, 3
movzx eax, al
cmp eax, 2
je 0x140176c12
movsxd rax, dword [rbp + 0x8074]
lea rcx, [0x1404613a0]
mov rax, qword [rcx + rax*8]
movzx eax, byte [rax]
and al, 0xf3
or al, 4
movsxd rcx, dword [rbp + 0x8074]
lea rdx, [0x1404613a0]
mov rcx, qword [rdx + rcx*8]
mov byte [rcx], al
jmp 0x140176c31
mov edx, dword [rbp + 0x8074]
lea rcx, str.Session__d_timed_out_n
call fcn.14013b946
mov ecx, dword [rbp + 0x8074]
call fcn.14013626b
movsxd rax, dword [rbp + 0x8074]
lea rcx, [0x1404613a0]
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + 0x60]
mov qword [rbp + 0x86a8], rax
mov ecx, dword [rbp + 0x8074]
call qword [rbp + 0x86a8]
movsxd rax, dword [rbp + 0x8074]
lea rcx, [0x1404613a0]
cmp qword [rcx + rax*8], 0
jne 0x140176c74
jmp 0x140176b20
movsxd rax, dword [rbp + 0x8074]
lea rcx, [0x1404613a0]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0x28], 0x800
jne 0x140176cbc
movsxd rax, dword [rbp + 0x8074]
lea rcx, [0x1404613a0]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0x18], 0x800
jne 0x140176cbc
mov ecx, dword [rbp + 0x8074]
call fcn.14013626b
jmp 0x140176b20
movsxd rax, dword [rbp + 0x8074]
lea rcx, [0x1404613a0]
mov rax, qword [rcx + rax*8]
movsxd rcx, dword [rbp + 0x8074]
lea rdx, [0x1404613a0]
mov rcx, qword [rdx + rcx*8]
mov rcx, qword [rcx + 0x38]
cmp qword [rax + 0x28], rcx
jne 0x140176d23
movsxd rax, dword [rbp + 0x8074]
lea rcx, [0x1404613a0]
mov rax, qword [rcx + rax*8]
mov qword [rax + 0x38], 0
movsxd rax, dword [rbp + 0x8074]
lea rcx, [0x1404613a0]
mov rax, qword [rcx + rax*8]
mov qword [rax + 0x28], 0
jmp 0x140176df3
movsxd rax, dword [rbp + 0x8074]
lea rcx, [0x1404613a0]
mov rax, qword [rcx + rax*8]
movsxd rcx, dword [rbp + 0x8074]
lea rdx, [0x1404613a0]
mov rcx, qword [rdx + rcx*8]
mov rax, qword [rax + 0x38]
mov rcx, qword [rcx + 0x28]
sub rcx, rax
mov rax, rcx
movsxd rcx, dword [rbp + 0x8074]
lea rdx, [0x1404613a0]
mov rcx, qword [rdx + rcx*8]
mov qword [rcx + 0x28], rax
movsxd rax, dword [rbp + 0x8074]
lea rcx, [0x1404613a0]
mov rax, qword [rcx + rax*8]
movsxd rcx, dword [rbp + 0x8074]
lea rdx, [0x1404613a0]
mov rcx, qword [rdx + rcx*8]
movsxd rdx, dword [rbp + 0x8074]
lea r8, [0x1404613a0]
mov rdx, qword [r8 + rdx*8]
mov rcx, qword [rcx + 8]
add rcx, qword [rdx + 0x38]
movsxd rdx, dword [rbp + 0x8074]
lea r8, [0x1404613a0]
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.14013d72d
movsxd rax, dword [rbp + 0x8074]
lea rcx, [0x1404613a0]
mov rax, qword [rcx + rax*8]
mov qword [rax + 0x38], 0
xor eax, eax
test eax, eax
jne 0x140176cbc
jmp 0x140176b20
xor eax, eax
mov rdi, rax
lea rcx, [rbp - 0x30]
lea rdx, reloc.WS2_32.dll_bind
call fcn.14013b8a6
mov rax, rdi
mov rcx, qword [rbp + 0x86b0]
xor rcx, rbp
call fcn.140138d40
lea rsp, [rbp + 0x86c8]
pop rdi
pop rbp
ret