Function at 0x14031adb0
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
movups xmmword [rsp + 0x150], xmm6
pxor xmm0, xmm0
xor ebx, ebx
movupd xmm4, xmmword [rcx + 0x980]
movupd xmm5, xmmword [rcx + 0x990]
lea r9, [rsp + 0x50]
movups xmmword [rsp + 0x50], xmm0
mov r15, rcx
lea r12, [rcx + 0xa70]
movups xmmword [rsp + 0x60], xmm0
lea rsi, [rcx + 0xa98]
mov r13, r9
lea rbp, [rcx + 0xc0]
movups xmmword [rsp + 0x70], xmm0
mov rdi, rsi
movups xmmword [rsp + 0x80], xmm0
pcmpeqd xmm0, xmm0
movups xmmword [rsp + 0x110], xmm4
movupd xmm4, xmmword [rcx + 0x9a0]
movups xmmword [rsp + 0x120], xmm5
movupd xmm5, xmmword [rcx + 0x9b0]
movups xmmword [rcx + 0xa70], xmm0
movups xmmword [r12 + 0x10], xmm0
mov qword [rcx + 0xa90], r9
movups xmmword [rsp + 0x130], xmm4
movups xmmword [rsp + 0x140], xmm5
nop dword [rax + rax]
mov r9, rdi
mov r8d, ebx
mov rdx, rbp
mov rcx, r12
call method.randomx::BytecodeMachine.compileInstruction_randomx::Instruction__int__randomx::InstructionByteCode_
add ebx, 1
add rbp, 8
add rdi, 0x20
cmp ebx, 0x100
jne 0x14031ae68
mov edx, dword [r15 + 0x9e4]
mov dword [rsp + 0x3c], 0x800
mov r9, r13
lea rbp, [r15 + 0x9c0]
mov r14d, dword [r15 + 0x9e0]
lea r13, [rsp + 0x90]
lea rdi, [rsp + 0x4c]
movddup xmm6, qword [0x140484010]
mov ebx, edx
nop dword [rax + rax]
mov eax, dword [r15 + 0x9d0]
mov edx, dword [r15 + 0x9d4]
mov r10, r9
mov r12, 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, r9
and ebx, 0x1fffc0
lea rcx, [r12 + r14]
nop word [rax + rax]
mov rdx, qword [rcx]
xor qword [rax], rdx
add rax, 8
add rcx, 8
cmp r13, rax
jne 0x14031af10
lea rcx, [r12 + rbx]
mov rax, r9
mov r8, rcx
movq xmm0, qword [r8]
add rax, 0x10
add r8, 8
cvtdq2pd xmm0, xmm0
movups xmmword [rax + 0x30], xmm0
cmp r13, rax
jne 0x14031af2d
movupd xmm1, xmmword [r15 + 0x9c0]
mov rax, r9
movq xmm0, qword [rcx + 0x20]
add rax, 0x10
add rcx, 8
cvtdq2pd xmm0, xmm0
andpd xmm0, xmm6
orpd xmm0, xmm1
movups xmmword [rax + 0x70], xmm0
cmp r13, rax
jne 0x14031af53
mov dword [rsp + 0x4c], 0
xor eax, eax
mov qword [rsp + 0x28], r10
mov qword [rsp + 0x30], r14
mov r14, r9
nop dword [rax]
movsxd rcx, eax
mov r9, rbp
mov r8, r12
mov rdx, rdi
mov rax, rcx
shl rax, 5
lea rcx, [rsi + rax]
call method.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 0x14031af90
mov eax, dword [r15 + 0x9d8]
mov r8, qword [r15]
lea r11, [method.randomx::InterpretedVm_randomx::AlignedAllocator_64ull___false_.datasetPrefetch_unsigned_long_long_]
mov r9, r14
mov edx, dword [r15 + 0x9dc]
mov rcx, qword [r15 + 0xa00]
mov r10, qword [rsp + 0x28]
mov r14, qword [rsp + 0x30]
mov rdx, qword [rsp + rdx*8 + 0x50]
xor edx, dword [rsp + rax*8 + 0x50]
mov rax, qword [r8 + 0x50]
xor edx, dword [r15 + 0x9e0]
and edx, 0x7fffffc0
mov dword [r15 + 0x9e0], edx
add rdx, rcx
cmp rax, r11
jne 0x14031b200
add rdx, qword [r15 + 0x9e8]
prefetchnta byte [rdx]
mov edx, dword [r15 + 0x9e4]
mov rax, qword [r8 + 0x48]
movq xmm0, rdx
add rdx, rcx
lea rcx, [method.randomx::InterpretedVm_randomx::AlignedAllocator_64ull___false_.datasetRead_unsigned_long_long__unsigned_long_long_____8__]
cmp rax, rcx
jne 0x14031b1d0
add rdx, qword [r15 + 0x9e8]
mov rax, r9
nop
mov rcx, qword [rdx]
xor qword [rax], rcx
add rax, 8
add rdx, 8
cmp r13, rax
jne 0x14031b050
movd xmm3, dword [r15 + 0x9e0]
mov rcx, r9
lea r8, [rbx + 0x40]
sub rcx, rbx
punpckldq xmm0, xmm3
movq qword [r15 + 0x9e0], xmm0
nop dword [rax + rax]
mov rdx, qword [rcx + rbx]
mov rax, qword [r15 + 0x9f0]
mov qword [rax + rbx], rdx
add rbx, 8
cmp rbx, r8
jne 0x14031b088
movupd xmm0, xmmword [r10 + 0x40]
add r10, 0x10
xorpd xmm0, xmmword [r10 + 0x70]
movups xmmword [r10 + 0x30], xmm0
cmp r13, r10
jne 0x14031b0a0
mov rdx, r9
lea rcx, [r14 + 0x40]
sub rdx, r14
movupd xmm2, xmmword [rdx + r14 + 0x40]
mov rax, qword [r15 + 0x9f0]
movups xmmword [rax + r14], xmm2
add r14, 0x10
cmp rcx, r14
jne 0x14031b0c4
xor r14d, r14d
xor ebx, ebx
sub dword [rsp + 0x3c], 1
jne 0x14031aec8
movdqu xmm4, xmmword [rsp + 0x50]
movups xmmword [r15 + 0x8c0], xmm4
movdqu xmm5, xmmword [rsp + 0x60]
movups xmmword [r15 + 0x8d0], xmm5
movdqu xmm4, xmmword [rsp + 0x70]
movups xmmword [r15 + 0x8e0], xmm4
movdqu xmm5, xmmword [rsp + 0x80]
movups xmmword [r15 + 0x8f0], xmm5
movupd xmm4, xmmword [rsp + 0x90]
movupd xmm5, xmmword [rsp + 0xa0]
movups xmmword [r15 + 0x900], xmm4
movupd xmm4, xmmword [rsp + 0xb0]
movups xmmword [r15 + 0x910], xmm5
movupd xmm5, xmmword [rsp + 0xc0]
movups xmmword [r15 + 0x920], xmm4
movupd xmm4, xmmword [rsp + 0xd0]
movups xmmword [r15 + 0x930], xmm5
movupd xmm5, xmmword [rsp + 0xe0]
movups xmmword [r15 + 0x940], xmm4
movupd xmm4, xmmword [rsp + 0xf0]
movups xmmword [r15 + 0x950], xmm5
movupd xmm5, xmmword [rsp + 0x100]
movups xmmword [r15 + 0x960], xmm4
movups xmmword [r15 + 0x970], xmm5
movups 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], r10
mov r8, r9
mov rcx, r15
mov qword [rsp + 0x28], r9
call rax
mov r10, qword [rsp + 0x30]
mov r9, qword [rsp + 0x28]
movd xmm0, dword [r15 + 0x9e4]
jmp 0x14031b063
mov qword [rsp + 0x30], r9
mov rcx, r15
mov qword [rsp + 0x28], r10
call rax
mov r8, qword [r15]
mov rcx, qword [r15 + 0xa00]
mov r9, qword [rsp + 0x30]
mov r10, qword [rsp + 0x28]
jmp 0x14031b021