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

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x90
vmovdqa xmmword [rsp + 0x80], xmm12
vmovdqa xmmword [rsp + 0x70], xmm11
vmovdqa xmmword [rsp + 0x60], xmm10
vmovdqa xmmword [rsp + 0x50], xmm9
vmovdqa xmmword [rsp + 0x40], xmm8
vmovdqa xmmword [rsp + 0x30], xmm7
vmovdqa xmmword [rsp + 0x20], xmm6
mov r9d, dword [rcx + 0x28]
movzx ebx, byte [rcx + 0x2c]
movzx r10d, bl
mov esi, 0x10
sub rsi, r10
mov r11, r8
sub r11, rsi
jae 0x14000279e
test bl, bl
je 0x14000280a
lea r9, [r10 + r8]
cmp r9, 0x11
jae 0x140002ded
test r8, r8
je 0x140002795
lea rax, [rcx + r10]
add rax, 0x18
xor r10d, r10d
movzx r11d, byte [rax + r10]
xor byte [rdx + r10], r11b
lea r11, [r10 + 1]
mov r10, r11
cmp r8, r11
jne 0x140002780
mov byte [rcx + 0x2c], r9b
jmp 0x140002da9
mov al, 1
movabs rdi, 0xfffffffef
cmp r11, rdi
ja 0x140002dab
mov rdi, r11
shr rdi, 4
inc edi
add edi, r9d
jb 0x140002dab
test bl, bl
je 0x14000280a
lea rax, [rdx + rsi]
cmp bl, 0x10
ja 0x140002e03
je 0x140002805
lea r8, [rcx + r10]
add r8, 0x18
xor r10d, r10d
nop word cs:[rax + rax]
movzx ebx, byte [r8 + r10]
xor byte [rdx + r10], bl
lea rdi, [r10 + 1]
mov r10, rdi
cmp rsi, rdi
jne 0x1400027f0
inc r9d
jmp 0x140002810
mov r11, r8
mov rax, rdx
mov r8d, r11d
and r8d, 0x7f
mov rdx, r11
and rdx, 0xffffffffffffff80
je 0x140002baf
mov r10d, dword [rcx + 0x14]
vpshufd xmm0, xmmword [rcx + 0xc], 0x50
mov rsi, qword [rcx]
vpblendd xmm0, xmm0, xmmword [rcx + 8], 1
xor edi, edi
nop word [rax + rax]
lea ebx, [r10 + r9]
bswap ebx
lea ebp, [r10 + r9]
inc ebp
bswap ebp
vpinsrd xmm1, xmm0, ebx, 3
lea ebx, [r10 + r9 + 2]
bswap ebx
vpinsrd xmm2, xmm0, ebp, 3
lea ebp, [r10 + r9 + 3]
bswap ebp
vpinsrd xmm3, xmm0, ebx, 3
lea ebx, [r10 + r9 + 4]
bswap ebx
vpinsrd xmm4, xmm0, ebp, 3
lea ebp, [r10 + r9 + 5]
bswap ebp
vpinsrd xmm5, xmm0, ebx, 3
lea ebx, [r10 + r9 + 6]
bswap ebx
vpinsrd xmm6, xmm0, ebp, 3
lea ebp, [r10 + r9 + 7]
bswap ebp
vpinsrd xmm7, xmm0, ebx, 3
vmovdqa xmm8, xmmword [rsi]
vmovdqa xmm9, xmmword [rsi + 0x10]
vpinsrd xmm10, xmm0, ebp, 3
vmovdqa xmm11, xmmword [rsi + 0x20]
vmovdqa xmm12, xmmword [rsi + 0x30]
vpxor xmm1, xmm8, xmm1
vpxor xmm2, xmm8, xmm2
vpxor xmm3, xmm8, xmm3
vpxor xmm4, xmm8, xmm4
vpxor xmm5, xmm8, xmm5
vpxor xmm6, xmm8, xmm6
vpxor xmm7, xmm8, xmm7
vpxor xmm8, xmm8, xmm10
vaesenc xmm1, xmm1, xmm9
vaesenc xmm2, xmm2, xmm9
vaesenc xmm3, xmm3, xmm9
vaesenc xmm4, xmm4, xmm9
vaesenc xmm5, xmm5, xmm9
vaesenc xmm6, xmm6, xmm9
vaesenc xmm7, xmm7, xmm9
vaesenc xmm8, xmm8, xmm9
vaesenc xmm1, xmm1, xmm11
vaesenc xmm2, xmm2, xmm11
vaesenc xmm3, xmm3, xmm11
vaesenc xmm4, xmm4, xmm11
vaesenc xmm5, xmm5, xmm11
vaesenc xmm6, xmm6, xmm11
vaesenc xmm7, xmm7, xmm11
vaesenc xmm8, xmm8, xmm11
vaesenc xmm1, xmm1, xmm12
vaesenc xmm2, xmm2, xmm12
vaesenc xmm3, xmm3, xmm12
vaesenc xmm4, xmm4, xmm12
vaesenc xmm5, xmm5, xmm12
vaesenc xmm6, xmm6, xmm12
vaesenc xmm7, xmm7, xmm12
vaesenc xmm8, xmm8, xmm12
vmovdqa xmm9, xmmword [rsi + 0x40]
vaesenc xmm1, xmm1, xmm9
vaesenc xmm2, xmm2, xmm9
vaesenc xmm3, xmm3, xmm9
vaesenc xmm4, xmm4, xmm9
vaesenc xmm5, xmm5, xmm9
vaesenc xmm6, xmm6, xmm9
vaesenc xmm7, xmm7, xmm9
vaesenc xmm8, xmm8, xmm9
vmovdqa xmm9, xmmword [rsi + 0x50]
vaesenc xmm1, xmm1, xmm9
vaesenc xmm2, xmm2, xmm9
vaesenc xmm3, xmm3, xmm9
vaesenc xmm4, xmm4, xmm9
vaesenc xmm5, xmm5, xmm9
vaesenc xmm6, xmm6, xmm9
vaesenc xmm7, xmm7, xmm9
vaesenc xmm8, xmm8, xmm9
vmovdqa xmm9, xmmword [rsi + 0x60]
vaesenc xmm1, xmm1, xmm9
vaesenc xmm2, xmm2, xmm9
vaesenc xmm3, xmm3, xmm9
vaesenc xmm4, xmm4, xmm9
vaesenc xmm5, xmm5, xmm9
vaesenc xmm6, xmm6, xmm9
vaesenc xmm7, xmm7, xmm9
vaesenc xmm8, xmm8, xmm9
vmovdqa xmm9, xmmword [rsi + 0x70]
vaesenc xmm1, xmm1, xmm9
vaesenc xmm2, xmm2, xmm9
vaesenc xmm3, xmm3, xmm9
vaesenc xmm4, xmm4, xmm9
vaesenc xmm5, xmm5, xmm9
vaesenc xmm6, xmm6, xmm9
vaesenc xmm7, xmm7, xmm9
vaesenc xmm8, xmm8, xmm9
vmovdqa xmm9, xmmword [rsi + 0x80]
vaesenc xmm1, xmm1, xmm9
vaesenc xmm2, xmm2, xmm9
vaesenc xmm3, xmm3, xmm9
vaesenc xmm4, xmm4, xmm9
vaesenc xmm5, xmm5, xmm9
vaesenc xmm6, xmm6, xmm9
vaesenc xmm7, xmm7, xmm9
vaesenc xmm8, xmm8, xmm9
vmovdqa xmm9, xmmword [rsi + 0x90]
vaesenc xmm1, xmm1, xmm9
vaesenc xmm2, xmm2, xmm9
vaesenc xmm3, xmm3, xmm9
vaesenc xmm4, xmm4, xmm9
vaesenc xmm5, xmm5, xmm9
vaesenc xmm6, xmm6, xmm9
vaesenc xmm7, xmm7, xmm9
vaesenc xmm8, xmm8, xmm9
vmovdqa xmm9, xmmword [rsi + 0xa0]
vaesenc xmm1, xmm1, xmm9
vaesenc xmm2, xmm2, xmm9
vaesenc xmm3, xmm3, xmm9
vaesenc xmm4, xmm4, xmm9
vaesenc xmm5, xmm5, xmm9
vaesenc xmm6, xmm6, xmm9
vaesenc xmm7, xmm7, xmm9
vaesenc xmm8, xmm8, xmm9
vmovdqa xmm9, xmmword [rsi + 0xb0]
vaesenc xmm1, xmm1, xmm9
vaesenc xmm2, xmm2, xmm9
vaesenc xmm3, xmm3, xmm9
vaesenc xmm4, xmm4, xmm9
vaesenc xmm5, xmm5, xmm9
vaesenc xmm6, xmm6, xmm9
vaesenc xmm7, xmm7, xmm9
vaesenc xmm8, xmm8, xmm9
vmovdqa xmm9, xmmword [rsi + 0xc0]
vaesenc xmm1, xmm1, xmm9
vaesenc xmm2, xmm2, xmm9
vaesenc xmm3, xmm3, xmm9
vaesenc xmm4, xmm4, xmm9
vaesenc xmm5, xmm5, xmm9
vaesenc xmm6, xmm6, xmm9
vaesenc xmm7, xmm7, xmm9
vaesenc xmm8, xmm8, xmm9
add r9d, 8
vmovdqa xmm9, xmmword [rsi + 0xd0]
vaesenc xmm1, xmm1, xmm9
vaesenc xmm2, xmm2, xmm9
vaesenc xmm3, xmm3, xmm9
vaesenc xmm4, xmm4, xmm9
vaesenc xmm5, xmm5, xmm9
vaesenc xmm6, xmm6, xmm9
vaesenc xmm7, xmm7, xmm9
vaesenc xmm8, xmm8, xmm9
vmovdqa xmm9, xmmword [rsi + 0xe0]
vaesenclast xmm1, xmm1, xmm9
vaesenclast xmm2, xmm2, xmm9
vaesenclast xmm3, xmm3, xmm9
vaesenclast xmm4, xmm4, xmm9
vaesenclast xmm5, xmm5, xmm9
vaesenclast xmm6, xmm6, xmm9
vaesenclast xmm7, xmm7, xmm9
vaesenclast xmm8, xmm8, xmm9
vinserti128 ymm1, ymm1, xmm2, 1
vinserti128 ymm2, ymm3, xmm4, 1
vinserti128 ymm3, ymm5, xmm6, 1
vinserti128 ymm4, ymm7, xmm8, 1
vpxor ymm1, ymm1, ymmword [rax + rdi]
vpxor ymm2, ymm2, ymmword [rax + rdi + 0x20]
vpxor ymm3, ymm3, ymmword [rax + rdi + 0x40]
vpxor ymm4, ymm4, ymmword [rax + rdi + 0x60]
vmovdqu ymmword [rax + rdi], ymm1
vmovdqu ymmword [rax + rdi + 0x20], ymm2
vmovdqu ymmword [rax + rdi + 0x40], ymm3
vmovdqu ymmword [rax + rdi + 0x60], ymm4
sub rdi, 0xffffffffffffff80
cmp rdx, rdi
jne 0x140002840
lea rsi, [rax + rdx]
mov r10d, r11d
and r10d, 0xf
mov rdi, r8
sub rdi, r10
cmp rdi, 0x10
jb 0x140002c9d
mov ebx, dword [rcx + 0x14]
vmovdqu xmm0, xmmword [rcx + 8]
mov r14, rdi
mov r15, rsi
nop dword [rax + rax]
test r15, r15
je 0x140002c9d
lea ebp, [rbx + r9]
bswap ebp
vmovd xmm1, ebp
vpbroadcastd xmm1, xmm1
vpblendd xmm1, xmm0, xmm1, 8
mov r12, qword [rcx]
vpxor xmm1, xmm1, xmmword [r12]
vaesenc xmm1, xmm1, xmmword [r12 + 0x10]
vaesenc xmm1, xmm1, xmmword [r12 + 0x20]
vaesenc xmm1, xmm1, xmmword [r12 + 0x30]
vaesenc xmm1, xmm1, xmmword [r12 + 0x40]
vaesenc xmm1, xmm1, xmmword [r12 + 0x50]
vaesenc xmm1, xmm1, xmmword [r12 + 0x60]
vaesenc xmm1, xmm1, xmmword [r12 + 0x70]
vaesenc xmm1, xmm1, xmmword [r12 + 0x80]
vaesenc xmm1, xmm1, xmmword [r12 + 0x90]
vaesenc xmm1, xmm1, xmmword [r12 + 0xa0]
vaesenc xmm1, xmm1, xmmword [r12 + 0xb0]
vaesenc xmm1, xmm1, xmmword [r12 + 0xc0]
vaesenc xmm1, xmm1, xmmword [r12 + 0xd0]
vaesenclast xmm1, xmm1, xmmword [r12 + 0xe0]
vpxor xmm1, xmm1, xmmword [r15]
vmovdqu xmmword [r15], xmm1
add r14, 0xfffffffffffffff0
add r15, 0x10
inc r9d
cmp r14, 0x10
jae 0x140002be0
test r10, r10
je 0x140002da1
mov ebx, dword [rcx + 0x10]
mov ebp, dword [rcx + 0x14]
add ebp, r9d
mov r14, qword [rcx]
mov r15, qword [rcx + 8]
mov qword [rcx + 0x18], r15
mov dword [rcx + 0x20], ebx
movbe dword [rcx + 0x24], ebp
vmovdqa xmm0, xmmword [r14]
vpxor xmm0, xmm0, xmmword [rcx + 0x18]
vaesenc xmm0, xmm0, xmmword [r14 + 0x10]
vaesenc xmm0, xmm0, xmmword [r14 + 0x20]
vaesenc xmm0, xmm0, xmmword [r14 + 0x30]
vaesenc xmm0, xmm0, xmmword [r14 + 0x40]
vaesenc xmm0, xmm0, xmmword [r14 + 0x50]
vaesenc xmm0, xmm0, xmmword [r14 + 0x60]
vaesenc xmm0, xmm0, xmmword [r14 + 0x70]
vaesenc xmm0, xmm0, xmmword [r14 + 0x80]
vaesenc xmm0, xmm0, xmmword [r14 + 0x90]
vaesenc xmm0, xmm0, xmmword [r14 + 0xa0]
vaesenc xmm0, xmm0, xmmword [r14 + 0xb0]
vaesenc xmm0, xmm0, xmmword [r14 + 0xc0]
vaesenc xmm0, xmm0, xmmword [r14 + 0xd0]
vaesenclast xmm0, xmm0, xmmword [r14 + 0xe0]
vmovdqu xmmword [rcx + 0x18], xmm0
and r11d, 7
cmp r10d, 8
jae 0x140002d48
xor edi, edi
jmp 0x140002d75
add rsi, rdi
mov rbx, r10
sub rbx, r11
xor r14d, r14d
nop word cs:[rax + rax]
lea rdi, [r14 + 8]
mov r15, qword [rcx + r14 + 0x18]
xor qword [rsi + r14], r15
mov r14, rdi
cmp rbx, rdi
jne 0x140002d60
test r11, r11
je 0x140002da1
lea rsi, [rdi + rcx]
add rsi, 0x18
add rdx, rdi
add rdx, r8
sub rdx, r10
add rax, rdx
xor edx, edx
movzx r8d, byte [rsi + rdx]
xor byte [rax + rdx], r8b
inc rdx
cmp r11, rdx
jne 0x140002d90
mov byte [rcx + 0x2c], r10b
mov dword [rcx + 0x28], r9d
xor eax, eax
vmovaps xmm6, xmmword [rsp + 0x20]
vmovaps xmm7, xmmword [rsp + 0x30]
vmovaps xmm8, xmmword [rsp + 0x40]
vmovaps xmm9, xmmword [rsp + 0x50]
vmovaps xmm10, xmmword [rsp + 0x60]
vmovaps xmm11, xmmword [rsp + 0x70]
vmovaps xmm12, xmmword [rsp + 0x80]
add rsp, 0x90
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
vzeroupper
ret
lea r8, [0x140030ea0]
mov edx, 0x10
mov rcx, r9
call fcn.14002db90
ud2
lea r8, [0x140030e88]
mov edx, 0x10
mov rcx, r10
call fcn.14002da90
ud2