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

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0xf0
mov rsi, rcx
lea r8, [0x10562bd4]
lea rcx, [rsp + 0xc0]
mov r9d, 0xb
call sym.core::fmt::Formatter::debug_struct::hf28e64a38aea12be
mov rsi, qword [rsi]
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 + 0x2c], pe_nt_image_headers64
lea rdx, [rsp + 0x40]
lea r8, [rsp + 0x2c]
mov rcx, rsi
call sub.WS2_32.dll_getsockname
cmp eax, 0xffffffff
je 0x10070fc9
mov eax, dword [rsp + 0x2c]
movzx ecx, word [rsp + 0x40]
cmp ecx, 0x17
je 0x10070feb
cmp ecx, 2
jne 0x1007109d
cmp eax, 0x10
jb 0x1007112c
movzx edx, word [rsp + 0x42]
mov ecx, dword [rsp + 0x44]
rol dx, 8
call sym.core::net::socket_addr::SocketAddrV4::new::h196dbb36dd84ffe3
xor ebx, ebx
jmp 0x1007104c
call sub.WS2_32.dll_WSAGetLastError
mov ebx, eax
shl rbx, 0x20
or rbx, 2
mov eax, ebx
and eax, 3
cmp eax, 1
je 0x100710ae
jmp 0x100710e8
cmp eax, 0x1c
jb 0x10071146
movzx r8d, word [rsp + 0x42]
mov r9d, dword [rsp + 0x44]
mov eax, dword [rsp + 0x58]
movups xmm0, xmmword [rsp + 0x48]
movaps xmmword [rsp + 0x30], xmm0
rol r8w, 8
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0xd0]
lea rdx, [rsp + 0x30]
call sym.core::net::socket_addr::SocketAddrV6::new::h9af8b8ad1e309801
mov eax, dword [rsp + 0xd0]
shl rax, 0x10
mov rdi, qword [rsp + 0xd4]
movups xmm0, xmmword [rsp + 0xdc]
movaps xmmword [rsp + 0x30], xmm0
mov bx, 1
mov word [rsp + 0x40], bx
mov rcx, rax
shr rcx, 0x20
mov word [rsp + 0x46], cx
mov dword [rsp + 0x42], eax
mov qword [rsp + 0x48], rdi
movaps xmm0, xmmword [rsp + 0x30]
movups xmmword [rsp + 0x50], xmm0
lea rax, dbg.drop_in_place_mut_std::io::Write::write_fmt::Adapter_alloc::vec::Vec_u8__alloc::alloc::Global___
mov qword [rsp + 0x20], rax
lea rdx, str.addrlineno
lea rcx, [rsp + 0xc0]
lea r9, [rsp + 0x40]
mov r8d, 4
call sym.core::fmt::builders::DebugStruct::field::h28319690cbfbf423
jmp 0x100710e8
lea rbx, str.invalid_argument8V
mov eax, ebx
and eax, 3
cmp eax, 1
jne 0x100710e8
lea rdi, [rbx - 1]
mov rcx, qword [rbx - 1]
mov rax, qword [rbx + 7]
call qword [rax]
mov rax, qword [rbx + 7]
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x100710d5
mov r8, qword [rax + 0x10]
mov rcx, qword [rdi]
call sym.__rust_dealloc
mov edx, 0x18
mov r8d, 8
mov rcx, rdi
call sym.__rust_dealloc
mov qword [rsp + 0x40], rsi
lea rax, dbg.drop_in_place_mut_std::io::Write::write_fmt::Adapter_alloc::vec::Vec_u8__alloc::alloc::Global___
mov qword [rsp + 0x20], rax
lea rdx, [0x1055f436]
lea rcx, [rsp + 0xc0]
lea r9, [rsp + 0x40]
mov r8d, 6
call sym.core::fmt::builders::DebugStruct::field::h28319690cbfbf423
mov rcx, rax
call sym.core::fmt::builders::DebugStruct::finish::hb5b4109b26be88e4
nop
add rsp, 0xf0
pop rbx
pop rdi
pop rsi
ret
lea rcx, str.assertion_failed:_len_as_usize___mem::size_of::_c::sockaddr_in___
lea r8, [0x10562b28]
mov edx, 0x42
call dbg.panic
ud2
lea rcx, str.assertion_failed:_len_as_usize___mem::size_of::_c::sockaddr_in6___library_std_src_sys_common_net.rs
lea r8, [0x10562ac8]
mov edx, 0x43
call dbg.panic
ud2