Function at 0x1400c87a0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x168
vmovups xmmword [rsp + 0x150], xmm6
vpxor xmm0, xmm0, xmm0
xor ebx, ebx
vmovupd xmm4, xmmword [rcx + 0x980]
vmovupd xmm5, xmmword [rcx + 0x990]
lea r13, [rcx + 0xa70]
vmovdqu xmmword [rsp + 0x50], xmm0
mov r15, rcx
vmovupd xmmword [rsp + 0x110], xmm4
vmovupd xmm4, xmmword [rcx + 0x9a0]
lea rsi, [rcx + 0xa98]
lea r12, [rsp + 0x50]
vmovdqu xmmword [rsp + 0x60], xmm0
mov rdi, rsi
vmovupd xmmword [rsp + 0x120], xmm5
lea rbp, [rcx + 0xc0]
vmovupd xmm5, xmmword [rcx + 0x9b0]
vmovdqu xmmword [rsp + 0x70], xmm0
vmovdqu xmmword [rsp + 0x80], xmm0
vpcmpeqd xmm0, xmm0, xmm0
vmovupd xmmword [rsp + 0x130], xmm4
vmovdqu xmmword [rcx + 0xa70], xmm0
vmovupd xmmword [rsp + 0x140], xmm5
vmovdqu xmmword [r13 + 0x10], xmm0
mov qword [rcx + 0xa90], r12
nop word [rax + rax]
mov r9, rdi
mov r8d, ebx
mov rdx, rbp
mov rcx, r13
add ebx, 1
add rbp, 8
call dbg.randomx::BytecodeMachine::compileInstruction(randomx::Instruction&, int, randomx::InstructionByteCode&)
add rdi, 0x20
cmp ebx, 0x100
jne 0x1400c8860
mov edx, dword [r15 + 0x9e4]
lea rax, [r15 + 0x9c0]
mov dword [rsp + 0x3c], 0x800
vmovddup xmm6, qword [0x140175420]
mov r14d, dword [r15 + 0x9e0]
mov qword [rsp + 0x28], rax
lea rdi, [rsp + 0x4c]
lea r13, [rsp + 0x90]
mov ebx, edx
nop dword [rax]
mov eax, dword [r15 + 0x9d0]
mov r9, r12
mov edx, dword [r15 + 0x9d4]
mov rbp, qword [r15 + 0x9f0]
mov rax, qword [rsp + rax*8 + 0x50]
xor rax, qword [rsp + rdx*8 + 0x50]
xor r14d, eax
shr rax, 0x20
xor ebx, eax
and r14d, 0x1fffc0
mov rax, r12
lea rcx, [rbp + r14]
and ebx, 0x1fffc0
mov rdx, qword [rcx]
add rcx, 8
xor qword [rax], rdx
add rax, 8
cmp r13, rax
jne 0x1400c8900
lea rcx, [rbp + rbx]
mov rax, r12
mov r8, rcx
vmovq xmm0, qword [r8]
add rax, 0x10
add r8, 8
vcvtdq2pd xmm0, xmm0
vmovupd xmmword [rax + 0x30], xmm0
cmp r13, rax
jne 0x1400c891e
vmovupd xmm1, xmmword [r15 + 0x9c0]
mov rax, r12
vmovq xmm0, qword [rcx + 0x20]
add rax, 0x10
add rcx, 8
vcvtdq2pd xmm0, xmm0
vandpd xmm0, xmm0, xmm6
vorpd xmm0, xmm0, xmm1
vmovupd xmmword [rax + 0x70], xmm0
cmp r13, rax
jne 0x1400c8945
mov dword [rsp + 0x4c], 0
xor eax, eax
mov qword [rsp + 0x30], r9
nop word [rax + rax]
movsxd rcx, eax
mov r9, qword [rsp + 0x28]
mov r8, rbp
mov rdx, rdi
mov rax, rcx
shl rax, 5
lea rcx, [rsi + rax]
call dbg.randomx::BytecodeMachine::executeInstruction(randomx::InstructionByteCode&, int&, unsigned char*, randomx::ProgramConfiguration&)
mov eax, dword [rsp + 0x4c]
add eax, 1
mov dword [rsp + 0x4c], eax
cmp eax, 0xff
jle 0x1400c8980
mov eax, dword [r15 + 0x9d8]
lea r10, [dbg.randomx::InterpretedVm<randomx::AlignedAllocator<64ull>, true>::datasetPrefetch(unsigned long long)]
mov edx, dword [r15 + 0x9dc]
mov r8, qword [r15]
mov rcx, qword [r15 + 0xa00]
mov r9, qword [rsp + 0x30]
mov rdx, qword [rsp + rdx*8 + 0x50]
xor edx, dword [rsp + rax*8 + 0x50]
xor edx, dword [r15 + 0x9e0]
mov rax, qword [r8 + 0x50]
and edx, 0x7fffffc0
mov dword [r15 + 0x9e0], edx
add rdx, rcx
cmp rax, r10
jne 0x1400c8bf0
add rdx, qword [r15 + 0x9e8]
prefetchnta byte [rdx]
mov edx, dword [r15 + 0x9e4]
mov rax, qword [r8 + 0x48]
vmovq xmm0, rdx
add rdx, rcx
lea rcx, [dbg.randomx::InterpretedVm<randomx::AlignedAllocator<64ull>, true>::datasetRead(unsigned long long, unsigned long long (&) [8])]
cmp rax, rcx
jne 0x1400c8bd0
add rdx, qword [r15 + 0x9e8]
mov rax, r12
nop dword [rax + rax]
mov rcx, qword [rdx]
add rdx, 8
xor qword [rax], rcx
add rax, 8
cmp r13, rax
jne 0x1400c8a40
vpinsrd xmm0, xmm0, dword [r15 + 0x9e0], 1
lea r8, [rbx + 0x40]
mov rcx, r12
vmovq qword [r15 + 0x9e0], xmm0
sub rcx, rbx
mov rdx, qword [rcx + rbx]
mov rax, qword [r15 + 0x9f0]
mov qword [rax + rbx], rdx
add rbx, 8
cmp r8, rbx
jne 0x1400c8a70
vmovupd xmm2, xmmword [r9 + 0x40]
add r9, 0x10
vxorpd xmm0, xmm2, xmmword [r9 + 0x70]
vmovupd xmmword [r9 + 0x30], xmm0
cmp r13, r9
jne 0x1400c8a88
lea rcx, [r14 + 0x40]
mov rdx, r12
sub rdx, r14
mov rax, qword [r15 + 0x9f0]
vmovupd xmm3, xmmword [rdx + r14 + 0x40]
vmovupd xmmword [rax + r14], xmm3
add r14, 0x10
cmp r14, rcx
jne 0x1400c8aad
xor r14d, r14d
xor ebx, ebx
sub dword [rsp + 0x3c], 1
jne 0x1400c88c0
vmovdqu xmm4, xmmword [rsp + 0x50]
vmovdqu xmmword [r15 + 0x8c0], xmm4
vmovdqu xmm5, xmmword [rsp + 0x60]
vmovdqu xmmword [r15 + 0x8d0], xmm5
vmovdqu xmm4, xmmword [rsp + 0x70]
vmovdqu xmmword [r15 + 0x8e0], xmm4
vmovdqu xmm5, xmmword [rsp + 0x80]
vmovdqu xmmword [r15 + 0x8f0], xmm5
vmovupd xmm4, xmmword [rsp + 0x90]
vmovupd xmm5, xmmword [rsp + 0xa0]
vmovupd xmmword [r15 + 0x900], xmm4
vmovupd xmm4, xmmword [rsp + 0xb0]
vmovupd xmmword [r15 + 0x910], xmm5
vmovupd xmm5, xmmword [rsp + 0xc0]
vmovupd xmmword [r15 + 0x920], xmm4
vmovupd xmm4, xmmword [rsp + 0xd0]
vmovupd xmmword [r15 + 0x930], xmm5
vmovupd xmm5, xmmword [rsp + 0xe0]
vmovupd xmmword [r15 + 0x940], xmm4
vmovupd xmm4, xmmword [rsp + 0xf0]
vmovupd xmmword [r15 + 0x950], xmm5
vmovupd xmm5, xmmword [rsp + 0x100]
vmovupd xmmword [r15 + 0x960], xmm4
vmovupd xmmword [r15 + 0x970], xmm5
vmovups xmm6, xmmword [rsp + 0x150]
add rsp, 0x168
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov qword [rsp + 0x30], r9
mov r8, r12
mov rcx, r15
call rax
mov r9, qword [rsp + 0x30]
vmovd xmm0, dword [r15 + 0x9e4]
jmp 0x1400c8a53
mov qword [rsp + 0x30], r9
mov rcx, r15
call rax
mov r8, qword [r15]
mov rcx, qword [r15 + 0xa00]
mov r9, qword [rsp + 0x30]
jmp 0x1400c8a0b