Function at 0x14002e580
Capabilities:
Encode data using xor

Disassembly:
test r9, r9
je 0x14002e95f
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
lea r14, [r8 + 4]
sub r8, rdx
mov qword [rax - 0x38], r15
mov r13, rcx
lea rax, [r8 - 4]
lea rsi, [rdx + 4]
mov qword [rsp], rax
nop word [rax + rax]
movzx edi, word [rsi - 4]
movzx ebx, word [rsi - 2]
movzx ebp, word [rsi]
rol bx, 8
movzx eax, word [rsi + 2]
mov r15, qword [r13 + 8]
rol bp, 8
mov r13d, 4
lea r12, [0x140000000]
rol di, 8
rol ax, 8
movzx ecx, word [r15]
and cx, di
xor bx, cx
movzx ecx, word [r15 + 2]
or cx, bx
xor di, cx
movzx ecx, word [r15 + 4]
and cx, bp
xor ax, cx
movzx ecx, word [r15 + 8]
xor cx, di
movzx edx, cx
movzx ecx, cx
shr rcx, 7
and dx, 0x7f
movzx r8d, word [r12 + rcx*2 + 0x311490]
movzx ecx, dx
movzx r9d, byte [rcx + r12 + 0x3102d0]
xor r8w, dx
movzx edx, word [r15 + 0xc]
xor r9w, word [r15 + 0xa]
movzx ecx, r8w
xor rdx, rcx
xor r9w, r8w
movzx r10d, word [r12 + rdx*2 + 0x311490]
and r9w, 0x7f
movzx ecx, r9w
shl r9w, 9
xor r10d, ecx
movzx ecx, r9w
or r10d, ecx
movzx ecx, bx
xor r10d, ecx
movzx ecx, word [r15 + 0xe]
xor cx, bx
movzx edx, cx
movzx ecx, cx
shr rcx, 7
and dx, 0x7f
movzx r8d, word [r12 + rcx*2 + 0x311490]
movzx ecx, dx
movzx r9d, byte [rcx + r12 + 0x3102d0]
xor r8w, dx
movzx edx, word [r15 + 0x12]
xor r9w, word [r15 + 0x10]
movzx ecx, r8w
xor rdx, rcx
xor r9w, r8w
movzx r11d, word [r12 + rdx*2 + 0x311490]
and r9w, 0x7f
movzx ecx, r9w
shl r9w, 9
xor r11d, ecx
movzx ecx, r9w
or r11d, ecx
movzx ecx, word [r15 + 0x14]
xor cx, r10w
xor r11d, r10d
movzx edx, cx
movzx ecx, cx
shr rcx, 7
and dx, 0x7f
movzx r8d, word [r12 + rcx*2 + 0x311490]
movzx ecx, dx
movzx r9d, byte [rcx + r12 + 0x3102d0]
movzx ecx, word [r15 + 6]
xor r8w, dx
xor r9w, word [r15 + 0x16]
movzx edx, word [r15 + 0x18]
or cx, ax
xor cx, word [r15 + 0x1a]
xor r9w, r8w
xor cx, r11w
and r9w, 0x7f
xor bp, cx
movzx ecx, r8w
xor rdx, rcx
movzx ecx, word [r12 + rdx*2 + 0x311490]
xor cx, r9w
shl r9w, 9
or cx, r9w
xor cx, r11w
lea r15, [r15 + 0x30]
xor ax, cx
movzx ecx, word [r15 - 0x14]
xor cx, bp
movzx edx, cx
movzx ecx, cx
shr rcx, 7
and dx, 0x7f
movzx r8d, word [r12 + rcx*2 + 0x311490]
movzx ecx, dx
movzx r9d, byte [rcx + r12 + 0x3102d0]
xor r8w, dx
movzx edx, word [r15 - 0x10]
xor r9w, word [r15 - 0x12]
movzx ecx, r8w
xor rdx, rcx
xor r9w, r8w
movzx r11d, word [r12 + rdx*2 + 0x311490]
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 [r15 - 0xe]
xor cx, ax
movzx edx, cx
movzx ecx, cx
shr rcx, 7
and dx, 0x7f
movzx r8d, word [r12 + rcx*2 + 0x311490]
movzx ecx, dx
movzx r9d, byte [rcx + r12 + 0x3102d0]
xor r8w, dx
movzx edx, word [r15 - 0xa]
xor r9w, word [r15 - 0xc]
movzx ecx, r8w
xor rdx, rcx
xor r9w, r8w
movzx r10d, word [r12 + rdx*2 + 0x311490]
and r9w, 0x7f
movzx ecx, r9w
shl r9w, 9
xor r10d, ecx
movzx ecx, r9w
or r10d, ecx
movzx ecx, word [r15 - 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 + 0x311490]
movzx ecx, dx
movzx r9d, byte [rcx + r12 + 0x3102d0]
movzx ecx, word [r15 - 2]
xor r8w, dx
xor r9w, word [r15 - 6]
movzx edx, word [r15 - 4]
xor cx, r10w
xor di, cx
xor r9w, r8w
movzx ecx, r8w
xor rdx, rcx
and r9w, 0x7f
movzx ecx, word [r12 + rdx*2 + 0x311490]
xor cx, r9w
shl r9w, 9
or cx, r9w
xor cx, r10w
xor bx, cx
dec r13
jne 0x14002e600
mov r13, qword [rsp + 0x50]
add rsi, 8
add r14, 8
mov rdx, qword [r13 + 8]
movzx ecx, word [rdx + 0xc0]
and cx, di
xor bx, cx
movzx ecx, word [rdx + 0xc2]
or cx, bx
rol bx, 8
xor di, cx
movzx ecx, word [rdx + 0xc4]
and cx, bp
xor ax, cx
movzx ecx, word [rdx + 0xc6]
mov rdx, qword [rsp]
or cx, ax
mov word [r14 - 6], bx
xor cx, bp
rol cx, 8
mov word [rdx + rsi - 8], cx
rol ax, 8
mov word [r14 - 0xa], ax
rol di, 8
dec qword [rsp + 0x68]
mov word [r14 - 8], di
jne 0x14002e5d0
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