Function at 0x1400021d0
Capabilities:
Decrypt data using aes via x86 extensions

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x298
movdqa xmmword [rsp + 0x280], xmm15
movdqa xmmword [rsp + 0x270], xmm14
movdqa xmmword [rsp + 0x260], xmm13
movdqa xmmword [rsp + 0x250], xmm12
movaps xmmword [rsp + 0x240], xmm11
movdqa xmmword [rsp + 0x230], xmm10
movdqa xmmword [rsp + 0x220], xmm9
movdqa xmmword [rsp + 0x210], xmm8
movdqa xmmword [rsp + 0x200], xmm7
movdqa xmmword [rsp + 0x1f0], xmm6
mov qword [rsp + 0x98], rcx
mov rax, qword [rdx]
mov r8, qword [rdx + 8]
mov r9, qword [rdx + 0x10]
mov rcx, qword [rdx + 0x18]
mov edx, ecx
and edx, 7
mov qword [rsp + 0x90], rcx
cmp rcx, 8
jb 0x140002b3a
mov rsi, qword [rsp + 0x90]
shr rsi, 3
lea r11, [rsp + 0x30]
lea rbx, [rsp + 0xb0]
lea r10, [rsp + 0xc0]
lea rdi, [rax + 0x10]
lea r15, [rsp + 0x10]
cmp r15, rdi
setb dil
lea rcx, [rsp + 0x20]
cmp rax, rcx
setb bpl
and bpl, dil
mov byte [rsp + 0xf], bpl
cmp rcx, rbx
setb dil
lea r12, [rsp + 0xa0]
cmp r12, r11
setb bpl
and bpl, dil
lea rdi, [rsp + 0x40]
cmp r11, r10
setb r11b
cmp rbx, rdi
lea r13, [rsp + 0xd0]
setb r14b
and r14b, r11b
cmp r15, r12
lea r11, [rsp + 0xe0]
lea r15, [rsp + 0x50]
setb dil
cmp r10, r15
setb r15b
and r15b, dil
lea r10, [rsp + 0x60]
cmp r13, r10
lea r10, [rsp + 0xf0]
setb r12b
and r12b, dil
lea r13, [rsp + 0x70]
cmp r11, r13
setb r13b
and r13b, dil
lea r11, [rsp + 0x80]
cmp r10, r11
lea rcx, [rsp + 0x100]
setb r10b
and r10b, dil
lea r11, [rsp + 0x90]
cmp rcx, r11
mov rcx, qword [rsp + 0x98]
movaps xmm0, xmmword [rcx + 0x150]
movaps xmmword [rsp + 0x1c0], xmm0
movaps xmm0, xmmword [rcx + 0x140]
movaps xmmword [rsp + 0x130], xmm0
movaps xmm0, xmmword [rcx + 0x130]
movaps xmmword [rsp + 0x1b0], xmm0
movaps xmm0, xmmword [rcx + 0x120]
movaps xmmword [rsp + 0x1a0], xmm0
movaps xmm0, xmmword [rcx + 0x110]
movaps xmmword [rsp + 0x190], xmm0
movaps xmm0, xmmword [rcx + 0x100]
movaps xmmword [rsp + 0x180], xmm0
movaps xmm0, xmmword [rcx + 0xf0]
movaps xmmword [rsp + 0x170], xmm0
movaps xmm0, xmmword [rcx + 0xb0]
movaps xmmword [rsp + 0x160], xmm0
movaps xmm0, xmmword [rcx + 0xc0]
movaps xmmword [rsp + 0x120], xmm0
movaps xmm0, xmmword [rcx + 0xd0]
movaps xmmword [rsp + 0x150], xmm0
movdqa xmm0, xmmword [rcx + 0xe0]
movdqa xmmword [rsp + 0x140], xmm0
setb r11b
and r11b, dil
xor edi, edi
movdqa xmm12, xmmword [rsp + 0x160]
jmp 0x1400024ad
movdqa xmm0, xmmword [rsp + 0x80]
pxor xmm0, xmmword [rsp + 0x100]
movdqa xmmword [rsp + 0x80], xmm0
lea rcx, [r9 + rdi]
movaps xmm0, xmmword [rsp + 0x80]
movups xmmword [rcx + 0x70], xmm0
movaps xmm0, xmmword [rsp + 0x70]
movups xmmword [rcx + 0x60], xmm0
movaps xmm0, xmmword [rsp + 0x60]
movups xmmword [rcx + 0x50], xmm0
movaps xmm0, xmmword [rsp + 0x50]
movups xmmword [rcx + 0x40], xmm0
movaps xmm0, xmmword [rsp + 0x10]
movdqa xmm1, xmmword [rsp + 0x20]
movdqa xmm2, xmmword [rsp + 0x30]
movaps xmm11, xmmword [rsp + 0x40]
movups xmmword [rcx + 0x30], xmm11
movdqu xmmword [rcx + 0x20], xmm2
movdqu xmmword [rcx + 0x10], xmm1
movups xmmword [rcx], xmm0
lea rcx, [rsp + 0xb0]
movdqu xmm0, xmmword [rcx + 0x60]
movdqu xmmword [rax], xmm0
sub rdi, 0xffffffffffffff80
dec rsi
je 0x140002b3a
movups xmm0, xmmword [r8 + rdi + 0x70]
movaps xmmword [rsp + 0x110], xmm0
movups xmm0, xmmword [r8 + rdi + 0x60]
movaps xmmword [rsp + 0x100], xmm0
movups xmm0, xmmword [r8 + rdi + 0x50]
movaps xmmword [rsp + 0xf0], xmm0
movups xmm0, xmmword [r8 + rdi + 0x40]
movaps xmmword [rsp + 0xe0], xmm0
movups xmm0, xmmword [r8 + rdi]
movups xmm1, xmmword [r8 + rdi + 0x10]
movups xmm2, xmmword [r8 + rdi + 0x20]
movups xmm11, xmmword [r8 + rdi + 0x30]
movaps xmmword [rsp + 0xd0], xmm11
movaps xmmword [rsp + 0xc0], xmm2
movaps xmmword [rsp + 0xb0], xmm1
movaps xmmword [rsp + 0xa0], xmm0
movups xmm0, xmmword [r8 + rdi]
movups xmm1, xmmword [r8 + rdi + 0x10]
movups xmm2, xmmword [r8 + rdi + 0x20]
movups xmm11, xmmword [r8 + rdi + 0x30]
movaps xmmword [rsp + 0x10], xmm0
movaps xmmword [rsp + 0x20], xmm1
movaps xmmword [rsp + 0x30], xmm2
movaps xmmword [rsp + 0x40], xmm11
movups xmm0, xmmword [r8 + rdi + 0x40]
movaps xmmword [rsp + 0x50], xmm0
movups xmm0, xmmword [r8 + rdi + 0x50]
movaps xmmword [rsp + 0x60], xmm0
movups xmm0, xmmword [r8 + rdi + 0x60]
movaps xmmword [rsp + 0x70], xmm0
movups xmm0, xmmword [r8 + rdi + 0x70]
movaps xmmword [rsp + 0x80], xmm0
movdqa xmm2, xmmword [rsp + 0x10]
movdqa xmm0, xmmword [rsp + 0x1c0]
pxor xmm2, xmm0
movdqa xmm10, xmmword [rsp + 0x20]
movdqa xmm11, xmmword [rsp + 0x30]
movdqa xmm15, xmmword [rsp + 0x40]
movdqa xmm14, xmmword [rsp + 0x50]
movdqa xmm13, xmmword [rsp + 0x60]
movaps xmm1, xmmword [rsp + 0x70]
movaps xmmword [rsp + 0x1d0], xmm1
movaps xmm1, xmmword [rsp + 0x80]
movaps xmmword [rsp + 0x1e0], xmm1
aesdec xmm2, xmmword [rsp + 0x130]
movdqa xmm3, xmmword [rsp + 0x1b0]
aesdec xmm2, xmm3
movdqa xmm1, xmmword [rsp + 0x1a0]
aesdec xmm2, xmm1
movdqa xmm4, xmm1
movdqa xmm1, xmmword [rsp + 0x190]
aesdec xmm2, xmm1
movdqa xmm5, xmm1
movdqa xmm1, xmmword [rsp + 0x180]
aesdec xmm2, xmm1
movdqa xmm6, xmm1
movdqa xmm1, xmmword [rsp + 0x170]
aesdec xmm2, xmm1
movdqa xmm7, xmm1
movdqa xmm1, xmmword [rsp + 0x140]
aesdec xmm2, xmm1
movdqa xmm8, xmm1
movdqa xmm1, xmmword [rsp + 0x150]
aesdec xmm2, xmm1
movdqa xmm9, xmm1
aesdec xmm2, xmmword [rsp + 0x120]
aesdeclast xmm2, xmm12
movdqa xmmword [rsp + 0x10], xmm2
movdqa xmm2, xmm0
pxor xmm10, xmm0
movdqa xmm0, xmmword [rsp + 0x130]
aesdec xmm10, xmm0
movdqa xmm1, xmm3
aesdec xmm10, xmm3
movdqa xmm3, xmm4
aesdec xmm10, xmm4
movdqa xmm4, xmm5
aesdec xmm10, xmm5
movdqa xmm5, xmm6
aesdec xmm10, xmm6
movdqa xmm6, xmm7
aesdec xmm10, xmm7
movdqa xmm7, xmm8
aesdec xmm10, xmm8
movdqa xmm8, xmm9
aesdec xmm10, xmm9
movdqa xmm9, xmmword [rsp + 0x120]
aesdec xmm10, xmm9
aesdeclast xmm10, xmm12
movdqa xmmword [rsp + 0x20], xmm10
pxor xmm11, xmm2
aesdec xmm11, xmm0
aesdec xmm11, xmm1
aesdec xmm11, xmm3
aesdec xmm11, xmm4
aesdec xmm11, xmm5
aesdec xmm11, xmm6
aesdec xmm11, xmm7
aesdec xmm11, xmm8
aesdec xmm11, xmm9
aesdeclast xmm11, xmm12
movdqa xmmword [rsp + 0x30], xmm11
pxor xmm15, xmm2
aesdec xmm15, xmm0
aesdec xmm15, xmm1
aesdec xmm15, xmm3
aesdec xmm15, xmm4
aesdec xmm15, xmm5
aesdec xmm15, xmm6
aesdec xmm15, xmm7
aesdec xmm15, xmm8
aesdec xmm15, xmm9
aesdeclast xmm15, xmm12
movdqa xmmword [rsp + 0x40], xmm15
pxor xmm14, xmm2
aesdec xmm14, xmm0
aesdec xmm14, xmm1
aesdec xmm14, xmm3
aesdec xmm14, xmm4
aesdec xmm14, xmm5
aesdec xmm14, xmm6
aesdec xmm14, xmm7
aesdec xmm14, xmm8
aesdec xmm14, xmm9
aesdeclast xmm14, xmm12
movdqa xmmword [rsp + 0x50], xmm14
pxor xmm13, xmm2
aesdec xmm13, xmm0
aesdec xmm13, xmm1
aesdec xmm13, xmm3
aesdec xmm13, xmm4
aesdec xmm13, xmm5
aesdec xmm13, xmm6
aesdec xmm13, xmm7
aesdec xmm13, xmm8
aesdec xmm13, xmm9
aesdeclast xmm13, xmm12
movdqa xmmword [rsp + 0x60], xmm13
movdqa xmm11, xmmword [rsp + 0x1d0]
pxor xmm11, xmm2
aesdec xmm11, xmm0
aesdec xmm11, xmm1
aesdec xmm11, xmm3
aesdec xmm11, xmm4
aesdec xmm11, xmm5
aesdec xmm11, xmm6
aesdec xmm11, xmm7
aesdec xmm11, xmm8
aesdec xmm11, xmm9
movdqa xmm10, xmm9
aesdeclast xmm11, xmm12
movdqa xmmword [rsp + 0x70], xmm11
movdqa xmm9, xmmword [rsp + 0x1e0]
pxor xmm9, xmm2
aesdec xmm9, xmm0
aesdec xmm9, xmm1
aesdec xmm9, xmm3
aesdec xmm9, xmm4
aesdec xmm9, xmm5
aesdec xmm9, xmm6
aesdec xmm9, xmm7
aesdec xmm9, xmm8
aesdec xmm9, xmm10
aesdeclast xmm9, xmm12
movdqa xmmword [rsp + 0x80], xmm9
cmp byte [rsp + 0xf], 0
je 0x140002a30
movdqu xmm0, xmmword [rax]
pxor xmm0, xmmword [rsp + 0x10]
movdqa xmmword [rsp + 0x10], xmm0
test bpl, bpl
jne 0x140002a4a
mov rbx, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x28]
xor rbx, qword [rsp + 0xa0]
xor rcx, qword [rsp + 0xa8]
movq xmm0, rcx
movq xmm1, rbx
punpcklqdq xmm1, xmm0
movdqa xmmword [rsp + 0x20], xmm1
test r14b, r14b
jne 0x140002a68
mov rcx, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x38]
xor rcx, qword [rsp + 0xb0]
xor rbx, qword [rsp + 0xb8]
movq xmm0, rbx
movq xmm1, rcx
punpcklqdq xmm1, xmm0
movdqa xmmword [rsp + 0x30], xmm1
test r15b, r15b
jne 0x140002a86
mov rcx, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x48]
xor rcx, qword [rsp + 0xc0]
xor rbx, qword [rsp + 0xc8]
movq xmm0, rbx
movq xmm1, rcx
punpcklqdq xmm1, xmm0
movdqa xmmword [rsp + 0x40], xmm1
test r12b, r12b
jne 0x140002aa4
mov rcx, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x58]
xor rcx, qword [rsp + 0xd0]
xor rbx, qword [rsp + 0xd8]
movq xmm0, rbx
movq xmm1, rcx
punpcklqdq xmm1, xmm0
movdqa xmmword [rsp + 0x50], xmm1
test r13b, r13b
jne 0x140002ac2
mov rcx, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x68]
xor rcx, qword [rsp + 0xe0]
xor rbx, qword [rsp + 0xe8]
movq xmm0, rbx
movq xmm1, rcx
punpcklqdq xmm1, xmm0
movdqa xmmword [rsp + 0x60], xmm1
test r10b, r10b
jne 0x140002ae0
mov rcx, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x78]
xor rcx, qword [rsp + 0xf0]
xor rbx, qword [rsp + 0xf8]
movq xmm0, rbx
movq xmm1, rcx
punpcklqdq xmm1, xmm0
movdqa xmmword [rsp + 0x70], xmm1
test r11b, r11b
jne 0x140002420
jmp 0x140002afe
mov rbx, qword [rax]
xor qword [rsp + 0x10], rbx
mov rbx, qword [rax + 8]
xor qword [rsp + 0x18], rbx
test bpl, bpl
je 0x1400028d4
movdqa xmm0, xmmword [rsp + 0x20]
pxor xmm0, xmmword [rsp + 0xa0]
movdqa xmmword [rsp + 0x20], xmm0
test r14b, r14b
je 0x14000290b
movdqa xmm0, xmmword [rsp + 0x30]
pxor xmm0, xmmword [rsp + 0xb0]
movdqa xmmword [rsp + 0x30], xmm0
test r15b, r15b
je 0x140002942
movdqa xmm0, xmmword [rsp + 0x40]
pxor xmm0, xmmword [rsp + 0xc0]
movdqa xmmword [rsp + 0x40], xmm0
test r12b, r12b
je 0x140002979
movdqa xmm0, xmmword [rsp + 0x50]
pxor xmm0, xmmword [rsp + 0xd0]
movdqa xmmword [rsp + 0x50], xmm0
test r13b, r13b
je 0x1400029b0
movdqa xmm0, xmmword [rsp + 0x60]
pxor xmm0, xmmword [rsp + 0xe0]
movdqa xmmword [rsp + 0x60], xmm0
test r10b, r10b
je 0x1400029e7
movdqa xmm0, xmmword [rsp + 0x70]
pxor xmm0, xmmword [rsp + 0xf0]
movdqa xmmword [rsp + 0x70], xmm0
test r11b, r11b
jne 0x140002420
mov rcx, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x88]
xor rcx, qword [rsp + 0x100]
xor rbx, qword [rsp + 0x108]
movq xmm0, rbx
movq xmm1, rcx
punpcklqdq xmm1, xmm0
movdqa xmmword [rsp + 0x80], xmm1
jmp 0x14000243b
test rdx, rdx
je 0x140002cb1
movabs r10, 0xffffffffffffff8
mov rcx, qword [rsp + 0x90]
and rcx, r10
shl rcx, 4
add r8, rcx
add r9, rcx
mov rcx, qword [rsp + 0x98]
movdqa xmm0, xmmword [rcx + 0x150]
movdqa xmm1, xmmword [rcx + 0x140]
movdqa xmm2, xmmword [rcx + 0x130]
movdqa xmm3, xmmword [rcx + 0x120]
movdqa xmm4, xmmword [rcx + 0x110]
movdqa xmm5, xmmword [rcx + 0x100]
movdqa xmm6, xmmword [rcx + 0xf0]
movdqa xmm7, xmmword [rcx + 0xb0]
movdqa xmm8, xmmword [rcx + 0xc0]
movdqa xmm9, xmmword [rcx + 0xd0]
movdqa xmm10, xmmword [rcx + 0xe0]
lea rcx, [rax + 0x10]
lea r10, [rsp + 0x10]
cmp r10, rcx
setb r10b
lea rcx, [rsp + 0x20]
cmp rax, rcx
setb cl
and cl, r10b
shl rdx, 4
xor r10d, r10d
jmp 0x140002c2b
movdqu xmm11, xmmword [rax]
pxor xmm11, xmmword [rsp + 0x10]
movdqa xmmword [rsp + 0x10], xmm11
lea r11, [r9 + r10]
movaps xmm11, xmmword [rsp + 0x10]
movups xmmword [r11], xmm11
movaps xmm11, xmmword [rsp + 0xa0]
movups xmmword [rax], xmm11
add r10, 0x10
cmp rdx, r10
je 0x140002cb1
movups xmm11, xmmword [r8 + r10]
movaps xmmword [rsp + 0xa0], xmm11
movups xmm11, xmmword [r8 + r10]
movaps xmmword [rsp + 0x10], xmm11
movdqa xmm11, xmmword [rsp + 0x10]
pxor xmm11, xmm0
aesdec xmm11, xmm1
aesdec xmm11, xmm2
aesdec xmm11, xmm3
aesdec xmm11, xmm4
aesdec xmm11, xmm5
aesdec xmm11, xmm6
aesdec xmm11, xmm10
aesdec xmm11, xmm9
aesdec xmm11, xmm8
aesdeclast xmm11, xmm7
movdqa xmmword [rsp + 0x10], xmm11
test cl, cl
jne 0x140002bf0
mov r11, qword [rax]
xor qword [rsp + 0x10], r11
mov r11, qword [rax + 8]
xor qword [rsp + 0x18], r11
jmp 0x140002c03
movaps xmm6, xmmword [rsp + 0x1f0]
movaps xmm7, xmmword [rsp + 0x200]
movaps xmm8, xmmword [rsp + 0x210]
movaps xmm9, xmmword [rsp + 0x220]
movaps xmm10, xmmword [rsp + 0x230]
movaps xmm11, xmmword [rsp + 0x240]
movaps xmm12, xmmword [rsp + 0x250]
movaps xmm13, xmmword [rsp + 0x260]
movaps xmm14, xmmword [rsp + 0x270]
movaps xmm15, xmmword [rsp + 0x280]
add rsp, 0x298
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret