Function at 0x44c560
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
xor rbx, qword [0x0053e580]
movabs rdx, 0xa0761d6478bd642f
xor rbx, rdx
test rcx, rcx
je 0x406945
nop dword [rax]
cmp rcx, 4
jb 0x406918
je 0x40690f
cmp rcx, 8
jb 0x4068f2
je 0x4068e8
cmp rcx, 0x10
jbe 0x4068d2
cmp rcx, 0x30
jbe 0x4068ca
mov rdx, rcx
mov rsi, rbx
mov rdi, rsi
jmp 0x406a6b
mov rdx, rcx
jmp 0x4069b0
mov rdx, rax
lea rsi, [rcx + rax]
lea rsi, [rsi - 8]
nop
nop
nop
mov rdx, qword [rdx]
mov rsi, qword [rsi]
jmp 0x406949
nop
nop
mov rsi, qword [rax]
mov rdx, rsi
jmp 0x406949
mov rdx, rax
lea rdi, [rcx + rax]
lea rdi, [rdi - 4]
nop
nop
nop
mov esi, dword [rdx]
mov edx, dword [rdi]
mov rax, rdx
mov rdx, rsi
mov rsi, rax
jmp 0x406949
nop
nop
mov edx, dword [rax]
mov rsi, rdx
jmp 0x406949
movzx edx, byte [rax]
mov rsi, rcx
shr rcx, 1
movzx ecx, byte [rax + rcx]
shl rcx, 8
or rdx, rcx
lea rcx, [rsi + rax]
lea rcx, [rcx - 1]
movzx ecx, byte [rcx]
shl rcx, 0x10
or rdx, rcx
mov rcx, rsi
xor esi, esi
jmp 0x406949
mov rax, rbx
ret
movabs rdi, 0x1d8e4e27c47d124f
xor rdi, rcx
movabs rcx, 0xe7037ed1a0b428db
xor rcx, rdx
xor rsi, rbx
mov rax, rsi
mul rcx
xor rax, rdx
mul rdi
xor rax, rdx
ret
mov rsi, qword [rax]
movabs rdi, 0xe7037ed1a0b428db
xor rsi, rdi
mov r8, qword [rax + 8]
xor r8, rbx
mov rbx, rax
mov rax, r8
mov r8, rdx
mul rsi
add rcx, 0xfffffffffffffff0
nop
nop
nop
xor rax, rdx
lea rsi, [rbx + 0x10]
mov rdx, r8
mov rbx, rax
mov rax, rsi
cmp rcx, 0x10
ja 0x406976
lea rdi, [rcx + rax]
lea rdi, [rdi - 0x10]
lea r8, [rax + rcx]
lea r8, [r8 - 8]
nop
nop
mov rdi, qword [rdi]
mov rsi, qword [r8]
mov rcx, rdx
mov rdx, rdi
jmp 0x406949
mov r8, qword [rax]
movabs r9, 0xe7037ed1a0b428db
xor r8, r9
mov r10, qword [rax + 8]
xor r10, rbx
mov rbx, rax
mov rax, r10
mov r10, rdx
mul r8
mov r8, qword [rbx + 0x10]
movabs r11, 0x8ebc6af09c88c6e3
xor r8, r11
mov r12, qword [rbx + 0x18]
xor r12, rsi
mov rsi, rax
mov rax, r12
mov r12, rdx
mul r8
mov r8, qword [rbx + 0x20]
movabs r13, 0x589965cc75374cc3
xor r8, r13
mov r15, qword [rbx + 0x28]
xor r15, rdi
mov rdi, rax
mov rax, r15
mov r15, rdx
mul r8
add rcx, 0xffffffffffffffd0
nop
nop
nop
xor rsi, r12
nop
nop
xor rdi, r15
nop
nop
xor rax, rdx
lea r8, [rbx + 0x30]
mov rdx, r10
mov rbx, rsi
mov rsi, rdi
mov rdi, rax
mov rax, r8
cmp rcx, 0x30
ja 0x4069d9
xor rsi, rdi
xor rbx, rsi
nop dword [rax + rax]
jmp 0x4069b0
movq xmm0, rbx
pinsrw xmm0, ecx, 4
pshufhw xmm0, xmm0, 0
movdqa xmm1, xmm0
pxor xmm0, xmmword [0x0053e880]
aesenc xmm0, xmm0
cmp rcx, 0x10
jb 0x449812
je 0x449871
cmp rcx, 0x20
jbe 0x449877
cmp rcx, 0x40
jbe 0x4498be
cmp rcx, 0x80
jbe 0x449960
jmp 0x449aec
test rcx, rcx
je 0x449866
add rax, 0x10
test ax, 0xff0
je 0x44984e
movdqu xmm1, xmmword [rax - 0x10]
add rcx, rcx
lea rax, [0x00478fa0]
pand xmm1, xmmword [rax + rcx*8]
pxor xmm1, xmm0
aesenc xmm1, xmm1
aesenc xmm1, xmm1
aesenc xmm1, xmm1
movq rax, xmm1
ret
movdqu xmm1, xmmword [rax + rcx - 0x20]
add rcx, rcx
lea rax, [0x004790a0]
pshufb xmm1, xmmword [rax + rcx*8]
jmp 0x449835
aesenc xmm0, xmm0
movq rax, xmm0
ret
movdqu xmm1, xmmword [rax]
jmp 0x449835
pxor xmm1, xmmword [0x0053e890]
aesenc xmm1, xmm1
movdqu xmm2, xmmword [rax]
movdqu xmm3, xmmword [rax + rcx - 0x10]
pxor xmm2, xmm0
pxor xmm3, xmm1
aesenc xmm2, xmm2
aesenc xmm3, xmm3
aesenc xmm2, xmm2
aesenc xmm3, xmm3
aesenc xmm2, xmm2
aesenc xmm3, xmm3
pxor xmm2, xmm3
movq rax, xmm2
ret
movdqa xmm2, xmm1
movdqa xmm3, xmm1
pxor xmm1, xmmword [0x0053e890]
pxor xmm2, xmmword [0x0053e8a0]
pxor xmm3, xmmword [0x0053e8b0]
aesenc xmm1, xmm1
aesenc xmm2, xmm2
aesenc xmm3, xmm3
movdqu xmm4, xmmword [rax]
movdqu xmm5, xmmword [rax + 0x10]
movdqu xmm6, xmmword [rax + rcx - 0x20]
movdqu xmm7, xmmword [rax + rcx - 0x10]
pxor xmm4, xmm0
pxor xmm5, xmm1
pxor xmm6, xmm2
pxor xmm7, xmm3
aesenc xmm4, xmm4
aesenc xmm5, xmm5
aesenc xmm6, xmm6
aesenc xmm7, xmm7
aesenc xmm4, xmm4
aesenc xmm5, xmm5
aesenc xmm6, xmm6
aesenc xmm7, xmm7
aesenc xmm4, xmm4
aesenc xmm5, xmm5
aesenc xmm6, xmm6
aesenc xmm7, xmm7
pxor xmm4, xmm6
pxor xmm5, xmm7
pxor xmm4, xmm5
movq rax, xmm4
ret
movdqa xmm2, xmm1
movdqa xmm3, xmm1
movdqa xmm4, xmm1
movdqa xmm5, xmm1
movdqa xmm6, xmm1
movdqa xmm7, xmm1
pxor xmm1, xmmword [0x0053e890]
pxor xmm2, xmmword [0x0053e8a0]
pxor xmm3, xmmword [0x0053e8b0]
pxor xmm4, xmmword [0x0053e8c0]
pxor xmm5, xmmword [0x0053e8d0]
pxor xmm6, xmmword [0x0053e8e0]
pxor xmm7, xmmword [0x0053e8f0]
aesenc xmm1, xmm1
aesenc xmm2, xmm2
aesenc xmm3, xmm3
aesenc xmm4, xmm4
aesenc xmm5, xmm5
aesenc xmm6, xmm6
aesenc xmm7, xmm7
movdqu xmm8, xmmword [rax]
movdqu xmm9, xmmword [rax + 0x10]
movdqu xmm10, xmmword [rax + 0x20]
movdqu xmm11, xmmword [rax + 0x30]
movdqu xmm12, xmmword [rax + rcx - 0x40]
movdqu xmm13, xmmword [rax + rcx - 0x30]
movdqu xmm14, xmmword [rax + rcx - 0x20]
movdqu xmm15, xmmword [rax + rcx - 0x10]
pxor xmm8, xmm0
pxor xmm9, xmm1
pxor xmm10, xmm2
pxor xmm11, xmm3
pxor xmm12, xmm4
pxor xmm13, xmm5
pxor xmm14, xmm6
pxor xmm15, xmm7
aesenc xmm8, xmm8
aesenc xmm9, xmm9
aesenc xmm10, xmm10
aesenc xmm11, xmm11
aesenc xmm12, xmm12
aesenc xmm13, xmm13
aesenc xmm14, xmm14
aesenc xmm15, xmm15
aesenc xmm8, xmm8
aesenc xmm9, xmm9
aesenc xmm10, xmm10
aesenc xmm11, xmm11
aesenc xmm12, xmm12
aesenc xmm13, xmm13
aesenc xmm14, xmm14
aesenc xmm15, xmm15
aesenc xmm8, xmm8
aesenc xmm9, xmm9
aesenc xmm10, xmm10
aesenc xmm11, xmm11
aesenc xmm12, xmm12
aesenc xmm13, xmm13
aesenc xmm14, xmm14
aesenc xmm15, xmm15
pxor xmm8, xmm12
pxor xmm9, xmm13
pxor xmm10, xmm14
pxor xmm11, xmm15
pxor xmm8, xmm10
pxor xmm9, xmm11
pxor xmm8, xmm9
pxor xmm15, xmm15
movq rax, xmm8
ret
movdqa xmm2, xmm1
movdqa xmm3, xmm1
movdqa xmm4, xmm1
movdqa xmm5, xmm1
movdqa xmm6, xmm1
movdqa xmm7, xmm1
pxor xmm1, xmmword [0x0053e890]
pxor xmm2, xmmword [0x0053e8a0]
pxor xmm3, xmmword [0x0053e8b0]
pxor xmm4, xmmword [0x0053e8c0]
pxor xmm5, xmmword [0x0053e8d0]
pxor xmm6, xmmword [0x0053e8e0]
pxor xmm7, xmmword [0x0053e8f0]
aesenc xmm1, xmm1
aesenc xmm2, xmm2
aesenc xmm3, xmm3
aesenc xmm4, xmm4
aesenc xmm5, xmm5
aesenc xmm6, xmm6
aesenc xmm7, xmm7
movdqu xmm8, xmmword [rax + rcx - 0x80]
movdqu xmm9, xmmword [rax + rcx - 0x70]
movdqu xmm10, xmmword [rax + rcx - 0x60]
movdqu xmm11, xmmword [rax + rcx - 0x50]
movdqu xmm12, xmmword [rax + rcx - 0x40]
movdqu xmm13, xmmword [rax + rcx - 0x30]
movdqu xmm14, xmmword [rax + rcx - 0x20]
movdqu xmm15, xmmword [rax + rcx - 0x10]
pxor xmm8, xmm0
pxor xmm9, xmm1
pxor xmm10, xmm2
pxor xmm11, xmm3
pxor xmm12, xmm4
pxor xmm13, xmm5
pxor xmm14, xmm6
pxor xmm15, xmm7
dec rcx
shr rcx, 7
nop word [rax + rax]
nop
aesenc xmm8, xmm8
aesenc xmm9, xmm9
aesenc xmm10, xmm10
aesenc xmm11, xmm11
aesenc xmm12, xmm12
aesenc xmm13, xmm13
aesenc xmm14, xmm14
aesenc xmm15, xmm15
movdqu xmm0, xmmword [rax]
movdqu xmm1, xmmword [rax + 0x10]
movdqu xmm2, xmmword [rax + 0x20]
movdqu xmm3, xmmword [rax + 0x30]
aesenc xmm8, xmm0
aesenc xmm9, xmm1
aesenc xmm10, xmm2
aesenc xmm11, xmm3
movdqu xmm4, xmmword [rax + 0x40]
movdqu xmm5, xmmword [rax + 0x50]
movdqu xmm6, xmmword [rax + 0x60]
movdqu xmm7, xmmword [rax + 0x70]
aesenc xmm12, xmm4
aesenc xmm13, xmm5
aesenc xmm14, xmm6
aesenc xmm15, xmm7
add rax, 0x80
dec rcx
jne 0x449bd0
aesenc xmm8, xmm8
aesenc xmm9, xmm9
aesenc xmm10, xmm10
aesenc xmm11, xmm11
aesenc xmm12, xmm12
aesenc xmm13, xmm13
aesenc xmm14, xmm14
aesenc xmm15, xmm15
aesenc xmm8, xmm8
aesenc xmm9, xmm9
aesenc xmm10, xmm10
aesenc xmm11, xmm11
aesenc xmm12, xmm12
aesenc xmm13, xmm13
aesenc xmm14, xmm14
aesenc xmm15, xmm15
aesenc xmm8, xmm8
aesenc xmm9, xmm9
aesenc xmm10, xmm10
aesenc xmm11, xmm11
aesenc xmm12, xmm12
aesenc xmm13, xmm13
aesenc xmm14, xmm14
aesenc xmm15, xmm15
pxor xmm8, xmm12
pxor xmm9, xmm13
pxor xmm10, xmm14
pxor xmm11, xmm15
pxor xmm8, xmm10
pxor xmm9, xmm11
pxor xmm8, xmm9
pxor xmm15, xmm15
movq rax, xmm8
ret
cmp byte [0x0053e348], 0
je 0x44c56e
jmp 0x4497c0
jmp 0x406880