Function at 0x14006e5d0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x180
lea rbp, [rsp + 0x80]
vmovdqa xmmword [rbp + 0xf0], xmm15
vmovdqa xmmword [rbp + 0xe0], xmm14
vmovdqa xmmword [rbp + 0xd0], xmm13
vmovdqa xmmword [rbp + 0xc0], xmm12
vmovdqa xmmword [rbp + 0xb0], xmm11
vmovdqa xmmword [rbp + 0xa0], xmm10
vmovdqa xmmword [rbp + 0x90], xmm9
vmovdqa xmmword [rbp + 0x80], xmm8
vmovaps xmmword [rbp + 0x70], xmm7
vmovdqa xmmword [rbp + 0x60], xmm6
and rsp, 0xffffffffffffffe0
mov rdi, rdx
mov rsi, rcx
mov rcx, qword [rdx + 0x220]
nop word cs:[rax + rax]
mov eax, dword [0x141dca8d8]
xor edx, edx
div dword [0x141dca8dc]
imul eax, eax, 0x21b142a5
add eax, 0x96708e69
cmp eax, 0xb7e215a7
ja 0x14006e650
cmp rcx, 4
jae 0x14006f72c
mov eax, dword [0x141dca8e0]
xor edx, edx
div dword [0x141dca8e4]
mov r8d, 0xd95e9d35
nop
mov eax, dword [0x141dca8e8]
xor edx, edx
div dword [0x141dca8ec]
xor eax, 0xd5a175aa
add eax, 0x21576a7b
imul rax, r8
shr rax, 0x3f
cmp eax, 0xbdf02a28
je 0x14006e690
nop word [rax + rax]
mov eax, dword [0x141dca8f0]
add eax, dword [0x141dca8f4]
and eax, 0x5e25519d
xor eax, 0xec752acd
add eax, 0x32966196
cmp eax, 0x375e4a37
ja 0x14006e6c0
movzx r8d, byte [rdi]
mov eax, dword [0x141dca8f8]
and eax, dword [0x141dca8fc]
imul rax, rax, 0x57595803
shr rax, 0x3c
xor eax, 0xf29f9bba
imul eax, eax, 0xd4771b1a
cmp eax, 0x3fa52335
jbe 0x14006e712
mov byte [rdi], 0
vmovdqa ymm4, ymmword [rdi + 0x20]
vmovdqa ymm3, ymmword [rdi + 0x60]
vmovdqa ymm5, ymmword [rdi + 0x80]
nop word cs:[rax + rax]
mov eax, dword [0x141dca900]
add eax, dword [0x141dca904]
imul eax, eax, 0xa5a766ad
or eax, 0x807753aa
imul rax, rax, 0x19dd495b
shr rax, 0x3b
vmovdqa ymm2, ymmword [rdi + 0xe0]
vmovdqa ymm1, ymmword [rdi + 0x100]
vmovdqa ymm0, ymmword [rdi + 0x120]
mov byte [rdi], 0
cmp eax, 0x5f70414
ja 0x14006e730
test r8b, r8b
je 0x14006ed9a
vpunpckldq ymm7, ymm3, ymm5
vpunpckhdq ymm6, ymm3, ymm5
vmovdqa ymm5, ymmword [0x140102920]
vpermd ymm5, ymm5, ymm7
vmovdqa ymm8, ymmword [0x140102940]
vpermd ymm6, ymm8, ymm6
vpshufd ymm3, ymm3, 0xff
vpbroadcastq ymm8, qword [0x140102960]
vpermd ymm8, ymm8, ymm4
vpblendd ymm3, ymm3, ymm8, 0xc0
vmovdqa ymm8, ymmword [0x140102980]
vpermd ymm7, ymm8, ymm7
vpblendd ymm3, ymm7, ymm3, 0xd0
nop dword [rax + rax]
mov eax, dword [0x141dca908]
sub eax, dword [0x141dca90c]
and eax, 0x3c54a0c1
add eax, 0x34acb938
and eax, 0x4ce520b0
cmp eax, 0x89683560
je 0x14006e7d0
vpbroadcastq ymm7, xmm4
vpblendd ymm5, ymm5, ymm7, 0xc0
vinserti128 ymm4, ymm0, xmm4, 1
vpblendd ymm7, ymm6, ymm4, 0xc0
vpmuludq ymm6, ymm5, ymm2
vpmuludq ymm11, ymm5, ymm1
vpmuludq ymm9, ymm7, ymm2
vpmuludq ymm8, ymm7, ymm1
vpmuludq ymm10, ymm3, ymm2
vpshufd ymm4, ymm5, 0xb1
nop word cs:[rax + rax]
mov eax, dword [0x141dca910]
sub eax, dword [0x141dca914]
add eax, 0x4a8a0a71
xor eax, 0x245e4711
add eax, 0xe8feaca6
cmp eax, 0x6d94e8c5
jb 0x14006e830
vpshufd ymm12, ymm7, 0xb1
vpmuludq ymm13, ymm4, ymm2
vpaddq ymm11, ymm13, ymm11
vpmuludq ymm13, ymm4, ymm1
vpmuludq ymm14, ymm12, ymm2
vpaddq ymm14, ymm14, ymm8
vpmuludq ymm8, ymm12, ymm1
vpmuludq ymm15, ymm5, ymm0
vpaddq ymm10, ymm15, ymm10
vpshufd ymm2, ymm2, 0xf5
vpmuludq ymm15, ymm5, ymm2
vpaddq ymm9, ymm15, ymm9
vpaddq ymm9, ymm9, ymm13
vpmuludq ymm13, ymm4, ymm2
vpaddq ymm13, ymm14, ymm13
vpmuludq ymm7, ymm7, ymm2
vpaddq ymm7, ymm10, ymm7
vpslld ymm10, ymm12, 2
vpaddd ymm10, ymm12, ymm10
vpslld ymm12, ymm3, 2
vpaddd ymm3, ymm12, ymm3
vpmuludq ymm12, ymm10, ymm2
vpmuludq ymm14, ymm3, ymm1
vpaddq ymm6, ymm14, ymm6
vpaddq ymm6, ymm12, ymm6
vpmuludq ymm2, ymm3, ymm2
vpaddq ymm2, ymm11, ymm2
vpmuludq ymm11, ymm10, ymm0
vpmuludq ymm12, ymm3, ymm0
vpshufd ymm1, ymm1, 0xf5
vpmuludq ymm14, ymm10, ymm1
vpaddq ymm2, ymm14, ymm2
vpmuludq ymm14, ymm3, ymm1
vpaddq ymm9, ymm9, ymm14
vpaddq ymm9, ymm9, ymm11
vpmuludq ymm5, ymm1, ymm5
vpaddq ymm5, ymm12, ymm5
vpaddq ymm5, ymm13, ymm5
vpmuludq ymm4, ymm4, ymm1
vpaddq ymm4, ymm8, ymm4
vpaddq ymm4, ymm7, ymm4
vpshufd ymm3, ymm3, 0xf5
vpshufd ymm7, ymm10, 0xf5
vpmuludq ymm1, ymm7, ymm1
vpmuludq ymm3, ymm3, ymm0
vpaddq ymm3, ymm6, ymm3
vpaddq ymm1, ymm3, ymm1
vpmuludq ymm0, ymm7, ymm0
vpaddq ymm0, ymm2, ymm0
vpunpckhqdq ymm2, ymm1, ymm0
vpunpcklqdq ymm0, ymm1, ymm0
vpaddq ymm0, ymm0, ymm2
vpunpckhqdq ymm1, ymm9, ymm5
vpunpcklqdq ymm2, ymm9, ymm5
vpaddq ymm1, ymm2, ymm1
vinserti128 ymm2, ymm0, xmm1, 1
vperm2i128 ymm0, ymm0, ymm1, 0x31
vpaddq ymm0, ymm0, ymm2
vpermq ymm1, ymm4, 0x4e
vpaddq ymm1, ymm1, ymm4
vpermq ymm2, ymm1, 1
vpaddq ymm1, ymm2, ymm1
vmovdqa ymm2, ymmword [0x1401029a0]
vpand ymm3, ymm0, ymm2
vmovdqa ymm4, ymmword [0x1401029c0]
vpsrlvq ymm0, ymm0, ymm4
vpermq ymm0, ymm0, 0x93
vpaddq ymm0, ymm0, ymm3
vpsrlq ymm3, ymm0, 0x1a
vpermq ymm3, ymm3, 0x93
vpaddq ymm1, ymm1, ymm3
vpand ymm0, ymm0, ymmword [0x1401029e0]
vpsrlvq ymm3, ymm1, ymmword [0x140102a00]
vpsllq ymm5, ymm3, 2
vpaddq ymm0, ymm3, ymm0
vpaddq ymm0, ymm5, ymm0
vpand ymm2, ymm0, ymm2
vpsrlvq ymm0, ymm0, ymm4
vpermq ymm0, ymm0, 0x93
vpaddq ymm0, ymm2, ymm0
vpsrlq ymm2, ymm0, 0x1a
vpermq ymm2, ymm2, 0xff
vpand xmm1, xmm1, xmmword [0x140102a20]
vpaddq xmm1, xmm2, xmm1
vpshufd ymm0, ymm0, 0x28
vpand ymm0, ymm0, ymmword [0x140102a40]
vpbroadcastd ymm1, xmm1
vpermq ymm0, ymm0, 0xf8
vpblendd ymm7, ymm0, ymm1, 0x90
mov r9b, 1
cmp rcx, 1
jbe 0x14006eda7
vmovdqa xmm0, xmmword [rdi + 0x1e0]
vmovdqa ymm1, ymmword [0x140102820]
vpor ymm0, ymm0, ymm1
vmovdqa ymm2, ymmword [0x140102a60]
vpsllvd ymm3, ymm0, ymm2
vmovdqa ymm4, ymmword [0x140102a80]
vpsrlvd ymm0, ymm0, ymm4
vmovdqa ymm5, ymmword [0x140102ae0]
vpermd ymm0, ymm5, ymm0
vpor ymm0, ymm0, ymm3
vpand ymm3, ymm0, ymmword [0x140102ac0]
vmovdqa xmm0, xmmword [rdi + 0x1f0]
vpor ymm0, ymm0, ymm1
vpsllvd ymm1, ymm0, ymm2
vpsrlvd ymm2, ymm0, ymm4
vmovdqa ymm0, ymmword [0x140102aa0]
vpermd ymm2, ymm0, ymm2
vpor ymm6, ymm2, ymm1
test r8b, r8b
je 0x14006ea80
vpaddd ymm3, ymm3, ymm7
vmovdqa ymm1, ymmword [rdi + 0x160]
vmovdqa ymm2, ymmword [rdi + 0x1a0]
vmovdqa ymm4, ymmword [0x140102b00]
vpermd ymm5, ymm4, ymm3
vpbroadcastd ymm7, dword [rdi + 0x1bc]
vpand ymm8, ymm6, ymmword [0x140102ac0]
vpmuludq ymm5, ymm5, ymm7
vpermd ymm4, ymm4, ymm8
vpbroadcastd ymm7, dword [rdi + 0x17c]
vpmuludq ymm7, ymm4, ymm7
vmovdqa ymm9, ymmword [0x140102b20]
vpermd ymm4, ymm9, ymm2
vpermq ymm10, ymm3, 0x29
vpmuludq ymm4, ymm10, ymm4
vpermd ymm9, ymm9, ymm1
vpbroadcastq ymm10, qword [0x140102b40]
vpand ymm6, ymm10, ymm6
vpermq ymm10, ymm6, 0x29
vpmuludq ymm9, ymm9, ymm10
vpaddq ymm7, ymm9, ymm7
vpshufd xmm9, xmm3, 0xd7
vpermq ymm9, ymm9, 0x50
vpshufd ymm10, ymm2, 0xe5
vpermq ymm10, ymm10, 0x4e
vpmuludq ymm9, ymm9, ymm10
vpshufd xmm10, xmm8, 0xd7
vpermq ymm10, ymm10, 0x50
vpshufd ymm11, ymm1, 0xe5
vpermq ymm11, ymm11, 0x4e
vpmuludq ymm10, ymm10, ymm11
vpaddq ymm7, ymm10, ymm7
vpmovzxdq ymm10, xmm3
vpbroadcastd ymm11, dword [rdi + 0x1a0]
vpmuludq ymm11, ymm10, ymm11
vpmovzxdq ymm8, xmm8
vpbroadcastd ymm12, dword [rdi + 0x160]
vpshufd xmm13, xmmword [rdi + 0x1a0], 0xe5
vpmuludq ymm12, ymm12, ymm8
vpermq ymm13, ymm13, 0x10
vpblendd ymm13, ymm13, ymmword [rdi + 0x1c0], 3
vpermq ymm3, ymm3, 0x42
vpmuludq ymm13, ymm13, ymm3
vpaddq ymm5, ymm13, ymm5
vpaddq ymm5, ymm9, ymm5
vpaddq ymm5, ymm11, ymm5
vpshufd xmm9, xmmword [rdi + 0x160], 0xe5
vpermq ymm9, ymm9, 0x10
vpblendd ymm9, ymm9, ymmword [rdi + 0x180], 3
vpermq ymm6, ymm6, 0x42
vpmuludq ymm9, ymm9, ymm6
vpaddq ymm9, ymm12, ymm9
vpaddq ymm4, ymm9, ymm4
vpaddq ymm4, ymm7, ymm4
vpaddq ymm4, ymm4, ymm5
vpmuludq ymm3, ymm3, ymm2
vpmuludq ymm5, ymm6, ymm1
vpaddq ymm5, ymm3, ymm5
vmovdqa ymm3, ymmword [0x140102b60]
vpermd ymm2, ymm3, ymm2
vpmuludq ymm2, ymm10, ymm2
vpermd ymm1, ymm3, ymm1
vpmuludq ymm1, ymm8, ymm1
vpaddq ymm1, ymm2, ymm1
vpermq ymm2, ymm1, 0x4e
vpand ymm3, ymm4, ymmword [0x1401029a0]
vpaddq ymm6, ymm2, ymm1
vpermq ymm1, ymm4, 0x93
vpsrlvq ymm1, ymm1, ymmword [0x140102b80]
vpshufd ymm2, ymm6, 0x4e
vpaddq ymm1, ymm3, ymm1
vpsrlq ymm3, ymm1, 0x1a
vpermq ymm3, ymm3, 0x93
vpaddq ymm4, ymm5, ymm6
mov eax, dword [0x141dca928]
imul eax, dword [0x141dca92c]
and eax, 0x81b5bc7f
xor eax, 0x144fc90a
imul eax, eax, 0xe018cb72
cmp eax, 0xbd6ae383
jbe 0x14006ec52
lea rax, [rcx - 2]
mov qword [rdi + 0x220], rax
vpaddq ymm2, ymm4, ymm2
vpand ymm4, ymm1, ymmword [0x1401029e0]
vpaddq ymm1, ymm2, ymm3
vpsrlvq ymm2, ymm1, ymmword [0x140102a00]
vpsllq ymm3, ymm2, 2
vpaddq ymm2, ymm2, ymm4
vpaddq ymm2, ymm3, ymm2
vpand ymm3, ymm2, ymmword [0x1401029a0]
add rcx, 0xfffffffffffffffe
vpermq ymm2, ymm2, 0x93
vpsrlvq ymm2, ymm2, ymmword [0x140102b80]
vpaddq ymm3, ymm3, ymm2
vpsrlq ymm2, ymm3, 0x1a
vpermq ymm2, ymm2, 0xff
vpbroadcastq xmm4, qword [0x140102b40]
vpshufd ymm3, ymm3, 0x28
vpand ymm3, ymm3, ymmword [0x140102a40]
vpermq ymm3, ymm3, 0xf8
nop
mov eax, dword [0x141dca930]
or eax, dword [0x141dca934]
imul eax, eax, 0x1fd8f209
mov qword [rdi + 0x220], rcx
cmp eax, 0xbca09a8e
je 0x14006ecc0
vpand xmm1, xmm1, xmm4
vpaddq xmm1, xmm2, xmm1
vpbroadcastd ymm1, xmm1
vpblendd ymm7, ymm3, ymm1, 0x90
cmp rcx, 1
jne 0x14006f13b
mov eax, dword [0x141dca978]
xor edx, edx
div dword [0x141dca97c]
nop dword [rax + rax]
mov eax, dword [0x141dca980]
xor eax, dword [0x141dca984]
and eax, 0x9b7392a
add eax, 0x46304166
or eax, 0x91232352
cmp eax, 0x8329ccb4
jb 0x14006ed10
vmovdqa xmm1, xmmword [rdi + 0x200]
vmovdqa xmm1, xmm1
vpor ymm1, ymm1, ymmword [0x140102820]
vpsllvd ymm2, ymm1, ymmword [0x140102a60]
vpsrlvd ymm1, ymm1, ymmword [0x140102a80]
vpermd ymm0, ymm0, ymm1
vpor ymm0, ymm0, ymm2
vpand ymm0, ymm0, ymmword [0x140102ac0]
nop dword [rax]
mov eax, dword [0x141dca988]
and eax, dword [0x141dca98c]
shr eax, 1
imul rax, rax, 0x524365
shr rax, 0x33
or eax, 0xc3c5bfe3
cmp eax, 0x4d940e68
je 0x14006ed70
jmp 0x14006ee8d
xor r9d, r9d
cmp rcx, 1
ja 0x14006ea09
mov eax, dword [0x141dca918]
xor edx, edx
div dword [0x141dca91c]
nop word cs:[rax + rax]
mov eax, dword [0x141dca920]
sub eax, dword [0x141dca924]
or eax, 0x62550fa3
add eax, 0x79d12339
cmp eax, 0x1bf8dcae
jb 0x14006edc0
xor eax, eax
nop
test al, al
jne 0x14006ede0
cmp rcx, 1
jne 0x14006f0a0
vmovdqa xmm0, xmmword [rdi + 0x1e0]
vpor ymm0, ymm0, ymmword [0x140102820]
vpsllvd ymm1, ymm0, ymmword [0x140102a60]
vpsrlvd ymm0, ymm0, ymmword [0x140102a80]
vmovdqa ymm2, ymmword [0x140102aa0]
vpermd ymm0, ymm2, ymm0
vpor ymm0, ymm0, ymm1
nop word cs:[rax + rax]
mov eax, dword [0x141dca938]
and eax, dword [0x141dca93c]
imul eax, eax, 0x18863e8d
cmp eax, 0xe19dc7f7
je 0x14006ee30
mov ecx, 0x9d8f3449
vpand ymm0, ymm0, ymmword [0x140102ac0]
nop word cs:[rax + rax]
mov eax, dword [0x141dca940]
xor edx, edx
div dword [0x141dca944]
add eax, 0xf0e3e16e
imul rax, rcx
shr rax, 0x3e
imul eax, eax, 0x71bc2776
cmp eax, 0xb291cff9
jb 0x14006ee60
test r8b, r8b
je 0x14006eebe
vpaddd ymm0, ymm7, ymm0
nop word cs:[rax + rax]
mov eax, dword [str.Gm_]
and eax, dword [0x141dca974]
imul eax, eax, 0xe502df4
xor eax, 0xfd83b905
cmp eax, 0xf1de18d2
ja 0x14006eea0
vmovdqa ymm1, ymmword [rdi + 0x160]
vmovdqa ymm2, ymmword [0x140102b00]
vpermd ymm2, ymm2, ymm0
vpbroadcastd ymm3, dword [rdi + 0x17c]
vpmuludq ymm2, ymm3, ymm2
vpmovzxdq ymm3, xmm0
vpbroadcastd ymm4, dword [rdi + 0x160]
vpmuludq ymm4, ymm4, ymm3
vpshufd xmm5, xmm0, 0xd7
vpermq ymm5, ymm5, 0x50
vpshufd ymm6, ymm1, 0xe5
vpermq ymm6, ymm6, 0x4e
vpmuludq ymm5, ymm6, ymm5
vpshufd xmm6, xmmword [rdi + 0x160], 0xe5
vpermq ymm6, ymm6, 0x10
vpblendd ymm6, ymm6, ymmword [rdi + 0x180], 3
vpermq ymm7, ymm0, 0x42
vpmuludq ymm6, ymm6, ymm7
vmovdqa ymm7, ymmword [0x140102b20]
vpermd ymm7, ymm7, ymm1
vpermq ymm8, ymm0, 0x29
vpmuludq ymm7, ymm8, ymm7
vpaddq ymm2, ymm2, ymm7
vpaddq ymm2, ymm5, ymm2
vpaddq ymm2, ymm2, ymm4
vpaddq ymm2, ymm2, ymm6
vmovdqa ymm4, ymmword [0x140102b60]
vpermd ymm4, ymm4, ymm1
vpmuludq ymm3, ymm4, ymm3
vpermq ymm4, ymm3, 0x4e
vpaddq ymm3, ymm4, ymm3
vpermq ymm4, ymm3, 1
vpermq ymm0, ymm0, 2
vpmuludq ymm0, ymm1, ymm0
vmovdqa ymm1, ymmword [0x1401029a0]
vpand ymm5, ymm2, ymm1
vmovdqa ymm6, ymmword [0x1401029c0]
vpsrlvq ymm2, ymm2, ymm6
vpermq ymm2, ymm2, 0x93
vpaddq ymm2, ymm5, ymm2
vpsrlq ymm5, ymm2, 0x1a
vpermq ymm5, ymm5, 0x93
vpaddq ymm0, ymm3, ymm0
vpaddq ymm0, ymm0, ymm4
vpaddq ymm0, ymm0, ymm5
vpand ymm2, ymm2, ymmword [0x1401029e0]
vpsrlvq ymm3, ymm0, ymmword [0x140102a00]
vpsllq ymm4, ymm3, 2
vpaddq ymm2, ymm3, ymm2
vpaddq ymm2, ymm4, ymm2
vpand ymm1, ymm2, ymm1
vpsrlvq ymm2, ymm2, ymm6
vpermq ymm2, ymm2, 0x93
vpaddq ymm1, ymm1, ymm2
vpsrlq ymm2, ymm1, 0x1a
vpermq ymm2, ymm2, 0xff
vpand xmm0, xmm0, xmmword [0x140102a20]
vpshufd ymm1, ymm1, 0x28
vpermq ymm1, ymm1, 0xf8
vpand ymm1, ymm1, ymmword [0x140102ba0]
vpaddq xmm0, xmm2, xmm0
dec qword [rdi + 0x220]
vpbroadcastd ymm0, xmm0
vpblendd ymm7, ymm1, ymm0, 0x90
cmp byte [rdi + 0x228], 0
je 0x14006f34a
vmovdqu xmm0, xmmword [rdi + 0x229]
vpsllvd ymm1, ymm0, ymmword [0x140102a60]
vpsrlvd ymm0, ymm0, ymmword [0x140102a80]
vmovdqa ymm2, ymmword [0x140102ae0]
vpermd ymm0, ymm2, ymm0
vpor ymm0, ymm0, ymm1
vpand ymm0, ymm0, ymmword [0x140102ac0]
nop dword [rax + rax]
mov eax, dword [0x141dca990]
and eax, dword [0x141dca994]
add eax, 0x7cf9e39c
xor eax, 0x10065243
or eax, 0xc6f18534
cmp eax, 0x77c45a0
je 0x14006f070
jmp 0x14006f1e3
mov eax, dword [0x141dca948]
xor eax, dword [0x141dca94c]
add eax, 0x991b8b29
xor eax, 0x80002647
and eax, 0x843f26ef
cmp eax, 0xe0a90f87
ja 0x14006f0a0
movzx ecx, byte [rdi + 0x228]
nop dword [rax]
mov eax, dword [0x141dca950]
xor edx, edx
div dword [0x141dca954]
add eax, 0x576a281a
and eax, 0x563e5723
add eax, 0x64486e64
cmp eax, 0xb439dbaf
jb 0x14006f0d0
test cl, cl
jne 0x14006f1ab
test r8b, r8b
jne 0x14006f34a
nop word cs:[rax + rax]
mov eax, dword [0x141dca9a8]
xor eax, dword [0x141dca9ac]
or eax, 0x41e93026
imul eax, eax, 0xc3149ab7
cmp eax, 0xd8cd3a13
je 0x14006f110
vmovdqa ymm0, ymmword [rdi + 0x140]
jmp 0x14006f6be
mov eax, dword [0x141dca958]
xor edx, edx
div dword [0x141dca95c]
nop dword [rax]
mov eax, dword [0x141dca960]
imul eax, dword [0x141dca964]
or eax, 0xd974c992
imul eax, eax, 0xad56b9d6
add eax, 0x52594c09
cmp eax, 0xc3aeab6d
ja 0x14006f150
movzx eax, byte [rdi + 0x228]
nop dword [rax + rax]
mov ecx, dword [0x141dca968]
and ecx, dword [0x141dca96c]
add ecx, 0x33c9d252
xor ecx, 0x849cc19b
cmp ecx, 0x59b713c2
ja 0x14006f180
mov r9b, 1
test al, al
je 0x14006f34a
vmovdqu xmm0, xmmword [rdi + 0x229]
vpsllvd ymm1, ymm0, ymmword [0x140102a60]
vpsrlvd ymm0, ymm0, ymmword [0x140102a80]
vmovdqa ymm2, ymmword [0x140102ae0]
vpermd ymm0, ymm2, ymm0
vpor ymm0, ymm0, ymm1
vpand ymm0, ymm0, ymmword [0x140102ac0]
test r9b, r9b
je 0x14006f1e7
vpaddd ymm0, ymm7, ymm0
vmovdqa ymm1, ymmword [rdi + 0x160]
vmovdqa ymm2, ymmword [0x140102b00]
vpermd ymm2, ymm2, ymm0
vpbroadcastd ymm3, dword [rdi + 0x17c]
vpmuludq ymm2, ymm3, ymm2
vpmovzxdq ymm3, xmm0
vpbroadcastd ymm4, dword [rdi + 0x160]
vpmuludq ymm4, ymm4, ymm3
vpshufd xmm5, xmm0, 0xd7
vpermq ymm5, ymm5, 0x50
vpshufd ymm6, ymm1, 0xe5
vpshufd xmm7, xmmword [rdi + 0x160], 0xe5
vpermq ymm6, ymm6, 0x4e
vpermq ymm7, ymm7, 0x10
vpblendd ymm7, ymm7, ymmword [rdi + 0x180], 3
vpmuludq ymm5, ymm6, ymm5
vpermq ymm6, ymm0, 0x42
vpmuludq ymm6, ymm7, ymm6
vpaddq ymm4, ymm4, ymm6
vmovdqa ymm6, ymmword [0x140102b20]
vpermd ymm6, ymm6, ymm1
vpermq ymm7, ymm0, 0x29
vpmuludq ymm6, ymm6, ymm7
vpaddq ymm2, ymm2, ymm6
vpaddq ymm2, ymm5, ymm2
vpaddq ymm2, ymm2, ymm4
vmovdqa ymm4, ymmword [0x140102b60]
vpermd ymm4, ymm4, ymm1
vpmuludq ymm3, ymm4, ymm3
vpermq ymm4, ymm3, 0x4e
vpaddq ymm3, ymm4, ymm3
vpermq ymm4, ymm3, 1
vpermq ymm0, ymm0, 2
vpmuludq ymm0, ymm1, ymm0
vmovdqa ymm1, ymmword [0x1401029a0]
vpand ymm5, ymm2, ymm1
vmovdqa ymm6, ymmword [0x1401029c0]
vpsrlvq ymm2, ymm2, ymm6
vpermq ymm2, ymm2, 0x93
vpaddq ymm2, ymm5, ymm2
vpsrlq ymm5, ymm2, 0x1a
vpermq ymm5, ymm5, 0x93
vpaddq ymm0, ymm3, ymm0
vpaddq ymm0, ymm0, ymm4
vpaddq ymm0, ymm0, ymm5
vpand ymm2, ymm2, ymmword [0x1401029e0]
vpsrlvq ymm3, ymm0, ymmword [0x140102a00]
vpsllq ymm4, ymm3, 2
vpaddq ymm2, ymm3, ymm2
vpaddq ymm2, ymm4, ymm2
vpand ymm1, ymm2, ymm1
vpsrlvq ymm2, ymm2, ymm6
vpermq ymm2, ymm2, 0x93
vpaddq ymm1, ymm1, ymm2
vpsrlq ymm2, ymm1, 0x1a
vpand xmm0, xmm0, xmmword [0x140102a20]
vpermq ymm2, ymm2, 0xff
vpaddq xmm0, xmm2, xmm0
vpbroadcastd ymm0, xmm0
vpshufd ymm1, ymm1, 0x28
vpermq ymm1, ymm1, 0xf8
vpand ymm1, ymm1, ymmword [0x140102ba0]
vpblendd ymm7, ymm1, ymm0, 0x90
mov eax, dword [0x141dca998]
sub eax, dword [0x141dca99c]
imul eax, eax, 0xa75eb392
and eax, 0x4ed42e6
imul rcx, rax, 0x1401f017
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
cmp eax, 0xcf90ce7c
jne 0x14006f49c
vpxor xmm0, xmm0, xmm0
vpblendd ymm0, ymm7, ymm0, 0xe0
vmovdqa ymmword [rsp + 0x40], ymm0
lea rbx, [rsp + 0x20]
lea r14, [rsp + 0x40]
mov rcx, rbx
mov rdx, r14
vmovdqa ymmword [rsp + 0x80], ymm7
vzeroupper
call fcn.14006e080
vmovaps ymm0, ymmword [rsp + 0x20]
vmovaps ymmword [rsp + 0x40], ymm0
mov rcx, rbx
mov rdx, r14
vzeroupper
call fcn.14006e080
vmovaps ymm0, ymmword [rsp + 0x20]
vmovaps ymmword [rsp + 0x40], ymm0
mov rcx, rbx
mov rdx, r14
vzeroupper
call fcn.14006e080
vmovaps ymm0, ymmword [rsp + 0x20]
vmovaps ymmword [rsp + 0x40], ymm0
mov rcx, rbx
mov rdx, r14
vzeroupper
call fcn.14006e080
vmovaps ymm0, ymmword [rsp + 0x20]
vmovaps ymmword [rsp + 0x40], ymm0
mov rcx, rbx
mov rdx, r14
vzeroupper
call fcn.14006e080
vmovdqa xmm0, xmmword [0x140102bc0]
vpaddd ymm0, ymm0, ymmword [rsp + 0x20]
vmovdqa ymmword [rsp + 0x60], ymm0
lea rbx, [rsp + 0x20]
lea r14, [rsp + 0x60]
mov rcx, rbx
mov rdx, r14
vzeroupper
call fcn.14006e080
vmovaps ymm0, ymmword [rsp + 0x20]
vmovaps ymmword [rsp + 0x60], ymm0
mov rcx, rbx
mov rdx, r14
vzeroupper
call fcn.14006e080
vmovaps ymm0, ymmword [rsp + 0x20]
vmovaps ymmword [rsp + 0x60], ymm0
mov rcx, rbx
mov rdx, r14
vzeroupper
call fcn.14006e080
vmovdqa ymm0, ymmword [rsp + 0x20]
vmovdqa ymmword [rsp + 0x60], ymm0
mov rcx, rbx
mov rdx, r14
vzeroupper
call fcn.14006e080
vmovdqa ymm7, ymmword [rsp + 0x80]
vpxor xmm0, xmm0, xmm0
vpblendd ymm0, ymm7, ymm0, 0xe0
vmovdqa ymmword [rsp + 0x80], ymm0
lea rbx, [rsp + 0x20]
lea r14, [rsp + 0x40]
lea r15, [rsp + 0x60]
vpcmpeqd xmm6, xmm6, xmm6
nop word cs:[rax + rax]
mov eax, dword [0x141dca9a0]
or eax, dword [0x141dca9a4]
xor eax, 0x2204c25e
imul r12d, eax, 0x7dd3abb4
and r12d, 0x36f43d84
vmovaps ymm0, ymmword [rdi + 0x140]
vmovaps ymmword [rsp + 0xc0], ymm0
vmovaps ymm0, ymmword [rsp + 0x80]
vmovaps ymmword [rsp + 0x40], ymm0
mov rcx, rbx
mov rdx, r14
vzeroupper
call fcn.14006e080
vmovaps ymm0, ymmword [rsp + 0x20]
vmovaps ymmword [rsp + 0x40], ymm0
mov rcx, rbx
mov rdx, r14
vzeroupper
call fcn.14006e080
vmovaps ymm0, ymmword [rsp + 0x20]
vmovaps ymmword [rsp + 0x40], ymm0
mov rcx, rbx
mov rdx, r14
vzeroupper
call fcn.14006e080
vmovaps ymm0, ymmword [rsp + 0x20]
vmovaps ymmword [rsp + 0x40], ymm0
mov rcx, rbx
mov rdx, r14
vzeroupper
call fcn.14006e080
vmovaps ymm0, ymmword [rsp + 0x20]
vmovaps ymmword [rsp + 0x40], ymm0
mov rcx, rbx
mov rdx, r14
vzeroupper
call fcn.14006e080
vmovdqa ymm1, ymmword [rsp + 0x20]
vmovdqa xmm0, xmmword [0x140102bc0]
vmovdqa ymmword [rsp + 0xa0], ymm1
vpaddd ymm0, ymm1, ymm0
vmovdqa ymmword [rsp + 0x60], ymm0
mov rcx, rbx
mov rdx, r15
vzeroupper
call fcn.14006e080
vmovaps ymm0, ymmword [rsp + 0x20]
vmovaps ymmword [rsp + 0x60], ymm0
mov rcx, rbx
mov rdx, r15
vzeroupper
call fcn.14006e080
vmovaps ymm0, ymmword [rsp + 0x20]
vmovaps ymmword [rsp + 0x60], ymm0
mov rcx, rbx
mov rdx, r15
vzeroupper
call fcn.14006e080
vmovdqa ymm0, ymmword [rsp + 0x20]
vmovdqa ymmword [rsp + 0x60], ymm0
mov rcx, rbx
mov rdx, r15
vzeroupper
call fcn.14006e080
cmp r12d, 0x370d0d1e
ja 0x14006f4d0
vmovdqa ymm0, ymmword [0x140102be0]
vpaddd ymm0, ymm0, ymmword [rsp + 0x20]
vpsrld ymm1, ymm0, 0x1f
vextracti128 xmm1, ymm1, 1
vpaddd xmm1, xmm1, xmm6
vpbroadcastd ymm1, xmm1
vpandn ymm2, ymm1, ymmword [rsp + 0xa0]
vpand ymm0, ymm1, ymm0
vpor ymm0, ymm0, ymm2
vpsrlvd ymm1, ymm0, ymmword [0x140102c00]
vmovdqa ymm2, ymmword [0x140102c40]
vpermd ymm1, ymm2, ymm1
vpsllvd ymm0, ymm0, ymmword [0x140102c20]
vmovdqa ymm2, ymmword [0x140102c60]
vpermd ymm0, ymm2, ymm0
vpor ymm0, ymm0, ymm1
vpaddq ymm0, ymm0, ymmword [rsp + 0xc0]
vpxor xmm2, xmm2, xmm2
vpblendd ymm1, ymm0, ymm2, 0xaa
vpsrlq ymm0, ymm0, 0x20
vpermq ymm0, ymm0, 0x90
vpblendd ymm0, ymm0, ymm2, 3
vpaddq ymm0, ymm0, ymm1
vpblendd ymm1, ymm0, ymm2, 0xaa
vpsrlq ymm0, ymm0, 0x20
vpermq ymm0, ymm0, 0x90
vpaddq ymm0, ymm0, ymm1
vpsrlq ymm1, ymm0, 0x20
vpermq ymm1, ymm1, 0x90
vpaddq ymm0, ymm1, ymm0
vextracti128 xmm1, ymm0, 1
vshufps xmm0, xmm0, xmm1, 0x88
vmovups xmmword [rsi], xmm0
vmovaps xmm6, xmmword [rbp + 0x60]
vmovaps xmm7, xmmword [rbp + 0x70]
vmovaps xmm8, xmmword [rbp + 0x80]
vmovaps xmm9, xmmword [rbp + 0x90]
vmovaps xmm10, xmmword [rbp + 0xa0]
vmovaps xmm11, xmmword [rbp + 0xb0]
vmovaps xmm12, xmmword [rbp + 0xc0]
vmovaps xmm13, xmmword [rbp + 0xd0]
vmovaps xmm14, xmmword [rbp + 0xe0]
vmovaps xmm15, xmmword [rbp + 0xf0]
lea rsp, [rbp + 0x100]
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
pop rbp
vzeroupper
ret
ud2