Function at 0x14002e960
Capabilities:
Encode data using xor

Disassembly:
test r9, r9
je 0x14002ed42
mov rax, rsp
mov qword [rax + 0x20], r9
mov qword [rax + 8], rcx
push r12
push r13
sub rsp, 0x38
mov qword [rax + 0x10], rbx
mov qword [rax - 0x18], rbp
mov qword [rax - 0x20], rsi
mov qword [rax - 0x28], rdi
mov qword [rax - 0x30], r14
mov qword [rax - 0x38], r15
lea r15, [r8 + 4]
sub r8, rdx
mov r13, rcx
lea rax, [r8 - 6]
lea r14, [rdx + 6]
mov qword [rsp], rax
nop word [rax + rax]
movzx edi, word [r14 - 2]
movzx ebx, word [r14]
movzx esi, word [r14 - 6]
rol bx, 8
movzx eax, word [r14 - 4]
mov rbp, qword [r13 + 0x28]
rol si, 8
mov r13d, 4
lea r12, [0x140000000]
rol di, 8
rol ax, 8
nop dword [rax]
nop dword [rax + rax]
movzx ecx, ax
or cx, word [rbp]
xor si, cx
movzx ecx, word [rbp + 2]
and cx, si
xor ax, cx
movzx ecx, word [rbp + 4]
or cx, bx
xor di, cx
movzx ecx, word [rbp + 6]
and cx, di
xor bx, cx
movzx ecx, word [rbp + 8]
xor cx, si
movzx edx, cx
movzx ecx, cx
shr rcx, 7
and dx, 0x7f
movzx r8d, word [r12 + rcx*2 + 0x313450]
movzx ecx, dx
movzx r9d, byte [rcx + r12 + 0x312290]
xor r8w, dx
movzx edx, word [rbp + 0xc]
xor r9w, word [rbp + 0xa]
movzx ecx, r8w
xor rdx, rcx
xor r9w, r8w
movzx r11d, word [r12 + rdx*2 + 0x313450]
and r9w, 0x7f
movzx ecx, r9w
shl r9w, 9
xor r11d, ecx
movzx ecx, r9w
or r11d, ecx
movzx ecx, ax
xor r11d, ecx
movzx ecx, word [rbp + 0xe]
xor cx, ax
movzx edx, cx
movzx ecx, cx
shr rcx, 7
and dx, 0x7f
movzx r8d, word [r12 + rcx*2 + 0x313450]
movzx ecx, dx
movzx r9d, byte [rcx + r12 + 0x312290]
xor r8w, dx
movzx edx, word [rbp + 0x12]
xor r9w, word [rbp + 0x10]
movzx ecx, r8w
xor rdx, rcx
xor r9w, r8w
movzx r10d, word [r12 + rdx*2 + 0x313450]
and r9w, 0x7f
movzx ecx, r9w
shl r9w, 9
xor r10d, ecx
movzx ecx, r9w
or r10d, ecx
movzx ecx, word [rbp + 0x14]
xor cx, r11w
xor r10d, r11d
movzx edx, cx
movzx ecx, cx
shr rcx, 7
and dx, 0x7f
movzx r8d, word [r12 + rcx*2 + 0x313450]
movzx ecx, dx
movzx r9d, byte [rcx + r12 + 0x312290]
movzx ecx, word [rbp + 0x1a]
xor r8w, dx
xor r9w, word [rbp + 0x16]
movzx edx, word [rbp + 0x18]
xor cx, r10w
xor di, cx
movzx ecx, r8w
xor r9w, r8w
xor rdx, rcx
and r9w, 0x7f
movzx ecx, word [r12 + rdx*2 + 0x313450]
xor cx, r9w
shl r9w, 9
or cx, r9w
lea rbp, [rbp + 0x30]
xor cx, r10w
xor bx, cx
movzx ecx, word [rbp - 0x14]
xor cx, di
movzx edx, cx
movzx ecx, cx
shr rcx, 7
and dx, 0x7f
movzx r8d, word [r12 + rcx*2 + 0x313450]
movzx ecx, dx
movzx r9d, byte [rcx + r12 + 0x312290]
xor r8w, dx
movzx edx, word [rbp - 0x10]
xor r9w, word [rbp - 0x12]
movzx ecx, r8w
xor rdx, rcx
xor r9w, r8w
movzx r11d, word [r12 + rdx*2 + 0x313450]
and r9w, 0x7f
movzx ecx, r9w
shl r9w, 9
xor r11d, ecx
movzx ecx, r9w
or r11d, ecx
movzx ecx, bx
xor r11d, ecx
movzx ecx, word [rbp - 0xe]
xor cx, bx
movzx edx, cx
movzx ecx, cx
shr rcx, 7
and dx, 0x7f
movzx r8d, word [r12 + rcx*2 + 0x313450]
movzx ecx, dx
movzx r9d, byte [rcx + r12 + 0x312290]
xor r8w, dx
movzx edx, word [rbp - 0xa]
xor r9w, word [rbp - 0xc]
movzx ecx, r8w
xor rdx, rcx
xor r9w, r8w
movzx r10d, word [r12 + rdx*2 + 0x313450]
and r9w, 0x7f
movzx ecx, r9w
shl r9w, 9
xor r10d, ecx
movzx ecx, r9w
or r10d, ecx
movzx ecx, word [rbp - 8]
xor cx, r11w
xor r10d, r11d
movzx edx, cx
movzx ecx, cx
shr rcx, 7
and dx, 0x7f
movzx r8d, word [r12 + rcx*2 + 0x313450]
movzx ecx, dx
movzx r9d, byte [rcx + r12 + 0x312290]
movzx ecx, word [rbp - 2]
xor r8w, dx
xor r9w, word [rbp - 6]
movzx edx, word [rbp - 4]
xor cx, r10w
xor si, cx
xor r9w, r8w
movzx ecx, r8w
xor rdx, rcx
and r9w, 0x7f
movzx ecx, word [r12 + rdx*2 + 0x313450]
xor cx, r9w
shl r9w, 9
or cx, r9w
xor cx, r10w
xor ax, cx
dec r13
jne 0x14002e9f0
mov r13, qword [rsp + 0x50]
add r14, 8
add r15, 8
mov rdx, qword [r13 + 0x28]
movzx ecx, word [rdx + 0xc0]
or cx, ax
xor si, cx
movzx ecx, word [rdx + 0xc2]
and cx, si
rol si, 8
xor ax, cx
movzx ecx, word [rdx + 0xc4]
or cx, bx
xor di, cx
movzx ecx, word [rdx + 0xc6]
mov word [r15 - 8], si
rol ax, 8
and cx, di
xor bx, cx
mov rcx, qword [rsp]
mov word [r15 - 6], ax
rol di, 8
mov word [rcx + r14 - 8], di
rol bx, 8
dec qword [rsp + 0x68]
mov word [r15 - 0xa], bx
jne 0x14002e9b0
mov r15, qword [rsp + 0x10]
mov r14, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov rbp, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x58]
add rsp, 0x38
pop r13
pop r12
ret