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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x58
movups xmmword [rsp + 0x10], xmm6
movups xmmword [rsp + 0x20], xmm7
movups xmmword [rsp + 0x30], xmm8
movups xmmword [rsp + 0x40], xmm9
mov rbx, qword [rsp + 0xc0]
mov r10, rcx
mov rax, rdx
test byte [rsp + 0xd0], 3
jne 0x140077419
mov ebp, 0x10
mov edx, 0x10
test r9, r9
je 0x14007743a
mov ecx, dword [rsp + 0xd0]
mov r11, 0xfffffffffffffff0
mov esi, 0x10
and ecx, 4
cmp ecx, 1
sbb r15d, r15d
add r15d, 1
cmp ecx, 1
setb byte [rsp + 7]
test byte [rsp + 0xd0], 8
je 0x140077115
mov rsi, qword [rsp + 0xc8]
neg rdx
neg rbp
lea rcx, [rsi - 0x10]
mov rsi, r11
add r8, rcx
add r9, rcx
add rbx, rcx
test byte [rsp + 0xd0], 0x10
je 0x140077303
cmp qword [rsp + 0xc8], 0x3f
jbe 0x140077303
mov edi, dword [rsp + 0xd0]
mov r13d, eax
lea ecx, [rax - 2]
mov r11, rbx
mov dword [rsp + 0xc], eax
shl r13, 4
shl rcx, 4
mov r12, qword [rsp + 0xc8]
mov qword [rsp + 0xa8], rax
and edi, 1
movdqu xmm7, xmmword [0x14036a4f0]
add r13, r10
movdqu xmm6, xmmword [0x14036a500]
movdqu xmm5, xmmword [0x14036a510]
mov dword [rsp + 8], edi
lea r14, [rbp*4]
movdqu xmm4, xmmword [0x14036a520]
lea rdi, [rbx + rbp*2]
lea rcx, [r10 + rcx + 0x20]
nop dword [rax]
mov eax, dword [rsp + 8]
movdqu xmm1, xmmword [r8]
test eax, eax
je 0x140077478
movdqa xmm2, xmm5
movdqa xmm3, xmm7
paddd xmm2, xmm1
paddd xmm3, xmm1
movdqa xmm0, xmm2
movdqa xmm2, xmm4
movdqa xmm8, xmm3
paddd xmm2, xmm1
movdqa xmm3, xmm6
paddd xmm3, xmm1
movups xmmword [r8], xmm2
test r15b, r15b
je 0x140077214
movdqu xmm2, xmmword [r9]
add r9, rsi
pxor xmm1, xmm2
movdqu xmm2, xmmword [r9]
add r9, rsi
pxor xmm8, xmm2
movdqu xmm2, xmmword [r9]
add r9, rsi
pxor xmm3, xmm2
movdqu xmm2, xmmword [r9]
add r9, rsi
pxor xmm0, xmm2
movdqu xmm2, xmmword [r10]
cmp dword [rsp + 0xc], 1
pxor xmm1, xmm2
pxor xmm8, xmm2
pxor xmm3, xmm2
pxor xmm2, xmm0
jbe 0x14007725a
lea rax, [r10 + 0x10]
nop dword [rax]
movdqu xmm0, xmmword [rax]
add rax, 0x10
aesdec xmm1, xmm0
aesdec xmm8, xmm0
aesdec xmm3, xmm0
aesdec xmm2, xmm0
cmp rcx, rax
jne 0x140077238
movdqu xmm0, xmmword [r13]
cmp byte [rsp + 7], 0
aesdeclast xmm1, xmm0
aesdeclast xmm8, xmm0
aesdeclast xmm3, xmm0
aesdeclast xmm2, xmm0
je 0x140077460
movdqu xmm9, xmmword [r9]
add r9, rsi
pxor xmm9, xmm1
movdqu xmm1, xmmword [r9]
add r9, rsi
pxor xmm8, xmm1
movdqu xmm1, xmmword [r9]
add r9, rsi
movdqu xmm0, xmmword [r9]
movups xmmword [r11], xmm9
add r9, rsi
pxor xmm1, xmm3
movups xmmword [r11 + rbp], xmm8
pxor xmm0, xmm2
movups xmmword [rdi], xmm1
movups xmmword [rdi + rbp], xmm0
sub r12, 0x40
add r11, r14
add rdi, r14
cmp r12, 0x3f
ja 0x1400771a0
mov rdi, qword [rsp + 0xc8]
mov rax, qword [rsp + 0xa8]
and qword [rsp + 0xc8], 0x3f
lea rcx, [rdi - 0x40]
shr rcx, 6
add rcx, 1
imul rcx, rbp
lea rbx, [rbx + rcx*4]
cmp qword [rsp + 0xc8], 0xf
jbe 0x140077498
lea r13d, [rax - 1]
mov r12d, eax
lea r11d, [rax - 3]
mov byte [rsp + 0xc], r15b
mov r14d, dword [rsp + 0xd0]
mov dword [rsp + 8], r13d
shl r12, 4
shl r13, 4
and r11d, 0xfffffffe
mov rdi, qword [rsp + 0xc8]
add r13, r10
add r12, r10
and r14d, 1
add r11d, 4
nop dword [rax]
cmp byte [rsp + 0xc], 0
movdqu xmm0, xmmword [r8]
je 0x14007736d
movdqu xmm4, xmmword [r9]
pxor xmm0, xmm4
test r14d, r14d
je 0x140077377
add byte [r8 + 0xf], 1
cmp dword [rsp + 8], 1
pxor xmm0, xmmword [r10]
jbe 0x1400773af
lea r15, [r10 + 0x10]
mov eax, 2
nop dword [rax]
mov ecx, eax
aesdec xmm0, xmmword [r15]
add eax, 2
add r15, 0x20
shl rcx, 4
aesdec xmm0, xmmword [r10 + rcx]
cmp r11d, eax
jne 0x140077390
aesdec xmm0, xmmword [r13]
cmp byte [rsp + 7], 0
aesdeclast xmm0, xmmword [r12]
je 0x1400773cd
movdqu xmm5, xmmword [r9]
pxor xmm0, xmm5
sub rdi, 0x10
movups xmmword [rbx], xmm0
add r8, rdx
add rbx, rbp
add r9, rsi
cmp rdi, 0xf
ja 0x140077358
mov rax, qword [rsp + 0xc8]
and eax, 0xf
movups xmm6, xmmword [rsp + 0x10]
movups xmm7, xmmword [rsp + 0x20]
movups xmm8, xmmword [rsp + 0x30]
movups xmm9, xmmword [rsp + 0x40]
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
test r9, r9
je 0x140077438
mov ebp, dword [rsp + 0xd0]
xor edx, edx
shr ebp, 1
xor ebp, 1
and ebp, 1
shl rbp, 4
jmp 0x1400770c5
xor edx, edx
mov ebp, dword [rsp + 0xd0]
xor r11d, r11d
xor esi, esi
xor r15d, r15d
mov byte [rsp + 7], 0
shr ebp, 1
xor ebp, 1
and ebp, 1
shl rbp, 4
jmp 0x1400770ed
movups xmmword [r11], xmm1
movups xmmword [r11 + rbp], xmm8
movups xmmword [rdi], xmm3
movups xmmword [rdi + rbp], xmm2
jmp 0x1400772c2
add r8, rdx
movdqu xmm8, xmmword [r8]
add r8, rdx
movdqu xmm3, xmmword [r8]
add r8, rdx
movdqu xmm0, xmmword [r8]
add r8, rdx
jmp 0x1400771de
mov rax, qword [rsp + 0xc8]
jmp 0x1400773f2