Function at 0x495440
Capabilities:
Encode data using xor
Encrypt data using aes via x86 extensions
Resolve function by parsing pe exports

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x138
vmovups xmmword [rsp + 0x90], xmm6
vmovups xmmword [rsp + 0xa0], xmm7
vmovups xmmword [rsp + 0xb0], xmm8
vmovups xmmword [rsp + 0xc0], xmm9
vmovups xmmword [rsp + 0xd0], xmm10
vmovups xmmword [rsp + 0xe0], xmm11
vmovups xmmword [rsp + 0xf0], xmm12
vmovups xmmword [rsp + 0x100], xmm13
vmovups xmmword [rsp + 0x110], xmm14
vmovups xmmword [rsp + 0x120], xmm15
mov esi, 0x20
vpxor xmm15, xmm15, xmm15
vmovdqu xmm0, xmmword [rcx]
vmovd dword [rsp], xmm0
vpextrd dword [rsp + 4], xmm0, 1
vpextrd dword [rsp + 8], xmm0, 2
vmovdqu xmm0, xmmword [rcx + 0x10]
vmovd dword [rsp + 0xc], xmm0
vpextrd dword [rsp + 0x10], xmm0, 1
vpextrd dword [rsp + 0x14], xmm0, 2
vmovdqu xmm0, xmmword [rcx + 0x20]
vmovd dword [rsp + 0x18], xmm0
vpextrd dword [rsp + 0x1c], xmm0, 1
vpextrd dword [rsp + 0x20], xmm0, 2
vmovdqu xmm0, xmmword [rcx + 0x30]
vmovd dword [rsp + 0x24], xmm0
vpextrd dword [rsp + 0x28], xmm0, 1
vpextrd dword [rsp + 0x2c], xmm0, 2
vmovdqu xmm0, xmmword [rcx + 0x40]
vmovd dword [rsp + 0x30], xmm0
vpextrd dword [rsp + 0x34], xmm0, 1
vpextrd dword [rsp + 0x38], xmm0, 2
vmovdqu xmm0, xmmword [rcx + 0x50]
vmovd dword [rsp + 0x3c], xmm0
vpextrd dword [rsp + 0x40], xmm0, 1
vpextrd dword [rsp + 0x44], xmm0, 2
vmovdqu xmm0, xmmword [rcx + 0x60]
vmovd dword [rsp + 0x48], xmm0
vpextrd dword [rsp + 0x4c], xmm0, 1
vpextrd dword [rsp + 0x50], xmm0, 2
vmovdqu xmm0, xmmword [rcx + 0x70]
vmovd dword [rsp + 0x54], xmm0
vpextrd dword [rsp + 0x58], xmm0, 1
vpextrd dword [rsp + 0x5c], xmm0, 2
vmovdqu xmm0, xmmword [rcx + 0x80]
mov eax, dword [rcx + 0xc0]
vmovdqu xmm7, xmmword [0x00693010]
vmovd dword [rsp + 0x60], xmm0
vpextrd dword [rsp + 0x64], xmm0, 1
vpextrd dword [rsp + 0x68], xmm0, 2
vmovdqu xmm0, xmmword [rcx + 0x90]
lea eax, [rax + rax*2]
vmovdqu xmm8, xmmword [0x00693020]
vmovdqu xmm9, xmmword [0x00693040]
vmovd dword [rsp + 0x6c], xmm0
vpextrd dword [rsp + 0x70], xmm0, 1
shl eax, 2
vpextrd dword [rsp + 0x74], xmm0, 2
vmovdqu xmm0, xmmword [rcx + 0xa0]
vmovdqu xmm10, xmmword [0x00693090]
vmovdqu xmm11, xmmword [0x00693080]
vmovdqu xmm12, xmmword [0x00693070]
vmovd dword [rsp + 0x78], xmm0
vpextrd dword [rsp + 0x7c], xmm0, 1
vpextrd dword [rsp + 0x80], xmm0, 2
vmovdqu xmm0, xmmword [rcx + 0xb0]
mov ecx, 0x24
vmovdqu xmm13, xmmword [0x00693060]
vmovd dword [rsp + 0x84], xmm0
sub ecx, eax
vpextrd dword [rsp + 0x88], xmm0, 1
vpextrd dword [rsp + 0x8c], xmm0, 2
mov eax, ecx
imul rax, rax, 0x38e38e39
shr rax, 0x23
lea eax, [rax + rax*8]
shl eax, 2
sub ecx, eax
mov eax, ecx
nop
add eax, 0x21
mov rcx, rax
imul rax, rax, 0x38e38e39
shr rax, 0x23
lea eax, [rax + rax*8]
shl eax, 2
sub ecx, eax
mov eax, ecx
lea ecx, [rcx + 4]
mov r11, rcx
imul rcx, rcx, 0x38e38e39
mov r12d, r11d
shr rcx, 0x23
lea r8d, [rcx + rcx*8]
mov ecx, eax
shl r8d, 2
sub r12d, r8d
mov r8d, dword [rsp + rcx*4]
xor r8d, dword [rsp + r12*4]
mov dword [rsp + rcx*4], r8d
lea r8d, [rax + 1]
mov r9, r8
imul r8, r8, 0x38e38e39
shr r8, 0x23
lea r10d, [r8 + r8*8]
lea r8d, [rax + 5]
mov rbp, r8
imul r8, r8, 0x38e38e39
shl r10d, 2
sub r9d, r10d
lea r10d, [rax + 2]
shr r8, 0x23
lea r8d, [r8 + r8*8]
shl r8d, 2
sub ebp, r8d
mov r8d, dword [rsp + r9*4]
xor r8d, dword [rsp + rbp*4]
mov dword [rsp + r9*4], r8d
mov r8, r10
imul r10, r10, 0x38e38e39
shr r10, 0x23
lea ebx, [r10 + r10*8]
lea r10d, [rax + 6]
mov rdi, r10
imul r10, r10, 0x38e38e39
shl ebx, 2
sub r8d, ebx
shr r10, 0x23
lea r10d, [r10 + r10*8]
shl r10d, 2
sub edi, r10d
mov r10d, dword [rsp + r8*4]
xor r10d, dword [rsp + rdi*4]
mov dword [rsp + r8*4], r10d
lea r10d, [rax + 0x12]
mov rbx, r10
imul r10, r10, 0x38e38e39
mov r13d, ebx
shr r10, 0x23
lea r10d, [r10 + r10*8]
shl r10d, 2
sub r13d, r10d
mov r10d, dword [rsp + r13*4]
xor r10d, dword [rsp + r12*4]
mov dword [rsp + r13*4], r10d
lea r10d, [rax + 0x13]
mov r12, r10
imul r10, r10, 0x38e38e39
mov r13d, r12d
shr r10, 0x23
lea r10d, [r10 + r10*8]
shl r10d, 2
sub r13d, r10d
lea r10d, [rax + 0x14]
mov r12d, dword [rsp + r13*4]
xor r12d, dword [rsp + rbp*4]
mov rbp, r10
imul r10, r10, 0x38e38e39
mov dword [rsp + r13*4], r12d
mov r13d, ebp
shr r10, 0x23
lea r10d, [r10 + r10*8]
shl r10d, 2
sub r13d, r10d
lea r10d, [rax + 3]
mov ebp, dword [rsp + r13*4]
xor ebp, dword [rsp + rdi*4]
mov rdi, r10
imul r10, r10, 0x38e38e39
mov dword [rsp + r13*4], ebp
mov ebp, edi
vmovd xmm3, dword [rsp + r8*4]
vmovd xmm6, dword [rsp + rcx*4]
vpinsrd xmm0, xmm6, dword [rsp + r9*4], 1
shr r10, 0x23
lea r10d, [r10 + r10*8]
shl r10d, 2
sub ebp, r10d
vpinsrd xmm1, xmm3, dword [rsp + rbp*4], 1
vpunpcklqdq xmm0, xmm0, xmm1
vpshufb xmm0, xmm0, xmmword [0x00693030]
vaesenclast xmm0, xmm0, xmm15
vpsrlw xmm5, xmm0, 6
vpaddb xmm2, xmm0, xmm0
vpand xmm5, xmm5, xmmword [0x00693000]
vpshufb xmm4, xmm0, xmmword [0x006930d0]
vpaddb xmm14, xmm2, xmm2
vpshufb xmm1, xmm7, xmm5
vpshufb xmm5, xmm8, xmm5
vpxor xmm14, xmm14, xmm1
vpxor xmm5, xmm5, xmm2
vpshufb xmm1, xmm0, xmmword [0x006930c0]
vpshufb xmm3, xmm1, xmmword [0x006930b0]
vpshufb xmm2, xmm5, xmm10
vpxor xmm3, xmm3, xmm1
vpxor xmm1, xmm0, xmm5
vpshufb xmm5, xmm14, xmm11
vpshufb xmm6, xmm3, xmmword [0x006930a0]
vpxor xmm1, xmm1, xmm14
vpshufb xmm14, xmm14, xmm12
vpshufb xmm1, xmm1, xmmword [0x00693050]
vpxor xmm2, xmm2, xmm14
vpxor xmm4, xmm6, xmm4
vpshufb xmm0, xmm1, xmm9
vpshufb xmm14, xmm2, xmm13
vpxor xmm2, xmm3, xmm2
vpxor xmm0, xmm1, xmm0
vpxor xmm5, xmm5, xmm14
vpxor xmm0, xmm0, xmm4
vpxor xmm0, xmm0, xmm5
vpxor xmm0, xmm0, xmm2
vmovd dword [rsp + rcx*4], xmm0
vpextrd dword [rsp + r9*4], xmm0, 1
vpextrd dword [rsp + r8*4], xmm0, 2
vpextrd dword [rsp + rbp*4], xmm0, 3
sub esi, 1
jne 0x495670
mov esi, 0xd
jmp 0x4958e7
lea r11d, [rcx + 4]
lea ebx, [rcx + 0x12]
mov r8d, r11d
vpxor xmm6, xmm6, xmm6
imul r8, r8, 0x38e38e39
shr r8, 0x23
lea r8d, [r8 + r8*8]
shl r8d, 2
sub r11d, r8d
mov r8d, dword [rsp + r11*4]
xor r8d, dword [rsp + rcx*4]
mov dword [rsp + r11*4], r8d
lea r8d, [rax + 9]
mov r9, r8
imul r8, r8, 0x38e38e39
mov edi, r9d
shr r8, 0x23
lea r8d, [r8 + r8*8]
shl r8d, 2
sub edi, r8d
mov r8d, ebx
imul r8, r8, 0x38e38e39
mov r9d, dword [rsp + rdi*4]
xor r9d, dword [rsp + rcx*4]
mov dword [rsp + rdi*4], r9d
shr r8, 0x23
lea r8d, [r8 + r8*8]
shl r8d, 2
sub ebx, r8d
mov r8d, dword [rsp + rbx*4]
xor r8d, dword [rsp + rcx*4]
mov dword [rsp + rbx*4], r8d
lea r8d, [rax + 0x1b]
mov rax, r8
imul r8, r8, 0x38e38e39
shr r8, 0x23
lea r8d, [r8 + r8*8]
shl r8d, 2
sub eax, r8d
mov r10d, eax
mov eax, dword [rsp + r10*4]
xor eax, dword [rsp + rcx*4]
mov dword [rsp + r10*4], eax
mov ecx, eax
lea eax, [r10 + 1]
mov r9, rax
imul rax, rax, 0x38e38e39
shr rax, 0x23
lea edi, [rax + rax*8]
lea eax, [r10 + 2]
mov rbx, rax
imul rax, rax, 0x38e38e39
shl edi, 2
sub r9d, edi
shr rax, 0x23
lea ebp, [rax + rax*8]
lea eax, [r10 + 3]
mov r11, rax
imul rax, rax, 0x38e38e39
shl ebp, 2
mov edi, r11d
sub ebx, ebp
vmovd xmm3, dword [rsp + rbx*4]
shr rax, 0x23
lea eax, [rax + rax*8]
shl eax, 2
sub edi, eax
lea eax, [r10 + 4]
vpinsrd xmm1, xmm3, dword [rsp + rdi*4], 1
vmovd xmm3, ecx
mov rcx, rax
vpinsrd xmm0, xmm3, dword [rsp + r9*4], 1
imul rax, rax, 0x38e38e39
vpunpcklqdq xmm0, xmm0, xmm1
vpshufb xmm0, xmm0, xmmword [0x00693030]
shr rax, 0x23
vaesenclast xmm0, xmm0, xmm6
lea eax, [rax + rax*8]
vpsrlw xmm5, xmm0, 6
vpaddb xmm6, xmm0, xmm0
shl eax, 2
vpand xmm5, xmm5, xmmword [0x00693000]
vpshufb xmm3, xmm0, xmmword [0x006930c0]
vpaddb xmm4, xmm6, xmm6
vpshufb xmm2, xmm0, xmmword [0x006930d0]
vpshufb xmm1, xmm7, xmm5
vpshufb xmm5, xmm8, xmm5
vpxor xmm6, xmm6, xmm5
vpxor xmm4, xmm4, xmm1
vpshufb xmm1, xmm3, xmmword [0x006930b0]
vpxor xmm0, xmm0, xmm6
vpxor xmm3, xmm3, xmm1
vpshufb xmm15, xmm6, xmm10
vpxor xmm0, xmm0, xmm4
vpshufb xmm6, xmm4, xmm11
vpshufb xmm4, xmm4, xmm12
vpshufb xmm0, xmm0, xmmword [0x00693050]
vpxor xmm1, xmm4, xmm15
vpshufb xmm5, xmm3, xmmword [0x006930a0]
vpshufb xmm14, xmm0, xmm9
vpxor xmm2, xmm2, xmm5
vpshufb xmm4, xmm1, xmm13
vpxor xmm0, xmm14, xmm0
vpxor xmm4, xmm4, xmm6
vpxor xmm1, xmm1, xmm3
vpxor xmm0, xmm0, xmm2
vpxor xmm6, xmm6, xmm6
vpxor xmm0, xmm0, xmm4
vpxor xmm0, xmm0, xmm1
vmovd dword [rsp + r10*4], xmm0
vpextrd dword [rsp + r9*4], xmm0, 1
vpextrd dword [rsp + rbx*4], xmm0, 2
mov ebx, ecx
sub ebx, eax
vpextrd dword [rsp + rdi*4], xmm0, 3
lea eax, [r10 + 0xa]
mov ecx, dword [rsp + rbx*4]
xor ecx, dword [rsp + r10*4]
mov dword [rsp + rbx*4], ecx
mov rcx, rax
imul rax, rax, 0x38e38e39
mov ebx, ecx
shr rax, 0x23
lea eax, [rax + rax*8]
shl eax, 2
sub ebx, eax
lea eax, [r10 + 0x12]
mov ecx, dword [rsp + rbx*4]
xor ecx, dword [rsp + r10*4]
mov dword [rsp + rbx*4], ecx
mov rcx, rax
imul rax, rax, 0x38e38e39
mov edi, ecx
shr rax, 0x23
lea eax, [rax + rax*8]
shl eax, 2
sub edi, eax
lea eax, [r10 + 0x1b]
mov r8, rax
imul rax, rax, 0x38e38e39
mov ecx, dword [rsp + rdi*4]
xor ecx, dword [rsp + r10*4]
mov dword [rsp + rdi*4], ecx
shr rax, 0x23
lea eax, [rax + rax*8]
shl eax, 2
sub r8d, eax
mov r9d, r8d
lea ecx, [r9 + 1]
mov r8d, dword [rsp + r9*4]
xor r8d, dword [rsp + r10*4]
mov rax, r9
mov r10, rcx
imul rcx, rcx, 0x38e38e39
mov dword [rsp + r9*4], r8d
vmovd xmm2, r8d
shr rcx, 0x23
lea edi, [rcx + rcx*8]
lea ecx, [r9 + 2]
mov rbx, rcx
imul rcx, rcx, 0x38e38e39
shl edi, 2
sub r10d, edi
vpinsrd xmm0, xmm2, dword [rsp + r10*4], 1
shr rcx, 0x23
lea ebp, [rcx + rcx*8]
lea ecx, [r9 + 3]
mov r11, rcx
imul rcx, rcx, 0x38e38e39
shl ebp, 2
mov edi, r11d
sub ebx, ebp
vmovd xmm3, dword [rsp + rbx*4]
shr rcx, 0x23
lea ecx, [rcx + rcx*8]
shl ecx, 2
sub edi, ecx
lea ecx, [r9 + 4]
vpinsrd xmm1, xmm3, dword [rsp + rdi*4], 1
mov r8, rcx
imul rcx, rcx, 0x38e38e39
add eax, 0x1b
vpunpcklqdq xmm0, xmm0, xmm1
vpshufb xmm0, xmm0, xmmword [0x00693030]
vaesenclast xmm0, xmm0, xmm6
shr rcx, 0x23
vpsrlw xmm5, xmm0, 6
vpaddb xmm6, xmm0, xmm0
lea ecx, [rcx + rcx*8]
vpand xmm5, xmm5, xmmword [0x00693000]
vpaddb xmm4, xmm6, xmm6
shl ecx, 2
vpshufb xmm3, xmm0, xmmword [0x006930c0]
vpshufb xmm2, xmm0, xmmword [0x006930d0]
vpshufb xmm1, xmm7, xmm5
vpshufb xmm5, xmm8, xmm5
vpxor xmm6, xmm6, xmm5
vpxor xmm4, xmm4, xmm1
vpshufb xmm1, xmm3, xmmword [0x006930b0]
vpxor xmm0, xmm0, xmm6
vpxor xmm3, xmm3, xmm1
vpshufb xmm15, xmm6, xmm10
vpxor xmm0, xmm0, xmm4
vpshufb xmm6, xmm4, xmm11
vpshufb xmm4, xmm4, xmm12
vpshufb xmm0, xmm0, xmmword [0x00693050]
vpxor xmm1, xmm4, xmm15
vpshufb xmm5, xmm3, xmmword [0x006930a0]
vpshufb xmm14, xmm0, xmm9
vpxor xmm2, xmm2, xmm5
vpshufb xmm4, xmm1, xmm13
vpxor xmm0, xmm14, xmm0
vpxor xmm4, xmm4, xmm6
vpxor xmm1, xmm1, xmm3
vpxor xmm0, xmm0, xmm2
vpxor xmm6, xmm6, xmm6
vpxor xmm0, xmm0, xmm4
vpxor xmm0, xmm0, xmm1
vmovd dword [rsp + r9*4], xmm0
vpextrd dword [rsp + r10*4], xmm0, 1
vpextrd dword [rsp + rbx*4], xmm0, 2
mov ebx, r8d
sub ebx, ecx
vpextrd dword [rsp + rdi*4], xmm0, 3
lea ecx, [r9 + 0xa]
mov r8d, dword [rsp + rbx*4]
xor r8d, dword [rsp + r9*4]
mov dword [rsp + rbx*4], r8d
mov r8, rcx
imul rcx, rcx, 0x38e38e39
mov ebx, r8d
shr rcx, 0x23
lea ecx, [rcx + rcx*8]
shl ecx, 2
sub ebx, ecx
lea ecx, [r9 + 0x13]
mov r8d, dword [rsp + rbx*4]
xor r8d, dword [rsp + r9*4]
mov dword [rsp + rbx*4], r8d
mov r8, rcx
imul rcx, rcx, 0x38e38e39
mov edi, r8d
shr rcx, 0x23
lea ecx, [rcx + rcx*8]
shl ecx, 2
sub edi, ecx
mov rcx, rax
imul rax, rax, 0x38e38e39
mov r8d, dword [rsp + rdi*4]
xor r8d, dword [rsp + r9*4]
mov dword [rsp + rdi*4], r8d
shr rax, 0x23
lea eax, [rax + rax*8]
shl eax, 2
sub ecx, eax
mov r8d, ecx
mov ecx, dword [rsp + r8*4]
xor ecx, dword [rsp + r9*4]
mov rax, r8
mov dword [rsp + r8*4], ecx
mov r9d, ecx
lea ecx, [r8 + 1]
mov r10, rcx
imul rcx, rcx, 0x38e38e39
vmovd xmm2, r9d
shr rcx, 0x23
lea edi, [rcx + rcx*8]
lea ecx, [r8 + 2]
mov rbx, rcx
imul rcx, rcx, 0x38e38e39
shl edi, 2
sub r10d, edi
shr rcx, 0x23
lea ebp, [rcx + rcx*8]
lea ecx, [r8 + 3]
mov r11, rcx
imul rcx, rcx, 0x38e38e39
shl ebp, 2
mov edi, r11d
sub ebx, ebp
vmovd xmm3, dword [rsp + rbx*4]
vpinsrd xmm0, xmm2, dword [rsp + r10*4], 1
shr rcx, 0x23
lea ecx, [rcx + rcx*8]
shl ecx, 2
sub edi, ecx
lea ecx, [r8 + 4]
add eax, 0x1c
vpinsrd xmm1, xmm3, dword [rsp + rdi*4], 1
mov r9, rcx
imul rcx, rcx, 0x38e38e39
vpunpcklqdq xmm0, xmm0, xmm1
vpshufb xmm0, xmm0, xmmword [0x00693030]
vaesenclast xmm0, xmm0, xmm6
shr rcx, 0x23
vpsrlw xmm5, xmm0, 6
vpaddb xmm6, xmm0, xmm0
lea ecx, [rcx + rcx*8]
vpand xmm5, xmm5, xmmword [0x00693000]
vpaddb xmm4, xmm6, xmm6
shl ecx, 2
vpshufb xmm3, xmm0, xmmword [0x006930c0]
vpshufb xmm2, xmm0, xmmword [0x006930d0]
vpshufb xmm1, xmm7, xmm5
vpshufb xmm5, xmm8, xmm5
vpxor xmm6, xmm6, xmm5
vpxor xmm4, xmm4, xmm1
vpshufb xmm1, xmm3, xmmword [0x006930b0]
vpxor xmm0, xmm0, xmm6
vpxor xmm3, xmm3, xmm1
vpshufb xmm15, xmm6, xmm10
vpxor xmm0, xmm0, xmm4
vpshufb xmm6, xmm4, xmm11
vpshufb xmm4, xmm4, xmm12
vpshufb xmm0, xmm0, xmmword [0x00693050]
vpxor xmm1, xmm4, xmm15
vpshufb xmm5, xmm3, xmmword [0x006930a0]
vpshufb xmm14, xmm0, xmm9
vpxor xmm2, xmm2, xmm5
vpshufb xmm4, xmm1, xmm13
vpxor xmm0, xmm14, xmm0
vpxor xmm4, xmm4, xmm6
vpxor xmm1, xmm1, xmm3
vpxor xmm0, xmm0, xmm2
vpxor xmm6, xmm6, xmm6
vpxor xmm0, xmm0, xmm4
vpxor xmm0, xmm0, xmm1
vmovd dword [rsp + r8*4], xmm0
vpextrd dword [rsp + r10*4], xmm0, 1
vpextrd dword [rsp + rbx*4], xmm0, 2
mov ebx, r9d
sub ebx, ecx
vpextrd dword [rsp + rdi*4], xmm0, 3
lea ecx, [r8 + 0xa]
mov r9d, dword [rsp + rbx*4]
xor r9d, dword [rsp + r8*4]
mov dword [rsp + rbx*4], r9d
mov r9, rcx
imul rcx, rcx, 0x38e38e39
mov ebx, r9d
shr rcx, 0x23
lea ecx, [rcx + rcx*8]
shl ecx, 2
sub ebx, ecx
lea ecx, [r8 + 0x13]
mov r9d, dword [rsp + rbx*4]
xor r9d, dword [rsp + r8*4]
mov dword [rsp + rbx*4], r9d
mov r9, rcx
imul rcx, rcx, 0x38e38e39
mov edi, r9d
shr rcx, 0x23
lea ecx, [rcx + rcx*8]
shl ecx, 2
sub edi, ecx
mov rcx, rax
imul rax, rax, 0x38e38e39
mov r9d, dword [rsp + rdi*4]
xor r9d, dword [rsp + r8*4]
mov dword [rsp + rdi*4], r9d
shr rax, 0x23
lea eax, [rax + rax*8]
shl eax, 2
sub ecx, eax
mov r10d, dword [rsp + rcx*4]
xor r10d, dword [rsp + r8*4]
lea r8d, [rcx + 1]
mov eax, ecx
mov r9, r8
imul r8, r8, 0x38e38e39
mov dword [rsp + rcx*4], r10d
vmovd xmm2, r10d
shr r8, 0x23
lea edi, [r8 + r8*8]
lea r8d, [rcx + 2]
mov r11, r8
imul r8, r8, 0x38e38e39
shl edi, 2
sub r9d, edi
vpinsrd xmm0, xmm2, dword [rsp + r9*4], 1
shr r8, 0x23
lea ebp, [r8 + r8*8]
lea r8d, [rcx + 3]
mov rbx, r8
imul r8, r8, 0x38e38e39
shl ebp, 2
shr r8, 0x23
lea r8d, [r8 + r8*8]
shl r8d, 2
sub r11d, ebp
sub ebx, r8d
vmovd xmm3, dword [rsp + r11*4]
vpinsrd xmm1, xmm3, dword [rsp + rbx*4], 1
vpunpcklqdq xmm0, xmm0, xmm1
vpshufb xmm0, xmm0, xmmword [0x00693030]
vaesenclast xmm0, xmm0, xmm6
vpsrlw xmm6, xmm0, 6
vpaddb xmm14, xmm0, xmm0
vpand xmm6, xmm6, xmmword [0x00693000]
vpshufb xmm4, xmm0, xmmword [0x006930c0]
vpaddb xmm3, xmm14, xmm14
vpshufb xmm2, xmm4, xmmword [0x006930b0]
vpshufb xmm1, xmm7, xmm6
vpshufb xmm6, xmm8, xmm6
vpxor xmm14, xmm14, xmm6
vpxor xmm3, xmm3, xmm1
vpxor xmm4, xmm4, xmm2
vpxor xmm1, xmm0, xmm14
vpshufb xmm2, xmm14, xmm10
vpshufb xmm14, xmm3, xmm11
vpshufb xmm5, xmm0, xmmword [0x006930d0]
vpxor xmm1, xmm1, xmm3
vpshufb xmm3, xmm3, xmm12
vpshufb xmm1, xmm1, xmmword [0x00693050]
vpxor xmm2, xmm2, xmm3
vpshufb xmm6, xmm4, xmmword [0x006930a0]
vpshufb xmm0, xmm1, xmm9
vpshufb xmm3, xmm2, xmm13
vpxor xmm2, xmm2, xmm4
vpxor xmm1, xmm1, xmm0
vpxor xmm0, xmm5, xmm6
vpxor xmm3, xmm3, xmm14
vpxor xmm0, xmm1, xmm0
vpxor xmm0, xmm0, xmm3
vpxor xmm0, xmm0, xmm2
vmovd dword [rsp + rcx*4], xmm0
vpextrd dword [rsp + r9*4], xmm0, 1
vpextrd dword [rsp + r11*4], xmm0, 2
vpextrd dword [rsp + rbx*4], xmm0, 3
sub esi, 1
jne 0x4958e0
lea r8d, [rcx + 4]
lea r10d, [rcx + 0x12]
mov rsi, r8
imul r8, r8, 0x38e38e39
shr r8, 0x23
lea edi, [r8 + r8*8]
mov r8, r10
imul r10, r10, 0x38e38e39
shl edi, 2
sub esi, edi
lea edi, [rcx + 9]
shr r10, 0x23
lea ebp, [r10 + r10*8]
mov r10d, dword [rsp + rsi*4]
xor r10d, dword [rsp + rcx*4]
mov dword [rsp + rsi*4], r10d
mov r10, rdi
imul rdi, rdi, 0x38e38e39
shl ebp, 2
sub r8d, ebp
shr rdi, 0x23
lea edi, [rdi + rdi*8]
shl edi, 2
sub r10d, edi
mov edi, dword [rsp + r10*4]
xor edi, dword [rsp + rcx*4]
mov dword [rsp + r10*4], edi
mov edi, dword [rsp + r8*4]
xor edi, dword [rsp + rcx*4]
mov dword [rsp + r8*4], edi
lea edi, [rcx + 0x1b]
mov rbp, rdi
imul rdi, rdi, 0x38e38e39
mov r12d, ebp
shr rdi, 0x23
lea edi, [rdi + rdi*8]
shl edi, 2
sub r12d, edi
mov ebp, dword [rsp + r12*4]
xor ebp, dword [rsp + rcx*4]
mov dword [rsp + r12*4], ebp
vmovd xmm0, dword [rsp + rbx*4]
vmovd xmm7, ebp
vmovups xmm6, xmmword [rsp + 0x90]
vpinsrd xmm1, xmm0, dword [rsp + rsi*4], 1
vmovd xmm0, dword [rsp + r9*4]
lea r9d, [rcx + 0xa]
vpinsrd xmm0, xmm0, dword [rsp + r11*4], 1
mov r11, r9
imul r9, r9, 0x38e38e39
vpunpcklqdq xmm0, xmm0, xmm1
vmovups xmmword [rdx], xmm0
shr r9, 0x23
lea r9d, [r9 + r9*8]
shl r9d, 2
sub r11d, r9d
lea r9d, [rcx + 0xb]
mov rbx, r9
imul r9, r9, 0x38e38e39
mov esi, ebx
shr r9, 0x23
lea r9d, [r9 + r9*8]
shl r9d, 2
sub esi, r9d
lea r9d, [rcx + 0xc]
mov rbx, r9
imul r9, r9, 0x38e38e39
vmovd xmm0, dword [rsp + rsi*4]
shr r9, 0x23
lea r9d, [r9 + r9*8]
shl r9d, 2
sub ebx, r9d
lea r9d, [rcx + 0x13]
vpinsrd xmm1, xmm0, dword [rsp + rbx*4], 1
vmovd xmm0, dword [rsp + r10*4]
mov r10, r9
imul r9, r9, 0x38e38e39
vpinsrd xmm0, xmm0, dword [rsp + r11*4], 1
vpunpcklqdq xmm0, xmm0, xmm1
shr r9, 0x23
vmovups xmmword [rdx + 0x10], xmm0
lea r9d, [r9 + r9*8]
shl r9d, 2
sub r10d, r9d
lea r9d, [rcx + 0x14]
mov r11, r9
imul r9, r9, 0x38e38e39
mov ebx, r11d
shr r9, 0x23
lea r9d, [r9 + r9*8]
shl r9d, 2
sub ebx, r9d
lea r9d, [rcx + 0x15]
mov r11, r9
imul r9, r9, 0x38e38e39
vmovd xmm0, dword [rsp + rbx*4]
shr r9, 0x23
lea r9d, [r9 + r9*8]
shl r9d, 2
sub r11d, r9d
vpinsrd xmm1, xmm0, dword [rsp + r11*4], 1
vmovd xmm0, dword [rsp + r8*4]
lea r8d, [rcx + 0x1c]
mov r9, r8
imul r8, r8, 0x38e38e39
vpinsrd xmm0, xmm0, dword [rsp + r10*4], 1
vpunpcklqdq xmm0, xmm0, xmm1
shr r8, 0x23
vmovups xmmword [rdx + 0x20], xmm0
lea r8d, [r8 + r8*8]
shl r8d, 2
sub r9d, r8d
lea r8d, [rcx + 0x1d]
mov r10, r8
imul r8, r8, 0x38e38e39
shr r8, 0x23
lea r8d, [r8 + r8*8]
shl r8d, 2
sub r10d, r8d
lea r8d, [rcx + 0x1e]
mov rax, r8
imul r8, r8, 0x38e38e39
vmovd xmm0, dword [rsp + r10*4]
shr r8, 0x23
lea r8d, [r8 + r8*8]
shl r8d, 2
sub eax, r8d
vpinsrd xmm1, xmm0, dword [rsp + rax*4], 1
vpinsrd xmm0, xmm7, dword [rsp + r9*4], 1
vpunpcklqdq xmm0, xmm0, xmm1
vmovups xmmword [rdx + 0x30], xmm0
vmovups xmm7, xmmword [rsp + 0xa0]
vmovups xmm8, xmmword [rsp + 0xb0]
vmovups xmm9, xmmword [rsp + 0xc0]
vmovups xmm10, xmmword [rsp + 0xd0]
vmovups xmm11, xmmword [rsp + 0xe0]
vmovups xmm12, xmmword [rsp + 0xf0]
vmovups xmm13, xmmword [rsp + 0x100]
vmovups xmm14, xmmword [rsp + 0x110]
vmovups xmm15, xmmword [rsp + 0x120]
add rsp, 0x138
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret