Function at 0x140043ef0
Capabilities:
Encode data using xor

Disassembly:
test r9, r9
je 0x140044b14
mov rax, rsp
mov qword [rax + 0x20], r9
push r13
sub rsp, 0x40
mov r13, qword [rcx + 8]
mov qword [rax + 0x10], rbx
mov qword [rax - 0x10], rbp
mov qword [rax - 0x18], rsi
mov qword [rax - 0x20], rdi
mov qword [rax - 0x28], r12
mov qword [rax - 0x30], r14
mov qword [rax - 0x38], r15
lea rax, [r8 + 4]
sub r8, rdx
mov qword [rsp], rax
lea rbx, [rdx + 2]
lea rax, [r8 - 2]
mov qword [rsp + 0x50], rbx
mov qword [rsp + 8], rax
nop dword [rax]
nop word [rax + rax]
movzx edx, word [rbx + 4]
movzx eax, dl
movzx ecx, dx
movzx r8d, byte [rax + r13]
shr cx, 8
xor r8b, cl
movzx eax, r8b
movzx r9d, byte [rax + r13 + 0x100]
xor r9b, dl
movzx eax, r9b
movzx edx, byte [rax + r13 + 0x200]
xor dl, r8b
movzx eax, dl
movzx ecx, byte [rax + r13 + 0x300]
movzx eax, dl
movzx edx, word [rbx - 2]
xor cl, r9b
shl ax, 8
movzx r10d, cl
or r10w, ax
xor dx, r10w
xor dx, 1
movzx eax, dl
movzx ecx, dx
movzx r8d, byte [rax + r13 + 0x400]
shr cx, 8
xor r8b, cl
movzx eax, r8b
movzx r9d, byte [rax + r13 + 0x500]
xor r9b, dl
movzx eax, r9b
movzx edx, byte [rax + r13 + 0x600]
xor dl, r8b
movzx eax, dl
movzx ecx, byte [rax + r13 + 0x700]
movzx eax, dl
xor cl, r9b
shl ax, 8
movzx edi, cl
or di, ax
movzx edx, di
xor dx, word [rbx]
xor dx, 2
movzx eax, dl
movzx ecx, dx
movzx r8d, byte [rax + r13 + 0x800]
shr cx, 8
xor r8b, cl
movzx eax, r8b
movzx r9d, byte [rax + r13 + 0x900]
xor r9b, dl
movzx eax, r9b
movzx edx, byte [rax + r13]
xor dl, r8b
movzx eax, dl
movzx ecx, byte [rax + r13 + 0x100]
movzx eax, dl
movzx edx, word [rbx + 2]
xor cl, r9b
shl ax, 8
movzx r11d, cl
or r11w, ax
xor dx, r11w
xor dx, 3
movzx eax, dl
movzx ecx, dx
movzx r8d, byte [rax + r13 + 0x200]
shr cx, 8
xor r8b, cl
movzx eax, r8b
movzx r9d, byte [rax + r13 + 0x300]
xor r9b, dl
movzx eax, r9b
movzx edx, byte [rax + r13 + 0x400]
xor dl, r8b
movzx eax, dl
movzx ecx, byte [rax + r13 + 0x500]
movzx eax, dl
xor cl, r9b
shl ax, 8
movzx ebx, cl
or bx, ax
movzx edx, bx
xor dx, r10w
xor dx, 4
movzx eax, dl
movzx ecx, dx
movzx r8d, byte [rax + r13 + 0x600]
shr cx, 8
xor r8b, cl
movzx eax, r8b
movzx r9d, byte [rax + r13 + 0x700]
xor r9b, dl
movzx eax, r9b
movzx edx, byte [rax + r13 + 0x800]
xor dl, r8b
movzx eax, dl
movzx ecx, byte [rax + r13 + 0x900]
movzx eax, dl
xor cl, r9b
shl ax, 8
movzx r10d, cl
or r10w, ax
xor di, r10w
xor di, 5
movzx eax, dil
movzx ecx, di
movzx r8d, byte [rax + r13]
shr cx, 8
xor r8b, cl
movzx eax, r8b
movzx r9d, byte [rax + r13 + 0x100]
xor r9b, dil
movzx eax, r9b
movzx edx, byte [rax + r13 + 0x200]
xor dl, r8b
movzx eax, dl
movzx ecx, byte [rax + r13 + 0x300]
movzx eax, dl
xor cl, r9b
shl ax, 8
movzx edi, cl
or di, ax
movzx edx, di
xor dx, r11w
xor dx, 6
movzx eax, dl
movzx ecx, dx
movzx r8d, byte [rax + r13 + 0x400]
shr cx, 8
xor r8b, cl
movzx eax, r8b
movzx r9d, byte [rax + r13 + 0x500]
xor r9b, dl
movzx eax, r9b
movzx edx, byte [rax + r13 + 0x600]
xor dl, r8b
movzx eax, dl
movzx ecx, byte [rax + r13 + 0x700]
movzx eax, dl
xor cl, r9b
shl ax, 8
movzx esi, cl
or si, ax
movzx edx, si
xor dx, bx
xor dx, 7
movzx eax, dl
movzx ecx, dx
movzx r8d, byte [rax + r13 + 0x800]
shr cx, 8
xor r8b, cl
movzx eax, r8b
movzx r9d, byte [rax + r13 + 0x900]
xor r9b, dl
movzx eax, r9b
movzx edx, byte [rax + r13]
xor dl, r8b
movzx eax, dl
movzx ecx, byte [rax + r13 + 0x100]
xor cl, r9b
movzx r11d, cl
movzx eax, dl
shl ax, 8
or r11w, ax
movzx edx, r11w
xor dx, r10w
xor dx, 8
movzx eax, dl
movzx ecx, dx
xor r11w, dx
movzx r8d, byte [rax + r13 + 0x200]
shr cx, 8
xor r11w, 9
xor r8b, cl
movzx eax, r8b
movzx r9d, byte [rax + r13 + 0x300]
xor r9b, dl
movzx eax, r9b
movzx edx, byte [rax + r13 + 0x400]
xor dl, r8b
movzx eax, dl
movzx ecx, byte [rax + r13 + 0x500]
movzx eax, dl
xor cl, r9b
shl ax, 8
movzx r10d, cl
movzx ecx, di
or r10w, ax
shr cx, 8
movzx eax, dil
movzx r8d, byte [rax + r13 + 0x600]
xor r10w, di
xor r8b, cl
xor r10w, 0xa
movzx eax, r8b
movzx r9d, byte [rax + r13 + 0x700]
xor r9b, dil
movzx eax, r9b
movzx edx, byte [rax + r13 + 0x800]
xor dl, r8b
movzx eax, dl
movzx ecx, byte [rax + r13 + 0x900]
movzx eax, dl
xor cl, r9b
shl ax, 8
movzx edi, cl
movzx ecx, si
or di, ax
shr cx, 8
movzx eax, sil
movzx r8d, byte [rax + r13]
xor di, si
xor r8b, cl
xor di, 0xb
movzx eax, r8b
movzx r9d, byte [rax + r13 + 0x100]
xor r9b, sil
movzx eax, r9b
movzx edx, byte [rax + r13 + 0x200]
xor dl, r8b
movzx eax, dl
movzx ecx, byte [rax + r13 + 0x300]
movzx eax, dl
xor cl, r9b
shl ax, 8
movzx r15d, cl
movzx ecx, r11w
or r15w, ax
shr cx, 8
movzx eax, r11b
movzx r8d, byte [rax + r13 + 0x400]
xor r15w, r11w
xor r8b, cl
xor r15w, 0xc
movzx eax, r8b
movzx r9d, byte [rax + r13 + 0x500]
xor r9b, r11b
movzx eax, r9b
movzx edx, byte [rax + r13 + 0x600]
xor dl, r8b
movzx eax, dl
movzx ecx, byte [rax + r13 + 0x700]
xor cl, r9b
movzx eax, dl
shl ax, 8
movzx r12d, cl
movzx ecx, r10w
or r12w, ax
shr cx, 8
movzx eax, r10b
movzx r8d, byte [rax + r13 + 0x800]
xor r12w, r10w
xor r8b, cl
xor r12w, 0xd
movzx eax, r8b
movzx r9d, byte [rax + r13 + 0x900]
xor r9b, r10b
movzx eax, r9b
movzx edx, byte [rax + r13]
xor dl, r8b
movzx eax, dl
movzx ecx, byte [rax + r13 + 0x100]
movzx eax, dl
shl ax, 8
xor cl, r9b
movzx r11d, cl
movzx ecx, di
or r11w, ax
shr cx, 8
movzx eax, dil
movzx edx, byte [rax + r13 + 0x200]
xor r11w, di
xor dl, cl
xor r11w, 0xe
movzx ecx, r15w
shr cx, 8
movzx eax, dl
movzx ebx, byte [rax + r13 + 0x300]
xor bl, dil
movzx eax, bl
movzx r10d, byte [rax + r13 + 0x400]
movzx eax, r15b
xor r10b, dl
movzx edx, byte [rax + r13 + 0x600]
xor dl, cl
movzx ecx, r12w
shr cx, 8
movzx eax, dl
movzx esi, byte [rax + r13 + 0x700]
xor sil, r15b
movzx eax, sil
movzx edi, byte [rax + r13 + 0x800]
movzx eax, r12b
xor dil, dl
movzx edx, byte [rax + r13]
xor dl, cl
movzx ecx, r11w
shr cx, 8
movzx eax, dl
movzx r14d, byte [rax + r13 + 0x100]
xor r14b, r12b
movzx eax, r14b
movzx ebp, byte [rax + r13 + 0x200]
movzx eax, r11b
movzx r8d, byte [rax + r13 + 0x400]
xor bpl, dl
xor r8b, cl
movzx eax, r8b
movzx r9d, byte [rax + r13 + 0x500]
xor r9b, r11b
movzx eax, r9b
movzx edx, byte [rax + r13 + 0x600]
xor dl, r8b
movzx eax, dl
movzx ecx, byte [rax + r13 + 0x700]
movzx eax, dl
xor cl, r9b
shl ax, 8
movzx r11d, cl
or r11w, ax
movzx eax, r10b
movzx ecx, byte [rax + r13 + 0x500]
xor cl, bl
movzx edx, cl
movzx eax, r10b
shl ax, 8
or dx, ax
xor dx, r15w
xor dx, r11w
xor dx, 0x1e
movzx eax, dl
movzx ecx, dx
movzx r8d, byte [rax + r13 + 0x800]
shr cx, 8
xor r8b, cl
movzx eax, r8b
movzx r9d, byte [rax + r13 + 0x900]
xor r9b, dl
movzx eax, r9b
movzx edx, byte [rax + r13]
xor dl, r8b
movzx eax, dl
movzx ecx, byte [rax + r13 + 0x100]
movzx eax, dl
shl ax, 8
xor cl, r9b
movzx r15d, cl
or r15w, ax
movzx eax, dil
movzx ecx, byte [rax + r13 + 0x900]
movzx eax, dil
shl ax, 8
xor cl, sil
movzx edx, cl
or dx, ax
xor dx, r15w
xor dx, r12w
xor dx, 2
movzx eax, dl
movzx ecx, dx
movzx r8d, byte [rax + r13 + 0x200]
shr cx, 8
xor r8b, cl
movzx eax, r8b
movzx r9d, byte [rax + r13 + 0x300]
xor r9b, dl
movzx eax, r9b
movzx edx, byte [rax + r13 + 0x400]
xor dl, r8b
movzx eax, dl
movzx ecx, byte [rax + r13 + 0x500]
movzx eax, dl
shl ax, 8
xor cl, r9b
movzx ebx, cl
or bx, ax
movzx eax, bpl
movzx ecx, byte [rax + r13 + 0x300]
movzx eax, bpl
shl ax, 8
xor cl, r14b
movzx edx, cl
or dx, ax
xor dx, bx
xor dx, 0x13
movzx eax, dl
movzx ecx, dx
movzx r8d, byte [rax + r13 + 0x600]
shr cx, 8
xor r8b, cl
movzx eax, r8b
movzx r9d, byte [rax + r13 + 0x700]
xor r9b, dl
movzx eax, r9b
movzx edx, byte [rax + r13 + 0x800]
xor dl, r8b
movzx eax, dl
movzx ecx, byte [rax + r13 + 0x900]
movzx eax, dl
xor cl, r9b
shl ax, 8
movzx r10d, cl
or r10w, ax
movzx edx, r10w
xor dx, r11w
xor dx, 0x14
movzx eax, dl
movzx ecx, dx
movzx r8d, byte [rax + r13]
shr cx, 8
xor r8b, cl
movzx eax, r8b
movzx r9d, byte [rax + r13 + 0x100]
xor r9b, dl
movzx eax, r9b
movzx edx, byte [rax + r13 + 0x200]
xor dl, r8b
movzx eax, dl
movzx ecx, byte [rax + r13 + 0x300]
movzx eax, dl
xor cl, r9b
shl ax, 8
movzx r11d, cl
or r11w, ax
xor r15w, r11w
xor r15w, 0x15
movzx eax, r15b
movzx ecx, r15w
movzx r8d, byte [rax + r13 + 0x400]
shr cx, 8
xor r8b, cl
movzx eax, r8b
movzx r9d, byte [rax + r13 + 0x500]
xor r9b, r15b
movzx eax, r9b
movzx edx, byte [rax + r13 + 0x600]
xor dl, r8b
movzx eax, dl
movzx ecx, byte [rax + r13 + 0x700]
movzx eax, dl
xor cl, r9b
shl ax, 8
movzx esi, cl
or si, ax
movzx edx, si
xor dx, bx
xor dx, 0x16
movzx eax, dl
movzx ecx, dx
movzx r8d, byte [rax + r13 + 0x800]
shr cx, 8
xor r8b, cl
movzx eax, r8b
movzx r9d, byte [rax + r13 + 0x900]
xor r9b, dl
movzx eax, r9b
movzx edx, byte [rax + r13]
xor dl, r8b
movzx eax, dl
movzx ecx, byte [rax + r13 + 0x100]
movzx eax, dl
xor cl, r9b
shl ax, 8
movzx edi, cl
or di, ax
movzx edx, di
xor dx, r10w
xor dx, 0x17
movzx eax, dl
movzx ecx, dx
movzx r8d, byte [rax + r13 + 0x200]
shr cx, 8
xor r8b, cl
movzx eax, r8b
movzx r9d, byte [rax + r13 + 0x300]
xor r9b, dl
movzx eax, r9b
movzx edx, byte [rax + r13 + 0x400]
xor dl, r8b
movzx eax, dl
movzx ecx, byte [rax + r13 + 0x500]
movzx eax, dl
xor cl, r9b
shl ax, 8
movzx ebx, cl
or bx, ax
movzx edx, bx
xor dx, r11w
xor dx, 0x18
movzx eax, dl
xor bx, dx
movzx ecx, dx
movzx r8d, byte [rax + r13 + 0x600]
shr cx, 8
xor bx, 0x19
xor r8b, cl
movzx eax, r8b
movzx r9d, byte [rax + r13 + 0x700]
xor r9b, dl
movzx eax, r9b
movzx edx, byte [rax + r13 + 0x800]
xor dl, r8b
movzx eax, dl
movzx ecx, byte [rax + r13 + 0x900]
movzx eax, dl
xor cl, r9b
shl ax, 8
movzx r10d, cl
movzx ecx, si
or r10w, ax
shr cx, 8
movzx eax, sil
movzx r8d, byte [rax + r13]
xor r10w, si
xor r8b, cl
xor r10w, 0x1a
movzx eax, r8b
movzx r9d, byte [rax + r13 + 0x100]
xor r9b, sil
movzx eax, r9b
movzx edx, byte [rax + r13 + 0x200]
xor dl, r8b
movzx eax, dl
movzx ecx, byte [rax + r13 + 0x300]
movzx eax, dl
xor cl, r9b
shl ax, 8
movzx r11d, cl
movzx ecx, di
or r11w, ax
shr cx, 8
movzx eax, dil
movzx r8d, byte [rax + r13 + 0x400]
xor r11w, di
xor r8b, cl
xor r11w, 0x1b
movzx eax, r8b
movzx r9d, byte [rax + r13 + 0x500]
xor r9b, dil
movzx eax, r9b
movzx edx, byte [rax + r13 + 0x600]
xor dl, r8b
movzx eax, dl
movzx ecx, byte [rax + r13 + 0x700]
movzx eax, dl
xor cl, r9b
shl ax, 8
movzx r14d, cl
movzx ecx, bx
or r14w, ax
shr cx, 8
movzx eax, bl
movzx r8d, byte [rax + r13 + 0x800]
xor r14w, bx
xor r8b, cl
xor r14w, 0x1c
movzx eax, r8b
movzx r9d, byte [rax + r13 + 0x900]
xor r9b, bl
movzx eax, r9b
movzx edx, byte [rax + r13]
xor dl, r8b
movzx eax, dl
movzx ecx, byte [rax + r13 + 0x100]
xor cl, r9b
movzx ebp, cl
movzx eax, dl
movzx ecx, r10w
shl ax, 8
shr cx, 8
or bp, ax
movzx eax, r10b
movzx r8d, byte [rax + r13 + 0x200]
xor bp, r10w
xor r8b, cl
xor bp, 0x1d
movzx eax, r8b
movzx r9d, byte [rax + r13 + 0x300]
xor r9b, r10b
movzx eax, r9b
movzx edx, byte [rax + r13 + 0x400]
xor dl, r8b
movzx eax, dl
movzx ecx, byte [rax + r13 + 0x500]
movzx eax, dl
xor cl, r9b
shl ax, 8
movzx esi, cl
movzx ecx, r11w
or si, ax
shr cx, 8
movzx eax, r11b
movzx edx, byte [rax + r13 + 0x600]
xor si, r11w
xor dl, cl
movzx ecx, r14w
xor si, 0x1e
shr cx, 8
movzx eax, dl
movzx edi, byte [rax + r13 + 0x700]
xor dil, r11b
movzx eax, dil
movzx ebx, byte [rax + r13 + 0x800]
movzx eax, r14b
xor bl, dl
movzx edx, byte [rax + r13]
xor dl, cl
movzx eax, dl
movzx ecx, byte [rax + r13 + 0x100]
xor cl, r14b
movzx eax, cl
movzx r11d, byte [rax + r13 + 0x200]
xor r11b, dl
movzx eax, r11b
movzx r10d, byte [rax + r13 + 0x300]
movzx eax, bpl
movzx edx, byte [rax + r13 + 0x400]
xor r10b, cl
movzx ecx, bp
shr cx, 8
xor dl, cl
movzx eax, dl
movzx ecx, byte [rax + r13 + 0x500]
xor cl, bpl
movzx eax, cl
movzx r9d, byte [rax + r13 + 0x600]
xor r9b, dl
movzx eax, r9b
movzx r8d, byte [rax + r13 + 0x700]
movzx eax, bl
xor r8b, cl
movzx ecx, byte [rax + r13 + 0x900]
movzx eax, bl
mov rbx, qword [rsp + 0x50]
xor cl, dil
shl ax, 8
movzx edx, cl
movzx ecx, r11b
or dx, ax
mov rax, qword [rsp + 8]
shl cx, 8
xor dx, r14w
xor dx, 0x1f
mov word [rax + rbx], dx
movzx eax, r10b
or cx, ax
xor cx, bp
mov rdx, qword [rsp]
xor cx, 0x20
add rbx, 8
mov word [rdx - 2], cx
add rdx, 8
movzx ecx, r9b
shl cx, 8
movzx eax, r8b
mov word [rdx - 6], si
or cx, ax
dec qword [rsp + 0x68]
mov qword [rsp], rdx
mov word [rdx - 8], cx
mov qword [rsp + 0x50], rbx
jne 0x140043f50
mov r15, qword [rsp + 0x10]
mov r14, qword [rsp + 0x18]
mov r12, qword [rsp + 0x20]
mov rdi, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x58]
add rsp, 0x40
pop r13
ret