Function at 0x140137a6a
Capabilities:
Get socket status

Disassembly:
jmp 0x1401725f0
mov qword [rsp + 8], rcx
push rbp
push rdi
mov eax, 0x86f8
call fcn.1401345ea
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 [0x140447638]
xor rax, rbp
mov qword [rbp + 0x86b0], rax
lea rcx, reloc.WS2_32.dll_accept
call fcn.14013aa58
call fcn.140134d97
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, [0x140460c30]
lea rcx, [rbp + 0x10]
call fcn.140136b24
lea rax, [rbp + 0x8038]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0x10]
mov ecx, dword [0x140460be0]
call qword [sym.imp.WS2_32.dll_select]
mov dword [rbp + 0x8054], eax
cmp dword [rbp + 0x8054], 0xffffffff
jne 0x1401726f5
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2714
je 0x1401726ee
call fcn.140139adb
mov rdx, rax
lea rcx, str.do_sockets:_select___failed___s__n
call fcn.140135391
mov ecx, 1
call fcn.1401338fc
xor eax, eax
jmp 0x140172a74
xor ecx, ecx
call fcn.1401756d0
mov qword [0x140460be8], rax
mov dword [rbp + 0x8074], 0
jmp 0x14017271d
mov eax, dword [rbp + 0x8074]
inc eax
mov dword [rbp + 0x8074], eax
mov eax, dword [rbp + 0x10]
cmp dword [rbp + 0x8074], eax
jge 0x14017277f
movsxd rax, dword [rbp + 0x8074]
mov rcx, qword [rbp + rax*8 + 0x18]
call fcn.140139aa9
mov dword [rbp + 0x8094], eax
movsxd rax, dword [rbp + 0x8094]
lea rcx, [0x140458be0]
cmp qword [rcx + rax*8], 0
je 0x14017277d
movsxd rax, dword [rbp + 0x8094]
lea rcx, [0x140458be0]
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 0x14017270f
call fcn.140134d97
mov dword [rbp + 0x8074], 1
jmp 0x14017279e
mov eax, dword [rbp + 0x8074]
inc eax
mov dword [rbp + 0x8074], eax
mov eax, dword [0x140460be0]
cmp dword [rbp + 0x8074], eax
jge 0x140172a72
movsxd rax, dword [rbp + 0x8074]
lea rcx, [0x140458be0]
cmp qword [rcx + rax*8], 0
jne 0x1401727c7
jmp 0x140172790
movsxd rax, dword [rbp + 0x8074]
lea rcx, [0x140458be0]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0x40], 0
je 0x1401728a1
movsxd rax, dword [rbp + 0x8074]
lea rcx, [0x140458be0]
mov rax, qword [rcx + rax*8]
mov rdx, qword [rax + 0x40]
mov rcx, qword [0x140460be8]
call fcn.140175670
cmp rax, qword [0x140447398]
jle 0x1401728a1
movsxd rax, dword [rbp + 0x8074]
lea rcx, [0x140458be0]
mov rax, qword [rcx + rax*8]
movzx eax, byte [rax]
shr al, 1
and al, 1
movzx eax, al
test eax, eax
je 0x140172884
movsxd rax, dword [rbp + 0x8074]
lea rcx, [0x140458be0]
mov rax, qword [rcx + rax*8]
movzx eax, byte [rax]
shr al, 2
and al, 3
movzx eax, al
cmp eax, 2
je 0x140172882
movsxd rax, dword [rbp + 0x8074]
lea rcx, [0x140458be0]
mov rax, qword [rcx + rax*8]
movzx eax, byte [rax]
and al, 0xf3
or al, 4
movsxd rcx, dword [rbp + 0x8074]
lea rdx, [0x140458be0]
mov rcx, qword [rdx + rcx*8]
mov byte [rcx], al
jmp 0x1401728a1
mov edx, dword [rbp + 0x8074]
lea rcx, str.Session__d_timed_out_n
call fcn.140139577
mov ecx, dword [rbp + 0x8074]
call fcn.1401341ad
movsxd rax, dword [rbp + 0x8074]
lea rcx, [0x140458be0]
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, [0x140458be0]
cmp qword [rcx + rax*8], 0
jne 0x1401728e4
jmp 0x140172790
movsxd rax, dword [rbp + 0x8074]
lea rcx, [0x140458be0]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0x28], 0x800
jne 0x14017292c
movsxd rax, dword [rbp + 0x8074]
lea rcx, [0x140458be0]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0x18], 0x800
jne 0x14017292c
mov ecx, dword [rbp + 0x8074]
call fcn.1401341ad
jmp 0x140172790
movsxd rax, dword [rbp + 0x8074]
lea rcx, [0x140458be0]
mov rax, qword [rcx + rax*8]
movsxd rcx, dword [rbp + 0x8074]
lea rdx, [0x140458be0]
mov rcx, qword [rdx + rcx*8]
mov rcx, qword [rcx + 0x38]
cmp qword [rax + 0x28], rcx
jne 0x140172993
movsxd rax, dword [rbp + 0x8074]
lea rcx, [0x140458be0]
mov rax, qword [rcx + rax*8]
mov qword [rax + 0x38], 0
movsxd rax, dword [rbp + 0x8074]
lea rcx, [0x140458be0]
mov rax, qword [rcx + rax*8]
mov qword [rax + 0x28], 0
jmp 0x140172a63
movsxd rax, dword [rbp + 0x8074]
lea rcx, [0x140458be0]
mov rax, qword [rcx + rax*8]
movsxd rcx, dword [rbp + 0x8074]
lea rdx, [0x140458be0]
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, [0x140458be0]
mov rcx, qword [rdx + rcx*8]
mov qword [rcx + 0x28], rax
movsxd rax, dword [rbp + 0x8074]
lea rcx, [0x140458be0]
mov rax, qword [rcx + rax*8]
movsxd rcx, dword [rbp + 0x8074]
lea rdx, [0x140458be0]
mov rcx, qword [rdx + rcx*8]
movsxd rdx, dword [rbp + 0x8074]
lea r8, [0x140458be0]
mov rdx, qword [r8 + rdx*8]
mov rcx, qword [rcx + 8]
add rcx, qword [rdx + 0x38]
movsxd rdx, dword [rbp + 0x8074]
lea r8, [0x140458be0]
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.14013b287
movsxd rax, dword [rbp + 0x8074]
lea rcx, [0x140458be0]
mov rax, qword [rcx + rax*8]
mov qword [rax + 0x38], 0
xor eax, eax
test eax, eax
jne 0x14017292c
jmp 0x140172790
xor eax, eax
mov rdi, rax
lea rcx, [rbp - 0x30]
lea rdx, reloc.WS2_32.dll_bind
call fcn.1401394d7
mov rax, rdi
mov rcx, qword [rbp + 0x86b0]
xor rcx, rbp
call fcn.140136af2
lea rsp, [rbp + 0x86c8]
pop rdi
pop rbp
ret