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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x128
push esi
push edi
lea eax, [esp + 0xa0]
mov edi, edx
push eax
lea eax, [esp + 0x94]
mov esi, ecx
push eax
lea eax, [esp + 0x88]
push eax
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0x70]
push eax
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x40]
push eax
lea edx, [esp + 0x34]
call fcn.37a859f0
movups xmm0, xmmword [esi + 0xa0]
add esp, 0x24
movups xmm2, xmmword [esi + 0x40]
mov eax, 0x10
movups xmm6, xmmword [esi + 0x50]
movups xmm5, xmmword [esi + 0x60]
movups xmm4, xmmword [esi + 0x70]
movups xmm3, xmmword [esi + 0x80]
movups xmm1, xmmword [esi + 0x90]
movaps xmmword [esp + 0xc0], xmm0
movups xmm0, xmmword [esi + 0xb0]
jmp 0x37a81d80
movaps xmm0, xmmword [esp + 0xb0]
movaps xmm6, xmmword [esp + 0xd0]
movaps xmm5, xmmword [esp + 0xf0]
movaps xmm4, xmmword [esp + 0x100]
movaps xmm3, xmmword [esp + 0x110]
movaps xmm1, xmmword [esp + 0x120]
aesenc xmm2, xmmword [esp + 0x10]
aesenc xmm2, xmmword [esp + 0x20]
aesenc xmm1, xmmword [esp + 0x10]
aesenc xmm2, xmmword [esp + 0x30]
aesenc xmm5, xmmword [esp + 0x10]
aesenc xmm1, xmmword [esp + 0x20]
aesenc xmm2, xmmword [esp + 0x40]
aesenc xmm5, xmmword [esp + 0x20]
aesenc xmm1, xmmword [esp + 0x30]
aesenc xmm2, xmmword [esp + 0x50]
aesenc xmm5, xmmword [esp + 0x30]
aesenc xmm1, xmmword [esp + 0x40]
aesenc xmm2, xmmword [esp + 0x60]
aesenc xmm6, xmmword [esp + 0x10]
aesenc xmm5, xmmword [esp + 0x40]
aesenc xmm4, xmmword [esp + 0x10]
aesenc xmm3, xmmword [esp + 0x10]
aesenc xmm1, xmmword [esp + 0x50]
aesenc xmm2, xmmword [esp + 0x70]
aesenc xmm6, xmmword [esp + 0x20]
aesenc xmm5, xmmword [esp + 0x50]
aesenc xmm4, xmmword [esp + 0x20]
aesenc xmm3, xmmword [esp + 0x20]
aesenc xmm1, xmmword [esp + 0x60]
aesenc xmm2, xmmword [esp + 0x80]
aesenc xmm6, xmmword [esp + 0x30]
aesenc xmm5, xmmword [esp + 0x60]
aesenc xmm4, xmmword [esp + 0x30]
aesenc xmm3, xmmword [esp + 0x30]
aesenc xmm1, xmmword [esp + 0x70]
aesenc xmm2, xmmword [esp + 0x90]
aesenc xmm6, xmmword [esp + 0x40]
aesenc xmm5, xmmword [esp + 0x70]
aesenc xmm4, xmmword [esp + 0x40]
aesenc xmm3, xmmword [esp + 0x40]
aesenc xmm1, xmmword [esp + 0x80]
aesenc xmm2, xmmword [esp + 0xa0]
aesenc xmm6, xmmword [esp + 0x50]
aesenc xmm5, xmmword [esp + 0x80]
aesenc xmm4, xmmword [esp + 0x50]
aesenc xmm3, xmmword [esp + 0x50]
aesenc xmm6, xmmword [esp + 0x60]
aesenc xmm5, xmmword [esp + 0x90]
aesenc xmm4, xmmword [esp + 0x60]
aesenc xmm3, xmmword [esp + 0x60]
aesenc xmm6, xmmword [esp + 0x70]
aesenc xmm4, xmmword [esp + 0x70]
aesenc xmm3, xmmword [esp + 0x70]
aesenc xmm6, xmmword [esp + 0x80]
aesenc xmm4, xmmword [esp + 0x80]
aesenc xmm3, xmmword [esp + 0x80]
aesenc xmm6, xmmword [esp + 0x90]
aesenc xmm0, xmmword [esp + 0x10]
aesenc xmm0, xmmword [esp + 0x20]
aesenc xmm0, xmmword [esp + 0x30]
movaps xmm7, xmm2
movaps xmm2, xmmword [esp + 0xa0]
aesenc xmm0, xmmword [esp + 0x40]
aesenc xmm5, xmm2
aesenc xmm0, xmmword [esp + 0x50]
movaps xmmword [esp + 0xd0], xmm5
movaps xmm5, xmmword [esp + 0x90]
aesenc xmm1, xmm5
aesenc xmm1, xmm2
aesenc xmm4, xmm5
aesenc xmm3, xmm5
aesenc xmm6, xmm2
aesenc xmm4, xmm2
aesenc xmm3, xmm2
movaps xmm2, xmm1
movaps xmm1, xmmword [esp + 0xc0]
aesenc xmm1, xmmword [esp + 0x10]
aesenc xmm1, xmmword [esp + 0x20]
aesenc xmm1, xmmword [esp + 0x30]
aesenc xmm1, xmmword [esp + 0x40]
aesenc xmm1, xmmword [esp + 0x50]
aesenc xmm1, xmmword [esp + 0x60]
aesenc xmm1, xmmword [esp + 0x70]
aesenc xmm1, xmmword [esp + 0x80]
aesenc xmm1, xmm5
aesenc xmm1, xmmword [esp + 0xa0]
movaps xmmword [esp + 0xb0], xmm7
movaps xmm5, xmm6
pxor xmm5, xmm7
movaps xmmword [esp + 0xe0], xmm5
movaps xmm5, xmmword [esp + 0xd0]
movaps xmm7, xmm5
pxor xmm7, xmm6
movaps xmm6, xmm4
movaps xmmword [esp + 0xd0], xmm7
pxor xmm6, xmm5
movaps xmmword [esp + 0xf0], xmm6
movaps xmm5, xmm3
pxor xmm5, xmm4
movaps xmm4, xmm2
movaps xmmword [esp + 0x100], xmm5
pxor xmm4, xmm3
movaps xmmword [esp + 0x110], xmm4
movaps xmm3, xmm1
pxor xmm3, xmm2
movaps xmmword [esp + 0x120], xmm3
aesenc xmm0, xmmword [esp + 0x60]
aesenc xmm0, xmmword [esp + 0x70]
aesenc xmm0, xmmword [esp + 0x80]
aesenc xmm0, xmmword [esp + 0x90]
aesenc xmm0, xmmword [esp + 0xa0]
movaps xmm2, xmm0
pxor xmm2, xmm1
movaps xmm1, xmmword [esp + 0xb0]
movaps xmmword [esp + 0xc0], xmm2
pxor xmm1, xmm0
movaps xmm2, xmmword [esp + 0xe0]
movaps xmmword [esp + 0xb0], xmm1
sub eax, 1
jne 0x37a81d50
movaps xmm0, xmmword [esp + 0xe0]
lea eax, [edi + 0x20]
movaps xmm2, xmmword [esp + 0xc0]
mov ecx, 0x8000
nop word [eax + eax]
aesenc xmm0, xmmword [esp + 0x10]
aesenc xmm7, xmmword [esp + 0x10]
aesenc xmm6, xmmword [esp + 0x10]
aesenc xmm5, xmmword [esp + 0x10]
aesenc xmm4, xmmword [esp + 0x10]
aesenc xmm3, xmmword [esp + 0x10]
aesenc xmm2, xmmword [esp + 0x10]
aesenc xmm1, xmmword [esp + 0x10]
aesenc xmm0, xmmword [esp + 0x20]
aesenc xmm7, xmmword [esp + 0x20]
aesenc xmm6, xmmword [esp + 0x20]
aesenc xmm5, xmmword [esp + 0x20]
aesenc xmm4, xmmword [esp + 0x20]
aesenc xmm3, xmmword [esp + 0x20]
aesenc xmm2, xmmword [esp + 0x20]
aesenc xmm1, xmmword [esp + 0x20]
aesenc xmm0, xmmword [esp + 0x30]
aesenc xmm7, xmmword [esp + 0x30]
aesenc xmm6, xmmword [esp + 0x30]
aesenc xmm5, xmmword [esp + 0x30]
aesenc xmm4, xmmword [esp + 0x30]
aesenc xmm3, xmmword [esp + 0x30]
aesenc xmm2, xmmword [esp + 0x30]
aesenc xmm1, xmmword [esp + 0x30]
aesenc xmm0, xmmword [esp + 0x40]
aesenc xmm7, xmmword [esp + 0x40]
aesenc xmm6, xmmword [esp + 0x40]
aesenc xmm5, xmmword [esp + 0x40]
aesenc xmm4, xmmword [esp + 0x40]
aesenc xmm3, xmmword [esp + 0x40]
aesenc xmm2, xmmword [esp + 0x40]
aesenc xmm1, xmmword [esp + 0x40]
aesenc xmm0, xmmword [esp + 0x50]
aesenc xmm7, xmmword [esp + 0x50]
aesenc xmm6, xmmword [esp + 0x50]
aesenc xmm5, xmmword [esp + 0x50]
aesenc xmm4, xmmword [esp + 0x50]
aesenc xmm3, xmmword [esp + 0x50]
aesenc xmm2, xmmword [esp + 0x50]
aesenc xmm1, xmmword [esp + 0x50]
aesenc xmm0, xmmword [esp + 0x60]
aesenc xmm7, xmmword [esp + 0x60]
aesenc xmm6, xmmword [esp + 0x60]
aesenc xmm5, xmmword [esp + 0x60]
aesenc xmm4, xmmword [esp + 0x60]
aesenc xmm3, xmmword [esp + 0x60]
aesenc xmm2, xmmword [esp + 0x60]
aesenc xmm1, xmmword [esp + 0x60]
aesenc xmm0, xmmword [esp + 0x70]
aesenc xmm7, xmmword [esp + 0x70]
aesenc xmm6, xmmword [esp + 0x70]
aesenc xmm5, xmmword [esp + 0x70]
aesenc xmm4, xmmword [esp + 0x70]
aesenc xmm3, xmmword [esp + 0x70]
aesenc xmm2, xmmword [esp + 0x70]
aesenc xmm1, xmmword [esp + 0x70]
aesenc xmm0, xmmword [esp + 0x80]
aesenc xmm7, xmmword [esp + 0x80]
aesenc xmm6, xmmword [esp + 0x80]
aesenc xmm5, xmmword [esp + 0x80]
aesenc xmm4, xmmword [esp + 0x80]
aesenc xmm3, xmmword [esp + 0x80]
aesenc xmm2, xmmword [esp + 0x80]
aesenc xmm1, xmmword [esp + 0x80]
aesenc xmm0, xmmword [esp + 0x90]
aesenc xmm0, xmmword [esp + 0xa0]
aesenc xmm7, xmmword [esp + 0x90]
aesenc xmm6, xmmword [esp + 0x90]
aesenc xmm5, xmmword [esp + 0x90]
aesenc xmm4, xmmword [esp + 0x90]
aesenc xmm3, xmmword [esp + 0x90]
aesenc xmm2, xmmword [esp + 0x90]
aesenc xmm1, xmmword [esp + 0x90]
aesenc xmm7, xmmword [esp + 0xa0]
aesenc xmm6, xmmword [esp + 0xa0]
aesenc xmm5, xmmword [esp + 0xa0]
aesenc xmm4, xmmword [esp + 0xa0]
aesenc xmm3, xmmword [esp + 0xa0]
aesenc xmm2, xmmword [esp + 0xa0]
aesenc xmm1, xmmword [esp + 0xa0]
movups xmmword [eax - 0x20], xmm0
movups xmmword [eax - 0x10], xmm7
lea eax, [eax + 0x80]
movups xmmword [eax - 0x80], xmm6
movups xmmword [eax - 0x70], xmm5
movups xmmword [eax - 0x60], xmm4
movups xmmword [eax - 0x50], xmm3
movups xmmword [eax - 0x40], xmm2
movups xmmword [eax - 0x30], xmm1
sub ecx, 1
jne 0x37a820b0
pop edi
pop esi
mov esp, ebp
pop ebp
ret