Function at 0x1400487a9
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, 0xd8
mov r14, rdx
mov rsi, rcx
mov ecx, 0x18
mov edx, 8
call fcn.1400469aa
mov rdi, rax
mov eax, 1
mov qword [rdi], rax
mov qword [rdi + 8], rax
mov byte [rdi + 0x10], 0
mov rcx, r14
call fcn.1400d6ef3
mov rcx, qword [rax]
xorps xmm0, xmm0
lea rdx, [rsp + 0x50]
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 + 0x2c]
mov dword [r8], 0x80
call qword [sym.imp.ws2_32.dll_getpeername]
cmp eax, 0xffffffff
je 0x14004886a
mov eax, dword [rsp + 0x2c]
movzx ecx, word [rsp + 0x50]
cmp ecx, 0x17
je 0x140048881
cmp ecx, 2
jne 0x1400488c5
cmp eax, 0xf
jbe 0x140048acd
mov eax, dword [rsp + 0x54]
movzx ecx, word [rsp + 0x52]
rol cx, 8
movzx r13d, cx
shl r13, 0x20
or r13, rax
xor r12d, r12d
jmp 0x1400488d1
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
mov ebx, eax
shl rbx, 0x20
or rbx, 2
mov r12w, 2
jmp 0x1400488d1
cmp eax, 0x1b
jbe 0x140048ab5
movzx eax, word [rsp + 0x52]
rol ax, 8
mov word [rsp + 0x32], ax
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x4c], eax
mov r13d, dword [rsp + 0x58]
shl r13, 0x10
mov rbx, qword [rsp + 0x5c]
mov r12w, 1
mov eax, dword [rsp + 0x64]
mov dword [rsp + 0x44], eax
jmp 0x1400488d1
mov r12w, 2
lea rbx, str.invalid_argument
mov rcx, r14
call fcn.1400d6ef3
mov rcx, qword [rax]
xorps xmm0, xmm0
lea rdx, [rsp + 0x50]
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 + 0x2c]
mov dword [r8], 0x80
call qword [sym.imp.ws2_32.dll_getsockname]
cmp eax, 0xffffffff
je 0x140048964
mov eax, dword [rsp + 0x2c]
movzx ecx, word [rsp + 0x50]
cmp ecx, 2
je 0x14004897a
cmp ecx, 0x17
jne 0x140048a70
cmp eax, 0x1b
jbe 0x140048ab5
movzx ecx, word [rsp + 0x52]
rol cx, 8
mov eax, dword [rsp + 0x54]
mov edx, dword [rsp + 0x68]
mov ebp, dword [rsp + 0x58]
shl rbp, 0x10
mov r14, qword [rsp + 0x5c]
mov r15w, 1
mov r8d, dword [rsp + 0x64]
jmp 0x14004899d
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
mov r14d, eax
shl r14, 0x20
or r14, 2
jmp 0x140048a77
cmp eax, 0xf
jbe 0x140048acd
mov eax, dword [rsp + 0x54]
movzx ecx, word [rsp + 0x52]
rol cx, 8
movzx ebp, cx
shl rbp, 0x20
or rbp, rax
xor r15d, r15d
cmp r12w, 2
je 0x140048a7c
mov word [rsp + 0x30], cx
mov ecx, 0x40
mov dword [rsp + 0x40], edx
mov edx, 4
mov dword [rsp + 0x3c], eax
mov dword [rsp + 0x38], r8d
call fcn.1400469aa
mov dword [rsp + 0x34], r12d
mov r12, rax
mov eax, dword [rsp + 0x34]
mov word [r12], ax
mov dword [r12 + 2], r13d
shr r13, 0x20
mov word [r12 + 6], r13w
mov qword [r12 + 8], rbx
mov eax, dword [rsp + 0x44]
mov dword [r12 + 0x10], eax
mov eax, dword [rsp + 0x48]
mov dword [r12 + 0x14], eax
mov eax, dword [rsp + 0x4c]
mov dword [r12 + 0x18], eax
movzx eax, word [rsp + 0x32]
mov word [r12 + 0x1c], ax
mov word [r12 + 0x20], r15w
mov dword [r12 + 0x22], ebp
shr rbp, 0x20
mov word [r12 + 0x26], bp
mov qword [r12 + 0x28], r14
mov eax, dword [rsp + 0x38]
mov dword [r12 + 0x30], eax
mov eax, dword [rsp + 0x3c]
mov dword [r12 + 0x34], eax
mov eax, dword [rsp + 0x40]
mov dword [r12 + 0x38], eax
movzx eax, word [rsp + 0x30]
mov word [r12 + 0x3c], ax
xor ecx, ecx
call fcn.140047d06
mov qword [rsi], r12
mov r12d, dword [rsp + 0x34]
lea rax, [0x1401ec468]
mov qword [rsi + 8], rax
jmp 0x140048a80
lea r14, str.invalid_argument
mov r15w, 2
and qword [rsi], 0
mov qword [rsi + 0x10], rdi
mov word [rsi + 0x18], 1
mov ecx, r12d
mov rdx, rbx
call fcn.140048ae6
mov ecx, r15d
mov rdx, r14
call fcn.140048ae6
nop
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, str.assertion_failed:_len___mem::size_of::_c::sockaddr_in6___
lea r8, str.Q___
mov edx, 0x3a
call fcn.1401be070
lea rcx, str.assertion_failed:_len___mem::size_of::_c::sockaddr_in___library_std_src_sys_common_net.rs
lea r8, [0x140212278]
mov edx, 0x39
call fcn.1401be070
int3