Function at 0x140115cb0
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 - 0x418]
sub rsp, 0x4e0
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
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 0x140115d5d
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 0x140115d37
jmp 0x140115d7e
mov r8d, 0x40
movdqu xmm0, xmmword [rdx + rax]
xorps xmm0, xmmword [rax]
movdqu xmmword [rax], xmm0
movdqu xmmword [rax + rcx], xmm0
lea rax, [rax + 0x10]
sub r8, 1
jne 0x140115d63
xor r13d, r13d
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 xmm2, xmmword [r15 + r14*8]
movdqu xmm0, xmmword [r15 + r11*8]
movdqa xmmword [rsp + 0x20], xmm2
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 xmm3, xmmword [r15 + rsi*8]
movdqu xmm0, xmmword [r15 + r10*8]
movdqa xmmword [rsp + 0x30], xmm3
movdqa xmmword [rsp + 0x20], xmm0
call fcn.140115c94
movdqa xmm9, xmm0
movdqu xmmword [r15 + r10*8], xmm0
movdqa xmm1, xmm10
lea edi, [rax + 7]
add rdi, rdi
lea ebx, [rax + 6]
add rbx, rbx
lea r9d, [rax + 4]
add r9, r9
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x20]
xorps xmm0, xmmword [r15 + rdi*8]
xorps xmm1, xmmword [r15 + rbx*8]
pshufd xmm8, xmm0, 0xb1
movdqu xmm0, xmmword [r15 + r9*8]
pshufd xmm4, xmm1, 0xb1
movdqa xmmword [rsp + 0x20], xmm0
movdqu xmmword [r15 + rbx*8], xmm4
movdqu xmmword [r15 + rdi*8], xmm8
movdqa xmmword [rsp + 0x30], xmm4
call fcn.140115c94
add r8d, 5
movdqu xmmword [r15 + r9*8], xmm0
add r8, r8
movdqa xmmword [rsp + 0x30], xmm8
lea rdx, [rsp + 0x30]
movdqa xmm7, xmm0
lea rcx, [rsp + 0x20]
movdqu xmm1, xmmword [r15 + r8*8]
movdqa xmmword [rsp + 0x20], xmm1
call fcn.140115c94
movdqa xmm1, xmm7
movdqu xmmword [r15 + r8*8], xmm0
xorps xmm1, xmm2
movdqa xmmword [rsp + 0x20], xmm10
movdqa xmm5, xmm1
lea rdx, [rsp + 0x30]
movdqa xmm2, xmm0
psrlq xmm1, 0x18
xorps xmm2, xmm3
psllq xmm5, 0x28
xorps xmm5, xmm1
lea rcx, [rsp + 0x20]
movdqa xmm3, xmm2
movdqu xmmword [r15 + r14*8], xmm5
psllq xmm3, 0x28
movdqa xmm6, xmm0
psrlq xmm2, 0x18
xorps xmm3, xmm2
movdqa xmmword [rsp + 0x30], xmm5
movdqu xmmword [r15 + rsi*8], xmm3
call fcn.140115c94
movdqa xmm10, xmm0
movdqu xmmword [r15 + r11*8], xmm0
movdqa xmmword [rsp + 0x30], xmm3
lea rdx, [rsp + 0x30]
movdqa xmmword [rsp + 0x20], xmm9
lea rcx, [rsp + 0x20]
call fcn.140115c94
movdqa xmm1, xmm10
movdqu xmmword [r15 + r10*8], xmm0
xorps xmm1, xmm4
movdqa xmmword [rsp + 0x20], xmm7
pshuflw xmm1, xmm1, 0x39
lea rdx, [rsp + 0x30]
pshufhw xmm13, xmm1, 0x39
lea rcx, [rsp + 0x20]
movdqa xmm1, xmm0
movdqu xmmword [r15 + rbx*8], xmm13
xorps xmm1, xmm8
movdqa xmmword [rsp + 0x30], xmm13
pshuflw xmm1, xmm1, 0x39
movdqa xmm9, xmm0
pshufhw xmm4, xmm1, 0x39
movdqu xmmword [r15 + rdi*8], xmm4
call fcn.140115c94
lea rdx, [rsp + 0x30]
movdqu xmmword [r15 + r9*8], xmm0
lea rcx, [rsp + 0x20]
movdqa xmmword [rsp + 0x30], xmm4
movdqa xmm12, xmm0
movdqa xmmword [rsp + 0x20], xmm6
call fcn.140115c94
movdqa xmm2, xmm0
movdqu xmmword [r15 + r8*8], xmm0
xorps xmm2, xmm3
movdqa xmmword [rsp + 0x20], xmm10
movdqa xmm6, xmm0
lea rdx, [rsp + 0x30]
movdqa xmm11, xmm2
lea rcx, [rsp + 0x20]
paddq xmm11, xmm2
movdqa xmm1, xmm12
xorps xmm1, xmm5
psrlq xmm2, 0x3f
xorps xmm11, xmm2
movdqa xmm3, xmm1
paddq xmm3, xmm1
movdqa xmm2, xmm4
punpcklqdq xmm4, xmm4
movdqa xmm0, xmm13
punpcklqdq xmm0, xmm13
punpckhqdq xmm2, xmm0
movdqa xmm0, xmm11
punpckhqdq xmm13, xmm4
punpcklqdq xmm0, xmm11
psrlq xmm1, 0x3f
xorps xmm3, xmm1
movdqu xmmword [r15 + rbx*8], xmm2
movdqa xmm4, xmm3
movdqu xmmword [r15 + rdi*8], xmm13
punpckhqdq xmm4, xmm0
punpcklqdq xmm3, xmm3
punpckhqdq xmm11, xmm3
movdqu xmmword [r15 + r14*8], xmm4
movdqu xmmword [r15 + rsi*8], xmm11
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], xmm11
movdqa xmm7, xmm0
movdqa xmmword [rsp + 0x20], xmm9
call fcn.140115c94
movdqa xmm1, xmm7
movdqu xmmword [r15 + r10*8], xmm0
xorps xmm1, xmm2
movdqa xmm5, xmm0
pshufd xmm8, xmm1, 0xb1
movdqa xmm1, xmm0
xorps xmm1, xmm13
movdqu xmmword [r15 + rbx*8], xmm8
pshufd xmm10, xmm1, 0xb1
movdqu xmmword [r15 + rdi*8], xmm10
movdqa xmmword [rsp + 0x30], xmm8
lea rdx, [rsp + 0x30]
movdqa xmmword [rsp + 0x20], xmm6
lea rcx, [rsp + 0x20]
call fcn.140115c94
lea rdx, [rsp + 0x30]
movdqu xmmword [r15 + r8*8], xmm0
lea rcx, [rsp + 0x20]
movdqa xmmword [rsp + 0x30], xmm10
movdqa xmm9, xmm0
movdqa xmmword [rsp + 0x20], xmm12
call fcn.140115c94
movdqa xmm1, xmm9
movdqu xmmword [r15 + r9*8], xmm0
xorps xmm1, xmm4
movdqa xmmword [rsp + 0x20], xmm7
movdqa xmm4, xmm1
lea rdx, [rsp + 0x30]
movdqa xmm2, xmm0
psrlq xmm1, 0x18
xorps xmm2, xmm11
psllq xmm4, 0x28
xorps xmm4, xmm1
lea rcx, [rsp + 0x20]
movdqa xmm3, xmm2
movdqu xmmword [r15 + r14*8], xmm4
psllq xmm3, 0x28
movdqa xmm6, xmm0
psrlq xmm2, 0x18
xorps xmm3, xmm2
movdqa xmmword [rsp + 0x30], xmm4
movdqu xmmword [r15 + rsi*8], xmm3
call fcn.140115c94
lea rdx, [rsp + 0x30]
movdqu xmmword [r15 + r11*8], xmm0
lea rcx, [rsp + 0x20]
movdqa xmmword [rsp + 0x30], xmm3
movdqa xmm2, xmm0
movdqa xmmword [rsp + 0x20], xmm5
call fcn.140115c94
movdqu xmmword [r15 + r10*8], xmm0
lea rdx, [rsp + 0x30]
xorps xmm0, xmm10
movdqa xmmword [rsp + 0x20], xmm9
pshuflw xmm0, xmm0, 0x39
lea rcx, [rsp + 0x20]
pshufhw xmm5, xmm0, 0x39
xorps xmm2, xmm8
pshuflw xmm1, xmm2, 0x39
pshufhw xmm7, xmm1, 0x39
movdqu xmmword [r15 + rdi*8], xmm5
movdqu xmmword [r15 + rbx*8], xmm7
movdqa xmmword [rsp + 0x30], xmm7
call fcn.140115c94
lea rdx, [rsp + 0x30]
movdqu xmmword [r15 + r8*8], xmm0
lea rcx, [rsp + 0x20]
movdqa xmmword [rsp + 0x30], xmm5
movdqa xmm2, xmm0
movdqa xmmword [rsp + 0x20], xmm6
call fcn.140115c94
xorps xmm2, xmm4
movdqu xmmword [r15 + r9*8], xmm0
xorps xmm0, xmm3
movdqa xmm3, xmm2
paddq xmm3, xmm2
psrlq xmm2, 0x3f
xorps xmm3, xmm2
movdqa xmm2, xmm0
paddq xmm2, xmm0
movdqa xmm1, xmm3
punpcklqdq xmm1, xmm3
psrlq xmm0, 0x3f
xorps xmm2, xmm0
movdqa xmm0, xmm2
punpcklqdq xmm2, xmm2
punpckhqdq xmm0, xmm1
movdqa xmm1, xmm5
punpckhqdq xmm3, xmm2
movdqu xmmword [r15 + rsi*8], xmm3
punpcklqdq xmm1, xmm5
movdqu xmmword [r15 + r14*8], xmm0
movdqa xmm0, xmm7
inc r13d
punpcklqdq xmm7, xmm7
punpckhqdq xmm5, xmm7
punpckhqdq xmm0, xmm1
movdqu xmmword [r15 + rdi*8], xmm5
movdqu xmmword [r15 + rbx*8], xmm0
cmp r13d, 8
jb 0x140115d81
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 xmm3, xmmword [rax - 0x180]
lea rcx, [rsp + 0x20]
movdqa xmmword [rsp + 0x30], xmm3
movdqa xmmword [rsp + 0x20], xmm0
call fcn.140115c94
movdqu xmm1, xmmword [rax - 0x200]
lea rdx, [rsp + 0x30]
movdqu xmm4, xmmword [rax - 0x100]
lea rcx, [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm1
movdqa xmm10, xmm0
movdqu xmmword [r8], xmm0
movdqa xmmword [rsp + 0x30], xmm4
call fcn.140115c94
movdqa xmm1, xmm10
movdqu xmmword [rax - 0x200], xmm0
xorps xmm1, xmmword [rax + 0x80]
lea rdx, [rsp + 0x30]
pshufd xmm7, xmm1, 0xb1
lea rcx, [rsp + 0x20]
movdqa xmm1, xmm0
movdqu xmmword [rax + 0x80], xmm7
xorps xmm1, xmmword [rax + 0x100]
movdqa xmm9, xmm0
movdqu xmm0, xmmword [rax - 0x80]
pshufd xmm8, xmm1, 0xb1
movdqu xmmword [rax + 0x100], xmm8
movdqa xmmword [rsp + 0x30], xmm7
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 xmm6, xmm0
movdqu xmmword [rax - 0x80], xmm0
movdqa xmmword [rsp + 0x30], xmm8
call fcn.140115c94
xorps xmm3, xmm6
movdqu xmmword [rax], xmm0
movdqa xmm2, xmm3
movdqa xmmword [rsp + 0x20], xmm10
psrlq xmm3, 0x18
lea rdx, [rsp + 0x30]
xorps xmm4, xmm0
psllq xmm2, 0x28
xorps xmm2, xmm3
lea rcx, [rsp + 0x20]
movdqa xmm3, xmm4
movdqu xmmword [rax - 0x180], xmm2
psllq xmm3, 0x28
movdqa xmm5, xmm0
psrlq xmm4, 0x18
xorps xmm3, xmm4
movdqa xmmword [rsp + 0x30], xmm2
movdqu xmmword [rax - 0x100], xmm3
call fcn.140115c94
lea rdx, [rsp + 0x30]
movdqu xmmword [r8], xmm0
lea rcx, [rsp + 0x20]
movdqa xmmword [rsp + 0x30], xmm3
movdqa xmm10, xmm0
movdqa xmmword [rsp + 0x20], xmm9
call fcn.140115c94
movdqa xmm1, xmm10
movdqu xmmword [rax - 0x200], xmm0
xorps xmm1, xmm7
movdqa xmmword [rsp + 0x20], xmm6
pshuflw xmm1, xmm1, 0x39
lea rdx, [rsp + 0x30]
pshufhw xmm12, xmm1, 0x39
movdqa xmm9, xmm0
movdqa xmm1, xmm0
movdqu xmmword [rax + 0x80], xmm12
xorps xmm1, xmm8
movdqa xmmword [rsp + 0x30], xmm12
pshuflw xmm1, xmm1, 0x39
pshufhw xmm4, xmm1, 0x39
movdqu xmmword [rax + 0x100], xmm4
lea rcx, [rsp + 0x20]
call fcn.140115c94
lea rdx, [rsp + 0x30]
movdqu xmmword [rax - 0x80], xmm0
lea rcx, [rsp + 0x20]
movdqa xmmword [rsp + 0x30], xmm4
movdqa xmm11, xmm0
movdqa xmmword [rsp + 0x20], xmm5
call fcn.140115c94
movdqa xmm5, xmm0
movdqu xmmword [rax], xmm0
movdqa xmm1, xmm11
movdqa xmmword [rsp + 0x20], xmm10
xorps xmm1, xmm2
lea rdx, [rsp + 0x30]
movdqa xmm2, xmm0
lea rcx, [rsp + 0x20]
xorps xmm2, xmm3
movdqa xmm0, xmm12
punpcklqdq xmm0, xmm12
movdqa xmm13, xmm2
paddq xmm13, xmm2
movdqa xmm3, xmm1
paddq xmm3, xmm1
psrlq xmm2, 0x3f
xorps xmm13, xmm2
psrlq xmm1, 0x3f
xorps xmm3, xmm1
movdqa xmm2, xmm4
punpckhqdq xmm2, xmm0
movdqa xmm7, xmm3
movdqa xmm0, xmm13
punpcklqdq xmm4, xmm4
punpcklqdq xmm0, xmm13
punpckhqdq xmm7, xmm0
punpcklqdq xmm3, xmm3
punpckhqdq xmm12, xmm4
punpckhqdq xmm13, xmm3
movdqu xmmword [rax - 0x180], xmm7
movdqa xmmword [rsp + 0x30], xmm7
movdqu xmmword [rax + 0x80], xmm2
movdqu xmmword [rax + 0x100], xmm12
movdqu xmmword [rax - 0x100], xmm13
call fcn.140115c94
lea rdx, [rsp + 0x30]
movdqu xmmword [r8], xmm0
lea rcx, [rsp + 0x20]
movdqa xmmword [rsp + 0x30], xmm13
movdqa xmm4, xmm0
movdqa xmmword [rsp + 0x20], xmm9
call fcn.140115c94
xorps xmm12, xmm0
movdqu xmmword [rax - 0x200], xmm0
xorps xmm2, xmm4
pshufd xmm9, xmm12, 0xb1
pshufd xmm8, xmm2, 0xb1
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x20]
movdqu xmmword [rax + 0x100], xmm9
movdqa xmm3, xmm0
movdqu xmmword [rax + 0x80], xmm8
movdqa xmmword [rsp + 0x30], xmm8
movdqa xmmword [rsp + 0x20], xmm5
call fcn.140115c94
lea rdx, [rsp + 0x30]
movdqu xmmword [rax], xmm0
lea rcx, [rsp + 0x20]
movdqa xmmword [rsp + 0x30], xmm9
movdqa xmm6, xmm0
movdqa xmmword [rsp + 0x20], xmm11
call fcn.140115c94
xorps xmm7, xmm6
movdqu xmmword [rax - 0x80], xmm0
movdqa xmm10, xmm7
xorps xmm13, xmm0
psrlq xmm7, 0x18
movdqa xmm5, xmm0
psllq xmm10, 0x28
xorps xmm10, xmm7
movdqa xmm7, xmm13
movdqu xmmword [rax - 0x180], xmm10
psllq xmm7, 0x28
lea rdx, [rsp + 0x30]
psrlq xmm13, 0x18
lea rcx, [rsp + 0x20]
xorps xmm7, xmm13
movdqa xmmword [rsp + 0x30], xmm10
movdqu xmmword [rax - 0x100], xmm7
movdqa xmmword [rsp + 0x20], xmm4
call fcn.140115c94
lea rdx, [rsp + 0x30]
movdqu xmmword [r8], xmm0
lea rcx, [rsp + 0x20]
movdqa xmmword [rsp + 0x30], xmm7
movdqa xmm2, xmm0
movdqa xmmword [rsp + 0x20], xmm3
call fcn.140115c94
xorps xmm9, xmm0
movdqu xmmword [rax - 0x200], xmm0
xorps xmm8, xmm2
pshuflw xmm0, xmm9, 0x39
pshuflw xmm1, xmm8, 0x39
lea rdx, [rsp + 0x30]
pshufhw xmm8, xmm1, 0x39
lea rcx, [rsp + 0x20]
pshufhw xmm4, xmm0, 0x39
movdqu xmmword [rax + 0x100], xmm4
movdqu xmmword [rax + 0x80], xmm8
movdqa xmmword [rsp + 0x30], xmm8
movdqa xmmword [rsp + 0x20], xmm6
call fcn.140115c94
lea rdx, [rsp + 0x30]
movdqu xmmword [rax], xmm0
lea rcx, [rsp + 0x20]
movdqa xmmword [rsp + 0x30], xmm4
movdqa xmm2, xmm0
movdqa xmmword [rsp + 0x20], xmm5
call fcn.140115c94
movdqu xmmword [rax - 0x80], xmm0
xorps xmm10, xmm2
lea rax, [rax + 0x10]
xorps xmm7, xmm0
lea r8, [r8 + 0x10]
movdqa xmm3, xmm10
paddq xmm3, xmm10
movdqa xmm2, xmm7
psrlq xmm10, 0x3f
paddq xmm2, xmm7
psrlq xmm7, 0x3f
xorps xmm3, xmm10
movdqa xmm1, xmm3
xorps xmm2, xmm7
punpcklqdq xmm1, xmm3
movdqa xmm0, xmm2
punpckhqdq xmm0, xmm1
movdqa xmm1, xmm4
movdqu xmmword [rax - 0x190], xmm0
movdqa xmm0, xmm8
punpcklqdq xmm1, xmm4
punpcklqdq xmm8, xmm8
punpcklqdq xmm2, xmm2
punpckhqdq xmm4, xmm8
punpckhqdq xmm3, xmm2
punpckhqdq xmm0, xmm1
movdqu xmmword [rax + 0xf0], xmm4
movdqu xmmword [rax - 0x110], xmm3
movdqu xmmword [rax + 0x70], xmm0
sub r9, 1
jne 0x140116272
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 0x140116741
mov rcx, qword [rbp + 0x350]
xor rcx, rsp
call fcn.14011ae70
lea r11, [rsp + 0x4e0]
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]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret