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

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x160
mov rsi, rdx
mov rbx, rcx
mov ecx, 0x18
mov edx, 8
call fcn.14005d7ed
mov ecx, 1
mov qword [rax], rcx
mov qword [rax + 8], rcx
mov byte [rax + 0x10], 0
mov word [rsp + 0xd8], 1
and qword [rsp + 0xc0], 0
mov qword [rsp + 0xd0], rax
mov rcx, rsi
call fcn.140112e4e
mov rcx, qword [rax]
xorps xmm0, xmm0
lea rdx, [rsp + 0xe0]
movaps xmmword [rdx + 0x70], xmm0
movaps xmmword [rdx + 0x60], xmm0
movaps xmmword [rdx + 0x50], xmm0
movaps xmmword [rdx + 0x40], xmm0
movaps xmmword [rdx + 0x30], xmm0
movaps xmmword [rdx + 0x20], xmm0
movaps xmmword [rdx + 0x10], xmm0
movaps xmmword [rdx], xmm0
lea r8, [rsp + 0x80]
mov dword [r8], pe_nt_image_headers64
call sub.ws2_32.dll_getpeername
cmp eax, 0xffffffff
je 0x140066c72
mov eax, dword [rsp + 0x80]
movzx ecx, word [rsp + 0xe0]
cmp ecx, 2
je 0x140066c81
cmp ecx, 0x17
jne 0x140066cae
cmp eax, 0x1c
jb 0x140066faa
movzx eax, word [rsp + 0xe2]
rol ax, 8
movups xmm0, xmmword [rsp + 0xe8]
mov ecx, dword [rsp + 0xe4]
mov edx, dword [rsp + 0xf8]
mov word [rsp + 0x40], 1
movups xmmword [rsp + 0x44], xmm0
mov dword [rsp + 0x54], ecx
mov dword [rsp + 0x58], edx
mov word [rsp + 0x5c], ax
jmp 0x140066cc1
call sub.ws2_32.dll_WSAGetLastError
shl rax, 0x20
or rax, 2
jmp 0x140066cb5
cmp eax, 0x10
jb 0x140066fbf
mov eax, dword [rsp + 0xe4]
movzx ecx, word [rsp + 0xe2]
and word [rsp + 0x40], 0
rol cx, 8
mov word [rsp + 0x46], cx
mov dword [rsp + 0x42], eax
jmp 0x140066cc1
lea rax, str.invalid_argumentP
mov qword [rsp + 0x48], rax
mov word [rsp + 0x40], 2
mov rcx, rsi
call fcn.140112e4e
mov rcx, qword [rax]
xorps xmm0, xmm0
lea rdx, [rsp + 0xe0]
movaps xmmword [rdx + 0x70], xmm0
movaps xmmword [rdx + 0x60], xmm0
movaps xmmword [rdx + 0x50], xmm0
movaps xmmword [rdx + 0x40], xmm0
movaps xmmword [rdx + 0x30], xmm0
movaps xmmword [rdx + 0x20], xmm0
movaps xmmword [rdx + 0x10], xmm0
movaps xmmword [rdx], xmm0
lea r8, [rsp + 0x80]
mov dword [r8], pe_nt_image_headers64
call sub.ws2_32.dll_getsockname
cmp eax, 0xffffffff
je 0x140066d5f
mov eax, dword [rsp + 0x80]
movzx ecx, word [rsp + 0xe0]
cmp ecx, 2
je 0x140066d6e
cmp ecx, 0x17
jne 0x140066d97
cmp eax, 0x1c
jb 0x140066fd9
movups xmm0, xmmword [rsp + 0xe8]
movzx ecx, word [rsp + 0xe2]
rol cx, 8
mov r8d, dword [rsp + 0xe4]
mov edx, dword [rsp + 0xf8]
movups xmmword [rsp + 0x22], xmm0
mov ax, 1
jmp 0x140066da7
call sub.ws2_32.dll_WSAGetLastError
shl rax, 0x20
or rax, 2
jmp 0x140066d9e
cmp eax, 0x10
jb 0x140066fee
movzx eax, word [rsp + 0xe2]
rol ax, 8
mov ecx, dword [rsp + 0xe4]
mov word [rsp + 0x24], ax
mov dword [rsp + 0x20], ecx
xor eax, eax
jmp 0x140066da7
lea rax, str.invalid_argumentP
mov qword [rsp + 0x26], rax
mov ax, 2
movups xmm0, xmmword [rsp + 0x40]
movups xmm1, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0x90], xmm1
movaps xmmword [rsp + 0x80], xmm0
mov word [rsp + 0xa0], ax
mov r9d, dword [rsp + 0x20]
mov dword [rsp + 0xa2], r9d
movzx r9d, word [rsp + 0x24]
mov word [rsp + 0xa6], r9w
mov r9, qword [rsp + 0x26]
mov qword [rsp + 0xa8], r9
movzx r9d, word [rsp + 0x2e]
mov word [rsp + 0xb0], r9w
movzx r9d, word [rsp + 0x30]
mov word [rsp + 0xb2], r9w
mov dword [rsp + 0xb4], r8d
mov dword [rsp + 0xb8], edx
mov word [rsp + 0xbc], cx
cmp word [rsp + 0x80], 2
je 0x140066f0c
cmp ax, 2
je 0x140066f0c
lea rax, [rsp + 0xa0]
movaps xmm0, xmmword [rax - 0x20]
movaps xmm1, xmmword [rax - 0x10]
movaps xmmword [rsp + 0x50], xmm1
movaps xmmword [rsp + 0x40], xmm0
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x70], xmm1
movups xmm0, xmmword [rsp + 0xc0]
movups xmm1, xmmword [rsp + 0xd0]
movaps xmmword [rsp + 0x20], xmm0
movaps xmmword [rsp + 0x30], xmm1
mov rax, qword [rsp + 0x20]
test rax, rax
je 0x140066f25
mov rcx, qword [rsp + 0x28]
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], rcx
movaps xmm0, xmmword [rsp + 0x40]
movaps xmm1, xmmword [rsp + 0x50]
movaps xmm2, xmmword [rsp + 0x60]
movaps xmm3, xmmword [rsp + 0x70]
movaps xmmword [rsp + 0xe0], xmm0
movaps xmmword [rsp + 0xf0], xmm1
movaps xmmword [rsp + 0x100], xmm2
movaps xmmword [rsp + 0x110], xmm3
mov ecx, 0x50
mov edx, 8
call fcn.14005d7ed
lea rsi, [rsp + 0xe0]
mov ecx, 0xa
mov rdi, rax
rep movsq qword [rdi], qword [rsi]
mov qword [rsp + 0x20], rax
lea rax, fcn.140066934
jmp 0x140066f72
movups xmm0, xmmword [rsp + 0xc0]
movups xmm1, xmmword [rsp + 0xd0]
movups xmmword [rbx + 0x10], xmm1
movups xmmword [rbx], xmm0
jmp 0x140066f91
mov ecx, 0x40
mov edx, 4
call fcn.14005d7ed
mov rdi, rax
movaps xmm0, xmmword [rsp + 0x40]
movaps xmm1, xmmword [rsp + 0x50]
movaps xmm2, xmmword [rsp + 0x60]
movaps xmm3, xmmword [rsp + 0x70]
movups xmmword [rax + 0x30], xmm3
movups xmmword [rax + 0x20], xmm2
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
mov rdx, qword [rsp + 0x28]
xor ecx, ecx
call fcn.140112e44
mov qword [rsp + 0x20], rdi
lea rax, [0x14025b140]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x28]
movaps xmm0, xmmword [rsp + 0x30]
movups xmmword [rbx + 0x10], xmm0
mov qword [rbx], rax
mov qword [rbx + 8], rcx
lea rcx, [rsp + 0x80]
call fcn.1400670a6
nop
add rsp, 0x160
pop rbx
pop rdi
pop rsi
ret
lea r8, [0x14027cf38]
mov edx, 0x43
lea rcx, str.assertion_failed:_len_as_usize___mem::size_of::_c::sockaddr_in6___
jmp 0x140066fd2
lea r8, [0x14027ced8]
mov edx, 0x42
lea rcx, str.assertion_failed:_len_as_usize___mem::size_of::_c::sockaddr_in___library_std_src_sys_common_net.rs
call fcn.140036270
jmp 0x140067006
lea r8, [0x14027cf38]
mov edx, 0x43
lea rcx, str.assertion_failed:_len_as_usize___mem::size_of::_c::sockaddr_in6___
jmp 0x140067001
lea r8, [0x14027ced8]
mov edx, 0x42
lea rcx, str.assertion_failed:_len_as_usize___mem::size_of::_c::sockaddr_in___library_std_src_sys_common_net.rs
call fcn.140036270
ud2