Function at 0x140014470
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
mov rbp, rsp
sub rsp, 0x40
cmp ecx, 0xc
jg 0x140014738
je 0x1400146ea
cmp ecx, 6
jg 0x1400145b0
je 0x140014562
test ecx, ecx
je 0x140014554
sub ecx, 1
je 0x140014546
sub ecx, 1
je 0x1400144ee
sub ecx, 1
je 0x1400144e0
sub ecx, 1
je 0x1400144d2
cmp ecx, 1
jne 0x140014941
lea rcx, [rbp + 0x10]
call fcn.140014358
jmp 0x1400149c8
lea rcx, [rbp + 0x10]
call fcn.140013de8
jmp 0x1400149c8
lea rcx, [rbp + 0x10]
call fcn.1400141cc
jmp 0x1400149c8
mov ebx, 0x12
mov dword [rbp - 0x20], 0x51004e
mov dword [rbp - 0x1c], 0x60007a
mov dword [rbp - 0x18], 0x7f007d
mov dword [rbp - 0x14], 0x67007b
lea ecx, [rbx + 2]
mov dword [rbp - 0x10], 0x12007f
call fcn.140002534
lea r9, [rbp - 0x20]
mov r8, rax
sub r9, rax
lea edx, [rbx - 8]
movzx ecx, word [r9 + r8]
xor cx, bx
mov word [r8], cx
lea r8, [r8 + 2]
sub rdx, 1
jne 0x14001452b
jmp 0x1400149c8
lea rcx, [rbp + 0x10]
call fcn.1400142c8
jmp 0x1400149c8
lea rcx, [rbp + 0x10]
call fcn.1400143f0
jmp 0x1400149c8
mov ebx, 0x12
mov dword [rbp - 0x20], 0x53004e
mov dword [rbp - 0x1c], 0x7b007f
mov dword [rbp - 0x18], 0x7d0075
mov word [rbp - 0x14], bx
lea ecx, [rbx - 4]
call fcn.140002534
lea r9, [rbp - 0x20]
mov r8, rax
sub r9, rax
lea edx, [rbx - 0xb]
movzx ecx, word [r9 + r8]
xor cx, bx
mov word [r8], cx
lea r8, [r8 + 2]
sub rdx, 1
jne 0x140014595
jmp 0x1400149c8
sub ecx, 7
je 0x140014696
sub ecx, 1
je 0x140014642
sub ecx, 1
je 0x140014634
sub ecx, 1
je 0x1400145e3
cmp ecx, 1
jne 0x140014941
lea rcx, [rbp + 0x10]
call fcn.140014034
jmp 0x1400149c8
mov ebx, 0x12
mov dword [rbp - 0x20], 0x59004e
mov dword [rbp - 0x1c], 0x7f007d
mov dword [rbp - 0x18], 0x660077
mov dword [rbp - 0x14], 0x120073
lea ecx, [rbx - 2]
call fcn.140002534
lea r9, [rbp - 0x20]
mov r8, rax
sub r9, rax
lea edx, [rbx - 0xa]
movzx ecx, word [r9 + r8]
xor cx, bx
mov word [r8], cx
lea r8, [r8 + 2]
sub rdx, 1
jne 0x140014619
jmp 0x1400149c8
lea rcx, [rbp + 0x10]
call fcn.14001424c
jmp 0x1400149c8
mov ebx, 0x12
mov dword [rbp - 0x20], 0x5d004e
mov ecx, ebx
mov dword [rbp - 0x1c], 0x700060
mov dword [rbp - 0x18], 0x66007b
mov dword [rbp - 0x14], 0x7f0067
mov word [rbp - 0x10], bx
call fcn.140002534
lea r9, [rbp - 0x20]
mov r8, rax
sub r9, rax
lea edx, [rbx - 9]
movzx ecx, word [r9 + r8]
xor cx, bx
mov word [r8], cx
lea r8, [r8 + 2]
sub rdx, 1
jne 0x14001467b
jmp 0x1400149c8
mov ebx, 0x12
mov dword [rbp - 0x20], 0x44004e
mov ecx, ebx
mov dword [rbp - 0x1c], 0x64007b
mov dword [rbp - 0x18], 0x7e0073
mov dword [rbp - 0x14], 0x7b0076
mov word [rbp - 0x10], bx
call fcn.140002534
lea r9, [rbp - 0x20]
mov r8, rax
sub r9, rax
lea edx, [rbx - 9]
movzx ecx, word [r9 + r8]
xor cx, bx
mov word [r8], cx
lea r8, [r8 + 2]
sub rdx, 1
jne 0x1400146cf
jmp 0x1400149c8
mov ebx, 0x12
mov dword [rbp - 0x20], 0x46004e
mov dword [rbp - 0x1c], 0x60007d
mov dword [rbp - 0x18], 0x7a0071
mov word [rbp - 0x14], bx
lea ecx, [rbx - 4]
call fcn.140002534
lea r9, [rbp - 0x20]
mov r8, rax
sub r9, rax
lea edx, [rbx - 0xb]
movzx ecx, word [r9 + r8]
xor cx, bx
mov word [r8], cx
lea r8, [r8 + 2]
sub rdx, 1
jne 0x14001471d
jmp 0x1400149c8
mov ebx, 0x12
cmp ecx, ebx
jg 0x140014920
je 0x1400148c9
sub ecx, 0xd
je 0x140014879
sub ecx, 1
je 0x140014827
sub ecx, 1
je 0x1400147d0
sub ecx, 1
je 0x14001477e
cmp ecx, 1
jne 0x140014941
lea rcx, [rbp + 0x10]
call fcn.140013f20
jmp 0x1400149c8
mov rcx, rbx
mov dword [rbp - 0x20], 0x59004e
mov dword [rbp - 0x1c], 0x5f003f
mov dword [rbp - 0x18], 0x7e0077
mov dword [rbp - 0x14], 0x7c007d
mov word [rbp - 0x10], bx
call fcn.140002534
lea r9, [rbp - 0x20]
mov r8, rax
sub r9, rax
mov edx, 9
movzx ecx, word [r9 + r8]
xor cx, bx
mov word [r8], cx
lea r8, [r8 + 2]
sub rdx, 1
jne 0x1400147b5
jmp 0x1400149c8
mov ecx, SafeArrayGetElement
mov dword [rbp - 0x20], 0x5f004e
mov dword [rbp - 0x1c], 0x6a0073
mov dword [rbp - 0x18], 0x7a0066
mov dword [rbp - 0x14], 0x7c007d
mov dword [rbp - 0x10], 0x120021
call fcn.140002534
lea r9, [rbp - 0x20]
mov r8, rax
sub r9, rax
mov edx, 0xa
movzx ecx, word [r9 + r8]
xor cx, bx
mov word [r8], cx
lea r8, [r8 + 2]
sub rdx, 1
jne 0x14001480c
jmp 0x1400149c8
mov rcx, rbx
mov dword [rbp - 0x20], 0x41004e
mov dword [rbp - 0x1c], 0x7b007e
mov dword [rbp - 0x18], 0x78007f
mov dword [rbp - 0x14], 0x660077
mov word [rbp - 0x10], bx
call fcn.140002534
lea r9, [rbp - 0x20]
mov r8, rax
sub r9, rax
mov edx, 9
movzx ecx, word [r9 + r8]
xor cx, bx
mov word [r8], cx
lea r8, [r8 + 2]
sub rdx, 1
jne 0x14001485e
jmp 0x1400149c8
mov ecx, 0x10
mov dword [rbp - 0x20], 0x51004e
mov dword [rbp - 0x1c], 0x7f007d
mov dword [rbp - 0x18], 0x76007d
mov dword [rbp - 0x14], 0x12007d
call fcn.140002534
lea r9, [rbp - 0x20]
mov r8, rax
sub r9, rax
mov edx, 8
movzx ecx, word [r9 + r8]
xor cx, bx
mov word [r8], cx
lea r8, [r8 + 2]
sub rdx, 1
jne 0x1400148ae
jmp 0x1400149c8
mov ecx, SafeArrayGetElement
mov dword [rbp - 0x20], 0x5c004e
mov dword [rbp - 0x1c], 0x71007b
mov dword [rbp - 0x18], 0x60007a
mov dword [rbp - 0x14], 0x7f007d
mov dword [rbp - 0x10], 0x120077
call fcn.140002534
lea r9, [rbp - 0x20]
mov r8, rax
sub r9, rax
mov edx, 0xa
movzx ecx, word [r9 + r8]
xor cx, bx
mov word [r8], cx
lea r8, [r8 + 2]
sub rdx, 1
jne 0x140014905
jmp 0x1400149c8
sub ecx, 0x13
je 0x1400149bf
sub ecx, 1
je 0x1400149b4
sub ecx, 1
je 0x140014960
sub ecx, 1
je 0x140014955
cmp ecx, 1
je 0x14001494a
lea rax, [0x14001b6c0]
jmp 0x1400149c8
lea rcx, [rbp + 0x10]
call fcn.140013fa4
jmp 0x1400149c8
lea rcx, [rbp + 0x10]
call fcn.1400140b4
jmp 0x1400149c8
mov ecx, SafeArrayGetElement
mov dword [rbp - 0x20], 0x51004e
mov dword [rbp - 0x1c], 0x60007a
mov dword [rbp - 0x18], 0x7f007d
mov dword [rbp - 0x14], 0x76007d
mov dword [rbp - 0x10], 0x12007d
call fcn.140002534
lea r9, [rbp - 0x20]
mov r8, rax
sub r9, rax
mov edx, 0xa
movzx ecx, word [r9 + r8]
xor cx, bx
mov word [r8], cx
lea r8, [r8 + 2]
sub rdx, 1
jne 0x14001499c
jmp 0x1400149c8
lea rcx, [rbp + 0x10]
call fcn.140013ea0
jmp 0x1400149c8
lea rcx, [rbp + 0x10]
call fcn.14001414c
mov rbx, qword [rsp + 0x58]
add rsp, 0x40
pop rbp
ret