Function at 0x140031650
Capabilities:
Get socket status

Disassembly:
mov rax, rsp
push rdi
sub rsp, 0xae0
mov qword [rsp + 0xa0], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rsi
mov rax, qword [0x1401043b8]
xor rax, rsp
mov qword [rsp + 0xad0], rax
mov rbx, rdx
mov rdi, rcx
mov dword [rsp + 0x88], reloc.WS2_32.dll_recv
xor esi, esi
mov dword [rsp + 0x90], esi
mov dword [rsp + 0x94], 0x30d40
nop word [rax + rax]
mov rax, qword [rdi + 0x40]
mov qword [rsp + 0xb8], rax
mov dword [rsp + 0xb0], 1
lea ecx, [rax + 1]
lea rax, [rsp + 0x90]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea rdx, [rsp + 0xb0]
call qword [sym.imp.WS2_32.dll_select]
cmp byte [rdi + 0x48], sil
jne 0x14003188d
cmp eax, 0xffffffff
je 0x14003188d
test eax, eax
je 0x1400316b0
test eax, eax
jle 0x1400316b0
lea rdx, [rsp + 0xb0]
mov rcx, qword [rdi + 0x40]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x1400316b0
lea r8, [rsp + 0x88]
mov rdx, rbx
mov rcx, qword [rdi + 0x40]
call qword [sym.imp.WS2_32.dll_accept]
cmp rax, 0xffffffffffffffff
jne 0x1400319e0
lea rax, vtable.Exception.0
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x48]
mov qword [rsp + 0x98], rax
lea rax, vtable.StringStorage.0
mov qword [rsp + 0x48], rax
mov ecx, 8
call fcn.1400797fc
test rax, rax
je 0x140031778
lea rcx, [rsp + 0x50]
mov qword [rax], rcx
jmp 0x14003177b
mov rax, rsi
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x78], rsi
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [0x1400d1b20]
repne scasw ax, word [rdi]
not rcx
mov rdx, rcx
xor r8d, r8d
lea rcx, [rsp + 0x50]
call fcn.14002bfc0
mov rdx, qword [rsp + 0x70]
mov rdi, rdx
mov rbx, qword [rsp + 0x68]
sub rdi, rbx
sar rdi, 1
add rdi, rdi
cmp rbx, rdx
jbe 0x1400317d2
call fcn.1400796a8
mov rax, qword [rsp + 0x50]
test rax, rax
jne 0x1400317e6
call fcn.1400796a8
mov rdx, rsi
jmp 0x1400317e9
mov rdx, qword [rax]
cmp rbx, qword [rdx + 0x20]
jb 0x1400317f4
call fcn.1400796a8
mov r8, rdi
lea rdx, [0x1400d1b20]
mov rcx, rbx
call fcn.14007ad70
nop
lea rdx, [0x1400d1b20]
lea rcx, [rsp + 0x48]
mov rax, qword [rsp + 0x48]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
lea rax, vtable.SocketException.0
mov qword [rsp + 0x40], rax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [rsp + 0x80], eax
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], 0x800
lea rcx, [rsp + 0x2c0]
mov qword [rsp + 0x20], rcx
mov r9d, 0x400
mov r8d, eax
xor edx, edx
mov ecx, 0x1200
call qword [sym.imp.KERNEL32.dll_FormatMessageW]
lea rdx, [rsp + 0x2c0]
lea rcx, [rsp + 0x48]
mov rax, qword [rsp + 0x48]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
lea rdx, [0x140101ce8]
lea rcx, [rsp + 0x40]
call fcn.14007c4b0
int3
lea rax, vtable.Exception.0
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x48]
mov qword [rsp + 0x98], rax
lea rax, vtable.StringStorage.0
mov qword [rsp + 0x48], rax
mov ecx, 8
call fcn.1400797fc
test rax, rax
je 0x1400318cb
lea rcx, [rsp + 0x50]
mov qword [rax], rcx
jmp 0x1400318ce
mov rax, rsi
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x78], rsi
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [0x1400d1b20]
repne scasw ax, word [rdi]
not rcx
mov rdx, rcx
xor r8d, r8d
lea rcx, [rsp + 0x50]
call fcn.14002bfc0
mov rdx, qword [rsp + 0x70]
mov rdi, rdx
mov rbx, qword [rsp + 0x68]
sub rdi, rbx
sar rdi, 1
add rdi, rdi
cmp rbx, rdx
jbe 0x140031925
call fcn.1400796a8
mov rax, qword [rsp + 0x50]
test rax, rax
jne 0x140031939
call fcn.1400796a8
mov rdx, rsi
jmp 0x14003193c
mov rdx, qword [rax]
cmp rbx, qword [rdx + 0x20]
jb 0x140031947
call fcn.1400796a8
mov r8, rdi
lea rdx, [0x1400d1b20]
mov rcx, rbx
call fcn.14007ad70
nop
lea rdx, [0x1400d1b20]
lea rcx, [rsp + 0x48]
mov rax, qword [rsp + 0x48]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
lea rax, vtable.SocketException.0
mov qword [rsp + 0x40], rax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [rsp + 0x80], eax
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], 0x800
lea rcx, [rsp + 0x2c0]
mov qword [rsp + 0x20], rcx
mov r9d, 0x400
mov r8d, eax
xor edx, edx
mov ecx, 0x1200
call qword [sym.imp.KERNEL32.dll_FormatMessageW]
lea rdx, [rsp + 0x2c0]
lea rcx, [rsp + 0x48]
mov rax, qword [rsp + 0x48]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
lea rdx, [0x140101ce8]
lea rcx, [rsp + 0x40]
call fcn.14007c4b0
int3
mov rcx, qword [rsp + 0xad0]
xor rcx, rsp
call fcn.140078e40
lea r11, [rsp + 0xae0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret