Function at 0x140016170
Capabilities:
Encode data using xor
Query environment variable

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xd0
mov rax, qword [0x1400b30a0]
xor rax, rsp
mov qword [rbp + 0x2f], rax
movdqa xmm0, xmmword [0x1400a57e0]
movdqu xmmword [rbp - 0x51], xmm0
movdqa xmm1, xmmword [0x1400a57b0]
movdqu xmmword [rbp - 0x41], xmm1
mov word [rbp - 0x31], 0x9e
mov byte [rbp - 0x2f], 1
xor edi, edi
mov ecx, edi
nop word [rax + rax]
lea eax, [rcx - 0x36]
xor byte [rbp + rcx - 0x51], al
inc rcx
cmp rcx, 0x21
jb 0x1400161d0
mov byte [rbp - 0x2f], dil
lea rcx, [rbp - 0x51]
call fcn.140015dd0
mov ecx, 3
call qword [0x1400a5cd0]
call qword [fcn.14003afc0]
mov rbx, rax
mov qword [rbp - 0x59], rax
test rax, rax
je 0x1400166fe
mov qword [rbp - 0x29], rdi
mov qword [rbp - 0x19], rdi
mov qword [rbp - 0x11], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x29], 0
lea r8, [rbp - 0x51]
mov edx, 0x2712
mov rcx, rax
call qword [fcn.14003d8a0]
lea r8, [0x140016140]
mov edx, 0x4e2b
mov rcx, rbx
call qword [fcn.14003d8a0]
lea r8, [rbp - 0x29]
mov edx, 0x2711
mov rcx, rbx
call qword [fcn.14003d8a0]
mov rcx, rbx
call qword [fcn.14003b080]
mov esi, eax
test eax, eax
je 0x1400162d8
mov rbx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
mov dword [rbp - 0x71], 0xf1f6f0f6
mov dword [rbp - 0x6d], 0xa6fffff5
mov word [rbp - 0x69], 0xbd
mov byte [rbp - 0x67], 1
nop dword [rax]
lea eax, [rdi - 0x6b]
xor byte [rbp + rdi - 0x71], al
inc rdi
cmp rdi, 9
jb 0x140016290
mov byte [rbp - 0x67], 0
lea rdx, [rbp - 0x71]
mov rcx, rbx
call fcn.140014bb0
mov ecx, esi
call qword [fcn.14003a6b0]
mov rdx, rax
mov rcx, rbx
call fcn.140014bb0
lea rdx, [0x140014da0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
jmp 0x1400166b5
xorps xmm1, xmm1
movdqu xmmword [rbp - 9], xmm1
mov qword [rbp + 7], rdi
mov word [rbp - 0x5d], Ordinal_45
mov byte [rbp - 0x5b], 0
mov qword [rbp + 0xf], rdi
mov qword [rbp + 0x1f], rdi
mov qword [rbp + 0x27], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0xf], 0
mov r8d, 1
lea rdx, [rbp - 0x5d]
lea rcx, [rbp + 0xf]
call fcn.1400145d0
nop
cmp qword [rbp + 0x27], 0x10
setae cl
mov byte [rbp - 0x79], cl
mov r14, 0xffffffffffffffff
mov r12, qword [rbp + 0x1f]
mov rax, qword [rbp + 0xf]
lea rsi, [rbp + 0xf]
test cl, cl
cmovne rsi, rax
lea r15, [rbp - 0x29]
cmp qword [rbp - 0x11], 0x10
setae r10b
mov byte [rbp - 0x61], r10b
mov r9, qword [rbp - 0x29]
cmovae r15, r9
mov rcx, qword [rbp - 0x19]
cmp r12, rcx
ja 0x1400163d0
test r12, r12
jne 0x140016366
mov rbx, rdi
jmp 0x1400163d3
mov r13, r15
sub r13, r12
add r13, rcx
movsx edx, byte [rsi]
lea r8, [r13 + 1]
sub r8, r15
mov rcx, r15
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x1400163c3
nop dword [rax]
mov r8, r12
mov rdx, rsi
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14001642d
inc rbx
lea r8, [r13 + 1]
sub r8, rbx
movsx edx, byte [rsi]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
jne 0x140016390
mov rcx, qword [rbp - 0x19]
mov r9, qword [rbp - 0x29]
movzx r10d, byte [rbp - 0x61]
mov rbx, r14
cmp rbx, 0xffffffffffffffff
je 0x1400164d0
mov qword [rbp - 0x51], rdi
mov qword [rbp - 0x41], rdi
mov qword [rbp - 0x39], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x51], 0
mov r8, rbx
cmp rcx, rbx
cmovb r8, rcx
lea rdx, [rbp - 0x29]
test r10b, r10b
cmovne rdx, r9
lea rcx, [rbp - 0x51]
call fcn.1400145d0
nop
mov rax, qword [rbp - 1]
cmp rax, qword [rbp + 7]
je 0x14001643f
lea rdx, [rbp - 0x51]
mov rcx, rax
call fcn.1400150b0
add qword [rbp - 1], 0x20
jmp 0x14001644f
sub rbx, r15
mov rcx, qword [rbp - 0x19]
mov r9, qword [rbp - 0x29]
movzx r10d, byte [rbp - 0x61]
jmp 0x1400163d3
lea r8, [rbp - 0x51]
mov rdx, rax
lea rcx, [rbp - 9]
call fcn.140021210
lea rax, [rbx + r12]
mov r8, qword [rbp - 0x19]
cmp r8, rax
cmovb rax, r8
lea rcx, [rbp - 0x29]
cmp qword [rbp - 0x11], 0x10
cmovae rcx, qword [rbp - 0x29]
sub r8, rax
mov qword [rbp - 0x19], r8
inc r8
lea rdx, [rcx + rax]
call sub.VCRUNTIME140.dll_memmove
nop
mov rdx, qword [rbp - 0x39]
cmp rdx, 0x10
mov rax, qword [rbp + 0xf]
movzx ecx, byte [rbp - 0x79]
jb 0x140016330
inc rdx
mov rcx, qword [rbp - 0x51]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400164c2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400165f6
call fcn.140089278
movzx ecx, byte [rbp - 0x79]
jmp 0x14001632c
mov rax, qword [rbp - 1]
cmp rax, qword [rbp + 7]
je 0x1400164ed
lea rdx, [rbp - 0x29]
mov rcx, rax
call fcn.1400150b0
add qword [rbp - 1], 0x20
jmp 0x1400164fd
lea r8, [rbp - 0x29]
mov rdx, rax
lea rcx, [rbp - 9]
call fcn.140021210
movsd xmm0, qword [str.lins]
movzx eax, byte [0x1400a5240]
movsd qword [rbp - 0x71], xmm0
mov byte [rbp - 0x71], 0x55
xor byte [rbp - 0x70], 0x3a
xor byte [rbp - 0x6f], 0x3b
xor byte [rbp - 0x6e], 0x3c
xor byte [rbp - 0x6d], 0x3d
xor byte [rbp - 0x6c], 0x3e
xor byte [rbp - 0x6b], 0x3f
xor byte [rbp - 0x6a], 0x40
xor al, 0x41
mov byte [rbp - 0x69], al
lea rcx, [rbp - 0x71]
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
mov qword [rbp - 0x51], rdi
mov qword [rbp - 0x41], rdi
mov qword [rbp - 0x39], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x51], 0
inc r14
cmp byte [rax + r14], 0
jne 0x140016554
mov r8, r14
mov rdx, rax
lea rcx, [rbp - 0x51]
call fcn.1400145d0
nop
mov rbx, qword [rbp - 9]
mov r13, qword [rbp - 0x39]
mov rdi, qword [rbp - 0x51]
mov r14, qword [rbp - 1]
cmp rbx, r14
je 0x1400165c3
cmp r13, 0x10
setae r15b
mov rsi, qword [rbp - 0x41]
nop
mov rdx, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x14001659d
mov rdx, qword [rbx]
lea rcx, [rbp - 0x51]
test r15b, r15b
cmovne rcx, rdi
cmp rsi, qword [rbx + 0x10]
jne 0x1400165ba
mov r8, rsi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400165fd
add rbx, 0x20
cmp rbx, r14
jne 0x140016590
cmp r13, 0x10
jb 0x14001666d
lea rdx, [r13 + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x140016664
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140016664
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov byte [0x1400b41c2], 0
mov byte [0x1400b41b7], 0
mov byte [0x1400b41c0], 0
mov byte [0x1400b41be], 0
mov byte [0x1400b41b5], 0
mov byte [0x1400b41b4], 0
mov byte [0x1400b41b8], 0
mov byte [0x1400b41ba], 0
mov byte [0x1400b41bb], 0
mov byte [0x1400b41bf], 0
mov byte [0x1400b41bc], 0
mov byte [0x1400b41bd], 0
mov byte [0x1400b41b9], 0
call fcn.1400154c0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_abort]
nop
mov rcx, rdi
call fcn.140089278
nop
cmp byte [rbp - 0x79], 0
je 0x1400166ac
mov rdx, qword [rbp + 0x27]
inc rdx
mov rcx, qword [rbp + 0xf]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400166a6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400166a6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140089278
nop
lea rcx, [rbp - 9]
call fcn.140020830
mov rcx, qword [rbp - 0x59]
call qword [fcn.14003afa0]
nop
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x1400166fe
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400166f9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400166f9
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140089278
call qword [0x1400a5cc8]
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.140089250
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret