Function at 0x140044b20
Capabilities:
Encode data using xor

Disassembly:
test r9, r9
je 0x140045745
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 r14, [rdx + 2]
lea rax, [r8 - 2]
mov qword [rsp + 0x50], r14
mov qword [rsp + 8], rax
nop dword [rax]
nop word [rax + rax]
movzx ecx, word [r14 + 2]
movzx edx, cx
shr dx, 8
movzx eax, dl
movzx r8d, byte [rax + r13 + 0x700]
xor r8b, cl
movzx eax, r8b
movzx r9d, byte [rax + r13 + 0x600]
xor r9b, dl
movzx eax, r9b
movzx edx, byte [rax + r13 + 0x500]
xor dl, r8b
movzx eax, dl
movzx ecx, byte [rax + r13 + 0x400]
movzx eax, dl
movzx edx, word [r14]
xor cl, r9b
movzx r11d, cl
shl r11w, 8
or r11w, ax
xor dx, r11w
xor dx, 0x20
movzx ecx, dx
shr cx, 8
movzx eax, cl
movzx r8d, byte [rax + r13 + 0x300]
xor r8b, dl
movzx eax, r8b
movzx r9d, byte [rax + r13 + 0x200]
xor r9b, cl
movzx eax, r9b
movzx edx, byte [rax + r13 + 0x100]
xor dl, r8b
movzx eax, dl
movzx ecx, byte [rax + r13]
movzx eax, dl
movzx edx, word [r14 - 2]
xor cl, r9b
movzx ebx, cl
shl bx, 8
or bx, ax
xor dx, bx
xor dx, 0x1f
movzx ecx, dx
shr cx, 8
movzx eax, cl
movzx r8d, byte [rax + r13 + 0x900]
xor r8b, dl
movzx eax, r8b
movzx r9d, byte [rax + r13 + 0x800]
xor r9b, cl
movzx eax, r9b
movzx edx, byte [rax + r13 + 0x700]
xor dl, r8b
movzx eax, dl
movzx ecx, byte [rax + r13 + 0x600]
movzx eax, dl
movzx edx, word [r14 + 4]
xor cl, r9b
movzx edi, cl
shl di, 8
or di, ax
xor dx, di
xor dx, 0x1e
movzx ecx, dx
shr cx, 8
movzx eax, cl
movzx r8d, byte [rax + r13 + 0x500]
xor r8b, dl
movzx eax, r8b
movzx r9d, byte [rax + r13 + 0x400]
xor r9b, cl
movzx eax, r9b
movzx edx, byte [rax + r13 + 0x300]
xor dl, r8b
movzx eax, dl
movzx ecx, byte [rax + r13 + 0x200]
movzx eax, dl
xor cl, r9b
movzx r10d, cl
shl r10w, 8
or r10w, ax
xor r11w, r10w
xor r11w, 0x1d
movzx ecx, r11w
shr cx, 8
movzx eax, cl
movzx r8d, byte [rax + r13 + 0x100]
xor r8b, r11b
movzx eax, r8b
movzx r9d, byte [rax + r13]
xor r9b, cl
movzx eax, r9b
movzx edx, byte [rax + r13 + 0x900]
xor dl, r8b
movzx eax, dl
movzx ecx, byte [rax + r13 + 0x800]
movzx eax, dl
xor cl, r9b
movzx r11d, cl
shl r11w, 8
or r11w, ax
xor bx, r11w
xor bx, 0x1c
movzx ecx, bx
shr cx, 8
movzx eax, cl
movzx r8d, byte [rax + r13 + 0x700]
xor r8b, bl
movzx eax, r8b
movzx r9d, byte [rax + r13 + 0x600]
xor r9b, cl
movzx eax, r9b
movzx edx, byte [rax + r13 + 0x500]
xor dl, r8b
movzx eax, dl
movzx ecx, byte [rax + r13 + 0x400]
movzx eax, dl
xor cl, r9b
movzx ebx, cl
shl bx, 8
or bx, ax
xor di, bx
xor di, 0x1b
movzx ecx, di
shr cx, 8
movzx eax, cl
movzx r8d, byte [rax + r13 + 0x300]
xor r8b, dil
movzx eax, r8b
movzx r9d, byte [rax + r13 + 0x200]
xor r9b, cl
movzx eax, r9b
movzx edx, byte [rax + r13 + 0x100]
xor dl, r8b
movzx eax, dl
movzx ecx, byte [rax + r13]
movzx eax, dl
xor cl, r9b
movzx edi, cl
shl di, 8
or di, ax
movzx edx, di
xor dx, r10w
xor dx, 0x1a
movzx ecx, dx
shr cx, 8
movzx eax, cl
movzx r8d, byte [rax + r13 + 0x900]
xor r8b, dl
movzx eax, r8b
movzx r9d, byte [rax + r13 + 0x800]
xor r9b, cl
movzx eax, r9b
movzx edx, byte [rax + r13 + 0x700]
xor dl, r8b
movzx eax, dl
movzx ecx, byte [rax + r13 + 0x600]
movzx eax, dl
xor cl, r9b
movzx r8d, cl
shl r8w, 8
or r8w, ax
xor r11w, r8w
xor r11w, 0x19
movzx ecx, r11w
movzx r10d, r11w
shr cx, 8
xor r10w, r8w
movzx eax, cl
xor r10w, 0x18
movzx r8d, byte [rax + r13 + 0x500]
xor r8b, r11b
movzx eax, r8b
movzx r9d, byte [rax + r13 + 0x400]
xor r9b, cl
movzx eax, r9b
movzx edx, byte [rax + r13 + 0x300]
xor dl, r8b
movzx eax, dl
movzx ecx, byte [rax + r13 + 0x200]
movzx eax, dl
xor cl, r9b
movzx r11d, cl
movzx ecx, bx
shr cx, 8
shl r11w, 8
or r11w, ax
movzx eax, cl
movzx r8d, byte [rax + r13 + 0x100]
xor r11w, bx
xor r8b, bl
xor r11w, 0x17
movzx eax, r8b
movzx r9d, byte [rax + r13]
xor r9b, cl
movzx eax, r9b
movzx edx, byte [rax + r13 + 0x900]
xor dl, r8b
movzx eax, dl
movzx ecx, byte [rax + r13 + 0x800]
movzx eax, dl
xor cl, r9b
movzx ebx, cl
movzx ecx, di
shr cx, 8
shl bx, 8
or bx, ax
movzx eax, cl
movzx r8d, byte [rax + r13 + 0x700]
xor bx, di
xor r8b, dil
xor bx, 0x16
movzx eax, r8b
movzx r9d, byte [rax + r13 + 0x600]
xor r9b, cl
movzx eax, r9b
movzx edx, byte [rax + r13 + 0x500]
xor dl, r8b
movzx eax, dl
movzx ecx, byte [rax + r13 + 0x400]
movzx eax, dl
xor cl, r9b
movzx r14d, cl
movzx ecx, r10w
shl r14w, 8
shr cx, 8
or r14w, ax
movzx eax, cl
movzx r8d, byte [rax + r13 + 0x300]
xor r14w, r10w
xor r8b, r10b
xor r14w, 0x15
movzx eax, r8b
movzx r9d, byte [rax + r13 + 0x200]
xor r9b, cl
movzx eax, r9b
movzx edx, byte [rax + r13 + 0x100]
xor dl, r8b
movzx eax, dl
movzx ecx, byte [rax + r13]
xor cl, r9b
movzx r12d, cl
movzx eax, dl
shl r12w, 8
movzx ecx, r11w
or r12w, ax
shr cx, 8
movzx eax, cl
xor r12w, r11w
movzx r8d, byte [rax + r13 + 0x900]
xor r12w, 0x14
xor r8b, r11b
movzx eax, r8b
movzx r9d, byte [rax + r13 + 0x800]
xor r9b, cl
movzx eax, r9b
movzx edx, byte [rax + r13 + 0x700]
xor dl, r8b
movzx eax, dl
movzx ecx, byte [rax + r13 + 0x600]
movzx eax, dl
xor cl, r9b
movzx r9d, cl
movzx ecx, bx
shr cx, 8
shl r9w, 8
or r9w, ax
movzx eax, cl
movzx edx, byte [rax + r13 + 0x500]
xor r9w, bx
xor dl, bl
xor r9w, 0x13
movzx eax, dl
movzx r11d, byte [rax + r13 + 0x400]
xor r11b, cl
movzx ecx, r14w
shr cx, 8
movzx eax, r11b
movzx r10d, byte [rax + r13 + 0x300]
movzx eax, cl
xor r10b, dl
movzx edx, byte [rax + r13 + 0x100]
xor dl, r14b
movzx eax, dl
movzx edi, byte [rax + r13]
xor dil, cl
movzx ecx, r12w
shr cx, 8
movzx eax, dil
movzx ebx, byte [rax + r13 + 0x900]
movzx eax, cl
xor bl, dl
movzx edx, byte [rax + r13 + 0x700]
xor dl, r12b
movzx eax, dl
movzx ebp, byte [rax + r13 + 0x600]
xor bpl, cl
movzx ecx, r9w
shr cx, 8
movzx eax, bpl
movzx esi, byte [rax + r13 + 0x500]
movzx eax, cl
movzx r8d, byte [rax + r13 + 0x300]
xor sil, dl
xor r8b, r9b
movzx eax, r8b
movzx r9d, byte [rax + r13 + 0x200]
xor r9b, cl
movzx eax, r9b
movzx edx, byte [rax + r13 + 0x100]
xor dl, r8b
movzx eax, dl
movzx ecx, byte [rax + r13]
movzx eax, dl
xor cl, r9b
movzx r15d, cl
shl r15w, 8
or r15w, ax
movzx eax, r10b
movzx ecx, byte [rax + r13 + 0x200]
xor cl, r11b
movzx edx, cl
shl dx, 8
movzx eax, r10b
or dx, ax
xor dx, r14w
xor dx, r15w
xor dx, 2
movzx ecx, dx
shr cx, 8
movzx eax, cl
movzx r8d, byte [rax + r13 + 0x900]
xor r8b, dl
movzx eax, r8b
movzx r9d, byte [rax + r13 + 0x800]
xor r9b, cl
movzx eax, r9b
movzx edx, byte [rax + r13 + 0x700]
xor dl, r8b
movzx eax, dl
movzx ecx, byte [rax + r13 + 0x600]
movzx eax, dl
xor cl, r9b
movzx r14d, cl
shl r14w, 8
or r14w, ax
movzx eax, bl
movzx ecx, byte [rax + r13 + 0x800]
movzx eax, bl
xor cl, dil
movzx edx, cl
shl dx, 8
or dx, ax
xor dx, r14w
xor dx, r12w
xor dx, 0x1e
movzx ecx, dx
shr cx, 8
movzx eax, cl
movzx r8d, byte [rax + r13 + 0x500]
xor r8b, dl
movzx eax, r8b
movzx r9d, byte [rax + r13 + 0x400]
xor r9b, cl
movzx eax, r9b
movzx edx, byte [rax + r13 + 0x300]
xor dl, r8b
movzx eax, dl
movzx ecx, byte [rax + r13 + 0x200]
movzx eax, dl
xor cl, r9b
movzx edi, cl
shl di, 8
or di, ax
movzx eax, sil
movzx ecx, byte [rax + r13 + 0x400]
movzx eax, sil
xor cl, bpl
movzx edx, cl
shl dx, 8
or dx, ax
xor dx, di
xor dx, 0xe
movzx ecx, dx
shr cx, 8
movzx eax, cl
movzx r8d, byte [rax + r13 + 0x100]
xor r8b, dl
movzx eax, r8b
movzx r9d, byte [rax + r13]
xor r9b, cl
movzx eax, r9b
movzx edx, byte [rax + r13 + 0x900]
xor dl, r8b
movzx eax, dl
movzx ecx, byte [rax + r13 + 0x800]
movzx eax, dl
xor cl, r9b
movzx r10d, cl
shl r10w, 8
or r10w, ax
xor r15w, r10w
xor r15w, 0xd
movzx ecx, r15w
shr cx, 8
movzx eax, cl
movzx r8d, byte [rax + r13 + 0x700]
xor r8b, r15b
movzx eax, r8b
movzx r9d, byte [rax + r13 + 0x600]
xor r9b, cl
movzx eax, r9b
movzx edx, byte [rax + r13 + 0x500]
xor dl, r8b
movzx eax, dl
movzx ecx, byte [rax + r13 + 0x400]
movzx eax, dl
xor cl, r9b
movzx r11d, cl
shl r11w, 8
or r11w, ax
xor r14w, r11w
xor r14w, 0xc
movzx ecx, r14w
shr cx, 8
movzx eax, cl
movzx r8d, byte [rax + r13 + 0x300]
xor r8b, r14b
movzx eax, r8b
movzx r9d, byte [rax + r13 + 0x200]
xor r9b, cl
movzx eax, r9b
movzx edx, byte [rax + r13 + 0x100]
xor dl, r8b
movzx eax, dl
movzx ecx, byte [rax + r13]
movzx eax, dl
xor cl, r9b
movzx ebx, cl
shl bx, 8
or bx, ax
xor di, bx
xor di, 0xb
movzx ecx, di
shr cx, 8
movzx eax, cl
movzx r8d, byte [rax + r13 + 0x900]
xor r8b, dil
movzx eax, r8b
movzx r9d, byte [rax + r13 + 0x800]
xor r9b, cl
movzx eax, r9b
movzx edx, byte [rax + r13 + 0x700]
xor dl, r8b
movzx eax, dl
movzx ecx, byte [rax + r13 + 0x600]
movzx eax, dl
xor cl, r9b
movzx edi, cl
shl di, 8
or di, ax
movzx edx, di
xor dx, r10w
xor dx, 0xa
movzx ecx, dx
shr cx, 8
movzx eax, cl
movzx r8d, byte [rax + r13 + 0x500]
xor r8b, dl
movzx eax, r8b
movzx r9d, byte [rax + r13 + 0x400]
xor r9b, cl
movzx eax, r9b
movzx edx, byte [rax + r13 + 0x300]
xor dl, r8b
movzx eax, dl
movzx ecx, byte [rax + r13 + 0x200]
movzx eax, dl
xor cl, r9b
movzx r8d, cl
shl r8w, 8
or r8w, ax
xor r11w, r8w
xor r11w, 9
movzx r10d, r11w
xor r10w, r8w
movzx ecx, r11w
shr cx, 8
xor r10w, 8
movzx eax, cl
movzx r8d, byte [rax + r13 + 0x100]
xor r8b, r11b
movzx eax, r8b
movzx r9d, byte [rax + r13]
xor r9b, cl
movzx eax, r9b
movzx edx, byte [rax + r13 + 0x900]
xor dl, r8b
movzx eax, dl
movzx ecx, byte [rax + r13 + 0x800]
movzx eax, dl
xor cl, r9b
movzx r11d, cl
movzx ecx, bx
shr cx, 8
shl r11w, 8
or r11w, ax
movzx eax, cl
movzx r8d, byte [rax + r13 + 0x700]
xor r11w, bx
xor r8b, bl
xor r11w, 7
movzx eax, r8b
movzx r9d, byte [rax + r13 + 0x600]
xor r9b, cl
movzx eax, r9b
movzx edx, byte [rax + r13 + 0x500]
xor dl, r8b
movzx eax, dl
movzx ecx, byte [rax + r13 + 0x400]
movzx eax, dl
xor cl, r9b
movzx ebx, cl
movzx ecx, di
shr cx, 8
shl bx, 8
or bx, ax
movzx eax, cl
movzx r8d, byte [rax + r13 + 0x300]
xor bx, di
xor r8b, dil
xor bx, 6
movzx eax, r8b
movzx r9d, byte [rax + r13 + 0x200]
xor r9b, cl
movzx eax, r9b
movzx edx, byte [rax + r13 + 0x100]
xor dl, r8b
movzx eax, dl
movzx ecx, byte [rax + r13]
movzx eax, dl
xor cl, r9b
movzx ebp, cl
movzx ecx, r10w
shr cx, 8
shl bp, 8
or bp, ax
movzx eax, cl
movzx r8d, byte [rax + r13 + 0x900]
xor bp, r10w
xor r8b, r10b
xor bp, 5
movzx eax, r8b
movzx r9d, byte [rax + r13 + 0x800]
xor r9b, cl
movzx eax, r9b
movzx edx, byte [rax + r13 + 0x700]
xor dl, r8b
movzx eax, dl
movzx ecx, byte [rax + r13 + 0x600]
movzx eax, dl
xor cl, r9b
movzx r14d, cl
shl r14w, 8
or r14w, ax
xor r14w, r11w
movzx ecx, r11w
xor r14w, 4
shr cx, 8
movzx eax, cl
movzx r8d, byte [rax + r13 + 0x500]
xor r8b, r11b
movzx eax, r8b
movzx r9d, byte [rax + r13 + 0x400]
xor r9b, cl
movzx eax, r9b
movzx edx, byte [rax + r13 + 0x300]
xor dl, r8b
movzx eax, dl
movzx ecx, byte [rax + r13 + 0x200]
movzx eax, dl
xor cl, r9b
movzx esi, cl
movzx ecx, bx
shr cx, 8
shl si, 8
or si, ax
movzx eax, cl
movzx r8d, byte [rax + r13 + 0x100]
xor si, bx
xor r8b, bl
xor si, 3
movzx eax, r8b
movzx r9d, byte [rax + r13]
xor r9b, cl
movzx eax, r9b
movzx edx, byte [rax + r13 + 0x900]
xor dl, r8b
movzx eax, dl
movzx ecx, byte [rax + r13 + 0x800]
movzx eax, dl
xor cl, r9b
movzx edi, cl
movzx ecx, bp
shr cx, 8
shl di, 8
or di, ax
movzx eax, cl
movzx edx, byte [rax + r13 + 0x700]
xor di, bp
xor dl, bpl
xor di, 2
movzx eax, dl
movzx ebx, byte [rax + r13 + 0x600]
xor bl, cl
movzx ecx, r14w
shr cx, 8
movzx eax, bl
movzx r11d, byte [rax + r13 + 0x500]
movzx eax, cl
xor r11b, dl
movzx edx, byte [rax + r13 + 0x300]
xor dl, r14b
movzx eax, dl
movzx r8d, byte [rax + r13 + 0x200]
xor r8b, cl
movzx eax, r8b
movzx r10d, byte [rax + r13 + 0x100]
xor r10b, dl
movzx eax, r10b
movzx r9d, byte [rax + r13]
movzx eax, r11b
movzx ecx, byte [rax + r13 + 0x400]
movzx eax, r11b
xor r9b, r8b
xor cl, bl
movzx edx, cl
shl dx, 8
or dx, ax
mov rax, qword [rsp + 8]
xor dx, r14w
mov r14, qword [rsp + 0x50]
xor dx, 1
mov word [r14 + rax], dx
mov rdx, qword [rsp]
mov word [rdx - 2], di
mov word [rdx], si
add rdx, 8
add r14, 8
movzx ecx, r9b
shl cx, 8
movzx eax, r10b
mov qword [rsp], rdx
or cx, ax
dec qword [rsp + 0x68]
mov qword [rsp + 0x50], r14
mov word [rdx - 6], cx
jne 0x140044b80
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