Function at 0x1402542b0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x2c8
movaps xmmword [rsp + 0x270], xmm6
movaps xmmword [rsp + 0x280], xmm7
movaps xmmword [rsp + 0x290], xmm8
movaps xmmword [rsp + 0x2a0], xmm9
movaps xmmword [rsp + 0x2b0], xmm10
mov r14d, 0x1bf
lea rax, [rsp + 0x1f0]
mov r15, rcx
mov qword [rsp + 0x320], r8
lea r13, [rsp + 0x130]
mov rcx, rax
mov qword [rsp + 0x20], rax
lea rbp, [rsp + 0x1b0]
lea rdi, [rsp + 0xf0]
call fcn.14026bdd0
movdqa xmm4, xmmword [0x140450c80]
movdqa xmm5, xmmword [0x140450c90]
lea r12, [rsp + 0xb0]
mov rcx, qword [0x140450c60]
mov rbx, qword [0x140450c68]
lea rsi, [rsp + 0x70]
movaps xmmword [rsp + 0x170], xmm4
movdqa xmm4, xmmword [0x140450ca0]
mov rax, qword [0x140450c70]
movaps xmmword [rsp + 0x180], xmm5
movdqa xmm5, xmmword [0x140450cb0]
mov r11, qword [0x140450c48]
movaps xmmword [rsp + 0x190], xmm4
mov r8, qword [0x140450c50]
movdqa xmm4, xmmword [rsp + 0x1f0]
movaps xmmword [rsp + 0x1a0], xmm5
mov r9, qword [0x140450c58]
movdqa xmm5, xmmword [rsp + 0x200]
mov rdx, qword [0x140450c78]
mov r10, qword [0x140450c40]
movaps xmmword [rsp + 0x130], xmm4
movaps xmmword [rsp + 0x140], xmm5
movdqa xmm4, xmmword [rsp + 0x210]
movdqa xmm5, xmmword [rsp + 0x220]
mov qword [rsp + 0x1d0], rcx
mov qword [rsp + 0x1d8], rbx
mov qword [rsp + 0x1e0], rax
mov qword [rsp + 0x1b0], r10
mov qword [rsp + 0x1b8], r11
mov qword [rsp + 0x1c0], r8
mov qword [rsp + 0x1c8], r9
mov qword [rsp + 0x1e8], rdx
movaps xmmword [rsp + 0x150], xmm4
movaps xmmword [rsp + 0x160], xmm5
mov qword [rsp + 0xf0], r10
movdqa xmm6, xmmword [0x140450d30]
mov qword [rsp + 0x110], rcx
lea rcx, [rsp + 0xa8]
movdqa xmm7, xmmword [0x140450d40]
mov qword [rsp + 0x48], rcx
lea rcx, [rsp + 0x1a8]
movdqa xmm8, xmmword [0x140450d50]
mov qword [rsp + 0x38], rcx
lea rcx, [rsp + 0x128]
movdqa xmm9, xmmword [0x140450d80]
mov qword [rsp + 0xf8], r11
movdqa xmm10, xmmword [0x140450d90]
mov qword [rsp + 0x100], r8
mov qword [rsp + 0x108], r9
mov qword [rsp + 0x128], rdx
mov qword [rsp + 0x310], r15
mov qword [rsp + 0x40], rcx
mov rcx, r13
mov qword [rsp + 0x118], rbx
lea rbx, [rsp + 0x170]
mov qword [rsp + 0x120], rax
xor eax, eax
mov qword [rsp + 0x58], r13
mov r13, r12
mov r12, rbp
mov rbp, rdi
mov rdi, rcx
nop dword [rax]
mov edx, r14d
mov rcx, qword [rsp + 0x320]
sar edx, 3
movsxd rdx, edx
movzx edx, byte [rcx + rdx]
lea ecx, [r14 + 7]
cmp ecx, 0xe
jbe 0x140254bed
cmp r14d, 0x1bf
mov ecx, 0xff
cmove edx, ecx
mov ecx, r14d
mov qword [rsp + 0x50], r12
and ecx, 7
mov qword [rsp + 0x30], rdi
sar edx, cl
mov rcx, qword [rsp + 0x20]
and edx, 1
neg edx
xor eax, edx
mov dword [rsp + 0x2c], edx
mov rdx, rdi
movd xmm3, eax
mov rax, r12
pshufd xmm2, xmm3, 0
movdqa xmm0, xmmword [rax]
pxor xmm0, xmmword [rdx]
add rax, 0x10
add rdx, 0x10
movdqa xmm1, xmmword [rax - 0x10]
pand xmm0, xmm2
pxor xmm1, xmm0
pxor xmm0, xmmword [rdx - 0x10]
movaps xmmword [rax - 0x10], xmm1
movaps xmmword [rdx - 0x10], xmm0
cmp rcx, rax
jne 0x140254552
mov qword [rsp + 0x60], rbx
mov rdx, rbp
mov rax, rbx
mov qword [rsp + 0x68], rbp
movdqa xmm0, xmmword [rax]
pxor xmm0, xmmword [rdx]
add rax, 0x10
add rdx, 0x10
movdqa xmm1, xmmword [rax - 0x10]
pand xmm0, xmm2
pxor xmm1, xmm0
pxor xmm0, xmmword [rdx - 0x10]
movaps xmmword [rax - 0x10], xmm1
movaps xmmword [rdx - 0x10], xmm0
cmp r12, rax
jne 0x140254591
xor eax, eax
movdqa xmm0, xmmword [r12 + rax]
paddd xmm0, xmmword [rbx + rax]
movaps xmmword [r13 + rax], xmm0
add rax, 0x10
cmp rax, 0x40
jne 0x1402545c2
xor eax, eax
movdqa xmm0, xmmword [r12 + rax]
psubd xmm0, xmmword [rbx + rax]
movaps xmmword [rsi + rax], xmm0
add rax, 0x10
cmp rax, 0x40
jne 0x1402545df
mov rax, rsi
movdqa xmm1, xmm6
movdqa xmm0, xmm1
movdqa xmm2, xmm9
paddd xmm1, xmm7
add rax, 0x10
pcmpeqd xmm0, xmm8
pand xmm2, xmm0
pandn xmm0, xmm10
por xmm0, xmm2
paddd xmm0, xmmword [rax - 0x10]
movaps xmmword [rax - 0x10], xmm0
cmp rax, r13
jne 0x1402545ff
mov ecx, dword [rsp + 0xac]
mov rax, qword [rsp + 0x48]
mov r10d, ecx
mov r15, rax
shr r10d, 0x1c
add dword [rsp + 0x90], r10d
nop
and ecx, 0xfffffff
mov r8, rax
sub rax, 4
mov r9d, ecx
mov ecx, dword [rax + 4]
mov edx, ecx
shr edx, 0x1c
add edx, r9d
mov dword [rax + 8], edx
cmp r8, rsi
jne 0x140254650
mov eax, dword [rsp + 0x70]
and eax, 0xfffffff
add eax, r10d
mov dword [rsp + 0x70], eax
xor eax, eax
movdqa xmm0, xmmword [rdi + rax]
psubd xmm0, xmmword [rbp + rax]
movaps xmmword [rbx + rax], xmm0
add rax, 0x10
cmp rax, 0x40
jne 0x140254685
mov rax, rbx
movdqa xmm1, xmm6
movdqa xmm0, xmm1
movdqa xmm2, xmm9
paddd xmm1, xmm7
add rax, 0x10
pcmpeqd xmm0, xmm8
pand xmm2, xmm0
pandn xmm0, xmm10
por xmm0, xmm2
paddd xmm0, xmmword [rax - 0x10]
movaps xmmword [rax - 0x10], xmm0
cmp rax, r12
jne 0x1402546a5
mov ecx, dword [rsp + 0x1ac]
mov rax, qword [rsp + 0x38]
mov r10d, ecx
shr r10d, 0x1c
add dword [rsp + 0x190], r10d
nop dword [rax]
and ecx, 0xfffffff
mov r8, rax
sub rax, 4
mov r9d, ecx
mov ecx, dword [rax + 4]
mov edx, ecx
shr edx, 0x1c
add edx, r9d
mov dword [rax + 8], edx
cmp rbx, r8
jne 0x1402546f8
mov eax, dword [rsp + 0x170]
mov r8, rbx
mov rdx, r13
mov rcx, r12
and eax, 0xfffffff
add eax, r10d
mov dword [rsp + 0x170], eax
call fcn.140269f90
xor eax, eax
movdqa xmm0, xmmword [rbp + rax]
paddd xmm0, xmmword [rdi + rax]
movaps xmmword [rbx + rax], xmm0
add rax, 0x10
cmp rax, 0x40
jne 0x140254741
mov r8, rbx
mov rdx, rsi
mov rcx, rdi
call fcn.140269f90
xor eax, eax
movdqa xmm0, xmmword [r12 + rax]
psubd xmm0, xmmword [rdi + rax]
movaps xmmword [rbp + rax], xmm0
add rax, 0x10
cmp rax, 0x40
jne 0x14025476a
mov rdx, qword [rsp + 0x58]
mov rax, rbp
movdqa xmm1, xmm6
movdqa xmm0, xmm1
movdqa xmm2, xmm9
paddd xmm1, xmm7
add rax, 0x10
pcmpeqd xmm0, xmm8
pand xmm2, xmm0
pandn xmm0, xmm10
por xmm0, xmm2
paddd xmm0, xmmword [rax - 0x10]
movaps xmmword [rax - 0x10], xmm0
cmp rax, rdx
jne 0x140254790
mov ecx, dword [rsp + 0x12c]
mov rax, qword [rsp + 0x40]
mov r10d, ecx
shr r10d, 0x1c
add dword [rsp + 0x110], r10d
nop dword [rax]
and ecx, 0xfffffff
mov r8, rax
sub rax, 4
mov r9d, ecx
mov ecx, dword [rax + 4]
mov edx, ecx
shr edx, 0x1c
add edx, r9d
mov dword [rax + 8], edx
cmp r8, rbp
jne 0x1402547e0
mov eax, dword [rsp + 0xf0]
mov r8, rbp
mov rdx, rbp
mov rcx, rbx
and eax, 0xfffffff
add eax, r10d
mov dword [rsp + 0xf0], eax
call fcn.140269f90
mov rdx, qword [rsp + 0x20]
mov r8, rbx
mov rcx, rbp
call fcn.140269f90
xor eax, eax
movdqa xmm0, xmmword [r12 + rax]
paddd xmm0, xmmword [rdi + rax]
movaps xmmword [rbx + rax], xmm0
add rax, 0x10
cmp rax, 0x40
jne 0x140254839
mov r8, rbx
mov rdx, rbx
mov rcx, rdi
call fcn.140269f90
mov r8, r13
mov rdx, r13
mov rcx, rbx
call fcn.140269f90
mov r8, rsi
mov rdx, rsi
mov rcx, r13
call fcn.140269f90
mov r8, r13
mov rdx, rbx
mov rcx, r12
call fcn.140269f90
xor eax, eax
movdqa xmm0, xmmword [rbx + rax]
psubd xmm0, xmmword [r13 + rax]
movaps xmmword [rsi + rax], xmm0
add rax, 0x10
cmp rax, 0x40
jne 0x14025488c
mov rax, rsi
movdqa xmm1, xmm6
movdqa xmm0, xmm1
movdqa xmm2, xmm9
paddd xmm1, xmm7
add rax, 0x10
pcmpeqd xmm0, xmm8
pand xmm2, xmm0
pandn xmm0, xmm10
por xmm0, xmm2
paddd xmm0, xmmword [rax - 0x10]
movaps xmmword [rax - 0x10], xmm0
cmp r13, rax
jne 0x1402548ad
mov edx, dword [rsp + 0xac]
mov r8d, edx
shr r8d, 0x1c
add dword [rsp + 0x90], r8d
nop dword [rax]
and edx, 0xfffffff
mov rcx, r15
sub r15, 4
mov r9d, edx
mov edx, dword [r15 + 4]
mov eax, edx
shr eax, 0x1c
add eax, r9d
mov dword [r15 + 8], eax
cmp rcx, rsi
jne 0x1402548f8
mov eax, dword [rsp + 0x70]
mov rdx, rsi
mov rcx, r13
and eax, 0xfffffff
add eax, r8d
mov r8d, 0x98a9
mov dword [rsp + 0x70], eax
call fcn.14026a150
mov rax, r13
mov rdx, rbx
movdqa xmm0, xmmword [rax]
paddd xmm0, xmmword [rdx]
add rax, 0x10
add rdx, 0x10
movaps xmmword [rax - 0x10], xmm0
cmp rax, rbp
jne 0x140254944
mov r8, r13
mov rdx, rsi
mov rcx, rbx
call fcn.140269f90
sub r14d, 1
jb 0x14025497a
mov eax, dword [rsp + 0x2c]
jmp 0x1402544f0
mov rax, rdi
movd xmm4, dword [rsp + 0x2c]
mov rdi, rbp
mov r10, qword [rsp + 0x68]
mov rbp, r12
mov r11, qword [rsp + 0x50]
mov r12, r13
mov r15, qword [rsp + 0x310]
mov r13, rax
mov rax, qword [rsp + 0x30]
pshufd xmm0, xmm4, 0
movdqa xmm1, xmmword [r11]
pxor xmm1, xmmword [rax]
add r11, 0x10
add rax, 0x10
movdqa xmm2, xmmword [r11 - 0x10]
pand xmm1, xmm0
pxor xmm2, xmm1
pxor xmm1, xmmword [rax - 0x10]
movaps xmmword [r11 - 0x10], xmm2
movaps xmmword [rax - 0x10], xmm1
cmp qword [rsp + 0x20], r11
jne 0x1402549ab
mov rdx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x60]
movdqa xmm1, xmmword [r10]
pxor xmm1, xmmword [rax]
add r10, 0x10
add rax, 0x10
movdqa xmm2, xmmword [rax - 0x10]
pand xmm1, xmm0
pxor xmm2, xmm1
pxor xmm1, xmmword [r10 - 0x10]
movaps xmmword [rax - 0x10], xmm2
movaps xmmword [r10 - 0x10], xmm1
cmp r10, rdx
jne 0x1402549e9
mov rdx, rbx
mov rcx, rbx
call fcn.14026cc90
mov r14, qword [rsp + 0x20]
mov r8, rbx
mov rdx, rbp
mov rcx, r14
call fcn.140269f90
mov rdx, r14
mov rcx, r15
call fcn.14026cd20
xor eax, eax
lea r10, [rsp + 0x230]
mov rcx, r14
lea rdx, [0x140450c80]
movdqa xmm0, xmmword [rcx + rax]
psubd xmm0, xmmword [rdx + rax]
movaps xmmword [r10 + rax], xmm0
add rax, 0x10
cmp rax, 0x40
jne 0x140254a58
mov r14, r10
lea r15, [rsp + 0x270]
mov rax, r10
movdqa xmm0, xmm6
movdqa xmm1, xmm9
paddd xmm6, xmm7
add rax, 0x10
pcmpeqd xmm0, xmm8
pand xmm1, xmm0
pandn xmm0, xmm10
por xmm0, xmm1
paddd xmm0, xmmword [rax - 0x10]
movaps xmmword [rax - 0x10], xmm0
cmp rax, r15
jne 0x140254a7f
mov ecx, dword [rsp + 0x26c]
lea rax, [rsp + 0x268]
mov r9d, ecx
shr r9d, 0x1c
add dword [rsp + 0x250], r9d
and ecx, 0xfffffff
mov r8, rax
sub rax, 4
mov r11d, ecx
mov ecx, dword [rax + 4]
mov edx, ecx
shr edx, 0x1c
add edx, r11d
mov dword [rax + 8], edx
cmp r10, r8
jne 0x140254ace
mov eax, dword [rsp + 0x230]
mov rcx, r10
pxor xmm0, xmm0
and eax, 0xfffffff
add eax, r9d
mov dword [rsp + 0x230], eax
call fcn.140253cd0
por xmm0, xmmword [r14]
add r14, 0x10
cmp r14, r15
jne 0x140254b13
movdqa xmm1, xmm0
mov rcx, qword [rsp + 0x20]
mov edx, 0x40
psrldq xmm1, 8
por xmm0, xmm1
movdqa xmm1, xmm0
psrldq xmm1, 4
por xmm0, xmm1
movd r14d, xmm0
call fcn.1402f5e00
mov rcx, rbp
mov edx, 0x40
call fcn.1402f5e00
mov rcx, rbx
mov edx, 0x40
call fcn.1402f5e00
mov rcx, r13
mov edx, 0x40
call fcn.1402f5e00
mov rcx, rdi
mov edx, 0x40
call fcn.1402f5e00
mov rcx, r12
mov edx, 0x40
call fcn.1402f5e00
mov edx, 0x40
mov rcx, rsi
call fcn.1402f5e00
mov eax, r14d
sub r14d, 1
movaps xmm6, xmmword [rsp + 0x270]
not eax
movaps xmm7, xmmword [rsp + 0x280]
movaps xmm8, xmmword [rsp + 0x290]
movaps xmm9, xmmword [rsp + 0x2a0]
and eax, r14d
movaps xmm10, xmmword [rsp + 0x2b0]
sar eax, 0x1f
not eax
add rsp, 0x2c8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
and edx, 0xfc
jmp 0x140254521