Function at 0x18003ba80
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
sub rsp, 0xa8
movsxd rax, edx
mov qword [rsp + 0x70], rax
test edx, edx
jle 0x18003c032
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rbp
mov qword [r11 + 0x20], rsi
mov qword [r11 - 8], rdi
mov qword [r11 - 0x10], r12
mov qword [r11 - 0x18], r13
mov qword [r11 - 0x20], r14
mov qword [r11 - 0x28], r15
mov r11, qword [rcx]
mov qword [rsp + 8], 0
nop word [rax + rax]
xor r11, qword [rcx + 0x28]
xor r11, qword [rcx + 0x78]
mov r8, qword [rcx + 0x30]
xor r8, qword [rcx + 0x80]
xor r8, qword [rcx + 0x58]
xor r8, qword [rcx + 0xa8]
xor r8, qword [rcx + 8]
mov rdx, qword [rcx + 0x48]
mov rax, r8
xor rdx, qword [rcx + 0x98]
xor rdx, qword [rcx + 0x70]
xor rdx, qword [rcx + 0xc0]
xor rdx, qword [rcx + 0x20]
mov r10, qword [rcx + 0x38]
xor r10, qword [rcx + 0x88]
xor r10, qword [rcx + 0x60]
mov rbx, qword [rcx + 0x40]
xor rbx, qword [rcx + 0x90]
xor rbx, qword [rcx + 0x68]
xor r11, qword [rcx + 0x50]
xor r11, qword [rcx + 0xa0]
xor r10, qword [rcx + 0xb0]
xor r10, qword [rcx + 0x10]
xor rbx, qword [rcx + 0xb8]
xor rbx, qword [rcx + 0x18]
rol rax, 1
xor rax, rdx
mov qword [rsp + 0x10], r11
xor qword [rcx], rax
xor qword [rcx + 0x28], rax
xor qword [rcx + 0x50], rax
xor qword [rcx + 0x78], rax
xor qword [rcx + 0xa0], rax
mov rax, r10
mov r9, qword [rcx]
mov r14, qword [rcx + 0xa0]
mov qword [rsp + 0x68], r9
mov r9, qword [rcx + 0x28]
mov qword [rsp + 0x38], r9
mov r9, qword [rcx + 0x50]
mov qword [rsp + 0x58], r9
mov r9, qword [rcx + 0x78]
rol rax, 1
xor rax, r11
mov qword [rsp + 0x20], r9
xor qword [rcx + 8], rax
xor qword [rcx + 0x30], rax
xor qword [rcx + 0x58], rax
xor qword [rcx + 0x80], rax
xor qword [rcx + 0xa8], rax
mov rax, rbx
mov r9, qword [rcx + 8]
mov r13, qword [rcx + 0xa8]
mov qword [rsp + 0x60], r9
mov r9, qword [rcx + 0x30]
mov qword [rsp], r9
mov r9, qword [rcx + 0x58]
rol rax, 1
xor rax, r8
rol rdx, 1
xor qword [rcx + 0x38], rax
xor rdx, r10
mov r8, qword [rcx + 0x38]
xor qword [rcx + 0x60], rax
xor qword [rcx + 0x88], rax
xor qword [rcx + 0x10], rax
xor qword [rcx + 0xb0], rax
xor qword [rcx + 0x18], rdx
mov rsi, qword [rcx + 0x10]
mov r12, qword [rcx + 0x18]
xor qword [rcx + 0x40], rdx
mov qword [rsp + 0x50], r8
mov r8, qword [rcx + 0x60]
mov qword [rsp + 0x48], r9
mov r9, qword [rcx + 0x80]
mov qword [rsp + 0x18], r8
mov r8, qword [rcx + 0x88]
mov qword [rsp + 0x30], r9
mov r9, qword [rcx + 0xb0]
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x40], r8
xor qword [rcx + 0x68], rdx
xor qword [rcx + 0x90], rdx
xor qword [rcx + 0xb8], rdx
mov rbp, qword [rcx + 0x40]
mov r11, qword [rcx + 0x68]
mov r15, qword [rcx + 0x90]
mov rdi, qword [rcx + 0xb8]
mov r10, qword [rsp + 0x10]
mov r13, qword [rsp]
rol r10, 1
xor r10, rbx
ror r13, 0x14
xor qword [rcx + 0x48], r10
xor qword [rcx + 0x20], r10
xor qword [rcx + 0x70], r10
xor qword [rcx + 0x98], r10
xor qword [rcx + 0xc0], r10
mov rax, qword [rcx + 0x48]
mov rbx, qword [rcx + 0x20]
mov rdx, qword [rcx + 0x70]
mov r8, qword [rcx + 0x98]
mov r10, qword [rcx + 0xc0]
rol rax, 0x14
mov qword [rcx + 0x30], rax
mov rax, qword [rsp + 0x20]
ror rax, 0x17
mov qword [rcx + 0xb8], rax
mov rax, qword [rsp + 0x30]
ror rax, 0x13
mov qword [rcx + 0x40], rax
mov rax, qword [rsp + 0x38]
ror rax, 0x1c
mov qword [rcx + 0x80], rax
mov rax, qword [rsp + 0x40]
rol rax, 0xf
mov qword [rcx + 0x90], rax
mov rax, qword [rsp + 0x48]
rol rax, 0xa
mov qword [rcx + 0x88], rax
mov rax, qword [rsp + 0x50]
rol rax, 6
mov qword [rcx + 0x58], rax
mov rax, qword [rsp + 0x58]
ror r9, 3
rol rax, 3
mov qword [rsp], r13
rol r10, 0xe
mov qword [rcx + 8], r13
mov r13, qword [rsp + 0x28]
mov qword [rcx + 0x48], r9
mov r9, qword [rsp + 0x18]
mov qword [rcx + 0x38], rax
mov rax, qword [rsp + 0x60]
ror rdx, 0x19
rol r14, 0x12
ror rsi, 2
ror r9, 0x15
rol r11, 0x19
rol r8, 8
ror rdi, 8
rol rbx, 0x1b
rol r13, 2
ror rbp, 9
rol r12, 0x1c
rol r15, 0x15
rol rax, 1
mov qword [rcx + 0x20], r10
mov r10, qword [rsp]
mov qword [rcx + 0x50], rax
mov qword [rcx + 0xb0], rdx
mov qword [rcx + 0x70], r14
mov qword [rcx + 0xa0], rsi
mov qword [rcx + 0x10], r9
mov qword [rcx + 0x60], r11
mov qword [rcx + 0x68], r8
mov qword [rcx + 0x98], rdi
mov qword [rcx + 0x78], rbx
mov qword [rcx + 0xc0], r13
mov qword [rcx + 0xa8], rbp
mov qword [rcx + 0x28], r12
mov qword [rcx + 0x18], r15
mov r8, qword [rcx + 0x18]
mov rax, r10
not rax
mov rdx, qword [rcx + 0x20]
and rax, r9
mov r11, qword [rsp + 0x68]
xor rax, r11
mov qword [rcx], rax
mov rax, r9
not rax
and rax, r8
xor rax, r10
mov qword [rcx + 8], rax
mov rax, r8
not rax
and rax, rdx
xor rax, r9
mov qword [rcx + 0x10], rax
mov rax, rdx
not rax
and rax, r11
not r11
xor rax, r8
and r11, r10
mov qword [rcx + 0x18], rax
xor r11, rdx
mov qword [rcx + 0x20], r11
mov r10, qword [rcx + 0x30]
mov r9, qword [rcx + 0x38]
mov rax, r10
mov r8, qword [rcx + 0x40]
not rax
mov rdx, qword [rcx + 0x48]
and rax, r9
mov r11, qword [rcx + 0x28]
xor rax, r11
mov qword [rcx + 0x28], rax
mov rax, r9
not rax
and rax, r8
xor rax, r10
mov qword [rcx + 0x30], rax
mov rax, r8
not rax
and rax, rdx
xor rax, r9
mov qword [rcx + 0x38], rax
mov rax, rdx
not rax
and rax, r11
not r11
xor rax, r8
and r11, r10
mov qword [rcx + 0x40], rax
xor r11, rdx
mov qword [rcx + 0x48], r11
mov r9, qword [rcx + 0x60]
mov r8, qword [rcx + 0x68]
mov r10, qword [rcx + 0x58]
mov r11, qword [rcx + 0x50]
mov rax, r10
mov rdx, qword [rcx + 0x70]
not rax
and rax, r9
xor rax, r11
mov qword [rcx + 0x50], rax
mov rax, r9
not rax
and rax, r8
xor rax, r10
mov qword [rcx + 0x58], rax
mov rax, r8
not rax
and rax, rdx
xor rax, r9
mov qword [rcx + 0x60], rax
mov rax, rdx
not rax
and rax, r11
xor rax, r8
mov qword [rcx + 0x68], rax
not r11
and r11, r10
xor r11, rdx
mov qword [rcx + 0x70], r11
mov r10, qword [rcx + 0x80]
mov r9, qword [rcx + 0x88]
mov rax, r10
mov r8, qword [rcx + 0x90]
not rax
mov rdx, qword [rcx + 0x98]
and rax, r9
mov r11, qword [rcx + 0x78]
xor rax, r11
mov qword [rcx + 0x78], rax
mov rax, r9
not rax
and rax, r8
xor rax, r10
mov qword [rcx + 0x80], rax
mov rax, r8
not rax
and rax, rdx
xor rax, r9
mov qword [rcx + 0x88], rax
mov rax, rdx
not rax
and rax, r11
not r11
xor rax, r8
and r11, r10
mov qword [rcx + 0x90], rax
xor r11, rdx
mov qword [rcx + 0x98], r11
mov r10, qword [rcx + 0xa8]
mov rdx, qword [rcx + 0xb0]
mov rax, r10
mov r8, qword [rcx + 0xb8]
not rax
mov r9, qword [rcx + 0xc0]
and rax, rdx
mov r11, qword [rcx + 0xa0]
not rdx
xor rax, r11
and rdx, r8
mov qword [rcx + 0xa0], rax
not r8
xor qword [rcx + 0xa8], rdx
lea rax, [0x18005f000]
mov rdx, qword [rsp + 8]
and r8, r9
xor qword [rcx + 0xb0], r8
not r9
and r9, r11
not r11
xor qword [rcx + 0xb8], r9
and r11, r10
xor qword [rcx + 0xc0], r11
mov rax, qword [rax + rdx*8]
inc rdx
xor qword [rcx], rax
mov r11, qword [rcx]
mov qword [rsp + 8], rdx
cmp rdx, qword [rsp + 0x70]
jl 0x18003bad0
mov r15, qword [rsp + 0x80]
mov r14, qword [rsp + 0x88]
mov r13, qword [rsp + 0x90]
mov r12, qword [rsp + 0x98]
mov rdi, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0xc8]
mov rbp, qword [rsp + 0xc0]
mov rbx, qword [rsp + 0xb8]
add rsp, 0xa8
ret