Function at 0x1400016c0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rbx, qword [rcx]
mov r11, rcx
mov eax, dword [section..data]
mov edi, 4
mov r10d, dword [0x14000e004]
mov ecx, r10d
mov edx, eax
shl ecx, 7
mov r9d, eax
shr edx, 0x19
or edx, ecx
shr r9d, 0x18
movzx r8d, dl
mov ecx, eax
shr ecx, 0xc
movzx ecx, cl
xor r8d, ecx
shl r10d, 8
or r9d, r10d
mov byte [r11], r8b
shl eax, 8
mov ecx, r9d
shl ecx, 7
or eax, r8d
shl r9d, 8
mov edx, eax
shr edx, 0x19
mov r10d, eax
or edx, ecx
shr r10d, 0x18
or r10d, r9d
movzx r8d, dl
mov ecx, eax
shl eax, 8
shr ecx, 0xc
movzx ecx, cl
xor r8d, ecx
mov ecx, r10d
shl ecx, 7
or eax, r8d
mov byte [r11 + 1], r8b
mov edx, eax
shr edx, 0x19
mov r9d, eax
or edx, ecx
shr r9d, 0x18
movzx r8d, dl
mov ecx, eax
shr ecx, 0xc
movzx ecx, cl
xor r8d, ecx
shl r10d, 8
or r9d, r10d
mov byte [r11 + 2], r8b
shl eax, 8
mov ecx, r9d
or eax, r8d
shl ecx, 7
shl r9d, 8
mov edx, eax
shr edx, 0x19
mov r10d, eax
or edx, ecx
shr r10d, 0x18
movzx r8d, dl
or r10d, r9d
mov ecx, eax
shl eax, 8
shr ecx, 0xc
movzx ecx, cl
xor r8d, ecx
mov ecx, r10d
or eax, r8d
shl ecx, 7
mov byte [r11 + 3], r8b
mov edx, eax
shr edx, 0x19
mov r9d, eax
or edx, ecx
shr r9d, 0x18
mov ecx, eax
movzx r8d, dl
shr ecx, 0xc
movzx ecx, cl
xor r8d, ecx
shl r10d, 8
or r9d, r10d
mov byte [r11 + 4], r8b
shl eax, 8
mov ecx, r9d
shl ecx, 7
or eax, r8d
mov edx, eax
shl r9d, 8
shr edx, 0x19
mov r10d, eax
or edx, ecx
shr r10d, 0x18
or r10d, r9d
movzx r8d, dl
mov ecx, eax
shl eax, 8
shr ecx, 0xc
movzx ecx, cl
xor r8d, ecx
mov ecx, r10d
shl ecx, 7
or eax, r8d
mov byte [r11 + 5], r8b
mov edx, eax
shr edx, 0x19
mov r9d, eax
or edx, ecx
shr r9d, 0x18
movzx r8d, dl
mov ecx, eax
shr ecx, 0xc
movzx ecx, cl
xor r8d, ecx
shl r10d, 8
or r9d, r10d
mov byte [r11 + 6], r8b
shl eax, 8
mov ecx, r9d
shl ecx, 7
or eax, r8d
mov edx, eax
shl r9d, 8
shr edx, 0x19
mov r10d, eax
or edx, ecx
shr r10d, 0x18
movzx r8d, dl
or r10d, r9d
mov ecx, eax
shl eax, 8
shr ecx, 0xc
movzx ecx, cl
xor r8d, ecx
mov ecx, r10d
or eax, r8d
shl ecx, 7
mov byte [r11 + 7], r8b
mov edx, eax
shr edx, 0x19
mov r9d, eax
or edx, ecx
shr r9d, 0x18
movzx r8d, dl
mov ecx, eax
shr ecx, 0xc
movzx ecx, cl
xor r8d, ecx
shl r10d, 8
shl eax, 8
or r9d, r10d
or eax, r8d
mov byte [r11 + 8], r8b
mov edx, eax
mov ecx, r9d
shl ecx, 7
shr edx, 0x19
or edx, ecx
mov ecx, eax
shr ecx, 0xc
movzx ecx, cl
movzx r8d, dl
xor r8d, ecx
shl r9d, 8
mov byte [r11 + 9], r8b
mov r10d, eax
shr r10d, 0x18
or r10d, r9d
shl eax, 8
or eax, r8d
mov ecx, r10d
shl ecx, 7
mov edx, eax
shr edx, 0x19
mov r9d, eax
or edx, ecx
shl r10d, 8
movzx r8d, dl
mov ecx, eax
shr ecx, 0xc
movzx ecx, cl
xor r8d, ecx
shl eax, 8
or eax, r8d
mov byte [r11 + 0xa], r8b
shr r9d, 0x18
mov edx, eax
or r9d, r10d
shr edx, 0x19
mov r10d, eax
mov ecx, r9d
shl ecx, 7
or edx, ecx
shr r10d, 0x18
movzx r8d, dl
mov ecx, eax
shr ecx, 0xc
movzx ecx, cl
xor r8d, ecx
shl r9d, 8
or r10d, r9d
shl eax, 8
or eax, r8d
mov byte [r11 + 0xb], r8b
mov edx, eax
mov ecx, r10d
shl ecx, 7
mov r9d, eax
shr edx, 0x19
or edx, ecx
shl r10d, 8
movzx r8d, dl
mov ecx, eax
shr ecx, 0xc
movzx ecx, cl
xor r8d, ecx
shl eax, 8
or eax, r8d
shr r9d, 0x18
or r9d, r10d
mov byte [r11 + 0xc], r8b
mov edx, eax
mov r10d, eax
shr edx, 0x19
mov ecx, r9d
shl ecx, 7
or edx, ecx
shr r10d, 0x18
movzx r8d, dl
mov ecx, eax
shr ecx, 0xc
movzx ecx, cl
xor r8d, ecx
shl r9d, 8
shl eax, 8
or r10d, r9d
or eax, r8d
mov byte [r11 + 0xd], r8b
mov edx, eax
mov ecx, r10d
shr edx, 0x19
shl ecx, 7
or edx, ecx
movzx r8d, dl
mov ecx, eax
shr ecx, 0xc
mov r9d, eax
movzx ecx, cl
xor r8d, ecx
shr r9d, 0x18
mov byte [r11 + 0xe], r8b
shl r10d, 8
or r9d, r10d
shl eax, 8
or eax, r8d
mov ecx, r9d
shl ecx, 7
mov edx, eax
shr edx, 0x19
mov r10d, eax
or edx, ecx
shl r9d, 8
movzx r8d, dl
mov ecx, eax
shr ecx, 0xc
movzx ecx, cl
xor r8d, ecx
shr r10d, 0x18
or r10d, r9d
mov byte [r11 + 0xf], r8b
shl eax, 8
mov ecx, r10d
or eax, r8d
shl ecx, 7
mov edx, eax
shl r10d, 8
shr edx, 0x19
mov r9d, eax
or edx, ecx
shr r9d, 0x18
or r9d, r10d
movzx r8d, dl
mov ecx, eax
shl eax, 8
shr ecx, 0xc
movzx ecx, cl
xor r8d, ecx
mov ecx, r9d
or eax, r8d
shl ecx, 7
mov byte [r11 + 0x10], r8b
mov edx, eax
shr edx, 0x19
mov r10d, eax
or edx, ecx
shl r9d, 8
mov ecx, eax
movzx r8d, dl
shr ecx, 0xc
movzx ecx, cl
xor r8d, ecx
shr r10d, 0x18
or r10d, r9d
shl eax, 8
or eax, r8d
mov byte [r11 + 0x11], r8b
mov edx, eax
mov r9d, eax
shr edx, 0x19
mov ecx, r10d
shl ecx, 7
or edx, ecx
shr r9d, 0x18
mov ecx, eax
movzx r8d, dl
shr ecx, 0xc
shl r10d, 8
movzx ecx, cl
or r9d, r10d
xor r8d, ecx
shl eax, 8
or eax, r8d
mov byte [r11 + 0x12], r8b
mov edx, eax
mov r10d, eax
shr edx, 0x19
mov ecx, r9d
shr r10d, 0x18
shl ecx, 7
lea r11, [r11 + 0x14]
or edx, ecx
shl r9d, 8
mov ecx, eax
movzx r8d, dl
shr ecx, 0xc
or r10d, r9d
shl eax, 8
movzx ecx, cl
xor r8d, ecx
or eax, r8d
mov byte [r11 - 1], r8b
sub rdi, 1
jne 0x1400016e2
mov dword [section..data], eax
mov dword [0x14000e004], r10d
test rbx, rbx
je 0x140001ba1
mov ecx, dword [rbx + 8]
mov r9, rbx
mov rdi, qword [rbx]
lea r11, [rcx*4 + 0x10]
test r11, r11
je 0x140001b71
nop dword [rax + rax]
mov edx, eax
lea r9, [r9 + 1]
shr edx, 0x19
mov ecx, r10d
shl ecx, 7
or edx, ecx
mov ecx, eax
shr ecx, 0xc
movzx ecx, cl
movzx r8d, dl
mov edx, eax
xor r8d, ecx
shr edx, 0x18
mov ecx, r10d
shl eax, 8
shl ecx, 8
mov r10d, edx
or r10d, ecx
mov byte [r9 - 1], r8b
or eax, r8d
sub r11, 1
jne 0x140001b30
mov rcx, rbx
mov dword [section..data], eax
mov dword [0x14000e004], r10d
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rbx, rdi
test rdi, rdi
je 0x140001ba1
mov r10d, dword [0x14000e004]
mov eax, dword [section..data]
jmp 0x140001b15
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret