Function at 0x29e85ae6a0d
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rdi
mov qword [rsp + 0x10], rsi
mov rax, rsp
mov rdi, rcx
mov rsi, rdx
mov rdx, r8
mov rcx, r9
mov r8, qword [rsp + 0x28]
mov r9, qword [rsp + 0x30]
test r9d, 7
jne 0x29e85ae6a40
jmp 0x29e85ae6de3
mov r9d, r9d
mov rax, rsp
mov r10d, dword [rsp + 0x38]
push rbx
push rbp
push r12
push r13
push r14
push r15
lea rsp, [rsp - 0x28]
movaps xmmword [rsp], xmm6
movaps xmmword [rsp + 0x10], xmm7
lea r11, [r9 + 2]
neg r11
lea rsp, [rsp + r11*8]
and rsp, 0xfffffffffffffc00
mov qword [rsp + r9*8 + 8], rax
mov r12, rdx
mov r11, r10
shr r10, 3
and r11, 7
not r10
lea rax, [0x29e85ae81c0]
and r10, 3
lea r12, [r12 + r11*8 + 0x60]
movq xmm4, qword [rax + r10*8]
movq xmm5, qword [rax + r10*8 + 8]
movq xmm6, qword [rax + r10*8 + 0x10]
movq xmm7, qword [rax + r10*8 + 0x18]
movq xmm0, qword [r12 - 0x60]
movq xmm1, qword [r12 - 0x20]
pand xmm0, xmm4
movq xmm2, qword [r12 + 0x20]
pand xmm1, xmm5
movq xmm3, qword [r12 + 0x60]
pand xmm2, xmm6
por xmm0, xmm1
pand xmm3, xmm7
por xmm0, xmm2
lea r12, [r12 + 0x100]
por xmm0, xmm3
movq rbx, xmm0
mov r8, qword [r8]
mov rax, qword [rsi]
xor r14, r14
xor r15, r15
movq xmm0, qword [r12 - 0x60]
movq xmm1, qword [r12 - 0x20]
pand xmm0, xmm4
movq xmm2, qword [r12 + 0x20]
pand xmm1, xmm5
mov rbp, r8
mul rbx
mov r10, rax
mov rax, qword [rcx]
movq xmm3, qword [r12 + 0x60]
pand xmm2, xmm6
por xmm0, xmm1
pand xmm3, xmm7
imul rbp, r10
mov r11, rdx
por xmm0, xmm2
lea r12, [r12 + 0x100]
por xmm0, xmm3
mul rbp
add r10, rax
mov rax, qword [rsi + 8]
adc rdx, 0
mov r13, rdx
lea r15, [r15 + 1]
jmp 0x29e85ae6b9d
add r13, rax
mov rax, qword [rsi + r15*8]
adc rdx, 0
add r13, r11
mov r11, r10
adc rdx, 0
mov qword [rsp + r15*8 - 0x10], r13
mov r13, rdx
mul rbx
add r11, rax
mov rax, qword [rcx + r15*8]
adc rdx, 0
lea r15, [r15 + 1]
mov r10, rdx
mul rbp
cmp r15, r9
jne 0x29e85ae6b80
movq rbx, xmm0
add r13, rax
mov rax, qword [rsi]
adc rdx, 0
add r13, r11
adc rdx, 0
mov qword [rsp + r15*8 - 0x10], r13
mov r13, rdx
mov r11, r10
xor rdx, rdx
add r13, r11
adc rdx, 0
mov qword [rsp + r9*8 - 8], r13
mov qword [rsp + r9*8], rdx
lea r14, [r14 + 1]
jmp 0x29e85ae6c00
xor r15, r15
mov rbp, r8
mov r10, qword [rsp]
movq xmm0, qword [r12 - 0x60]
movq xmm1, qword [r12 - 0x20]
pand xmm0, xmm4
movq xmm2, qword [r12 + 0x20]
pand xmm1, xmm5
mul rbx
add r10, rax
mov rax, qword [rcx]
adc rdx, 0
movq xmm3, qword [r12 + 0x60]
pand xmm2, xmm6
por xmm0, xmm1
pand xmm3, xmm7
imul rbp, r10
mov r11, rdx
por xmm0, xmm2
lea r12, [r12 + 0x100]
por xmm0, xmm3
mul rbp
add r10, rax
mov rax, qword [rsi + 8]
adc rdx, 0
mov r10, qword [rsp + 8]
mov r13, rdx
lea r15, [r15 + 1]
jmp 0x29e85ae6c9e
add r13, rax
mov rax, qword [rsi + r15*8]
adc rdx, 0
add r13, r10
mov r10, qword [rsp + r15*8]
adc rdx, 0
mov qword [rsp + r15*8 - 0x10], r13
mov r13, rdx
mul rbx
add r11, rax
mov rax, qword [rcx + r15*8]
adc rdx, 0
add r10, r11
mov r11, rdx
adc r11, 0
lea r15, [r15 + 1]
mul rbp
cmp r15, r9
jne 0x29e85ae6c80
movq rbx, xmm0
add r13, rax
mov rax, qword [rsi]
adc rdx, 0
add r13, r10
mov r10, qword [rsp + r15*8]
adc rdx, 0
mov qword [rsp + r15*8 - 0x10], r13
mov r13, rdx
xor rdx, rdx
add r13, r11
adc rdx, 0
add r13, r10
adc rdx, 0
mov qword [rsp + r9*8 - 8], r13
mov qword [rsp + r9*8], rdx
lea r14, [r14 + 1]
cmp r14, r9
jb 0x29e85ae6c00
xor r14, r14
mov rax, qword [rsp]
lea rsi, [rsp]
mov r15, r9
jmp 0x29e85ae6d30
sbb rax, qword [rcx + r14*8]
mov qword [rdi + r14*8], rax
mov rax, qword [rsi + r14*8 + 8]
lea r14, [r14 + 1]
dec r15
jne 0x29e85ae6d30
sbb rax, 0
xor r14, r14
mov r15, r9
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov rsi, qword [rsp + r14*8]
mov rcx, qword [rdi + r14*8]
xor rsi, rcx
and rsi, rax
xor rsi, rcx
mov qword [rsp + r14*8], r14
mov qword [rdi + r14*8], rsi
lea r14, [r14 + 1]
sub r15, 1
jne 0x29e85ae6d60
mov rsi, qword [rsp + r9*8 + 8]
mov eax, 1
movaps xmm6, xmmword [rsi - 0x58]
movaps xmm7, xmmword [rsi - 0x48]
mov r15, qword [rsi - 0x30]
mov r14, qword [rsi - 0x28]
mov r13, qword [rsi - 0x20]
mov r12, qword [rsi - 0x18]
mov rbp, qword [rsi - 0x10]
mov rbx, qword [rsi - 8]
lea rsp, [rsi]
mov rdi, qword [rsp + 8]
mov rsi, qword [rsp + 0x10]
repz ret
mov rax, rsp
push rbx
push rbp
push r12
push r13
push r14
push r15
lea rsp, [rsp - 0x28]
movaps xmmword [rsp], xmm6
movaps xmmword [rsp + 0x10], xmm7
mov r10d, r9d
shl r9d, 3
shl r10d, 5
neg r9
lea r11, [rsp + r9*2 - 0x40]
sub r11, rsi
and r11, 0xfff
cmp r10, r11
jb 0x29e85ae6e40
sub rsp, r11
lea rsp, [rsp + r9*2 - 0x40]
jmp 0x29e85ae6e5d
lea r10, [r9 + r9 + 0xfc0]
lea rsp, [rsp + r9*2 - 0x40]
sub r11, r10
mov r10d, 0
cmovb r11, r10
sub rsp, r11
and rsp, 0xffffffffffffffc0
neg r9
mov qword [rsp + 0x28], rax
call fcn.29e85ae6ec0
mov rsi, qword [rsp + 0x28]
mov eax, 1
movaps xmm6, xmmword [rsi - 0x58]
movaps xmm7, xmmword [rsi - 0x48]
mov r15, qword [rsi - 0x30]
mov r14, qword [rsi - 0x28]
mov r13, qword [rsi - 0x20]
mov r12, qword [rsi - 0x18]
mov rbp, qword [rsi - 0x10]
mov rbx, qword [rsi - 8]
lea rsp, [rsi]
mov rdi, qword [rsp + 8]
mov rsi, qword [rsp + 0x10]
repz ret