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

Disassembly:
push r10
mov r10d, dword [rsp + 0x38]
movdqu xmm4, xmmword [rcx]
xor rax, rax
cmp dword [rsp + 0x30], 0xe
je 0x140001990
cmp dword [rsp + 0x30], 0xa
je 0x140001450
cmp dword [rsp + 0x30], 0xc
je 0x1400016d0
jmp 0x140001ca6
cmp r10d, 4
jl 0x140001610
paddq xmm4, xmmword [0x140276e30]
movdqa xmm0, xmm4
movdqa xmm1, xmm4
paddq xmm1, xmmword [0x140276e30]
movdqa xmm2, xmm1
paddq xmm2, xmmword [0x140276e30]
movdqa xmm3, xmm2
paddq xmm3, xmmword [0x140276e30]
movdqa xmm4, xmm3
movdqu xmm5, xmmword [r9]
pxor xmm0, xmm5
pxor xmm1, xmm5
pxor xmm2, xmm5
pxor xmm3, xmm5
movdqu xmm5, xmmword [r9 + 0x10]
aesenc xmm0, xmm5
aesenc xmm1, xmm5
aesenc xmm2, xmm5
aesenc xmm3, xmm5
movdqu xmm5, xmmword [r9 + 0x20]
aesenc xmm0, xmm5
aesenc xmm1, xmm5
aesenc xmm2, xmm5
aesenc xmm3, xmm5
movdqu xmm5, xmmword [r9 + 0x30]
aesenc xmm0, xmm5
aesenc xmm1, xmm5
aesenc xmm2, xmm5
aesenc xmm3, xmm5
movdqu xmm5, xmmword [r9 + 0x40]
aesenc xmm0, xmm5
aesenc xmm1, xmm5
aesenc xmm2, xmm5
aesenc xmm3, xmm5
movdqu xmm5, xmmword [r9 + 0x50]
aesenc xmm0, xmm5
aesenc xmm1, xmm5
aesenc xmm2, xmm5
aesenc xmm3, xmm5
movdqu xmm5, xmmword [r9 + 0x60]
aesenc xmm0, xmm5
aesenc xmm1, xmm5
aesenc xmm2, xmm5
aesenc xmm3, xmm5
movdqu xmm5, xmmword [r9 + 0x70]
aesenc xmm0, xmm5
aesenc xmm1, xmm5
aesenc xmm2, xmm5
aesenc xmm3, xmm5
movdqu xmm5, xmmword [r9 + 0x80]
aesenc xmm0, xmm5
aesenc xmm1, xmm5
aesenc xmm2, xmm5
aesenc xmm3, xmm5
movdqu xmm5, xmmword [r9 + 0x90]
aesenc xmm0, xmm5
aesenc xmm1, xmm5
aesenc xmm2, xmm5
aesenc xmm3, xmm5
movdqu xmm5, xmmword [r9 + 0xa0]
aesenclast xmm0, xmm5
aesenclast xmm1, xmm5
aesenclast xmm2, xmm5
aesenclast xmm3, xmm5
movdqu xmm5, xmmword [r8 + rax]
pxor xmm5, xmm0
movdqu xmmword [r8 + rax], xmm5
movdqu xmm5, xmmword [r8 + rax + 0x10]
pxor xmm5, xmm1
movdqu xmmword [r8 + rax + 0x10], xmm5
movdqu xmm5, xmmword [r8 + rax + 0x20]
pxor xmm5, xmm2
movdqu xmmword [r8 + rax + 0x20], xmm5
movdqu xmm5, xmmword [r8 + rax + 0x30]
pxor xmm5, xmm3
movdqu xmmword [r8 + rax + 0x30], xmm5
add rax, 0x40
sub r10d, 4
jmp 0x140001450
paddq xmm4, xmmword [0x140276e30]
movdqa xmm0, xmm4
movdqu xmm5, xmmword [r9]
pxor xmm0, xmm5
movdqu xmm5, xmmword [r9 + 0x10]
aesenc xmm0, xmm5
movdqu xmm5, xmmword [r9 + 0x20]
aesenc xmm0, xmm5
movdqu xmm5, xmmword [r9 + 0x30]
aesenc xmm0, xmm5
movdqu xmm5, xmmword [r9 + 0x40]
aesenc xmm0, xmm5
movdqu xmm5, xmmword [r9 + 0x50]
aesenc xmm0, xmm5
movdqu xmm5, xmmword [r9 + 0x60]
aesenc xmm0, xmm5
movdqu xmm5, xmmword [r9 + 0x70]
aesenc xmm0, xmm5
movdqu xmm5, xmmword [r9 + 0x80]
aesenc xmm0, xmm5
movdqu xmm5, xmmword [r9 + 0x90]
aesenc xmm0, xmm5
movdqu xmm5, xmmword [r9 + 0xa0]
aesenclast xmm0, xmm5
cmp r10d, 0
je 0x140001ca6
movdqu xmm5, xmmword [r8 + rax]
pxor xmm5, xmm0
movdqu xmmword [r8 + rax], xmm5
add rax, 0x10
dec r10d
jmp 0x140001610
cmp r10d, 4
jl 0x1400018c0
paddq xmm4, xmmword [0x140276e30]
movdqa xmm0, xmm4
movdqa xmm1, xmm4
paddq xmm1, xmmword [0x140276e30]
movdqa xmm2, xmm1
paddq xmm2, xmmword [0x140276e30]
movdqa xmm3, xmm2
paddq xmm3, xmmword [0x140276e30]
movdqa xmm4, xmm3
movdqu xmm5, xmmword [r9]
pxor xmm0, xmm5
pxor xmm1, xmm5
pxor xmm2, xmm5
pxor xmm3, xmm5
movdqu xmm5, xmmword [r9 + 0x10]
aesenc xmm0, xmm5
aesenc xmm1, xmm5
aesenc xmm2, xmm5
aesenc xmm3, xmm5
movdqu xmm5, xmmword [r9 + 0x20]
aesenc xmm0, xmm5
aesenc xmm1, xmm5
aesenc xmm2, xmm5
aesenc xmm3, xmm5
movdqu xmm5, xmmword [r9 + 0x30]
aesenc xmm0, xmm5
aesenc xmm1, xmm5
aesenc xmm2, xmm5
aesenc xmm3, xmm5
movdqu xmm5, xmmword [r9 + 0x40]
aesenc xmm0, xmm5
aesenc xmm1, xmm5
aesenc xmm2, xmm5
aesenc xmm3, xmm5
movdqu xmm5, xmmword [r9 + 0x50]
aesenc xmm0, xmm5
aesenc xmm1, xmm5
aesenc xmm2, xmm5
aesenc xmm3, xmm5
movdqu xmm5, xmmword [r9 + 0x60]
aesenc xmm0, xmm5
aesenc xmm1, xmm5
aesenc xmm2, xmm5
aesenc xmm3, xmm5
movdqu xmm5, xmmword [r9 + 0x70]
aesenc xmm0, xmm5
aesenc xmm1, xmm5
aesenc xmm2, xmm5
aesenc xmm3, xmm5
movdqu xmm5, xmmword [r9 + 0x80]
aesenc xmm0, xmm5
aesenc xmm1, xmm5
aesenc xmm2, xmm5
aesenc xmm3, xmm5
movdqu xmm5, xmmword [r9 + 0x90]
aesenc xmm0, xmm5
aesenc xmm1, xmm5
aesenc xmm2, xmm5
aesenc xmm3, xmm5
movdqu xmm5, xmmword [r9 + 0xa0]
aesenc xmm0, xmm5
aesenc xmm1, xmm5
aesenc xmm2, xmm5
aesenc xmm3, xmm5
movdqu xmm5, xmmword [r9 + 0xb0]
aesenc xmm0, xmm5
aesenc xmm1, xmm5
aesenc xmm2, xmm5
aesenc xmm3, xmm5
movdqu xmm5, xmmword [r9 + 0xc0]
aesenclast xmm0, xmm5
aesenclast xmm1, xmm5
aesenclast xmm2, xmm5
aesenclast xmm3, xmm5
movdqu xmm5, xmmword [r8 + rax]
pxor xmm5, xmm0
movdqu xmmword [r8 + rax], xmm5
movdqu xmm5, xmmword [r8 + rax + 0x10]
pxor xmm5, xmm1
movdqu xmmword [r8 + rax + 0x10], xmm5
movdqu xmm5, xmmword [r8 + rax + 0x20]
pxor xmm5, xmm2
movdqu xmmword [r8 + rax + 0x20], xmm5
movdqu xmm5, xmmword [r8 + rax + 0x30]
pxor xmm5, xmm3
movdqu xmmword [r8 + rax + 0x30], xmm5
add rax, 0x40
sub r10d, 4
jmp 0x1400016d0
paddq xmm4, xmmword [0x140276e30]
movdqa xmm0, xmm4
movdqu xmm5, xmmword [r9]
pxor xmm0, xmm5
movdqu xmm5, xmmword [r9 + 0x10]
aesenc xmm0, xmm5
movdqu xmm5, xmmword [r9 + 0x20]
aesenc xmm0, xmm5
movdqu xmm5, xmmword [r9 + 0x30]
aesenc xmm0, xmm5
movdqu xmm5, xmmword [r9 + 0x40]
aesenc xmm0, xmm5
movdqu xmm5, xmmword [r9 + 0x50]
aesenc xmm0, xmm5
movdqu xmm5, xmmword [r9 + 0x60]
aesenc xmm0, xmm5
movdqu xmm5, xmmword [r9 + 0x70]
aesenc xmm0, xmm5
movdqu xmm5, xmmword [r9 + 0x80]
aesenc xmm0, xmm5
movdqu xmm5, xmmword [r9 + 0x90]
aesenc xmm0, xmm5
movdqu xmm5, xmmword [r9 + 0xa0]
aesenc xmm0, xmm5
movdqu xmm5, xmmword [r9 + 0xb0]
aesenc xmm0, xmm5
movdqu xmm5, xmmword [r9 + 0xc0]
aesenclast xmm0, xmm5
cmp r10d, 0
je 0x140001ca6
movdqu xmm5, xmmword [r8 + rax]
pxor xmm5, xmm0
movdqu xmmword [r8 + rax], xmm5
add rax, 0x10
dec r10d
jmp 0x1400018c0
cmp r10d, 4
jl 0x140001bc0
paddq xmm4, xmmword [0x140276e30]
movdqa xmm0, xmm4
movdqa xmm1, xmm4
paddq xmm1, xmmword [0x140276e30]
movdqa xmm2, xmm1
paddq xmm2, xmmword [0x140276e30]
movdqa xmm3, xmm2
paddq xmm3, xmmword [0x140276e30]
movdqa xmm4, xmm3
movdqu xmm5, xmmword [r9]
pxor xmm0, xmm5
pxor xmm1, xmm5
pxor xmm2, xmm5
pxor xmm3, xmm5
movdqu xmm5, xmmword [r9 + 0x10]
aesenc xmm0, xmm5
aesenc xmm1, xmm5
aesenc xmm2, xmm5
aesenc xmm3, xmm5
movdqu xmm5, xmmword [r9 + 0x20]
aesenc xmm0, xmm5
aesenc xmm1, xmm5
aesenc xmm2, xmm5
aesenc xmm3, xmm5
movdqu xmm5, xmmword [r9 + 0x30]
aesenc xmm0, xmm5
aesenc xmm1, xmm5
aesenc xmm2, xmm5
aesenc xmm3, xmm5
movdqu xmm5, xmmword [r9 + 0x40]
aesenc xmm0, xmm5
aesenc xmm1, xmm5
aesenc xmm2, xmm5
aesenc xmm3, xmm5
movdqu xmm5, xmmword [r9 + 0x50]
aesenc xmm0, xmm5
aesenc xmm1, xmm5
aesenc xmm2, xmm5
aesenc xmm3, xmm5
movdqu xmm5, xmmword [r9 + 0x60]
aesenc xmm0, xmm5
aesenc xmm1, xmm5
aesenc xmm2, xmm5
aesenc xmm3, xmm5
movdqu xmm5, xmmword [r9 + 0x70]
aesenc xmm0, xmm5
aesenc xmm1, xmm5
aesenc xmm2, xmm5
aesenc xmm3, xmm5
movdqu xmm5, xmmword [r9 + 0x80]
aesenc xmm0, xmm5
aesenc xmm1, xmm5
aesenc xmm2, xmm5
aesenc xmm3, xmm5
movdqu xmm5, xmmword [r9 + 0x90]
aesenc xmm0, xmm5
aesenc xmm1, xmm5
aesenc xmm2, xmm5
aesenc xmm3, xmm5
movdqu xmm5, xmmword [r9 + 0xa0]
aesenc xmm0, xmm5
aesenc xmm1, xmm5
aesenc xmm2, xmm5
aesenc xmm3, xmm5
movdqu xmm5, xmmword [r9 + 0xb0]
aesenc xmm0, xmm5
aesenc xmm1, xmm5
aesenc xmm2, xmm5
aesenc xmm3, xmm5
movdqu xmm5, xmmword [r9 + 0xc0]
aesenc xmm0, xmm5
aesenc xmm1, xmm5
aesenc xmm2, xmm5
aesenc xmm3, xmm5
movdqu xmm5, xmmword [r9 + 0xd0]
aesenc xmm0, xmm5
aesenc xmm1, xmm5
aesenc xmm2, xmm5
aesenc xmm3, xmm5
movdqu xmm5, xmmword [r9 + 0xe0]
aesenclast xmm0, xmm5
aesenclast xmm1, xmm5
aesenclast xmm2, xmm5
aesenclast xmm3, xmm5
movdqu xmm5, xmmword [r8 + rax]
pxor xmm5, xmm0
movdqu xmmword [r8 + rax], xmm5
movdqu xmm5, xmmword [r8 + rax + 0x10]
pxor xmm5, xmm1
movdqu xmmword [r8 + rax + 0x10], xmm5
movdqu xmm5, xmmword [r8 + rax + 0x20]
pxor xmm5, xmm2
movdqu xmmword [r8 + rax + 0x20], xmm5
movdqu xmm5, xmmword [r8 + rax + 0x30]
pxor xmm5, xmm3
movdqu xmmword [r8 + rax + 0x30], xmm5
add rax, 0x40
sub r10d, 4
jmp 0x140001990
paddq xmm4, xmmword [0x140276e30]
movdqa xmm0, xmm4
movdqu xmm5, xmmword [r9]
pxor xmm0, xmm5
movdqu xmm5, xmmword [r9 + 0x10]
aesenc xmm0, xmm5
movdqu xmm5, xmmword [r9 + 0x20]
aesenc xmm0, xmm5
movdqu xmm5, xmmword [r9 + 0x30]
aesenc xmm0, xmm5
movdqu xmm5, xmmword [r9 + 0x40]
aesenc xmm0, xmm5
movdqu xmm5, xmmword [r9 + 0x50]
aesenc xmm0, xmm5
movdqu xmm5, xmmword [r9 + 0x60]
aesenc xmm0, xmm5
movdqu xmm5, xmmword [r9 + 0x70]
aesenc xmm0, xmm5
movdqu xmm5, xmmword [r9 + 0x80]
aesenc xmm0, xmm5
movdqu xmm5, xmmword [r9 + 0x90]
aesenc xmm0, xmm5
movdqu xmm5, xmmword [r9 + 0xa0]
aesenc xmm0, xmm5
movdqu xmm5, xmmword [r9 + 0xb0]
aesenc xmm0, xmm5
movdqu xmm5, xmmword [r9 + 0xc0]
aesenc xmm0, xmm5
movdqu xmm5, xmmword [r9 + 0xd0]
aesenc xmm0, xmm5
movdqu xmm5, xmmword [r9 + 0xe0]
aesenclast xmm0, xmm5
cmp r10d, 0
je 0x140001ca6
movdqu xmm5, xmmword [r8 + rax]
pxor xmm5, xmm0
movdqu xmmword [r8 + rax], xmm5
add rax, 0x10
dec r10d
jmp 0x140001bc0
movdqu xmmword [rdx], xmm0
movdqu xmmword [rcx], xmm4
pop r10
ret