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

Disassembly:
sub rsp, 0x178
movups xmmword [rsp + 0xd0], xmm6
movups xmmword [rsp + 0xe0], xmm7
movups xmmword [rsp + 0xf0], xmm8
movups xmmword [rsp + 0x100], xmm9
movups xmmword [rsp + 0x110], xmm10
movups xmmword [rsp + 0x120], xmm11
movups xmmword [rsp + 0x130], xmm12
movups xmmword [rsp + 0x140], xmm13
movups xmmword [rsp + 0x150], xmm14
movups xmmword [rsp + 0x160], xmm15
pxor xmm0, xmm0
xor eax, eax
movdqu xmm6, xmmword [rcx + 0x90]
movdqu xmm2, xmmword [rdx]
movdqu xmm3, xmmword [rcx + 0xb0]
movdqu xmm7, xmmword [rdx + 0x20]
movdqu xmm4, xmmword [rdx + 0x10]
movups xmmword [rsp + 0x10], xmm6
movups xmmword [rsp + 0x80], xmm6
pxor xmm6, xmm2
movdqu xmm14, xmm6
movdqu xmm6, xmmword [rdx + 0x40]
mov r9d, dword [rcx + 0xc8]
movups xmmword [rsp + 0x30], xmm7
aesenc xmm14, xmm0
pxor xmm14, xmm4
mov r10d, dword [rcx + 0xd4]
movups xmmword [rsp + 0x40], xmm6
aesenc xmm14, xmm0
pxor xmm6, xmm3
movdqu xmm15, xmmword [rdx + 0x30]
movdqu xmm12, xmm6
pxor xmm14, xmm7
aesenc xmm14, xmm0
movdqu xmm7, xmmword [rdx + 0x50]
movups xmmword [rsp + 0x20], xmm3
aesenc xmm12, xmm0
movdqu xmm6, xmmword [rdx + 0x60]
mov r11d, r9d
pxor xmm14, xmm15
aesenc xmm14, xmm0
movdqu xmm13, xmmword [rdx + 0x70]
not r11d
movups xmmword [rsp + 0xa0], xmm3
movd xmm3, r10d
mov edx, dword [rcx + 0xcc]
pxor xmm12, xmm7
aesenc xmm12, xmm0
pxor xmm12, xmm6
movdqu xmm5, xmmword [rcx + 0x80]
aesenc xmm12, xmm0
pxor xmm12, xmm13
aesenc xmm12, xmm0
mov r8d, dword [rcx + 0xd0]
movups xmmword [rsp + 0x50], xmm7
pxor xmm14, xmm5
movups xmmword [rsp + 0x90], xmm5
movdqu xmm5, xmmword [rcx + 0xa0]
movd xmm1, edx
movups xmmword [rsp], xmm14
pinsrd xmm1, r11d, 1
movups xmmword [rsp + 0xb0], xmm5
mov r11d, r10d
pxor xmm12, xmm5
pinsrd xmm3, r8d, 1
movdqu xmm5, xmm3
not r11d
movd xmm3, r9d
punpcklqdq xmm5, xmm1
movd xmm1, r8d
pinsrd xmm3, edx, 1
movups xmmword [rsp + 0xc0], xmm5
pinsrd xmm1, r11d, 1
movdqu xmm5, xmm3
mov r11d, edx
movups xmmword [rsp + 0x60], xmm6
punpcklqdq xmm5, xmm1
not r11d
movups xmmword [rsp + 0x70], xmm5
aesenc xmm2, xmm0
pshufd xmm2, xmm2, 0x39
pxor xmm2, xmm13
test eax, eax
je 0x539488
movdqu xmm11, xmmword [rsp]
aesenc xmm4, xmm0
pshufd xmm3, xmm4, 0x39
pxor xmm3, xmm2
pxor xmm11, xmm2
aesenc xmm11, xmm0
cmp eax, 1
jne 0x538ee7
pxor xmm3, xmmword [rsp + 0xc0]
aesenc xmm15, xmm0
movdqu xmm5, xmmword [rsp + 0x30]
pshufd xmm10, xmm15, 0x39
pxor xmm11, xmm3
movdqu xmm15, xmmword [rsp + 0x20]
aesenc xmm11, xmm0
aesenc xmm13, xmm0
pshufd xmm6, xmm13, 0x39
movdqu xmm9, xmmword [rsp + 0x40]
aesenc xmm5, xmm0
pshufd xmm5, xmm5, 0x39
pxor xmm5, xmm3
movdqu xmm7, xmmword [rsp + 0x60]
pxor xmm10, xmm5
pxor xmm11, xmm5
aesenc xmm11, xmm0
pxor xmm11, xmm10
aesenc xmm11, xmm0
pxor xmm15, xmm11
movdqu xmm11, xmmword [rsp + 0x50]
aesenc xmm9, xmm0
pshufd xmm9, xmm9, 0x39
pxor xmm9, xmm10
movdqu xmm8, xmm9
pxor xmm8, xmm12
aesenc xmm11, xmm0
aesenc xmm7, xmm0
aesenc xmm8, xmm0
pshufd xmm11, xmm11, 0x39
pshufd xmm7, xmm7, 0x39
pxor xmm11, xmm9
pxor xmm7, xmm11
pxor xmm8, xmm11
pxor xmm6, xmm7
aesenc xmm8, xmm0
pxor xmm8, xmm7
aesenc xmm8, xmm0
cmp eax, 2
je 0x5394b8
movdqu xmm1, xmm6
movdqu xmm14, xmm15
pxor xmm8, xmm6
add eax, 1
palignr xmm1, xmm7, 4
aesenc xmm8, xmm0
pxor xmm8, xmmword [rsp + 0x10]
pxor xmm2, xmm1
movdqu xmm4, xmm2
pxor xmm14, xmm2
aesenc xmm14, xmm0
palignr xmm4, xmm6, 4
pxor xmm3, xmm4
movdqu xmm1, xmm3
pxor xmm14, xmm3
aesenc xmm14, xmm0
palignr xmm1, xmm2, 4
aesenc xmm2, xmm0
pxor xmm5, xmm1
movdqu xmm1, xmm5
pxor xmm14, xmm5
aesenc xmm14, xmm0
palignr xmm1, xmm3, 4
aesenc xmm3, xmm0
pshufd xmm3, xmm3, 0x39
pxor xmm10, xmm1
movdqu xmm1, xmm10
pxor xmm14, xmm10
aesenc xmm14, xmm0
palignr xmm1, xmm5, 4
pxor xmm12, xmm14
aesenc xmm5, xmm0
pshufd xmm5, xmm5, 0x39
pxor xmm9, xmm1
movdqu xmm1, xmm9
movdqu xmm14, xmm9
palignr xmm1, xmm10, 4
aesenc xmm10, xmm0
pshufd xmm10, xmm10, 0x39
pxor xmm14, xmm8
pxor xmm11, xmm1
movdqu xmm1, xmm11
aesenc xmm14, xmm0
pxor xmm14, xmm11
palignr xmm1, xmm9, 4
aesenc xmm9, xmm0
pshufd xmm9, xmm9, 0x39
aesenc xmm14, xmm0
pxor xmm7, xmm1
movdqu xmm13, xmm7
pshufd xmm1, xmm2, 0x39
movdqu xmm2, xmm1
palignr xmm13, xmm11, 4
pxor xmm14, xmm7
aesenc xmm11, xmm0
aesenc xmm14, xmm0
pxor xmm6, xmm13
pxor xmm2, xmm6
movdqu xmm1, xmm2
pxor xmm3, xmm2
pxor xmm1, xmm12
pxor xmm5, xmm3
aesenc xmm1, xmm0
pxor xmm10, xmm5
pxor xmm1, xmm3
pxor xmm9, xmm10
aesenc xmm1, xmm0
pxor xmm1, xmm5
aesenc xmm1, xmm0
pxor xmm1, xmm10
aesenc xmm1, xmm0
movdqu xmm4, xmm1
movdqu xmm1, xmm9
pxor xmm4, xmm8
pxor xmm14, xmm6
pshufd xmm8, xmm11, 0x39
aesenc xmm14, xmm0
pxor xmm8, xmm9
aesenc xmm7, xmm0
pxor xmm14, xmmword [rsp]
pshufd xmm7, xmm7, 0x39
pxor xmm1, xmm14
pxor xmm7, xmm8
aesenc xmm1, xmm0
aesenc xmm6, xmm0
pxor xmm1, xmm8
pshufd xmm6, xmm6, 0x39
movdqu xmm11, xmm1
pxor xmm6, xmm7
movdqu xmm1, xmm6
movups xmmword [rsp + 0x10], xmm4
aesenc xmm11, xmm0
palignr xmm1, xmm7, 4
pxor xmm11, xmm7
aesenc xmm11, xmm0
pxor xmm11, xmm6
pxor xmm1, xmm2
pxor xmm4, xmm1
movdqu xmm13, xmm4
movdqu xmm4, xmm1
palignr xmm4, xmm6, 4
aesenc xmm11, xmm0
pxor xmm11, xmm15
movdqu xmm2, xmm1
pxor xmm3, xmm4
movdqu xmm15, xmm3
aesenc xmm13, xmm0
movdqu xmm4, xmm3
palignr xmm15, xmm1, 4
pxor xmm13, xmm3
aesenc xmm13, xmm0
movups xmmword [rsp + 0x20], xmm11
pxor xmm5, xmm15
movdqu xmm15, xmm5
pxor xmm13, xmm5
aesenc xmm13, xmm0
palignr xmm15, xmm3, 4
movups xmmword [rsp + 0x30], xmm5
pxor xmm10, xmm15
pxor xmm13, xmm10
aesenc xmm13, xmm0
pxor xmm13, xmm14
movups xmmword [rsp], xmm13
movdqu xmm13, xmm10
movdqu xmm14, xmm11
movdqu xmm15, xmm10
palignr xmm13, xmm5, 4
pxor xmm9, xmm13
movdqu xmm13, xmm9
pxor xmm14, xmm9
movups xmmword [rsp + 0x40], xmm9
palignr xmm13, xmm10, 4
aesenc xmm14, xmm0
pxor xmm8, xmm13
movdqu xmm13, xmm8
pxor xmm14, xmm8
movups xmmword [rsp + 0x50], xmm8
palignr xmm13, xmm9, 4
aesenc xmm14, xmm0
pxor xmm7, xmm13
movdqu xmm13, xmm7
pxor xmm14, xmm7
movups xmmword [rsp + 0x60], xmm7
palignr xmm13, xmm8, 4
aesenc xmm14, xmm0
pxor xmm6, xmm13
pxor xmm14, xmm6
movdqu xmm13, xmm6
aesenc xmm14, xmm0
pxor xmm12, xmm14
cmp eax, 3
jne 0x538ea3
movdqu xmm15, xmmword [rsp]
aesenc xmm10, xmm0
aesenc xmm9, xmm0
aesenc xmm1, xmm0
aesenc xmm3, xmm0
aesenc xmm5, xmm0
pshufd xmm3, xmm3, 0x39
not r8d
movdqu xmm2, xmm15
pshufd xmm1, xmm1, 0x39
pxor xmm1, xmm6
movdqu xmm14, xmmword [rsp + 0xb0]
pxor xmm2, xmm1
pxor xmm1, xmm3
aesenc xmm2, xmm0
pshufd xmm3, xmm5, 0x39
pxor xmm2, xmm1
pxor xmm1, xmm3
aesenc xmm2, xmm0
pshufd xmm3, xmm10, 0x39
pxor xmm2, xmm1
pxor xmm1, xmm3
aesenc xmm2, xmm0
pshufd xmm3, xmm9, 0x39
pxor xmm2, xmm1
pxor xmm3, xmm1
movdqu xmm1, xmm12
movd xmm4, r10d
pxor xmm1, xmm3
aesenc xmm8, xmm0
pshufd xmm8, xmm8, 0x39
pxor xmm8, xmm3
movd xmm3, edx
pxor xmm14, xmm15
aesenc xmm2, xmm0
pxor xmm12, xmmword [rsp + 0x90]
aesenc xmm1, xmm0
aesenc xmm7, xmm0
pxor xmm11, xmmword [rsp + 0x80]
movups xmmword [rcx + 0x80], xmm12
pxor xmm2, xmm11
movups xmmword [rcx + 0xa0], xmm14
pxor xmm1, xmm8
movdqu xmm14, xmmword [rsp + 0xa0]
aesenc xmm1, xmm0
aesenc xmm6, xmm0
pshufd xmm7, xmm7, 0x39
pxor xmm14, xmmword [rsp + 0x10]
pinsrd xmm4, r8d, 1
pinsrd xmm3, r9d, 1
movups xmm9, xmmword [rsp + 0x100]
punpcklqdq xmm3, xmm4
movups xmm10, xmmword [rsp + 0x110]
pxor xmm7, xmm3
pshufd xmm6, xmm6, 0x39
pxor xmm7, xmm8
movups xmm11, xmmword [rsp + 0x120]
pxor xmm1, xmm7
aesenc xmm1, xmm0
pxor xmm6, xmm1
movups xmm8, xmmword [rsp + 0xf0]
pxor xmm6, xmm7
aesenc xmm6, xmm0
pxor xmm6, xmm14
movups xmm7, xmmword [rsp + 0xe0]
movups xmmword [rcx + 0xb0], xmm6
movups xmm12, xmmword [rsp + 0x130]
movups xmmword [rcx + 0x90], xmm2
movups xmm6, xmmword [rsp + 0xd0]
movups xmm13, xmmword [rsp + 0x140]
movups xmm14, xmmword [rsp + 0x150]
movups xmm15, xmmword [rsp + 0x160]
add rsp, 0x178
ret
movdqu xmm11, xmmword [rsp]
pxor xmm2, xmmword [rsp + 0x70]
aesenc xmm4, xmm0
pshufd xmm3, xmm4, 0x39
pxor xmm3, xmm2
pxor xmm11, xmm2
aesenc xmm11, xmm0
jmp 0x538ee7
movd xmm1, r8d
movd xmm4, r9d
pinsrd xmm1, r10d, 1
pinsrd xmm4, r11d, 1
punpcklqdq xmm1, xmm4
pxor xmm6, xmm1
jmp 0x538fbd