Function at 0x14002b590
Capabilities:
Encode data using xor

Disassembly:
test r9, r9
je 0x14002ba7c
mov rax, rsp
mov qword [rax + 0x20], r9
mov qword [rax + 8], rcx
sub rsp, 0x58
mov qword [rax + 0x10], rbx
mov qword [rax - 8], rbp
mov qword [rax - 0x10], rsi
mov qword [rax - 0x18], rdi
mov qword [rax - 0x20], r12
mov qword [rax - 0x28], r13
lea r12, [r8 + 4]
mov qword [rax - 0x30], r14
mov qword [rax - 0x38], r15
sub r8, rdx
lea rax, [rdx + 4]
mov qword [rsp + 8], r12
add r8, 0xfffffffffffffffc
mov qword [rsp], rax
mov qword [rsp + 0x10], r8
nop word [rax + rax]
movzx esi, word [rax - 4]
movzx r14d, word [rax - 2]
movzx r15d, word [rax]
rol r14w, 8
movzx ebp, word [rax + 2]
mov r13, qword [rcx + 8]
rol r15w, 8
mov r12d, 4
lea rax, [0x140000000]
rol si, 8
rol bp, 8
nop dword [rax]
nop dword [rax + rax]
movzx r11d, word [r13 + 6]
movzx ebx, si
rol bx, 1
and bx, word [r13]
xor bx, r14w
movzx ecx, bx
rol cx, 1
or cx, word [r13 + 2]
xor cx, word [r13 + 4]
xor cx, si
movzx r8d, cl
movzx edx, cx
shr rdx, 7
and r8b, 0x7f
movzx r9d, word [rax + rdx*2 + 0x2f9e20]
movzx ecx, r8b
movzx edx, r8b
movzx r10d, byte [rdx + rax + 0x2f7580]
xor r9w, cx
movzx ecx, r11w
shr cx, 9
mov edx, r11d
movzx r11d, word [r13 + 0xa]
xor r10b, cl
and edx, 0x1ff
movzx ecx, r9b
and cl, 0x7f
xor r10b, cl
movzx ecx, r9w
xor rdx, rcx
movzx ecx, r10b
movzx r8d, word [rax + rdx*2 + 0x2f9e20]
xor r8w, cx
movzx ecx, r10b
movzx ecx, byte [rcx + rax + 0x2f7580]
movzx edx, r8b
and dl, 0x7f
xor cl, dl
movzx edi, cl
movzx ecx, word [r13 + 8]
xor cx, bx
shl di, 9
movzx edx, cx
or di, r8w
movzx r8d, cl
shr rdx, 7
and r8b, 0x7f
xor di, bx
movzx r9d, word [rax + rdx*2 + 0x2f9e20]
movzx ecx, r8b
movzx edx, r8b
movzx r10d, byte [rdx + rax + 0x2f7580]
xor r9w, cx
movzx ecx, r11w
shr cx, 9
mov edx, r11d
movzx r11d, word [r13 + 0xe]
xor r10b, cl
and edx, 0x1ff
movzx ecx, r9b
and cl, 0x7f
xor r10b, cl
movzx ecx, r9w
xor rdx, rcx
movzx ecx, r10b
movzx r8d, word [rax + rdx*2 + 0x2f9e20]
xor r8w, cx
movzx ecx, r10b
movzx ecx, byte [rcx + rax + 0x2f7580]
movzx edx, r8b
and dl, 0x7f
xor cl, dl
movzx ebx, cl
movzx ecx, word [r13 + 0xc]
shl bx, 9
xor cx, di
or bx, r8w
movzx r8d, cl
movzx edx, cx
xor bx, di
and r8b, 0x7f
shr rdx, 7
movzx ecx, r8b
xor r15w, bx
movzx r9d, word [rax + rdx*2 + 0x2f9e20]
movzx edx, r8b
movzx r10d, byte [rdx + rax + 0x2f7580]
xor r9w, cx
movzx ecx, r11w
shr cx, 9
mov edx, r11d
movzx r11d, word [r13 + 0x16]
xor r10b, cl
and edx, 0x1ff
movzx ecx, r9b
and cl, 0x7f
xor r10b, cl
movzx ecx, r9w
xor rdx, rcx
movzx ecx, r10b
movzx r8d, word [rax + rdx*2 + 0x2f9e20]
xor r8w, cx
movzx ecx, r10b
movzx ecx, byte [rcx + rax + 0x2f7580]
movzx edx, r8b
and dl, 0x7f
xor cl, dl
movzx edx, cl
movzx ecx, word [r13 + 0x14]
xor cx, r15w
shl dx, 9
or dx, r8w
movzx r8d, cl
xor dx, bx
and r8b, 0x7f
xor bp, dx
movzx edx, cx
movzx ecx, r8b
shr rdx, 7
movzx r9d, word [rax + rdx*2 + 0x2f9e20]
movzx edx, r8b
movzx r10d, byte [rdx + rax + 0x2f7580]
xor r9w, cx
movzx ecx, r11w
shr cx, 9
mov edx, r11d
movzx r11d, word [r13 + 0x1a]
xor r10b, cl
and edx, 0x1ff
movzx ecx, r9b
and cl, 0x7f
xor r10b, cl
movzx ecx, r9w
xor rdx, rcx
movzx ecx, r10b
movzx r8d, word [rax + rdx*2 + 0x2f9e20]
xor r8w, cx
movzx ecx, r10b
movzx ecx, byte [rcx + rax + 0x2f7580]
movzx edx, r8b
and dl, 0x7f
xor cl, dl
movzx ebx, cl
movzx ecx, word [r13 + 0x18]
xor cx, bp
shl bx, 9
movzx edx, cx
or bx, r8w
movzx r8d, cl
shr rdx, 7
and r8b, 0x7f
xor bx, bp
movzx r9d, word [rax + rdx*2 + 0x2f9e20]
movzx ecx, r8b
movzx edx, r8b
movzx r10d, byte [rdx + rax + 0x2f7580]
xor r9w, cx
movzx ecx, r11w
shr cx, 9
xor r10b, cl
movzx ecx, r9b
and cl, 0x7f
xor r10b, cl
movzx ecx, r9w
mov edx, r11d
movzx r11d, word [r13 + 0x1e]
and edx, 0x1ff
lea r13, [r13 + 0x20]
xor rdx, rcx
movzx ecx, r10b
movzx r8d, word [rax + rdx*2 + 0x2f9e20]
xor r8w, cx
movzx ecx, r10b
movzx ecx, byte [rcx + rax + 0x2f7580]
movzx edx, r8b
and dl, 0x7f
xor cl, dl
movzx edi, cl
movzx ecx, word [r13 - 4]
xor cx, bx
shl di, 9
movzx edx, cx
or di, r8w
movzx r8d, cl
shr rdx, 7
and r8b, 0x7f
xor di, bx
movzx r9d, word [rax + rdx*2 + 0x2f9e20]
movzx ecx, r8b
movzx edx, r8b
movzx r10d, byte [rdx + rax + 0x2f7580]
xor r9w, cx
movzx ecx, r11w
shr cx, 9
mov edx, r11d
xor r10b, cl
movzx ecx, r9b
and edx, 0x1ff
and cl, 0x7f
xor r10b, cl
movzx ecx, r9w
movzx r9d, di
xor rdx, rcx
rol r9w, 1
movzx ecx, r10b
movzx r8d, word [rax + rdx*2 + 0x2f9e20]
and r9w, word [r13 - 0x10]
xor r8w, cx
movzx ecx, r10b
movzx ecx, byte [rcx + rax + 0x2f7580]
movzx edx, r8b
and dl, 0x7f
xor cl, dl
movzx edx, cl
shl dx, 9
or dx, r8w
xor r9w, dx
xor r9w, di
movzx ecx, r9w
xor r14w, r9w
rol cx, 1
or cx, word [r13 - 0xe]
xor cx, di
xor si, cx
dec r12
jne 0x14002b630
rol si, 8
mov r12, qword [rsp + 8]
mov rax, qword [rsp]
rol r15w, 8
mov rcx, qword [rsp + 0x10]
add rax, 8
rol r14w, 8
mov word [rcx + rax - 8], si
mov rcx, qword [rsp + 0x60]
rol bp, 8
mov word [r12 - 2], r14w
mov word [r12], r15w
mov word [r12 + 2], bp
add r12, 8
dec qword [rsp + 0x78]
mov qword [rsp], rax
mov qword [rsp + 8], r12
jne 0x14002b5f0
mov r15, qword [rsp + 0x20]
mov r14, qword [rsp + 0x28]
mov r13, qword [rsp + 0x30]
mov r12, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x68]
add rsp, 0x58
ret