Function at 0x14002c0f0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x168
movdqa xmmword [rsp + 0x150], xmm15
movdqa xmmword [rsp + 0x140], xmm14
movdqa xmmword [rsp + 0x130], xmm13
movdqa xmmword [rsp + 0x120], xmm12
movaps xmmword [rsp + 0x110], xmm11
movaps xmmword [rsp + 0x100], xmm10
movaps xmmword [rsp + 0xf0], xmm9
movaps xmmword [rsp + 0xe0], xmm8
movaps xmmword [rsp + 0xd0], xmm7
movdqa xmmword [rsp + 0xc0], xmm6
movdqa xmm0, xmmword [0x1400cdfb0]
movdqa xmm1, xmmword [0x1400cdfc0]
movdqa xmm8, xmmword [0x1400cdfd0]
movdqa xmm3, xmmword [0x1400cdfe0]
movdqa xmm4, xmmword [0x1400cdff0]
movdqa xmm5, xmmword [0x1400ce000]
movdqa xmm10, xmmword [0x1400ce010]
movdqa xmm7, xmmword [0x1400ce020]
xor eax, eax
movdqa xmm9, xmmword [0x1400ce040]
lea rcx, [0x142223e30]
movdqa xmm11, xmmword [0x1400ce050]
pxor xmm12, xmm12
nop word cs:[rax + rax]
movdqa xmm13, xmm1
psrlw xmm13, 1
movdqa xmm6, xmmword [str.UUUUUUUUUUUUUUUU3333333333333333]
pand xmm13, xmm6
movdqa xmm15, xmm1
psubb xmm15, xmm13
movdqa xmm13, xmm15
pand xmm13, xmm9
psrlw xmm15, 2
pand xmm15, xmm9
paddb xmm15, xmm13
movdqa xmm14, xmm15
psrlw xmm14, 4
paddb xmm14, xmm15
pand xmm14, xmm11
psadbw xmm14, xmm12
movdqa xmm13, xmm0
psrlw xmm13, 1
pand xmm13, xmm6
movdqa xmm15, xmm0
psubb xmm15, xmm13
movdqa xmm13, xmm15
pand xmm13, xmm9
psrlw xmm15, 2
pand xmm15, xmm9
paddb xmm15, xmm13
movdqa xmm13, xmm15
psrlw xmm13, 4
paddb xmm13, xmm15
pand xmm13, xmm11
psadbw xmm13, xmm12
packuswb xmm14, xmm13
movdqa xmm13, xmm3
psrlw xmm13, 1
pand xmm13, xmm6
movdqa xmm15, xmm3
psubb xmm15, xmm13
movdqa xmm13, xmm15
pand xmm13, xmm9
psrlw xmm15, 2
pand xmm15, xmm9
paddb xmm15, xmm13
movdqa xmm13, xmm15
psrlw xmm13, 4
paddb xmm13, xmm15
pand xmm13, xmm11
psadbw xmm13, xmm12
movdqa xmm15, xmm8
psrlw xmm15, 1
pand xmm15, xmm6
movdqa xmm2, xmm8
psubb xmm2, xmm15
movdqa xmm15, xmm2
pand xmm15, xmm9
psrlw xmm2, 2
pand xmm2, xmm9
paddb xmm2, xmm15
movdqa xmm15, xmm2
psrlw xmm15, 4
paddb xmm15, xmm2
pand xmm15, xmm11
psadbw xmm15, xmm12
packuswb xmm13, xmm15
packuswb xmm13, xmm14
movdqa xmm2, xmm5
psrlw xmm2, 1
pand xmm2, xmm6
movdqa xmm15, xmm5
psubb xmm15, xmm2
movdqa xmm2, xmm15
pand xmm2, xmm9
psrlw xmm15, 2
pand xmm15, xmm9
paddb xmm15, xmm2
movdqa xmm14, xmm15
psrlw xmm14, 4
paddb xmm14, xmm15
pand xmm14, xmm11
psadbw xmm14, xmm12
movdqa xmm2, xmm4
psrlw xmm2, 1
pand xmm2, xmm6
movdqa xmm15, xmm4
psubb xmm15, xmm2
movdqa xmm2, xmm15
pand xmm2, xmm9
psrlw xmm15, 2
pand xmm15, xmm9
paddb xmm15, xmm2
movdqa xmm2, xmm15
psrlw xmm2, 4
paddb xmm2, xmm15
pand xmm2, xmm11
psadbw xmm2, xmm12
packuswb xmm14, xmm2
movdqa xmm2, xmm7
psrlw xmm2, 1
pand xmm2, xmm6
movdqa xmm15, xmm7
psubb xmm15, xmm2
movdqa xmm2, xmm15
pand xmm2, xmm9
psrlw xmm15, 2
pand xmm15, xmm9
paddb xmm15, xmm2
movdqa xmm2, xmm15
psrlw xmm2, 4
paddb xmm2, xmm15
movdqa xmm15, xmm10
psrlw xmm15, 1
pand xmm15, xmm6
movdqa xmm6, xmm10
psubb xmm6, xmm15
movdqa xmm15, xmm6
pand xmm15, xmm9
psrlw xmm6, 2
pand xmm6, xmm9
paddb xmm6, xmm15
movdqa xmm15, xmm6
psrlw xmm15, 4
paddb xmm15, xmm6
pand xmm2, xmm11
psadbw xmm2, xmm12
pand xmm15, xmm11
psadbw xmm15, xmm12
packuswb xmm2, xmm15
packuswb xmm2, xmm14
packuswb xmm2, xmm13
movdqa xmmword [rax + rcx], xmm2
add rax, 0x10
movdqa xmm2, xmmword [0x1400ce060]
paddq xmm7, xmm2
paddq xmm10, xmm2
paddq xmm5, xmm2
paddq xmm4, xmm2
paddq xmm3, xmm2
paddq xmm8, xmm2
paddq xmm1, xmm2
paddq xmm0, xmm2
cmp rax, 0x10000
jne 0x14002c1d0
lea rax, [0x142233e30]
xor edx, edx
mov r8d, 1
xor ecx, ecx
xor r9d, r9d
shld r9, r8, cl
mov r10d, 1
shl r10, cl
test cl, 0x40
cmovne r9, r10
cmovne r10, rdx
mov qword [rax + 8], r9
mov qword [rax], r10
inc rcx
add rax, 0x10
cmp rcx, 0x5a
jne 0x14002c4ae
lea rax, [0x1421ff5b0]
xor ecx, ecx
movdqa xmm1, xmmword [0x1400ce080]
movdqa xmm2, xmmword [0x1400ce090]
movdqa xmm3, xmmword [0x1400ce0a0]
movdqa xmm4, xmmword [0x1400ce0b0]
movdqa xmm5, xmmword [0x1400ce0c0]
movdqa xmm6, xmmword [str._b_b_b_b]
mov rdx, rax
mov r8d, ecx
imul r9, r8, 0x38e38e39
shr r9, 0x21
lea r10d, [r9 + r9*8]
mov r8d, ecx
sub r8d, r10d
movd xmm7, r8d
pshufd xmm7, xmm7, 0
movd xmm8, r9d
pshufd xmm8, xmm8, 0
xor r10d, r10d
movdqa xmm9, xmm1
movdqa xmm10, xmmword [0x1400ce070]
nop word [rax + rax]
movdqa xmm11, xmm9
pmuludq xmm11, xmm2
pshufd xmm12, xmm11, 0xed
pshufd xmm15, xmm9, 0xf5
movdqa xmm11, xmm15
pmuludq xmm11, xmm2
pshufd xmm11, xmm11, 0xed
punpckldq xmm12, xmm11
psrld xmm12, 1
movdqa xmm11, xmm12
pslld xmm11, 3
paddd xmm11, xmm12
movdqa xmm12, xmm10
pmuludq xmm12, xmm2
pshufd xmm13, xmm12, 0xed
pshufd xmm14, xmm10, 0xf5
movdqa xmm12, xmm14
pmuludq xmm12, xmm2
pshufd xmm12, xmm12, 0xed
punpckldq xmm13, xmm12
psrld xmm13, 1
movdqa xmm0, xmm13
pslld xmm0, 3
paddd xmm0, xmm13
psubd xmm0, xmm10
paddd xmm0, xmm7
psubd xmm11, xmm9
paddd xmm11, xmm7
movdqa xmm13, xmm11
psrad xmm13, 0x1f
pxor xmm11, xmm13
psubd xmm11, xmm13
movdqa xmm13, xmm0
psrad xmm13, 0x1f
pxor xmm0, xmm13
psubd xmm0, xmm13
movdqa xmm13, xmm9
pmuludq xmm13, xmm3
pshufd xmm13, xmm13, 0xed
pmuludq xmm15, xmm3
pshufd xmm15, xmm15, 0xed
punpckldq xmm13, xmm15
pxor xmm15, xmm15
pcmpgtd xmm15, xmm9
pand xmm15, xmm3
paddd xmm15, xmm9
psubd xmm13, xmm15
movdqa xmm15, xmm13
psrld xmm15, 0x1f
psrad xmm13, 1
paddd xmm13, xmm15
movdqa xmm15, xmm10
pmuludq xmm15, xmm3
pshufd xmm15, xmm15, 0xed
pmuludq xmm14, xmm3
pshufd xmm14, xmm14, 0xed
punpckldq xmm15, xmm14
pxor xmm14, xmm14
pcmpgtd xmm14, xmm10
pand xmm14, xmm3
paddd xmm14, xmm10
psubd xmm15, xmm14
movdqa xmm14, xmm15
psrld xmm14, 0x1f
psrad xmm15, 1
paddd xmm15, xmm14
paddd xmm15, xmm8
paddd xmm13, xmm8
movdqa xmm14, xmm13
psrad xmm14, 0x1f
pxor xmm13, xmm14
psubd xmm13, xmm14
movdqa xmm14, xmm15
psrad xmm14, 0x1f
pxor xmm15, xmm14
psubd xmm15, xmm14
movdqa xmm14, xmm15
pxor xmm14, xmm4
movdqa xmm12, xmm0
pxor xmm12, xmm4
pcmpgtd xmm12, xmm14
pand xmm0, xmm12
pandn xmm12, xmm15
por xmm12, xmm0
movdqa xmm0, xmm13
pxor xmm0, xmm4
movdqa xmm14, xmm11
pxor xmm14, xmm4
pcmpgtd xmm14, xmm0
pand xmm11, xmm14
pandn xmm14, xmm13
por xmm14, xmm11
pand xmm14, xmm5
pand xmm12, xmm5
packuswb xmm14, xmm12
packuswb xmm14, xmm14
movq qword [rdx + r10], xmm14
add r10, 8
paddd xmm9, xmm6
paddd xmm10, xmm6
cmp r10, 0x58
jne 0x14002c560
lea r10d, [r8 - 7]
mov r11d, r10d
neg r11d
cmovs r11d, r10d
add r9d, 0xfffffff7
mov r10d, r9d
neg r10d
cmovs r10d, r9d
cmp r11d, r10d
cmovbe r11d, r10d
imul r9, rcx, 0x5a
mov byte [r9 + rax + 0x58], r11b
add r8d, 0xfffffff8
mov r11d, r8d
neg r11d
cmovs r11d, r8d
cmp r11d, r10d
cmovbe r11d, r10d
mov byte [r9 + rax + 0x59], r11b
inc rcx
add rdx, 0x5a
cmp rcx, 0x5a
jne 0x14002c519
call fcn.14002d600
call fcn.14002e800
call fcn.14002e1a0
call fcn.14002dba0
call fcn.14002d0a0
lea rax, [0x1421ff5b0]
xor ecx, ecx
mov qword [rsp + 0x40], rcx
lea r12, [0x142233e30]
lea rbp, [0x1422343d0]
mov qword [rsp + 0x48], rax
xor r9d, r9d
xor r15d, r15d
mov qword [rsp + 0x20], r9
mov rax, r15
shl rax, 4
mov r13, qword [rax + r12]
mov r14, qword [rax + r12 + 8]
mov rcx, r13
shl rcx, 9
mov rdx, r14
shld rdx, r13, 9
movabs r8, 0xfffffff803ffffff
and rdx, r8
cmp r15, 0x2d
mov qword [rsp + 0x60], r14
jb 0x14002c8bf
mov r10, r14
shld r10, r13, 0x3f
mov r11, r14
shr r11, 1
movabs r8, 0x7ffffffffffeff7f
and r11, r8
movabs r8, 0xbfdfeff7fbfdfeff
and r10, r8
mov r8, r14
shld r8, r13, 1
lea r9, [r13*2]
mov rsi, 0xfffffffffbfdfeff
and r8, rsi
or r8, r11
movabs r11, 0x7fbfdfeff7fbfdfe
and r9, r11
or r9, r10
mov rsi, r8
or rsi, rdx
mov rdi, r9
or rdi, rcx
mov r11, r14
shld r11, r13, 0x37
mov r10, r14
shr r10, 9
or r8, r10
or r9, r11
jmp 0x14002c946
mov r9, r14
shld r9, r13, 0x37
mov r8, r14
shr r8, 9
mov r10, r14
shld r10, r13, 0x3f
mov r11, r14
shr r11, 1
movabs rsi, 0x7ffffffffffeff7f
and r11, rsi
mov rbx, r14
shld rbx, r13, 1
movabs rsi, 0xbfdfeff7fbfdfeff
and r10, rsi
lea r14, [r13*2]
mov rsi, 0xfffffffffbfdfeff
and rbx, rsi
or rbx, r11
movabs r11, 0x7fbfdfeff7fbfdfe
and r14, r11
or r14, r10
mov r10, rbx
or r10, r8
mov r11, r14
or r11, r9
or rbx, rdx
or r14, rcx
mov rdi, rcx
mov rsi, rdx
mov rcx, r14
mov r14, qword [rsp + 0x60]
mov rdx, rbx
lea rbx, [0x1400ed400]
mov qword [rax + rbx], rdi
mov qword [rax + rbx + 8], rsi
mov qword [rax + rbx + 0x5a0], r11
mov qword [rax + rbx + 0x5a8], r10
lea r10, [0x1421fac90]
mov qword [rax + r10], r9
mov qword [rax + r10 + 8], r8
mov qword [rax + r10 + 0x5a0], rcx
mov qword [rax + r10 + 0x5a8], rdx
lea rcx, [rax + rax*2]
lea r9, [0x1400ec2d0]
mov r10, qword [r9 + rcx + 0x20]
mov rdx, qword [r9 + rcx + 8]
mov qword [rsp + 0x98], rdx
mov rdx, qword [r9 + rcx + 0x18]
mov qword [rsp + 0x90], rdx
mov rdx, qword [r9 + rcx]
mov qword [rsp + 0x88], rdx
mov rdx, qword [r9 + rcx + 0x10]
mov qword [rsp + 0x80], rdx
mov edx, r13d
and edx, 0xe07038
mov r8d, r14d
and r8d, 0x70381c
or r8, rdx
mov r11, qword [r10]
mov qword [rsp + 0x68], r10
movdqa xmm0, xmmword [r10]
lea r8, [0x1421fb7d0]
movdqa xmmword [rax + r8 + 0x5a0], xmm0
lea rdx, [0x1400edf40]
mov rdx, qword [rdx + rcx + 0x20]
movaps xmm1, xmmword [rdx]
mov edx, dword [r9 + rcx + 0x28]
mov dword [rsp + 0x3c], edx
movaps xmmword [rax + r8 + 0x21c0], xmm1
lea rdx, [0x1400f0100]
mov rcx, qword [rdx + rcx + 0x20]
movdqa xmm1, xmmword [rcx]
mov rdi, qword [rcx]
movdqa xmmword [rax + r8 + 0x1c20], xmm1
mov qword [rsp + 0x70], r15
mov qword [rsp + 0xa0], r13
mov qword [rsp + 0x58], r11
mov qword [rsp + 0x50], rdi
jne 0x14002caa1
mov ebx, r15d
mov r9, qword [rsp + 0x20]
pshufd xmm0, xmm0, 0xee
movq r10, xmm0
pshufd xmm0, xmm1, 0xee
movq qword [rsp + 0xb8], xmm0
mov eax, ebx
imul rax, rax, 0x38e38e39
shr rax, 0x21
mov qword [rsp + 0x78], rax
lea eax, [rax + rax*8]
sub ebx, eax
lea r14, [0x1400ec2f8]
xor esi, esi
xor r8d, r8d
mov qword [rsp + 0x30], r10
jmp 0x14002cdb3
mov ebx, r15d
lea ecx, [rbx + 9]
cmp ecx, 0x59
ja 0x14002cd0c
mov edx, ecx
imul rcx, r15, 0x5a
lea r8, [0x1421ff5b0]
add rcx, r8
cmp byte [rdx + rcx], 2
ja 0x14002cd0c
shl rdx, 4
mov rcx, qword [rdx + r12]
mov rdx, qword [rdx + r12 + 8]
lea r8d, [rbx - 9]
cmp r8d, 0x59
ja 0x14002cd15
mov r8d, r8d
imul r9, r15, 0x5a
lea r10, [0x1421ff5b0]
add r9, r10
cmp byte [r8 + r9], 2
ja 0x14002cd15
shl r8, 4
mov r9, qword [r8 + r12]
mov r8, qword [r8 + r12 + 8]
lea r10d, [rbx - 1]
cmp r10d, 0x59
ja 0x14002cd20
mov r10d, r10d
imul r11, r15, 0x5a
lea rsi, [0x1421ff5b0]
add r11, rsi
cmp byte [r10 + r11], 2
ja 0x14002cd20
shl r10, 4
mov rsi, qword [r10 + r12]
mov r11, qword [r10 + r12 + 8]
lea r10d, [rbx + 1]
cmp r10d, 0x59
mov qword [rsp + 0x28], rbx
ja 0x14002cd2a
mov r10d, r10d
imul rdi, r15, 0x5a
lea rbx, [0x1421ff5b0]
add rdi, rbx
cmp byte [r10 + rdi], 2
ja 0x14002cd2a
shl r10, 4
mov rdi, qword [r10 + r12]
mov r10, qword [r10 + r12 + 8]
lea rbx, [0x1421fb7d0]
add rbx, rax
add rbx, 0x2760
or rcx, qword [rbx]
or rcx, r9
or rcx, rsi
or rdx, qword [rbx + 8]
or rdx, r8
or rdx, r11
or ecx, edi
or edx, r10d
and edx, 0x70381c
and ecx, 0xe07038
mov qword [rbx], rcx
mov qword [rbx + 8], rdx
mov r11, qword [rsp + 0x28]
lea ecx, [r11 + 8]
cmp ecx, 0x59
ja 0x14002cd34
mov ecx, ecx
imul rdx, r15, 0x5a
lea r8, [0x1421ff5b0]
add rdx, r8
cmp byte [rcx + rdx], 2
ja 0x14002cd34
shl rcx, 4
mov rdx, qword [rcx + r12]
mov rcx, qword [rcx + r12 + 8]
lea r8d, [r11 + 0xa]
cmp r8d, 0x59
ja 0x14002cd3d
mov r8d, r8d
imul r9, r15, 0x5a
lea r10, [0x1421ff5b0]
add r9, r10
cmp byte [r8 + r9], 2
ja 0x14002cd3d
shl r8, 4
mov r9, qword [r8 + r12]
mov r8, qword [r8 + r12 + 8]
lea r10d, [r11 - 0xa]
cmp r10d, 0x59
ja 0x14002cd48
mov r10d, r10d
imul r11, r15, 0x5a
lea rsi, [0x1421ff5b0]
add r11, rsi
cmp byte [r10 + r11], 2
ja 0x14002cd48
shl r10, 4
mov rbx, qword [r10 + r12]
mov rdi, qword [r10 + r12 + 8]
lea r10, [0x1421fb7d0]
mov rsi, qword [rax + r10 + 0xb40]
mov r11, qword [rax + r10 + 0xb48]
mov r10, qword [rsp + 0x28]
add r10d, 0xfffffff8
cmp r10d, 0x59
ja 0x14002cd51
mov r10d, r10d
imul r14, r15, 0x5a
lea r15, [0x1421ff5b0]
add r14, r15
cmp byte [r10 + r14], 2
ja 0x14002cd51
shl r10, 4
mov r14, qword [r10 + r12]
mov r10, qword [r10 + r12 + 8]
lea r15, [0x1421fb7d0]
add rax, r15
add rax, 0xb40
or rsi, rdx
or rsi, r9
or rsi, rbx
or r11, rcx
or r11, r8
or r11, rdi
or esi, r14d
or r11d, r10d
and r11d, 0x70381c
and esi, 0xe07038
mov qword [rax], rsi
mov qword [rax + 8], r11
mov r9, qword [rsp + 0x20]
mov r11, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x28]
jmp 0x14002ca5c
xor ecx, ecx
xor edx, edx
jmp 0x14002cad7
xor r9d, r9d
xor r8d, r8d
jmp 0x14002cb0e
xor esi, esi
xor r11d, r11d
jmp 0x14002cb45
xor edi, edi
xor r10d, r10d
jmp 0x14002cb81
xor edx, edx
xor ecx, ecx
jmp 0x14002cbf6
xor r9d, r9d
xor r8d, r8d
jmp 0x14002cc2d
xor ebx, ebx
xor edi, edi
jmp 0x14002cc64
xor r14d, r14d
xor r10d, r10d
jmp 0x14002ccb7
mov rax, r15
and rax, rdi
mov rcx, r13
and rcx, qword [rsp + 0xb8]
or rcx, rax
jne 0x14002cf26
lea rcx, [r9 + rsi]
mov rax, qword [rbp + rcx]
mov rcx, qword [rbp + rcx + 8]
lea rdx, [r9 + rsi]
or rcx, r13
or rax, r15
mov qword [rbp + rdx], rax
mov qword [rbp + rdx + 8], rcx
inc r8
add rsi, 0x10
dec ebx
add r14, 0x30
cmp r8, 0x5a
je 0x14002cffa
mov r15, qword [rsi + r12]
mov r13, qword [rsi + r12 + 8]
mov rax, r13
and rax, r10
mov rcx, r15
and rcx, r11
or rcx, rax
je 0x14002cd60
mov rax, qword [r14 - 0x18]
mov qword [rsp + 0xa8], rax
mov rax, qword [r14 - 8]
mov qword [rsp + 0xb0], rax
movdqa xmm0, xmmword [rax]
mov rax, qword [rsp + 0x68]
pand xmm0, xmmword [rax]
pshufd xmm1, xmm0, 0xee
movq rax, xmm1
movq rcx, xmm0
mov rdx, qword [rsp + 0x60]
mov rdi, rdx
or rdi, r13
or rdi, rax
mov rax, qword [rsp + 0xa0]
mov rbp, rax
or rbp, r15
or rbp, rcx
mov r9, qword [r14 - 0x28]
and r9, rax
mov r12, qword [r14 - 0x20]
and r12, rdx
mov qword [rsp + 0x28], rbx
mov rbx, qword [r14 - 0x10]
mov rax, r15
and rax, qword [rsp + 0x88]
mov rcx, rax
imul rcx, qword [rsp + 0x90]
mov r10, qword [rsp + 0x80]
mul r10
add rdx, rcx
mov r11, r13
and r11, qword [rsp + 0x98]
imul r11, r10
add r11, rdx
mov ecx, dword [rsp + 0x3c]
shrd rax, r11, cl
shr r11, cl
imul rbx, r9
test cl, 0x40
cmove r11, rax
mov rax, qword [rsp + 0x20]
lea r10, [rax + rsi]
mov rax, r9
mov r9, qword [rsp + 0xa8]
mul r9
lea rcx, [0x142201630]
mov qword [rcx + r10], rbp
lea rbp, [0x1422343d0]
add rdx, rbx
mov rbx, qword [rsp + 0x28]
imul r12, r9
add r12, rdx
movzx ecx, byte [r14]
shrd rax, r12, cl
lea rdx, [0x142201630]
mov qword [rdx + r10 + 8], rdi
mov rdi, qword [rsp + 0x50]
mov edx, r11d
mov r11, qword [rsp + 0x58]
shl rdx, 4
shr r12, cl
test cl, 0x40
cmove r12, rax
mov eax, r12d
lea r12, [0x142233e30]
shl rax, 4
mov rcx, qword [rsp + 0xb0]
movdqa xmm0, xmmword [rcx + rax]
mov rax, qword [rsp + 0x68]
pand xmm0, xmmword [rax + rdx]
movdqa xmmword [rbp + r10], xmm0
mov r10, qword [rsp + 0x30]
mov r9, qword [rsp + 0x20]
jmp 0x14002cd60
mov rax, qword [rsp + 0x48]
cmp byte [rax + r8], 3
ja 0x14002d020
mov eax, r8d
imul rax, rax, 0x38e38e39
shr rax, 0x21
lea edx, [rax + rax*8]
add edx, ebx
mov rcx, qword [rsp + 0x40]
add rcx, r8
mov eax, 0xfffffff7
mov r9d, 9
cmovs eax, r9d
movsxd r9, ecx
imul rcx, r9, 0x38e38e39
mov r10, rcx
shr r10, 0x3f
sar rcx, 0x21
add ecx, r10d
lea ecx, [rcx + rcx*8]
sub r9d, ecx
mov ecx, r9d
neg ecx
mov r10d, r9d
cmovns r10d, ecx
cmp r10d, 4
cmovae ecx, r9d
sar ecx, 0x1f
or ecx, 1
mov r9d, edx
neg r9d
cmovs r9d, edx
movzx edx, r8b
imul edx, edx, 0x39
shr edx, 9
mov r10, qword [rsp + 0x78]
sub r10d, edx
mov edx, r10d
neg edx
cmovs edx, r10d
sub r9d, edx
jg 0x14002cfca
jns 0x14002d092
mov ecx, eax
mov r9, qword [rsp + 0x20]
mov r10, qword [rsp + 0x30]
movsxd rcx, ecx
add rcx, r8
shl rcx, 4
mov rax, qword [rcx + r12]
mov rcx, qword [rcx + r12 + 8]
lea rdx, [r9 + rsi]
or rcx, qword [rbp + rdx + 8]
or rax, qword [rbp + rdx]
jmp 0x14002cd88
mov r15, qword [rsp + 0x70]
inc r15
add r9, 0x5a0
dec qword [rsp + 0x40]
add qword [rsp + 0x48], 0x5a
cmp r15, 0x5a
jne 0x14002c808
jmp 0x14002d026
xor eax, eax
xor ecx, ecx
jmp 0x14002cfe7
movaps xmm6, xmmword [rsp + 0xc0]
movaps xmm7, xmmword [rsp + 0xd0]
movaps xmm8, xmmword [rsp + 0xe0]
movaps xmm9, xmmword [rsp + 0xf0]
movaps xmm10, xmmword [rsp + 0x100]
movaps xmm11, xmmword [rsp + 0x110]
movaps xmm12, xmmword [rsp + 0x120]
movaps xmm13, xmmword [rsp + 0x130]
movaps xmm14, xmmword [rsp + 0x140]
movaps xmm15, xmmword [rsp + 0x150]
add rsp, 0x168
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
add ecx, eax
jmp 0x14002cfca