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

Disassembly:
sub rsp, 0x178
vmovups xmmword [rsp + 0xd0], xmm6
vmovups xmmword [rsp + 0xe0], xmm7
vmovups xmmword [rsp + 0xf0], xmm8
vmovups xmmword [rsp + 0x100], xmm9
vmovups xmmword [rsp + 0x110], xmm10
vmovups xmmword [rsp + 0x120], xmm11
vmovups xmmword [rsp + 0x130], xmm12
vmovups xmmword [rsp + 0x140], xmm13
vmovups xmmword [rsp + 0x150], xmm14
vmovups xmmword [rsp + 0x160], xmm15
vmovups xmm4, xmmword [rcx + 0x90]
vmovups xmm2, xmmword [rdx]
vxorps xmm0, xmm0, xmm0
xor eax, eax
vmovups xmm7, xmmword [rdx + 0x20]
vmovups xmm15, xmmword [rdx + 0x30]
vmovups xmm3, xmmword [rcx + 0x80]
vmovups xmm5, xmmword [rcx + 0xb0]
vmovups xmm13, xmmword [rdx + 0x70]
mov r9d, dword [rcx + 0xc8]
mov r10d, dword [rcx + 0xd4]
mov r8d, dword [rcx + 0xd0]
mov r11d, r9d
vxorps xmm14, xmm2, xmm4
vmovups xmmword [rsp + 0x10], xmm4
vmovups xmmword [rsp + 0x80], xmm4
vmovups xmm4, xmmword [rdx + 0x10]
vaesenc xmm14, xmm14, xmm0
vmovups xmmword [rsp + 0x50], xmm7
not r11d
vmovups xmmword [rsp + 0x60], xmm5
vmovups xmmword [rsp + 0xa0], xmm5
vmovups xmmword [rsp + 0x90], xmm3
vxorps xmm14, xmm4, xmm14
vaesenc xmm14, xmm14, xmm0
vxorps xmm14, xmm14, xmm7
vmovups xmm7, xmmword [rdx + 0x60]
vaesenc xmm14, xmm14, xmm0
vxorps xmm14, xmm15, xmm14
vaesenc xmm14, xmm14, xmm0
vxorps xmm6, xmm14, xmm3
vmovups xmm3, xmmword [rcx + 0xa0]
vmovups xmmword [rsp], xmm6
vmovups xmm6, xmmword [rdx + 0x40]
vmovups xmmword [rsp + 0x20], xmm7
vmovups xmmword [rsp + 0xb0], xmm3
vxorps xmm12, xmm5, xmm6
vmovups xmm5, xmmword [rdx + 0x50]
vmovups xmmword [rsp + 0x40], xmm6
vmovd xmm6, r10d
vaesenc xmm12, xmm12, xmm0
mov edx, dword [rcx + 0xcc]
vxorps xmm12, xmm12, xmm5
vmovups xmmword [rsp + 0x30], xmm5
vmovd xmm5, edx
vpinsrd xmm1, xmm5, r11d, 1
vaesenc xmm12, xmm12, xmm0
mov r11d, r10d
vxorps xmm12, xmm12, xmm7
not r11d
vmovd xmm7, r8d
vaesenc xmm12, xmm12, xmm0
vxorps xmm12, xmm13, xmm12
vaesenc xmm12, xmm12, xmm0
vxorps xmm12, xmm12, xmm3
vpinsrd xmm3, xmm6, r8d, 1
vmovd xmm6, r9d
vpunpcklqdq xmm5, xmm3, xmm1
vpinsrd xmm1, xmm7, r11d, 1
vpinsrd xmm3, xmm6, edx, 1
mov r11d, edx
vpunpcklqdq xmm3, xmm3, xmm1
vmovups xmmword [rsp + 0xc0], xmm5
not r11d
vmovups xmmword [rsp + 0x70], xmm3
vaesenc xmm1, xmm2, xmm0
vpshufd xmm1, xmm1, 0x39
vxorps xmm1, xmm13, xmm1
test eax, eax
je 0x5aff20
vxorps xmm11, xmm1, xmmword [rsp]
vaesenc xmm3, xmm4, xmm0
vpshufd xmm3, xmm3, 0x39
vxorps xmm3, xmm1, xmm3
vaesenc xmm11, xmm11, xmm0
cmp eax, 1
jne 0x5afa59
vxorps xmm3, xmm3, xmmword [rsp + 0xc0]
vmovups xmm6, xmmword [rsp + 0x40]
vmovups xmm4, xmmword [rsp + 0x50]
vaesenc xmm10, xmm15, xmm0
vxorps xmm11, xmm11, xmm3
vmovups xmm7, xmmword [rsp + 0x30]
vpshufd xmm10, xmm10, 0x39
vaesenc xmm11, xmm11, xmm0
vaesenc xmm9, xmm6, xmm0
vmovups xmm6, xmmword [rsp + 0x20]
vaesenc xmm5, xmm4, xmm0
vpshufd xmm5, xmm5, 0x39
vpshufd xmm9, xmm9, 0x39
vxorps xmm5, xmm3, xmm5
vaesenc xmm8, xmm7, xmm0
vxorps xmm10, xmm5, xmm10
vpshufd xmm8, xmm8, 0x39
vxorps xmm11, xmm11, xmm5
vxorps xmm9, xmm10, xmm9
vaesenc xmm11, xmm11, xmm0
vxorps xmm14, xmm12, xmm9
vxorps xmm8, xmm9, xmm8
vxorps xmm11, xmm11, xmm10
vaesenc xmm14, xmm14, xmm0
vaesenc xmm11, xmm11, xmm0
vxorps xmm4, xmm11, xmmword [rsp + 0x60]
vxorps xmm14, xmm14, xmm8
vaesenc xmm7, xmm6, xmm0
vaesenc xmm14, xmm14, xmm0
vpshufd xmm7, xmm7, 0x39
vaesenc xmm6, xmm13, xmm0
vxorps xmm7, xmm8, xmm7
vpshufd xmm6, xmm6, 0x39
vxorps xmm14, xmm14, xmm7
vxorps xmm6, xmm7, xmm6
vaesenc xmm14, xmm14, xmm0
cmp eax, 2
je 0x5aff50
vpalignr xmm2, xmm6, xmm7, 4
vxorps xmm1, xmm1, xmm2
vxorps xmm14, xmm14, xmm6
inc eax
vxorps xmm2, xmm1, xmm4
vpalignr xmm11, xmm1, xmm6, 4
vaesenc xmm14, xmm14, xmm0
vxorps xmm3, xmm3, xmm11
vxorps xmm14, xmm14, xmmword [rsp + 0x10]
vaesenc xmm2, xmm2, xmm0
vpalignr xmm11, xmm3, xmm1, 4
vxorps xmm5, xmm5, xmm11
vxorps xmm2, xmm2, xmm3
vpalignr xmm15, xmm5, xmm3, 4
vaesenc xmm1, xmm1, xmm0
vxorps xmm10, xmm10, xmm15
vaesenc xmm2, xmm2, xmm0
vpshufd xmm1, xmm1, 0x39
vxorps xmm2, xmm2, xmm5
vaesenc xmm3, xmm3, xmm0
vaesenc xmm2, xmm2, xmm0
vpshufd xmm3, xmm3, 0x39
vxorps xmm2, xmm2, xmm10
vaesenc xmm2, xmm2, xmm0
vxorps xmm12, xmm2, xmm12
vpalignr xmm2, xmm10, xmm5, 4
vxorps xmm9, xmm9, xmm2
vaesenc xmm5, xmm5, xmm0
vxorps xmm13, xmm9, xmm14
vpalignr xmm2, xmm9, xmm10, 4
vpshufd xmm5, xmm5, 0x39
vaesenc xmm10, xmm10, xmm0
vxorps xmm8, xmm8, xmm2
vaesenc xmm13, xmm13, xmm0
vpshufd xmm10, xmm10, 0x39
vxorps xmm13, xmm13, xmm8
vpalignr xmm2, xmm8, xmm9, 4
vxorps xmm7, xmm7, xmm2
vaesenc xmm9, xmm9, xmm0
vaesenc xmm13, xmm13, xmm0
vpalignr xmm2, xmm7, xmm8, 4
vxorps xmm6, xmm6, xmm2
vpshufd xmm9, xmm9, 0x39
vxorps xmm13, xmm13, xmm7
vaesenc xmm8, xmm8, xmm0
vaesenc xmm7, xmm7, xmm0
vxorps xmm1, xmm6, xmm1
vaesenc xmm13, xmm13, xmm0
vxorps xmm3, xmm1, xmm3
vpshufd xmm8, xmm8, 0x39
vxorps xmm2, xmm1, xmm12
vxorps xmm13, xmm13, xmm6
vaesenc xmm2, xmm2, xmm0
vpshufd xmm7, xmm7, 0x39
vxorps xmm5, xmm3, xmm5
vaesenc xmm13, xmm13, xmm0
vxorps xmm13, xmm13, xmmword [rsp]
vxorps xmm10, xmm5, xmm10
vxorps xmm2, xmm2, xmm3
vaesenc xmm2, xmm2, xmm0
vaesenc xmm6, xmm6, xmm0
vxorps xmm9, xmm10, xmm9
vxorps xmm8, xmm9, xmm8
vxorps xmm2, xmm2, xmm5
vpshufd xmm6, xmm6, 0x39
vxorps xmm7, xmm8, xmm7
vaesenc xmm2, xmm2, xmm0
vxorps xmm2, xmm2, xmm10
vxorps xmm6, xmm7, xmm6
vaesenc xmm2, xmm2, xmm0
vxorps xmm15, xmm2, xmm14
vpalignr xmm2, xmm6, xmm7, 4
vxorps xmm1, xmm1, xmm2
vxorps xmm14, xmm1, xmm15
vmovups xmmword [rsp + 0x10], xmm15
vmovups xmm2, xmm1
vxorps xmm11, xmm9, xmm13
vaesenc xmm14, xmm14, xmm0
vaesenc xmm11, xmm11, xmm0
vxorps xmm11, xmm11, xmm8
vaesenc xmm11, xmm11, xmm0
vxorps xmm11, xmm11, xmm7
vaesenc xmm11, xmm11, xmm0
vxorps xmm11, xmm11, xmm6
vaesenc xmm11, xmm11, xmm0
vxorps xmm11, xmm11, xmm4
vpalignr xmm4, xmm1, xmm6, 4
vxorps xmm3, xmm3, xmm4
vxorps xmm14, xmm14, xmm3
vpalignr xmm15, xmm3, xmm1, 4
vxorps xmm5, xmm5, xmm15
vmovups xmmword [rsp + 0x60], xmm11
vaesenc xmm14, xmm14, xmm0
vpalignr xmm15, xmm5, xmm3, 4
vxorps xmm10, xmm10, xmm15
vmovups xmm4, xmm3
vxorps xmm14, xmm14, xmm5
vmovups xmmword [rsp + 0x50], xmm5
vmovups xmm15, xmm10
vaesenc xmm14, xmm14, xmm0
vxorps xmm14, xmm14, xmm10
vaesenc xmm14, xmm14, xmm0
vxorps xmm13, xmm14, xmm13
vmovups xmmword [rsp], xmm13
vpalignr xmm13, xmm10, xmm5, 4
vxorps xmm9, xmm9, xmm13
vxorps xmm14, xmm9, xmm11
vpalignr xmm13, xmm9, xmm10, 4
vxorps xmm8, xmm8, xmm13
vmovups xmmword [rsp + 0x40], xmm9
vaesenc xmm14, xmm14, xmm0
vpalignr xmm13, xmm8, xmm9, 4
vxorps xmm7, xmm7, xmm13
vmovups xmmword [rsp + 0x30], xmm8
vxorps xmm14, xmm14, xmm8
vpalignr xmm13, xmm7, xmm8, 4
vxorps xmm6, xmm6, xmm13
vmovups xmmword [rsp + 0x20], xmm7
vaesenc xmm14, xmm14, xmm0
vmovups xmm13, xmm6
vxorps xmm14, xmm14, xmm7
vaesenc xmm14, xmm14, xmm0
vxorps xmm14, xmm14, xmm6
vaesenc xmm14, xmm14, xmm0
vxorps xmm12, xmm14, xmm12
cmp eax, 3
jne 0x5afa1d
vmovups xmm15, xmmword [rsp]
vaesenc xmm1, xmm1, xmm0
vaesenc xmm3, xmm3, xmm0
not r8d
vpshufd xmm1, xmm1, 0x39
vxorps xmm14, xmm15, xmmword [rsp + 0xb0]
vpshufd xmm3, xmm3, 0x39
vmovd xmm4, r10d
vxorps xmm1, xmm6, xmm1
vaesenc xmm5, xmm5, xmm0
vxorps xmm11, xmm11, xmmword [rsp + 0x80]
vmovups xmm13, xmmword [rsp + 0x140]
vaesenc xmm10, xmm10, xmm0
vaesenc xmm9, xmm9, xmm0
vaesenc xmm8, xmm8, xmm0
vpshufd xmm9, xmm9, 0x39
vaesenc xmm7, xmm7, xmm0
vpshufd xmm8, xmm8, 0x39
vpshufd xmm7, xmm7, 0x39
vaesenc xmm6, xmm6, xmm0
vxorps xmm2, xmm1, xmm15
vxorps xmm1, xmm1, xmm3
vpshufd xmm3, xmm5, 0x39
vmovups xmm15, xmmword [rsp + 0x160]
vaesenc xmm2, xmm2, xmm0
vpshufd xmm6, xmm6, 0x39
vmovups xmmword [rcx + 0xa0], xmm14
vxorps xmm2, xmm2, xmm1
vxorps xmm1, xmm1, xmm3
vpshufd xmm3, xmm10, 0x39
vmovups xmm10, xmmword [rsp + 0x110]
vaesenc xmm2, xmm2, xmm0
vxorps xmm2, xmm2, xmm1
vxorps xmm1, xmm1, xmm3
vpinsrd xmm3, xmm4, r8d, 1
vmovd xmm4, edx
vxorps xmm9, xmm1, xmm9
vpinsrd xmm4, xmm4, r9d, 1
vaesenc xmm2, xmm2, xmm0
vpunpcklqdq xmm3, xmm4, xmm3
vxorps xmm2, xmm2, xmm1
vmovups xmm4, xmmword [rsp + 0xa0]
vxorps xmm1, xmm9, xmm12
vxorps xmm8, xmm9, xmm8
vxorps xmm12, xmm12, xmmword [rsp + 0x90]
vxorps xmm14, xmm4, xmmword [rsp + 0x10]
vaesenc xmm1, xmm1, xmm0
vxorps xmm1, xmm1, xmm8
vxorps xmm7, xmm3, xmm7
vmovups xmm9, xmmword [rsp + 0x100]
vaesenc xmm1, xmm1, xmm0
vaesenc xmm2, xmm2, xmm0
vxorps xmm7, xmm7, xmm8
vmovups xmm8, xmmword [rsp + 0xf0]
vxorps xmm1, xmm1, xmm7
vxorps xmm2, xmm11, xmm2
vmovups xmm11, xmmword [rsp + 0x120]
vaesenc xmm1, xmm1, xmm0
vmovups xmmword [rcx + 0x90], xmm2
vxorps xmm6, xmm1, xmm6
vxorps xmm6, xmm6, xmm7
vmovups xmm7, xmmword [rsp + 0xe0]
vaesenc xmm0, xmm6, xmm0
vmovups xmm6, xmmword [rsp + 0xd0]
vxorps xmm0, xmm14, xmm0
vmovups xmmword [rcx + 0x80], xmm12
vmovups xmm14, xmmword [rsp + 0x150]
vmovups xmm12, xmmword [rsp + 0x130]
vmovups xmmword [rcx + 0xb0], xmm0
add rsp, 0x178
ret
vxorps xmm1, xmm1, xmmword [rsp + 0x70]
vaesenc xmm3, xmm4, xmm0
vxorps xmm11, xmm1, xmmword [rsp]
vpshufd xmm3, xmm3, 0x39
vxorps xmm3, xmm1, xmm3
vaesenc xmm11, xmm11, xmm0
jmp 0x5afa59
vmovd xmm2, r8d
vmovd xmm15, r9d
vpinsrd xmm2, xmm2, r10d, 1
vpinsrd xmm11, xmm15, r11d, 1
vpunpcklqdq xmm2, xmm2, xmm11
vxorps xmm6, xmm6, xmm2
jmp 0x5afb13