Function at 0x1401d9c90
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x108
movups xmmword [rsp + 0xf0], xmm6
xor edi, edi
mov r9, rdi
mov rax, r8
lea r13, [rsp + 0x70]
mov rbx, rdx
mov qword [rsp + 0x150], rcx
shl rax, 7
mov qword [rsp + 0x160], r8
mov r14, r13
lea rax, [rdx + rax - 0x40]
movdqu xmm5, xmmword [rax]
movdqu xmm6, xmmword [rax + 0x10]
movups xmmword [rsp + 0x70], xmm5
movdqu xmm5, xmmword [rax + 0x20]
movups xmmword [rsp + 0x80], xmm6
movdqu xmm6, xmmword [rax + 0x30]
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x68], rax
mov rax, r8
add rax, rax
movups xmmword [rsp + 0x90], xmm5
mov qword [rsp + 0x60], rax
movups xmmword [rsp + 0xa0], xmm6
je 0x1401da1a4
nop dword [rax]
movdqu xmm1, xmmword [rbx + 0x20]
movdqu xmm0, xmmword [rbx + 0x10]
mov dword [rsp + 0x40], 4
add rbx, 0x40
movdqu xmm3, xmmword [rbx - 0x40]
pxor xmm3, xmmword [rsp + 0x70]
mov qword [rsp + 0x48], r9
pxor xmm1, xmmword [rsp + 0x90]
movdqu xmm2, xmmword [rbx - 0x10]
mov qword [rsp + 0x50], r14
pxor xmm0, xmmword [rsp + 0x80]
mov qword [rsp + 0x158], rbx
movd r12d, xmm3
pshufd xmm4, xmm1, 0x55
movd esi, xmm1
pxor xmm2, xmmword [rsp + 0xa0]
movd r13d, xmm4
pshufd xmm4, xmm0, 0x55
movd ebx, xmm0
movd edi, xmm4
pshufd xmm4, xmm3, 0x55
movd edx, xmm2
movd r15d, xmm4
pshufd xmm4, xmm2, 0x55
mov ebp, edx
mov edx, edi
movd r11d, xmm4
movdqa xmm4, xmm2
mov edi, r13d
mov r13d, ebp
punpckhdq xmm4, xmm2
movd eax, xmm4
movdqa xmm4, xmm1
punpckhdq xmm4, xmm1
mov r10d, eax
movd dword [rsp + 0x38], xmm4
movdqa xmm4, xmm0
mov r14d, dword [rsp + 0x38]
punpckhdq xmm4, xmm0
movd r8d, xmm4
movdqa xmm4, xmm3
punpckhdq xmm4, xmm3
movd dword [rsp + 0x2c], xmm4
pshufd xmm4, xmm3, 0xff
movd dword [rsp + 0x30], xmm4
pshufd xmm4, xmm2, 0xff
movd dword [rsp + 0x3c], xmm4
pshufd xmm4, xmm1, 0xff
mov r9d, dword [rsp + 0x3c]
movd ecx, xmm4
pshufd xmm4, xmm0, 0xff
movd dword [rsp + 0x34], xmm4
lea ebp, [r12 + r13]
rol ebp, 7
xor ebp, ebx
lea eax, [rbp + r12]
rol eax, 9
xor eax, esi
mov ebx, eax
lea eax, [rbp + rax]
rol eax, 0xd
mov dword [rsp + 0x38], ebx
xor eax, r13d
lea r13d, [rdx + r15]
rol r13d, 7
add ebx, eax
mov dword [rsp + 0x3c], eax
xor r13d, edi
ror ebx, 0xe
lea eax, [r13 + rdx]
xor ebx, r12d
rol eax, 9
xor eax, r11d
lea r12d, [r13 + rax]
mov dword [rsp + 0x58], eax
rol r12d, 0xd
xor r12d, r15d
mov r15d, dword [rsp + 0x30]
lea edi, [rax + r12]
lea eax, [r14 + r8]
rol eax, 7
ror edi, 0xe
xor eax, r10d
xor edi, edx
mov edx, dword [rsp + 0x2c]
lea esi, [rax + r14]
rol esi, 9
xor esi, edx
lea edx, [rax + rsi]
rol edx, 0xd
xor r8d, edx
lea edx, [r9 + rcx]
rol edx, 7
lea r10d, [rsi + r8]
xor edx, r15d
mov r15d, dword [rsp + 0x34]
ror r10d, 0xe
lea r11d, [rdx + r9]
xor r10d, r14d
rol r11d, 9
xor r11d, r15d
lea r15d, [rbx + rdx]
lea r14d, [rdx + r11]
rol r14d, 0xd
xor r14d, ecx
lea ecx, [r11 + r14]
ror ecx, 0xe
xor r9d, ecx
rol r15d, 7
xor r15d, r12d
lea ecx, [rbx + r15]
rol ecx, 9
xor ecx, esi
mov esi, ecx
mov dword [rsp + 0x2c], ecx
lea ecx, [r15 + rcx]
rol ecx, 0xd
xor ecx, edx
lea edx, [rbp + rdi]
rol edx, 7
lea r12d, [rsi + rcx]
mov dword [rsp + 0x30], ecx
lea ecx, [r13 + r10]
ror r12d, 0xe
xor r8d, edx
rol ecx, 7
lea edx, [rdi + r8]
xor r12d, ebx
xor ecx, r14d
rol edx, 9
lea esi, [r10 + rcx]
xor edx, r11d
rol esi, 9
lea ebx, [r8 + rdx]
mov dword [rsp + 0x34], edx
rol ebx, 0xd
xor ebx, ebp
lea edx, [rdx + rbx]
ror edx, 0xe
xor edx, edi
mov edi, dword [rsp + 0x38]
xor esi, edi
lea edi, [rcx + rsi]
rol edi, 0xd
xor edi, r13d
lea r13d, [rax + r9]
lea r11d, [rsi + rdi]
rol r13d, 7
ror r11d, 0xe
mov r14d, r11d
mov r11d, dword [rsp + 0x3c]
xor r14d, r10d
mov r10d, dword [rsp + 0x58]
xor r13d, r11d
lea r11d, [r9 + r13]
rol r11d, 9
xor r11d, r10d
lea r10d, [r13 + r11]
rol r10d, 0xd
xor r10d, eax
lea eax, [r11 + r10]
ror eax, 0xe
xor r9d, eax
sub dword [rsp + 0x40], 1
jne 0x1401d9e29
mov ebp, ecx
mov ecx, r13d
mov eax, r10d
mov r13d, edi
mov r10d, dword [rsp + 0x2c]
mov edi, edx
mov edx, ecx
mov ecx, dword [rsp + 0x30]
mov dword [rsp + 0x3c], ebx
movd xmm6, r15d
mov rbx, qword [rsp + 0x158]
mov dword [rsp + 0x58], r11d
mov r11d, dword [rsp + 0x3c]
movd xmm4, ecx
movd xmm5, r10d
mov dword [rsp + 0x5c], r9d
punpckldq xmm5, xmm4
mov r9, qword [rsp + 0x48]
movd xmm4, r12d
mov dword [rsp + 0xc0], r11d
mov r11d, dword [rsp + 0x58]
punpckldq xmm4, xmm6
mov dword [rsp + 0x38], r14d
punpcklqdq xmm4, xmm5
mov r14, qword [rsp + 0x50]
mov qword [rsp + 0x40], r9
mov r9d, dword [rsp + 0x34]
paddd xmm3, xmm4
movd xmm4, r8d
mov dword [rsp + 0x2c], ebp
mov dword [rsp + 0xdc], ebp
mov ebp, dword [rsp + 0x38]
movd xmm6, r9d
mov dword [rsp + 0xe4], r11d
mov r11d, dword [rsp + 0x5c]
punpckldq xmm4, xmm6
movd xmm6, edi
mov dword [rsp + 0xcc], r9d
mov dword [rsp + 0xe8], eax
mov dword [rsp + 0xb8], r10d
mov dword [rsp + 0xbc], ecx
mov dword [rsp + 0xc8], r8d
mov dword [rsp + 0xe0], edx
mov dword [rsp + 0xec], r11d
mov dword [rsp + 0xb4], r15d
mov dword [rsp + 0xb0], r12d
mov dword [rsp + 0xc4], edi
mov dword [rsp + 0xd0], esi
mov dword [rsp + 0xd4], r13d
mov dword [rsp + 0xd8], ebp
movups xmmword [rsp + 0x70], xmm3
movd xmm3, dword [rsp + 0x3c]
movd xmm5, dword [rsp + 0x2c]
mov rcx, qword [rsp + 0x68]
punpckldq xmm3, xmm6
movd xmm6, r13d
punpcklqdq xmm3, xmm4
paddd xmm0, xmm3
movd xmm3, ebp
movups xmmword [rsp + 0x80], xmm0
movd xmm0, esi
punpckldq xmm3, xmm5
movd xmm5, r11d
punpckldq xmm0, xmm6
movd xmm6, dword [rsp + 0x58]
punpcklqdq xmm0, xmm3
paddd xmm0, xmm1
movd xmm1, eax
movups xmmword [rsp + 0x90], xmm0
movd xmm0, edx
punpckldq xmm1, xmm5
mov edx, 0x40
punpckldq xmm0, xmm6
punpcklqdq xmm0, xmm1
paddd xmm0, xmm2
movups xmmword [rsp + 0xa0], xmm0
call fcn.1401426f0
mov r9, qword [rsp + 0x40]
movdqu xmm2, xmmword [r14]
movdqu xmm5, xmmword [r14 + 0x10]
movdqu xmm6, xmmword [r14 + 0x20]
mov rax, r9
mov rdx, r9
add r9, 1
and eax, 1
shr rdx, 1
neg rax
and rax, qword [rsp + 0x160]
add rax, rdx
shl rax, 6
add rax, qword [rsp + 0x150]
movups xmmword [rax], xmm2
movdqu xmm2, xmmword [r14 + 0x30]
movups xmmword [rax + 0x10], xmm5
movups xmmword [rax + 0x20], xmm6
movups xmmword [rax + 0x30], xmm2
cmp qword [rsp + 0x60], r9
jne 0x1401d9d28
mov r13, r14
mov edx, 0x40
mov rcx, r13
call fcn.1401426f0
nop
movups xmm6, xmmword [rsp + 0xf0]
add rsp, 0x108
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret