Function at 0x14002bcc0
Capabilities:
Encode data using xor

Disassembly:
test r9, r9
je 0x14002c1ac
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
add r13, 0x60
nop dword [rax + rax]
movzx ecx, word [r13 + 0x14]
movzx r11d, word [r13 + 0x16]
xor cx, r15w
movzx r8d, cl
movzx edx, cx
shr rdx, 7
and r8b, 0x7f
movzx r9d, word [rax + rdx*2 + 0x311890]
movzx ecx, r8b
movzx edx, r8b
movzx r10d, byte [rdx + rax + 0x30eff0]
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 + 0x311890]
xor r8w, cx
movzx ecx, r10b
movzx ecx, byte [rcx + rax + 0x30eff0]
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 + 0x311890]
movzx ecx, r8b
movzx edx, r8b
movzx r10d, byte [rdx + rax + 0x30eff0]
xor r9w, cx
movzx ecx, r11w
shr cx, 9
mov edx, r11d
movzx r11d, word [r13 + 0x1e]
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 + 0x311890]
xor r8w, cx
movzx ecx, r10b
movzx ecx, byte [rcx + rax + 0x30eff0]
movzx edx, r8b
and dl, 0x7f
xor cl, dl
movzx edi, cl
movzx ecx, word [r13 + 0x1c]
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 + 0x311890]
movzx ecx, r8b
movzx edx, r8b
xor r9w, cx
movzx ecx, r11w
shr cx, 9
movzx r10d, byte [rdx + rax + 0x30eff0]
mov edx, r11d
movzx r11d, word [r13 + 6]
xor r10b, cl
and edx, 0x1ff
movzx ecx, r9b
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 + 0x311890]
and r9w, word [r13 + 0x10]
xor r8w, cx
movzx ecx, r10b
movzx ecx, byte [rcx + rax + 0x30eff0]
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 + 0x12]
xor cx, di
xor si, cx
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 + 0x311890]
movzx ecx, r8b
movzx edx, r8b
movzx r10d, byte [rdx + rax + 0x30eff0]
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 + 0x311890]
xor r8w, cx
movzx ecx, r10b
movzx ecx, byte [rcx + rax + 0x30eff0]
movzx edx, r8b
and dl, 0x7f
xor cl, dl
movzx edi, cl
movzx ecx, word [r13 + 8]
xor cx, bx
shl di, 9
or di, r8w
movzx r8d, cl
movzx edx, cx
and r8b, 0x7f
xor di, bx
shr rdx, 7
movzx r9d, word [rax + rdx*2 + 0x311890]
movzx ecx, r8b
xor r9w, cx
movzx edx, r8b
movzx ecx, r11w
movzx r10d, byte [rdx + rax + 0x30eff0]
shr cx, 9
mov edx, r11d
movzx r11d, word [r13 + 0xe]
xor r10b, cl
and edx, 0x1ff
movzx ecx, r9b
lea r13, [r13 - 0x20]
and cl, 0x7f
xor r10b, cl
movzx ecx, r9w
xor rdx, rcx
movzx ecx, r10b
movzx r8d, word [rax + rdx*2 + 0x311890]
xor r8w, cx
movzx ecx, r10b
movzx ecx, byte [rcx + rax + 0x30eff0]
movzx edx, r8b
and dl, 0x7f
xor cl, dl
movzx ebx, cl
movzx ecx, word [r13 + 0x2c]
xor cx, di
shl bx, 9
movzx edx, cx
or bx, r8w
movzx r8d, cl
shr rdx, 7
and r8b, 0x7f
xor bx, di
movzx r9d, word [rax + rdx*2 + 0x311890]
movzx ecx, r8b
movzx edx, r8b
movzx r10d, byte [rdx + rax + 0x30eff0]
xor r9w, cx
movzx ecx, r11w
shr cx, 9
mov edx, r11d
xor r15w, bx
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 + 0x311890]
xor r8w, cx
movzx ecx, r10b
movzx ecx, byte [rcx + rax + 0x30eff0]
movzx edx, r8b
and dl, 0x7f
xor cl, dl
movzx edx, cl
shl dx, 9
or dx, r8w
xor dx, bx
xor bp, dx
dec r12
jne 0x14002bd60
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 0x14002bd20
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