Function at 0x4e05ed
Capabilities:
Decrypt data using aes via x86 extensions
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rdi
mov qword [rsp + 0x10], rsi
mov rax, rsp
mov rdi, rcx
mov rsi, rdx
mov rdx, r8
cmp edx, 2
jb 0x4e0610
mov ecx, dword [0x00640504]
test ecx, 0x10000000
jne 0x4e11f6
jmp 0x4e0610
mov rax, rsp
push rbx
push rbp
push r12
push r13
push r14
push r15
lea rsp, [rsp - 0xa8]
movaps xmmword [rsp], xmm6
movaps xmmword [rsp + 0x10], xmm7
movaps xmmword [rsp + 0x20], xmm8
movaps xmmword [rsp + 0x30], xmm9
movaps xmmword [rsp + 0x40], xmm10
movaps xmmword [rsp + 0x50], xmm11
movaps xmmword [rsp + 0x60], xmm12
movaps xmmword [rax - 0x68], xmm13
movaps xmmword [rax - 0x58], xmm14
movaps xmmword [rax - 0x48], xmm15
sub rsp, 0x30
and rsp, 0xffffffffffffffc0
mov qword [rsp + 0x10], rax
movdqu xmm12, xmmword [rsi]
lea rsi, [rsi + 0x78]
lea rdi, [rdi + 0x50]
mov dword [rsp + 0x18], edx
xor edx, edx
mov ecx, dword [rdi - 0x40]
mov r8, qword [rdi - 0x50]
cmp ecx, edx
mov r12, qword [rdi - 0x48]
cmovg edx, ecx
test ecx, ecx
movdqu xmm6, xmmword [rdi - 0x38]
mov dword [rsp + 0x20], ecx
cmovle r8, rsp
mov ecx, dword [rdi - 0x18]
mov r9, qword [rdi - 0x28]
cmp ecx, edx
mov r13, qword [rdi - 0x20]
cmovg edx, ecx
test ecx, ecx
movdqu xmm7, xmmword [rdi - 0x10]
mov dword [rsp + 0x24], ecx
cmovle r9, rsp
mov ecx, dword [rdi + 0x10]
mov r10, qword [rdi]
cmp ecx, edx
mov r14, qword [rdi + 8]
cmovg edx, ecx
test ecx, ecx
movdqu xmm8, xmmword [rdi + 0x18]
mov dword [rsp + 0x28], ecx
cmovle r10, rsp
mov ecx, dword [rdi + 0x38]
mov r11, qword [rdi + 0x28]
cmp ecx, edx
mov r15, qword [rdi + 0x30]
cmovg edx, ecx
test ecx, ecx
movdqu xmm9, xmmword [rdi + 0x40]
mov dword [rsp + 0x2c], ecx
cmovle r11, rsp
test edx, edx
je 0x4e09c6
movups xmm1, xmmword [rsi - 0x68]
movups xmm0, xmmword [rsi - 0x58]
mov eax, dword [rsi + 0x78]
movdqu xmm2, xmmword [r8]
movdqu xmm3, xmmword [r9]
pxor xmm2, xmm12
movdqu xmm4, xmmword [r10]
pxor xmm3, xmm12
movdqu xmm5, xmmword [r11]
pxor xmm4, xmm12
pxor xmm5, xmm12
movdqa xmm10, xmmword [rsp + 0x20]
xor rbx, rbx
jmp 0x4e0740
add rbx, 0x10
lea rbp, [rsp + 0x10]
mov ecx, 1
sub rbp, rbx
aesdec xmm2, xmm1
prefetcht0 byte [r8 + rbx + 0x1f]
prefetcht0 byte [r9 + rbx + 0x1f]
aesdec xmm3, xmm1
prefetcht0 byte [r10 + rbx + 0x1f]
prefetcht0 byte [r11 + rbx + 0x1f]
aesdec xmm4, xmm1
aesdec xmm5, xmm1
movups xmm1, xmmword [rsi - 0x48]
cmp ecx, dword [rsp + 0x20]
aesdec xmm2, xmm0
aesdec xmm3, xmm0
aesdec xmm4, xmm0
cmovge r8, rbp
cmovg r12, rbp
aesdec xmm5, xmm0
movups xmm0, xmmword [rsi - 0x38]
cmp ecx, dword [rsp + 0x24]
aesdec xmm2, xmm1
aesdec xmm3, xmm1
aesdec xmm4, xmm1
cmovge r9, rbp
cmovg r13, rbp
aesdec xmm5, xmm1
movups xmm1, xmmword [rsi - 0x28]
cmp ecx, dword [rsp + 0x28]
aesdec xmm2, xmm0
aesdec xmm3, xmm0
aesdec xmm4, xmm0
cmovge r10, rbp
cmovg r14, rbp
aesdec xmm5, xmm0
movups xmm0, xmmword [rsi - 0x18]
cmp ecx, dword [rsp + 0x2c]
aesdec xmm2, xmm1
aesdec xmm3, xmm1
aesdec xmm4, xmm1
cmovge r11, rbp
cmovg r15, rbp
aesdec xmm5, xmm1
movups xmm1, xmmword [rsi - 8]
movdqa xmm11, xmm10
aesdec xmm2, xmm0
prefetcht0 byte [r12 + rbx + 0xf]
prefetcht0 byte [r13 + rbx + 0xf]
aesdec xmm3, xmm0
prefetcht0 byte [r14 + rbx + 0xf]
prefetcht0 byte [r15 + rbx + 0xf]
aesdec xmm4, xmm0
aesdec xmm5, xmm0
movups xmm0, xmmword [rsi + 8]
pxor xmm12, xmm12
aesdec xmm2, xmm1
pcmpgtd xmm11, xmm12
movdqu xmm12, xmmword [rsi - 0x78]
aesdec xmm3, xmm1
paddd xmm10, xmm11
movdqa xmmword [rsp + 0x20], xmm10
aesdec xmm4, xmm1
aesdec xmm5, xmm1
movups xmm1, xmmword [rsi + 0x18]
cmp eax, 0xb
aesdec xmm2, xmm0
aesdec xmm3, xmm0
aesdec xmm4, xmm0
aesdec xmm5, xmm0
movups xmm0, xmmword [rsi + 0x28]
jb 0x4e0900
aesdec xmm2, xmm1
aesdec xmm3, xmm1
aesdec xmm4, xmm1
aesdec xmm5, xmm1
movups xmm1, xmmword [rsi + 0x38]
aesdec xmm2, xmm0
aesdec xmm3, xmm0
aesdec xmm4, xmm0
aesdec xmm5, xmm0
movups xmm0, xmmword [rsi + 0x48]
je 0x4e0900
aesdec xmm2, xmm1
aesdec xmm3, xmm1
aesdec xmm4, xmm1
aesdec xmm5, xmm1
movups xmm1, xmmword [rsi + 0x58]
aesdec xmm2, xmm0
aesdec xmm3, xmm0
aesdec xmm4, xmm0
aesdec xmm5, xmm0
movups xmm0, xmmword [rsi + 0x68]
jmp 0x4e0900
aesdec xmm2, xmm1
aesdec xmm3, xmm1
aesdec xmm4, xmm1
pxor xmm6, xmm0
pxor xmm7, xmm0
aesdec xmm5, xmm1
movdqu xmm1, xmmword [rsi - 0x68]
pxor xmm8, xmm0
pxor xmm9, xmm0
movdqu xmm0, xmmword [rsi - 0x58]
aesdeclast xmm2, xmm6
aesdeclast xmm3, xmm7
movdqu xmm6, xmmword [r8 + rbx - 0x10]
movdqu xmm7, xmmword [r9 + rbx - 0x10]
aesdeclast xmm4, xmm8
aesdeclast xmm5, xmm9
movdqu xmm8, xmmword [r10 + rbx - 0x10]
movdqu xmm9, xmmword [r11 + rbx - 0x10]
movups xmmword [r12 + rbx - 0x10], xmm2
movdqu xmm2, xmmword [r8 + rbx]
movups xmmword [r13 + rbx - 0x10], xmm3
movdqu xmm3, xmmword [r9 + rbx]
pxor xmm2, xmm12
movups xmmword [r14 + rbx - 0x10], xmm4
movdqu xmm4, xmmword [r10 + rbx]
pxor xmm3, xmm12
movups xmmword [r15 + rbx - 0x10], xmm5
movdqu xmm5, xmmword [r11 + rbx]
pxor xmm4, xmm12
pxor xmm5, xmm12
dec edx
jne 0x4e0740
mov rax, qword [rsp + 0x10]
mov edx, dword [rsp + 0x18]
lea rdi, [rdi + 0xa0]
dec edx
jne 0x4e0675
movaps xmm6, xmmword [rax - 0xd8]
movaps xmm7, xmmword [rax - 0xc8]
movaps xmm8, xmmword [rax - 0xb8]
movaps xmm9, xmmword [rax - 0xa8]
movaps xmm10, xmmword [rax - 0x98]
movaps xmm11, xmmword [rax - 0x88]
movaps xmm12, xmmword [rax - 0x78]
mov r15, qword [rax - 0x30]
mov r14, qword [rax - 0x28]
mov r13, qword [rax - 0x20]
mov r12, qword [rax - 0x18]
mov rbp, qword [rax - 0x10]
mov rbx, qword [rax - 8]
lea rsp, [rax]
mov rdi, qword [rsp + 8]
mov rsi, qword [rsp + 0x10]
repz ret
mov rax, rsp
push rbx
push rbp
push r12
push r13
push r14
push r15
lea rsp, [rsp - 0xa8]
movaps xmmword [rsp], xmm6
movaps xmmword [rsp + 0x10], xmm7
movaps xmmword [rsp + 0x20], xmm8
movaps xmmword [rsp + 0x30], xmm9
movaps xmmword [rsp + 0x40], xmm10
movaps xmmword [rsp + 0x50], xmm11
movaps xmmword [rax - 0x78], xmm12
movaps xmmword [rax - 0x68], xmm13
movaps xmmword [rax - 0x58], xmm14
movaps xmmword [rax - 0x48], xmm15
sub rsp, 0x100
and rsp, 0xffffffffffffff00
sub rsp, 0xc0
mov qword [rsp + 0x10], rax
vzeroupper
vmovdqu xmm15, xmmword [rsi]
lea rsi, [rsi + 0x78]
lea rdi, [rdi + 0xa0]
shr edx, 1
xor edx, edx
mov ecx, dword [rdi - 0x90]
mov r8, qword [rdi - 0xa0]
cmp ecx, edx
mov rbx, qword [rdi - 0x98]
cmovg edx, ecx
test ecx, ecx
vmovdqu xmm2, xmmword [rdi - 0x88]
mov dword [rsp + 0x20], ecx
cmovle r8, rsp
sub rbx, r8
mov qword [rsp + 0x40], rbx
vmovdqu xmmword [rsp + 0xc0], xmm2
mov ecx, dword [rdi - 0x68]
mov r9, qword [rdi - 0x78]
cmp ecx, edx
mov rbp, qword [rdi - 0x70]
cmovg edx, ecx
test ecx, ecx
vmovdqu xmm3, xmmword [rdi - 0x60]
mov dword [rsp + 0x24], ecx
cmovle r9, rsp
sub rbp, r9
mov qword [rsp + 0x48], rbp
vmovdqu xmmword [rsp + 0xd0], xmm3
mov ecx, dword [rdi - 0x40]
mov r10, qword [rdi - 0x50]
cmp ecx, edx
mov rbp, qword [rdi - 0x48]
cmovg edx, ecx
test ecx, ecx
vmovdqu xmm4, xmmword [rdi - 0x38]
mov dword [rsp + 0x28], ecx
cmovle r10, rsp
sub rbp, r10
mov qword [rsp + 0x50], rbp
vmovdqu xmmword [rsp + 0xe0], xmm4
mov ecx, dword [rdi - 0x18]
mov r11, qword [rdi - 0x28]
cmp ecx, edx
mov rbp, qword [rdi - 0x20]
cmovg edx, ecx
test ecx, ecx
vmovdqu xmm5, xmmword [rdi - 0x10]
mov dword [rsp + 0x2c], ecx
cmovle r11, rsp
sub rbp, r11
mov qword [rsp + 0x58], rbp
vmovdqu xmmword [rsp + 0xf0], xmm5
mov ecx, dword [rdi + 0x10]
mov r12, qword [rdi]
cmp ecx, edx
mov rbp, qword [rdi + 8]
cmovg edx, ecx
test ecx, ecx
vmovdqu xmm6, xmmword [rdi + 0x18]
mov dword [rsp + 0x30], ecx
cmovle r12, rsp
sub rbp, r12
mov qword [rsp + 0x60], rbp
vmovdqu xmmword [rsp + 0x100], xmm6
mov ecx, dword [rdi + 0x38]
mov r13, qword [rdi + 0x28]
cmp ecx, edx
mov rbp, qword [rdi + 0x30]
cmovg edx, ecx
test ecx, ecx
vmovdqu xmm7, xmmword [rdi + 0x40]
mov dword [rsp + 0x34], ecx
cmovle r13, rsp
sub rbp, r13
mov qword [rsp + 0x68], rbp
vmovdqu xmmword [rsp + 0x110], xmm7
mov ecx, dword [rdi + 0x60]
mov r14, qword [rdi + 0x50]
cmp ecx, edx
mov rbp, qword [rdi + 0x58]
cmovg edx, ecx
test ecx, ecx
vmovdqu xmm8, xmmword [rdi + 0x68]
mov dword [rsp + 0x38], ecx
cmovle r14, rsp
sub rbp, r14
mov qword [rsp + 0x70], rbp
vmovdqu xmmword [rsp + 0x120], xmm8
mov ecx, dword [rdi + 0x88]
mov r15, qword [rdi + 0x78]
cmp ecx, edx
mov rbp, qword [rdi + 0x80]
cmovg edx, ecx
test ecx, ecx
vmovdqu xmm9, xmmword [rdi + 0x90]
mov dword [rsp + 0x3c], ecx
cmovle r15, rsp
sub rbp, r15
mov qword [rsp + 0x78], rbp
vmovdqu xmmword [rsp + 0x130], xmm9
test edx, edx
je 0x4e1a3a
vmovups xmm1, xmmword [rsi - 0x68]
vmovups xmm0, xmmword [rsi - 0x58]
mov eax, dword [rsi + 0x78]
lea rbp, [rsp + 0x140]
vmovdqu xmm2, xmmword [r8]
vmovdqu xmm3, xmmword [r9]
vmovdqu xmm4, xmmword [r10]
vmovdqu xmm5, xmmword [r11]
vmovdqu xmm6, xmmword [r12]
vmovdqu xmm7, xmmword [r13]
vmovdqu xmm8, xmmword [r14]
vmovdqu xmm9, xmmword [r15]
vmovdqu xmmword [rbp], xmm2
vpxor xmm2, xmm2, xmm15
vmovdqu xmmword [rbp + 0x10], xmm3
vpxor xmm3, xmm3, xmm15
vmovdqu xmmword [rbp + 0x20], xmm4
vpxor xmm4, xmm4, xmm15
vmovdqu xmmword [rbp + 0x30], xmm5
vpxor xmm5, xmm5, xmm15
vmovdqu xmmword [rbp + 0x40], xmm6
vpxor xmm6, xmm6, xmm15
vmovdqu xmmword [rbp + 0x50], xmm7
vpxor xmm7, xmm7, xmm15
vmovdqu xmmword [rbp + 0x60], xmm8
vpxor xmm8, xmm8, xmm15
vmovdqu xmmword [rbp + 0x70], xmm9
vpxor xmm9, xmm9, xmm15
xor rbp, 0x80
mov ecx, 1
jmp 0x4e14c0
vaesdec xmm2, xmm2, xmm1
cmp ecx, dword [rsp + 0x20]
vaesdec xmm3, xmm3, xmm1
prefetcht0 byte [r8 + 0x1f]
vaesdec xmm4, xmm4, xmm1
vaesdec xmm5, xmm5, xmm1
lea rbx, [r8 + rbx]
cmovge r8, rsp
vaesdec xmm6, xmm6, xmm1
cmovg rbx, rsp
vaesdec xmm7, xmm7, xmm1
sub rbx, r8
vaesdec xmm8, xmm8, xmm1
vmovdqu xmm10, xmmword [r8 + 0x10]
mov qword [rsp + 0x40], rbx
vaesdec xmm9, xmm9, xmm1
vmovups xmm1, xmmword [rsi - 0x48]
lea r8, [r8 + rbx + 0x10]
vmovdqu xmmword [rsp + 0x80], xmm10
vaesdec xmm2, xmm2, xmm0
cmp ecx, dword [rsp + 0x24]
mov rbx, qword [rsp + 0x48]
vaesdec xmm3, xmm3, xmm0
prefetcht0 byte [r9 + 0x1f]
vaesdec xmm4, xmm4, xmm0
vaesdec xmm5, xmm5, xmm0
lea rbx, [r9 + rbx]
cmovge r9, rsp
vaesdec xmm6, xmm6, xmm0
cmovg rbx, rsp
vaesdec xmm7, xmm7, xmm0
sub rbx, r9
vaesdec xmm8, xmm8, xmm0
vmovdqu xmm11, xmmword [r9 + 0x10]
mov qword [rsp + 0x48], rbx
vaesdec xmm9, xmm9, xmm0
vmovups xmm0, xmmword [rsi - 0x38]
lea r9, [r9 + rbx + 0x10]
vmovdqu xmmword [rsp + 0x90], xmm11
vaesdec xmm2, xmm2, xmm1
cmp ecx, dword [rsp + 0x28]
mov rbx, qword [rsp + 0x50]
vaesdec xmm3, xmm3, xmm1
prefetcht0 byte [r10 + 0x1f]
vaesdec xmm4, xmm4, xmm1
prefetcht0 byte [r8 + 0xf]
vaesdec xmm5, xmm5, xmm1
lea rbx, [r10 + rbx]
cmovge r10, rsp
vaesdec xmm6, xmm6, xmm1
cmovg rbx, rsp
vaesdec xmm7, xmm7, xmm1
sub rbx, r10
vaesdec xmm8, xmm8, xmm1
vmovdqu xmm12, xmmword [r10 + 0x10]
mov qword [rsp + 0x50], rbx
vaesdec xmm9, xmm9, xmm1
vmovups xmm1, xmmword [rsi - 0x28]
lea r10, [r10 + rbx + 0x10]
vmovdqu xmmword [rsp + 0xa0], xmm12
vaesdec xmm2, xmm2, xmm0
cmp ecx, dword [rsp + 0x2c]
mov rbx, qword [rsp + 0x58]
vaesdec xmm3, xmm3, xmm0
prefetcht0 byte [r11 + 0x1f]
vaesdec xmm4, xmm4, xmm0
prefetcht0 byte [r9 + 0xf]
vaesdec xmm5, xmm5, xmm0
lea rbx, [r11 + rbx]
cmovge r11, rsp
vaesdec xmm6, xmm6, xmm0
cmovg rbx, rsp
vaesdec xmm7, xmm7, xmm0
sub rbx, r11
vaesdec xmm8, xmm8, xmm0
vmovdqu xmm13, xmmword [r11 + 0x10]
mov qword [rsp + 0x58], rbx
vaesdec xmm9, xmm9, xmm0
vmovups xmm0, xmmword [rsi - 0x18]
lea r11, [r11 + rbx + 0x10]
vmovdqu xmmword [rsp + 0xb0], xmm13
vaesdec xmm2, xmm2, xmm1
cmp ecx, dword [rsp + 0x30]
mov rbx, qword [rsp + 0x60]
vaesdec xmm3, xmm3, xmm1
prefetcht0 byte [r12 + 0x1f]
vaesdec xmm4, xmm4, xmm1
prefetcht0 byte [r10 + 0xf]
vaesdec xmm5, xmm5, xmm1
lea rbx, [r12 + rbx]
cmovge r12, rsp
vaesdec xmm6, xmm6, xmm1
cmovg rbx, rsp
vaesdec xmm7, xmm7, xmm1
sub rbx, r12
vaesdec xmm8, xmm8, xmm1
vmovdqu xmm10, xmmword [r12 + 0x10]
mov qword [rsp + 0x60], rbx
vaesdec xmm9, xmm9, xmm1
vmovups xmm1, xmmword [rsi - 8]
lea r12, [r12 + rbx + 0x10]
vaesdec xmm2, xmm2, xmm0
cmp ecx, dword [rsp + 0x34]
mov rbx, qword [rsp + 0x68]
vaesdec xmm3, xmm3, xmm0
prefetcht0 byte [r13 + 0x1f]
vaesdec xmm4, xmm4, xmm0
prefetcht0 byte [r11 + 0xf]
vaesdec xmm5, xmm5, xmm0
lea rbx, [rbx + r13]
cmovge r13, rsp
vaesdec xmm6, xmm6, xmm0
cmovg rbx, rsp
vaesdec xmm7, xmm7, xmm0
sub rbx, r13
vaesdec xmm8, xmm8, xmm0
vmovdqu xmm11, xmmword [r13 + 0x10]
mov qword [rsp + 0x68], rbx
vaesdec xmm9, xmm9, xmm0
vmovups xmm0, xmmword [rsi + 8]
lea r13, [r13 + rbx + 0x10]
vaesdec xmm2, xmm2, xmm1
cmp ecx, dword [rsp + 0x38]
mov rbx, qword [rsp + 0x70]
vaesdec xmm3, xmm3, xmm1
prefetcht0 byte [r14 + 0x1f]
vaesdec xmm4, xmm4, xmm1
prefetcht0 byte [r12 + 0xf]
vaesdec xmm5, xmm5, xmm1
lea rbx, [r14 + rbx]
cmovge r14, rsp
vaesdec xmm6, xmm6, xmm1
cmovg rbx, rsp
vaesdec xmm7, xmm7, xmm1
sub rbx, r14
vaesdec xmm8, xmm8, xmm1
vmovdqu xmm12, xmmword [r14 + 0x10]
mov qword [rsp + 0x70], rbx
vaesdec xmm9, xmm9, xmm1
vmovups xmm1, xmmword [rsi + 0x18]
lea r14, [r14 + rbx + 0x10]
vaesdec xmm2, xmm2, xmm0
cmp ecx, dword [rsp + 0x3c]
mov rbx, qword [rsp + 0x78]
vaesdec xmm3, xmm3, xmm0
prefetcht0 byte [r15 + 0x1f]
vaesdec xmm4, xmm4, xmm0
prefetcht0 byte [r13 + 0xf]
vaesdec xmm5, xmm5, xmm0
lea rbx, [r15 + rbx]
cmovge r15, rsp
vaesdec xmm6, xmm6, xmm0
cmovg rbx, rsp
vaesdec xmm7, xmm7, xmm0
sub rbx, r15
vaesdec xmm8, xmm8, xmm0
vmovdqu xmm13, xmmword [r15 + 0x10]
mov qword [rsp + 0x78], rbx
vaesdec xmm9, xmm9, xmm0
vmovups xmm0, xmmword [rsi + 0x28]
lea r15, [r15 + rbx + 0x10]
vmovdqu xmm14, xmmword [rsp + 0x20]
prefetcht0 byte [r14 + 0xf]
prefetcht0 byte [r15 + 0xf]
cmp eax, 0xb
jb 0x4e189f
vaesdec xmm2, xmm2, xmm1
vaesdec xmm3, xmm3, xmm1
vaesdec xmm4, xmm4, xmm1
vaesdec xmm5, xmm5, xmm1
vaesdec xmm6, xmm6, xmm1
vaesdec xmm7, xmm7, xmm1
vaesdec xmm8, xmm8, xmm1
vaesdec xmm9, xmm9, xmm1
vmovups xmm1, xmmword [rsi + 0x38]
vaesdec xmm2, xmm2, xmm0
vaesdec xmm3, xmm3, xmm0
vaesdec xmm4, xmm4, xmm0
vaesdec xmm5, xmm5, xmm0
vaesdec xmm6, xmm6, xmm0
vaesdec xmm7, xmm7, xmm0
vaesdec xmm8, xmm8, xmm0
vaesdec xmm9, xmm9, xmm0
vmovups xmm0, xmmword [rsi + 0x48]
je 0x4e189f
vaesdec xmm2, xmm2, xmm1
vaesdec xmm3, xmm3, xmm1
vaesdec xmm4, xmm4, xmm1
vaesdec xmm5, xmm5, xmm1
vaesdec xmm6, xmm6, xmm1
vaesdec xmm7, xmm7, xmm1
vaesdec xmm8, xmm8, xmm1
vaesdec xmm9, xmm9, xmm1
vmovups xmm1, xmmword [rsi + 0x58]
vaesdec xmm2, xmm2, xmm0
vaesdec xmm3, xmm3, xmm0
vaesdec xmm4, xmm4, xmm0
vaesdec xmm5, xmm5, xmm0
vaesdec xmm6, xmm6, xmm0
vaesdec xmm7, xmm7, xmm0
vaesdec xmm8, xmm8, xmm0
vaesdec xmm9, xmm9, xmm0
vmovups xmm0, xmmword [rsi + 0x68]
vaesdec xmm2, xmm2, xmm1
vpxor xmm15, xmm15, xmm15
vaesdec xmm3, xmm3, xmm1
vaesdec xmm4, xmm4, xmm1
vpcmpgtd xmm15, xmm14, xmm15
vaesdec xmm5, xmm5, xmm1
vaesdec xmm6, xmm6, xmm1
vpaddd xmm15, xmm15, xmm14
vmovdqu xmm14, xmmword [rsp + 0x30]
vaesdec xmm7, xmm7, xmm1
mov rbx, qword [rsp + 0x40]
vaesdec xmm8, xmm8, xmm1
vaesdec xmm9, xmm9, xmm1
vmovups xmm1, xmmword [rsi - 0x68]
vaesdeclast xmm2, xmm2, xmm0
vmovdqa xmmword [rsp + 0x20], xmm15
vpxor xmm15, xmm15, xmm15
vaesdeclast xmm3, xmm3, xmm0
vpxor xmm2, xmm2, xmmword [rbp]
vaesdeclast xmm4, xmm4, xmm0
vpxor xmm3, xmm3, xmmword [rbp + 0x10]
vpcmpgtd xmm15, xmm14, xmm15
vaesdeclast xmm5, xmm5, xmm0
vpxor xmm4, xmm4, xmmword [rbp + 0x20]
vaesdeclast xmm6, xmm6, xmm0
vpxor xmm5, xmm5, xmmword [rbp + 0x30]
vpaddd xmm14, xmm14, xmm15
vmovdqu xmm15, xmmword [rsi - 0x78]
vaesdeclast xmm7, xmm7, xmm0
vpxor xmm6, xmm6, xmmword [rbp + 0x40]
vaesdeclast xmm8, xmm8, xmm0
vpxor xmm7, xmm7, xmmword [rbp + 0x50]
vmovdqa xmmword [rsp + 0x30], xmm14
vaesdeclast xmm9, xmm9, xmm0
vpxor xmm8, xmm8, xmmword [rbp + 0x60]
vmovups xmm0, xmmword [rsi - 0x58]
vmovups xmmword [r8 - 0x10], xmm2
sub r8, rbx
vmovdqu xmm2, xmmword [rsp + 0x80]
vpxor xmm9, xmm9, xmmword [rbp + 0x70]
vmovups xmmword [r9 - 0x10], xmm3
sub r9, qword [rsp + 0x48]
vmovdqu xmmword [rbp], xmm2
vpxor xmm2, xmm2, xmm15
vmovdqu xmm3, xmmword [rsp + 0x90]
vmovups xmmword [r10 - 0x10], xmm4
sub r10, qword [rsp + 0x50]
vmovdqu xmmword [rbp + 0x10], xmm3
vpxor xmm3, xmm3, xmm15
vmovdqu xmm4, xmmword [rsp + 0xa0]
vmovups xmmword [r11 - 0x10], xmm5
sub r11, qword [rsp + 0x58]
vmovdqu xmmword [rbp + 0x20], xmm4
vpxor xmm4, xmm4, xmm15
vmovdqu xmm5, xmmword [rsp + 0xb0]
vmovups xmmword [r12 - 0x10], xmm6
sub r12, qword [rsp + 0x60]
vmovdqu xmmword [rbp + 0x30], xmm5
vpxor xmm5, xmm5, xmm15
vmovdqu xmmword [rbp + 0x40], xmm10
vpxor xmm6, xmm15, xmm10
vmovups xmmword [r13 - 0x10], xmm7
sub r13, qword [rsp + 0x68]
vmovdqu xmmword [rbp + 0x50], xmm11
vpxor xmm7, xmm15, xmm11
vmovups xmmword [r14 - 0x10], xmm8
sub r14, qword [rsp + 0x70]
vmovdqu xmmword [rbp + 0x60], xmm12
vpxor xmm8, xmm15, xmm12
vmovups xmmword [r15 - 0x10], xmm9
sub r15, qword [rsp + 0x78]
vmovdqu xmmword [rbp + 0x70], xmm13
vpxor xmm9, xmm15, xmm13
xor rbp, 0x80
dec edx
jne 0x4e14c0
mov rax, qword [rsp + 0x10]
vzeroupper
movaps xmm6, xmmword [rax - 0xd8]
movaps xmm7, xmmword [rax - 0xc8]
movaps xmm8, xmmword [rax - 0xb8]
movaps xmm9, xmmword [rax - 0xa8]
movaps xmm10, xmmword [rax - 0x98]
movaps xmm11, xmmword [rax - 0x88]
movaps xmm12, xmmword [rax - 0x78]
movaps xmm13, xmmword [rax - 0x68]
movaps xmm14, xmmword [rax - 0x58]
movaps xmm15, xmmword [rax - 0x48]
mov r15, qword [rax - 0x30]
mov r14, qword [rax - 0x28]
mov r13, qword [rax - 0x20]
mov r12, qword [rax - 0x18]
mov rbp, qword [rax - 0x10]
mov rbx, qword [rax - 8]
lea rsp, [rax]
mov rdi, qword [rsp + 8]
mov rsi, qword [rsp + 0x10]
repz ret