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

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x168
mov rdi, rdx
mov rsi, rcx
mov qword [rsp + 0x80], 0
mov rcx, qword [0x14031a128]
test rcx, rcx
jne 0x140071881
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x140071e40
mov rcx, rax
mov qword [0x14031a128], rax
mov r8d, 0x18
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x140071e40
movaps xmm0, xmmword [0x14021f600]
movups xmmword [rax], xmm0
mov byte [rax + 0x10], 0
mov word [rsp + 0x160], 1
mov qword [rsp + 0x148], 0
mov qword [rsp + 0x158], rax
mov rdi, qword [rdi + 8]
cmp rdi, 0xffffffffffffffff
je 0x140071e54
xorps xmm0, xmm0
movaps xmmword [rsp + 0xf0], xmm0
movaps xmmword [rsp + 0xe0], xmm0
movaps xmmword [rsp + 0xd0], xmm0
movaps xmmword [rsp + 0xc0], xmm0
movaps xmmword [rsp + 0xb0], xmm0
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0x80], xmm0
mov dword [rsp + 0x100], pe_nt_image_headers64
lea rdx, [rsp + 0x80]
lea r8, [rsp + 0x100]
mov rcx, rdi
call sub.ws2_32.dll_getpeername
cmp eax, 0xffffffff
je 0x14007199f
mov eax, dword [rsp + 0x100]
movzx ecx, word [rsp + 0x80]
cmp ecx, 2
je 0x1400719ae
cmp ecx, 0x17
jne 0x1400719ed
cmp eax, 0x1c
jb 0x140071e90
movzx eax, word [rsp + 0x82]
mov ecx, dword [rsp + 0x84]
mov edx, dword [rsp + 0x98]
rol ax, 8
mov word [rsp + 0x40], 1
mov dword [rsp + 0x44], ecx
mov dword [rsp + 0x48], edx
mov word [rsp + 0x4c], ax
movups xmm0, xmmword [rsp + 0x88]
movups xmmword [rsp + 0x4e], xmm0
jmp 0x140071a00
call sub.ws2_32.dll_WSAGetLastError
shl rax, 0x20
or rax, 2
jmp 0x1400719f4
cmp eax, 0x10
jb 0x140071ea5
movzx eax, word [rsp + 0x82]
rol ax, 8
mov ecx, dword [rsp + 0x84]
mov rdx, rcx
shl rdx, 0x10
movzx eax, ax
or rax, rdx
mov word [rsp + 0x40], 0
shr rcx, 0x10
mov word [rsp + 0x46], cx
mov dword [rsp + 0x42], eax
jmp 0x140071a00
lea rax, str.invalid_argument
mov qword [rsp + 0x48], rax
mov word [rsp + 0x40], 2
xorps xmm0, xmm0
movaps xmmword [rsp + 0xf0], xmm0
movaps xmmword [rsp + 0xe0], xmm0
movaps xmmword [rsp + 0xd0], xmm0
movaps xmmword [rsp + 0xc0], xmm0
movaps xmmword [rsp + 0xb0], xmm0
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0x80], xmm0
mov dword [rsp + 0x100], pe_nt_image_headers64
lea rdx, [rsp + 0x80]
lea r8, [rsp + 0x100]
mov rcx, rdi
call sub.ws2_32.dll_getsockname
cmp eax, 0xffffffff
je 0x140071aa8
mov eax, dword [rsp + 0x100]
movzx ecx, word [rsp + 0x80]
cmp ecx, 0x17
je 0x140071abd
cmp ecx, 2
jne 0x140071b18
cmp eax, 0x10
jb 0x140071eba
movzx ebx, word [rsp + 0x82]
mov eax, dword [rsp + 0x84]
rol bx, 8
xor ebp, ebp
jmp 0x140071b23
call sub.ws2_32.dll_WSAGetLastError
mov ecx, eax
shl rcx, 0x20
or rcx, 2
mov bp, 2
jmp 0x140071b23
cmp eax, 0x1c
jb 0x140071ecf
movzx ecx, word [rsp + 0x82]
mov eax, dword [rsp + 0x84]
rol cx, 8
mov edx, dword [rsp + 0x98]
movzx ebp, cx
shl rbp, 0x20
or rbp, rdx
mov ecx, dword [rsp + 0x88]
shl rcx, 0x30
or rcx, rbp
mov rdx, qword [rsp + 0x8a]
mov qword [rsp + 0x20], rdx
mov rdx, qword [rsp + 0x90]
mov qword [rsp + 0x26], rdx
mov bp, 1
jmp 0x140071b23
mov bp, 2
lea rcx, str.invalid_argument
movups xmm0, xmmword [rsp + 0x40]
movups xmm1, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0x110], xmm1
movaps xmmword [rsp + 0x100], xmm0
lea rdi, [rsp + 0x120]
mov word [rsp + 0x120], bp
mov edx, eax
shr edx, 0x10
shl rax, 0x10
movzx ebx, bx
or rbx, rax
mov word [rsp + 0x126], dx
mov dword [rsp + 0x122], ebx
mov qword [rsp + 0x128], rcx
movups xmm0, xmmword [rsp + 0x20]
movaps xmmword [rsp + 0x130], xmm0
movzx ebx, word [rsp + 0x100]
cmp bx, 2
je 0x140071cbe
cmp bp, 2
je 0x140071cbe
movups xmm0, xmmword [rsp + 0x148]
movups xmm1, xmmword [rsp + 0x158]
movaps xmmword [rsp + 0x30], xmm1
movaps xmmword [rsp + 0x20], xmm0
movaps xmm0, xmmword [rsp + 0x100]
movaps xmm1, xmmword [rsp + 0x110]
movaps xmmword [rsp + 0x50], xmm1
movaps xmmword [rsp + 0x40], xmm0
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x70], xmm1
mov rax, qword [rsp + 0x20]
test rax, rax
je 0x140071ce4
mov rcx, qword [rsp + 0x28]
movaps xmm0, xmmword [rsp + 0x40]
movaps xmm1, xmmword [rsp + 0x50]
movaps xmm2, xmmword [rsp + 0x60]
movaps xmm3, xmmword [rsp + 0x70]
movups xmmword [rsp + 0xc0], xmm3
movups xmmword [rsp + 0xb0], xmm2
movups xmmword [rsp + 0xa0], xmm1
movups xmmword [rsp + 0x90], xmm0
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], rcx
mov rcx, qword [0x14031a128]
test rcx, rcx
jne 0x140071c5c
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x140071e6e
mov rcx, rax
mov qword [0x14031a128], rax
mov r8d, 0x50
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x140071e6e
movups xmm0, xmmword [rsp + 0xc0]
movups xmmword [rax + 0x40], xmm0
movups xmm0, xmmword [rsp + 0x80]
movups xmm1, xmmword [rsp + 0x90]
movups xmm2, xmmword [rsp + 0xa0]
movups xmm3, xmmword [rsp + 0xb0]
movups xmmword [rax + 0x30], xmm3
movups xmmword [rax + 0x20], xmm2
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
mov qword [rsp + 0x20], rax
lea rax, fcn.140072060
jmp 0x140071d4d
movups xmm0, xmmword [rsp + 0x148]
movups xmm1, xmmword [rsp + 0x158]
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
cmp bx, 2
je 0x140071d72
jmp 0x140071dca
mov rcx, qword [0x14031a128]
test rcx, rcx
jne 0x140071d08
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x140071e7f
mov rcx, rax
mov qword [0x14031a128], rax
mov r8d, 0x40
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x140071e7f
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 qword [rsp + 0x20], rax
lea rax, [0x14025ee60]
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
cmp bx, 2
jne 0x140071dca
mov rsi, qword [rsp + 0x108]
mov eax, esi
and eax, 3
cmp eax, 1
jne 0x140071dca
lea rbx, [rsi - 1]
mov rcx, qword [rsi - 1]
mov rax, qword [rsi + 7]
call qword [rax]
mov rax, qword [rsi + 7]
cmp qword [rax + 8], 0
je 0x140071db9
mov r8, qword [rbx]
cmp qword [rax + 0x10], 0x11
jb 0x140071dab
mov r8, qword [r8 - 8]
mov rcx, qword [0x14031a128]
xor edx, edx
call fcn.1401f903c
mov rcx, qword [0x14031a128]
xor edx, edx
mov r8, rbx
call fcn.1401f903c
cmp bp, 2
jne 0x140071e33
mov rbx, qword [rsp + 0x128]
mov eax, ebx
and eax, 3
cmp eax, 1
jne 0x140071e33
lea rdi, [rbx - 1]
mov rcx, qword [rbx - 1]
mov rax, qword [rbx + 7]
call qword [rax]
mov rax, qword [rbx + 7]
cmp qword [rax + 8], 0
je 0x140071e17
mov r8, qword [rdi]
cmp qword [rax + 0x10], 0x11
jb 0x140071e09
mov r8, qword [r8 - 8]
mov rcx, qword [0x14031a128]
xor edx, edx
call fcn.1401f903c
mov rcx, qword [0x14031a128]
xor edx, edx
mov r8, rdi
add rsp, 0x168
pop rbx
pop rbp
pop rdi
pop rsi
jmp fcn.1401f903c
nop
add rsp, 0x168
pop rbx
pop rbp
pop rdi
pop rsi
ret
mov ecx, 0x18
mov edx, 8
call fcn.1400270c0
jmp 0x140071ee7
lea r8, str.C:UsersUser.cargo_registry_srcgithub.com_1ecc6299db9ec823_tokio_1.36.0_srciopoll_evented.rs
mov edx, 0x2b
lea rcx, str.called__Option::unwrap____on_a__None__valueC:UsersUser.cargo_registry_srcgithub.com_1ecc6299db9ec823untrusted_0.9.0_src_reader.rs
call fcn.14002cb80
jmp 0x140071ee7
mov ecx, 0x50
mov edx, 8
call fcn.1400270c0
jmp 0x140071ee7
mov ecx, 0x40
mov edx, 4
call fcn.1400270c0
jmp 0x140071ee7
lea r8, [0x140295860]
mov edx, 0x43
lea rcx, str.assertion_failed:_len_as_usize___mem::size_of::_c::sockaddr_in6___library_std_src_sys_common_net.rs
jmp 0x140071e67
lea r8, str._X__
mov edx, 0x42
lea rcx, str.assertion_failed:_len_as_usize___mem::size_of::_c::sockaddr_in___
jmp 0x140071e67
lea r8, str._X__
mov edx, 0x42
lea rcx, str.assertion_failed:_len_as_usize___mem::size_of::_c::sockaddr_in___
jmp 0x140071ee2
lea r8, [0x140295860]
mov edx, 0x43
lea rcx, str.assertion_failed:_len_as_usize___mem::size_of::_c::sockaddr_in6___library_std_src_sys_common_net.rs
call fcn.14002cb80
ud2