Function at 0x643970
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
call sym.aria_set_encrypt_key
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x643c66
mov eax, dword [r8 + 0x110]
movdqu xmm0, xmmword [r8]
lea r15, [r8 + 0x10]
shl rax, 4
add rax, r8
movdqu xmm1, xmmword [rax]
lea r14, [rax - 0x10]
mov qword [rsp + 0x38], rax
movups xmmword [r8], xmm1
movups xmmword [rsp + 0x20], xmm1
movups xmmword [rax], xmm0
cmp r15, r14
jae 0x643b94
mov rbx, r14
mov r11, r15
mov eax, dword [r11]
mov edx, eax
ror edx, 8
xor eax, edx
mov esi, eax
mov eax, dword [r11 + 4]
rol esi, 0x10
mov r9d, eax
xor esi, edx
mov edx, dword [r11 + 8]
ror r9d, 8
xor eax, r9d
mov ecx, edx
rol eax, 0x10
ror ecx, 8
xor r9d, eax
mov eax, edx
xor eax, ecx
rol eax, 0x10
xor eax, ecx
mov ecx, dword [r11 + 0xc]
mov edx, ecx
mov edi, ecx
ror edx, 8
xor edi, edx
rol edi, 0x10
xor edi, edx
mov edx, r9d
xor edx, eax
xor eax, edi
xor esi, edx
xor edi, edx
xor eax, esi
mov ecx, edi
xor edx, eax
mov r9d, ecx
rol eax, 0x10
mov edi, edx
shr edx, 8
shl edi, 8
and edx, 0xff00ff
shr r9d, 0x18
and edi, 0xff00ff00
or edx, edi
mov edi, ecx
shl edi, 0x18
xor edi, r9d
mov r9d, ecx
shl r9d, 8
and r9d, 0xff0000
shr ecx, 8
xor edx, eax
xor edi, r9d
and ecx, 0xff00
xor esi, edx
xor edi, ecx
mov ecx, dword [rbx]
xor eax, edi
mov r9d, ecx
xor eax, esi
ror r9d, 8
xor ecx, r9d
mov ebp, ecx
rol ebp, 0x10
xor ebp, r9d
mov r9d, dword [rbx + 4]
mov r10d, r9d
mov ecx, r9d
mov r9d, dword [rbx + 8]
ror r10d, 8
xor ecx, r10d
mov r12d, r9d
rol ecx, 0x10
ror r12d, 8
xor ecx, r10d
mov r10d, r9d
xor r10d, r12d
rol r10d, 0x10
xor r10d, r12d
mov r12d, dword [rbx + 0xc]
xor ecx, r10d
mov r9d, r12d
xor ebp, ecx
ror r9d, 8
xor r12d, r9d
rol r12d, 0x10
xor r9d, r12d
xor r10d, r9d
xor r9d, ecx
xor r10d, ebp
mov r13d, r9d
xor ecx, r10d
mov r12d, ecx
shl r12d, 8
and r12d, 0xff00ff00
shr ecx, 8
add r11, 0x10
sub rbx, 0x10
shl r13d, 0x18
and ecx, 0xff00ff
rol r10d, 0x10
or ecx, r12d
mov r12d, r9d
shr r12d, 0x18
xor ecx, r10d
xor r12d, r13d
mov r13d, r9d
shr r9d, 8
xor ebp, ecx
shl r13d, 8
and r9d, 0xff00
mov dword [r11 - 0x10], ebp
and r13d, 0xff0000
xor r12d, r13d
xor r9d, r12d
xor r10d, r9d
xor r9d, ecx
xor r10d, ebp
mov ebp, ecx
mov ecx, edx
xor edx, edi
xor ebp, r10d
xor ecx, eax
mov dword [r11 - 8], r10d
mov dword [r11 - 0xc], ebp
mov dword [r11 - 4], r9d
mov dword [rbx + 0x10], esi
mov dword [rbx + 0x14], ecx
mov dword [rbx + 0x18], eax
mov dword [rbx + 0x1c], edx
cmp r11, rbx
jb 0x6439d0
mov rax, qword [rsp + 0x38]
sub rax, r8
sub rax, 0x21
shr rax, 5
add rax, 1
mov rdx, rax
shl rdx, 4
add r15, rdx
sub r14, rdx
mov eax, dword [r15]
mov edx, eax
ror edx, 8
xor eax, edx
mov r8d, eax
rol r8d, 0x10
xor r8d, edx
mov edx, dword [r15 + 4]
mov ecx, edx
mov eax, edx
ror ecx, 8
xor eax, ecx
rol eax, 0x10
xor eax, ecx
mov ecx, dword [r15 + 8]
mov r9d, ecx
mov edx, ecx
ror r9d, 8
xor edx, r9d
rol edx, 0x10
xor edx, r9d
mov r9d, dword [r15 + 0xc]
xor eax, edx
mov r10d, r9d
mov ecx, r9d
xor r8d, eax
ror r10d, 8
mov r9d, r8d
xor ecx, r10d
rol ecx, 0x10
xor ecx, r10d
xor edx, ecx
xor ecx, eax
xor edx, r8d
mov r10d, ecx
xor eax, edx
shr r10d, 0x18
mov r8d, eax
shr eax, 8
shl r8d, 8
and eax, 0xff00ff
rol edx, 0x10
and r8d, 0xff00ff00
or eax, r8d
mov r8d, ecx
shl r8d, 0x18
xor r8d, r10d
mov r10d, ecx
shl r10d, 8
and r10d, 0xff0000
shr ecx, 8
xor eax, edx
xor r8d, r10d
and ecx, 0xff00
xor ecx, r8d
mov r8d, r9d
xor r8d, eax
xor edx, ecx
xor ecx, eax
xor edx, r8d
mov dword [r14], r8d
mov r8d, eax
xor r8d, edx
mov dword [r14 + 8], edx
mov dword [r14 + 4], r8d
mov dword [r14 + 0xc], ecx
mov eax, dword [rsp + 0x34]
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret