Function at 0x14004efa0
Capabilities:
Get local ipv4 addresses
Get socket information

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xc8
cmp rdx, 0xffffffffffffffff
je 0x14004f38a
mov rbx, rdx
mov rsi, rcx
xorps xmm0, xmm0
movaps xmmword [rsp + 0xb0], xmm0
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0x80], xmm0
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x40], xmm0
mov dword [rsp + 0x20], 0x80
lea rdx, [rsp + 0x40]
lea r8, [rsp + 0x20]
mov rcx, rbx
call sub.ws2_32.dll_getpeername
cmp eax, 0xffffffff
je 0x14004f051
mov eax, dword [rsp + 0x20]
movzx ecx, word [rsp + 0x40]
cmp ecx, 0x17
je 0x14004f067
cmp ecx, 2
jne 0x14004f0aa
cmp eax, 0x10
jb 0x14004f3be
mov eax, dword [rsp + 0x44]
movzx ecx, word [rsp + 0x42]
rol cx, 8
movzx r14d, cx
shl r14, 0x20
or r14, rax
xor ebp, ebp
jmp 0x14004f0b5
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
mov edi, eax
shl rdi, 0x20
or rdi, 2
mov bp, 2
jmp 0x14004f0b5
cmp eax, 0x1c
jb 0x14004f3a4
mov rdi, qword [rsp + 0x4c]
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x3c], eax
movzx eax, word [rsp + 0x42]
rol ax, 8
mov word [rsp + 0x26], ax
mov eax, dword [rsp + 0x44]
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x34], eax
mov r14d, dword [rsp + 0x48]
shl r14, 0x10
mov bp, 1
jmp 0x14004f0b5
mov bp, 2
lea rdi, str.invalid_argument
xorps xmm0, xmm0
movaps xmmword [rsp + 0xb0], xmm0
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0x80], xmm0
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x40], xmm0
mov dword [rsp + 0x20], 0x80
lea rdx, [rsp + 0x40]
lea r8, [rsp + 0x20]
mov rcx, rbx
call sub.ws2_32.dll_getsockname
cmp eax, 0xffffffff
je 0x14004f22a
mov eax, dword [rsp + 0x20]
movzx ecx, word [rsp + 0x40]
cmp ecx, 2
je 0x14004f255
cmp ecx, 0x17
jne 0x14004f29b
cmp eax, 0x1c
jb 0x14004f3a4
mov rbx, qword [rsp + 0x4c]
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x30], eax
movzx r15d, word [rsp + 0x42]
rol r15w, 8
mov eax, dword [rsp + 0x44]
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x28], eax
mov r13d, dword [rsp + 0x48]
shl r13, 0x10
mov r12w, 1
cmp bp, 2
je 0x14004f283
mov rcx, qword [0x14017e260]
test rcx, rcx
jne 0x14004f198
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x14004f3d8
mov rcx, rax
mov qword [0x14017e260], rax
mov r8d, 0x40
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x14004f3d8
mov word [rax], bp
mov dword [rax + 2], r14d
shr r14, 0x20
mov word [rax + 6], r14w
mov qword [rax + 8], rdi
mov ecx, dword [rsp + 0x3c]
mov dword [rax + 0x10], ecx
mov ecx, dword [rsp + 0x38]
mov dword [rax + 0x14], ecx
mov ecx, dword [rsp + 0x34]
mov dword [rax + 0x18], ecx
movzx ecx, word [rsp + 0x26]
mov word [rax + 0x1c], cx
mov word [rax + 0x20], r12w
mov dword [rax + 0x22], r13d
shr r13, 0x20
mov word [rax + 0x26], r13w
mov qword [rax + 0x28], rbx
mov ecx, dword [rsp + 0x30]
mov dword [rax + 0x30], ecx
mov ecx, dword [rsp + 0x2c]
mov dword [rax + 0x34], ecx
mov ecx, dword [rsp + 0x28]
mov dword [rax + 0x38], ecx
mov word [rax + 0x3c], r15w
mov qword [rsi], rax
lea rax, [0x14012f628]
mov qword [rsi + 8], rax
mov word [rsi + 0x10], 1
jmp 0x14004f375
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
mov ebx, eax
shl rbx, 0x20
or rbx, 2
mov qword [rsi], 0
mov word [rsi + 0x10], 1
mov r14b, 1
cmp bp, 2
je 0x14004f2b8
jmp 0x14004f30f
cmp eax, 0x10
jb 0x14004f3be
mov eax, dword [rsp + 0x44]
movzx ecx, word [rsp + 0x42]
rol cx, 8
movzx r13d, cx
shl r13, 0x20
or r13, rax
xor r12d, r12d
cmp bp, 2
jne 0x14004f173
xor r14d, r14d
mov qword [rsi], 0
mov word [rsi + 0x10], 1
cmp bp, 2
je 0x14004f2b8
jmp 0x14004f30a
mov qword [rsi], 0
mov word [rsi + 0x10], 1
mov r14b, 1
lea rbx, str.invalid_argument
cmp bp, 2
jne 0x14004f30f
mov eax, edi
and eax, 3
cmp eax, 1
jne 0x14004f30a
lea rsi, [rdi - 1]
mov rcx, qword [rdi - 1]
mov rax, qword [rdi + 7]
call qword [rax]
mov rax, qword [rdi + 7]
cmp qword [rax + 8], 0
je 0x14004f2f8
mov r8, qword [rsi]
cmp qword [rax + 0x10], 0x11
jb 0x14004f2e9
mov r8, qword [r8 - 8]
mov rcx, qword [0x14017e260]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, qword [0x14017e260]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
test r14b, r14b
je 0x14004f375
mov eax, ebx
and eax, 3
cmp eax, 1
jne 0x14004f375
lea rsi, [rbx - 1]
mov rcx, qword [rbx - 1]
mov rax, qword [rbx + 7]
call qword [rax]
mov rax, qword [rbx + 7]
cmp qword [rax + 8], 0
je 0x14004f34f
mov r8, qword [rsi]
cmp qword [rax + 0x10], 0x11
jb 0x14004f340
mov r8, qword [r8 - 8]
mov rcx, qword [0x14017e260]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, qword [0x14017e260]
xor edx, edx
mov r8, rsi
add rsp, 0xc8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp qword [sym.imp.kernel32.dll_HeapFree]
nop
add rsp, 0xc8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, str.called__Option::unwrap____on_a__None__value
lea r8, str.C:Usersmixer.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.21.2_srciopoll_evented.rs
mov edx, 0x2b
call fcn.14010b520
ud2
lea rcx, str.assertion_failed:_len_as_usize___mem::size_of::_c::sockaddr_in6___library_std_src_sys_common_net.rs
lea r8, [0x14014db90]
mov edx, 0x43
call fcn.14010b520
ud2
lea rcx, str.assertion_failed:_len_as_usize___mem::size_of::_c::sockaddr_in___
lea r8, [0x14014dbf0]
mov edx, 0x42
call fcn.14010b520
ud2
mov ecx, 0x40
mov edx, 4
call fcn.14010b0b0
ud2