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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x488
vmovups xmmword [rsp + 0x3e0], xmm6
vmovups xmmword [rsp + 0x3f0], xmm7
vmovups xmmword [rsp + 0x400], xmm8
vmovups xmmword [rsp + 0x410], xmm9
vmovups xmmword [rsp + 0x420], xmm10
vmovups xmmword [rsp + 0x430], xmm11
vmovups xmmword [rsp + 0x440], xmm12
vmovups xmmword [rsp + 0x450], xmm13
vmovups xmmword [rsp + 0x460], xmm14
vmovups xmmword [rsp + 0x470], xmm15
mov r12d, dword [rcx + 0x1f4]
mov edi, r12d
mov rsi, rcx
mov rbx, rdx
mov ebp, r8d
shr edi, 8
je 0x47b40a
mov r13d, edi
lea rcx, [rsp + 0x2e0]
mov r15, rsi
lea r14, [rsp + 0x3e0]
shl r13, 4
mov rdx, r15
mov r8, r13
add r15, 0x40
call sub.msvcrt.dll_memcpy
mov rcx, rax
add rcx, 0x40
cmp rcx, r14
jne 0x47b3ef
test ebp, ebp
je 0x47c6a3
vmovdqu xmm7, xmmword [rsi + 0x1e0]
mov r9d, edi
lea r10d, [rdi + 1]
lea rdx, [rsp + 0x3e0]
lea r8, [r9 + 4]
mov r13d, dword [rsi + 0x1f8]
lea r15, [rsp + 0x3e0]
mov r14, r10
shl r8, 4
lea r11d, [rdi + 2]
xor ecx, ecx
mov eax, 1
add r8, rdx
lea rdx, [r10 + 4]
shrx eax, dword [rsi + 0x1f0], eax
shl rdx, 4
add rdx, r15
mov qword [rsp + 0x2d8], rdx
vmovdqu xmmword [rsp + 0x2c0], xmm7
vmovdqu xmm7, xmmword [rsi + 0x1c0]
vmovdqu xmmword [rsp + 0x1b0], xmm7
nop word [rax + rax]
vmovdqu xmm7, xmmword [rsp + 0x1b0]
vpaddq xmm7, xmm7, xmmword [rsp + 0x2c0]
vmovdqu xmmword [rsp + 0x1b0], xmm7
vmovdqu xmmword [rsi + 0x1c0], xmm7
cmp edi, 3
ja 0x47b618
mov rdx, r9
vmovdqu xmm7, xmmword [rbx]
shl rdx, 4
vmovdqu xmmword [rsp + rdx + 0x2e0], xmm7
vmovdqu xmm7, xmmword [rbx + 0x10]
mov rdx, r9
shl rdx, 4
vmovdqu xmmword [r8 - 0x100], xmm7
vmovdqu xmm7, xmmword [rbx + 0x20]
vmovdqu xmmword [rsp + rdx + 0x360], xmm7
vmovdqu xmm7, xmmword [rbx + 0x30]
mov rdx, r9
shl rdx, 4
vmovdqu xmmword [rsp + rdx + 0x3a0], xmm7
cmp r14d, 3
ja 0x47b618
vmovdqu xmm7, xmmword [rbx + 0x40]
mov rdx, r10
shl rdx, 4
vmovdqu xmmword [rsp + rdx + 0x2e0], xmm7
vmovdqu xmm7, xmmword [rbx + 0x50]
mov rdx, qword [rsp + 0x2d8]
vmovdqu xmmword [rdx - 0x100], xmm7
vmovdqu xmm7, xmmword [rbx + 0x60]
mov rdx, r10
shl rdx, 4
vmovdqu xmmword [rsp + rdx + 0x360], xmm7
vmovdqu xmm7, xmmword [rbx + 0x70]
mov rdx, r10
shl rdx, 4
vmovdqu xmmword [rsp + rdx + 0x3a0], xmm7
cmp r11d, 3
ja 0x47b618
vmovdqu xmm7, xmmword [rbx + 0x80]
mov edx, r11d
mov r15, rdx
shl r15, 4
vmovdqu xmmword [rsp + r15 + 0x2e0], xmm7
vmovdqu xmm7, xmmword [rbx + 0x90]
mov r15, rdx
shl r15, 4
vmovdqu xmmword [rsp + r15 + 0x320], xmm7
vmovdqu xmm7, xmmword [rbx + 0xa0]
mov r15, rdx
shl r15, 4
vmovdqu xmmword [rsp + r15 + 0x360], xmm7
vmovdqu xmm7, xmmword [rbx + 0xb0]
vmovdqu xmmword [rsp + r15 + 0x3a0], xmm7
test edi, edi
jne 0x47b618
vmovdqu xmm7, xmmword [rbx + 0xc0]
vmovdqu xmmword [rsp + 0x310], xmm7
vmovdqu xmm7, xmmword [rbx + 0xd0]
vmovdqu xmmword [rsp + 0x350], xmm7
vmovdqu xmm7, xmmword [rbx + 0xe0]
vmovdqu xmmword [rsp + 0x390], xmm7
vmovdqu xmm7, xmmword [rbx + 0xf0]
vmovdqu xmmword [rsp + 0x3d0], xmm7
vmovdqu xmm7, xmmword [rsp + 0x2e0]
vmovdqu xmm1, xmmword [rsp + 0x2f0]
vmovdqu xmm3, xmmword [rsp + 0x320]
vmovdqu xmm5, xmmword [rsp + 0x330]
vmovdqu xmm6, xmmword [rsp + 0x340]
vmovdqu xmm0, xmmword [rsp + 0x350]
vmovdqu xmm13, xmmword [rsp + 0x3a0]
vmovdqu xmm2, xmmword [rsp + 0x300]
vmovdqu xmm8, xmmword [rsp + 0x310]
vmovdqu xmm11, xmmword [rsp + 0x360]
vmovdqu xmm12, xmmword [rsp + 0x370]
vmovdqu xmm4, xmmword [rsp + 0x380]
vmovdqu xmm10, xmmword [rsp + 0x390]
vmovdqu xmm14, xmmword [rsp + 0x3b0]
vmovdqu xmm9, xmmword [rsp + 0x3c0]
vmovdqu xmm15, xmmword [rsp + 0x3d0]
vmovdqu xmmword [rsp + 0x50], xmm7
vmovdqu xmmword [rsp + 0x1c0], xmm7
vmovdqu xmmword [rsp + 0x30], xmm1
vmovdqu xmmword [rsp + 0x90], xmm3
vmovdqu xmmword [rsp + 0x40], xmm5
vmovdqu xmmword [rsp + 0x70], xmm6
vmovdqu xmmword [rsp + 0x20], xmm0
vmovdqu xmmword [rsp + 0x60], xmm13
vmovdqu xmmword [rsp + 0x1d0], xmm2
vmovdqu xmmword [rsp + 0x1e0], xmm1
vmovdqu xmmword [rsp + 0x80], xmm11
vmovdqu xmmword [rsp + 0x1f0], xmm8
vmovdqu xmmword [rsp + 0x200], xmm3
vmovdqu xmmword [rsp + 0x210], xmm6
vmovdqu xmmword [rsp + 0x220], xmm5
vmovdqu xmmword [rsp + 0x230], xmm0
vmovdqu xmmword [rsp + 0x240], xmm11
vmovdqu xmmword [rsp + 0x250], xmm4
vmovdqu xmmword [rsp + 0x260], xmm12
vmovdqu xmmword [rsp + 0x270], xmm10
vmovdqu xmmword [rsp + 0x280], xmm13
vmovdqu xmmword [rsp + 0x290], xmm9
vmovdqu xmmword [rsp + 0x2a0], xmm14
vmovdqu xmmword [rsp + 0x2b0], xmm15
test eax, eax
je 0x47c336
vmovdqu xmm0, xmm14
xor edx, edx
vmovdqu xmm13, xmm10
vmovdqu xmmword [rsp + 0xa0], xmm12
vmovdqu xmm7, xmmword [rsp + 0x1b0]
vmovdqu xmmword [rsp + 0xb0], xmm4
vmovdqu xmm11, xmmword [0x006c3f00]
vmovdqu xmm14, xmmword [rsp + 0x20]
nop word [rax + rax]
vpaddd xmm3, xmm7, xmmword [0x006c3e00]
vmovdqu xmm6, xmmword [rsp + 0x90]
vpxor xmm5, xmm5, xmm5
inc edx
vpaddd xmm12, xmm7, xmmword [0x006c3e10]
vmovdqu xmm10, xmmword [rsp + 0x60]
vmovdqu xmm1, xmmword [rsp + 0x50]
vmovdqu xmm4, xmmword [rsp + 0xa0]
vaesenc xmm3, xmm6, xmm3
vmovdqu xmm6, xmmword [rsp + 0x80]
vaesenc xmm3, xmm3, xmm5
vaesenc xmm1, xmm1, xmm7
vmovdqu xmmword [rsp + 0x20], xmm3
vmovdqu xmm3, xmmword [rsp + 0x30]
vaesenc xmm1, xmm1, xmm5
vaesenc xmm12, xmm6, xmm12
vaesenc xmm6, xmm12, xmm5
vpaddd xmm12, xmm7, xmmword [0x006c3e20]
vmovdqu xmmword [rsp + 0x50], xmm6
vmovdqu xmm6, xmmword [rsp + 0x40]
vaesenc xmm12, xmm10, xmm12
vmovdqu xmm10, xmm5
vaesenc xmm12, xmm12, xmm5
vpaddd xmm5, xmm7, xmmword [0x006c3e30]
vaesenc xmm5, xmm3, xmm5
vpaddd xmm3, xmm7, xmmword [0x006c3e40]
vaesenc xmm5, xmm5, xmm10
vaesenc xmm3, xmm6, xmm3
vpaddd xmm6, xmm7, xmmword [0x006c3e50]
vaesenc xmm3, xmm3, xmm10
vaesenc xmm6, xmm4, xmm6
vmovdqu xmm4, xmm10
vaesenc xmm10, xmm6, xmm10
vpaddd xmm6, xmm7, xmmword [0x006c3e80]
vmovdqu xmmword [rsp + 0x60], xmm10
vpaddd xmm10, xmm7, xmmword [0x006c3e60]
vaesenc xmm10, xmm0, xmm10
vpaddd xmm0, xmm7, xmmword [0x006c3e70]
vaesenc xmm10, xmm10, xmm4
vaesenc xmm2, xmm2, xmm0
vmovdqu xmm0, xmm4
vaesenc xmm2, xmm2, xmm4
vmovdqu xmm4, xmmword [rsp + 0x70]
vmovdqu xmmword [rsp + 0x30], xmm2
vmovdqu xmm2, xmm0
vaesenc xmm6, xmm4, xmm6
vmovdqu xmm4, xmmword [rsp + 0xb0]
vaesenc xmm6, xmm6, xmm0
vpaddd xmm0, xmm7, xmmword [0x006c3e90]
vaesenc xmm4, xmm4, xmm0
vpaddd xmm0, xmm7, xmmword [0x006c3ea0]
vaesenc xmm4, xmm4, xmm2
vaesenc xmm9, xmm9, xmm0
vaesenc xmm0, xmm9, xmm2
vmovdqu xmm9, xmm2
vmovdqu xmmword [rsp + 0x70], xmm0
vpaddd xmm0, xmm7, xmmword [0x006c3eb0]
vaesenc xmm0, xmm8, xmm0
vpaddb xmm8, xmm1, xmm1
vaesenc xmm2, xmm0, xmm2
vpaddd xmm0, xmm7, xmmword [0x006c3ed0]
vmovdqu xmmword [rsp + 0x40], xmm2
vpaddd xmm2, xmm7, xmmword [0x006c3ec0]
vaesenc xmm13, xmm13, xmm0
vpaddd xmm0, xmm7, xmmword [0x006c3ee0]
vaesenc xmm2, xmm14, xmm2
vaesenc xmm13, xmm13, xmm9
vaesenc xmm2, xmm2, xmm9
vaesenc xmm15, xmm15, xmm0
vpsrlw xmm0, xmm1, 7
vpand xmm0, xmm0, xmmword [0x006c3ef0]
vaesenc xmm15, xmm15, xmm9
vpsrlw xmm9, xmm3, 7
vpshufb xmm0, xmm11, xmm0
vpxor xmm14, xmm8, xmm0
vpaddb xmm8, xmm15, xmm15
vmovdqu xmmword [rsp + 0x180], xmm14
vpand xmm9, xmm9, xmmword [0x006c3ef0]
vpxor xmm14, xmm3, xmm1
vmovdqu xmmword [rsp + 0x90], xmm13
vmovdqu xmmword [rsp + 0x1a0], xmm14
vpsrlw xmm14, xmm4, 7
vpxor xmm1, xmm4, xmm1
vpand xmm14, xmm14, xmmword [0x006c3ef0]
vpxor xmm1, xmm1, xmm15
vpshufb xmm0, xmm11, xmm9
vpaddb xmm9, xmm3, xmm3
vpxor xmm9, xmm9, xmm0
vpshufb xmm0, xmm11, xmm14
vpaddb xmm14, xmm4, xmm4
vpxor xmm14, xmm14, xmm0
vpsrlw xmm0, xmm15, 7
vpand xmm0, xmm0, xmmword [0x006c3ef0]
vpshufb xmm0, xmm11, xmm0
vpxor xmm0, xmm8, xmm0
vpaddb xmm8, xmm5, xmm5
vmovdqu xmmword [rsp + 0x170], xmm0
vpsrlw xmm0, xmm5, 7
vpand xmm0, xmm0, xmmword [0x006c3ef0]
vpshufb xmm0, xmm11, xmm0
vpxor xmm0, xmm8, xmm0
vpaddb xmm8, xmm6, xmm6
vmovdqu xmmword [rsp + 0x160], xmm0
vpsrlw xmm0, xmm6, 7
vpand xmm0, xmm0, xmmword [0x006c3ef0]
vpshufb xmm0, xmm11, xmm0
vpxor xmm0, xmm8, xmm0
vpaddb xmm8, xmm13, xmmword [rsp + 0x90]
vmovdqu xmmword [rsp + 0x150], xmm0
vpxor xmm0, xmm6, xmm5
vmovdqu xmmword [rsp + 0x190], xmm0
vpsrlw xmm0, xmm13, 7
vpand xmm0, xmm0, xmmword [0x006c3ef0]
vpshufb xmm0, xmm11, xmm0
vpxor xmm0, xmm8, xmm0
vpaddb xmm8, xmm12, xmm12
vmovdqu xmmword [rsp + 0x140], xmm0
vpsrlw xmm0, xmm12, 7
vpand xmm0, xmm0, xmmword [0x006c3ef0]
vpshufb xmm0, xmm11, xmm0
vpxor xmm8, xmm8, xmm0
vmovdqu xmmword [rsp + 0x130], xmm8
vmovdqu xmm8, xmmword [rsp + 0x30]
vpsrlw xmm0, xmm8, 7
vpand xmm0, xmm0, xmmword [0x006c3ef0]
vpaddb xmm8, xmm8, xmmword [rsp + 0x30]
vpshufb xmm0, xmm11, xmm0
vpxor xmm0, xmm8, xmm0
vpaddb xmm8, xmm2, xmm2
vmovdqu xmmword [rsp + 0x120], xmm0
vpsrlw xmm0, xmm2, 7
vpand xmm0, xmm0, xmmword [0x006c3ef0]
vpshufb xmm0, xmm11, xmm0
vpxor xmm8, xmm8, xmm0
vmovdqu xmmword [rsp + 0x110], xmm8
vpxor xmm8, xmm2, xmmword [rsp + 0x30]
vmovdqu xmmword [rsp + 0xa0], xmm8
vmovdqu xmm8, xmmword [rsp + 0x50]
vpsrlw xmm0, xmm8, 7
vpand xmm0, xmm0, xmmword [0x006c3ef0]
vpaddb xmm8, xmm8, xmmword [rsp + 0x50]
vpshufb xmm0, xmm11, xmm0
vpxor xmm8, xmm8, xmm0
vpsrlw xmm0, xmm10, 7
vpand xmm0, xmm0, xmmword [0x006c3ef0]
vmovdqu xmmword [rsp + 0x100], xmm8
vpaddb xmm8, xmm10, xmm10
vpshufb xmm0, xmm11, xmm0
vpxor xmm0, xmm8, xmm0
vmovdqu xmm8, xmmword [rsp + 0x40]
vmovdqu xmmword [rsp + 0xf0], xmm0
vpsrlw xmm0, xmm8, 7
vpand xmm0, xmm0, xmmword [0x006c3ef0]
vpaddb xmm8, xmm8, xmmword [rsp + 0x40]
vmovdqu xmm13, xmmword [rsp + 0x170]
vpshufb xmm0, xmm11, xmm0
vpxor xmm0, xmm8, xmm0
vmovdqu xmm8, xmmword [rsp + 0x20]
vmovdqu xmmword [rsp + 0x80], xmm0
vpsrlw xmm0, xmm8, 7
vpand xmm0, xmm0, xmmword [0x006c3ef0]
vpaddb xmm8, xmm8, xmmword [rsp + 0x20]
vpshufb xmm0, xmm11, xmm0
vpxor xmm0, xmm8, xmm0
vmovdqu xmm8, xmmword [rsp + 0x40]
vpxor xmm8, xmm8, xmmword [rsp + 0x20]
vmovdqu xmmword [rsp + 0xe0], xmm0
vmovdqu xmmword [rsp + 0xb0], xmm8
vmovdqu xmm8, xmmword [rsp + 0x60]
vpsrlw xmm0, xmm8, 7
vpand xmm0, xmm0, xmmword [0x006c3ef0]
vpaddb xmm8, xmm8, xmmword [rsp + 0x60]
vpshufb xmm0, xmm11, xmm0
vpxor xmm8, xmm8, xmm0
vmovdqu xmm0, xmmword [rsp + 0x70]
vmovdqu xmmword [rsp + 0xd0], xmm8
vpsrlw xmm8, xmm0, 7
vpand xmm8, xmm8, xmmword [0x006c3ef0]
vpaddb xmm0, xmm0, xmmword [rsp + 0x70]
vpshufb xmm8, xmm11, xmm8
vpxor xmm0, xmm0, xmm8
vmovdqu xmm8, xmmword [rsp + 0x180]
vmovdqu xmmword [rsp + 0xc0], xmm0
vpxor xmm0, xmm4, xmm3
vpaddd xmm3, xmm7, xmmword [0x006c3f10]
vpxor xmm0, xmm0, xmm15
vpxor xmm0, xmm0, xmm8
vpxor xmm0, xmm0, xmm9
vpxor xmm9, xmm1, xmm9
vpaddd xmm1, xmm7, xmmword [0x006c3f20]
vpxor xmm9, xmm9, xmm14
vaesenc xmm0, xmm0, xmm3
vpxor xmm3, xmm3, xmm3
vaesenc xmm0, xmm0, xmm3
vaesenc xmm9, xmm9, xmm1
vaesenc xmm1, xmm9, xmm3
vmovdqu xmm9, xmmword [rsp + 0x1a0]
vmovdqu xmmword [rsp + 0x180], xmm1
vpaddd xmm1, xmm7, xmmword [0x006c3f30]
vpxor xmm15, xmm15, xmm9
vpxor xmm14, xmm15, xmm14
vmovdqu xmm15, xmm3
vpxor xmm14, xmm14, xmm13
vaesenc xmm14, xmm14, xmm1
vpaddd xmm1, xmm7, xmmword [0x006c3f40]
vaesenc xmm14, xmm14, xmm3
vpxor xmm3, xmm4, xmm9
vmovdqu xmm9, xmmword [rsp + 0x160]
vmovdqu xmm4, xmm15
vpxor xmm3, xmm3, xmm8
vmovdqu xmm8, xmmword [rsp + 0x90]
vpxor xmm3, xmm3, xmm13
vmovdqu xmm13, xmmword [rsp + 0x150]
vaesenc xmm3, xmm3, xmm1
vpaddd xmm1, xmm7, xmmword [0x006c3f50]
vaesenc xmm3, xmm3, xmm15
vpxor xmm6, xmm6, xmm8
vpxor xmm6, xmm6, xmm12
vpxor xmm6, xmm6, xmm9
vpxor xmm6, xmm6, xmm13
vaesenc xmm6, xmm6, xmm1
vpaddd xmm1, xmm7, xmmword [0x006c3f60]
vaesenc xmm15, xmm6, xmm15
vmovdqu xmm6, xmm8
vpxor xmm8, xmm5, xmm8
vmovdqu xmmword [rsp + 0x150], xmm15
vmovdqu xmm15, xmmword [rsp + 0x140]
vpxor xmm8, xmm8, xmm12
vmovdqu xmm5, xmm4
vpxor xmm8, xmm8, xmm13
vmovdqu xmm13, xmm5
vpxor xmm8, xmm8, xmm15
vaesenc xmm1, xmm8, xmm1
vaesenc xmm1, xmm1, xmm4
vmovdqu xmm4, xmmword [rsp + 0x190]
vpxor xmm12, xmm12, xmm4
vpxor xmm8, xmm12, xmm15
vmovdqu xmm12, xmmword [rsp + 0x130]
vpaddd xmm15, xmm7, xmmword [0x006c3f70]
vpxor xmm8, xmm8, xmm12
vaesenc xmm8, xmm8, xmm15
vaesenc xmm15, xmm8, xmm5
vpxor xmm8, xmm4, xmm6
vpaddd xmm4, xmm7, xmmword [0x006c3f80]
vmovdqu xmm6, xmmword [rsp + 0x50]
vpxor xmm8, xmm8, xmm9
vmovdqu xmm9, xmmword [rsp + 0x120]
vpxor xmm8, xmm8, xmm12
vmovdqu xmm12, xmmword [rsp + 0x110]
vaesenc xmm8, xmm8, xmm4
vpxor xmm2, xmm2, xmm6
vaesenc xmm4, xmm8, xmm5
vpxor xmm2, xmm2, xmm10
vpxor xmm8, xmm6, xmmword [rsp + 0x30]
vmovdqu xmmword [rsp + 0x130], xmm4
vpaddd xmm4, xmm7, xmmword [0x006c3f90]
vpxor xmm2, xmm2, xmm9
vpxor xmm2, xmm2, xmm12
vpxor xmm8, xmm8, xmm10
vaesenc xmm2, xmm2, xmm4
vmovdqu xmm4, xmmword [rsp + 0x100]
vpxor xmm8, xmm8, xmm12
vmovdqu xmm12, xmmword [rsp + 0x60]
vaesenc xmm2, xmm2, xmm5
vpaddd xmm5, xmm7, xmmword [0x006c3fa0]
vmovdqu xmmword [rsp + 0x110], xmm2
vmovdqu xmm2, xmmword [rsp + 0xa0]
vpxor xmm8, xmm8, xmm4
vaesenc xmm5, xmm8, xmm5
vpxor xmm10, xmm10, xmm2
vaesenc xmm5, xmm5, xmm13
vpxor xmm8, xmm10, xmm4
vmovdqu xmm10, xmmword [rsp + 0xf0]
vpaddd xmm4, xmm7, xmmword [0x006c3fb0]
vmovdqu xmmword [rsp + 0x100], xmm5
vmovdqu xmm5, xmmword [rsp + 0xe0]
vpxor xmm8, xmm8, xmm10
vaesenc xmm4, xmm8, xmm4
vpxor xmm8, xmm2, xmm6
vpaddd xmm2, xmm7, xmmword [0x006c3fc0]
vmovdqu xmm6, xmmword [rsp + 0x20]
vaesenc xmm4, xmm4, xmm13
vpxor xmm8, xmm8, xmm9
vpxor xmm8, xmm8, xmm10
vmovdqu xmm10, xmmword [rsp + 0x70]
vaesenc xmm8, xmm8, xmm2
vaesenc xmm2, xmm8, xmm13
vpaddd xmm8, xmm7, xmmword [0x006c3ff0]
vmovdqu xmmword [rsp + 0xf0], xmm2
vpxor xmm2, xmm6, xmm12
vpaddd xmm6, xmm7, xmmword [0x006c3fd0]
vpxor xmm2, xmm2, xmm10
vpxor xmm2, xmm2, xmmword [rsp + 0x80]
vpxor xmm2, xmm2, xmm5
vaesenc xmm2, xmm2, xmm6
vpaddd xmm6, xmm7, xmmword [0x006c3fe0]
vaesenc xmm9, xmm2, xmm13
vpxor xmm2, xmm12, xmmword [rsp + 0x40]
vmovdqu xmmword [rsp + 0x20], xmm9
vmovdqu xmm9, xmmword [rsp + 0xb0]
vpxor xmm2, xmm2, xmm10
vpxor xmm2, xmm2, xmm5
vmovdqu xmm5, xmmword [rsp + 0xd0]
vpxor xmm2, xmm2, xmm5
vaesenc xmm2, xmm2, xmm6
vpxor xmm6, xmm10, xmm9
vmovdqu xmm10, xmmword [rsp + 0xc0]
vpxor xmm6, xmm6, xmm5
vaesenc xmm2, xmm2, xmm13
vpxor xmm6, xmm6, xmm10
vaesenc xmm6, xmm6, xmm8
vpxor xmm8, xmm9, xmm12
vpxor xmm8, xmm8, xmmword [rsp + 0x80]
vpaddd xmm9, xmm7, xmmword [0x006c4000]
vaesenc xmm6, xmm6, xmm13
vpsrlw xmm12, xmm4, 7
vpand xmm12, xmm12, xmmword [0x006c3ef0]
vpaddd xmm7, xmm7, xmmword [0x006c4010]
vpxor xmm8, xmm8, xmm10
vpsrlw xmm10, xmm0, 7
vpand xmm10, xmm10, xmmword [0x006c3ef0]
vaesenc xmm8, xmm8, xmm9
vaesenc xmm8, xmm8, xmm13
vpsrlw xmm13, xmm1, 7
vpand xmm13, xmm13, xmmword [0x006c3ef0]
vpaddb xmm5, xmm8, xmm8
vpshufb xmm9, xmm11, xmm10
vpaddb xmm10, xmm0, xmm0
vpxor xmm10, xmm10, xmm9
vpshufb xmm9, xmm11, xmm13
vpaddb xmm13, xmm1, xmm1
vpxor xmm13, xmm13, xmm9
vpxor xmm9, xmm1, xmm0
vpxor xmm1, xmm4, xmm1
vpxor xmm0, xmm4, xmm0
vmovdqu xmmword [rsp + 0x30], xmm9
vpshufb xmm9, xmm11, xmm12
vpaddb xmm12, xmm4, xmm4
vpxor xmm1, xmm1, xmm8
vpxor xmm12, xmm12, xmm9
vpsrlw xmm9, xmm8, 7
vpand xmm9, xmm9, xmmword [0x006c3ef0]
vpxor xmm1, xmm1, xmm10
vpxor xmm0, xmm0, xmm8
vpxor xmm0, xmm0, xmm13
vpshufb xmm9, xmm11, xmm9
vpxor xmm9, xmm9, xmm5
vpxor xmm5, xmm1, xmm13
vmovdqu xmmword [rsp + 0x50], xmm5
vpxor xmm5, xmm0, xmm12
vmovdqu xmm0, xmmword [rsp + 0x30]
vmovdqu xmmword [rsp + 0x90], xmm5
vpxor xmm8, xmm8, xmm0
vpxor xmm4, xmm4, xmm0
vpxor xmm8, xmm8, xmm12
vpxor xmm4, xmm4, xmm10
vmovdqu xmm12, xmmword [rsp + 0x150]
vpaddb xmm10, xmm3, xmm3
vpxor xmm5, xmm8, xmm9
vpsrlw xmm8, xmm6, 7
vpand xmm8, xmm8, xmmword [0x006c3ef0]
vmovdqu xmmword [rsp + 0x80], xmm5
vpxor xmm5, xmm4, xmm9
vmovdqu xmmword [rsp + 0x60], xmm5
vmovdqu xmm5, xmmword [rsp + 0x100]
vpsrlw xmm4, xmm12, 7
vpand xmm4, xmm4, xmmword [0x006c3ef0]
vpsrlw xmm9, xmm5, 7
vpand xmm9, xmm9, xmmword [0x006c3ef0]
vpxor xmm1, xmm12, xmm5
vpshufb xmm0, xmm11, xmm4
vpaddb xmm4, xmm12, xmm12
vpxor xmm4, xmm4, xmm0
vpshufb xmm0, xmm11, xmm9
vpaddb xmm9, xmm5, xmm5
vpxor xmm5, xmm6, xmm5
vpxor xmm9, xmm9, xmm0
vpshufb xmm0, xmm11, xmm8
vpaddb xmm8, xmm6, xmm6
vpxor xmm5, xmm5, xmm3
vpxor xmm8, xmm8, xmm0
vpsrlw xmm0, xmm3, 7
vpand xmm0, xmm0, xmmword [0x006c3ef0]
vpxor xmm5, xmm5, xmm4
vpxor xmm5, xmm5, xmm9
vmovdqu xmmword [rsp + 0x30], xmm5
vpshufb xmm0, xmm11, xmm0
vpxor xmm10, xmm10, xmm0
vpxor xmm0, xmm6, xmm12
vmovdqu xmm12, xmmword [rsp + 0x130]
vpxor xmm0, xmm0, xmm3
vpxor xmm3, xmm1, xmm3
vpxor xmm1, xmm1, xmm6
vmovdqu xmm6, xmmword [rsp + 0x110]
vpxor xmm0, xmm0, xmm9
vpxor xmm1, xmm1, xmm4
vpsrlw xmm4, xmm14, 7
vpand xmm4, xmm4, xmmword [0x006c3ef0]
vpxor xmm5, xmm0, xmm8
vpxor xmm3, xmm3, xmm8
vpsrlw xmm8, xmm2, 7
vpand xmm8, xmm8, xmmword [0x006c3ef0]
vmovdqu xmmword [rsp + 0x40], xmm5
vpxor xmm5, xmm3, xmm10
vpxor xmm0, xmm1, xmm10
vpsrlw xmm10, xmm15, 7
vmovdqu xmmword [rsp + 0xa0], xmm5
vpaddb xmm9, xmm12, xmm12
vpsrlw xmm5, xmm6, 7
vpand xmm5, xmm5, xmmword [0x006c3ef0]
vpshufb xmm3, xmm11, xmm4
vpaddb xmm4, xmm14, xmm14
vpxor xmm4, xmm4, xmm3
vpsrlw xmm3, xmm12, 7
vpand xmm3, xmm3, xmmword [0x006c3ef0]
vpshufb xmm1, xmm11, xmm5
vpaddb xmm5, xmm6, xmm6
vpxor xmm5, xmm5, xmm1
vpshufb xmm1, xmm11, xmm8
vpaddb xmm8, xmm2, xmm2
vpxor xmm8, xmm8, xmm1
vpxor xmm1, xmm2, xmm6
vpxor xmm6, xmm14, xmm6
vpxor xmm2, xmm2, xmm14
vpxor xmm6, xmm6, xmm12
vpshufb xmm3, xmm11, xmm3
vpxor xmm2, xmm2, xmm12
vpxor xmm6, xmm6, xmm8
vpxor xmm3, xmm9, xmm3
vpxor xmm2, xmm2, xmm5
vpxor xmm6, xmm6, xmm4
vpxor xmm2, xmm2, xmm8
vmovdqu xmmword [rsp + 0x70], xmm6
vpxor xmm6, xmm1, xmm12
vpxor xmm1, xmm1, xmm14
vpxor xmm1, xmm1, xmm5
vpxor xmm4, xmm6, xmm4
vpxor xmm4, xmm4, xmm3
vpxor xmm9, xmm1, xmm3
vmovdqu xmm3, xmmword [rsp + 0x20]
vmovdqu xmmword [rsp + 0xb0], xmm4
vpsrlw xmm6, xmm3, 7
vpand xmm6, xmm6, xmmword [0x006c3ef0]
vmovdqu xmm13, xmmword [rsp + 0x180]
vmovdqu xmm14, xmmword [rsp + 0xf0]
vpand xmm10, xmm10, xmmword [0x006c3ef0]
vpsrlw xmm12, xmm13, 7
vpand xmm12, xmm12, xmmword [0x006c3ef0]
vpshufb xmm1, xmm11, xmm6
vpaddb xmm6, xmm3, xmm3
vpsrlw xmm5, xmm14, 7
vpand xmm5, xmm5, xmmword [0x006c3ef0]
vpxor xmm6, xmm6, xmm1
vpxor xmm8, xmm15, xmm13
vmovdqu xmm4, xmm14
vpxor xmm8, xmm8, xmm14
vpxor xmm3, xmm3, xmm13
vpxor xmm8, xmm8, xmm6
vpshufb xmm1, xmm11, xmm12
vpaddb xmm12, xmm13, xmm13
vpxor xmm13, xmm3, xmm4
vpxor xmm3, xmm3, xmm15
vpxor xmm12, xmm12, xmm1
vpshufb xmm1, xmm11, xmm10
vpaddb xmm10, xmm15, xmm15
vpxor xmm3, xmm3, xmm6
vpxor xmm10, xmm10, xmm1
vpshufb xmm1, xmm11, xmm5
vpaddb xmm5, xmm14, xmm14
vpxor xmm14, xmm15, xmmword [rsp + 0x20]
vpxor xmm5, xmm5, xmm1
vpxor xmm13, xmm13, xmm10
vpxor xmm8, xmm8, xmm12
vpxor xmm13, xmm13, xmm5
vpxor xmm15, xmm3, xmm5
vpxor xmm14, xmm14, xmm4
vpxor xmm14, xmm14, xmm12
vpxor xmm14, xmm14, xmm10
cmp edx, eax
jne 0x47b7b0
vmovdqu xmm1, xmmword [rsp + 0x30]
vmovdqu xmm12, xmmword [rsp + 0xa0]
vmovdqu xmm7, xmm14
vmovdqu xmmword [rsp + 0x20], xmm14
vmovdqu xmm4, xmmword [rsp + 0xb0]
vmovdqu xmm10, xmm13
vmovdqu xmm14, xmm0
vmovdqu xmmword [rsp + 0x3b0], xmm0
vmovdqu xmmword [rsp + 0x300], xmm2
vmovdqu xmmword [rsp + 0x3c0], xmm9
vmovdqu xmmword [rsp + 0x310], xmm8
vmovdqu xmmword [rsp + 0x350], xmm7
vmovdqu xmmword [rsp + 0x390], xmm13
vmovdqu xmmword [rsp + 0x3d0], xmm15
vmovdqu xmmword [rsp + 0x2f0], xmm1
vmovdqu xmm1, xmmword [rsp + 0x40]
vmovdqu xmmword [rsp + 0x370], xmm12
vmovdqu xmmword [rsp + 0x380], xmm4
vmovdqu xmmword [rsp + 0x330], xmm1
vmovdqu xmm1, xmmword [rsp + 0x70]
vmovdqu xmmword [rsp + 0x340], xmm1
vmovdqu xmm7, xmmword [rsp + 0x1c0]
vpxor xmm0, xmm7, xmmword [rsp + 0x1d0]
cmp r12d, 0x100
je 0x47c5a0
vmovdqu xmm7, xmmword [rsp + 0x1e0]
vpxor xmm3, xmm0, xmmword [rsp + 0x50]
vpxor xmm0, xmm7, xmmword [rsp + 0x1f0]
vpxor xmm0, xmm0, xmmword [rsp + 0x30]
vpxor xmm3, xmm3, xmm2
vmovdqu xmmword [rsp + 0x2e0], xmm3
vpxor xmm7, xmm0, xmm8
vmovdqu xmmword [rsp + 0x30], xmm7
vmovdqu xmmword [rsp + 0x2f0], xmm7
vmovdqu xmm7, xmmword [rsp + 0x200]
vpxor xmm0, xmm7, xmmword [rsp + 0x210]
vmovdqu xmm7, xmmword [rsp + 0x220]
vpxor xmm0, xmm0, xmmword [rsp + 0x90]
vpxor xmm1, xmm0, xmmword [rsp + 0x70]
vpxor xmm0, xmm7, xmmword [rsp + 0x230]
vpxor xmm0, xmm0, xmmword [rsp + 0x40]
vpxor xmm7, xmm0, xmmword [rsp + 0x20]
vmovdqu xmmword [rsp + 0x320], xmm1
vmovdqu xmmword [rsp + 0x40], xmm7
vmovdqu xmmword [rsp + 0x330], xmm7
vmovdqu xmm7, xmmword [rsp + 0x240]
vpxor xmm0, xmm7, xmmword [rsp + 0x250]
vmovdqu xmm7, xmmword [rsp + 0x260]
vpxor xmm13, xmm0, xmmword [rsp + 0x80]
vpxor xmm0, xmm7, xmmword [rsp + 0x270]
vmovdqu xmm7, xmmword [rsp + 0x280]
vpxor xmm5, xmm0, xmm12
vpxor xmm0, xmm7, xmmword [rsp + 0x290]
vmovdqu xmm7, xmmword [rsp + 0x2a0]
vpxor xmm13, xmm13, xmm4
vpxor xmm12, xmm5, xmm10
vpxor xmm5, xmm7, xmmword [rsp + 0x2b0]
vpxor xmm0, xmm0, xmmword [rsp + 0x60]
vmovdqu xmmword [rsp + 0x360], xmm13
vmovdqu xmmword [rsp + 0x370], xmm12
vpxor xmm6, xmm5, xmm14
vpxor xmm0, xmm0, xmm9
vpxor xmm14, xmm6, xmm15
vmovdqu xmmword [rsp + 0x3a0], xmm0
vmovdqu xmmword [rsp + 0x3b0], xmm14
inc ecx
add rbx, r13
cmp ebp, ecx
jne 0x47b490
vmovdqu xmm5, xmm12
vmovdqu xmm12, xmmword [rsp + 0x40]
vmovdqu xmm7, xmm8
vmovdqu xmm6, xmm14
vmovdqu xmm11, xmm4
vmovdqu xmm8, xmm15
vmovdqu xmm14, xmm9
vmovdqu xmm4, xmm13
vmovdqu xmm15, xmm7
vmovdqu xmm7, xmmword [rsp + 0x30]
vmovdqu xmmword [rsi + 0x30], xmm15
vmovdqu xmmword [rsi + 0x50], xmm12
vmovups xmm9, xmmword [rsp + 0x410]
vmovdqu xmmword [rsi + 0xa0], xmm11
vmovdqu xmmword [rsi + 0xb0], xmm10
vmovdqu xmmword [rsi + 0xd0], xmm6
vmovdqu xmmword [rsi + 0xe0], xmm14
vmovdqu xmmword [rsi + 0xf0], xmm8
vmovdqu xmmword [rsi], xmm3
vmovdqu xmmword [rsi + 0x20], xmm2
vmovdqu xmmword [rsi + 0x40], xmm1
vmovdqu xmmword [rsi + 0x80], xmm4
vmovdqu xmmword [rsi + 0x90], xmm5
vmovdqu xmmword [rsi + 0xc0], xmm0
vmovups xmm6, xmmword [rsp + 0x3e0]
vmovdqu xmmword [rsi + 0x10], xmm7
vmovdqu xmm7, xmmword [rsp + 0x70]
vmovups xmm8, xmmword [rsp + 0x400]
vmovups xmm10, xmmword [rsp + 0x420]
vmovups xmm11, xmmword [rsp + 0x430]
vmovups xmm12, xmmword [rsp + 0x440]
vmovups xmm13, xmmword [rsp + 0x450]
vmovups xmm14, xmmword [rsp + 0x460]
vmovups xmm15, xmmword [rsp + 0x470]
vmovdqu xmmword [rsi + 0x60], xmm7
vmovdqu xmm7, xmmword [rsp + 0x20]
vmovdqu xmmword [rsi + 0x70], xmm7
vmovups xmm7, xmmword [rsp + 0x3f0]
add rsp, 0x488
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
vpxor xmm0, xmm0, xmmword [rsp + 0x1e0]
vmovdqu xmm7, xmmword [rsp + 0x200]
vpxor xmm0, xmm0, xmmword [rsp + 0x1f0]
vpxor xmm3, xmm0, xmmword [rsp + 0x50]
vpxor xmm0, xmm7, xmmword [rsp + 0x210]
vpxor xmm0, xmm0, xmmword [rsp + 0x220]
vmovdqu xmm7, xmmword [rsp + 0x240]
vpxor xmm0, xmm0, xmmword [rsp + 0x230]
vpxor xmm1, xmm0, xmmword [rsp + 0x90]
vpxor xmm0, xmm7, xmmword [rsp + 0x250]
vpxor xmm0, xmm0, xmmword [rsp + 0x260]
vmovdqu xmm7, xmmword [rsp + 0x280]
vpxor xmm0, xmm0, xmmword [rsp + 0x270]
vpxor xmm1, xmm1, xmmword [rsp + 0x70]
vpxor xmm13, xmm0, xmmword [rsp + 0x80]
vpxor xmm0, xmm7, xmmword [rsp + 0x290]
vpxor xmm0, xmm0, xmmword [rsp + 0x2a0]
vpxor xmm1, xmm1, xmmword [rsp + 0x40]
vpxor xmm0, xmm0, xmmword [rsp + 0x2b0]
vpxor xmm3, xmm3, xmm2
vpxor xmm3, xmm3, xmmword [rsp + 0x30]
vpxor xmm0, xmm0, xmmword [rsp + 0x60]
vpxor xmm1, xmm1, xmmword [rsp + 0x20]
vpxor xmm13, xmm13, xmm4
vpxor xmm13, xmm13, xmm12
vpxor xmm3, xmm3, xmm8
vpxor xmm13, xmm13, xmm10
vpxor xmm0, xmm0, xmm9
vmovdqu xmmword [rsp + 0x2e0], xmm3
vmovdqu xmmword [rsp + 0x320], xmm1
vpxor xmm0, xmm0, xmm14
vmovdqu xmmword [rsp + 0x360], xmm13
vpxor xmm0, xmm0, xmm15
vmovdqu xmmword [rsp + 0x3a0], xmm0
jmp 0x47c483
vmovdqu xmm7, xmmword [rsp + 0x2f0]
vmovdqu xmm3, xmmword [rsp + 0x2e0]
vmovdqu xmm15, xmmword [rsp + 0x310]
vmovdqu xmm1, xmmword [rsp + 0x320]
vmovdqu xmm12, xmmword [rsp + 0x330]
vmovdqu xmm4, xmmword [rsp + 0x360]
vmovdqu xmm0, xmmword [rsp + 0x3a0]
vmovdqu xmm8, xmmword [rsp + 0x3d0]
vmovdqu xmmword [rsp + 0x30], xmm7
vmovdqu xmm7, xmmword [rsp + 0x300]
vmovdqu xmm2, xmm7
vmovdqu xmm7, xmmword [rsp + 0x340]
vmovdqu xmmword [rsp + 0x70], xmm7
vmovdqu xmm7, xmmword [rsp + 0x350]
vmovdqu xmmword [rsp + 0x20], xmm7
vmovdqu xmm7, xmmword [rsp + 0x370]
vmovdqu xmm5, xmm7
vmovdqu xmm7, xmmword [rsp + 0x380]
vmovdqu xmm11, xmm7
vmovdqu xmm7, xmmword [rsp + 0x390]
vmovdqu xmm10, xmm7
vmovdqu xmm7, xmmword [rsp + 0x3b0]
vmovdqu xmm6, xmm7
vmovdqu xmm7, xmmword [rsp + 0x3c0]
vmovdqu xmm14, xmm7
jmp 0x47c4b8