Function at 0x140016b50
Capabilities:
Encode data using base64

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x2e8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x260], 0xfffffffffffffffe
mov rsi, rcx
mov rax, qword [rdx + 0x358]
cmp qword [rax + 0x30], 0
je 0x140016bc6
vxorps xmm0, xmm0, xmm0
vmovups ymmword [rsi], ymm0
mov ecx, 0x30
vzeroupper
call fcn.140060b80
mov qword [rsi], rax
mov qword [rsi + 0x10], 0x21
mov qword [rsi + 0x18], 0x2f
vmovupd ymm0, ymmword [str.Final_evaluation:_none__in_check_]
vmovupd ymmword [rax], ymm0
mov word [rax + 0x20], 0x29
jmp 0x14001a3f1
mov qword [rbp + 0x258], rdx
mov qword [rbp + 0xd8], rsi
lea rcx, [rbp - 0x60]
mov edx, 1
call fcn.14001a4a0
mov rax, qword [rbp - 0x50]
movsxd rax, dword [rax + 4]
or dword [rbp + rax - 0x38], 0x10
mov rax, qword [rbp - 0x50]
movsxd rax, dword [rax + 4]
and dword [rbp + rax - 0x38], 0xffffffdf
mov rax, qword [rbp - 0x50]
movsxd rax, dword [rax + 4]
mov ecx, 0xffffcfff
and ecx, dword [rbp + rax - 0x38]
or ecx, 0x2000
mov dword [rbp + rax - 0x38], ecx
lea rcx, [rbp + 0xf8]
mov edx, 2
call fcn.140062158
lea r8, [rbp - 0x50]
mov rdx, qword [rbp + 0x100]
mov rax, qword [rbp - 0x50]
movsxd rcx, dword [rax + 4]
add rcx, r8
call qword [rbp + 0xf8]
vxorpd xmm0, xmm0, xmm0
vmovupd ymmword [0x1401ab7b0], ymm0
vmovupd ymmword [0x1401ab7d0], ymm0
vmovupd ymmword [0x1401ab7f0], ymm0
vmovupd ymmword [0x1401ab810], ymm0
mov rcx, qword [rbp + 0x258]
mov rax, qword [rcx + 0x350]
mov dword [rax + 0x158], 0
mov rax, qword [rcx + 0x350]
mov dword [rax + 0x15c], 0
mov rax, qword [rcx + 0x350]
mov dword [rax + 0x160], 0
vzeroupper
call fcn.14001f4b0
mov qword [rbp + 0x118], rax
mov rax, qword [rbp + 0x118]
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x140016cd6
mov rax, qword [rcx]
mov rdx, qword [rbp + 0x258]
call qword [rax + 8]
mov r14d, eax
jmp 0x140019ee9
mov edi, dword [rax + 0x20]
mov rcx, qword [rbp + 0x258]
mov esi, dword [rcx + 0x368]
call fcn.14002dd90
mov qword [rbp + 0x200], rax
add esi, edi
mov r12, qword [rbp + 0x200]
mov eax, dword [r12 + 8]
sub eax, dword [r12 + 0xc]
mov ecx, esi
add ecx, eax
add eax, esi
add eax, 0x8000
mov ebx, eax
sar ebx, 0x10
mov qword [rbp + 0x168], rcx
movsx ecx, cx
add ecx, ebx
mov r9d, ecx
neg r9d
cmovs r9d, ecx
mov r14, qword [rbp + 0x258]
mov r10, qword [r14 + 0x350]
mov r8, qword [r14 + 0x358]
mov ecx, dword [r8 + 0x10]
mov edx, dword [r8 + 0x14]
mov r11d, ecx
add r11d, edx
lea esi, [rcx + rdx + 0x1f]
cmovns esi, r11d
sar esi, 5
mov r10d, dword [r10 + 0x158]
mov r11d, r10d
neg r11d
cmovs r11d, r10d
lea r10d, [r11 + r11*4]
shr r10d, 2
add r10d, esi
add r10d, 0xe26
cmp r9d, r10d
jle 0x140016daf
mov r9, qword [r14 + 0x148]
mov r11, qword [r14 + 0x108]
mov r10, qword [r14 + 0x140]
mov dword [rbp + 0x1f0], 0
xor r8d, r8d
mov qword [rbp + 0x1b0], r8
jmp 0x140019a5d
mov rsi, qword [r14 + 0x140]
mov rax, qword [r14 + 0x130]
mov rcx, rax
and rcx, rsi
tzcnt r11, rcx
mov rcx, qword [r14 + 0x108]
mov r9, rcx
and r9, rsi
mov rdx, r9
shl rdx, 7
mov qword [rbp + 0x238], r9
shl r9, 9
and r9, rdx
movabs rdx, 0x7e7e7e7e7e7e7e00
and rdx, r9
mov rbx, qword [r14 + 0x128]
mov r10, rbx
or r10, rax
and rsi, r10
or rsi, qword [r8 + 0x40]
mov qword [rbp + 0x158], rsi
mov esi, r11d
and esi, 0xfffffff8
cmp r11d, 8
mov r9d, 8
cmovb esi, r9d
cmp r11d, 0x38
mov r9d, 0x30
cmovae esi, r9d
lea r9, [0x1400d6f00]
mov rdi, qword [r9 + r11*8 + 0xc00]
mov qword [rbp + 0x170], rdi
and r11d, 7
cmp r11d, 1
mov edi, r11d
adc edi, 0
cmp r11d, 7
mov r11d, 6
cmove edi, r11d
or edi, esi
mov rsi, qword [r9 + rdi*8 + 0xc00]
bts rsi, rdi
mov rdi, qword [r14 + 0x100]
mov qword [rbp + 0x1e8], rdi
shl rdi, 8
movabs r13, 0xffff0000000000
or r13, rdi
mov rdi, qword [r14 + 0x148]
and rcx, rdi
and r13, rcx
mov r14, rcx
shr rcx, 9
shr r14, 7
and r14, rcx
movabs r15, 0x7e7e7e7e7e7e7e
and r15, r14
and r10, rdi
or r10, qword [r8 + 0x48]
mov rcx, qword [r12 + 0x20]
mov qword [rbp + 0x178], rcx
or r13, rcx
or r13, r10
mov r8, qword [r12 + 0x28]
mov qword [rbp + 0x250], rdx
andn rcx, rdx, rsi
mov qword [rbp + 0x198], rcx
and rsi, r8
popcnt rcx, rsi
mov qword [rbp + 0x1c0], rcx
and rax, rdi
tzcnt rax, rax
mov r10, qword [r9 + rax*8 + 0xc00]
mov rcx, r10
or rcx, r8
mov qword [rbp + 0x218], rcx
mov qword [rbp + 0x160], r10
mov rcx, r10
mov qword [rbp + 0x180], r8
and rcx, r8
mov qword [rbp + 0x1f0], r15
or rcx, r15
mov qword [rbp + 0x190], rcx
mov ecx, eax
and ecx, 0xfffffff8
cmp eax, 8
mov edx, 8
cmovb ecx, edx
cmp eax, 0x38
mov edx, 0x30
cmovae ecx, edx
and eax, 7
cmp eax, 1
mov r10d, eax
adc r10d, 0
cmp eax, 7
cmove r10d, r11d
or r10d, ecx
not r13
mov qword [rbp + 0x120], r13
mov r9, qword [r9 + r10*8 + 0xc00]
and rdi, rbx
je 0x140017128
mov qword [rbp + 0x220], r9
mov qword [rbp + 0x1c8], r10
xor eax, eax
mov qword [rbp + 0x148], rax
lea rbx, [0x1400d8b00]
lea r13, [0x1400d8300]
xor esi, esi
xor eax, eax
mov qword [rbp + 0x1e0], rax
mov dword [rbp + 0x1bc], 0
xor r12d, r12d
nop word [rax + rax]
tzcnt r8, rdi
mov rcx, qword [rbp + 0x258]
mov rax, qword [rcx + 0x100]
mov r11, r8
shl r11, 5
mov rdx, qword [r11 + rbx + 0x10]
pext r9, rax, qword [r11 + rbx]
mov r9d, r9d
mov r10, qword [r11 + r13 + 0x10]
pext rax, rax, qword [r11 + r13]
mov eax, eax
mov r15, qword [r10 + rax*8]
or r15, qword [rdx + r9*8]
mov rax, qword [rcx + 0x358]
mov rax, qword [rax + 0x48]
bt rax, r8
jae 0x140017047
mov rax, qword [rcx + 0x130]
and rax, qword [rcx + 0x148]
tzcnt rdx, rax
cmovb rdx, rax
shl rdx, 9
lea rax, [0x1400c6f00]
add rdx, rax
and r15, qword [rdx + r8*8]
test qword [rbp + 0x198], r15
je 0x140017086
mov rax, qword [rbp + 0x1c0]
inc eax
mov qword [rbp + 0x1c0], rax
mov rax, qword [rbp + 0x1e0]
add eax, 0xe
mov qword [rbp + 0x1e0], rax
mov rax, r15
and rax, qword [rbp + 0x170]
popcnt rax, rax
add dword [rbp + 0x1bc], eax
mov rax, r15
and rax, qword [rbp + 0x120]
popcnt rax, rax
lea rdx, [0x14008d6d0]
mov r14d, dword [rdx + rax*4 + 0x180]
mov rdx, qword [rcx + 0x118]
or rdx, qword [rcx + 0x120]
and rdx, qword [rcx + 0x140]
lea r9, [rbp + 0xf8]
call fcn.140030e90
mov rcx, r15
mov rdx, qword [rbp + 0x218]
and rcx, rdx
or qword [rbp + 0x190], rcx
blsr rdi, rdi
or qword [rbp + 0x148], r15
or rdx, r15
mov qword [rbp + 0x218], rdx
add esi, r14d
lea ecx, [r12 - 0x130039]
test rax, rax
cmovne r12d, ecx
test rdi, rdi
jne 0x140016fd0
mov rcx, qword [rbp + 0x258]
mov rbx, qword [rcx + 0x128]
mov r10, qword [rbp + 0x1c8]
mov r9, qword [rbp + 0x220]
jmp 0x140017150
xor eax, eax
mov qword [rbp + 0x148], rax
xor esi, esi
xor eax, eax
mov qword [rbp + 0x1e0], rax
mov dword [rbp + 0x1bc], 0
xor r12d, r12d
mov rcx, qword [rbp + 0x258]
mov rdx, qword [rbp + 0x1e8]
shr rdx, 8
or rdx, 0xffff00
and rdx, qword [rbp + 0x238]
or rdx, qword [rbp + 0x180]
mov rax, qword [rbp + 0x158]
or rax, rdx
not rax
mov qword [rbp + 0x158], rax
mov r8, qword [rbp + 0x178]
mov rdx, r8
mov rax, qword [rbp + 0x170]
or rdx, rax
mov qword [rbp + 0x238], rdx
mov rdx, r8
and rdx, rax
or rdx, qword [rbp + 0x250]
mov qword [rbp + 0x1c8], rdx
bts r9, r10
mov rax, qword [rbp + 0x1f0]
andn rax, rax, r9
mov qword [rbp + 0x220], rax
and r9, r8
popcnt rax, r9
mov qword [rbp + 0x1e8], rax
mov qword [rbp + 0xa8], r12
mov dword [0x1401ab7dc], r12d
mov rax, qword [rcx + 0x140]
and rbx, rax
je 0x140017368
xor eax, eax
mov qword [rbp + 0x150], rax
lea r15, [0x1400d8300]
xor r12d, r12d
xor eax, eax
mov qword [rbp + 0x250], rax
mov dword [rbp + 0x22c], 0
xor r14d, r14d
tzcnt r8, rbx
mov rax, qword [rcx + 0x100]
mov r11, r8
shl r11, 5
lea r9, [0x1400d8b00]
mov rdx, qword [r11 + r9 + 0x10]
pext r9, rax, qword [r11 + r9]
mov r9d, r9d
mov r10, qword [r11 + r15 + 0x10]
pext rax, rax, qword [r11 + r15]
mov eax, eax
mov r13, qword [r10 + rax*8]
or r13, qword [rdx + r9*8]
mov rax, qword [rcx + 0x358]
mov rax, qword [rax + 0x40]
bt rax, r8
jae 0x140017297
mov rax, qword [rcx + 0x130]
and rax, qword [rcx + 0x140]
tzcnt rdx, rax
cmovb rdx, rax
shl rdx, 9
lea rax, [0x1400c6f00]
add rdx, rax
and r13, qword [rdx + r8*8]
test qword [rbp + 0x220], r13
je 0x1400172d6
mov rax, qword [rbp + 0x1e8]
inc eax
mov qword [rbp + 0x1e8], rax
mov rax, qword [rbp + 0x250]
add eax, 0xe
mov qword [rbp + 0x250], rax
mov rax, r13
and rax, qword [rbp + 0x160]
popcnt rax, rax
add dword [rbp + 0x22c], eax
mov rax, r13
and rax, qword [rbp + 0x158]
popcnt rax, rax
lea rdx, [0x14008d6d0]
mov edi, dword [rdx + rax*4 + 0x180]
mov rdx, qword [rcx + 0x118]
or rdx, qword [rcx + 0x120]
and rdx, qword [rcx + 0x148]
lea r9, [rbp + 0xf8]
call fcn.140030e90
mov rcx, r13
mov rdx, qword [rbp + 0x238]
and rcx, rdx
or qword [rbp + 0x1c8], rcx
blsr rbx, rbx
or qword [rbp + 0x150], r13
or rdx, r13
mov qword [rbp + 0x238], rdx
add r12d, edi
lea ecx, [r14 - 0x130039]
test rax, rax
cmovne r14d, ecx
test rbx, rbx
mov rcx, qword [rbp + 0x258]
jne 0x140017220
mov rax, qword [rcx + 0x140]
jmp 0x14001738a
xor edx, edx
mov qword [rbp + 0x150], rdx
xor edx, edx
mov qword [rbp + 0x250], rdx
mov dword [rbp + 0x22c], 0
xor r14d, r14d
xor r12d, r12d
mov qword [rbp + 0x240], rax
mov qword [rbp + 0xe0], r14
mov dword [0x1401ab7d8], r14d
mov rax, qword [rcx + 0x120]
mov r10, qword [rcx + 0x148]
xor r13d, r13d
mov qword [rbp + 0x188], rax
and rax, r10
mov qword [rbp + 0x248], r10
je 0x1400175fd
mov rdi, qword [rcx + 0x128]
xor rdi, rax
mov r11, qword [rcx + 0x100]
mov r8, qword [rcx + 0x108]
xor rdi, r11
mov rbx, qword [rcx + 0x358]
mov rdx, qword [rcx + 0x130]
and rdx, r10
tzcnt r9, rdx
shl r11, 8
and r11, r10
mov qword [rbp + 0x1f0], r11
mov r10d, r9d
and r10d, 7
xor r11d, r11d
test rdx, rdx
cmovne rdx, r9
mov ecx, 0
mov qword [rbp + 0x130], rcx
cmove r10d, r11d
mov qword [rbp + 0x1d0], rbx
mov r11, qword [rbx + 0x48]
shl rdx, 9
lea rcx, [0x1400c6f00]
add rcx, rdx
mov qword [rbp + 0x208], rcx
xor r9d, r9d
mov ecx, esi
jmp 0x1400174b6
and r13, qword [rbp + 0x240]
xor esi, esi
test r13, r8
sete sil
lea rbx, [0x14008d8d0]
add r9d, dword [rbx + rsi*4]
mov r14d, r9d
xor r13d, r13d
mov r9, r15
mov rsi, qword [rbp + 0x218]
and r9, rsi
or qword [rbp + 0x190], r9
blsr rax, rax
or qword [rbp + 0x130], r15
or rsi, r15
mov qword [rbp + 0x218], rsi
lea r9, [0x14008d6d0]
add ecx, dword [r9 + rdx*4 + 0x100]
mov r9d, r14d
test rax, rax
je 0x14001760b
tzcnt r14, rax
mov rdx, r14
shl rdx, 5
lea rbx, [0x1400d8300]
pext rsi, rdi, qword [rdx + rbx]
mov rdx, qword [rdx + rbx + 0x10]
mov esi, esi
mov r15, qword [rdx + rsi*8]
bt r11, r14
jae 0x1400174eb
mov rdx, qword [rbp + 0x208]
and r15, qword [rdx + r14*8]
mov rsi, qword [rbp + 0x198]
test r15, rsi
je 0x140017550
mov rdx, qword [rbp + 0x1c0]
inc edx
mov qword [rbp + 0x1c0], rdx
mov rdx, qword [rbp + 0x1e0]
add edx, 0x2d
mov qword [rbp + 0x1e0], rdx
mov rdx, r15
and rdx, qword [rbp + 0x170]
popcnt rdx, rdx
add dword [rbp + 0x1bc], edx
mov edx, r14d
and dl, 7
movabs rsi, 0x101010101010101
shlx r13, rsi, rdx
jmp 0x140017573
mov edx, r14d
and dl, 7
movabs rbx, 0x101010101010101
shlx r13, rbx, rdx
lea edx, [r9 + 0x10]
test r13, rsi
cmove edx, r9d
mov r9d, edx
mov rdx, r15
and rdx, qword [rbp + 0x120]
popcnt rdx, rdx
mov rsi, r8
and rsi, r13
test qword [rbp + 0x248], rsi
je 0x140017450
cmp r10d, 4
setae sil
and r14d, 7
and r13, qword [rbp + 0x1f0]
lea ebx, [r9 - 0x5000a]
test r13, r8
cmove ebx, r9d
cmp r14d, r10d
setb r9b
cmp edx, 3
ja 0x1400175f2
xor sil, r9b
mov r13d, 0
je 0x1400175f5
mov r14, rbx
lea r9d, [rbx - 0xd0037]
add r14d, 0xffe5ff92
mov rsi, qword [rbp + 0x1d0]
test byte [rsi + 0x18], 0xc
cmovne r14d, r9d
jmp 0x140017471
xor r13d, r13d
mov r14, rbx
jmp 0x140017471
xor eax, eax
mov qword [rbp + 0x130], rax
xor r14d, r14d
mov ecx, esi
mov dword [rbp + 0x1f0], ecx
mov qword [rbp + 0xb8], r14
mov dword [0x1401ab7d4], r14d
mov r10, qword [rbp + 0x240]
mov rax, r10
and rax, qword [rbp + 0x188]
je 0x140017864
mov rdx, qword [rbp + 0x258]
mov rcx, qword [rdx + 0x128]
xor rcx, rax
mov r11, qword [rdx + 0x100]
mov r8, qword [rdx + 0x108]
xor rcx, r11
mov rsi, qword [rdx + 0x358]
mov rdx, qword [rdx + 0x130]
and rdx, r10
tzcnt r9, rdx
shr r11, 8
and r11, r10
mov qword [rbp + 0x208], r11
mov r10d, r9d
and r10d, 7
xor r11d, r11d
test rdx, rdx
cmovne rdx, r9
mov r9d, 0
mov qword [rbp + 0x128], r9
cmove r10d, r11d
mov qword [rbp + 0x1a0], rsi
mov r11, qword [rsi + 0x40]
lea rbx, [0x1400d8300]
shl rdx, 9
lea r9, [0x1400c6f00]
add r9, rdx
mov qword [rbp + 0x1d0], r9
xor r9d, r9d
jmp 0x140017730
xor edi, edi
test qword [rbp + 0x248], rsi
sete dil
lea rsi, [0x14008d8d0]
add r9d, dword [rsi + rdi*4]
mov r13d, r9d
mov r9, r15
mov rsi, qword [rbp + 0x238]
and r9, rsi
or qword [rbp + 0x1c8], r9
blsr rax, rax
or qword [rbp + 0x128], r15
or rsi, r15
mov qword [rbp + 0x238], rsi
lea r9, [0x14008d6d0]
add r12d, dword [r9 + rdx*4 + 0x100]
mov r9d, r13d
test rax, rax
je 0x14001786d
tzcnt r14, rax
mov rdx, r14
shl rdx, 5
pext rsi, rcx, qword [rdx + rbx]
mov rdx, qword [rdx + rbx + 0x10]
mov esi, esi
mov r15, qword [rdx + rsi*8]
bt r11, r14
jae 0x14001775e
mov rdx, qword [rbp + 0x1d0]
and r15, qword [rdx + r14*8]
mov rsi, qword [rbp + 0x220]
test r15, rsi
je 0x1400177c0
mov rdx, qword [rbp + 0x1e8]
inc edx
mov qword [rbp + 0x1e8], rdx
mov rdx, qword [rbp + 0x250]
add edx, 0x2d
mov qword [rbp + 0x250], rdx
mov rdx, r15
and rdx, qword [rbp + 0x160]
popcnt rdx, rdx
add dword [rbp + 0x22c], edx
mov edx, r14d
and dl, 7
movabs rsi, 0x101010101010101
shlx r13, rsi, rdx
jmp 0x1400177e3
mov edx, r14d
and dl, 7
movabs rdi, 0x101010101010101
shlx r13, rdi, rdx
lea edx, [r9 + 0x10]
test r13, rsi
cmove edx, r9d
mov r9d, edx
mov rdx, r15
and rdx, qword [rbp + 0x158]
popcnt rdx, rdx
mov rsi, r8
and rsi, r13
test qword [rbp + 0x240], rsi
je 0x1400176d0
cmp r10d, 4
setae sil
and r14d, 7
and r13, qword [rbp + 0x208]
lea edi, [r9 - 0x5000a]
test r13, r8
mov r13, rdi
cmove r13d, r9d
cmp r14d, r10d
setb r9b
cmp edx, 3
ja 0x1400176eb
xor sil, r9b
je 0x1400176eb
lea r9d, [r13 - 0xd0037]
add r13d, 0xffe5ff92
mov rsi, qword [rbp + 0x1a0]
test byte [rsi + 0x18], 3
cmovne r13d, r9d
jmp 0x1400176eb
xor eax, eax
mov qword [rbp + 0x128], rax
mov qword [rbp + 0xb0], r13
mov dword [0x1401ab7d0], r13d
mov r11, qword [rbp + 0x258]
mov r10, qword [r11 + 0x118]
mov r15, r10
mov rdx, qword [rbp + 0x248]
and r15, rdx
je 0x140017bf4
mov rax, qword [r11 + 0x100]
mov r13, qword [r11 + 0x108]
mov rcx, qword [r11 + 0x128]
xor rcx, rax
mov qword [rbp + 0x1d0], rcx
mov rcx, qword [r11 + 0x358]
mov rcx, qword [rcx + 0x48]
mov qword [rbp + 0x1a0], rcx
mov rcx, r13
shl rcx, 8
mov qword [rbp + 0x230], rcx
or rcx, qword [rbp + 0x180]
mov qword [rbp + 0x1f8], rcx
mov rcx, qword [rbp + 0x200]
mov rcx, qword [rcx + 0x30]
not rcx
mov qword [rbp + 0x210], rcx
mov rcx, qword [r11 + 0x130]
and rcx, rdx
tzcnt r8, rcx
cmovb r8, rcx
mov qword [rbp + 0x208], r8
shl rax, 8
and rdx, r13
mov qword [rbp + 0x1b0], rdx
and rax, rdx
movabs rcx, 0x3c3c3c3c3c3c3c00
and rcx, rax
popcnt rax, rcx
mov qword [rbp + 0x1d8], rax
movzx eax, byte [r11 + 0x36c]
mov byte [rbp + 0x1a8], al
xor eax, eax
mov qword [rbp + 0x138], rax
xor edi, edi
lea rbx, [0x14008d8e0]
jmp 0x1400179d0
mov r11, qword [rbp + 0x258]
mov rax, rcx
mov rdx, qword [rbp + 0x218]
and rax, rdx
or qword [rbp + 0x190], rax
blsr r15, r15
or qword [rbp + 0x138], rcx
or rdx, rcx
mov qword [rbp + 0x218], rdx
and rcx, qword [rbp + 0x120]
popcnt rax, rcx
mov ecx, dword [rbp + 0x1f0]
lea rdx, [0x14008d6d0]
add ecx, dword [rdx + rax*4 + 0x80]
mov dword [rbp + 0x1f0], ecx
test r15, r15
je 0x140017bff
tzcnt rdx, r15
mov rcx, rdx
shl rcx, 5
lea r8, [0x1400d8b00]
mov rax, qword [rcx + r8]
mov r11, qword [rcx + r8 + 0x10]
mov rcx, qword [rbp + 0x1d0]
pext rcx, rcx, rax
mov ecx, ecx
mov rcx, qword [r11 + rcx*8]
mov r8, qword [rbp + 0x1a0]
bt r8, rdx
jae 0x140017a24
mov r8, qword [rbp + 0x208]
shl r8, 9
lea r9, [0x1400c6f00]
add r8, r9
and rcx, qword [r8 + rdx*8]
mov r8d, 1
shlx r8, r8, rdx
mov r9, qword [rbp + 0x198]
test rcx, r9
je 0x140017a80
mov r9, qword [rbp + 0x1c0]
inc r9d
mov qword [rbp + 0x1c0], r9
mov r9, qword [rbp + 0x1e0]
add r9d, 0x2e
mov qword [rbp + 0x1e0], r9
mov r9, rcx
and r9, qword [rbp + 0x170]
popcnt r9, r9
add dword [rbp + 0x1bc], r9d
pext rax, r13, rax
mov eax, eax
jmp 0x140017a96
pext rax, r13, rax
mov eax, eax
test qword [r11 + rax*8], r9
lea r9d, [rdi + 0x18]
cmove r9d, edi
mov edi, r9d
mov r9, r8
and r9, qword [rbp + 0x210]
and r9, qword [rbp + 0x1f8]
lea esi, [rdi + 0x19001f]
movabs r14, 0xffffff0000
test r9, r14
cmove esi, edi
lea edi, [rsi + 0x30012]
test qword [rbp + 0x230], r8
cmove edi, esi
mov r9, qword [rbp + 0x208]
shl r9, 6
lea rsi, [0x1400c5f00]
add r9, rsi
movzx r9d, byte [rdx + r9]
imul r9d, r9d, 0xfff6fff9
add r9d, edi
mov rsi, r8
and rsi, qword [rbp + 0x180]
cmp rsi, 1
mov esi, 0
sbb esi, esi
sub esi, dword [rbp + 0x1d8]
movabs rdi, 0xaa55aa55aa55aa55
test r8, rdi
mov r8, rdi
movabs rdi, 0x55aa55aa55aa55aa
cmove r8, rdi
and r8, qword [rbp + 0x1b0]
popcnt rdi, r8
mov r8d, edx
and r8d, 7
mov r14d, r8d
xor r14d, 7
cmp r14d, r8d
cmovge r14d, r8d
imul edi, dword [rbx + r14*4]
imul edi, esi
add edi, r9d
mov rax, qword [r11 + rax*8]
lea r9, [0x1400d6f00]
mov r9, qword [r9 + rdx*8 + 0x600]
and r9, qword [rbp + 0x240]
and r9, r13
popcnt r9, r9
imul r9d, r9d, 0xfffafffc
movabs r11, 0x1818000000
and rax, r11
blsr rax, rax
lea eax, [rdi + r9]
lea edi, [r9 + rdi + 0x2d]
cmove edi, eax
cmp byte [rbp + 0x1a8], 0
je 0x140017970
cmp edx, 0x3f
mov r11, qword [rbp + 0x258]
je 0x140017bbf
cmp edx, 0x38
jne 0x140017977
xor eax, eax
test r8d, r8d
sete al
lea eax, [rdx + rax*2]
add eax, 0xfffffff7
cmp dword [r11 + rax*4], 9
jne 0x140017977
add eax, 0xfffffff8
lea edx, [rdi - 0xc800c8]
add edi, 0xff69ff6a
cmp dword [r11 + rax*4], 0
cmovne edi, edx
jmp 0x140017977
xor eax, eax
mov qword [rbp + 0x138], rax
xor edi, edi
mov qword [rbp + 0xc8], rdi
mov dword [0x1401ab7cc], edi
mov r14, qword [rbp + 0x240]
and r10, r14
je 0x140017f6c
mov rcx, qword [r11 + 0x100]
mov rax, qword [r11 + 0x108]
mov rdx, qword [r11 + 0x128]
xor rdx, rcx
mov qword [rbp + 0x208], rdx
mov rdx, qword [r11 + 0x358]
mov rdx, qword [rdx + 0x40]
mov qword [rbp + 0x1d0], rdx
mov rdx, rax
shr rdx, 8
mov qword [rbp + 0x230], rdx
or rdx, qword [rbp + 0x178]
mov qword [rbp + 0x1f8], rdx
mov rdx, qword [rbp + 0x200]
mov rdx, qword [rdx + 0x38]
not rdx
mov qword [rbp + 0x210], rdx
mov rdx, qword [r11 + 0x130]
and rdx, r14
tzcnt rbx, rdx
cmovb rbx, rdx
shr rcx, 8
and r14, rax
mov qword [rbp + 0x1a8], r14
and rcx, r14
movabs rdx, 0x3c3c3c3c3c3c3c
and rdx, rcx
popcnt rcx, rdx
mov qword [rbp + 0x1b0], rcx
movzx ecx, byte [r11 + 0x36c]
mov byte [rbp + 0x1d8], cl
xor ecx, ecx
mov qword [rbp + 0x1a0], rcx
xor r15d, r15d
mov r9, qword [rbp + 0x220]
lea r14, [0x14008d8e0]
jmp 0x140017d4c
mov r11, qword [rbp + 0x258]
mov r9, qword [rbp + 0x220]
mov rcx, r13
mov rdx, qword [rbp + 0x238]
and rcx, rdx
or qword [rbp + 0x1c8], rcx
blsr r10, r10
or qword [rbp + 0x1a0], r13
or rdx, r13
mov qword [rbp + 0x238], rdx
and r13, qword [rbp + 0x158]
popcnt rcx, r13
lea rdx, [0x14008d6d0]
add r12d, dword [rdx + rcx*4 + 0x80]
test r10, r10
je 0x140017f78
tzcnt rcx, r10
mov rdx, rcx
shl rdx, 5
lea r8, [0x1400d8b00]
mov r11, qword [rdx + r8]
mov rdx, qword [rdx + r8 + 0x10]
mov r8, qword [rbp + 0x208]
pext r8, r8, r11
mov r8d, r8d
mov r13, qword [rdx + r8*8]
mov r8, qword [rbp + 0x1d0]
bt r8, rcx
jae 0x140017d9d
mov r8, rbx
shl r8, 9
lea rsi, [0x1400c6f00]
add r8, rsi
and r13, qword [r8 + rcx*8]
mov r8d, 1
shlx r8, r8, rcx
test r13, r9
je 0x140017df0
mov r9, qword [rbp + 0x1e8]
inc r9d
mov qword [rbp + 0x1e8], r9
mov r9, qword [rbp + 0x250]
add r9d, 0x2e
mov qword [rbp + 0x250], r9
mov rsi, r13
and rsi, qword [rbp + 0x160]
popcnt rsi, rsi
add dword [rbp + 0x22c], esi
pext r11, rax, r11
mov r11d, r11d
jmp 0x140017e07
pext r11, rax, r11
mov r11d, r11d
test qword [rdx + r11*8], r9
lea esi, [r15 + 0x18]
cmove esi, r15d
mov r15d, esi
mov rsi, r8
and rsi, qword [rbp + 0x210]
and rsi, qword [rbp + 0x1f8]
lea edi, [r15 + 0x19001f]
movabs r9, 0xffffff000000
test rsi, r9
cmove edi, r15d
lea esi, [rdi + 0x30012]
test qword [rbp + 0x230], r8
cmove esi, edi
mov rdi, rbx
shl rdi, 6
lea r9, [0x1400c5f00]
add rdi, r9
movzx edi, byte [rcx + rdi]
imul r15d, edi, 0xfff6fff9
add r15d, esi
mov rsi, r8
and rsi, qword [rbp + 0x178]
cmp rsi, 1
mov esi, 0
sbb esi, esi
sub esi, dword [rbp + 0x1b0]
movabs r9, 0xaa55aa55aa55aa55
test r8, r9
mov r8, r9
movabs r9, 0x55aa55aa55aa55aa
cmove r8, r9
and r8, qword [rbp + 0x1a8]
popcnt rdi, r8
mov r8d, ecx
and r8d, 7
mov r9d, r8d
xor r9d, 7
cmp r9d, r8d
cmovge r9d, r8d
imul edi, dword [r14 + r9*4]
imul edi, esi
add edi, r15d
mov rdx, qword [rdx + r11*8]
lea r9, [0x1400d6f00]
mov r9, qword [r9 + rcx*8 + 0x600]
and r9, qword [rbp + 0x248]
and r9, rax
popcnt r9, r9
imul r9d, r9d, 0xfffafffc
movabs r11, 0x1818000000
and rdx, r11
blsr rdx, rdx
lea edx, [rdi + r9]
lea r15d, [r9 + rdi + 0x2d]
cmove r15d, edx
cmp byte [rbp + 0x1d8], 0
je 0x140017cf0
cmp ecx, 7
mov r11, qword [rbp + 0x258]
je 0x140017f2d
test ecx, ecx
jne 0x140017cf7
xor edx, edx
test r8d, r8d
sete dl
lea ecx, [rcx + rdx*2]
add ecx, 7
cmp dword [r11 + rcx*4], 1
mov r9, qword [rbp + 0x220]
jne 0x140017cfe
mov ecx, ecx
lea edx, [r15 - 0xc800c8]
add r15d, 0xff69ff6a
cmp dword [r11 + rcx*4 + 0x20], 0
cmovne r15d, edx
jmp 0x140017cfe
xor eax, eax
mov qword [rbp + 0x1a0], rax
xor r15d, r15d
mov qword [rbp + 0xc0], r15
mov dword [0x1401ab7c8], r15d
mov r10, qword [r11 + 0x110]
mov rax, r10
mov rsi, qword [rbp + 0x248]
and rax, rsi
je 0x1400181c8
mov rcx, qword [r11 + 0x358]
mov rcx, qword [rcx + 0x48]
mov qword [rbp + 0x208], rcx
mov rdi, qword [r11 + 0x108]
mov rcx, rdi
shl rcx, 8
mov qword [rbp + 0x230], rcx
or rcx, qword [rbp + 0x180]
mov rdx, qword [rbp + 0x200]
mov rdx, qword [rdx + 0x30]
andn r9, rdx, rcx
movabs rcx, 0xffffff0000
and r9, rcx
mov rcx, r11
mov qword [rbp + 0x1f8], rdi
andn r11, rdi, qword [rbp + 0x240]
mov rcx, qword [rcx + 0x130]
and rcx, rsi
tzcnt r14, rcx
cmovb r14, rcx
not rsi
mov qword [rbp + 0x210], rsi
xor ecx, ecx
mov qword [rbp + 0x1d0], rcx
xor ebx, ebx
jmp 0x1400180b3
test rsi, rsi
je 0x1400181ab
add ebx, 0x220036
or qword [rbp + 0x190], rcx
or qword [rbp + 0x1d0], r15
or qword [rbp + 0x218], r15
and r15, qword [rbp + 0x120]
popcnt rcx, r15
mov esi, dword [rbp + 0x1f0]
lea rdi, [0x14008d6d0]
add esi, dword [rdi + rcx*4]
mov dword [rbp + 0x1f0], esi
blsr rax, rax
test qword [rbp + 0x230], rdx
lea ecx, [rbx + 0x30012]
cmove ecx, ebx
mov rdx, r14
shl rdx, 6
lea r8, [0x1400c5f00]
add rdx, r8
movzx edx, byte [r13 + rdx]
imul ebx, edx, 0xfff6fff7
add ebx, ecx
test rax, rax
je 0x1400181d3
tzcnt r13, rax
lea rcx, [0x1400d6f00]
mov r15, qword [rcx + r13*8 + 0x400]
mov rcx, qword [rbp + 0x208]
bt rcx, r13
jae 0x1400180e9
mov rcx, r14
shl rcx, 9
lea rdx, [0x1400c6f00]
add rcx, rdx
and r15, qword [rcx + r13*8]
mov rcx, qword [rbp + 0x198]
test r15, rcx
je 0x14001812b
mov rcx, qword [rbp + 0x1c0]
inc ecx
mov qword [rbp + 0x1c0], rcx
mov rcx, qword [rbp + 0x1e0]
add ecx, 0x4c
mov qword [rbp + 0x1e0], rcx
mov rcx, r15
and rcx, qword [rbp + 0x170]
popcnt rcx, rcx
add dword [rbp + 0x1bc], ecx
mov ecx, 1
shlx rdx, rcx, r13
mov rcx, r15
and rcx, qword [rbp + 0x218]
mov rsi, r9
and rsi, rdx
test r11, r15
jne 0x140018030
mov rdi, rsi
movabs r8, 0xc3c3c30000
and rdi, r8
je 0x140018030
movabs rsi, 0xf0f0f0f0f0f0f0f
test rdx, rsi
movabs rdi, 0xf0f0f0f0f0f0f0f0
cmove rsi, rdi
mov rdi, r11
and rdi, rsi
blsr rdi, rdi
jne 0x140018039
and rsi, qword [rbp + 0x1f8]
popcnt rsi, rsi
lea esi, [rsi + rsi*4]
shl esi, 0x11
add esi, ebx
mov ebx, esi
jmp 0x14001803f
mov rsi, r15
and rsi, qword [rbp + 0x210]
lea edi, [rbx + 0x130021]
test rsi, r9
cmove edi, ebx
mov ebx, edi
jmp 0x14001803f
xor eax, eax
mov qword [rbp + 0x1d0], rax
xor ebx, ebx
mov dword [0x1401ab7c4], ebx
mov rsi, qword [rbp + 0x240]
and r10, rsi
je 0x140018427
mov r9, qword [rbp + 0x258]
mov rax, qword [r9 + 0x358]
mov rax, qword [rax + 0x40]
mov qword [rbp + 0x230], rax
mov r8, qword [r9 + 0x108]
mov rax, r8
shr rax, 8
mov qword [rbp + 0x1f8], rax
or rax, qword [rbp + 0x178]
mov rdx, qword [rbp + 0x200]
mov rdx, qword [rdx + 0x38]
andn rdx, rdx, rax
movabs rax, 0xffffff000000
and rdx, rax
mov qword [rbp + 0x210], r8
andn r8, r8, qword [rbp + 0x248]
mov rax, qword [r9 + 0x130]
and rax, rsi
tzcnt r11, rax
cmovb r11, rax
not rsi
mov qword [rbp + 0x1b0], rsi
xor eax, eax
mov qword [rbp + 0x208], rax
xor r14d, r14d
jmp 0x1400182fd
test rsi, rsi
je 0x1400183f7
add r14d, 0x220036
or qword [rbp + 0x1c8], rax
or qword [rbp + 0x208], r9
or qword [rbp + 0x238], r9
and r9, qword [rbp + 0x158]
popcnt rax, r9
lea r9, [0x14008d6d0]
add r12d, dword [r9 + rax*4]
blsr r10, r10
test qword [rbp + 0x1f8], r15
lea eax, [r14 + 0x30012]
cmove eax, r14d
mov r9, r11
shl r9, 6
lea rcx, [0x1400c5f00]
add r9, rcx
movzx r9d, byte [r13 + r9]
imul r14d, r9d, 0xfff6fff7
add r14d, eax
test r10, r10
je 0x140018417
tzcnt r13, r10
lea rax, [0x1400d6f00]
mov r9, qword [rax + r13*8 + 0x400]
mov rax, qword [rbp + 0x230]
bt rax, r13
jae 0x140018333
mov rax, r11
shl rax, 9
lea rcx, [0x1400c6f00]
add rax, rcx
and r9, qword [rax + r13*8]
mov rax, qword [rbp + 0x220]
test r9, rax
je 0x140018375
mov rax, qword [rbp + 0x1e8]
inc eax
mov qword [rbp + 0x1e8], rax
mov rax, qword [rbp + 0x250]
add eax, 0x4c
mov qword [rbp + 0x250], rax
mov rax, r9
and rax, qword [rbp + 0x160]
popcnt rax, rax
add dword [rbp + 0x22c], eax
mov eax, 1
shlx r15, rax, r13
mov rax, r9
and rax, qword [rbp + 0x238]
mov rsi, rdx
and rsi, r15
test r8, r9
jne 0x140018280
mov rdi, rsi
movabs rcx, 0xc3c3c3000000
and rdi, rcx
je 0x140018280
movabs rsi, 0xf0f0f0f0f0f0f0f
test r15, rsi
movabs rdi, 0xf0f0f0f0f0f0f0f0
cmove rsi, rdi
mov rdi, r8
and rdi, rsi
blsr rdi, rdi
jne 0x140018289
and rsi, qword [rbp + 0x210]
popcnt rsi, rsi
lea esi, [rsi + rsi*4]
shl esi, 0x11
add esi, r14d
mov r14d, esi
jmp 0x140018290
mov rsi, r9
and rsi, qword [rbp + 0x1b0]
lea edi, [r14 + 0x130021]
test rsi, rdx
cmove edi, r14d
mov r14d, edi
jmp 0x140018290
mov rdx, qword [rbp + 0x258]
mov rcx, qword [rbp + 0x210]
jmp 0x140018441
mov rdx, qword [rbp + 0x258]
mov rcx, qword [rdx + 0x108]
xor eax, eax
mov qword [rbp + 0x208], rax
xor r14d, r14d
mov dword [0x1401ab7c0], r14d
mov rax, qword [rbp + 0x200]
mov r15, qword [rax + 0x18]
mov r8, rcx
mov r9, qword [rbp + 0x240]
and r8, r9
shl r8, 8
mov rax, r15
movabs rsi, 0xfefefefefefefe
movabs rdi, 0x7f7f7f7f7f7f00
mov r11, qword [rbp + 0x1c8]
not r11
mov qword [rbp + 0xd0], r8
and rax, r8
mov r10, qword [rbp + 0x248]
mov qword [rbp + 0x210], rcx
je 0x1400184d3
and rcx, r10
shr rcx, 8
mov r8, qword [rbp + 0x218]
or r8, r11
andn r8, r9, r8
and r8, rcx
not rax
mov rcx, r8
shr rcx, 1
and rcx, rdi
or rcx, rax
add r8, r8
and r8, rsi
or r8, rcx
and r15, r8
mov qword [rbp + 0xe8], r11
test r15, r15
mov qword [rbp + 0x1b0], r12
je 0x1400187a9
mov rax, qword [rbp + 0x238]
or rax, r9
mov qword [rbp + 0x1a8], rax
mov rax, qword [rbp + 0x180]
not rax
mov qword [rbp + 0xf0], rax
mov rax, qword [rdx + 0x130]
mov rcx, rax
and rcx, r9
tzcnt r8, rcx
cmovb r8, rcx
and rax, r10
tzcnt rcx, rax
cmovb rcx, rax
mov qword [rbp + 0x1f8], rcx
mov rax, qword [rdx + 0x128]
or rax, qword [rbp + 0x188]
mov qword [rbp + 0x140], rax
xor r13d, r13d
lea r11, [0x14008d8f0]
shl r8, 6
lea rax, [0x1400c5f00]
add r8, rax
mov qword [rbp + 0x230], r8
jmp 0x1400185a5
mov eax, r12d
lea r11, [0x14008d8f0]
blsr r15, r15
and r10d, 7
mov ecx, r10d
xor ecx, 7
cmp ecx, r10d
cmovge ecx, r10d
imul ecx, ecx, 0xfff7fff3
add r13d, eax
add r13d, ecx
test r15, r15
je 0x1400187ac
tzcnt r10, r15
mov ecx, r10d
shr ecx, 3
xor ecx, 7
mov eax, dword [r11 + rcx*4]
cmp ecx, 3
jb 0x14001857a
mov r11d, r10d
mov rdx, qword [rbp + 0x230]
movzx edx, byte [r11 + rdx - 8]
cmp dl, 5
jb 0x1400185d6
mov edx, 5
mov r8, qword [rbp + 0x1f8]
shl r8, 6
lea r9, [0x1400c5f00]
add r8, r9
movzx esi, byte [r11 + r8 - 8]
cmp sil, 5
jb 0x1400185fc
mov esi, 5
lea r9d, [rcx + rcx*4]
add r9d, 0xfffffff3
lea edi, [rdx + rdx*8]
lea edx, [rdx + rdi*2]
shr dl, 2
movzx r12d, dl
add sil, sil
movzx esi, sil
sub r12d, esi
mov edi, r9d
shl edi, 0x10
imul r12d, edi
add r12d, eax
cmp ecx, 6
je 0x140018645
movzx eax, byte [r10 + r8 - 0x10]
cmp al, 5
jb 0x14001863c
mov eax, 5
movzx eax, al
imul edi, eax
sub r12d, edi
add r11, 0xfffffffffffffff8
mov rdx, qword [rbp + 0x258]
cmp dword [rdx + r11*4], 0
jne 0x140018570
mov edi, r10d
and dil, 0x38
mov r11d, r10d
and r11b, 7
movabs rax, 0x101010101010101
shlx rcx, rax, r11
mov rax, 0xffffffffffffff00
shlx rax, rax, rdi
and rax, qword [rbp + 0x140]
and rax, rcx
mov r8, qword [rbp + 0x1a8]
test qword [rbp + 0x240], rax
je 0x1400186a8
movabs r8, 0xffffffffffffff
lea edx, [r10 - 8]
mov qword [rbp + 0x1d8], rdx
xor dil, 0x38
movabs rdx, 0xffffffffffffff
shrx rsi, rdx, rdi
movabs rdx, 0x202020202020202
shlx rdi, rdx, r11
movabs rdx, 0xfefefefefefefe
and rdi, rdx
mov r11, rcx
shr r11, 1
movabs rdx, 0x7f7f7f7f7f7f7f
and r11, rdx
or rdi, rcx
or rdi, r11
and rdi, rsi
and rdi, r8
je 0x140018741
test qword [rbp + 0xf0], rdi
mov rdx, qword [rbp + 0x258]
lea r11, [0x14008d8f0]
je 0x14001875f
and r8, rsi
test r8, rcx
je 0x140018783
mov rcx, qword [rbp + 0x1d8]
bt rdi, rcx
mov ecx, 7
jae 0x140018764
xor ecx, ecx
test qword [rbp + 0x248], rax
jne 0x140018791
jmp 0x14001876d
mov ecx, 0x24
mov rdx, qword [rbp + 0x258]
lea r11, [0x14008d8f0]
test qword [rbp + 0x248], rax
jne 0x140018791
jmp 0x14001876d
mov ecx, 0x1e
test qword [rbp + 0x248], rax
jne 0x140018791
mov rax, qword [rbp + 0x218]
mov r8, qword [rbp + 0x1d8]
bt rax, r8
jb 0x140018791
jmp 0x140018794
mov ecx, 0x11
test qword [rbp + 0x248], rax
je 0x14001876d
add ecx, 5
imul r9d, ecx
mov eax, r9d
shl eax, 0x10
add eax, r12d
add eax, r9d
jmp 0x14001857a
xor r13d, r13d
mov dword [0x1401ab814], r13d
mov rax, qword [rbp + 0x200]
mov rax, qword [rax + 0x10]
mov r10, qword [rbp + 0x248]
mov rcx, qword [rbp + 0x210]
and rcx, r10
shr rcx, 8
mov r11, qword [rbp + 0x190]
not r11
and rcx, rax
je 0x14001882a
mov rsi, rcx
mov rcx, qword [rbp + 0x238]
or rcx, r11
andn rcx, r10, rcx
and rcx, qword [rbp + 0xd0]
not rsi
mov r9, rcx
shr r9, 1
movabs r8, 0x7f7f7f7f7f7f00
and r9, r8
add rcx, rcx
movabs r8, 0xfefefefefefe00
and r8, rcx
or r8, r9
or r8, rsi
and rax, r8
mov qword [rbp + 0xf0], r11
mov rcx, qword [rdx + 0x130]
test rax, rax
mov r8, qword [rbp + 0x240]
je 0x140018af3
mov r9, qword [rbp + 0x218]
or r9, r10
mov qword [rbp + 0x210], r9
mov r11, qword [rbp + 0x178]
mov rsi, rcx
and rsi, r10
tzcnt r9, rsi
mov qword [rbp + 0x1a8], r9
cmovae rsi, r9
and rcx, r8
tzcnt r8, rcx
cmovb r8, rcx
mov qword [rbp + 0x1f8], r8
not r11
mov qword [rbp + 0x1d8], r11
mov rcx, qword [rbp + 0x188]
or rcx, qword [rdx + 0x128]
mov qword [rbp + 0x188], rcx
xor r15d, r15d
lea r8, [0x14008d8f0]
shl rsi, 6
lea rcx, [0x1400c5f00]
add rsi, rcx
mov qword [rbp + 0x230], rsi
mov r9d, 5
jmp 0x140018912
mov edi, r9d
mov rdx, qword [rbp + 0x258]
lea r8, [0x14008d8f0]
mov r9d, 5
blsr rax, rax
and r10d, 7
mov ecx, r10d
xor ecx, 7
cmp ecx, r10d
cmovge ecx, r10d
imul ecx, ecx, 0xfff7fff3
add r15d, edi
add r15d, ecx
test rax, rax
je 0x140018ae3
tzcnt r10, rax
mov ecx, r10d
shr ecx, 3
mov edi, dword [r8 + rcx*4]
cmp r10d, 0x18
jb 0x1400188e7
mov rdx, qword [rbp + 0x230]
movzx r8d, byte [r10 + rdx + 8]
cmp r8b, 5
cmovae r8d, r9d
lea r11d, [rcx + rcx*4 - 0xd]
mov r12d, 5
lea r9d, [r8 + r8*8]
lea r8d, [r8 + r9*2]
shr r8b, 2
movzx r9d, r8b
mov r8, qword [rbp + 0x1f8]
shl r8, 6
lea rdx, [0x1400c5f00]
add r8, rdx
movzx esi, byte [r10 + r8 + 8]
cmp sil, 5
cmovae esi, r12d
add sil, sil
movzx esi, sil
sub r9d, esi
mov esi, r11d
shl esi, 0x10
imul r9d, esi
add r9d, edi
cmp ecx, 6
je 0x1400189ac
movzx ecx, byte [r10 + r8 + 0x10]
cmp cl, 5
cmovae ecx, r12d
movzx ecx, cl
imul esi, ecx
sub r9d, esi
mov rcx, qword [rbp + 0x258]
cmp dword [rcx + r10*4 + 0x20], 0
jne 0x1400188d0
mov edx, r10d
and dl, 0x38
mov rcx, 0xffffffffffffff00
shlx r8, rcx, rdx
mov ecx, r10d
and cl, 7
movabs rsi, 0x101010101010101
shlx rdi, rsi, rcx
movabs rsi, 0x202020202020202
shlx rcx, rsi, rcx
movabs rsi, 0xfefefefefefefe00
and rcx, rsi
mov rsi, rdi
shr rsi, 1
movabs r12, 0x7f7f7f7f7f7f7f00
and rsi, r12
or rcx, rdi
or rcx, rsi
xor dl, 0x38
movabs rsi, 0xffffffffffffff
shrx rdx, rsi, rdx
and rdx, qword [rbp + 0x188]
and rdx, rdi
test qword [rbp + 0x248], rdx
mov rsi, 0xffffffffffffff00
cmove rsi, qword [rbp + 0x210]
and rcx, r8
and rcx, rsi
je 0x140018a8b
test qword [rbp + 0x1d8], rcx
je 0x140018a9b
and rsi, r8
test rsi, rdi
je 0x140018aab
shrx rcx, rcx, r10
test ecx, 0x100
mov ecx, 0
mov r8d, 7
cmove ecx, r8d
test qword [rbp + 0x240], rdx
jne 0x140018acb
jmp 0x140018ab9
mov ecx, 0x24
test qword [rbp + 0x240], rdx
jne 0x140018acb
jmp 0x140018ab9
mov ecx, 0x1e
test qword [rbp + 0x240], rdx
jne 0x140018acb
jmp 0x140018ab9
mov ecx, 0x11
test qword [rbp + 0x240], rdx
jne 0x140018acb
shrx r8, qword [rbp + 0x238], r10
test r8d, 0x100
je 0x140018ace
add ecx, 5
imul r11d, ecx
mov edi, r11d
shl edi, 0x10
add edi, r9d
add edi, r11d
jmp 0x1400188d3
mov r10, qword [rbp + 0x248]
mov rdi, qword [rbp + 0x1a8]
jmp 0x140018afe
and rcx, r10
tzcnt rdi, rcx
xor r15d, r15d
mov dword [0x1401ab810], r15d
mov rcx, qword [rbp + 0x200]
cmp dword [rcx + 0x44], edi
jne 0x140018b36
mov rax, qword [rdx + 0x358]
mov eax, dword [rax + 0x18]
and eax, 0xc
cmp dword [rcx + 0x54], eax
jne 0x140018b36
mov eax, dword [rcx + 0x4c]
mov qword [rbp + 0x210], rax
mov r8, qword [rbp + 0x240]
jmp 0x140018b63
call fcn.14002ea80
mov ecx, eax
mov rax, qword [rbp + 0x200]
mov qword [rbp + 0x210], rcx
mov dword [rax + 0x4c], ecx
mov rdx, qword [rbp + 0x258]
mov r8, qword [rdx + 0x140]
mov r10, qword [rdx + 0x148]
mov rsi, qword [rbp + 0x218]
not rsi
mov rax, qword [rbp + 0x148]
or rax, qword [rbp + 0x160]
or rax, rsi
mov rcx, qword [rbp + 0x190]
andn rax, rcx, rax
and rax, qword [rbp + 0x238]
mov qword [rbp + 0x1d8], rax
and rax, qword [rbp + 0x1c8]
or rax, rsi
mov qword [rbp + 0x240], r8
andn r9, r8, rax
mov rax, qword [rdx + 0x100]
mov rcx, qword [rdx + 0x128]
mov qword [rbp + 0x1f8], rcx
mov qword [rbp + 0x248], r10
and rcx, r10
mov qword [rbp + 0x230], rax
xor rcx, rax
mov r12, rdi
mov r10d, edi
mov r8, r10
shl r8, 5
lea rdx, [0x1400d8300]
mov rax, qword [r8 + rdx + 0x10]
pext r11, rcx, qword [r8 + rdx]
mov r11d, r11d
mov rax, qword [rax + r11*8]
lea rdx, [0x1400d8b00]
mov r11, qword [r8 + rdx + 0x10]
pext rcx, rcx, qword [r8 + rdx]
mov ecx, ecx
mov r11, qword [r11 + rcx*8]
mov r8, rax
and r8, qword [rbp + 0x128]
mov rdi, r8
and rdi, r9
je 0x140018c42
xor ecx, ecx
blsr r8, rdi
setne cl
lea r8, [0x14008d910]
mov edx, dword [r8 + rcx*4 + 0x20]
xor r8d, r8d
jmp 0x140018c44
xor edx, edx
mov ecx, dword [rbp + 0x1f0]
mov qword [rbp + 0x140], rsi
or rax, r11
or rdi, qword [rbp + 0x148]
andn rax, rdi, rax
and rax, qword [rbp + 0x150]
and rax, r9
je 0x140018c82
xor esi, esi
blsr rdi, rax
setne sil
lea rdi, [0x14008d910]
add edx, dword [rdi + rsi*4 + 0x28]
and r11, qword [rbp + 0x1a0]
xor rax, r9
and rax, r11
je 0x140018cab
xor r11d, r11d
blsr rax, rax
setne r11b
lea rax, [0x14008d910]
add edx, dword [rax + r11*4 + 0x18]
jmp 0x140018cae
or r8, r11
lea rax, [0x1400d6f00]
mov rax, qword [rax + r10*8 + 0x400]
and rax, qword [rbp + 0x208]
and r9, rax
je 0x140018ce1
xor eax, eax
blsr r9, r9
setne al
lea r9, [0x14008d910]
add edx, dword [r9 + rax*4 + 0x10]
jmp 0x140018ce4
or r8, rax
mov dword [rbp + 0x188], edx
and r12d, 7
lea rax, str._a_a_a_a_a_a_a_a
mov rdx, qword [rax + r12*8]
mov rax, qword [rbp + 0x238]
and rax, rdx
and rax, 0xffffffffff000000
mov r9, qword [rbp + 0x218]
mov qword [rbp + 0x1a8], rdx
and r9, rdx
and r9, 0xffffffffff000000
popcnt r11, rax
and rax, qword [rbp + 0x1c8]
popcnt rdi, rax
add edi, r11d
popcnt r11, r9
mov r10, qword [rbp + 0x250]
imul r10d, dword [rbp + 0x1e8]
mov rax, qword [rbp + 0x1d8]
and rax, qword [rbp + 0x220]
popcnt rax, rax
imul eax, eax, 0xb7
mov dword [rbp + 0x1e8], eax
popcnt rax, r8
mov rdx, qword [rbp + 0x258]
mov rdx, qword [rdx + 0x358]
mov qword [rbp + 0x1d8], rdx
popcnt rdx, qword [rdx + 0x48]
imul r8d, eax, 0x94
imul eax, edx, 0x62
mov qword [rbp + 0x250], rax
imul eax, dword [rbp + 0x22c], 0x45
mov dword [rbp + 0x220], eax
mov eax, edi
imul eax, eax
lea r12d, [rax + rax*2]
shr r12d, 3
mov rax, qword [rbp + 0x1b0]
mov esi, eax
sub esi, ecx
mov r9, qword [rbp + 0x210]
movsx ecx, r9w
add ecx, ecx
lea eax, [rcx + rcx*2]
lea ecx, [rcx + rcx*2]
add ecx, 7
test eax, eax
cmovns ecx, eax
sar ecx, 3
lea eax, [r10 - 0x3f]
add r10d, 0x25
mov rdx, qword [rbp + 0x1d0]
test qword [rbp + 0x160], rdx
cmovne r10d, eax
movsx eax, si
add eax, dword [rbp + 0x220]
add eax, r10d
add eax, dword [rbp + 0x1e8]
sub eax, ecx
add r8d, dword [rbp + 0x188]
add r8d, eax
shl r11d, 2
sub r8d, r11d
mov rdx, qword [rbp + 0x258]
mov rcx, qword [rbp + 0x250]
lea eax, [r8 + rcx]
add ecx, r8d
add ecx, 0xfffffc97
cmp dword [rdx + 0x164], 0
cmovne ecx, eax
add ecx, r12d
cmp ecx, 0x65
jl 0x140018e5b
mov eax, ecx
imul eax, ecx
shr eax, 0xc
and ecx, 0xfffffff0
shl ecx, 0xc
add ecx, eax
sub r9d, ecx
lea esi, [r9 - 0x610013]
mov rax, qword [rbp + 0x1a8]
test qword [rdx + 0x108], rax
cmovne esi, r9d
shl edi, 3
sub esi, edi
mov dword [0x1401ab7e4], esi
mov rax, qword [rdx + 0x130]
mov r8, qword [rbp + 0x240]
and rax, r8
tzcnt rdi, rax
mov rcx, qword [rbp + 0x200]
cmp dword [rcx + 0x40], edi
mov dword [rbp + 0x1e8], esi
jne 0x140018eda
mov rax, qword [rbp + 0x1d8]
mov eax, dword [rax + 0x18]
and eax, 3
cmp dword [rcx + 0x50], eax
jne 0x140018eda
mov eax, dword [rcx + 0x48]
mov qword [rbp + 0x250], rax
mov r9, qword [rbp + 0x248]
mov r10, qword [rbp + 0x230]
mov r11, qword [rbp + 0x1f8]
jmp 0x140018f15
call fcn.14002e720
mov ecx, eax
mov rax, qword [rbp + 0x200]
mov qword [rbp + 0x250], rcx
mov dword [rax + 0x48], ecx
mov rax, qword [rbp + 0x258]
mov r8, qword [rax + 0x140]
mov r10, qword [rax + 0x100]
mov r11, qword [rax + 0x128]
mov r9, qword [rax + 0x148]
mov rsi, qword [rbp + 0x238]
not rsi
mov rax, qword [rbp + 0x150]
or rax, qword [rbp + 0x170]
or rax, rsi
mov rcx, qword [rbp + 0x1c8]
andn rdx, rcx, rax
and rdx, qword [rbp + 0x218]
mov rax, rdx
and rax, qword [rbp + 0x190]
mov qword [rbp + 0x210], rsi
or rax, rsi
mov qword [rbp + 0x248], r9
andn r9, r9, rax
mov qword [rbp + 0x240], r8
mov rcx, r8
mov qword [rbp + 0x1f8], r11
and rcx, r11
mov qword [rbp + 0x1d8], rcx
mov qword [rbp + 0x230], r10
xor rcx, r10
mov qword [rbp + 0x220], rdi
mov r8d, edi
mov r10, r8
shl r10, 5
lea r11, [0x1400d8300]
pext rax, rcx, qword [r10 + r11]
mov r11, qword [r10 + r11 + 0x10]
mov eax, eax
mov rax, qword [r11 + rax*8]
lea rsi, [0x1400d8b00]
mov r11, qword [r10 + rsi + 0x10]
pext rcx, rcx, qword [r10 + rsi]
mov ecx, ecx
mov r11, qword [r11 + rcx*8]
mov r12, rax
and r12, qword [rbp + 0x130]
mov rdi, r12
and rdi, r9
je 0x140018ff6
xor ecx, ecx
blsr r10, rdi
setne cl
lea r10, [0x14008d910]
mov esi, dword [r10 + rcx*4 + 0x20]
xor r12d, r12d
jmp 0x140018ff8
xor esi, esi
mov ecx, dword [rbp + 0x1f0]
or rax, r11
or rdi, qword [rbp + 0x150]
andn rax, rdi, rax
and rax, qword [rbp + 0x148]
and rax, r9
je 0x140019036
mov r10d, esi
xor esi, esi
blsr rdi, rax
setne sil
lea rdi, [0x14008d910]
add r10d, dword [rdi + rsi*4 + 0x28]
mov esi, r10d
mov r10, qword [rbp + 0x220]
and r11, qword [rbp + 0x138]
xor rax, r9
and rax, r11
je 0x140019066
xor r11d, r11d
blsr rax, rax
setne r11b
lea rax, [0x14008d910]
add esi, dword [rax + r11*4 + 0x18]
jmp 0x140019069
or r12, r11
lea rax, [0x1400d6f00]
mov rax, qword [rax + r8*8 + 0x400]
and rax, qword [rbp + 0x1d0]
and r9, rax
je 0x14001909c
xor eax, eax
blsr r8, r9
setne al
lea r8, [0x14008d910]
add esi, dword [r8 + rax*4 + 0x10]
jmp 0x14001909f
or r12, rax
mov dword [rbp + 0x22c], esi
and r10d, 7
lea rax, str._a_a_a_a_a_a_a_a
mov r10, qword [rax + r10*8]
mov rax, qword [rbp + 0x218]
and rax, r10
mov r8b, 0x28
bzhi rax, rax, r8
mov r9, qword [rbp + 0x238]
mov qword [rbp + 0x220], r10
and r9, r10
bzhi r9, r9, r8
popcnt r11, rax
and rax, qword [rbp + 0x190]
popcnt r10, rax
add r10d, r11d
popcnt r11, r9
mov r8, qword [rbp + 0x1e0]
imul r8d, dword [rbp + 0x1c0]
and rdx, qword [rbp + 0x198]
popcnt rax, rdx
imul eax, eax, 0xb7
mov dword [rbp + 0x198], eax
popcnt rdx, r12
imul edx, edx, 0x94
mov r12, qword [rbp + 0x258]
mov rax, qword [r12 + 0x358]
mov qword [rbp + 0x1c0], rax
popcnt r9, qword [rax + 0x40]
imul eax, r9d, 0x62
mov qword [rbp + 0x1e0], rax
imul edi, dword [rbp + 0x1bc], 0x45
mov r9d, r10d
imul r9d, r9d
lea r9d, [r9 + r9*2]
shr r9d, 3
mov esi, ecx
sub esi, dword [rbp + 0x1b0]
movsx eax, word [rbp + 0x250]
add eax, eax
lea ecx, [rax + rax*2]
lea eax, [rax + rax*2]
add eax, 7
test ecx, ecx
cmovns eax, ecx
lea ecx, [r8 + rdi]
add edi, r8d
add edi, 0xffffff9c
sar eax, 3
mov r8, qword [rbp + 0x208]
test qword [rbp + 0x170], r8
cmove edi, ecx
movsx ecx, si
add edi, ecx
add edi, dword [rbp + 0x198]
sub edi, eax
add edx, dword [rbp + 0x22c]
add edx, edi
shl r11d, 2
sub edx, r11d
mov rcx, qword [rbp + 0x1e0]
lea eax, [rdx + rcx]
add ecx, edx
add ecx, 0xfffffc97
mov edx, dword [r12 + 0x184]
mov dword [rbp + 0x1e0], edx
test edx, edx
cmovne ecx, eax
lea eax, [rcx + r9]
add eax, 0x25
cmp eax, 0x65
jl 0x140019218
mov ecx, eax
imul ecx, eax
shr ecx, 0xc
and eax, 0xfffffff0
shl eax, 0xc
add eax, ecx
mov r8, qword [rbp + 0x250]
sub r8d, eax
mov rax, qword [rbp + 0x168]
mov rdx, qword [rbp + 0xe0]
jmp 0x14001922d
mov rax, qword [rbp + 0x168]
mov rdx, qword [rbp + 0xe0]
mov r8, qword [rbp + 0x250]
mov rsi, r12
mov r11, qword [r12 + 0x108]
test qword [rbp + 0x220], r11
lea ecx, [r8 - 0x610013]
cmovne ecx, r8d
shl r10d, 3
sub ecx, r10d
add eax, edx
mov rdx, qword [rbp + 0xa8]
add edx, dword [rbp + 0xb8]
mov r8, qword [rbp + 0xb0]
add r8d, dword [rbp + 0xc0]
add r8d, eax
mov rax, qword [rbp + 0xc8]
add eax, dword [rbp + 0x1f0]
add eax, edx
add eax, ebx
sub r8d, eax
add r14d, dword [rbp + 0x1b0]
add r14d, r15d
add r14d, r8d
add r13d, dword [rbp + 0x1e8]
sub r14d, r13d
mov edx, r14d
add edx, ecx
lea eax, [r14 + rcx]
add eax, 0x8000
mov ebx, eax
sar ebx, 0x10
mov qword [rbp + 0x168], rdx
movsx edx, dx
add edx, ebx
mov r9d, edx
neg r9d
cmovs r9d, edx
mov dword [0x1401ab7e0], ecx
mov rdx, qword [rbp + 0x1c0]
mov ecx, dword [rdx + 0x10]
mov edx, dword [rdx + 0x14]
mov r8d, ecx
add r8d, edx
lea r10d, [rcx + rdx + 0x1f]
cmovns r10d, r8d
sar r10d, 5
mov rsi, qword [r12 + 0x350]
mov esi, dword [rsi + 0x158]
mov edi, esi
neg edi
cmovs edi, esi
lea esi, [rdi + rdi*4]
shr esi, 2
add r10d, esi
add r10d, 0x7aa
cmp r9d, r10d
jg 0x140019a48
xor ecx, ecx
mov eax, 0
mov r9d, 0
cmp r8d, 0x2d1f
mov r15, qword [rbp + 0x190]
mov r10, qword [rbp + 0x240]
movabs rbx, 0xfefefefefefefe
mov r13, qword [rbp + 0x210]
jl 0x14001948a
mov rax, r11
and rax, qword [rbp + 0x248]
mov rdx, qword [rbp + 0x178]
not rdx
andn rdx, rax, rdx
movabs r8, 0x3c3c3c00000000
and r8, rdx
mov rdx, rax
shl rdx, 8
or rdx, rax
mov rax, rdx
shl rax, 0x10
or rax, rdx
popcnt rdx, r8
and r8, r13
and r8, rax
popcnt rax, r8
add eax, edx
mov rsi, qword [rbp + 0x258]
mov r8d, dword [rsi + 0x170]
mov rdi, qword [rbp + 0x200]
mov r9d, dword [rdi + 0x58]
cmp r9d, 9
mov edx, 9
cmovge r9d, edx
add r8d, r9d
add r8d, 0xfffffffd
imul r8d, r8d
imul r8d, eax
lea eax, [r8 + 0xf]
test r8d, r8d
cmovns eax, r8d
sar eax, 4
mov dword [0x1401ab81c], eax
mov r9, qword [rbp + 0x1c0]
mov r8d, dword [r9 + 0x10]
add r8d, dword [r9 + 0x14]
cmp r8d, 0x2d1f
jge 0x140019407
xor r9d, r9d
jmp 0x14001948a
mov r8, r11
and r8, r10
mov r9, qword [rbp + 0x180]
not r9d
andn r9d, r8d, r9d
and r9d, 0x3c3c3c00
mov r10, r8
shr r10, 8
or r10, r8
mov r8, r10
shr r8, 0x10
or r8d, r10d
popcnt r10, r9
and r9d, dword [rbp + 0x140]
and r9d, r8d
popcnt r8, r9
add r8d, r10d
mov r9d, dword [rsi + 0x150]
mov r10d, dword [rdi + 0x58]
cmp r10d, 9
cmovl edx, r10d
mov r10, qword [rbp + 0x240]
add edx, r9d
add edx, 0xfffffffd
imul edx, edx
imul edx, r8d
lea r9d, [rdx + 0xf]
test edx, edx
cmovns r9d, edx
sar r9d, 4
mov dword [0x1401ab818], r9d
mov dword [rbp + 0x250], r9d
andn rdx, r11, r10
mov r12, qword [rbp + 0xf0]
and r12, qword [rbp + 0x1c8]
or r12, qword [rbp + 0x178]
mov r9, rdx
and r9, r12
andn r14, r12, qword [rbp + 0x218]
mov r8, r10
and r8, r14
or r9, r8
je 0x14001958f
mov rcx, qword [rbp + 0x1d0]
or rcx, qword [rbp + 0x138]
and r9, rcx
je 0x140019508
xor ecx, ecx
lea r10, [0x14008d980]
mov rdi, qword [rbp + 0x258]
nop dword [rax]
tzcnt rsi, r9
mov esi, dword [rdi + rsi*4]
and esi, 7
add ecx, dword [r10 + rsi*4]
blsr r9, r9
jne 0x1400194f0
jmp 0x14001950a
xor ecx, ecx
mov r9, r8
and r9, qword [rbp + 0x130]
je 0x140019546
lea r10, [0x14008d9a0]
mov rdi, qword [rbp + 0x258]
nop word cs:[rax + rax]
tzcnt rsi, r9
mov esi, dword [rdi + rsi*4]
and esi, 7
add ecx, dword [r10 + rsi*4]
blsr r9, r9
jne 0x140019530
lea r9d, [rcx + 0x570018]
test qword [rbp + 0x160], r8
cmove r9d, ecx
mov rcx, rdx
and rcx, r15
or rcx, r13
and rcx, r8
popcnt rcx, rcx
imul r10d, ecx, 0x280048
mov rcx, qword [rbp + 0x150]
and rcx, r8
popcnt rcx, rcx
lea r8d, [rcx + rcx]
shl ecx, 4
sub ecx, r8d
add ecx, r10d
add ecx, r9d
or r13, qword [rbp + 0x218]
mov r9, r11
and r9, qword [rbp + 0x248]
mov r8, r9
and r8, r13
mov r10, r8
shr r10, 9
movabs rsi, 0x7f7f7f7f7f7f7f
and r10, rsi
shr r8, 7
and r8, rbx
and r14, qword [rbp + 0x238]
popcnt rsi, r14
imul esi, esi, 0x70006
or r8, r10
and r8, rdx
popcnt r8, r8
imul r10d, r8d, 0x6300a7
add r10d, esi
add r10d, ecx
mov rcx, r9
shr rcx, 8
mov rdi, qword [rbp + 0x230]
andn r8, rdi, rcx
shr r8, 8
movabs rsi, 0xff00000000
and rsi, r8
or rsi, rcx
mov rcx, qword [rbp + 0x178]
or rcx, rdi
andn rcx, rcx, rsi
and rcx, r13
mov r8, rcx
shr r8, 9
movabs rsi, 0x7f7f7f7f7f7f
and rsi, r8
shr rcx, 7
movabs r8, 0xfefefefefefe
and r8, rcx
or r8, rsi
and r8, rdx
mov rdx, r11
not rdx
popcnt rcx, r8
imul r8d, ecx, 0x270030
add r8d, r10d
mov rcx, qword [rbp + 0x258]
mov ecx, dword [rcx + 0x164]
cmp ecx, 1
jne 0x140019740
cmp dword [rbp + 0x1e0], 0
sete r10b
or r9, r12
mov rdi, qword [rbp + 0x1d8]
tzcnt rsi, rdi
andn r9, r9, qword [rbp + 0x120]
test rdi, rdi
cmove rsi, rdi
lea rdi, [0x1400d6f00]
mov r13, qword [rbp + 0x1d0]
and r13, qword [rdi + rsi*8 + 0x400]
shl rsi, 5
lea r14, [0x1400d8b00]
mov rdi, qword [rsi + r14 + 0x10]
mov rbx, qword [rbp + 0x230]
pext r14, rbx, qword [rsi + r14]
mov r14d, r14d
mov r12, qword [rbp + 0x138]
and r12, qword [rdi + r14*8]
lea rbx, [0x1400d8300]
mov rdi, qword [rbp + 0x230]
pext rdi, rdi, qword [rsi + rbx]
mov rsi, qword [rsi + rbx + 0x10]
mov edi, edi
mov rbx, qword [rbp + 0x130]
and rbx, qword [rsi + rdi*8]
mov rdi, qword [rbp + 0x230]
or rbx, r12
and r13, r9
and r9, r15
and r9, rbx
popcnt rsi, r13
imul esi, esi, 0xb0010
popcnt r9, r9
imul r9d, r9d, 0x15003e
add r9d, esi
shlx r9d, r9d, r10d
add r8d, r9d
mov r10, qword [rbp + 0xe8]
mov r9, rdi
not r9
mov dword [0x1401ab80c], r8d
mov rsi, qword [rbp + 0x248]
and rdx, rsi
and r15, r10
or r15, qword [rbp + 0x180]
mov r10, rdx
and r10, r15
mov rbx, r15
andn r14, r15, qword [rbp + 0x238]
mov r15, rsi
and r15, r14
or r10, r15
je 0x14001985e
mov rsi, qword [rbp + 0x208]
or rsi, qword [rbp + 0x1a0]
xor r13d, r13d
and r10, rsi
je 0x1400197c7
lea rsi, [0x14008d980]
mov r12, qword [rbp + 0x258]
nop dword [rax]
tzcnt rdi, r10
mov edi, dword [r12 + rdi*4]
and edi, 7
add r13d, dword [rsi + rdi*4]
blsr r10, r10
jne 0x1400197b0
mov r10, r15
and r10, qword [rbp + 0x128]
je 0x140019807
lea rsi, [0x14008d9a0]
mov r12, qword [rbp + 0x258]
nop word cs:[rax + rax]
tzcnt rdi, r10
mov edi, dword [r12 + rdi*4]
and edi, 7
add r13d, dword [rsi + rdi*4]
blsr r10, r10
jne 0x1400197f0
lea esi, [r13 + 0x570018]
test qword [rbp + 0x170], r15
cmove esi, r13d
mov r10, rdx
and r10, qword [rbp + 0x1c8]
mov r13, qword [rbp + 0x140]
or r10, r13
and r10, r15
popcnt r10, r10
imul edi, r10d, 0x280048
mov r10, qword [rbp + 0x148]
and r10, r15
popcnt r10, r10
lea r15d, [r10 + r10]
shl r10d, 4
sub r10d, r15d
add r10d, edi
add r10d, esi
jmp 0x140019868
xor r10d, r10d
mov r13, qword [rbp + 0x140]
and r14, qword [rbp + 0x218]
mov r12, qword [rbp + 0x238]
or r12, r13
mov rsi, r11
and rsi, qword [rbp + 0x240]
mov rdi, rsi
and rdi, r12
mov r15, rdi
shl r15, 7
movabs r13, 0x7f7f7f7f7f7f7f00
and r15, r13
shl rdi, 9
movabs r13, 0xfefefefefefefe00
and rdi, r13
or rdi, r15
popcnt r14, r14
imul r15d, r14d, 0x70006
and rdi, rdx
popcnt rdi, rdi
imul r14d, edi, 0x6300a7
add r14d, r15d
add r14d, r10d
mov r10, rsi
shl r10, 8
and r9d, r10d
shl r9d, 8
and r9d, 0xff000000
or r9, r10
mov r10, qword [rbp + 0x180]
mov r15, qword [rbp + 0x230]
or r10, r15
andn r9, r10, r9
and r9, r12
mov r10, r9
shl r10, 7
movabs rdi, 0x7f7f7f7f7f7f0000
and rdi, r10
shl r9, 9
movabs r10, 0xfefefefefefe0000
and r10, r9
or r10, rdi
and r10, rdx
popcnt rdx, r10
imul r9d, edx, 0x270030
add r9d, r14d
cmp dword [rbp + 0x1e0], 1
jne 0x140019a05
test ecx, ecx
sete cl
or rsi, rbx
mov rdi, qword [rbp + 0x1f8]
and rdi, qword [rbp + 0x248]
andn rdx, rsi, qword [rbp + 0x158]
tzcnt r10, rdi
test rdi, rdi
cmove r10, rdi
lea rsi, [0x1400d6f00]
mov r14, qword [rbp + 0x208]
and r14, qword [rsi + r10*8 + 0x400]
shl r10, 5
lea rdi, [0x1400d8b00]
mov rsi, qword [r10 + rdi + 0x10]
pext rdi, r15, qword [r10 + rdi]
mov edi, edi
mov rbx, qword [rbp + 0x1a0]
and rbx, qword [rsi + rdi*8]
lea rdi, [0x1400d8300]
pext rsi, r15, qword [r10 + rdi]
mov r10, qword [r10 + rdi + 0x10]
mov esi, esi
mov rdi, qword [rbp + 0x128]
and rdi, qword [r10 + rsi*8]
or rdi, rbx
and r14, rdx
mov r10, qword [rbp + 0x1c8]
and r10, rdx
and r10, rdi
popcnt rdx, r14
imul edx, edx, 0xb0010
popcnt r10, r10
imul r10d, r10d, 0x15003e
add r10d, edx
shlx ecx, r10d, ecx
add ecx, r9d
mov r9d, ecx
mov r10, qword [rbp + 0x168]
mov dword [0x1401ab808], r9d
add r10d, dword [rbp + 0x250]
add eax, r8d
sub r10d, eax
mov rax, qword [rbp + 0x1c0]
mov ecx, dword [rax + 0x10]
mov edx, dword [rax + 0x14]
lea eax, [r10 + r9]
add eax, 0x8000
mov r8d, r10d
add r8d, r9d
mov ebx, eax
sar ebx, 0x10
mov qword [rbp + 0x168], r8
mov r14, qword [rbp + 0x258]
mov r10, qword [rbp + 0x240]
mov r9, qword [rbp + 0x248]
mov r8, qword [r14 + 0x130]
and r9, r8
tzcnt r9, r9
and r10, r8
tzcnt rsi, r10
mov r8d, esi
and r8d, 7
mov r10d, r9d
and r10d, 7
sub r8d, r10d
mov r10d, r8d
neg r10d
cmovs r10d, r8d
mov r8d, esi
shr r8d, 3
mov edi, r9d
shr edi, 3
sub r8d, edi
add r8d, r10d
movabs r10, 0xf0f0f0f0f0f0f0f
test r11, r10
setne r10b
movabs rdi, 0xf0f0f0f0f0f0f0f0
test r11, rdi
setne r15b
and r15b, r10b
xor r10d, r10d
cmp r9d, 0x20
mov r11d, 0x18
mov r9d, 0
cmovb r9d, r11d
cmp esi, 0x20
cmovae r9d, r11d
mov rsi, qword [rbp + 0x200]
mov r11, qword [rsi + 0x18]
or r11, qword [rsi + 0x10]
popcnt r11, r11
mov esi, dword [r14 + 0x174]
add esi, dword [r14 + 0x154]
add ecx, edx
mov ecx, 0x33
cmovne ecx, r10d
test r8d, r8d
mov r12d, 0xffffffd5
cmovns r12d, r10d
add r11d, r8d
test r15b, r15b
cmovne r12d, r10d
lea edx, [rcx + 0x15]
cmove edx, ecx
lea ecx, [rsi + rsi*2]
lea esi, [rdx + rcx*4]
lea ecx, [r11 + r11*8]
add esi, r9d
add esi, ecx
mov ecx, eax
sar ecx, 0x1f
xor edx, edx
cmp eax, 0x10000
lea eax, [r12 + rsi - 0x6e]
setae dl
or edx, ecx
mov edi, ebx
neg edi
cmovns edi, ebx
cmp eax, edi
cmovg edi, eax
imul edi, edx
xor r14d, r14d
add edi, ebx
setle r14b
mov rax, qword [rbp + 0x118]
mov rcx, qword [rax + r14*8 + 0x10]
test rcx, rcx
je 0x140019b91
mov rax, qword [rcx]
mov rdx, qword [rbp + 0x258]
call qword [rax + 8]
cmp eax, 0xff
jne 0x140019b9e
mov rax, qword [rbp + 0x118]
movzx eax, byte [rax + r14 + 0x26]
add esi, r12d
cmp eax, 0x40
mov r12, qword [rbp + 0x1b0]
jne 0x140019db6
mov r11, qword [rbp + 0x258]
mov ecx, dword [r11 + 0x15c]
mov edx, dword [r11 + 0x17c]
movzx eax, r15b
cmp ecx, 1
jne 0x140019c4e
cmp edx, 1
jne 0x140019c4e
mov r8, qword [r11 + 0x118]
mov r9, qword [r11 + 0x148]
and r9, r8
tzcnt r9, r9
and r8, qword [r11 + 0x140]
tzcnt r8, r8
mov r10d, r8d
shr r10d, 3
add r8d, r9d
shr r9d, 3
add r9d, r8d
add r9d, r10d
mov r8, qword [r11 + 0x358]
test r9b, 1
je 0x140019c55
cmp dword [r8 + 0x10], 0x339
jne 0x140019d94
cmp dword [r8 + 0x14], 0x339
jne 0x140019d94
mov rcx, qword [rbp + 0x200]
popcnt rcx, qword [rcx + r14*8 + 0x10]
lea r8d, [rcx*4 + 0x12]
jmp 0x140019daf
mov r8, qword [r11 + 0x358]
cmp dword [r8 + 0x10], 0x4fc
jne 0x140019d26
cmp dword [r8 + 0x14], 0x4fc
jne 0x140019d26
xor r8d, r8d
xor r9d, r9d
test edi, edi
setg r8b
setle r9b
shl r9, 5
mov r9d, dword [r11 + r9 + 0x154]
mov r10, r8
shl r10, 5
sub r9d, dword [r11 + r10 + 0x154]
cmp r9d, 1
jg 0x140019d26
mov r9, qword [r11 + 0x108]
mov r10, qword [r11 + r14*8 + 0x140]
and r10, r9
movabs r11, 0xf0f0f0f0f0f0f0f0
test r10, r11
sete r11b
movabs r14, 0xf0f0f0f0f0f0f0f
test r10, r14
setne r10b
xor r10b, r11b
mov r11, qword [rbp + 0x258]
jne 0x140019d26
mov r10, qword [r11 + r8*8 + 0x140]
mov r8, qword [r11 + 0x130]
and r8, r10
tzcnt r11, r8
cmovb r11, r8
lea r8, [0x1400d6f00]
and r9, qword [r8 + r11*8 + 0xc00]
mov r11, qword [rbp + 0x258]
mov r8d, 0x24
test r9, r10
jne 0x140019daf
mov r8d, dword [r11 + 0x164]
mov r9d, dword [r11 + 0x184]
add r9d, r8d
cmp r9d, 1
jne 0x140019d63
lea r9, [r11 + 0x158]
lea r10, [r11 + 0x178]
cmp r8d, 1
cmove ecx, edx
cmove r9, r10
add ecx, dword [r9]
lea r8d, [rcx + rcx*2]
add r8d, 0x25
jmp 0x140019daf
xor ecx, ecx
test edi, edi
setle cl
shl rcx, 5
mov ecx, dword [r11 + rcx + 0x154]
lea edx, [rcx*8]
sub edx, ecx
cmp edx, 0x1c
mov ecx, 0x1c
cmovl ecx, edx
lea r8d, [rcx + rax*4]
add r8d, 0x20
jmp 0x140019daf
xor ecx, ecx
test edi, edi
setle cl
shl rcx, 5
mov ecx, dword [r11 + rcx + 0x150]
lea r8d, [rcx + rcx*2]
add r8d, 0x16
lea eax, [r8 + rax*4]
add eax, 0xfffffffc
mov rcx, qword [rbp + 0x168]
mov edx, ecx
shl edx, 0x10
movsx ecx, cx
mov r8d, edx
sar r8d, 0x1f
xor r10d, r10d
test edx, edx
setne r10b
or r10d, r8d
mov edx, ecx
neg edx
cmovns edx, ecx
lea r8d, [rsi - 0x3c]
cmp r8d, edx
cmovg edx, r8d
xor r9d, r9d
cmp esi, 0x3d
cmovl r9d, edx
imul r9d, r10d
add ecx, r9d
mov rsi, qword [rbp + 0x118]
movsx edx, word [rsi + 0x24]
mov r10d, 0x80
sub r10d, edx
imul eax, edi
imul r10d, eax
lea r8d, [r10 + 0x3f]
test r10d, r10d
cmovns r8d, r10d
sar r8d, 6
imul edx, ecx
lea r10d, [r8 + rdx]
lea r11d, [rax + 0x3f]
test eax, eax
cmovns r11d, eax
sar r11d, 6
mov eax, r11d
sub eax, ebx
shl eax, 0x10
add eax, r9d
mov dword [0x1401ab820], eax
mov dword [0x1401ab824], 0
shl r11d, 0x10
add r11d, ecx
mov dword [0x1401ab828], r11d
mov dword [0x1401ab82c], 0
mov rcx, qword [rbp + 0x258]
mov eax, dword [rcx + 0x368]
mov dword [0x1401ab7f0], eax
mov dword [0x1401ab7f4], 0
mov eax, dword [rsi + 0x20]
mov dword [0x1401ab7f8], eax
mov dword [0x1401ab7fc], 0
mov rax, qword [rbp + 0x200]
mov rax, qword [rax + 8]
mov qword [0x1401ab7b8], rax
mov dword [0x1401ab800], r12d
mov eax, dword [rbp + 0x1f0]
mov dword [0x1401ab804], eax
lea eax, [r8 + rdx]
add eax, 0x7ff
test r10d, r10d
cmovns eax, r10d
sar eax, 0xb
shl eax, 4
mov r14d, eax
neg r14d
cmp dword [rcx + 0x364], 0
cmove r14d, eax
mov rax, qword [rbp - 0x50]
movsxd rax, dword [rax + 4]
or dword [rbp + rax - 0x38], 0x10
mov rax, qword [rbp - 0x50]
movsxd rax, dword [rax + 4]
and dword [rbp + rax - 0x38], 0xffffffdf
mov rax, qword [rbp - 0x50]
movsxd rax, dword [rax + 4]
mov ecx, 0xffffcfff
and ecx, dword [rbp + rax - 0x38]
or ecx, 0x2000
mov dword [rbp + rax - 0x38], ecx
lea rcx, [rbp + 0xf8]
mov edx, 2
call fcn.140062158
mov rdx, qword [rbp + 0x100]
mov rax, qword [rbp - 0x50]
movsxd rcx, dword [rax + 4]
lea rax, [rbp - 0x50]
add rcx, rax
call qword [rbp + 0xf8]
lea rdx, str._Contributing_terms_for_the_classical_eval:_n
lea rcx, [rbp - 0x50]
call fcn.140003770
lea rdx, str.____________________________________________________n
mov rcx, rax
call fcn.140003770
lea rdx, str.____Term________White________Black________Total_____n
mov rcx, rax
call fcn.140003770
lea rdx, str._______________MG____EG_____MG____EG_____MG____EG___n
mov rcx, rax
call fcn.140003770
lea rdx, str.____________________________________________________n
mov rcx, rax
call fcn.140003770
lea rdx, str.___Material_
mov rcx, rax
call fcn.140003770
mov r15, rax
mov rcx, rax
mov edx, 8
call fcn.14001a710
lea rdx, str.__Imbalance_
mov rcx, r15
call fcn.140003770
mov r15, rax
mov rcx, rax
mov edx, 9
call fcn.14001a710
lea rdx, str.______Pawns_
mov rcx, r15
call fcn.140003770
mov r15, rax
mov rcx, rax
mov edx, 1
call fcn.14001a710
lea rdx, str.____Knights_
mov rcx, r15
call fcn.140003770
mov r15, rax
mov rcx, rax
mov edx, 2
call fcn.14001a710
lea rdx, str.____Bishops_
mov rcx, r15
call fcn.140003770
mov r15, rax
mov rcx, rax
mov edx, 3
call fcn.14001a710
lea rdx, str.______Rooks_
mov rcx, r15
call fcn.140003770
mov r15, rax
mov rcx, rax
mov edx, 4
call fcn.14001a710
lea rdx, str._____Queens_
mov rcx, r15
call fcn.140003770
mov r15, rax
mov rcx, rax
mov edx, 5
call fcn.14001a710
lea rdx, str.___Mobility_
mov rcx, r15
call fcn.140003770
mov r15, rax
mov rcx, rax
mov edx, 0xa
call fcn.14001a710
lea rdx, str.King_safety_
mov rcx, r15
call fcn.140003770
mov r15, rax
mov rcx, rax
mov edx, 6
call fcn.14001a710
lea rdx, str.____Threats_
mov rcx, r15
call fcn.140003770
mov r15, rax
mov rcx, rax
mov edx, 0xb
call fcn.14001a710
lea rdx, str._____Passed_
mov rcx, r15
call fcn.140003770
mov r15, rax
mov rcx, rax
mov edx, 0xc
call fcn.14001a710
lea rdx, str.______Space_
mov rcx, r15
call fcn.140003770
mov r15, rax
mov rcx, rax
mov edx, 0xd
call fcn.14001a710
lea rdx, str.___Winnable_
mov rcx, r15
call fcn.140003770
mov r15, rax
mov rcx, rax
mov edx, 0xe
call fcn.14001a710
lea rdx, str.____________________________________________________n
mov rcx, r15
call fcn.140003770
lea rdx, str.______Total_
mov rcx, rax
call fcn.140003770
mov r15, rax
mov rcx, rax
mov edx, 0xf
call fcn.14001a710
lea rdx, str.____________________________________________________n
mov rcx, r15
call fcn.140003770
cmp byte [0x1401ab780], 0
je 0x14001a20a
lea rcx, [rbp - 0x50]
mov dl, 0xa
call fcn.14001a980
mov r15, rax
lea r12, [rbp + 0xf8]
mov rcx, r12
mov rdx, qword [rbp + 0x258]
call fcn.1400284d0
mov r8, qword [rbp + 0x108]
cmp qword [rbp + 0x110], 0x10
jb 0x14001a1b0
mov r12, qword [rbp + 0xf8]
mov rcx, r15
mov rdx, r12
call fcn.140008cb0
mov rcx, rax
mov dl, 0xa
call fcn.14001a980
mov rax, qword [rbp + 0x110]
cmp rax, 0x10
jb 0x14001a20a
mov rcx, qword [rbp + 0xf8]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14001a205
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14001a40b
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.140060c2c
mov rax, qword [rbp - 0x50]
movsxd rax, dword [rax + 4]
or dword [rbp + rax - 0x38], 0x10
mov rax, qword [rbp - 0x50]
movsxd rax, dword [rax + 4]
or dword [rbp + rax - 0x38], 0x20
mov rax, qword [rbp - 0x50]
movsxd rax, dword [rax + 4]
mov ecx, 0xffffcfff
and ecx, dword [rbp + rax - 0x38]
or ecx, 0x2000
mov dword [rbp + rax - 0x38], ecx
lea rcx, [rbp + 0xf8]
mov edx, 2
call fcn.140062158
mov rdx, qword [rbp + 0x100]
mov rax, qword [rbp - 0x50]
movsxd rcx, dword [rax + 4]
lea rax, [rbp - 0x50]
add rcx, rax
call qword [rbp + 0xf8]
lea rcx, [rbp + 0x98]
mov edx, 0xf
call fcn.14006216c
mov rdx, qword [rbp + 0xa0]
mov rax, qword [rbp - 0x50]
movsxd rcx, dword [rax + 4]
lea rax, [rbp - 0x50]
add rcx, rax
call qword [rbp + 0x98]
mov rax, qword [rbp + 0x258]
mov esi, dword [rax + 0x364]
lea rdx, str._nClassical_evaluation
lea rcx, [rbp - 0x50]
call fcn.140003770
mov ecx, r14d
neg ecx
test esi, esi
cmove ecx, r14d
vcvtsi2sd xmm0, xmm0, ecx
vdivsd xmm1, xmm0, qword [0x14008da40]
mov rcx, rax
call fcn.14001ad50
lea rdx, str.__white_side__n
mov rcx, rax
call fcn.140003770
cmp byte [0x1401ab780], 0
je 0x14001a34c
mov rcx, qword [rbp + 0x258]
xor edx, edx
xor r8d, r8d
call fcn.140027e50
mov r14d, eax
mov rax, qword [rbp + 0x258]
mov esi, dword [rax + 0x364]
lea rdx, str.NNUE_evaluation
lea rcx, [rbp - 0x50]
call fcn.140003770
mov ecx, r14d
neg ecx
test esi, esi
cmove ecx, r14d
vcvtsi2sd xmm0, xmm2, ecx
vdivsd xmm1, xmm0, qword [0x14008da40]
mov rcx, rax
call fcn.14001ad50
lea rdx, str.__white_side__n
mov rcx, rax
call fcn.140003770
mov rcx, qword [rbp + 0x258]
xor edx, edx
call fcn.140013890
mov r14d, eax
mov rax, qword [rbp + 0x258]
mov esi, dword [rax + 0x364]
lea rdx, str.Final_evaluation
lea rcx, [rbp - 0x50]
call fcn.140003770
mov ecx, r14d
neg ecx
test esi, esi
cmove ecx, r14d
vcvtsi2sd xmm0, xmm2, ecx
vdivsd xmm1, xmm0, qword [0x14008da40]
mov rcx, rax
call fcn.14001ad50
lea rdx, str.__white_side_
mov rcx, rax
call fcn.140003770
cmp byte [0x1401ab780], 0
je 0x14001a3c1
lea rdx, str.__with_scaled_NNUE__hybrid__..._
lea rcx, [rbp - 0x50]
call fcn.140003770
lea rdx, str._nKernel32.dll
lea rcx, [rbp - 0x50]
call fcn.140003770
lea rcx, [rbp - 0x60]
mov rdx, qword [rbp + 0xd8]
call fcn.14001b070
lea rcx, [rbp - 0x60]
call fcn.14001b1c0
mov rsi, qword [rbp + 0xd8]
mov rax, rsi
add rsp, 0x2e8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
vzeroupper
ret
call fcn.14006b33c
int3