Function at 0x14003098f
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, 0xe8
mov r14, rdx
mov rsi, rcx
mov rcx, rdx
call fcn.14009b299
mov rcx, qword [rax]
pxor xmm0, xmm0
lea rdx, [rsp + 0x60]
movdqa xmmword [rdx + 0x70], xmm0
movdqa xmmword [rdx + 0x60], xmm0
movdqa xmmword [rdx + 0x50], xmm0
movdqa xmmword [rdx + 0x40], xmm0
movdqa xmmword [rdx + 0x30], xmm0
movdqa xmmword [rdx + 0x20], xmm0
movdqa xmmword [rdx + 0x10], xmm0
movdqa xmmword [rdx], xmm0
lea r8, [rsp + 0x24]
mov dword [r8], 0x80
call qword [sym.imp.ws2_32.dll_getpeername]
cmp eax, 0xffffffff
je 0x140030a57
mov eax, dword [rsp + 0x24]
movzx ecx, word [rsp + 0x60]
cmp ecx, 2
je 0x140030a69
cmp ecx, 0x17
jne 0x140030a8c
cmp eax, 0x1b
jbe 0x140030c20
movdqu xmm0, xmmword [rsp + 0x68]
movzx r15d, word [rsp + 0x62]
rol r15w, 8
mov eax, dword [rsp + 0x64]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x2c], eax
movdqu xmmword [rsp + 0x4a], xmm0
movq rax, xmm0
pshufd xmm0, xmm0, 0xee
movq rdi, xmm0
shld rdi, rax, 0x20
mov bx, 1
jmp 0x140030a9c
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
mov edi, eax
shl rdi, 0x20
or rdi, 2
jmp 0x140030a93
cmp eax, 0xf
jbe 0x140030c38
movzx eax, word [rsp + 0x62]
rol ax, 8
mov ecx, dword [rsp + 0x64]
mov word [rsp + 0x4c], ax
mov dword [rsp + 0x48], ecx
xor ebx, ebx
jmp 0x140030a9c
lea rdi, str.invalid_argument
mov qword [rsp + 0x4e], rdi
mov bx, 2
mov rcx, r14
call fcn.14009b299
mov rcx, qword [rax]
pxor xmm0, xmm0
lea rdx, [rsp + 0x60]
movdqa xmmword [rdx + 0x70], xmm0
movdqa xmmword [rdx + 0x60], xmm0
movdqa xmmword [rdx + 0x50], xmm0
movdqa xmmword [rdx + 0x40], xmm0
movdqa xmmword [rdx + 0x30], xmm0
movdqa xmmword [rdx + 0x20], xmm0
movdqa xmmword [rdx + 0x10], xmm0
movdqa xmmword [rdx], xmm0
lea r8, [rsp + 0x24]
mov dword [r8], 0x80
call qword [sym.imp.ws2_32.dll_getsockname]
cmp eax, 0xffffffff
je 0x140030b35
mov eax, dword [rsp + 0x24]
movzx ecx, word [rsp + 0x60]
cmp ecx, 2
je 0x140030b48
cmp ecx, 0x17
jne 0x140030bdb
cmp eax, 0x1b
jbe 0x140030c20
movdqu xmm0, xmmword [rsp + 0x68]
movzx r14d, word [rsp + 0x62]
rol r14w, 8
mov r12d, dword [rsp + 0x64]
mov r13d, dword [rsp + 0x78]
movdqu xmmword [rsp + 0x32], xmm0
mov bp, 1
jmp 0x140030b69
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
shl rax, 0x20
or rax, 2
jmp 0x140030be2
cmp eax, 0xf
jbe 0x140030c38
movzx eax, word [rsp + 0x62]
rol ax, 8
mov ecx, dword [rsp + 0x64]
mov word [rsp + 0x34], ax
mov dword [rsp + 0x30], ecx
xor ebp, ebp
cmp bx, 2
je 0x140030beb
mov ecx, 0x40
mov edx, 4
call fcn.14002f1fb
mov word [rax], bx
movups xmm0, xmmword [rsp + 0x48]
movups xmmword [rax + 2], xmm0
movzx ecx, word [rsp + 0x58]
mov word [rax + 0x12], cx
mov ecx, dword [rsp + 0x28]
mov dword [rax + 0x14], ecx
mov ecx, dword [rsp + 0x2c]
mov dword [rax + 0x18], ecx
mov word [rax + 0x1c], r15w
mov word [rax + 0x20], bp
movdqu xmm0, xmmword [rsp + 0x30]
movdqu xmmword [rax + 0x22], xmm0
movzx ecx, word [rsp + 0x40]
mov word [rax + 0x32], cx
mov dword [rax + 0x34], r12d
mov dword [rax + 0x38], r13d
mov word [rax + 0x3c], r14w
mov qword [rsi], rax
lea rax, [0x1400cc348]
mov qword [rsi + 8], rax
jmp 0x140030bef
lea rax, str.invalid_argument
mov qword [rsp + 0x36], rax
mov bp, 2
and qword [rsi], 0
mov word [rsi + 0x10], 1
mov ecx, ebx
mov rdx, rdi
call fcn.140030c51
mov rdx, qword [rsp + 0x36]
mov ecx, ebp
call fcn.140030c51
nop
add rsp, 0xe8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, str.assertion_failed:_len_as_usize___mem::size_of::_c::sockaddr_in6___
lea r8, str.library_std_src_sys_common_net.rsassertion_failed:_len_as_usize___mem::size_of::_c::sockaddr_in___
mov edx, 0x43
call fcn.1400a81a0
lea rcx, [0x1400fd411]
lea r8, str.library_std_src_sys_common_net.rsassertion_failed:_len_as_usize___mem::size_of::_c::sockaddr_in___
mov edx, 0x42
call fcn.1400a81a0
int3