Function at 0x140010cf0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x998
vmovups xmmword [rsp + 0x8f0], xmm6
vmovups xmmword [rsp + 0x900], xmm7
vmovups xmmword [rsp + 0x910], xmm8
vmovups xmmword [rsp + 0x920], xmm9
vmovups xmmword [rsp + 0x930], xmm10
vmovups xmmword [rsp + 0x940], xmm11
vmovups xmmword [rsp + 0x950], xmm12
vmovups xmmword [rsp + 0x960], xmm13
vmovups xmmword [rsp + 0x970], xmm14
vmovups xmmword [rsp + 0x980], xmm15
lea r12, [rsp + 0xf0]
mov rax, rcx
mov rsi, rdx
mov ecx, pe_nt_image_headers64
mov rdi, r12
lea rbx, [rsp + 0x4f0]
mov rbp, r8
mov rdx, rax
rep movsq qword [rdi], qword [rsi]
mov qword [rsp + 0xe8], r12
mov r8, r12
mov qword [rsp + 0xe0], rbx
vmovdqu ymm7, ymmword [r8]
vpxor ymm0, ymm7, ymmword [rdx]
add r8, 0x100
add rdx, 0x100
vmovdqu ymm1, ymmword [r8 - 0xe0]
vmovdqu ymm8, ymmword [r8 - 0x80]
vmovdqu ymmword [r8 - 0x100], ymm0
vpxor ymm2, ymm1, ymmword [rdx - 0xe0]
vmovdqu ymm3, ymmword [r8 - 0xc0]
vmovdqu ymm5, ymmword [r8 - 0xa0]
vmovdqu ymm10, ymmword [r8 - 0x60]
vmovdqu ymmword [r8 - 0xe0], ymm2
vpxor ymm4, ymm3, ymmword [rdx - 0xc0]
vmovdqu ymm12, ymmword [r8 - 0x40]
vmovdqu ymm14, ymmword [r8 - 0x20]
vmovdqu ymmword [r8 - 0xc0], ymm4
vpxor ymm6, ymm5, ymmword [rdx - 0xa0]
vmovdqu ymmword [r8 - 0xa0], ymm6
vpxor ymm9, ymm8, ymmword [rdx - 0x80]
vmovdqu ymmword [r8 - 0x80], ymm9
vpxor ymm11, ymm10, ymmword [rdx - 0x60]
vmovdqu ymmword [r8 - 0x60], ymm11
vpxor ymm13, ymm12, ymmword [rdx - 0x40]
vmovdqu ymmword [r8 - 0x40], ymm13
vpxor ymm15, ymm14, ymmword [rdx - 0x20]
vmovdqu ymmword [r8 - 0x20], ymm15
cmp rbx, r8
jne 0x140010d97
mov rdi, qword [rsp + 0xe0]
mov ecx, pe_nt_image_headers64
mov rsi, r12
rep movsq qword [rdi], qword [rsi]
test r9d, r9d
je 0x140010f44
mov r9, qword [rsp + 0xe0]
mov r10, rbp
lea r11, [rsp + 0x8f0]
vmovdqu ymm7, ymmword [r9]
vpxor ymm0, ymm7, ymmword [r10]
add r9, 0x100
add r10, 0x100
vmovdqu ymm1, ymmword [r9 - 0xe0]
vmovdqu ymm8, ymmword [r9 - 0x80]
vmovdqu ymmword [r9 - 0x100], ymm0
vmovdqu ymm10, ymmword [r9 - 0x60]
vpxor ymm2, ymm1, ymmword [r10 - 0xe0]
vmovdqu ymm3, ymmword [r9 - 0xc0]
vmovdqu ymm12, ymmword [r9 - 0x40]
vmovdqu ymmword [r9 - 0xe0], ymm2
vmovdqu ymm14, ymmword [r9 - 0x20]
vpxor ymm4, ymm3, ymmword [r10 - 0xc0]
vmovdqu ymm5, ymmword [r9 - 0xa0]
vmovdqu ymmword [r9 - 0xc0], ymm4
vpxor ymm6, ymm5, ymmword [r10 - 0xa0]
vmovdqu ymmword [r9 - 0xa0], ymm6
vpxor ymm9, ymm8, ymmword [r10 - 0x80]
vmovdqu ymmword [r9 - 0x80], ymm9
vpxor ymm11, ymm10, ymmword [r10 - 0x60]
vmovdqu ymmword [r9 - 0x60], ymm11
vpxor ymm13, ymm12, ymmword [r10 - 0x40]
vmovdqu ymmword [r9 - 0x40], ymm13
vpxor ymm15, ymm14, ymmword [r10 - 0x20]
vmovdqu ymmword [r9 - 0x20], ymm15
cmp r9, r11
jne 0x140010e81
mov qword [rsp + 0x9f0], rbp
mov r10, r12
mov qword [rsp + 0x80], r12
nop word [rax + rax]
mov r14, qword [r10 + 0x20]
mov r13, qword [r10]
mov r11, qword [r10 + 0x60]
mov r12, qword [r10 + 0x40]
mov eax, r14d
mov r15d, r13d
add r13, r14
imul r15, rax
mov edx, r12d
lea rbp, [r13 + r15*2]
xor r11, rbp
mov r8d, ebp
rol r11, 0x20
mov ebx, r11d
add r12, r11
imul rdx, rbx
lea rdi, [r12 + rdx*2]
mov rdx, qword [r10 + 0x48]
xor r14, rdi
mov esi, edi
ror r14, 0x18
mov ecx, r14d
add rbp, r14
imul r8, rcx
mov rcx, qword [r10 + 0x28]
lea r13, [rbp + r8*2]
mov ebp, ecx
mov r8d, edx
xor r11, r13
ror r11, 0x10
mov r9d, r11d
add rdi, r11
imul rsi, r9
lea r15, [rdi + rsi*2]
mov rdi, qword [r10 + 0x68]
xor r14, r15
mov qword [rsp + 0x60], r15
rol r14, 1
mov qword [rsp + 0x40], r14
mov r14, qword [r10 + 8]
mov eax, r14d
add r14, rcx
imul rax, rbp
lea r12, [r14 + rax*2]
xor rdi, r12
mov r9d, r12d
rol rdi, 0x20
mov ebx, edi
add rdx, rdi
imul r8, rbx
mov rbx, qword [r10 + 0x10]
lea rsi, [rdx + r8*2]
mov r8, qword [r10 + 0x30]
xor rcx, rsi
mov r14d, esi
ror rcx, 0x18
mov edx, r8d
mov r15d, ecx
add r12, rcx
imul r9, r15
lea rbp, [r12 + r9*2]
mov r9, qword [r10 + 0x70]
xor rdi, rbp
ror rdi, 0x10
mov eax, edi
add rsi, rdi
mov qword [rsp + 0x20], rdi
mov rdi, qword [r10 + 0x50]
imul r14, rax
lea r12, [rsi + r14*2]
mov esi, ebx
mov r14d, edi
xor rcx, r12
mov qword [rsp], r12
rol rcx, 1
imul rdx, rsi
add rbx, r8
lea r15, [rbx + rdx*2]
xor r9, r15
mov esi, r15d
rol r9, 0x20
mov eax, r9d
add rdi, r9
imul rax, r14
mov r14, qword [r10 + 0x18]
lea r12, [rdi + rax*2]
mov rax, qword [r10 + 0x38]
mov edi, r14d
xor r8, r12
ror r8, 0x18
add r14, rax
mov ebx, r8d
add r15, r8
imul rbx, rsi
lea rsi, [r15 + rbx*2]
mov r15d, r12d
mov ebx, eax
xor r9, rsi
imul rbx, rdi
mov rdi, qword [r10 + 0x58]
ror r9, 0x10
mov edx, r9d
add r12, r9
imul rdx, r15
lea rbx, [r14 + rbx*2]
mov r15d, edi
lea r12, [r12 + rdx*2]
mov rdx, qword [r10 + 0x78]
xor r8, r12
xor rdx, rbx
rol r8, 1
rol rdx, 0x20
mov r14d, edx
add rdi, rdx
imul r14, r15
mov r15d, ebx
lea rdi, [rdi + r14*2]
xor rax, rdi
ror rax, 0x18
mov r14d, eax
add rbx, rax
imul r14, r15
mov r15d, edi
lea rbx, [rbx + r14*2]
xor rdx, rbx
ror rdx, 0x10
mov r14d, edx
add rdi, rdx
imul r14, r15
mov r15d, ecx
lea rdi, [rdi + r14*2]
mov r14d, r13d
xor rax, rdi
rol rax, 1
imul r14, r15
add r13, rcx
lea r13, [r13 + r14*2]
mov r14d, r12d
xor rdx, r13
rol rdx, 0x20
mov r15d, edx
add r12, rdx
imul r14, r15
lea r12, [r12 + r14*2]
mov r14d, r13d
xor rcx, r12
ror rcx, 0x18
mov r15d, ecx
add r13, rcx
imul r14, r15
lea r13, [r13 + r14*2]
mov r14d, r12d
xor rdx, r13
mov qword [r10], r13
ror rdx, 0x10
mov r15d, edx
add r12, rdx
mov qword [r10 + 0x78], rdx
imul r15, r14
lea rdx, [r12 + r15*2]
mov r12d, ebp
add rbp, r8
mov r15d, edi
xor rcx, rdx
mov qword [r10 + 0x50], rdx
rol rcx, 1
mov qword [r10 + 0x28], rcx
mov ecx, r8d
imul r12, rcx
lea r13, [rbp + r12*2]
xor r11, r13
rol r11, 0x20
mov ebp, r11d
add rdi, r11
imul r15, rbp
mov ebp, esi
lea r14, [rdi + r15*2]
mov edi, r13d
xor r8, r14
ror r8, 0x18
mov edx, r8d
add r13, r8
imul rdi, rdx
mov rdx, qword [rsp + 0x20]
lea rcx, [r13 + rdi*2]
mov r13d, r14d
xor r11, rcx
mov qword [r10 + 8], rcx
ror r11, 0x10
mov r12d, r11d
add r14, r11
mov qword [r10 + 0x60], r11
imul r12, r13
lea r11, [r14 + r12*2]
mov r14, qword [rsp + 0x60]
xor r8, r11
mov qword [r10 + 0x58], r11
rol r8, 1
mov edi, r14d
mov qword [r10 + 0x30], r8
mov r8d, eax
imul r8, rbp
add rsi, rax
sub r10, 0xffffffffffffff80
lea r15, [rsi + r8*2]
xor rdx, r15
mov r11d, r15d
rol rdx, 0x20
mov esi, edx
lea rcx, [rdx + r14]
mov r14d, ebx
imul rsi, rdi
lea r12, [rcx + rsi*2]
xor rax, r12
ror rax, 0x18
mov r13d, eax
add r15, rax
imul r13, r11
lea r8, [r15 + r13*2]
mov r15d, r12d
xor rdx, r8
mov qword [r10 - 0x70], r8
ror rdx, 0x10
mov ebp, edx
add r12, rdx
mov qword [r10 - 0x18], rdx
imul rbp, r15
lea rdx, [r12 + rbp*2]
mov qword [r10 - 0x40], rdx
xor rax, rdx
mov rsi, qword [rsp + 0x40]
rol rax, 1
mov qword [r10 - 0x48], rax
mov eax, esi
add rbx, rsi
imul rax, r14
mov r14, qword [rsp + 0xe0]
lea rdi, [rbx + rax*2]
mov rbx, qword [rsp]
xor r9, rdi
mov r11d, edi
rol r9, 0x20
mov r12d, ebx
mov ecx, r9d
lea r13, [r9 + rbx]
imul rcx, r12
lea rbp, [r13 + rcx*2]
xor rsi, rbp
mov eax, ebp
ror rsi, 0x18
mov r8d, esi
add rdi, rsi
imul r8, r11
lea r15, [rdi + r8*2]
xor r9, r15
mov qword [r10 - 0x68], r15
ror r9, 0x10
mov edx, r9d
add rbp, r9
mov qword [r10 - 0x10], r9
imul rdx, rax
lea r9, [rbp + rdx*2]
xor rsi, r9
mov qword [r10 - 0x38], r9
rol rsi, 1
mov qword [r10 - 0x60], rsi
cmp r10, r14
jne 0x140010f60
vmovdqu ymm7, ymmword [rsp + 0x1f0]
mov edi, 0xffffffff
vpunpcklqdq ymm0, ymm7, ymmword [rsp + 0x210]
vmovdqu ymm5, ymmword [rsp + 0xf0]
vmovq xmm8, rdi
vpunpcklqdq ymm3, ymm5, ymmword [rsp + 0x110]
vpermq ymm2, ymm0, 0xd8
vpbroadcastq ymm0, xmm8
vpunpckhqdq ymm1, ymm7, ymmword [rsp + 0x210]
mov r10, qword [rsp + 0x80]
vpermq ymm10, ymm3, 0xd8
vpand ymm12, ymm2, ymm0
vpunpckhqdq ymm6, ymm5, ymmword [rsp + 0x110]
vpand ymm11, ymm10, ymm0
vpsrlq ymm15, ymm12, 0x20
vpermq ymm4, ymm1, 0xd8
vpsrlq ymm14, ymm11, 0x20
vpmuludq ymm1, ymm15, ymm11
vpermq ymm9, ymm6, 0xd8
vpmuludq ymm7, ymm14, ymm12
vpmuludq ymm13, ymm11, ymm12
vpaddq ymm10, ymm2, ymm10
vmovdqu ymm11, ymmword [rsp + 0x3f0]
vpunpcklqdq ymm12, ymm11, ymmword [rsp + 0x410]
lea rcx, [r10 + 0x40]
vpermq ymm14, ymm12, 0xd8
vpaddq ymm5, ymm7, ymm1
vpsllq ymm3, ymm5, 0x20
vmovdqu ymm5, ymmword [rsp + 0x2f0]
vpaddq ymm6, ymm13, ymm3
vpsllq ymm8, ymm6, 1
vpunpcklqdq ymm6, ymm5, ymmword [rsp + 0x310]
vpaddq ymm13, ymm8, ymm10
vmovdqu ymm8, ymmword [rsp + 0x2f0]
vpunpckhqdq ymm10, ymm8, ymmword [rsp + 0x310]
vpxor ymm15, ymm14, ymm13
vpermq ymm14, ymm6, 0xd8
vpsrlq ymm7, ymm15, 0x20
vpsllq ymm1, ymm15, 0x20
vpand ymm11, ymm14, ymm0
vpor ymm3, ymm7, ymm1
vpsllq ymm7, ymm11, 1
vpermq ymm15, ymm10, 0xd8
vpand ymm12, ymm3, ymm0
vpsrlq ymm5, ymm7, 0x20
vpaddq ymm14, ymm3, ymm14
vpsrlq ymm6, ymm12, 0x20
vpmuludq ymm10, ymm5, ymm12
vpmuludq ymm8, ymm6, ymm7
vpmuludq ymm1, ymm7, ymm12
vpand ymm6, ymm13, ymm0
vpaddq ymm11, ymm10, ymm8
vpsllq ymm7, ymm11, 0x20
vpaddq ymm12, ymm1, ymm7
vpaddq ymm10, ymm12, ymm14
vpsllq ymm14, ymm6, 1
vpxor ymm2, ymm2, ymm10
vpsrlq ymm1, ymm2, 0x18
vpsllq ymm5, ymm2, 0x28
vpor ymm7, ymm1, ymm5
vpsrlq ymm2, ymm14, 0x20
vpand ymm12, ymm7, ymm0
vpaddq ymm13, ymm13, ymm7
vpsrlq ymm11, ymm12, 0x20
vpmuludq ymm1, ymm2, ymm12
vpmuludq ymm5, ymm11, ymm14
vpmuludq ymm8, ymm14, ymm12
vpaddq ymm6, ymm1, ymm5
vpand ymm1, ymm10, ymm0
vpsllq ymm14, ymm6, 0x20
vpaddq ymm12, ymm8, ymm14
vpsllq ymm14, ymm1, 1
vpaddq ymm8, ymm12, ymm13
vpsrlq ymm13, ymm14, 0x20
vpxor ymm3, ymm3, ymm8
vpsrlq ymm2, ymm3, 0x10
vpsllq ymm11, ymm3, 0x30
vpor ymm6, ymm2, ymm11
vpand ymm12, ymm6, ymm0
vpaddq ymm10, ymm10, ymm6
vpsrlq ymm3, ymm12, 0x20
vpmuludq ymm2, ymm13, ymm12
vpmuludq ymm11, ymm3, ymm14
vpmuludq ymm5, ymm14, ymm12
vpaddq ymm1, ymm2, ymm11
vpand ymm11, ymm4, ymm0
vpsllq ymm14, ymm1, 0x20
vpaddq ymm12, ymm5, ymm14
vpand ymm14, ymm9, ymm0
vpaddq ymm9, ymm4, ymm9
vpaddq ymm5, ymm12, ymm10
vpsrlq ymm1, ymm14, 0x20
vpsrlq ymm10, ymm11, 0x20
vpmuludq ymm12, ymm14, ymm11
vpxor ymm7, ymm7, ymm5
vpsrlq ymm13, ymm7, 0x3f
vpsllq ymm3, ymm7, 1
vpor ymm2, ymm13, ymm3
vpmuludq ymm7, ymm1, ymm11
vpmuludq ymm13, ymm10, ymm14
vmovdqu ymmword [rsp + 0x40], ymm2
vpaddq ymm3, ymm7, ymm13
vpsllq ymm2, ymm3, 0x20
vpaddq ymm14, ymm12, ymm2
vmovdqu ymm12, ymmword [rsp + 0x3f0]
vpunpckhqdq ymm1, ymm12, ymmword [rsp + 0x410]
vpsllq ymm11, ymm14, 1
vpaddq ymm13, ymm11, ymm9
vpermq ymm10, ymm1, 0xd8
vpand ymm11, ymm15, ymm0
vpxor ymm7, ymm10, ymm13
vpsllq ymm9, ymm11, 1
vpsrlq ymm3, ymm7, 0x20
vpsllq ymm2, ymm7, 0x20
vpor ymm14, ymm3, ymm2
vpsrlq ymm10, ymm9, 0x20
vpand ymm12, ymm14, ymm0
vpaddq ymm15, ymm15, ymm14
vpsrlq ymm7, ymm12, 0x20
vpmuludq ymm3, ymm10, ymm12
vpmuludq ymm2, ymm7, ymm9
vpmuludq ymm1, ymm9, ymm12
vpaddq ymm11, ymm3, ymm2
vpand ymm2, ymm13, ymm0
vpsllq ymm9, ymm11, 0x20
vpaddq ymm12, ymm1, ymm9
vpaddq ymm7, ymm12, ymm15
vpsllq ymm15, ymm2, 1
vpxor ymm4, ymm4, ymm7
vpsrlq ymm9, ymm15, 0x20
vpsrlq ymm1, ymm4, 0x18
vpsllq ymm10, ymm4, 0x28
vpor ymm3, ymm1, ymm10
vpand ymm12, ymm3, ymm0
vpaddq ymm13, ymm13, ymm3
vpsrlq ymm11, ymm12, 0x20
vpmuludq ymm1, ymm9, ymm12
vpmuludq ymm10, ymm11, ymm15
vpmuludq ymm4, ymm15, ymm12
vpaddq ymm2, ymm1, ymm10
vpsllq ymm15, ymm2, 0x20
vpaddq ymm12, ymm4, ymm15
vpaddq ymm9, ymm12, ymm13
vpxor ymm14, ymm14, ymm9
vpunpcklqdq ymm4, ymm8, ymm9
vpunpckhqdq ymm8, ymm8, ymm9
vpsrlq ymm2, ymm14, 0x10
vpsllq ymm1, ymm14, 0x30
vperm2i128 ymm10, ymm4, ymm8, 0x20
vpor ymm15, ymm2, ymm1
vperm2i128 ymm11, ymm4, ymm8, 0x31
vpand ymm4, ymm7, ymm0
vpand ymm14, ymm15, ymm0
vmovdqu ymmword [rsp + 0x60], ymm11
vpunpcklqdq ymm12, ymm6, ymm15
vpunpckhqdq ymm6, ymm6, ymm15
vpsllq ymm11, ymm4, 1
vpsrlq ymm8, ymm14, 0x20
vperm2i128 ymm13, ymm12, ymm6, 0x20
vpsrlq ymm2, ymm11, 0x20
vperm2i128 ymm9, ymm12, ymm6, 0x31
vmovdqu ymmword [rsp], ymm13
vpaddq ymm7, ymm7, ymm15
vpmuludq ymm12, ymm2, ymm14
vpmuludq ymm6, ymm8, ymm11
vmovdqu ymmword [rsp + 0x20], ymm9
vpmuludq ymm1, ymm11, ymm14
vpaddq ymm13, ymm12, ymm6
vmovdqu ymm12, ymmword [rsp + 0x270]
vpunpcklqdq ymm6, ymm12, ymmword [rsp + 0x290]
vpsllq ymm9, ymm13, 0x20
vpunpckhqdq ymm13, ymm12, ymmword [rsp + 0x290]
vpaddq ymm4, ymm1, ymm9
vmovdqu ymm9, ymmword [rsp + 0x170]
vpaddq ymm11, ymm4, ymm7
vpunpcklqdq ymm4, ymm9, ymmword [rsp + 0x190]
vpunpcklqdq ymm15, ymm5, ymm11
vpunpckhqdq ymm5, ymm5, ymm11
vpxor ymm3, ymm3, ymm11
vperm2i128 ymm14, ymm15, ymm5, 0x20
vpsrlq ymm2, ymm3, 0x3f
vperm2i128 ymm1, ymm15, ymm5, 0x31
vpsllq ymm8, ymm3, 1
vpermq ymm15, ymm6, 0xd8
vmovdqu ymmword [rsp + 0x80], ymm14
vpermq ymm14, ymm4, 0xd8
vpand ymm3, ymm14, ymm0
vpor ymm7, ymm2, ymm8
vpand ymm8, ymm15, ymm0
vmovdqu ymmword [rsp + 0xa0], ymm1
vpsrlq ymm2, ymm3, 0x20
vpsrlq ymm12, ymm8, 0x20
vpermq ymm1, ymm13, 0xd8
vpmuludq ymm6, ymm12, ymm3
vpmuludq ymm13, ymm2, ymm8
vpunpckhqdq ymm11, ymm9, ymmword [rsp + 0x190]
vpmuludq ymm5, ymm3, ymm8
vpaddq ymm14, ymm15, ymm14
vpermq ymm9, ymm11, 0xd8
vpaddq ymm4, ymm13, ymm6
vpsllq ymm11, ymm4, 0x20
vpaddq ymm3, ymm5, ymm11
vmovdqu ymm5, ymmword [rsp + 0x470]
vpunpcklqdq ymm12, ymm5, ymmword [rsp + 0x490]
vpsllq ymm8, ymm3, 1
vmovdqu ymm3, ymmword [rsp + 0x370]
vpunpckhqdq ymm5, ymm3, ymmword [rsp + 0x390]
vpaddq ymm2, ymm8, ymm14
vpermq ymm13, ymm12, 0xd8
vpunpcklqdq ymm14, ymm3, ymmword [rsp + 0x390]
vpxor ymm6, ymm13, ymm2
vpermq ymm5, ymm5, 0xd8
vpsrlq ymm11, ymm6, 0x20
vpsllq ymm4, ymm6, 0x20
vpermq ymm6, ymm14, 0xd8
vpor ymm8, ymm11, ymm4
vpand ymm12, ymm6, ymm0
vpand ymm13, ymm8, ymm0
vpsllq ymm11, ymm12, 1
vpaddq ymm6, ymm8, ymm6
vpsrlq ymm4, ymm11, 0x20
vpsrlq ymm14, ymm13, 0x20
vpmuludq ymm3, ymm11, ymm13
vpmuludq ymm12, ymm14, ymm11
vpmuludq ymm13, ymm4, ymm13
vpaddq ymm11, ymm13, ymm12
vpand ymm12, ymm2, ymm0
vpsllq ymm4, ymm11, 0x20
vpsllq ymm11, ymm12, 1
vpaddq ymm3, ymm3, ymm4
vpaddq ymm4, ymm3, ymm6
vpsrlq ymm3, ymm11, 0x20
vpxor ymm15, ymm15, ymm4
vpsrlq ymm14, ymm15, 0x18
vpsllq ymm13, ymm15, 0x28
vpor ymm6, ymm14, ymm13
vpand ymm15, ymm6, ymm0
vpaddq ymm2, ymm2, ymm6
vpsrlq ymm13, ymm15, 0x20
vpmuludq ymm14, ymm11, ymm15
vpmuludq ymm12, ymm13, ymm11
vpmuludq ymm15, ymm3, ymm15
vpaddq ymm11, ymm15, ymm12
vpand ymm12, ymm4, ymm0
vpsllq ymm3, ymm11, 0x20
vpsllq ymm11, ymm12, 1
vpaddq ymm14, ymm14, ymm3
vpaddq ymm3, ymm14, ymm2
vpsrlq ymm2, ymm11, 0x20
vpxor ymm8, ymm8, ymm3
vpsrlq ymm13, ymm8, 0x10
vpsllq ymm15, ymm8, 0x30
vpor ymm8, ymm13, ymm15
vpand ymm13, ymm8, ymm0
vpaddq ymm4, ymm4, ymm8
vpsrlq ymm15, ymm13, 0x20
vpmuludq ymm14, ymm11, ymm13
vpmuludq ymm12, ymm15, ymm11
vpmuludq ymm13, ymm2, ymm13
vpaddq ymm11, ymm13, ymm12
vpsllq ymm2, ymm11, 0x20
vpaddq ymm14, ymm14, ymm2
vpaddq ymm2, ymm14, ymm4
vpand ymm14, ymm1, ymm0
vpxor ymm6, ymm6, ymm2
vpsrlq ymm11, ymm14, 0x20
vpsrlq ymm15, ymm6, 0x3f
vpsllq ymm13, ymm6, 1
vpor ymm12, ymm15, ymm13
vpand ymm15, ymm9, ymm0
vpaddq ymm9, ymm1, ymm9
vpsrlq ymm4, ymm15, 0x20
vpmuludq ymm6, ymm15, ymm14
vpmuludq ymm13, ymm4, ymm14
vpmuludq ymm15, ymm11, ymm15
vpaddq ymm14, ymm13, ymm15
vmovdqu ymm13, ymmword [rsp + 0x470]
vpunpckhqdq ymm15, ymm13, ymmword [rsp + 0x490]
vpand ymm13, ymm5, ymm0
vpsllq ymm4, ymm14, 0x20
vpaddq ymm6, ymm6, ymm4
vpermq ymm14, ymm15, 0xd8
vpsllq ymm11, ymm6, 1
vpaddq ymm6, ymm11, ymm9
vpxor ymm4, ymm14, ymm6
vpsrlq ymm11, ymm4, 0x20
vpsllq ymm9, ymm4, 0x20
vpor ymm9, ymm11, ymm9
vpsllq ymm11, ymm13, 1
vpand ymm14, ymm9, ymm0
vpsrlq ymm4, ymm11, 0x20
vpaddq ymm5, ymm5, ymm9
vpsrlq ymm13, ymm14, 0x20
vpmuludq ymm15, ymm11, ymm14
vpmuludq ymm11, ymm13, ymm11
vpmuludq ymm14, ymm4, ymm14
vpaddq ymm4, ymm14, ymm11
vpsllq ymm13, ymm4, 0x20
vpaddq ymm15, ymm15, ymm13
vpand ymm13, ymm6, ymm0
vpaddq ymm4, ymm15, ymm5
vpxor ymm1, ymm1, ymm4
vpsrlq ymm14, ymm1, 0x18
vpsllq ymm11, ymm1, 0x28
vpor ymm1, ymm14, ymm11
vpsllq ymm11, ymm13, 1
vpand ymm14, ymm1, ymm0
vpsrlq ymm5, ymm11, 0x20
vpaddq ymm6, ymm6, ymm1
vpsrlq ymm13, ymm14, 0x20
vpmuludq ymm15, ymm11, ymm14
vpmuludq ymm11, ymm13, ymm11
vpmuludq ymm14, ymm5, ymm14
vpaddq ymm5, ymm14, ymm11
vpsllq ymm13, ymm5, 0x20
vpaddq ymm15, ymm15, ymm13
vpaddq ymm11, ymm15, ymm6
vpunpcklqdq ymm14, ymm3, ymm11
vpxor ymm9, ymm9, ymm11
vpunpckhqdq ymm3, ymm3, ymm11
vperm2i128 ymm5, ymm14, ymm3, 0x31
vpsrlq ymm13, ymm9, 0x10
vpand ymm11, ymm4, ymm0
vpsllq ymm6, ymm9, 0x30
vperm2i128 ymm15, ymm14, ymm3, 0x20
vmovdqu ymmword [rsp + 0xc0], ymm5
vpor ymm5, ymm13, ymm6
vpsllq ymm14, ymm11, 1
vpand ymm6, ymm5, ymm0
vpsrlq ymm3, ymm14, 0x20
vpaddq ymm4, ymm4, ymm5
vpsrlq ymm9, ymm6, 0x20
vpmuludq ymm13, ymm14, ymm6
vpmuludq ymm11, ymm3, ymm6
vpmuludq ymm14, ymm9, ymm14
vpaddq ymm6, ymm11, ymm14
vpsllq ymm3, ymm6, 0x20
vpaddq ymm13, ymm13, ymm3
vpaddq ymm9, ymm13, ymm4
vpunpcklqdq ymm14, ymm2, ymm9
vpxor ymm1, ymm1, ymm9
vpunpckhqdq ymm2, ymm2, ymm9
vperm2i128 ymm4, ymm14, ymm2, 0x31
vpsrlq ymm6, ymm1, 0x3f
vperm2i128 ymm11, ymm14, ymm2, 0x20
vmovdqu ymm14, ymmword [rsp + 0x60]
vpsllq ymm3, ymm1, 1
vpor ymm13, ymm6, ymm3
vpunpcklqdq ymm1, ymm10, ymm14
vpunpckhqdq ymm10, ymm10, ymm14
vpunpcklqdq ymm9, ymm12, ymm13
vpunpckhqdq ymm12, ymm12, ymm13
vpand ymm13, ymm7, ymm0
vperm2i128 ymm6, ymm9, ymm12, 0x31
vperm2i128 ymm2, ymm9, ymm12, 0x20
vpermq ymm12, ymm1, 0xd8
vpand ymm3, ymm12, ymm0
vpermq ymm9, ymm10, 0xd8
vpaddq ymm12, ymm7, ymm12
vpsllq ymm3, ymm3, 1
vpsrlq ymm10, ymm13, 0x20
vpsrlq ymm1, ymm3, 0x20
vpmuludq ymm14, ymm3, ymm13
vpmuludq ymm3, ymm10, ymm3
vpmuludq ymm13, ymm1, ymm13
vpaddq ymm1, ymm13, ymm3
vpsllq ymm10, ymm1, 0x20
vpaddq ymm14, ymm14, ymm10
vpaddq ymm3, ymm14, ymm12
vpunpcklqdq ymm14, ymm11, ymm4
vpunpckhqdq ymm11, ymm11, ymm4
vpxor ymm5, ymm5, ymm3
vpermq ymm12, ymm14, 0xd8
vpermq ymm14, ymm11, 0xd8
vpsrlq ymm13, ymm5, 0x20
vpsllq ymm1, ymm5, 0x20
vpand ymm4, ymm12, ymm0
vpor ymm10, ymm13, ymm1
vpsllq ymm4, ymm4, 1
vpand ymm11, ymm10, ymm0
vpsrlq ymm1, ymm4, 0x20
vpaddq ymm12, ymm10, ymm12
vpsrlq ymm5, ymm11, 0x20
vpmuludq ymm13, ymm4, ymm11
vpmuludq ymm4, ymm5, ymm4
vpmuludq ymm11, ymm1, ymm11
vpaddq ymm1, ymm11, ymm4
vpsllq ymm5, ymm1, 0x20
vpaddq ymm13, ymm13, ymm5
vpaddq ymm5, ymm13, ymm12
vpand ymm13, ymm3, ymm0
vpxor ymm7, ymm7, ymm5
vpsrlq ymm11, ymm7, 0x18
vpsllq ymm4, ymm7, 0x28
vpor ymm1, ymm11, ymm4
vpsllq ymm7, ymm13, 1
vpand ymm12, ymm1, ymm0
vpsrlq ymm4, ymm7, 0x20
vpaddq ymm3, ymm3, ymm1
vpsrlq ymm11, ymm12, 0x20
vpmuludq ymm13, ymm7, ymm12
vpmuludq ymm7, ymm11, ymm7
vpmuludq ymm12, ymm4, ymm12
vpaddq ymm4, ymm12, ymm7
vpsllq ymm11, ymm4, 0x20
vpaddq ymm13, ymm13, ymm11
vpaddq ymm4, ymm13, ymm3
vpxor ymm10, ymm10, ymm4
vpsrlq ymm12, ymm10, 0x10
vpsllq ymm7, ymm10, 0x30
vpor ymm11, ymm12, ymm7
vpand ymm12, ymm5, ymm0
vpunpcklqdq ymm13, ymm8, ymm11
vpunpckhqdq ymm8, ymm8, ymm11
vpaddq ymm5, ymm5, ymm11
vperm2i128 ymm10, ymm13, ymm8, 0x31
vperm2i128 ymm3, ymm13, ymm8, 0x20
vpand ymm13, ymm11, ymm0
vpsllq ymm8, ymm12, 1
vpsrlq ymm12, ymm13, 0x20
vmovdqu ymmword [rsp + 0x60], ymm10
vmovdqu ymmword [rsp + 0x490], ymm10
vpsrlq ymm7, ymm8, 0x20
vpmuludq ymm10, ymm8, ymm13
vpmuludq ymm8, ymm12, ymm8
vpmuludq ymm13, ymm7, ymm13
vmovdqu ymmword [rsp + 0x470], ymm3
vpunpcklqdq ymm3, ymm3, ymmword [rsp + 0x60]
vpaddq ymm7, ymm13, ymm8
vpsllq ymm12, ymm7, 0x20
vmovdqu ymm7, ymmword [rsp + 0x40]
vpaddq ymm10, ymm10, ymm12
vpaddq ymm10, ymm10, ymm5
vpxor ymm1, ymm1, ymm10
vpsrlq ymm11, ymm1, 0x3f
vpsllq ymm13, ymm1, 1
vpor ymm8, ymm11, ymm13
vpunpcklqdq ymm13, ymm2, ymm6
vpunpckhqdq ymm2, ymm2, ymm6
vpunpcklqdq ymm12, ymm7, ymm8
vpunpckhqdq ymm5, ymm7, ymm8
vpand ymm6, ymm9, ymm0
vperm2i128 ymm11, ymm12, ymm5, 0x31
vpermq ymm7, ymm13, 0xd8
vperm2i128 ymm1, ymm12, ymm5, 0x20
vpsllq ymm13, ymm6, 1
vmovdqu ymmword [rsp + 0x40], ymm11
vpaddq ymm9, ymm9, ymm7
vpermq ymm2, ymm2, 0xd8
vmovdqu ymmword [rsp + 0x210], ymm11
vpand ymm11, ymm7, ymm0
vpsrlq ymm5, ymm13, 0x20
vpsrlq ymm8, ymm11, 0x20
vpmuludq ymm12, ymm13, ymm11
vmovdqu ymmword [rsp + 0x1f0], ymm1
vpunpcklqdq ymm1, ymm1, ymmword [rsp + 0x40]
vpmuludq ymm6, ymm5, ymm11
vpmuludq ymm13, ymm8, ymm13
vmovdqu ymm8, ymmword [rsp]
vpaddq ymm11, ymm6, ymm13
vpunpcklqdq ymm13, ymm8, ymmword [rsp + 0x20]
vpand ymm8, ymm14, ymm0
vpsllq ymm5, ymm11, 0x20
vpsllq ymm8, ymm8, 1
vpaddq ymm12, ymm12, ymm5
vpermq ymm11, ymm13, 0xd8
vpaddq ymm6, ymm12, ymm9
vpxor ymm5, ymm11, ymm6
vpsrlq ymm12, ymm5, 0x20
vpsllq ymm9, ymm5, 0x20
vpor ymm9, ymm12, ymm9
vpsrlq ymm5, ymm8, 0x20
vpand ymm12, ymm9, ymm0
vpaddq ymm14, ymm14, ymm9
vpsrlq ymm11, ymm12, 0x20
vpmuludq ymm13, ymm8, ymm12
vpmuludq ymm8, ymm11, ymm8
vpmuludq ymm12, ymm5, ymm12
vpaddq ymm5, ymm12, ymm8
vpsllq ymm11, ymm5, 0x20
vpaddq ymm13, ymm13, ymm11
vpand ymm11, ymm6, ymm0
vpaddq ymm5, ymm13, ymm14
vpsllq ymm11, ymm11, 1
vpxor ymm7, ymm7, ymm5
vpsrlq ymm12, ymm7, 0x18
vpsllq ymm8, ymm7, 0x28
vpor ymm8, ymm12, ymm8
vpsrlq ymm7, ymm11, 0x20
vpand ymm13, ymm8, ymm0
vpaddq ymm6, ymm6, ymm8
vpsrlq ymm12, ymm13, 0x20
vpmuludq ymm14, ymm11, ymm13
vpmuludq ymm11, ymm12, ymm11
vpmuludq ymm13, ymm7, ymm13
vpaddq ymm7, ymm13, ymm11
vpsllq ymm12, ymm7, 0x20
vpaddq ymm14, ymm14, ymm12
vpaddq ymm13, ymm14, ymm6
vpxor ymm9, ymm9, ymm13
vpunpcklqdq ymm7, ymm4, ymm13
vpunpckhqdq ymm4, ymm4, ymm13
vpsrlq ymm14, ymm9, 0x10
vpsllq ymm6, ymm9, 0x30
vperm2i128 ymm11, ymm7, ymm4, 0x20
vpor ymm9, ymm14, ymm6
vpand ymm13, ymm5, ymm0
vperm2i128 ymm12, ymm7, ymm4, 0x31
vmovdqu ymmword [rsp + 0xf0], ymm11
vpsllq ymm14, ymm13, 1
vpand ymm11, ymm9, ymm0
vpaddq ymm5, ymm5, ymm9
vmovdqu ymmword [rsp + 0x110], ymm12
vpsrlq ymm4, ymm14, 0x20
vpsrlq ymm7, ymm11, 0x20
vpmuludq ymm6, ymm4, ymm11
vpmuludq ymm13, ymm7, ymm14
vpmuludq ymm12, ymm14, ymm11
vpaddq ymm14, ymm6, ymm13
vpsllq ymm11, ymm14, 0x20
vpaddq ymm12, ymm12, ymm11
vpaddq ymm4, ymm12, ymm5
vmovdqu ymm12, ymmword [rsp + 0xc0]
vpunpcklqdq ymm7, ymm10, ymm4
vpunpckhqdq ymm10, ymm10, ymm4
vpxor ymm8, ymm8, ymm4
vperm2i128 ymm13, ymm7, ymm10, 0x31
vpunpcklqdq ymm5, ymm15, ymm12
vperm2i128 ymm6, ymm7, ymm10, 0x20
vpsrlq ymm14, ymm8, 0x3f
vpsllq ymm11, ymm8, 1
vmovdqu ymmword [rsp + 0x390], ymm13
vpermq ymm13, ymm5, 0xd8
vpand ymm4, ymm13, ymm0
vpor ymm11, ymm14, ymm11
vpand ymm14, ymm2, ymm0
vmovdqu ymmword [rsp + 0x370], ymm6
vpsllq ymm6, ymm4, 1
vpunpckhqdq ymm15, ymm15, ymm12
vpaddq ymm13, ymm2, ymm13
vpsrlq ymm12, ymm6, 0x20
vpsrlq ymm8, ymm14, 0x20
vpermq ymm7, ymm15, 0xd8
vpmuludq ymm5, ymm12, ymm14
vpmuludq ymm15, ymm8, ymm6
vmovdqu ymm12, ymmword [rsp]
vpunpckhqdq ymm8, ymm12, ymmword [rsp + 0x20]
vpmuludq ymm10, ymm6, ymm14
vpaddq ymm4, ymm5, ymm15
vpermq ymm5, ymm8, 0xd8
vpsllq ymm6, ymm4, 0x20
vpaddq ymm14, ymm10, ymm6
vpaddq ymm10, ymm14, ymm13
vmovdqu ymm14, ymmword [rsp + 0x80]
vmovdqu ymm13, ymmword [rsp + 0xa0]
vpxor ymm15, ymm5, ymm10
vpunpcklqdq ymm12, ymm14, ymm13
vpsrlq ymm6, ymm15, 0x20
vpunpckhqdq ymm8, ymm14, ymm13
vpsllq ymm4, ymm15, 0x20
vpermq ymm12, ymm12, 0xd8
vpor ymm5, ymm6, ymm4
vpand ymm15, ymm12, ymm0
vpermq ymm6, ymm8, 0xd8
vpsllq ymm13, ymm15, 1
vpand ymm15, ymm5, ymm0
vpaddq ymm12, ymm5, ymm12
vpsrlq ymm4, ymm13, 0x20
vpsrlq ymm14, ymm15, 0x20
vpmuludq ymm8, ymm13, ymm15
vpmuludq ymm13, ymm14, ymm13
vpmuludq ymm15, ymm4, ymm15
vpaddq ymm4, ymm15, ymm13
vpsllq ymm14, ymm4, 0x20
vpaddq ymm8, ymm8, ymm14
vpand ymm14, ymm10, ymm0
vpaddq ymm8, ymm8, ymm12
vpxor ymm2, ymm2, ymm8
vpsrlq ymm15, ymm2, 0x18
vpsllq ymm13, ymm2, 0x28
vpor ymm4, ymm15, ymm13
vpsllq ymm13, ymm14, 1
vpand ymm15, ymm4, ymm0
vpsrlq ymm12, ymm13, 0x20
vpaddq ymm10, ymm10, ymm4
vpsrlq ymm14, ymm15, 0x20
vpmuludq ymm2, ymm13, ymm15
vpmuludq ymm13, ymm14, ymm13
vpmuludq ymm15, ymm12, ymm15
vpaddq ymm12, ymm15, ymm13
vpsllq ymm14, ymm12, 0x20
vpaddq ymm2, ymm2, ymm14
vpaddq ymm15, ymm2, ymm10
vpxor ymm5, ymm5, ymm15
vpsrlq ymm13, ymm5, 0x10
vpsllq ymm12, ymm5, 0x30
vpor ymm2, ymm13, ymm12
vpand ymm13, ymm8, ymm0
vpunpcklqdq ymm14, ymm9, ymm2
vpunpckhqdq ymm9, ymm9, ymm2
vpaddq ymm8, ymm8, ymm2
vperm2i128 ymm10, ymm14, ymm9, 0x20
vpsllq ymm12, ymm13, 1
vperm2i128 ymm5, ymm14, ymm9, 0x31
vpand ymm9, ymm2, ymm0
vpsrlq ymm14, ymm12, 0x20
vmovdqu ymmword [rsp + 0x410], ymm5
vmovdqu ymmword [rsp + 0x3f0], ymm10
vpsrlq ymm5, ymm9, 0x20
vpmuludq ymm10, ymm12, ymm9
vpmuludq ymm13, ymm5, ymm12
vpmuludq ymm9, ymm14, ymm9
vpaddq ymm12, ymm9, ymm13
vpsllq ymm14, ymm12, 0x20
vpaddq ymm10, ymm10, ymm14
vpaddq ymm5, ymm10, ymm8
vpand ymm8, ymm7, ymm0
vpxor ymm4, ymm4, ymm5
vpsrlq ymm2, ymm4, 0x3f
vpsllq ymm9, ymm4, 1
vpor ymm13, ymm2, ymm9
vpermq ymm2, ymm1, 0xd8
vpunpcklqdq ymm12, ymm11, ymm13
vpunpckhqdq ymm11, ymm11, ymm13
vpaddq ymm7, ymm7, ymm2
vpsllq ymm13, ymm8, 1
vperm2i128 ymm14, ymm12, ymm11, 0x20
vperm2i128 ymm10, ymm12, ymm11, 0x31
vpand ymm12, ymm2, ymm0
vpsrlq ymm4, ymm13, 0x20
vmovdqu ymmword [rsp + 0x270], ymm14
vpsrlq ymm11, ymm12, 0x20
vpmuludq ymm14, ymm4, ymm12
vmovdqu ymmword [rsp + 0x290], ymm10
vpmuludq ymm10, ymm11, ymm13
vpmuludq ymm9, ymm13, ymm12
vpaddq ymm1, ymm14, ymm10
vpand ymm10, ymm6, ymm0
vpsllq ymm8, ymm1, 0x20
vpsllq ymm1, ymm10, 1
vpaddq ymm13, ymm9, ymm8
vpermq ymm9, ymm3, 0xd8
vpaddq ymm12, ymm13, ymm7
vpsrlq ymm3, ymm1, 0x20
vpxor ymm11, ymm9, ymm12
vpsrlq ymm4, ymm11, 0x20
vpsllq ymm14, ymm11, 0x20
vpor ymm13, ymm4, ymm14
vpand ymm8, ymm13, ymm0
vpaddq ymm6, ymm6, ymm13
vpsrlq ymm9, ymm8, 0x20
vpmuludq ymm11, ymm3, ymm8
vpmuludq ymm4, ymm9, ymm1
vpmuludq ymm7, ymm1, ymm8
vpand ymm9, ymm12, ymm0
vpaddq ymm14, ymm11, ymm4
vpsllq ymm4, ymm9, 1
vpsllq ymm10, ymm14, 0x20
vpaddq ymm1, ymm7, ymm10
vpaddq ymm14, ymm1, ymm6
vpsrlq ymm6, ymm4, 0x20
vpxor ymm2, ymm2, ymm14
vpsrlq ymm8, ymm2, 0x18
vpsllq ymm7, ymm2, 0x28
vpor ymm3, ymm8, ymm7
vpand ymm11, ymm3, ymm0
vpaddq ymm12, ymm12, ymm3
vpsrlq ymm10, ymm11, 0x20
vpmuludq ymm2, ymm6, ymm11
vpmuludq ymm8, ymm10, ymm4
vpmuludq ymm1, ymm4, ymm11
vpaddq ymm7, ymm2, ymm8
vpsllq ymm9, ymm7, 0x20
vpaddq ymm4, ymm1, ymm9
vpaddq ymm11, ymm4, ymm12
vpand ymm12, ymm14, ymm0
vpxor ymm13, ymm13, ymm11
vpunpcklqdq ymm1, ymm15, ymm11
vpunpckhqdq ymm15, ymm15, ymm11
vpsrlq ymm2, ymm13, 0x10
vpsllq ymm8, ymm13, 0x30
vperm2i128 ymm6, ymm1, ymm15, 0x20
vpor ymm9, ymm2, ymm8
vpsllq ymm11, ymm12, 1
vperm2i128 ymm10, ymm1, ymm15, 0x31
vmovdqu ymmword [rsp + 0x170], ymm6
vpand ymm0, ymm9, ymm0
vpsrlq ymm15, ymm11, 0x20
vpaddq ymm14, ymm14, ymm9
vmovdqu ymmword [rsp + 0x190], ymm10
vpsrlq ymm6, ymm0, 0x20
vpmuludq ymm10, ymm15, ymm0
vextracti128 xmm4, ymm9, 1
vmovq qword [rsp + 0x470], xmm9
vpmuludq ymm13, ymm6, ymm11
vpmuludq ymm1, ymm11, ymm0
vpextrq qword [rsp + 0x480], xmm9, 1
vmovq qword [rsp + 0x490], xmm4
mov qword [rsp + 0x80], rcx
mov rax, qword [rsp + 0xe8]
vpextrq qword [rsp + 0x4a0], xmm4, 1
mov qword [rsp + 0xa0], r10
vpaddq ymm2, ymm10, ymm13
vpsllq ymm8, ymm2, 0x20
vpaddq ymm7, ymm1, ymm8
vpaddq ymm9, ymm7, ymm14
vpxor ymm3, ymm3, ymm9
vpunpcklqdq ymm4, ymm5, ymm9
vpunpckhqdq ymm5, ymm5, ymm9
vpsrlq ymm1, ymm3, 0x3f
vpsllq ymm0, ymm3, 1
vperm2i128 ymm12, ymm4, ymm5, 0x20
vpor ymm15, ymm1, ymm0
vperm2i128 ymm11, ymm4, ymm5, 0x31
vmovdqu ymmword [rsp + 0x2f0], ymm12
vmovdqu ymmword [rsp + 0x310], ymm11
vextracti128 xmm10, ymm15, 1
vpextrq qword [rsp + 0x200], xmm15, 1
vmovq qword [rsp + 0x1f0], xmm15
vpextrq qword [rsp + 0x220], xmm10, 1
vmovq qword [rsp + 0x210], xmm10
mov rbx, qword [rax + 0x140]
mov r12, qword [rax + 0x40]
mov r11, qword [rax + 0x340]
mov r8, qword [rax + 0x240]
mov ebp, ebx
mov r13d, r12d
add r12, rbx
imul r13, rbp
mov r15d, r8d
lea rsi, [r12 + r13*2]
xor r11, rsi
mov r9d, esi
rol r11, 0x20
mov edx, r11d
add r8, r11
imul r15, rdx
mov rdx, qword [rax + 0x248]
lea r14, [r8 + r15*2]
mov r8, qword [rax + 0x148]
xor rbx, r14
mov edi, r14d
ror rbx, 0x18
mov r10d, ebx
add rsi, rbx
imul r9, r10
lea r13, [rsi + r9*2]
mov esi, r8d
mov r9d, edx
xor r11, r13
ror r11, 0x10
mov ecx, r11d
add r14, r11
imul rdi, rcx
lea r12, [r14 + rdi*2]
mov r14, qword [rax + 0x348]
xor rbx, r12
mov qword [rsp], r12
rol rbx, 1
mov qword [rsp + 0x20], rbx
mov rbx, qword [rax + 0x48]
mov ebp, ebx
add rbx, r8
imul rbp, rsi
lea r15, [rbx + rbp*2]
xor r14, r15
mov ecx, r15d
rol r14, 0x20
mov r10d, r14d
add rdx, r14
imul r9, r10
lea rdi, [rdx + r9*2]
mov r9, qword [rax + 0x1c0]
mov rdx, qword [rax + 0xc0]
xor r8, rdi
mov esi, edi
ror r8, 0x18
mov r10d, edx
mov r12d, r8d
add r15, r8
imul rcx, r12
mov r12, qword [rax + 0x2c0]
lea rbp, [r15 + rcx*2]
xor r14, rbp
ror r14, 0x10
mov r15d, r14d
add rdi, r14
mov qword [rsp + 0x40], r14
imul rsi, r15
lea r14, [rdi + rsi*2]
mov edi, r9d
mov esi, r12d
xor r8, r14
mov qword [rsp + 0x60], r14
rol r8, 1
imul rdi, r10
add rdx, r9
mov r10, qword [rax + 0x3c0]
lea rcx, [rdx + rdi*2]
xor r10, rcx
mov r14d, ecx
rol r10, 0x20
mov ebx, r10d
add r12, r10
imul rbx, rsi
lea r15, [r12 + rbx*2]
xor r9, r15
mov edi, r15d
ror r9, 0x18
mov edx, r9d
add rcx, r9
imul rdx, r14
lea rsi, [rcx + rdx*2]
mov rdx, qword [rax + 0x1c8]
xor r10, rsi
ror r10, 0x10
mov ebx, edx
mov ecx, r10d
add r15, r10
imul rcx, rdi
mov rdi, qword [rax + 0x2c8]
lea r12, [r15 + rcx*2]
mov r15, qword [rax + 0xc8]
mov rcx, qword [rax + 0x3c8]
xor r9, r12
mov r14d, r15d
add r15, rdx
rol r9, 1
imul rbx, r14
lea rbx, [r15 + rbx*2]
mov r15d, edi
xor rcx, rbx
rol rcx, 0x20
mov r14d, ecx
add rdi, rcx
imul r14, r15
mov r15d, ebx
lea rdi, [rdi + r14*2]
xor rdx, rdi
ror rdx, 0x18
mov r14d, edx
add rbx, rdx
imul r14, r15
mov r15d, edi
lea rbx, [rbx + r14*2]
xor rcx, rbx
ror rcx, 0x10
mov r14d, ecx
add rdi, rcx
imul r14, r15
mov r15d, r13d
lea rdi, [rdi + r14*2]
mov r14d, r8d
xor rdx, rdi
rol rdx, 1
imul r14, r15
add r13, r8
mov r15d, r12d
lea r13, [r13 + r14*2]
xor rcx, r13
rol rcx, 0x20
mov r14d, ecx
add r12, rcx
imul r14, r15
mov r15d, r13d
lea r12, [r12 + r14*2]
xor r8, r12
ror r8, 0x18
mov r14d, r8d
add r13, r8
imul r14, r15
mov r15d, r12d
lea r13, [r13 + r14*2]
xor rcx, r13
mov qword [rax + 0x40], r13
ror rcx, 0x10
mov r14d, ecx
add r12, rcx
mov qword [rax + 0x3c8], rcx
imul r15, r14
lea rcx, [r12 + r15*2]
mov r12d, r9d
xor r8, rcx
mov qword [rax + 0x2c0], rcx
rol r8, 1
mov qword [rax + 0x148], r8
mov r8d, ebp
add rbp, r9
imul r12, r8
lea r13, [rbp + r12*2]
mov ebp, edi
xor r11, r13
mov ecx, r13d
rol r11, 0x20
mov r15d, r11d
add rdi, r11
imul r15, rbp
mov ebp, edx
lea r14, [rdi + r15*2]
xor r9, r14
mov r12d, r14d
ror r9, 0x18
mov edi, r9d
add r13, r9
imul rdi, rcx
lea r8, [r13 + rdi*2]
xor r11, r8
mov qword [rax + 0x48], r8
ror r11, 0x10
mov r13d, r11d
add r14, r11
mov qword [rax + 0x340], r11
imul r12, r13
lea r11, [r14 + r12*2]
mov r14, qword [rsp + 0x40]
xor r9, r11
mov qword [rax + 0x2c8], r11
rol r9, 1
mov qword [rax + 0x1c0], r9
mov r9d, esi
imul r9, rbp
add rsi, rdx
add rax, 0x10
lea r15, [rsi + r9*2]
mov rsi, qword [rsp]
xor r14, r15
mov r13d, r15d
rol r14, 0x20
mov ecx, esi
mov edi, r14d
lea r8, [rsi + r14]
imul rcx, rdi
lea r12, [r8 + rcx*2]
xor rdx, r12
mov ebp, r12d
ror rdx, 0x18
mov r11d, edx
add r15, rdx
imul r13, r11
lea r9, [r15 + r13*2]
xor r14, r9
mov qword [rax + 0xb0], r9
ror r14, 0x10
mov r15d, r14d
add r12, r14
mov qword [rax + 0x338], r14
imul rbp, r15
lea r14, [r12 + rbp*2]
mov qword [rax + 0x230], r14
xor rdx, r14
mov rsi, qword [rsp + 0x20]
rol rdx, 1
mov ecx, esi
mov qword [rax + 0x1b8], rdx
mov edx, ebx
add rbx, rsi
imul rdx, rcx
mov rcx, qword [rsp + 0x80]
lea rdi, [rbx + rdx*2]
mov rbx, qword [rsp + 0x60]
xor r10, rdi
mov r9d, edi
rol r10, 0x20
mov r8d, ebx
mov r12d, r10d
lea r13, [rbx + r10]
imul r8, r12
lea rbp, [r13 + r8*2]
xor rsi, rbp
mov r14d, ebp
ror rsi, 0x18
mov r11d, esi
add rdi, rsi
imul r9, r11
lea r15, [rdi + r9*2]
xor r10, r15
mov qword [rax + 0xb8], r15
ror r10, 0x10
mov edx, r10d
add rbp, r10
mov qword [rax + 0x3b0], r10
imul r14, rdx
lea r10, [rbp + r14*2]
xor rsi, r10
mov qword [rax + 0x238], r10
rol rsi, 1
mov qword [rax + 0x130], rsi
cmp rax, rcx
jne 0x140012230
mov rbx, qword [rsp + 0x9f0]
mov rax, qword [rsp + 0x4f0]
xor r13d, r13d
mov r8, qword [rsp + 0xa0]
mov qword [rbx], rax
mov rdi, qword [rsp + 0x8e8]
mov r12, rbx
mov qword [rbx + 0x3f8], rdi
lea rdi, [rbx + 8]
mov rsi, qword [rsp + 0xe0]
and rdi, 0xfffffffffffffff8
sub r12, rdi
sub rsi, r12
add r12d, 0x400
shr r12d, 3
mov ecx, r12d
rep movsq qword [rdi], qword [rsi]
vmovdqu ymm13, ymmword [r8 + r13]
vmovdqu ymm8, ymmword [r8 + r13 + 0x20]
vpxor ymm2, ymm13, ymmword [rbx + r13]
vpxor ymm7, ymm8, ymmword [rbx + r13 + 0x20]
vmovdqu ymm14, ymmword [r8 + r13 + 0x40]
vmovdqu ymm4, ymmword [r8 + r13 + 0x60]
vpxor ymm9, ymm14, ymmword [rbx + r13 + 0x40]
vmovdqu ymmword [rbx + r13], ymm2
vpxor ymm5, ymm4, ymmword [rbx + r13 + 0x60]
vmovdqu ymm12, ymmword [r8 + r13 + 0x80]
vmovdqu ymm3, ymmword [r8 + r13 + 0xa0]
vmovdqu ymmword [rbx + r13 + 0x20], ymm7
vpxor ymm11, ymm12, ymmword [rbx + r13 + 0x80]
vpxor ymm1, ymm3, ymmword [rbx + r13 + 0xa0]
vmovdqu ymmword [rbx + r13 + 0x40], ymm9
vmovdqu ymm0, ymmword [r8 + r13 + 0xc0]
vmovdqu ymmword [rbx + r13 + 0x60], ymm5
vpxor ymm15, ymm0, ymmword [rbx + r13 + 0xc0]
vmovdqu ymm6, ymmword [r8 + r13 + 0xe0]
vpxor ymm10, ymm6, ymmword [rbx + r13 + 0xe0]
vmovdqu ymmword [rbx + r13 + 0x80], ymm11
vmovdqu ymmword [rbx + r13 + 0xa0], ymm1
vmovdqu ymmword [rbx + r13 + 0xc0], ymm15
vmovdqu ymmword [rbx + r13 + 0xe0], ymm10
add r13, 0x100
cmp r13, 0x400
jne 0x14001268d
vzeroupper
vmovups xmm6, xmmword [rsp + 0x8f0]
vmovups xmm7, xmmword [rsp + 0x900]
vmovups xmm8, xmmword [rsp + 0x910]
vmovups xmm9, xmmword [rsp + 0x920]
vmovups xmm10, xmmword [rsp + 0x930]
vmovups xmm11, xmmword [rsp + 0x940]
vmovups xmm12, xmmword [rsp + 0x950]
vmovups xmm13, xmmword [rsp + 0x960]
vmovups xmm14, xmmword [rsp + 0x970]
vmovups xmm15, xmmword [rsp + 0x980]
add rsp, 0x998
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret