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

Disassembly:
push rbp
sub rsp, 0x510
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x30], r8
mov rax, rdx
mov qword [rbp + 0x28], rax
mov rdx, rcx
mov qword [rbp + 0x50], rax
mov qword [rbp + 0x58], r8
lea rcx, [rbp + 0x60]
mov r8d, 0xf0
call fcn.004adbd0
mov rcx, qword [rbp + 0x30]
mov qword [rbp + 0x168], rcx
call fcn.004517b0
vmovdqa xmmword [rbp + 0x170], xmm0
vmovdqa xmmword [rbp + 0x180], xmm0
lea rax, [rbp + 0x180]
mov qword [rbp + 0x38], rax
mov rax, qword [rbp + 0x38]
mov rcx, qword [rax]
mov qword [rbp + 0x190], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x198], rax
mov rax, qword [rbp + 0x190]
mov qword [rbp + 0x1a0], rax
mov rax, qword [rbp + 0x198]
mov qword [rbp + 0x1a8], rax
mov rax, qword [rbp + 0x60]
mov qword [rbp + 0x1b0], rax
mov rax, qword [rbp + 0x68]
mov qword [rbp + 0x1b8], rax
vmovdqa xmm0, xmmword [rbp + 0x1a0]
vpxor xmm0, xmm0, xmmword [rbp + 0x1b0]
vmovdqa xmmword [rbp + 0x1c0], xmm0
lea rax, [rbp + 0x1c0]
mov qword [rbp + 0x20], rax
mov rax, qword [rbp + 0x20]
mov rcx, qword [rax]
mov qword [rbp + 0x150], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x158], rax
mov rax, qword [rbp + 0x150]
mov qword [rbp + 0x1d0], rax
mov rax, qword [rbp + 0x158]
mov qword [rbp + 0x1d8], rax
mov rax, qword [rbp + 0x70]
mov qword [rbp + 0x1e0], rax
mov rax, qword [rbp + 0x78]
mov qword [rbp + 0x1e8], rax
vmovdqa xmm0, xmmword [rbp + 0x1d0]
vmovdqa xmm1, xmmword [rbp + 0x1e0]
vaesenc xmm0, xmm0, xmm1
vmovdqa xmmword [rbp + 0x1f0], xmm0
lea rax, [rbp + 0x1f0]
mov qword [rbp + 0x18], rax
mov rax, qword [rbp + 0x18]
mov rcx, qword [rax]
mov qword [rbp + 0x150], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x158], rax
mov rax, qword [rbp + 0x150]
mov qword [rbp + 0x200], rax
mov rax, qword [rbp + 0x158]
mov qword [rbp + 0x208], rax
mov rax, qword [rbp + 0x80]
mov qword [rbp + 0x210], rax
mov rax, qword [rbp + 0x88]
mov qword [rbp + 0x218], rax
vmovdqa xmm0, xmmword [rbp + 0x200]
vmovdqa xmm1, xmmword [rbp + 0x210]
vaesenc xmm0, xmm0, xmm1
vmovdqa xmmword [rbp + 0x220], xmm0
lea rax, [rbp + 0x220]
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 0x10]
mov rcx, qword [rax]
mov qword [rbp + 0x150], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x158], rax
mov rax, qword [rbp + 0x150]
mov qword [rbp + 0x230], rax
mov rax, qword [rbp + 0x158]
mov qword [rbp + 0x238], rax
mov rax, qword [rbp + 0x90]
mov qword [rbp + 0x240], rax
mov rax, qword [rbp + 0x98]
mov qword [rbp + 0x248], rax
vmovdqa xmm0, xmmword [rbp + 0x230]
vmovdqa xmm1, xmmword [rbp + 0x240]
vaesenc xmm0, xmm0, xmm1
vmovdqa xmmword [rbp + 0x250], xmm0
lea rax, [rbp + 0x250]
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov rcx, qword [rax]
mov qword [rbp + 0x150], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x158], rax
mov rax, qword [rbp + 0x150]
mov qword [rbp + 0x260], rax
mov rax, qword [rbp + 0x158]
mov qword [rbp + 0x268], rax
mov rax, qword [rbp + 0xa0]
mov qword [rbp + 0x270], rax
mov rax, qword [rbp + 0xa8]
mov qword [rbp + 0x278], rax
vmovdqa xmm0, xmmword [rbp + 0x260]
vmovdqa xmm1, xmmword [rbp + 0x270]
vaesenc xmm0, xmm0, xmm1
vmovdqa xmmword [rbp + 0x280], xmm0
lea rax, [rbp + 0x280]
mov qword [rbp], rax
mov rax, qword [rbp]
mov rcx, qword [rax]
mov qword [rbp + 0x150], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x158], rax
mov rax, qword [rbp + 0x150]
mov qword [rbp + 0x290], rax
mov rax, qword [rbp + 0x158]
mov qword [rbp + 0x298], rax
mov rax, qword [rbp + 0xb0]
mov qword [rbp + 0x2a0], rax
mov rax, qword [rbp + 0xb8]
mov qword [rbp + 0x2a8], rax
vmovdqa xmm0, xmmword [rbp + 0x290]
vmovdqa xmm1, xmmword [rbp + 0x2a0]
vaesenc xmm0, xmm0, xmm1
vmovdqa xmmword [rbp + 0x2b0], xmm0
lea rax, [rbp + 0x2b0]
mov qword [rbp - 8], rax
mov rax, qword [rbp - 8]
mov rcx, qword [rax]
mov qword [rbp + 0x150], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x158], rax
mov rax, qword [rbp + 0x150]
mov qword [rbp + 0x2c0], rax
mov rax, qword [rbp + 0x158]
mov qword [rbp + 0x2c8], rax
mov rax, qword [rbp + 0xc0]
mov qword [rbp + 0x2d0], rax
mov rax, qword [rbp + 0xc8]
mov qword [rbp + 0x2d8], rax
vmovdqa xmm0, xmmword [rbp + 0x2c0]
vmovdqa xmm1, xmmword [rbp + 0x2d0]
vaesenc xmm0, xmm0, xmm1
vmovdqa xmmword [rbp + 0x2e0], xmm0
lea rax, [rbp + 0x2e0]
mov qword [rbp - 0x10], rax
mov rax, qword [rbp - 0x10]
mov rcx, qword [rax]
mov qword [rbp + 0x150], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x158], rax
mov rax, qword [rbp + 0x150]
mov qword [rbp + 0x2f0], rax
mov rax, qword [rbp + 0x158]
mov qword [rbp + 0x2f8], rax
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x300], rax
mov rax, qword [rbp + 0xd8]
mov qword [rbp + 0x308], rax
vmovdqa xmm0, xmmword [rbp + 0x2f0]
vmovdqa xmm1, xmmword [rbp + 0x300]
vaesenc xmm0, xmm0, xmm1
vmovdqa xmmword [rbp + 0x310], xmm0
lea rax, [rbp + 0x310]
mov qword [rbp - 0x18], rax
mov rax, qword [rbp - 0x18]
mov rcx, qword [rax]
mov qword [rbp + 0x150], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x158], rax
mov rax, qword [rbp + 0x150]
mov qword [rbp + 0x320], rax
mov rax, qword [rbp + 0x158]
mov qword [rbp + 0x328], rax
mov rax, qword [rbp + 0xe0]
mov qword [rbp + 0x330], rax
mov rax, qword [rbp + 0xe8]
mov qword [rbp + 0x338], rax
vmovdqa xmm0, xmmword [rbp + 0x320]
vmovdqa xmm1, xmmword [rbp + 0x330]
vaesenc xmm0, xmm0, xmm1
vmovdqa xmmword [rbp + 0x340], xmm0
lea rax, [rbp + 0x340]
mov qword [rbp - 0x20], rax
mov rax, qword [rbp - 0x20]
mov rcx, qword [rax]
mov qword [rbp + 0x150], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x158], rax
mov rax, qword [rbp + 0x150]
mov qword [rbp + 0x350], rax
mov rax, qword [rbp + 0x158]
mov qword [rbp + 0x358], rax
mov rax, qword [rbp + 0xf0]
mov qword [rbp + 0x360], rax
mov rax, qword [rbp + 0xf8]
mov qword [rbp + 0x368], rax
vmovdqa xmm0, xmmword [rbp + 0x350]
vmovdqa xmm1, xmmword [rbp + 0x360]
vaesenc xmm0, xmm0, xmm1
vmovdqa xmmword [rbp + 0x370], xmm0
lea rax, [rbp + 0x370]
mov qword [rbp - 0x28], rax
mov rax, qword [rbp - 0x28]
mov rcx, qword [rax]
mov qword [rbp + 0x150], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x158], rax
mov rax, qword [rbp + 0x150]
mov qword [rbp + 0x380], rax
mov rax, qword [rbp + 0x158]
mov qword [rbp + 0x388], rax
mov rax, qword [rbp + 0x100]
mov qword [rbp + 0x390], rax
mov rax, qword [rbp + 0x108]
mov qword [rbp + 0x398], rax
vmovdqa xmm0, xmmword [rbp + 0x380]
vmovdqa xmm1, xmmword [rbp + 0x390]
vaesenc xmm0, xmm0, xmm1
vmovdqa xmmword [rbp + 0x3a0], xmm0
lea rax, [rbp + 0x3a0]
mov qword [rbp - 0x30], rax
mov rax, qword [rbp - 0x30]
mov rcx, qword [rax]
mov qword [rbp + 0x150], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x158], rax
mov rax, qword [rbp + 0x150]
mov qword [rbp + 0x3b0], rax
mov rax, qword [rbp + 0x158]
mov qword [rbp + 0x3b8], rax
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x3c0], rax
mov rax, qword [rbp + 0x118]
mov qword [rbp + 0x3c8], rax
vmovdqa xmm0, xmmword [rbp + 0x3b0]
vmovdqa xmm1, xmmword [rbp + 0x3c0]
vaesenc xmm0, xmm0, xmm1
vmovdqa xmmword [rbp + 0x3d0], xmm0
lea rax, [rbp + 0x3d0]
mov qword [rbp - 0x38], rax
mov rax, qword [rbp - 0x38]
mov rcx, qword [rax]
mov qword [rbp + 0x150], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x158], rax
mov rax, qword [rbp + 0x150]
mov qword [rbp + 0x3e0], rax
mov rax, qword [rbp + 0x158]
mov qword [rbp + 0x3e8], rax
mov rax, qword [rbp + 0x120]
mov qword [rbp + 0x3f0], rax
mov rax, qword [rbp + 0x128]
mov qword [rbp + 0x3f8], rax
vmovdqa xmm0, xmmword [rbp + 0x3e0]
vmovdqa xmm1, xmmword [rbp + 0x3f0]
vaesenc xmm0, xmm0, xmm1
vmovdqa xmmword [rbp + 0x400], xmm0
lea rax, [rbp + 0x400]
mov qword [rbp - 0x40], rax
mov rax, qword [rbp - 0x40]
mov rcx, qword [rax]
mov qword [rbp + 0x150], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x158], rax
mov rax, qword [rbp + 0x150]
mov qword [rbp + 0x410], rax
mov rax, qword [rbp + 0x158]
mov qword [rbp + 0x418], rax
mov rax, qword [rbp + 0x130]
mov qword [rbp + 0x420], rax
mov rax, qword [rbp + 0x138]
mov qword [rbp + 0x428], rax
vmovdqa xmm0, xmmword [rbp + 0x410]
vmovdqa xmm1, xmmword [rbp + 0x420]
vaesenc xmm0, xmm0, xmm1
vmovdqa xmmword [rbp + 0x430], xmm0
lea rax, [rbp + 0x430]
mov qword [rbp - 0x48], rax
mov rax, qword [rbp - 0x48]
mov rcx, qword [rax]
mov qword [rbp + 0x150], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x158], rax
mov rax, qword [rbp + 0x150]
mov qword [rbp + 0x440], rax
mov rax, qword [rbp + 0x158]
mov qword [rbp + 0x448], rax
mov rax, qword [rbp + 0x140]
mov qword [rbp + 0x450], rax
mov rax, qword [rbp + 0x148]
mov qword [rbp + 0x458], rax
vmovdqa xmm0, xmmword [rbp + 0x440]
vmovdqa xmm1, xmmword [rbp + 0x450]
vaesenclast xmm0, xmm0, xmm1
vmovdqa xmmword [rbp + 0x460], xmm0
lea rax, [rbp + 0x460]
mov qword [rbp - 0x50], rax
mov rax, qword [rbp - 0x50]
mov rcx, qword [rax]
mov qword [rbp + 0x150], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x158], rax
mov rax, qword [rbp + 0x150]
mov qword [rbp + 0x470], rax
mov rax, qword [rbp + 0x158]
mov qword [rbp + 0x478], rax
vmovdqa xmm0, xmmword [rbp + 0x470]
vmovdqa xmmword [rbp + 0x40], xmm0
lea rcx, [rbp + 0x480]
lea rdx, [rbp + 0x40]
call fcn.004517d0
lea rax, [rbp + 0x480]
mov qword [rbp - 0x58], rax
mov rax, qword [rbp + 0x28]
mov rcx, qword [rbp - 0x58]
mov rdx, qword [rcx]
mov qword [rax], rdx
mov rcx, qword [rcx + 8]
mov qword [rax + 8], rcx
add rsp, 0x510
pop rbp
ret