Function at 0x140116ab0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x428]
sub rsp, 0x4f0
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm12
movaps xmmword [rax - 0xb8], xmm13
movaps xmmword [rax - 0xc8], xmm14
mov rax, qword [0x140159cc0]
xor rax, rsp
mov qword [rbp + 0x350], rax
mov r15, rcx
mov qword [rsp + 0x40], r8
sub rdx, rcx
mov rax, r15
lea rcx, [rsp + 0x50]
sub rcx, r15
test r9d, r9d
je 0x140116b65
sub r8, r15
mov r9d, 0x40
movdqu xmm1, xmmword [rax + rdx]
xorps xmm1, xmmword [rax]
movdqu xmmword [rax], xmm1
movdqu xmm0, xmmword [rax + r8]
xorps xmm0, xmm1
movdqu xmmword [rax + rcx], xmm0
lea rax, [rax + 0x10]
sub r9, 1
jne 0x140116b3f
jmp 0x140116b86
mov r8d, 0x40
movdqu xmm0, xmmword [rax + rdx]
xorps xmm0, xmmword [rax]
movdqu xmmword [rax], xmm0
movdqu xmmword [rax + rcx], xmm0
lea rax, [rax + 0x10]
sub r8, 1
jne 0x140116b6b
movdqa xmm13, xmmword [0x140140720]
xor r13d, r13d
movdqa xmm14, xmmword [0x140140710]
lea eax, [r13*8]
lea r14d, [rax + 2]
mov r11d, eax
add r14, r14
mov r8d, eax
add r11, r11
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x30]
movdqu xmm3, xmmword [r15 + r14*8]
movdqu xmm0, xmmword [r15 + r11*8]
movdqa xmmword [rsp + 0x20], xmm3
movdqa xmmword [rsp + 0x30], xmm0
call fcn.140115c94
movdqa xmm10, xmm0
movdqu xmmword [r15 + r11*8], xmm0
lea esi, [rax + 3]
lea r10d, [rax + 1]
add rsi, rsi
add r10, r10
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x20]
movdqu xmm8, xmmword [r15 + rsi*8]
movdqu xmm0, xmmword [r15 + r10*8]
movdqa xmmword [rsp + 0x30], xmm8
movdqa xmmword [rsp + 0x20], xmm0
call fcn.140115c94
movdqa xmm9, xmm0
movdqu xmmword [r15 + r10*8], xmm0
movdqa xmm1, xmm10
lea ebx, [rax + 7]
add rbx, rbx
lea edi, [rax + 6]
add rdi, rdi
lea r9d, [rax + 4]
add r9, r9
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x20]
xorps xmm0, xmmword [r15 + rbx*8]
xorps xmm1, xmmword [r15 + rdi*8]
pshufd xmm7, xmm0, 0xb1
movdqu xmm0, xmmword [r15 + r9*8]
pshufd xmm5, xmm1, 0xb1
movdqa xmmword [rsp + 0x20], xmm0
movdqu xmmword [r15 + rdi*8], xmm5
movdqu xmmword [r15 + rbx*8], xmm7
movdqa xmmword [rsp + 0x30], xmm5
call fcn.140115c94
add r8d, 5
movdqu xmmword [r15 + r9*8], xmm0
add r8, r8
movdqa xmmword [rsp + 0x30], xmm7
lea rdx, [rsp + 0x30]
movdqa xmm6, xmm0
lea rcx, [rsp + 0x20]
movdqu xmm1, xmmword [r15 + r8*8]
movdqa xmmword [rsp + 0x20], xmm1
call fcn.140115c94
movdqa xmm4, xmm6
movdqu xmmword [r15 + r8*8], xmm0
xorps xmm4, xmm3
movdqa xmmword [rsp + 0x20], xmm10
movdqa xmm3, xmm0
lea rdx, [rsp + 0x30]
pshufb xmm4, xmm13
lea rcx, [rsp + 0x20]
xorps xmm3, xmm8
movdqa xmm2, xmm0
pshufb xmm3, xmm13
movdqu xmmword [r15 + r14*8], xmm4
movdqu xmmword [r15 + rsi*8], xmm3
movdqa xmmword [rsp + 0x30], xmm4
call fcn.140115c94
lea rdx, [rsp + 0x30]
movdqu xmmword [r15 + r11*8], xmm0
lea rcx, [rsp + 0x20]
movdqa xmmword [rsp + 0x30], xmm3
movdqa xmm10, xmm0
movdqa xmmword [rsp + 0x20], xmm9
call fcn.140115c94
movdqa xmm9, xmm0
movdqu xmmword [r15 + r10*8], xmm0
movdqa xmm12, xmm10
movdqa xmmword [rsp + 0x20], xmm6
xorps xmm12, xmm5
lea rdx, [rsp + 0x30]
movdqa xmm5, xmm0
lea rcx, [rsp + 0x20]
pshufb xmm12, xmm14
xorps xmm5, xmm7
pshufb xmm5, xmm14
movdqu xmmword [r15 + rdi*8], xmm12
movdqu xmmword [r15 + rbx*8], xmm5
movdqa xmmword [rsp + 0x30], xmm12
call fcn.140115c94
lea rdx, [rsp + 0x30]
movdqu xmmword [r15 + r9*8], xmm0
lea rcx, [rsp + 0x20]
movdqa xmmword [rsp + 0x30], xmm5
movdqa xmm11, xmm0
movdqa xmmword [rsp + 0x20], xmm2
call fcn.140115c94
movdqa xmm1, xmm11
movdqu xmmword [r15 + r8*8], xmm0
xorps xmm1, xmm4
movdqa xmmword [rsp + 0x20], xmm10
movdqa xmm2, xmm0
lea rdx, [rsp + 0x30]
xorps xmm2, xmm3
lea rcx, [rsp + 0x20]
movdqa xmm8, xmm2
movdqa xmm3, xmm1
paddq xmm8, xmm2
paddq xmm3, xmm1
psrlq xmm2, 0x3f
movdqa xmm6, xmm0
xorps xmm8, xmm2
psrlq xmm1, 0x3f
xorps xmm3, xmm1
movdqa xmm2, xmm5
palignr xmm2, xmm12, 8
movdqa xmm7, xmm3
palignr xmm7, xmm8, 8
palignr xmm8, xmm3, 8
palignr xmm12, xmm5, 8
movdqu xmmword [r15 + r14*8], xmm8
movdqa xmmword [rsp + 0x30], xmm8
movdqu xmmword [r15 + rsi*8], xmm7
movdqu xmmword [r15 + rdi*8], xmm12
movdqu xmmword [r15 + rbx*8], xmm2
call fcn.140115c94
lea rdx, [rsp + 0x30]
movdqu xmmword [r15 + r11*8], xmm0
lea rcx, [rsp + 0x20]
movdqa xmmword [rsp + 0x30], xmm7
movdqa xmm4, xmm0
movdqa xmmword [rsp + 0x20], xmm9
call fcn.140115c94
movdqa xmm1, xmm4
movdqu xmmword [r15 + r10*8], xmm0
xorps xmm1, xmm12
movdqa xmmword [rsp + 0x20], xmm6
pshufd xmm12, xmm1, 0xb1
lea rdx, [rsp + 0x30]
movdqa xmm1, xmm0
movdqu xmmword [r15 + rdi*8], xmm12
xorps xmm1, xmm2
movdqa xmmword [rsp + 0x30], xmm12
pshufd xmm10, xmm1, 0xb1
lea rcx, [rsp + 0x20]
movdqu xmmword [r15 + rbx*8], xmm10
movdqa xmm3, xmm0
call fcn.140115c94
lea rdx, [rsp + 0x30]
movdqu xmmword [r15 + r8*8], xmm0
lea rcx, [rsp + 0x20]
movdqa xmmword [rsp + 0x30], xmm10
movdqa xmm6, xmm0
movdqa xmmword [rsp + 0x20], xmm11
call fcn.140115c94
movdqa xmm5, xmm0
movdqu xmmword [r15 + r9*8], xmm0
movdqa xmm9, xmm6
xorps xmm9, xmm8
movdqa xmmword [rsp + 0x20], xmm4
movdqa xmm8, xmm0
lea rdx, [rsp + 0x30]
pshufb xmm9, xmm13
lea rcx, [rsp + 0x20]
xorps xmm8, xmm7
pshufb xmm8, xmm13
movdqu xmmword [r15 + r14*8], xmm9
movdqu xmmword [r15 + rsi*8], xmm8
movdqa xmmword [rsp + 0x30], xmm9
call fcn.140115c94
lea rdx, [rsp + 0x30]
movdqu xmmword [r15 + r11*8], xmm0
lea rcx, [rsp + 0x20]
movdqa xmmword [rsp + 0x30], xmm8
movdqa xmm2, xmm0
movdqa xmmword [rsp + 0x20], xmm3
call fcn.140115c94
xorps xmm10, xmm0
movdqu xmmword [r15 + r10*8], xmm0
xorps xmm12, xmm2
movdqa xmmword [rsp + 0x20], xmm6
pshufb xmm12, xmm14
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x20]
pshufb xmm10, xmm14
movdqu xmmword [r15 + rdi*8], xmm12
movdqu xmmword [r15 + rbx*8], xmm10
movdqa xmmword [rsp + 0x30], xmm12
call fcn.140115c94
lea rdx, [rsp + 0x30]
movdqu xmmword [r15 + r8*8], xmm0
lea rcx, [rsp + 0x20]
movdqa xmmword [rsp + 0x30], xmm10
movdqa xmm2, xmm0
movdqa xmmword [rsp + 0x20], xmm5
call fcn.140115c94
xorps xmm8, xmm0
movdqu xmmword [r15 + r9*8], xmm0
xorps xmm9, xmm2
movdqa xmm1, xmm8
paddq xmm1, xmm8
movdqa xmm2, xmm9
paddq xmm2, xmm9
psrlq xmm8, 0x3f
xorps xmm1, xmm8
psrlq xmm9, 0x3f
xorps xmm2, xmm9
inc r13d
movdqa xmm0, xmm2
palignr xmm0, xmm1, 8
movdqu xmmword [r15 + r14*8], xmm0
movdqa xmm0, xmm10
palignr xmm0, xmm12, 8
palignr xmm12, xmm10, 8
palignr xmm1, xmm2, 8
movdqu xmmword [r15 + rbx*8], xmm12
movdqu xmmword [r15 + rsi*8], xmm1
movdqu xmmword [r15 + rdi*8], xmm0
cmp r13d, 8
jb 0x140116b9b
mov r13, qword [rsp + 0x40]
lea rax, [r15 + 0x280]
mov r12d, 0x40
mov r8, r15
lea r9d, [r12 - 0x38]
movdqu xmm0, xmmword [r8]
lea rdx, [rsp + 0x30]
movdqu xmm12, xmmword [rax - 0x180]
lea rcx, [rsp + 0x20]
movdqa xmmword [rsp + 0x30], xmm12
movdqa xmmword [rsp + 0x20], xmm0
call fcn.140115c94
movdqu xmm1, xmmword [rax - 0x200]
lea rdx, [rsp + 0x30]
movdqu xmm11, xmmword [rax - 0x100]
lea rcx, [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm1
movdqa xmm7, xmm0
movdqu xmmword [r8], xmm0
movdqa xmmword [rsp + 0x30], xmm11
call fcn.140115c94
movdqa xmm1, xmm7
movdqu xmmword [rax - 0x200], xmm0
xorps xmm1, xmmword [rax + 0x80]
lea rdx, [rsp + 0x30]
pshufd xmm4, xmm1, 0xb1
lea rcx, [rsp + 0x20]
movdqa xmm1, xmm0
movdqu xmmword [rax + 0x80], xmm4
xorps xmm1, xmmword [rax + 0x100]
movdqa xmm6, xmm0
movdqu xmm0, xmmword [rax - 0x80]
pshufd xmm5, xmm1, 0xb1
movdqu xmmword [rax + 0x100], xmm5
movdqa xmmword [rsp + 0x30], xmm4
movdqa xmmword [rsp + 0x20], xmm0
call fcn.140115c94
movdqu xmm1, xmmword [rax]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm1
movdqa xmm3, xmm0
movdqu xmmword [rax - 0x80], xmm0
movdqa xmmword [rsp + 0x30], xmm5
call fcn.140115c94
xorps xmm11, xmm0
movdqu xmmword [rax], xmm0
xorps xmm12, xmm3
movdqa xmmword [rsp + 0x20], xmm7
pshufb xmm12, xmm13
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x20]
pshufb xmm11, xmm13
movdqa xmm2, xmm0
movdqu xmmword [rax - 0x180], xmm12
movdqu xmmword [rax - 0x100], xmm11
movdqa xmmword [rsp + 0x30], xmm12
call fcn.140115c94
lea rdx, [rsp + 0x30]
movdqu xmmword [r8], xmm0
lea rcx, [rsp + 0x20]
movdqa xmmword [rsp + 0x30], xmm11
movdqa xmm8, xmm0
movdqa xmmword [rsp + 0x20], xmm6
call fcn.140115c94
movdqa xmm10, xmm8
movdqu xmmword [rax - 0x200], xmm0
xorps xmm10, xmm4
movdqa xmmword [rsp + 0x20], xmm3
movdqa xmm4, xmm0
lea rdx, [rsp + 0x30]
pshufb xmm10, xmm14
lea rcx, [rsp + 0x20]
xorps xmm4, xmm5
movdqa xmm6, xmm0
pshufb xmm4, xmm14
movdqu xmmword [rax + 0x80], xmm10
movdqu xmmword [rax + 0x100], xmm4
movdqa xmmword [rsp + 0x30], xmm10
call fcn.140115c94
movdqa xmm9, xmm0
movdqu xmmword [rax - 0x80], xmm0
movdqa xmmword [rsp + 0x30], xmm4
lea rdx, [rsp + 0x30]
movdqa xmmword [rsp + 0x20], xmm2
lea rcx, [rsp + 0x20]
call fcn.140115c94
xorps xmm12, xmm9
movdqu xmmword [rax], xmm0
movdqa xmm1, xmm12
movdqa xmmword [rsp + 0x20], xmm8
paddq xmm1, xmm12
lea rdx, [rsp + 0x30]
psrlq xmm12, 0x3f
lea rcx, [rsp + 0x20]
xorps xmm1, xmm12
xorps xmm11, xmm0
movdqa xmm12, xmm11
movdqa xmm7, xmm1
paddq xmm12, xmm11
movdqa xmm2, xmm4
palignr xmm2, xmm10, 8
movdqa xmm5, xmm0
psrlq xmm11, 0x3f
xorps xmm12, xmm11
palignr xmm10, xmm4, 8
palignr xmm7, xmm12, 8
palignr xmm12, xmm1, 8
movdqu xmmword [rax - 0x180], xmm12
movdqa xmmword [rsp + 0x30], xmm12
movdqu xmmword [rax - 0x100], xmm7
movdqu xmmword [rax + 0x80], xmm10
movdqu xmmword [rax + 0x100], xmm2
call fcn.140115c94
lea rdx, [rsp + 0x30]
movdqu xmmword [r8], xmm0
lea rcx, [rsp + 0x20]
movdqa xmmword [rsp + 0x30], xmm7
movdqa xmm4, xmm0
movdqa xmmword [rsp + 0x20], xmm6
call fcn.140115c94
movdqa xmm1, xmm0
movdqu xmmword [rax - 0x200], xmm0
xorps xmm10, xmm4
movdqa xmmword [rsp + 0x20], xmm5
pshufd xmm11, xmm10, 0xb1
lea rdx, [rsp + 0x30]
xorps xmm1, xmm2
movdqu xmmword [rax + 0x80], xmm11
pshufd xmm10, xmm1, 0xb1
lea rcx, [rsp + 0x20]
movdqu xmmword [rax + 0x100], xmm10
movdqa xmm3, xmm0
movdqa xmmword [rsp + 0x30], xmm11
call fcn.140115c94
lea rdx, [rsp + 0x30]
movdqu xmmword [rax], xmm0
lea rcx, [rsp + 0x20]
movdqa xmmword [rsp + 0x30], xmm10
movdqa xmm6, xmm0
movdqa xmmword [rsp + 0x20], xmm9
call fcn.140115c94
movdqa xmm8, xmm0
movdqu xmmword [rax - 0x80], xmm0
xorps xmm8, xmm7
movdqa xmmword [rsp + 0x20], xmm4
xorps xmm12, xmm6
lea rdx, [rsp + 0x30]
pshufb xmm12, xmm13
lea rcx, [rsp + 0x20]
pshufb xmm8, xmm13
movdqa xmm5, xmm0
movdqu xmmword [rax - 0x180], xmm12
movdqu xmmword [rax - 0x100], xmm8
movdqa xmmword [rsp + 0x30], xmm12
call fcn.140115c94
lea rdx, [rsp + 0x30]
movdqu xmmword [r8], xmm0
lea rcx, [rsp + 0x20]
movdqa xmmword [rsp + 0x30], xmm8
movdqa xmm2, xmm0
movdqa xmmword [rsp + 0x20], xmm3
call fcn.140115c94
xorps xmm11, xmm2
movdqu xmmword [rax - 0x200], xmm0
pshufb xmm11, xmm14
movdqu xmmword [rax + 0x80], xmm11
xorps xmm10, xmm0
movdqa xmmword [rsp + 0x30], xmm11
pshufb xmm10, xmm14
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm6
movdqu xmmword [rax + 0x100], xmm10
call fcn.140115c94
lea rdx, [rsp + 0x30]
movdqu xmmword [rax], xmm0
lea rcx, [rsp + 0x20]
movdqa xmmword [rsp + 0x30], xmm10
movdqa xmm2, xmm0
movdqa xmmword [rsp + 0x20], xmm5
call fcn.140115c94
movdqu xmmword [rax - 0x80], xmm0
xorps xmm8, xmm0
lea rax, [rax + 0x10]
xorps xmm12, xmm2
lea r8, [r8 + 0x10]
movdqa xmm2, xmm12
paddq xmm2, xmm12
movdqa xmm1, xmm8
psrlq xmm12, 0x3f
paddq xmm1, xmm8
psrlq xmm8, 0x3f
xorps xmm2, xmm12
xorps xmm1, xmm8
movdqa xmm0, xmm2
palignr xmm0, xmm1, 8
movdqu xmmword [rax - 0x190], xmm0
movdqa xmm0, xmm10
palignr xmm0, xmm11, 8
palignr xmm11, xmm10, 8
palignr xmm1, xmm2, 8
movdqu xmmword [rax + 0xf0], xmm11
movdqu xmmword [rax - 0x110], xmm1
movdqu xmmword [rax + 0x70], xmm0
sub r9, 1
jne 0x14011703e
lea rax, [rsp + 0x50]
sub rax, r15
sub r13, r15
movdqu xmm0, xmmword [rax + r15]
xorps xmm0, xmmword [r15]
movdqu xmmword [r15], xmm0
movdqu xmmword [r15 + r13], xmm0
lea r15, [r15 + 0x10]
sub r12, 1
jne 0x1401174b7
mov rcx, qword [rbp + 0x350]
xor rcx, rsp
call fcn.14011ae70
lea r11, [rsp + 0x4f0]
mov rbx, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret