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

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x140
mov rdi, rdx
mov rsi, rcx
mov ecx, 0x18
mov edx, 8
call fcn.140001b98
mov ecx, 1
mov qword [rax], rcx
mov qword [rax + 8], rcx
mov byte [rax + 0x10], 0
mov word [rsp + 0xb8], 1
and qword [rsp + 0xa0], 0
mov qword [rsp + 0xb0], rax
mov rcx, rdi
call fcn.1400ec816
mov rcx, qword [rax]
xorps xmm0, xmm0
lea rdx, [rsp + 0xc0]
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 + 0x60]
mov dword [r8], pe_nt_image_headers64
call sub.ws2_32.dll_getpeername
cmp eax, 0xffffffff
je 0x14003dcb2
mov eax, dword [rsp + 0x60]
movzx ecx, word [rsp + 0xc0]
cmp ecx, 2
je 0x14003dcc1
cmp ecx, 0x17
jne 0x14003dcee
cmp eax, 0x1b
jbe 0x14003dfcc
movzx eax, word [rsp + 0xc2]
rol ax, 8
movups xmm0, xmmword [rsp + 0xc8]
mov ecx, dword [rsp + 0xc4]
mov edx, dword [rsp + 0xd8]
mov word [rsp + 0x20], 1
movups xmmword [rsp + 0x24], xmm0
mov dword [rsp + 0x34], ecx
mov dword [rsp + 0x38], edx
mov word [rsp + 0x3c], ax
jmp 0x14003dd01
call sub.ws2_32.dll_WSAGetLastError
shl rax, 0x20
or rax, 2
jmp 0x14003dcf5
cmp eax, 0xf
jbe 0x14003dfe1
mov eax, dword [rsp + 0xc4]
movzx ecx, word [rsp + 0xc2]
and word [rsp + 0x20], 0
rol cx, 8
mov word [rsp + 0x26], cx
mov dword [rsp + 0x22], eax
jmp 0x14003dd01
lea rax, str.invalid_argument
mov qword [rsp + 0x28], rax
mov word [rsp + 0x20], 2
mov rcx, rdi
call fcn.1400ec816
mov rcx, qword [rax]
xorps xmm0, xmm0
lea rdx, [rsp + 0xc0]
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 + 0x60]
mov dword [r8], pe_nt_image_headers64
call sub.ws2_32.dll_getsockname
cmp eax, 0xffffffff
je 0x14003dd99
mov eax, dword [rsp + 0x60]
movzx ecx, word [rsp + 0xc0]
cmp ecx, 2
je 0x14003dda8
cmp ecx, 0x17
jne 0x14003ddd1
cmp eax, 0x1b
jbe 0x14003dffb
movups xmm0, xmmword [rsp + 0xc8]
movzx ecx, word [rsp + 0xc2]
rol cx, 8
mov r8d, dword [rsp + 0xc4]
mov edx, dword [rsp + 0xd8]
movups xmmword [rsp + 0x4a], xmm0
mov ax, 1
jmp 0x14003dde1
call sub.ws2_32.dll_WSAGetLastError
shl rax, 0x20
or rax, 2
jmp 0x14003ddd8
cmp eax, 0xf
jbe 0x14003e010
movzx eax, word [rsp + 0xc2]
rol ax, 8
mov ecx, dword [rsp + 0xc4]
mov word [rsp + 0x4c], ax
mov dword [rsp + 0x48], ecx
xor eax, eax
jmp 0x14003dde1
lea rax, str.invalid_argument
mov qword [rsp + 0x4e], rax
mov ax, 2
movups xmm0, xmmword [rsp + 0x20]
movups xmm1, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0x70], xmm1
movaps xmmword [rsp + 0x60], xmm0
mov word [rsp + 0x80], ax
mov r9d, dword [rsp + 0x48]
mov dword [rsp + 0x82], r9d
movzx r9d, word [rsp + 0x4c]
mov word [rsp + 0x86], r9w
mov r9, qword [rsp + 0x4e]
mov qword [rsp + 0x88], r9
movzx r9d, word [rsp + 0x56]
mov word [rsp + 0x90], r9w
movzx r9d, word [rsp + 0x58]
mov word [rsp + 0x92], r9w
mov dword [rsp + 0x94], r8d
mov dword [rsp + 0x98], edx
mov word [rsp + 0x9c], cx
cmp word [rsp + 0x60], 2
je 0x14003df25
cmp ax, 2
je 0x14003df25
lea rax, [rsp + 0x80]
movaps xmm0, xmmword [rax - 0x20]
movaps xmm1, xmmword [rax - 0x10]
movaps xmmword [rsp + 0xd0], xmm1
movaps xmmword [rsp + 0xc0], xmm0
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rsp + 0xe0], xmm0
movaps xmmword [rsp + 0xf0], xmm1
movups xmm0, xmmword [rsp + 0xa0]
movups xmm1, xmmword [rsp + 0xb0]
movaps xmmword [rsp + 0x20], xmm0
movaps xmmword [rsp + 0x30], xmm1
mov rdi, qword [rsp + 0x20]
test rdi, rdi
je 0x14003df3e
mov rbx, qword [rsp + 0x28]
mov ecx, 0x50
mov edx, 8
call fcn.140001b98
movaps xmm0, xmmword [rsp + 0xc0]
movaps xmm1, xmmword [rsp + 0xd0]
movaps xmm2, xmmword [rsp + 0xe0]
movaps xmm3, xmmword [rsp + 0xf0]
movups xmmword [rax + 0x30], xmm3
movups xmmword [rax + 0x20], xmm2
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
mov qword [rax + 0x40], rdi
mov qword [rax + 0x48], rbx
mov qword [rsp + 0x20], rax
lea rax, [0x140126128]
jmp 0x14003df97
movups xmm0, xmmword [rsp + 0xa0]
movups xmm1, xmmword [rsp + 0xb0]
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
jmp 0x14003dfb6
mov ecx, 0x40
mov edx, 4
call fcn.140001b98
mov rdi, rax
movaps xmm0, xmmword [rsp + 0xc0]
movaps xmm1, xmmword [rsp + 0xd0]
movaps xmm2, xmmword [rsp + 0xe0]
movaps xmm3, xmmword [rsp + 0xf0]
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.1400eef87
mov qword [rsp + 0x20], rdi
lea rax, [0x140126150]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x28]
movaps xmm0, xmmword [rsp + 0x30]
movups xmmword [rsi + 0x10], xmm0
mov qword [rsi], rax
mov qword [rsi + 8], rcx
lea rcx, [rsp + 0x60]
call fcn.14003e0c3
nop
add rsp, 0x140
pop rbx
pop rdi
pop rsi
ret
lea r8, [0x140142f00]
mov edx, 0x43
lea rcx, str.assertion_failed:_len_as_usize___mem::size_of::_c::sockaddr_in6___
jmp 0x14003dff4
lea r8, [0x140142ea0]
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.14000af80
jmp 0x14003e028
lea r8, [0x140142f00]
mov edx, 0x43
lea rcx, str.assertion_failed:_len_as_usize___mem::size_of::_c::sockaddr_in6___
jmp 0x14003e023
lea r8, [0x140142ea0]
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.14000af80
ud2