Function at 0x1400156a0
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, 0x138
movdqa xmmword [rsp + 0x120], xmm15
movdqa xmmword [rsp + 0x110], xmm14
movdqa xmmword [rsp + 0x100], xmm13
movdqa xmmword [rsp + 0xf0], xmm12
movdqa xmmword [rsp + 0xe0], xmm11
movdqa xmmword [rsp + 0xd0], xmm10
movdqa xmmword [rsp + 0xc0], xmm9
movdqa xmmword [rsp + 0xb0], xmm8
movdqa xmmword [rsp + 0xa0], xmm7
movdqa xmmword [rsp + 0x90], xmm6
mov r14, qword [rdx + 0x18]
test r14, r14
je 0x140015927
mov r15, qword [rdx]
mov rsi, qword [rdx + 8]
mov r12, qword [rdx + 0x10]
movaps xmm0, xmmword [rcx + 0x1d0]
movaps xmmword [rsp + 0x80], xmm0
movaps xmm0, xmmword [rcx + 0x1c0]
movaps xmmword [rsp + 0x70], xmm0
movaps xmm0, xmmword [rcx + 0x1b0]
movaps xmmword [rsp + 0x60], xmm0
movaps xmm0, xmmword [rcx + 0x1a0]
movaps xmmword [rsp + 0x50], xmm0
movaps xmm0, xmmword [rcx + 0x190]
movaps xmmword [rsp + 0x40], xmm0
movdqa xmm11, xmmword [rcx + 0x180]
movdqa xmm12, xmmword [rcx + 0x170]
movdqa xmm13, xmmword [rcx + 0x160]
movdqa xmm14, xmmword [rcx + 0x150]
movdqa xmm15, xmmword [rcx + 0x140]
movdqa xmm6, xmmword [rcx + 0x130]
movdqa xmm7, xmmword [rcx + 0xf0]
movdqa xmm8, xmmword [rcx + 0x100]
movdqa xmm9, xmmword [rcx + 0x110]
movdqa xmm10, xmmword [rcx + 0x120]
lea rax, [rsp + 0x30]
lea rcx, [r15 + 0x10]
lea rdx, [rsp + 0x40]
lea rdi, [rsp + 0x20]
cmp rdi, rcx
setb cl
cmp r15, rax
setb bpl
and bpl, cl
lea rbx, [rsp + 0x30]
cmp rbx, rax
setb al
cmp rdi, rdx
setb r13b
and r13b, al
jmp 0x140015836
movdqa xmm0, xmmword [rsp + 0x30]
pxor xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x30], xmm0
movaps xmm0, xmmword [rsp + 0x30]
movups xmmword [r15], xmm0
movaps xmm0, xmmword [rsp + 0x20]
movups xmmword [r12], xmm0
add r12, 0x10
add rsi, 0x10
dec r14
je 0x140015927
mov rcx, rdi
mov rdx, rsi
call fcn.1400128d0
mov rcx, rbx
mov rdx, rsi
call fcn.1400128d0
movdqa xmm0, xmmword [rsp + 0x20]
pxor xmm0, xmmword [rsp + 0x80]
aesdec xmm0, xmmword [rsp + 0x70]
aesdec xmm0, xmmword [rsp + 0x60]
aesdec xmm0, xmmword [rsp + 0x50]
aesdec xmm0, xmmword [rsp + 0x40]
aesdec xmm0, xmm11
aesdec xmm0, xmm12
aesdec xmm0, xmm13
aesdec xmm0, xmm14
aesdec xmm0, xmm15
aesdec xmm0, xmm6
aesdec xmm0, xmm10
aesdec xmm0, xmm9
aesdec xmm0, xmm8
aesdeclast xmm0, xmm7
movdqa xmmword [rsp + 0x20], xmm0
test bpl, bpl
je 0x1400158e0
movdqu xmm0, xmmword [r15]
pxor xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm0
test r13b, r13b
jne 0x140015800
jmp 0x1400158fa
mov rax, qword [r15]
xor qword [rsp + 0x20], rax
mov rax, qword [r15 + 8]
xor qword [rsp + 0x28], rax
test r13b, r13b
jne 0x140015800
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x38]
xor rax, qword [rsp + 0x20]
xor rcx, qword [rsp + 0x28]
movq xmm0, rcx
movq xmm1, rax
punpcklqdq xmm1, xmm0
movdqa xmmword [rsp + 0x30], xmm1
jmp 0x140015812
movaps xmm6, xmmword [rsp + 0x90]
movaps xmm7, xmmword [rsp + 0xa0]
movaps xmm8, xmmword [rsp + 0xb0]
movaps xmm9, xmmword [rsp + 0xc0]
movaps xmm10, xmmword [rsp + 0xd0]
movaps xmm11, xmmword [rsp + 0xe0]
movaps xmm12, xmmword [rsp + 0xf0]
movaps xmm13, xmmword [rsp + 0x100]
movaps xmm14, xmmword [rsp + 0x110]
movaps xmm15, xmmword [rsp + 0x120]
add rsp, 0x138
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret