Function at 0x140010690
Capabilities:
Encode data using xor
Encrypt data using aes via x86 extensions

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rax - 0x1d8]
sub rsp, 0x2b0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
movaps xmmword [rax - 0xc8], xmm15
mov rax, qword [0x140105358]
xor rax, rsp
mov qword [rbp + 0x100], rax
add dword [rdx + 0x27], r8d
mov rbx, qword [rbp + 0x200]
mov rax, rdx
mov r15, rcx
lea r8, [rsp + 0x30]
mov edx, 0x4c
mov rcx, rax
call fcn.1400091b0
lea rcx, [rbp]
movaps xmm0, xmmword [rsp + 0x30]
movaps xmm1, xmmword [rsp + 0x40]
movaps xmm6, xmmword [rsp + 0x70]
movaps xmm7, xmmword [rbp - 0x80]
movaps xmm8, xmmword [rbp - 0x70]
movaps xmm9, xmmword [rbp - 0x60]
movaps xmm10, xmmword [rbp - 0x50]
movaps xmm11, xmmword [rbp - 0x40]
movaps xmm12, xmmword [rbp - 0x30]
movaps xmm13, xmmword [rbp - 0x20]
movaps xmmword [rbp], xmm0
movaps xmmword [rbp + 0x10], xmm1
call fcn.140010370
xor r14d, r14d
mov edx, r14d
movdqa xmm0, xmmword [rbp + 0x90]
movdqa xmm1, xmmword [rbp + 0x80]
movdqa xmm2, xmmword [rbp + 0x70]
movdqa xmm3, xmmword [rbp + 0x60]
movdqa xmm4, xmmword [rbp + 0x50]
movdqa xmm5, xmmword [rbp + 0x40]
movdqa xmm14, xmmword [rbp + 0x30]
movdqa xmm15, xmmword [rbp + 0x20]
nop word [rax + rax]
aesenc xmm6, xmmword [rbp]
aesenc xmm7, xmmword [rbp]
aesenc xmm8, xmmword [rbp]
mov rcx, rdx
aesenc xmm9, xmmword [rbp]
aesenc xmm10, xmmword [rbp]
aesenc xmm11, xmmword [rbp]
aesenc xmm12, xmmword [rbp]
aesenc xmm13, xmmword [rbp]
aesenc xmm6, xmmword [rbp + 0x10]
aesenc xmm7, xmmword [rbp + 0x10]
aesenc xmm8, xmmword [rbp + 0x10]
aesenc xmm9, xmmword [rbp + 0x10]
aesenc xmm10, xmmword [rbp + 0x10]
aesenc xmm11, xmmword [rbp + 0x10]
aesenc xmm12, xmmword [rbp + 0x10]
aesenc xmm13, xmmword [rbp + 0x10]
aesenc xmm6, xmm15
aesenc xmm7, xmm15
aesenc xmm8, xmm15
aesenc xmm9, xmm15
aesenc xmm10, xmm15
aesenc xmm11, xmm15
aesenc xmm12, xmm15
aesenc xmm13, xmm15
aesenc xmm6, xmm14
aesenc xmm7, xmm14
aesenc xmm8, xmm14
aesenc xmm9, xmm14
aesenc xmm10, xmm14
aesenc xmm11, xmm14
aesenc xmm12, xmm14
aesenc xmm13, xmm14
aesenc xmm6, xmm5
aesenc xmm7, xmm5
aesenc xmm8, xmm5
aesenc xmm9, xmm5
aesenc xmm10, xmm5
aesenc xmm11, xmm5
aesenc xmm12, xmm5
aesenc xmm13, xmm5
aesenc xmm6, xmm4
aesenc xmm7, xmm4
aesenc xmm8, xmm4
aesenc xmm9, xmm4
aesenc xmm10, xmm4
aesenc xmm11, xmm4
aesenc xmm12, xmm4
aesenc xmm13, xmm4
aesenc xmm6, xmm3
aesenc xmm7, xmm3
aesenc xmm8, xmm3
aesenc xmm9, xmm3
aesenc xmm10, xmm3
aesenc xmm11, xmm3
aesenc xmm12, xmm3
aesenc xmm13, xmm3
aesenc xmm6, xmm2
aesenc xmm7, xmm2
aesenc xmm8, xmm2
aesenc xmm9, xmm2
aesenc xmm10, xmm2
aesenc xmm11, xmm2
aesenc xmm12, xmm2
aesenc xmm13, xmm2
aesenc xmm6, xmm1
aesenc xmm7, xmm1
aesenc xmm8, xmm1
aesenc xmm9, xmm1
aesenc xmm10, xmm1
aesenc xmm11, xmm1
aesenc xmm12, xmm1
aesenc xmm13, xmm1
aesenc xmm6, xmm0
aesenc xmm7, xmm0
aesenc xmm8, xmm0
aesenc xmm9, xmm0
aesenc xmm10, xmm0
aesenc xmm11, xmm0
aesenc xmm12, xmm0
aesenc xmm13, xmm0
shr rcx, 4
sub rdx, 0xffffffffffffff80
mov rax, rcx
add rax, rax
movdqa xmmword [rbx + rax*8], xmm6
movdqa xmmword [rbx + rax*8 + 0x10], xmm7
lea rax, [rcx + 2]
add rax, rax
movdqa xmmword [rbx + rax*8], xmm8
lea rax, [rcx + 3]
add rax, rax
movdqa xmmword [rbx + rax*8], xmm9
lea rax, [rcx + 4]
add rax, rax
movdqa xmmword [rbx + rax*8], xmm10
lea rax, [rcx + 5]
add rax, rax
movdqa xmmword [rbx + rax*8], xmm11
lea rax, [rcx + 6]
add rax, rax
movdqa xmmword [rbx + rax*8], xmm12
lea rax, [rcx + 7]
add rax, rax
movdqa xmmword [rbx + rax*8], xmm13
cmp rdx, 0x200000
jb 0x1400107a0
mov rax, qword [rsp + 0x40]
mov r11, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x58]
xor rax, qword [rsp + 0x60]
xor r11, qword [rsp + 0x50]
xor rdi, qword [rsp + 0x38]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x68]
mov esi, 0x80000
xor rax, qword [rsp + 0x48]
mov qword [rsp + 0x28], rax
movdqa xmm2, xmmword [rsp + 0x20]
mov qword [rsp + 0x20], r11
mov qword [rsp + 0x28], rdi
nop
mov rax, r11
and eax, 0x1ffff0
movdqa xmm1, xmmword [rax + rbx]
aesenc xmm1, xmmword [rsp + 0x20]
movq rcx, xmm1
movdqa xmm0, xmm1
pxor xmm0, xmm2
movdqa xmm2, xmm1
movdqa xmmword [rax + rbx], xmm0
mov rax, rcx
and eax, 0x1ffff0
lea r10, [rax + rbx]
mov r8, qword [r10]
mov r9, qword [r10 + 8]
mov rax, r8
mul rcx
add r11, rdx
add rdi, rax
mov qword [r10], r11
xor r11, r8
mov qword [r10 + 8], rdi
xor rdi, r9
mov qword [rsp + 0x20], r11
mov qword [rsp + 0x28], rdi
dec rsi
jne 0x140010a40
movaps xmm0, xmmword [rsp + 0x50]
movaps xmm1, xmmword [rsp + 0x60]
movaps xmm6, xmmword [rsp + 0x70]
lea rcx, [rbp]
movaps xmm7, xmmword [rbp - 0x80]
movaps xmm8, xmmword [rbp - 0x70]
movaps xmm9, xmmword [rbp - 0x60]
movaps xmm10, xmmword [rbp - 0x50]
movaps xmm11, xmmword [rbp - 0x40]
movaps xmm12, xmmword [rbp - 0x30]
movaps xmm13, xmmword [rbp - 0x20]
movaps xmmword [rbp], xmm0
movaps xmmword [rbp + 0x10], xmm1
call fcn.140010370
movdqa xmm1, xmmword [rbp + 0x90]
movdqa xmm2, xmmword [rbp + 0x80]
movdqa xmm3, xmmword [rbp + 0x70]
movdqa xmm4, xmmword [rbp + 0x60]
movdqa xmm5, xmmword [rbp + 0x50]
movdqa xmm14, xmmword [rbp + 0x40]
movdqa xmm15, xmmword [rbp + 0x30]
mov rcx, r14
shr rcx, 4
mov rax, rcx
add rax, rax
pxor xmm6, xmmword [rbx + rax*8]
movdqa xmm0, xmmword [rbx + rax*8 + 0x10]
lea rax, [rcx + 2]
pxor xmm0, xmm7
add rax, rax
movdqa xmm7, xmm0
movdqa xmm0, xmmword [rbx + rax*8]
lea rax, [rcx + 3]
add rax, rax
pxor xmm0, xmm8
movdqa xmm8, xmm0
movdqa xmm0, xmmword [rbx + rax*8]
lea rax, [rcx + 4]
add rax, rax
pxor xmm0, xmm9
movdqa xmm9, xmm0
movdqa xmm0, xmmword [rbx + rax*8]
lea rax, [rcx + 5]
add rax, rax
pxor xmm0, xmm10
movdqa xmm10, xmm0
movdqa xmm0, xmmword [rbx + rax*8]
lea rax, [rcx + 6]
add rax, rax
pxor xmm0, xmm11
movdqa xmm11, xmm0
movdqa xmm0, xmmword [rbx + rax*8]
lea rax, [rcx + 7]
add rax, rax
pxor xmm0, xmm12
movdqa xmm12, xmm0
movdqa xmm0, xmmword [rbx + rax*8]
pxor xmm0, xmm13
movdqa xmm13, xmm0
movdqa xmm0, xmmword [rbp]
aesenc xmm6, xmm0
aesenc xmm7, xmm0
aesenc xmm8, xmm0
aesenc xmm9, xmm0
aesenc xmm10, xmm0
aesenc xmm11, xmm0
aesenc xmm12, xmm0
aesenc xmm13, xmm0
movdqa xmm0, xmmword [rbp + 0x10]
aesenc xmm6, xmm0
aesenc xmm7, xmm0
aesenc xmm8, xmm0
aesenc xmm9, xmm0
aesenc xmm10, xmm0
aesenc xmm11, xmm0
aesenc xmm12, xmm0
aesenc xmm13, xmm0
movdqa xmm0, xmmword [rbp + 0x20]
aesenc xmm6, xmm0
aesenc xmm7, xmm0
aesenc xmm8, xmm0
aesenc xmm9, xmm0
aesenc xmm10, xmm0
aesenc xmm11, xmm0
aesenc xmm12, xmm0
aesenc xmm13, xmm0
aesenc xmm6, xmm15
aesenc xmm7, xmm15
aesenc xmm8, xmm15
aesenc xmm9, xmm15
aesenc xmm10, xmm15
aesenc xmm11, xmm15
aesenc xmm12, xmm15
aesenc xmm13, xmm15
aesenc xmm6, xmm14
aesenc xmm7, xmm14
aesenc xmm8, xmm14
aesenc xmm9, xmm14
aesenc xmm10, xmm14
aesenc xmm11, xmm14
aesenc xmm12, xmm14
aesenc xmm13, xmm14
aesenc xmm6, xmm5
aesenc xmm7, xmm5
aesenc xmm8, xmm5
sub r14, 0xffffffffffffff80
aesenc xmm9, xmm5
aesenc xmm10, xmm5
aesenc xmm11, xmm5
aesenc xmm12, xmm5
aesenc xmm13, xmm5
aesenc xmm6, xmm4
aesenc xmm7, xmm4
aesenc xmm8, xmm4
aesenc xmm9, xmm4
aesenc xmm10, xmm4
aesenc xmm11, xmm4
aesenc xmm12, xmm4
aesenc xmm13, xmm4
aesenc xmm6, xmm3
aesenc xmm7, xmm3
aesenc xmm8, xmm3
aesenc xmm9, xmm3
aesenc xmm10, xmm3
aesenc xmm11, xmm3
aesenc xmm12, xmm3
aesenc xmm13, xmm3
aesenc xmm6, xmm2
aesenc xmm7, xmm2
aesenc xmm8, xmm2
aesenc xmm9, xmm2
aesenc xmm10, xmm2
aesenc xmm11, xmm2
aesenc xmm12, xmm2
aesenc xmm13, xmm2
aesenc xmm6, xmm1
aesenc xmm7, xmm1
aesenc xmm8, xmm1
aesenc xmm9, xmm1
aesenc xmm10, xmm1
aesenc xmm11, xmm1
aesenc xmm12, xmm1
aesenc xmm13, xmm1
cmp r14, 0x200000
jb 0x140010b12
lea rcx, [rsp + 0x30]
movaps xmmword [rsp + 0x70], xmm6
movaps xmmword [rbp - 0x80], xmm7
movaps xmmword [rbp - 0x70], xmm8
movaps xmmword [rbp - 0x60], xmm9
movaps xmmword [rbp - 0x50], xmm10
movaps xmmword [rbp - 0x40], xmm11
movaps xmmword [rbp - 0x30], xmm12
movaps xmmword [rbp - 0x20], xmm13
call fcn.140008f90
movzx eax, byte [rsp + 0x30]
lea r9, [0x1400d38d0]
lea rcx, [rsp + 0x30]
and eax, 3
mov r8, r15
mov edx, 0xc8
call qword [r9 + rax*8]
mov rcx, qword [rbp + 0x100]
xor rcx, rsp
call fcn.140084590
lea r11, [rsp + 0x2b0]
mov rbx, qword [r11 + 0x40]
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]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret