Function at 0x140307ac0
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
mov rax, r8
mov qword [rsp + 0x150], rcx
shl rax, 7
mov qword [rsp + 0x158], rdx
lea rax, [rdx + rax - 0x40]
mov qword [rsp + 0x160], r8
mov qword [rsp + 0x50], 0
movdqu xmm6, xmmword [rax]
movups xmmword [rsp + 0x70], xmm6
movdqu xmm6, xmmword [rax + 0x10]
movups xmmword [rsp + 0x80], xmm6
movdqu xmm6, xmmword [rax + 0x20]
movups xmmword [rsp + 0x90], xmm6
movdqu xmm6, xmmword [rax + 0x30]
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x58], rax
mov rax, r8
add rax, rax
movups xmmword [rsp + 0xa0], xmm6
mov qword [rsp + 0x60], rax
je 0x140307fb1
mov rax, qword [rsp + 0x158]
movdqu xmm3, xmmword [rsp + 0x70]
mov dword [rsp + 0x4c], 4
movdqu xmm0, xmmword [rsp + 0x80]
add qword [rsp + 0x158], 0x40
movdqu xmm1, xmmword [rax + 0x10]
movdqu xmm2, xmmword [rax + 0x20]
movdqu xmm6, xmmword [rax]
movdqu xmm5, xmmword [rax + 0x30]
pxor xmm0, xmm1
movdqu xmm1, xmmword [rsp + 0x90]
pxor xmm3, xmm6
movups xmmword [rsp + 0x20], xmm5
movd r11d, xmm0
pxor xmm1, xmm2
movd ebp, xmm3
movdqu xmm2, xmmword [rsp + 0xa0]
pshufd xmm4, xmm1, 0x55
movd ebx, xmm1
movd r13d, xmm4
pshufd xmm4, xmm0, 0x55
pxor xmm2, xmm5
movd esi, xmm4
pshufd xmm4, xmm3, 0x55
movd edx, xmm2
mov r9d, r13d
movd dword [rsp + 0x34], xmm4
pshufd xmm4, xmm2, 0x55
movd r10d, xmm4
movdqa xmm4, xmm2
punpckhdq xmm4, xmm2
movd eax, xmm4
movdqa xmm4, xmm1
punpckhdq xmm4, xmm1
mov r14d, eax
movd r12d, xmm4
movdqa xmm4, xmm0
punpckhdq xmm4, xmm0
movd r8d, xmm4
movdqa xmm4, xmm3
punpckhdq xmm4, xmm3
movd dword [rsp + 0x38], xmm4
pshufd xmm4, xmm3, 0xff
movd dword [rsp + 0x3c], xmm4
pshufd xmm4, xmm2, 0xff
movd ecx, xmm4
pshufd xmm4, xmm1, 0xff
movd r15d, xmm4
pshufd xmm4, xmm0, 0xff
movd dword [rsp + 0x40], xmm4
lea edi, [rbp + rdx]
rol edi, 7
xor edi, r11d
lea eax, [rdi + rbp]
rol eax, 9
xor eax, ebx
mov ebx, eax
lea eax, [rdi + rax]
rol eax, 0xd
mov r11d, ebx
mov dword [rsp + 0x44], ebx
xor eax, edx
mov edx, dword [rsp + 0x34]
add r11d, eax
mov dword [rsp + 0x20], eax
lea r13d, [rsi + rdx]
ror r11d, 0xe
rol r13d, 7
xor r11d, ebp
xor r13d, r9d
lea eax, [r13 + rsi]
rol eax, 9
xor eax, r10d
lea ebp, [r13 + rax]
mov dword [rsp + 0x48], eax
rol ebp, 0xd
xor ebp, edx
lea r9d, [rax + rbp]
lea eax, [r12 + r8]
rol eax, 7
ror r9d, 0xe
xor eax, r14d
xor r9d, esi
lea ebx, [rax + r12]
rol ebx, 9
xor ebx, dword [rsp + 0x38]
lea esi, [rax + rbx]
rol esi, 0xd
xor esi, r8d
lea r8d, [rcx + r15]
rol r8d, 7
xor r8d, dword [rsp + 0x3c]
lea edx, [rbx + rsi]
lea r10d, [r8 + rcx]
ror edx, 0xe
rol r10d, 9
xor r10d, dword [rsp + 0x40]
xor edx, r12d
lea r12d, [r8 + r10]
rol r12d, 0xd
xor r12d, r15d
lea r14d, [r10 + r12]
ror r14d, 0xe
xor ecx, r14d
lea r14d, [r11 + r8]
rol r14d, 7
xor r14d, ebp
lea ebp, [r11 + r14]
mov r15d, r14d
mov dword [rsp + 0x34], r14d
rol ebp, 9
mov r14d, ebp
xor r14d, ebx
add r15d, r14d
mov dword [rsp + 0x38], r14d
mov ebx, r15d
rol ebx, 0xd
mov r15d, ebx
xor r15d, r8d
lea r8d, [rdi + r9]
add r14d, r15d
rol r8d, 7
mov dword [rsp + 0x3c], r15d
lea r15d, [r13 + rdx]
mov ebp, r14d
xor r8d, esi
rol r15d, 7
ror ebp, 0xe
xor r15d, r12d
xor ebp, r11d
lea r11d, [r9 + r8]
lea ebx, [rdx + r15]
rol r11d, 9
rol ebx, 9
xor ebx, dword [rsp + 0x44]
mov esi, r11d
xor esi, r10d
lea r11d, [r8 + rsi]
mov dword [rsp + 0x40], esi
rol r11d, 0xd
xor r11d, edi
add esi, r11d
ror esi, 0xe
xor esi, r9d
lea r9d, [r15 + rbx]
rol r9d, 0xd
xor r9d, r13d
lea r12d, [rbx + r9]
ror r12d, 0xe
xor r12d, edx
lea edx, [rax + rcx]
rol edx, 7
xor edx, dword [rsp + 0x20]
lea r10d, [rcx + rdx]
rol r10d, 9
xor r10d, dword [rsp + 0x48]
lea r14d, [rdx + r10]
rol r14d, 0xd
xor r14d, eax
lea eax, [r10 + r14]
ror eax, 0xe
xor ecx, eax
sub dword [rsp + 0x4c], 1
jne 0x140307c5e
mov eax, r14d
mov edi, r11d
mov r14d, dword [rsp + 0x3c]
mov r11d, dword [rsp + 0x38]
mov r13d, r9d
mov r9d, dword [rsp + 0x34]
mov dword [rsp + 0x44], ecx
movd xmm5, r11d
movd xmm4, r14d
mov ecx, dword [rsp + 0x40]
mov dword [rsp + 0x20], edx
punpckldq xmm5, xmm4
movd xmm6, r9d
movd xmm4, ebp
mov dword [rsp + 0xe0], edx
punpckldq xmm4, xmm6
movd xmm6, ecx
mov edx, dword [rsp + 0x44]
mov dword [rsp + 0xcc], ecx
punpcklqdq xmm4, xmm5
movd xmm5, r15d
mov rcx, qword [rsp + 0x68]
mov dword [rsp + 0xc0], edi
paddd xmm3, xmm4
movd xmm4, r8d
mov dword [rsp + 0xec], edx
punpckldq xmm4, xmm6
movups xmmword [rsp + 0x70], xmm3
movd xmm6, esi
movd xmm3, edi
punpckldq xmm3, xmm6
movd xmm6, r13d
mov dword [rsp + 0xe8], eax
punpcklqdq xmm3, xmm4
mov dword [rsp + 0xb4], r9d
paddd xmm0, xmm3
movd xmm3, r12d
mov dword [rsp + 0xb8], r11d
movups xmmword [rsp + 0x80], xmm0
movd xmm0, ebx
punpckldq xmm3, xmm5
movd xmm5, edx
punpckldq xmm0, xmm6
movd xmm6, r10d
mov edx, 0x40
mov dword [rsp + 0xbc], r14d
punpcklqdq xmm0, xmm3
mov dword [rsp + 0xb0], ebp
paddd xmm0, xmm1
movd xmm1, eax
mov dword [rsp + 0xc8], r8d
movups xmmword [rsp + 0x90], xmm0
movd xmm0, dword [rsp + 0x20]
punpckldq xmm1, xmm5
mov dword [rsp + 0xc4], esi
punpckldq xmm0, xmm6
mov dword [rsp + 0xdc], r15d
punpcklqdq xmm0, xmm1
mov dword [rsp + 0xd0], ebx
paddd xmm0, xmm2
mov dword [rsp + 0xd4], r13d
mov dword [rsp + 0xd8], r12d
mov dword [rsp + 0xe4], r10d
movups xmmword [rsp + 0xa0], xmm0
call fcn.1402746b0
mov rcx, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
mov rax, rcx
mov rdx, rcx
movdqu xmm2, xmmword [rdi]
movdqu xmm6, xmmword [rdi + 0x10]
and eax, 1
shr rdx, 1
movdqu xmm5, xmmword [rdi + 0x20]
add rcx, 1
imul rax, qword [rsp + 0x160]
mov qword [rsp + 0x50], rcx
add rax, rdx
shl rax, 6
add rax, qword [rsp + 0x150]
movups xmmword [rax], xmm2
movdqu xmm2, xmmword [rdi + 0x30]
movups xmmword [rax + 0x10], xmm6
movups xmmword [rax + 0x20], xmm5
movups xmmword [rsp + 0x20], xmm2
movups xmmword [rax + 0x30], xmm2
cmp rcx, qword [rsp + 0x60]
jne 0x140307b60
mov rcx, qword [rsp + 0x58]
mov edx, 0x40
call fcn.1402746b0
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