Function at 0x140031030
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.14009dc33
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 0x1400310f8
mov eax, dword [rsp + 0x24]
movzx ecx, word [rsp + 0x60]
cmp ecx, 2
je 0x14003110a
cmp ecx, 0x17
jne 0x14003112d
cmp eax, 0x1b
jbe 0x1400312c1
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 0x14003113d
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
mov edi, eax
shl rdi, 0x20
or rdi, 2
jmp 0x140031134
cmp eax, 0xf
jbe 0x1400312d9
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 0x14003113d
lea rdi, str.invalid_argumentx6
mov qword [rsp + 0x4e], rdi
mov bx, 2
mov rcx, r14
call fcn.14009dc33
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 0x1400311d6
mov eax, dword [rsp + 0x24]
movzx ecx, word [rsp + 0x60]
cmp ecx, 2
je 0x1400311e9
cmp ecx, 0x17
jne 0x14003127c
cmp eax, 0x1b
jbe 0x1400312c1
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 0x14003120a
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
shl rax, 0x20
or rax, 2
jmp 0x140031283
cmp eax, 0xf
jbe 0x1400312d9
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 0x14003128c
mov ecx, 0x40
mov edx, 4
call fcn.14002f89c
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, [0x1400d2420]
mov qword [rsi + 8], rax
jmp 0x140031290
lea rax, str.invalid_argumentx6
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.1400312f2
mov rdx, qword [rsp + 0x36]
mov ecx, ebp
call fcn.1400312f2
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.1400add50
lea rcx, [0x1401035b9]
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.1400add50
int3