Function at 0x180018470
Capabilities:
Encode data using xor

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