Function at 0x140014560
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x228
movdqa xmmword [rsp + 0x210], xmm6
mov rsi, rdx
mov r14, rcx
mov rcx, rdx
call fcn.1400197e0
cmp eax, 0xffff82ff
jne 0x1400152b2
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x30], 0
mov qword [rsp + 0x38], 0
mov dword [rsp + 0x40], 0
mov eax, dword [rsi + 0x108]
mov ecx, dword [rsi + 0x10c]
cmp ecx, 0x1f
mov edx, 0x1f
cmovae ecx, edx
mov dword [rsp + 0x164], ecx
mov ecx, dword [rsi + 0x118]
cmp ecx, 0x1f
cmovb edx, ecx
mov dword [rsp + 0x134], edx
mov ecx, dword [rsi + 0x114]
cmp eax, ecx
je 0x14001461e
or ecx, eax
lea r8, [rsp + 0x28]
test cl, 0xf
je 0x1400170e5
mov rcx, rsi
xor edx, edx
call fcn.140019dd0
lea r8, [rsp + 0x38]
mov rcx, rsi
mov edx, 1
call fcn.140019dd0
mov rbx, qword [rsi + 0x150]
xor rbx, qword [rsi + 0x148]
mov eax, ebx
and eax, 0x3fff
imul r15, rax, 0x68
mov ebp, dword [rsp + 0x134]
cmp qword [r14 + r15], rbx
jne 0x140016b83
mov qword [rsp + 0xf8], r15
lea rax, [r14 + r15 + 0x38]
mov qword [rsp + 0x138], rax
movsxd rax, dword [rsi + 0x100]
shl rax, 7
lea rdi, [0x1400cc280]
xor rbx, qword [rax + rdi + 0x30]
movsxd rax, dword [rsi + 0x140]
lea rcx, [0x1400ce280]
xor rbx, qword [rcx + rax*8]
lea r8, [r14 + 0x1a0000]
movabs r13, 0x4078e2a8fcda18ef
mov rax, rbx
mul r13
shr rdx, 0xb
imul rax, rdx, 0x1fc4
mov rcx, rbx
sub rcx, rax
lea rax, [rcx + rcx*2]
lea r15, [r14 + rax*8 + 0x1a0000]
mov qword [rsp + 0xd0], rax
cmp qword [r14 + rax*8 + 0x1a0000], rbx
mov qword [rsp + 0x48], r8
jne 0x140016035
cmp ebp, 0xd
jae 0x140017106
mov rax, qword [rsp + 0xd0]
cmp dword [r8 + rax*8 + 0x14], 0xffff82ff
je 0x1400189dc
mov rax, qword [rsp + 0xf8]
lea rax, [r14 + rax + 8]
mov qword [rsp + 0x158], rax
mov r12, qword [rsi + 0x150]
xor r12, qword [rsi + 0x148]
movsxd rax, dword [rsi + 0x104]
shl rax, 7
xor r12, qword [rax + rdi + 0x70]
movsxd rax, dword [rsi + 0x144]
lea rcx, [0x1400ce300]
xor r12, qword [rcx + rax*8]
mov rax, r12
mul r13
shr rdx, 0xb
imul rax, rdx, 0x1fc4
mov rcx, r12
sub rcx, rax
lea rbx, [rcx + rcx*2]
lea r15, [r14 + rbx*8 + 0x1cfa60]
mov eax, dword [rsi + 0x10c]
cmp eax, 0x1f
mov edi, 0x1f
cmovb edi, eax
cmp qword [r14 + rbx*8 + 0x1cfa60], r12
jne 0x1400166e9
cmp edi, 0xd
jae 0x140017c22
cmp dword [r14 + rbx*8 + 0x1cfa74], 0xffff82ff
je 0x1400189bf
cmp dword [rsp + 0x134], 0x17
ja 0x140014807
test dword [rsi + 0x114], 0xfffff
mov ecx, dword [rsi + 0x108]
je 0x140016cb5
mov rax, qword [rsp + 0xd0]
mov eax, dword [r8 + rax*8 + 0x14]
not ecx
or ecx, 0xfffffff0
add ecx, dword [rsi + 0x110]
cmp ecx, 2
jg 0x1400147ef
movsxd rcx, ecx
lea rdx, [0x1400ce330]
imul eax, dword [rdx + rcx*4]
lea ecx, [rax + 0x7f]
test eax, eax
cmovns ecx, eax
sar ecx, 7
mov eax, ecx
add eax, dword [rsp + 0x2c]
mov dword [rsp + 0x2c], eax
mov r8, qword [rsi + 0x188]
test r8, r8
jne 0x140016077
xor edx, edx
cmp dword [rsp + 0x164], 0x17
mov qword [rsp + 0x58], rbx
ja 0x14001487a
test dword [rsi + 0x108], 0xfffff
mov ecx, dword [rsi + 0x114]
je 0x140017d52
mov eax, dword [r14 + rbx*8 + 0x1cfa74]
not ecx
or ecx, 0xfffffff0
add ecx, dword [rsi + 0x11c]
cmp ecx, 2
jg 0x140014862
movsxd rcx, ecx
lea r8, [0x1400ce330]
imul eax, dword [r8 + rcx*4]
lea ecx, [rax + 0x7f]
test eax, eax
cmovns ecx, eax
sar ecx, 7
mov eax, ecx
add eax, dword [rsp + 0x3c]
mov dword [rsp + 0x3c], eax
mov r8, qword [rsi + 0x190]
test r8, r8
jne 0x1400163da
test dl, dl
jne 0x14001520f
pxor xmm0, xmm0
movdqa xmmword [rsp + 0x200], xmm0
movdqa xmmword [rsp + 0x1f0], xmm0
movdqa xmmword [rsp + 0x1e0], xmm0
movdqa xmmword [rsp + 0x1d0], xmm0
movdqa xmmword [rsp + 0x1c0], xmm0
movdqa xmmword [rsp + 0x1b0], xmm0
movdqa xmmword [rsp + 0x1a0], xmm0
movdqa xmmword [rsp + 0x190], xmm0
movdqa xmmword [rsp + 0x180], xmm0
mov r8, qword [rsp + 0xf8]
cmp dword [r14 + r8 + 0x64], 0
sete al
cmp dword [r14 + r8 + 0x34], 0
mov r11, qword [rsp + 0x48]
jne 0x1400148f7
xor eax, eax
test al, al
jne 0x140018752
mov rax, qword [rsi + 0x178]
test qword [0x14021b100], rax
jne 0x140018761
test qword [0x14021b110], rax
jne 0x140018782
test qword [0x14021b120], rax
jne 0x1400187a3
test qword [0x14021b130], rax
jne 0x1400187c4
movabs r10, 0x5555555555555555
movabs r9, 0x3333333333333333
movabs r13, 0x707070707070707
mov rax, qword [rsp + 0xd0]
mov ebp, dword [r11 + rax*8 + 8]
xor eax, eax
cmp ebp, 0xffff82ff
cmove ebp, eax
add ebp, dword [rsp + 0x28]
mov dword [rsp + 0x28], ebp
mov r12, qword [rsi + 0x158]
movsxd rcx, dword [rsi + 0x100]
bts r12, rcx
not r12
mov eax, dword [rsi + 0x10c]
cmp eax, 0x1f
mov edx, 0x1f
cmovb edx, eax
mov dword [rsp + 0x50], edx
mov eax, dword [r14 + rbx*8 + 0x1cfa68]
mov dword [rsp + 0x148], eax
movsxd rax, dword [rsi + 0x104]
mov qword [rsp + 0x60], rax
mov rdx, qword [r14 + r8 + 0x40]
and r12, qword [rsi + 0x1a8]
mov qword [rsp + 0x190], rdx
mov qword [rsp + 0x120], rdx
jne 0x1400157d1
mov rdi, r11
xor eax, eax
mov qword [rsp + 0xc0], rax
xor eax, eax
mov qword [rsp + 0x178], rax
xor eax, eax
mov qword [rsp + 0x170], rax
xor eax, eax
mov qword [rsp + 0x140], rax
xor r8d, r8d
mov rbx, rdx
xor edx, edx
xor eax, eax
mov qword [rsp + 0x78], rax
xor r15d, r15d
mov r11, r13
mov eax, dword [rsi + 0x108]
shr eax, 8
and eax, 0xf
jne 0x1400187e5
lea rax, [0x1400cbff0]
mov eax, dword [rax + rcx*4]
add dword [rsp + 0x28], eax
lea r13, [0x1400dcb00]
mov rax, qword [r13 + rcx*8]
or rbx, rax
or r8, rax
mov qword [rsp + 0x180], rbx
mov qword [rsp + 0x200], r8
mov ebp, dword [rsp + 0x50]
cmp ebp, 0x17
mov qword [rsp + 0x80], rbx
mov r12, qword [rsp + 0x60]
ja 0x140017948
mov rax, qword [rsi + 0x1b8]
or rax, rbx
not rax
and rax, qword [r13 + r12*8]
mov rcx, rax
and rcx, r10
shr rax, 1
and rax, r10
add rax, rcx
mov rcx, rax
and rcx, r9
shr rax, 2
and rax, r9
add rax, rcx
mov rcx, rax
mov r8, r11
and rcx, r11
shr rax, 4
and rax, r11
add rax, rcx
imul ecx, eax, 0x1010101
shr rax, 0x20
imul eax, eax, 0x1010101
shr eax, 0x18
shr ecx, 0x18
add ecx, eax
cmp ecx, 4
mov eax, 4
cmovb eax, ecx
lea rcx, [0x1400cefc0]
mov eax, dword [rcx + rax*4]
add dword [rsp + 0x3c], eax
cmp ebp, 0xd
jae 0x140017948
mov r8, qword [rsp + 0xf8]
lea rax, [r14 + r8 + 0x34]
test r15d, r15d
jne 0x140017c0d
cmp dword [rax], 0
sete cl
cmp dword [rax + 0x30], 0
mov rdx, qword [rsp + 0x58]
mov r13, r11
jne 0x140014b25
xor ecx, ecx
test cl, cl
mov r11, rdi
jne 0x14001884c
mov rax, qword [rsi + 0x180]
test qword [0x14021b140], rax
jne 0x140016aff
test qword [0x14021b150], rax
jne 0x140016b20
test qword [0x14021b160], rax
jne 0x140016b41
lea rcx, [r14 + rdx*8 + 0x1cfa68]
test qword [0x14021b170], rax
jne 0x140016b62
mov rax, qword [rsp + 0xd0]
lea rax, [r11 + rax*8 + 8]
mov ecx, dword [rcx]
xor edx, edx
mov qword [rsp + 0xb8], rdx
mov ebx, 0
cmp ecx, 0xffff82ff
jne 0x140017516
add ebx, dword [rsp + 0x38]
mov dword [rsp + 0x38], ebx
mov rdi, qword [rsi + 0x160]
movsxd rcx, dword [rsi + 0x104]
mov qword [rsp + 0x70], rcx
bts rdi, rcx
not rdi
mov ecx, dword [rsi + 0x118]
cmp ecx, 0x1f
mov edx, 0x1f
cmovb edx, ecx
mov dword [rsp + 0x78], edx
mov eax, dword [rax]
mov dword [rsp + 0x168], eax
movsxd r15, dword [rsi + 0x100]
mov rbp, qword [r14 + r8 + 0x10]
and rdi, qword [rsi + 0x1b0]
mov qword [rsp + 0x198], rbp
jne 0x1400152ce
xor eax, eax
mov qword [rsp + 0x148], rax
xor eax, eax
mov qword [rsp + 0xc0], rax
xor eax, eax
mov qword [rsp + 0x90], rax
xor eax, eax
mov qword [rsp + 0x58], rax
mov rdi, rbp
xor eax, eax
mov qword [rsp + 0xe0], rax
xor eax, eax
mov qword [rsp + 0xa8], rax
xor edx, edx
mov eax, dword [rsi + 0x114]
shr eax, 8
and eax, 0xf
cmp eax, 1
jne 0x1400156f6
mov rcx, rsi
mov r13, r15
mov r15, rdx
movabs rax, 0x55aa55aa55aa55aa
mov r12, rsi
test qword [rsi + 0x180], rax
je 0x1400189f6
mov rsi, r9
mov r9, r10
mov r10, r11
mov r11, r8
mov rcx, r14
mov rdx, r8
mov eax, dword [r14 + r11 + 0x5c]
mov ecx, dword [r14 + r11 + 0x60]
lea r8d, [rcx + rax]
lea edx, [rcx + 2]
cmp eax, edx
setg dl
cmp r8d, 4
jg 0x140014ca4
xor edx, edx
test dl, dl
jne 0x140018a4e
mov eax, dword [r14 + r11 + 0x2c]
mov ecx, dword [r14 + r11 + 0x30]
add ecx, eax
je 0x140014cc5
add eax, eax
neg eax
cdq
idiv ecx
add dword [rsp + 0x2c], eax
mov rdx, r15
mov r15, r13
mov r8, qword [rsp + 0x58]
mov r11, r10
mov r10, r9
mov r9, rsi
mov rsi, r12
movabs r13, 0x707070707070707
mov eax, 0x3f
mov rcx, qword [rsp + 0x70]
sub rax, rcx
lea r14, [0x1400cbff0]
add ebx, dword [r14 + rax*4]
mov qword [rsp + 0x50], rbx
lea r14, [0x1400dcb00]
mov rax, qword [r14 + rcx*8]
or rdi, rax
or r8, rax
mov dword [rsp + 0x38], ebx
mov qword [rsp + 0x188], rdi
mov qword [rsp + 0x208], r8
mov r8d, dword [rsp + 0x78]
cmp r8d, 0x17
mov qword [rsp + 0x60], rdi
ja 0x140016e35
mov rax, qword [rsi + 0x1b8]
or rax, rdi
not rax
and rax, qword [r14 + r15*8]
mov rcx, rax
and rcx, r10
shr rax, 1
and rax, r10
add rax, rcx
mov rcx, rax
and rcx, r9
shr rax, 2
and rax, r9
add rax, rcx
mov rcx, rax
and rcx, r13
shr rax, 4
and rax, r13
add rax, rcx
imul ecx, eax, 0x1010101
shr rax, 0x20
imul eax, eax, 0x1010101
shr eax, 0x18
shr ecx, 0x18
add ecx, eax
cmp ecx, 4
mov eax, 4
cmovb eax, ecx
lea rcx, [0x1400cefc0]
mov eax, dword [rcx + rax*4]
add dword [rsp + 0x2c], eax
cmp r8d, 0xd
jae 0x140016e35
test edx, edx
jne 0x140017d41
movabs r10, 0xfefefefefefefe00
movabs r14, 0x7f7f7f7f7f7f7f00
mov ecx, dword [rsi + 0x10c]
cmp ecx, 0x1f
mov ebx, 0x1f
cmovb ebx, ecx
mov r12, rdi
not r12
mov rcx, qword [rsp + 0x80]
mov rdi, rcx
and rdi, r12
not rbp
or rdi, rbp
mov r8, qword [rsi + 0x160]
mov rax, r8
not rax
mov r11, qword [rsi + 0x1b0]
and rax, r11
or r12, rcx
movsxd rdx, dword [rsi + 0x104]
mov r15, qword [rsi + 0x158]
mov r9, r15
and r9, r12
mov rcx, r9
shl rcx, 7
and rcx, r14
shl r9, 9
and r9, r10
or r9, rcx
mov r10, qword [rsi + 0x180]
or r10, qword [rsi + 0x170]
and r9, rax
mov rcx, rdx
mov qword [rsp + 0xf8], rdx
mov qword [rsp + 0xd0], r8
jne 0x140016956
mov r13, rdi
btr r13, rdx
mov r14, qword [rsi + 0x1a0]
or r10, r8
and r10, rdi
or r10, qword [rsi + 0x190]
or r10, r14
mov r9, qword [rsp + 0x140]
and r9, r10
jne 0x14001760e
and r13, r11
and r10, qword [rsp + 0x170]
movabs r9, 0x3333333333333333
jne 0x14001885b
or r14, r13
mov rdx, qword [rsp + 0x178]
and rdx, r14
jne 0x140016729
mov rcx, r15
shl rcx, 8
mov r10, qword [rsi + 0x1b8]
not r10
movabs r14, 0xffffffffffffff
and r14, rcx
and r14, r10
mov rdx, r14
and rdx, 0xffff
jne 0x1400188db
movabs r13, 0x707070707070707
mov rcx, r14
shl rcx, 7
movabs rdx, 0x7f7f7f7f7f7f7f00
and rcx, rdx
shl r14, 9
movabs rdx, 0xfefefefefefefe00
and r14, rdx
or r14, rcx
and rbp, r12
and rbp, rax
and rbp, r14
movabs rcx, 0x5555555555555555
lea rax, [rcx - 0x55]
and rax, rbp
shr rbp, 1
and rbp, rcx
add rbp, rax
lea rax, [r9 - 0x22]
mov rcx, rbp
and rcx, rax
shr rbp, 2
and rbp, rax
add rbp, rcx
lea rax, [r13 - 4]
mov rcx, rbp
and rcx, rax
shr rbp, 4
and rbp, rax
add rbp, rcx
mov rax, rbp
shr rax, 0x20
imul eax, eax, 0x1010101
shr eax, 0x18
imul ecx, ebp, 0x1010101
shr ecx, 0x18
add ecx, eax
lea eax, [rcx + rcx*4]
shl ecx, 4
add ecx, dword [rsp + 0x2c]
lea eax, [rax + rax*4]
add dword [rsp + 0x28], eax
mov dword [rsp + 0x2c], ecx
movsxd rax, dword [rsi + 0x100]
cmp ebx, 0x17
ja 0x140014fc6
lea rdx, [0x1400dcb00]
and r11, qword [rdx + rax*8]
and r11, rdi
jne 0x14001576b
movabs rbx, 0xfefefefefefefe
movabs r14, 0x7f7f7f7f7f7f7f
mov ecx, dword [rsi + 0x118]
cmp ecx, 0x1f
mov edi, 0x1f
cmovb edi, ecx
mov r8, qword [rsp + 0x80]
not r8
mov rdx, qword [rsp + 0x60]
mov rcx, rdx
and rcx, r8
mov rbp, qword [rsp + 0x120]
not rbp
or rbp, rcx
mov r9, r15
not r9
mov r11, qword [rsi + 0x1a8]
and r9, r11
or r8, rdx
mov r12, qword [rsi + 0x178]
or r12, qword [rsi + 0x168]
mov rdx, qword [rsp + 0xd0]
mov qword [rsp + 0x80], r8
and rdx, r8
mov rcx, rdx
shr rcx, 7
and rcx, rbx
shr rdx, 9
and rdx, r14
or rdx, rcx
and rdx, r9
jne 0x140017ee8
mov r8, rbp
btr r8, rax
mov rax, qword [rsi + 0x198]
or r15, r12
and r15, rbp
or r15, qword [rsi + 0x188]
or r15, rax
mov rcx, qword [rsp + 0x90]
and rcx, r15
jne 0x140018450
lea r12, [0x1400dcb00]
and r8, r11
and r15, qword [rsp + 0xc0]
jne 0x140015fab
or rax, r8
mov rdx, qword [rsp + 0x148]
and rdx, rax
jne 0x1400167f7
mov rdx, qword [rsp + 0xd0]
shr rdx, 8
and r10, rdx
and r10, 0xffffffffffffff00
movabs rax, 0xff000000000000
and rax, r10
jne 0x14001894f
mov rax, r10
shr rax, 7
movabs rcx, 0xfefefefefefefe
and rax, rcx
shr r10, 9
movabs rcx, 0x7f7f7f7f7f7f7f
and r10, rcx
or r10, rax
mov rax, qword [rsp + 0x190]
not rax
and rax, qword [rsp + 0x80]
and rax, r9
and rax, r10
movabs rcx, 0x55555555555555
and rcx, rax
shr rax, 1
movabs r8, 0x5555555555555555
and rax, r8
add rax, rcx
movabs rcx, 0x1133333333333333
mov rdx, rax
and rdx, rcx
shr rax, 2
and rax, rcx
add rax, rdx
movabs rcx, 0x307070707070707
mov rdx, rax
and rdx, rcx
shr rax, 4
and rax, rcx
add rax, rdx
imul ecx, eax, 0x1010101
shr rax, 0x20
imul eax, eax, 0x1010101
shr eax, 0x18
shr ecx, 0x18
add ecx, eax
lea edx, [rcx + rcx*4]
mov eax, ecx
shl eax, 4
add eax, dword [rsp + 0x3c]
lea ecx, [rdx + rdx*4]
add ecx, dword [rsp + 0x50]
mov dword [rsp + 0x3c], eax
mov dword [rsp + 0x38], ecx
cmp edi, 0x17
ja 0x1400151c6
mov eax, dword [rsp + 0x134]
lea rdx, [0x1400cb2c0]
mov eax, dword [rdx + rax*4]
mov r8d, dword [rsp + 0x28]
imul r8d, eax
lea ecx, [r8 + 0x7f]
test r8d, r8d
cmovns ecx, r8d
sar ecx, 7
mov r8d, 0x80
sub r8d, eax
imul r8d, dword [rsp + 0x2c]
lea eax, [r8 + 0x7f]
test r8d, r8d
cmovns eax, r8d
mov r8d, 0x80
sar eax, 7
mov r9d, dword [rsp + 0x164]
mov edx, dword [rdx + r9*4]
mov r9d, dword [rsp + 0x38]
imul r9d, edx
lea r10d, [r9 + 0x7f]
test r9d, r9d
cmovns r10d, r9d
sar r10d, 7
sub r8d, edx
imul r8d, dword [rsp + 0x3c]
lea edx, [r8 + 0x7f]
test r8d, r8d
cmovns edx, r8d
add ecx, dword [rsp + 0x30]
sar edx, 7
sub ecx, dword [rsp + 0x40]
add ecx, eax
sub ecx, r10d
sub ecx, edx
mov eax, ecx
neg eax
cmp dword [rsi + 0x120], 1
cmovne eax, ecx
movaps xmm6, xmmword [rsp + 0x210]
add rsp, 0x228
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov qword [rsp + 0x68], r15
lea rax, [r14 + r8 + 0x40]
mov qword [rsp + 0x88], rax
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x100], eax
mov rcx, qword [rsp + 0x188]
mov rax, qword [rsp + 0x1a8]
mov qword [rsp + 0xe8], rax
mov rax, qword [rsp + 0x208]
mov rdx, qword [rsp + 0x1e8]
mov qword [rsp + 0x110], rdx
mov rdx, qword [rsp + 0x1d8]
mov qword [rsp + 0xf0], rdx
mov r12, qword [rsp + 0x1b8]
mov rdx, qword [rsp + 0x1c8]
mov qword [rsp + 0xc8], rdx
xor edx, edx
mov qword [rsp + 0x90], rdx
movdqa xmm6, xmmword [0x1400c8b20]
xor r15d, r15d
xor edx, edx
mov qword [rsp + 0xc0], rdx
xor edx, edx
mov qword [rsp + 0x148], rdx
xor edx, edx
mov qword [rsp + 0x108], rdx
xor edx, edx
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x60], rbp
xor edx, edx
xor r8d, r8d
mov qword [rsp + 0xa8], r8
xor r8d, r8d
mov qword [rsp + 0xe0], r8
xor r8d, r8d
mov qword [rsp + 0xb8], r8
mov qword [rsp + 0x118], r14
mov qword [rsp + 0xa0], r12
mov qword [rsp + 0xb0], rdx
mov rdx, rdi
neg rdx
and rdx, rdi
movabs r8, 0x7edd5e59a4e28c2
imul rdx, r8
shr rdx, 0x3a
lea r8, [0x140236d80]
movsxd r12, dword [r8 + rdx*4]
btr rdi, r12
mov edx, 0x3f
sub rdx, r12
mov r8d, dword [rsi + r12*4]
and r8d, 7
cmp r8d, 3
jne 0x14001565b
movsxd rax, edx
lea rdx, [0x1400ce600]
mov ecx, dword [rdx + rax*4]
mov eax, dword [rdx + rax*4 + 0x100]
lea ebx, [rcx + rbx + 0x207]
mov qword [rsp + 0x50], rbx
mov dword [rsp + 0x38], ebx
mov ecx, dword [rsp + 0x3c]
lea ebx, [rax + rcx + 0x201]
mov dword [rsp + 0x3c], ebx
mov rax, r12
shl rax, 5
lea r8, [0x14022ca80]
mov rdx, qword [rax + r8]
and rdx, qword [rsi + 0x1b8]
imul rdx, qword [rax + r8 + 8]
movzx ecx, byte [rax + r8 + 0x18]
shr rdx, cl
mov rax, qword [rax + r8 + 0x10]
movsxd rcx, edx
mov r13, qword [rax + rcx*8]
cmp dword [rsp + 0x78], 0xd
mov r8, r12
jae 0x140017445
lea eax, [r8 + 7]
test r8d, r8d
cmovns eax, r8d
sar eax, 3
cmp eax, 3
jbe 0x1400155ae
mov r14, qword [rsp + 0x60]
or r14, r13
mov rbx, qword [rsp + 0xc0]
or rbx, r13
or r15, r13
mov r12, r15
mov r15, qword [rsp + 0x58]
or r15, r13
mov rcx, rsi
mov edx, r8d
mov r8, qword [rsp + 0x68]
xor r9d, r9d
call fcn.140019950
mov rcx, qword [rsp + 0x88]
mov rcx, qword [rcx]
or rcx, qword [rsi + 0x1b8]
mov rdx, qword [rsp + 0xb0]
add edx, eax
not rcx
and rcx, r13
mov rax, rcx
movabs r10, 0x5555555555555555
and rax, r10
shr rcx, 1
and rcx, r10
add rcx, rax
mov rax, rcx
movabs r9, 0x3333333333333333
and rax, r9
shr rcx, 2
and rcx, r9
add rcx, rax
mov rax, rcx
movabs r13, 0x707070707070707
and rax, r13
shr rcx, 4
and rcx, r13
add rcx, rax
imul eax, ecx, 0x1010101
shr rcx, 0x20
imul ecx, ecx, 0x1010101
shr ecx, 0x18
shr eax, 0x18
add eax, ecx
mov ecx, dword [rsp + 0x100]
lea r8, [0x1400ce810]
add ecx, dword [r8 + rax*4]
mov dword [rsp + 0x100], ecx
mov dword [rsp + 0x40], ecx
mov qword [rsp + 0xc8], r12
mov rax, rbx
mov qword [rsp + 0xc0], rbx
mov rax, r15
mov qword [rsp + 0x58], r15
mov r15, r12
mov qword [rsp + 0x60], r14
mov rcx, r14
mov r11, qword [rsp + 0x48]
mov r12, rbx
mov rbx, qword [rsp + 0x50]
mov r14, qword [rsp + 0x118]
test rdi, rdi
je 0x140015687
jmp 0x1400153ad
mov rax, qword [rsi + 0x158]
lea rcx, [0x14021bb80]
test qword [rcx + r8*8], rax
jne 0x14001548d
mov rcx, r8
shl rcx, 4
mov rax, qword [rsi + 0x160]
lea rdx, [0x1400cbb00]
and rax, qword [rcx + rdx + 8]
mov rcx, rax
and rcx, r10
shr rax, 1
and rax, r10
add rax, rcx
mov rcx, rax
and rcx, r9
shr rax, 2
and rax, r9
add rax, rcx
mov rcx, rax
movabs rdx, 0x707070707070707
and rcx, rdx
shr rax, 4
and rax, rdx
add rax, rcx
imul ecx, eax, 0x1010101
shr rax, 0x20
imul eax, eax, 0x1010101
shr eax, 0x18
shr ecx, 0x18
xor edx, edx
add ecx, eax
setne dl
mov rax, qword [rsp + 0x50]
lea rcx, [0x1400ce800]
add eax, dword [rcx + rdx*4]
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x38], eax
add ebx, dword [rcx + rdx*4 + 8]
mov dword [rsp + 0x3c], ebx
jmp 0x14001548d
mov qword [rsp + 0xd8], r12
cmp r8d, 4
mov qword [rsp + 0x98], r15
je 0x140016165
jmp 0x1400164df
mov r12, qword [rsp + 0xa0]
jmp 0x1400155a0
mov qword [rsp + 0x188], rcx
mov qword [rsp + 0x208], rax
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x1e8], rax
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x1d8], rax
mov qword [rsp + 0x1b8], r12
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x1c8], rax
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0x1a8], rax
mov rdi, qword [rsp + 0x60]
mov r8, qword [rsp + 0xf8]
mov r15, qword [rsp + 0x68]
jmp 0x140014c3c
test eax, eax
jne 0x140017e5b
mov r8, qword [rsp + 0x58]
jmp 0x140014ce6
mov rdx, r11
movabs r8, 0x5555555555555555
and rdx, r8
shr r11, 1
and r11, r8
add r11, rdx
mov rdx, r11
and rdx, r9
shr r11, 2
and r11, r9
add r11, rdx
mov rdx, r11
and rdx, r13
shr r11, 4
and r11, r13
add r11, rdx
mov rdx, r11
shr rdx, 0x20
imul edx, edx, 0x1010101
shr edx, 0x18
imul r8d, r11d, 0x1010101
shr r8d, 0x18
add r8d, edx
imul edx, r8d, 0x23
add edx, ecx
mov dword [rsp + 0x2c], edx
jmp 0x140014fc6
mov qword [rsp + 0xa8], rcx
lea rax, [r14 + r8 + 0x10]
mov qword [rsp + 0xb8], rax
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x110], eax
mov rcx, qword [rsp + 0x180]
mov r15, qword [rsp + 0x1a0]
mov rdi, qword [rsp + 0x200]
mov rax, qword [rsp + 0x1e0]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x1d0]
mov qword [rsp + 0x100], rax
mov rax, qword [rsp + 0x1b0]
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0x1c0]
mov qword [rsp + 0xb0], rax
xor r8d, r8d
mov qword [rsp + 0x140], r8
movdqa xmm6, xmmword [0x1400c8b20]
xor eax, eax
mov qword [rsp + 0xe8], rax
xor r8d, r8d
mov qword [rsp + 0x170], r8
xor r8d, r8d
mov qword [rsp + 0x178], r8
xor eax, eax
mov qword [rsp + 0x168], rax
xor r8d, r8d
mov rbx, rdx
xor eax, eax
mov qword [rsp + 0x90], rax
xor edx, edx
mov qword [rsp + 0x78], rdx
xor edx, edx
mov qword [rsp + 0x88], rdx
xor edx, edx
mov qword [rsp + 0xc0], rdx
mov rdx, r12
neg rdx
and rdx, r12
movabs rax, 0x7edd5e59a4e28c2
imul rdx, rax
shr rdx, 0x3a
lea rax, [0x140236d80]
movsxd rax, dword [rax + rdx*4]
btr r12, rax
mov qword [rsp + 0x70], rax
mov edx, dword [rsi + rax*4]
and edx, 7
add edx, 0xfffffffe
cmp edx, 3
ja case.default.0x140015905
mov qword [rsp + 0xc8], r8
lea rcx, [0x1400f6b7c]
movsxd rax, dword [rcx + rdx*4]
add rax, rcx
jmp rax
mov qword [rsp + 0xf0], r15
lea rcx, [0x1400ce850]
mov r11, qword [rsp + 0x70]
mov eax, dword [rcx + r11*4]
mov ecx, dword [rcx + r11*4 + 0x100]
lea ebp, [rax + rbp + 0x2f8]
mov dword [rsp + 0x28], ebp
mov eax, dword [rsp + 0x2c]
lea r9d, [rcx + rax + 0x31a]
mov dword [rsp + 0x2c], r9d
mov rax, r11
shl rax, 5
lea rcx, [0x14022c280]
mov rdi, qword [rax + rcx + 0x10]
mov rdx, qword [rsi + 0x1b8]
mov r8, qword [rax + rcx]
mov r15, qword [rax + rcx + 8]
mov qword [rsp + 0xa0], r8
and r8, rdx
mov qword [rsp + 0x108], r15
imul r8, r15
mov ecx, dword [rax + rcx + 0x18]
shr r8, cl
movsxd rax, r8d
lea r8d, [r11 + 7]
test r11d, r11d
cmovns r8d, r11d
mov dword [rsp + 0xd8], r8d
mov qword [rsp + 0x100], rdi
mov rdi, qword [rdi + rax*8]
mov eax, r11d
and eax, 0xfffffff8
cmp eax, 0x30
mov qword [rsp + 0x80], rbx
je 0x140016aab
mov r8, qword [rsp + 0x70]
lea eax, [r8 + 7]
test r8d, r8d
cmovns eax, r8d
and eax, 0xfffffff8
sub r8d, eax
movsxd rax, r8d
mov rbx, qword [rsi + 0x160]
or rbx, qword [rsi + 0x158]
lea r11, [0x1400cb380]
test qword [r11 + rax*8], rbx
jne 0x140015a0c
movq xmm0, qword [rsp + 0x28]
paddd xmm0, xmm6
movq qword [rsp + 0x28], xmm0
movd ebp, xmm0
pextrd r9d, xmm0, 1
mov rax, qword [rsi + 0x198]
or rax, qword [rsi + 0x188]
mov rbx, rax
not rbx
and rbx, rdx
mov qword [rsi + 0x1b8], rbx
and rbx, qword [rsp + 0xa0]
imul rbx, qword [rsp + 0x108]
shr rbx, cl
movsxd rbx, ebx
mov r11, qword [rsp + 0x100]
mov r11, qword [r11 + rbx*8]
or rax, rdx
mov qword [rsi + 0x1b8], rax
mov rdx, qword [rsp + 0xb8]
mov rdx, qword [rdx]
or rdx, rax
not rdx
and rdx, r11
mov rbx, rdx
and rbx, r10
shr rdx, 1
and rdx, r10
add rdx, rbx
mov rbx, rdx
movabs r10, 0x3333333333333333
and rbx, r10
shr rdx, 2
and rdx, r10
add rdx, rbx
mov rbx, rdx
and rbx, r13
shr rdx, 4
and rdx, r13
add rdx, rbx
imul ebx, edx, 0x1010101
shr rdx, 0x20
imul edx, edx, 0x1010101
shr edx, 0x18
shr ebx, 0x18
add ebx, edx
lea rdx, [0x1400cec80]
add ebp, dword [rdx + rbx*4]
add r9d, dword [rdx + rbx*4 + 0x3c]
mov dword [rsp + 0x28], ebp
mov dword [rsp + 0x2c], r9d
mov edx, dword [rsp + 0x50]
cmp edx, 0xd
jae 0x140017c42
mov rbx, qword [rsp + 0x80]
or rbx, rdi
mov r15, qword [rsp + 0x178]
or r15, rdi
mov rax, rdi
mov rdi, qword [rsp + 0xc8]
or rdi, rax
mov rcx, rsi
mov rdx, qword [rsp + 0x70]
mov r8, qword [rsp + 0x60]
mov r9d, 1
call fcn.14001a340
mov r8, rdi
mov rcx, qword [rsp + 0x90]
add ecx, eax
mov qword [rsp + 0x90], rcx
mov rax, r15
mov qword [rsp + 0x178], r15
mov qword [rsp + 0x100], r15
mov rcx, rbx
movabs r9, 0x3333333333333333
movabs r10, 0x5555555555555555
mov r11, qword [rsp + 0x48]
mov r15, qword [rsp + 0xf0]
test r12, r12
je 0x140015f33
jmp 0x1400158ae
mov qword [rsp + 0x80], rbx
lea rcx, [0x1400ced00]
mov rdx, qword [rsp + 0x70]
mov eax, dword [rcx + rdx*4]
mov ecx, dword [rcx + rdx*4 + 0x100]
lea ebp, [rax + rbp + 0x61e]
mov dword [rsp + 0x28], ebp
mov eax, dword [rsp + 0x2c]
lea eax, [rcx + rax + 0x5e3]
mov dword [rsp + 0x68], eax
mov dword [rsp + 0x2c], eax
mov rbx, rdx
shl rbx, 5
mov r13, qword [rsi + 0x1b8]
lea r8, [0x14022ca80]
mov rax, qword [rbx + r8]
and rax, r13
imul rax, qword [rbx + r8 + 8]
movzx ecx, byte [rbx + r8 + 0x18]
shr rax, cl
mov rcx, qword [rbx + r8 + 0x10]
cdqe
mov rdi, qword [rcx + rax*8]
mov rcx, rsi
mov r8, qword [rsp + 0x60]
mov r9d, 1
call fcn.140019950
mov rcx, qword [rsp + 0x90]
add ecx, eax
mov qword [rsp + 0x90], rcx
lea rcx, [0x14022c280]
mov rax, qword [rbx + rcx + 0x10]
and r13, qword [rbx + rcx]
imul r13, qword [rbx + rcx + 8]
movzx ecx, byte [rbx + rcx + 0x18]
shr r13, cl
movsxd rcx, r13d
mov r9, qword [rax + rcx*8]
mov r10, r9
or r10, rdi
cmp dword [rsp + 0x50], 0xd
mov qword [rsp + 0xf0], r15
jae 0x140017712
movabs r13, 0x707070707070707
movabs rdx, 0x3333333333333333
movabs r8, 0x5555555555555555
mov rbx, qword [rsp + 0x80]
mov r11d, dword [rsp + 0x68]
or rbx, r10
mov rdi, qword [rsp + 0xc8]
or rdi, r10
mov r15, qword [rsp + 0x168]
or r15, r10
mov rax, qword [rsp + 0xb8]
mov rax, qword [rax]
or rax, qword [rsi + 0x1b8]
not rax
and rax, r10
mov rcx, rax
and rcx, r8
shr rax, 1
and rax, r8
add rax, rcx
mov rcx, rax
and rcx, rdx
shr rax, 2
and rax, rdx
add rax, rcx
mov rcx, rax
and rcx, r13
shr rax, 4
and rax, r13
add rax, rcx
imul ecx, eax, 0x1010101
shr rax, 0x20
imul eax, eax, 0x1010101
shr eax, 0x18
shr ecx, 0x18
add ecx, eax
cmp ecx, 0x17
mov eax, 0x17
cmovae ecx, eax
lea rax, [0x1400cef00]
add ebp, dword [rax + rcx*4]
mov dword [rsp + 0x28], ebp
add r11d, dword [rax + rcx*4 + 0x60]
mov dword [rsp + 0x2c], r11d
mov rcx, rsi
mov rdx, qword [rsp + 0x70]
mov r8, qword [rsp + 0x60]
mov r9d, 1
call fcn.14001a340
mov r8, rdi
movabs r10, 0x5555555555555555
movabs r9, 0x3333333333333333
mov rcx, qword [rsp + 0x90]
add ecx, eax
mov qword [rsp + 0x90], rcx
mov rax, r15
mov qword [rsp + 0x168], r15
mov qword [rsp + 0x68], r15
mov rcx, rbx
jmp 0x140015b5c
lea rcx, [0x1400ce3c0]
mov r15, qword [rsp + 0x70]
mov eax, dword [rcx + r15*4]
mov ecx, dword [rcx + r15*4 + 0x100]
lea ebp, [rax + rbp + 0x1f8]
mov dword [rsp + 0x28], ebp
mov eax, dword [rsp + 0x2c]
lea ecx, [rcx + rax + 0x1e3]
mov dword [rsp + 0x2c], ecx
lea rax, [0x1400dc900]
mov rdi, qword [rax + r15*8]
mov rdx, qword [rsp + 0xb8]
mov rdx, qword [rdx]
or rdx, qword [rsi + 0x1b8]
not rdx
and rdx, rdi
mov r8, rdx
and r8, r10
shr rdx, 1
and rdx, r10
add rdx, r8
mov r8, rdx
and r8, r9
shr rdx, 2
and rdx, r9
add rdx, r8
mov r8, rdx
and r8, r13
shr rdx, 4
and rdx, r13
add rdx, r8
imul r8d, edx, 0x1010101
shr rdx, 0x20
imul edx, edx, 0x1010101
shr edx, 0x18
shr r8d, 0x18
add r8d, edx
mov eax, dword [rsp + 0x110]
lea rdx, [0x1400ce5c0]
add eax, dword [rdx + r8*4]
lea edx, [r15 + 7]
test r15d, r15d
cmovns edx, r15d
mov dword [rsp + 0x110], eax
mov dword [rsp + 0x30], eax
sar edx, 3
and edx, 0xfffffffc
cmp edx, 4
jne 0x140015ed4
mov rdx, qword [rsi + 0x160]
lea rax, [0x14021b980]
test qword [rax + r15*8], rdx
jne 0x140015ed4
shl r15, 4
mov rdx, qword [rsi + 0x158]
lea rax, [0x1400cbb00]
and rdx, qword [r15 + rax]
mov r8, rdx
and r8, r10
shr rdx, 1
and rdx, r10
add rdx, r8
mov r8, rdx
and r8, r9
shr rdx, 2
and rdx, r9
add rdx, r8
mov r8, rdx
and r8, r13
shr rdx, 4
and rdx, r13
add rdx, r8
imul r8d, edx, 0x1010101
shr rdx, 0x20
imul edx, edx, 0x1010101
shr edx, 0x18
shr r8d, 0x18
xor r9d, r9d
add r8d, edx
setne r9b
lea rax, [0x1400ce5f0]
add ebp, dword [rax + r9*4]
mov dword [rsp + 0x28], ebp
add ecx, dword [rax + r9*4 + 8]
mov dword [rsp + 0x2c], ecx
or rbx, rdi
mov rcx, qword [rsp + 0x140]
or rcx, rdi
mov rdx, qword [rsp + 0xe8]
or rdx, rdi
mov r8, qword [rsp + 0xc8]
or r8, rdi
cmp dword [rsp + 0x50], 0xd
mov qword [rsp + 0x140], rcx
mov qword [rsp + 0xe8], rdx
jae 0x140018e32
mov r15, rcx
mov qword [rsp + 0xb0], rdx
mov rdi, r8
mov rcx, rbx
movabs r9, 0x3333333333333333
jmp case.default.0x140015905
mov rax, rdi
mov rdi, r11
mov qword [rsp + 0x180], rcx
mov qword [rsp + 0x200], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x1e0], rax
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x1d0], rax
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x1b0], rax
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x1c0], rax
mov qword [rsp + 0x1a0], r15
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xa8]
mov r15, qword [rsp + 0x90]
jmp 0x140014a1c
mov qword [rsp + 0x120], rbp
movabs rbx, 0x7edd5e59a4e28c2
mov ebp, dword [rsp + 0x3c]
mov rcx, r15
neg rcx
and rcx, r15
imul rcx, rbx
shr rcx, 0x38
and ecx, 0xfffffffc
lea r14, [0x140236d80]
movsxd rcx, dword [rcx + r14]
mov r12, 0xfffffffffffffffe
rol r12, cl
mov ecx, dword [rsi + rcx*4]
and ecx, 7
lea rdx, [0x1400cf6e0]
mov r13, qword [rsp + 0x50]
add r13d, dword [rdx + rcx*4 - 4]
mov qword [rsp + 0x50], r13
add ebp, dword [rdx + rcx*4 + 0x10]
mov dword [rsp + 0x3c], ebp
and r12, r15
jne 0x1400168b7
movabs r13, 0x707070707070707
mov rbp, qword [rsp + 0x120]
lea r12, [0x1400dcb00]
jmp 0x1400150a7
cmp ebp, 0xc
ja 0x14001827c
movabs rax, 0xffff82ffffff82ff
mov rcx, qword [rsp + 0xd0]
mov qword [r8 + rcx*8 + 8], rax
mov rcx, rsi
xor edx, edx
mov r8, qword [rsp + 0x138]
mov r9, r15
call fcn.14001a470
mov qword [r15], rbx
mov r8, qword [rsp + 0x48]
jmp 0x1400146f5
movabs r13, 0x7edd5e59a4e28c2
mov r10, qword [rsi + 0x158]
mov r11, qword [rsi + 0x1b8]
lea rdi, [0x140236d80]
lea r12, [0x1400e8d80]
lea r15, [0x1400ce380]
lea rbp, [0x14022c280]
mov r9, rbx
mov rcx, r8
neg rcx
and rcx, r8
imul rcx, r13
shr rcx, 0x3a
movsxd rdx, dword [rdi + rcx*4]
lea ecx, [rdx + 7]
test rdx, rdx
cmovns ecx, edx
sar ecx, 3
movsxd rbx, ecx
movsxd rcx, dword [r12 + rbx*8]
test qword [r15 + rcx*8 - 8], r10
jne 0x1400160f1
btr r8, rdx
xor edx, edx
test r8, r8
mov rbx, r9
je 0x140014809
jmp 0x1400160ab
mov r13, rdx
shl r13, 5
mov rcx, r11
mov r11, r15
mov r15, rbp
mov rbp, qword [r13 + rbp]
mov qword [rsp + 0x80], rcx
and rbp, rcx
imul rbp, qword [r13 + r15 + 8]
movzx ecx, byte [r13 + r15 + 0x18]
shr rbp, cl
mov rcx, qword [r13 + r15 + 0x10]
mov r15, r11
movsxd r13, ebp
mov r13, qword [rcx + r13*8]
and r13, qword [r11 + rbx*8]
xor ebp, ebp
and r13, r10
jne 0x1400168fd
shl ebp, 2
sub eax, ebp
mov dword [rsp + 0x2c], eax
movabs r13, 0x7edd5e59a4e28c2
lea rbp, [0x14022c280]
mov r11, qword [rsp + 0x80]
jmp 0x1400160dd
movsxd rax, edx
lea rdx, [0x1400ce850]
mov ecx, dword [rdx + rax*4]
mov eax, dword [rdx + rax*4 + 0x100]
lea ebx, [rcx + rbx + 0x2f8]
mov r14, rbx
mov dword [rsp + 0x38], ebx
mov ecx, dword [rsp + 0x3c]
lea r13d, [rax + rcx + 0x31a]
mov dword [rsp + 0x3c], r13d
mov r9, qword [rsp + 0xd8]
mov rax, r9
shl rax, 5
lea rcx, [0x14022c280]
mov r11, qword [rax + rcx + 0x10]
mov rdx, qword [rsi + 0x1b8]
mov r8, qword [rax + rcx]
mov rbx, qword [rax + rcx + 8]
mov qword [rsp + 0xf0], r8
and r8, rdx
mov qword [rsp + 0x150], rbx
imul r8, rbx
mov ecx, dword [rax + rcx + 0x18]
shr r8, cl
movsxd rax, r8d
lea r12d, [r9 + 7]
test r9d, r9d
cmovns r12d, r9d
mov rax, qword [r11 + rax*8]
mov qword [rsp + 0x50], rax
mov ebx, r9d
and ebx, 0xfffffff8
cmp ebx, 8
je 0x140016868
mov r8, qword [rsp + 0xd8]
lea eax, [r8 + 7]
test r8d, r8d
cmovns eax, r8d
and eax, 0xfffffff8
sub r8d, eax
movsxd rax, r8d
mov r9, qword [rsi + 0x160]
or r9, qword [rsi + 0x158]
lea r15, [0x1400cb380]
test qword [r15 + rax*8], r9
jne 0x14001625a
movq xmm0, qword [rsp + 0x38]
paddd xmm0, xmm6
movq qword [rsp + 0x38], xmm0
movd r14d, xmm0
pextrd r13d, xmm0, 1
mov rax, qword [rsi + 0x1a0]
or rax, qword [rsi + 0x190]
mov r9, rax
not r9
and r9, rdx
mov qword [rsi + 0x1b8], r9
and r9, qword [rsp + 0xf0]
imul r9, qword [rsp + 0x150]
shr r9, cl
movsxd r9, r9d
mov r9, qword [r11 + r9*8]
or rax, rdx
mov qword [rsi + 0x1b8], rax
mov rdx, qword [rsp + 0x88]
mov rdx, qword [rdx]
or rdx, rax
not rdx
and rdx, r9
mov r15, rdx
and r15, r10
shr rdx, 1
and rdx, r10
add rdx, r15
mov r15, rdx
movabs r10, 0x3333333333333333
and r15, r10
shr rdx, 2
and rdx, r10
add rdx, r15
mov r15, rdx
movabs r10, 0x707070707070707
and r15, r10
shr rdx, 4
and rdx, r10
add rdx, r15
imul r15d, edx, 0x1010101
shr rdx, 0x20
imul edx, edx, 0x1010101
shr edx, 0x18
shr r15d, 0x18
add r15d, edx
lea rdx, [0x1400cec80]
add r14d, dword [rdx + r15*4]
add r13d, dword [rdx + r15*4 + 0x3c]
mov r10, r14
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x3c], r13d
cmp dword [rsp + 0x78], 0xd
jae 0x140016e05
mov rbx, r10
mov r14, qword [rsp + 0x118]
mov r8, qword [rsp + 0xd8]
mov r12, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x50]
or r12, rcx
mov r13, qword [rsp + 0x148]
or r13, rcx
mov r15, qword [rsp + 0x58]
or r15, rcx
mov rcx, rsi
mov edx, r8d
mov r8, qword [rsp + 0x68]
xor r9d, r9d
call fcn.14001a340
mov rdx, qword [rsp + 0xb0]
add edx, eax
mov rax, r13
mov qword [rsp + 0x148], r13
mov qword [rsp + 0xf0], r13
mov rax, r15
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x60], r12
mov rcx, r12
movabs r9, 0x3333333333333333
movabs r10, 0x5555555555555555
mov r11, qword [rsp + 0x48]
movabs r13, 0x707070707070707
mov r15, qword [rsp + 0x98]
jmp 0x14001567a
movabs r12, 0x7edd5e59a4e28c2
mov r10, qword [rsi + 0x160]
mov r11, qword [rsi + 0x1b8]
lea rdi, [0x140236d80]
lea r13, [0x1400e8d80]
lea r15, [0x1400ce380]
lea r9, [0x1400cbb00]
mov rcx, r8
neg rcx
and rcx, r8
imul rcx, r12
shr rcx, 0x3a
movsxd rbp, dword [rdi + rcx*4]
lea ecx, [rbp + 7]
test rbp, rbp
cmovns ecx, ebp
sar ecx, 3
movsxd rbx, ecx
movsxd rcx, dword [r13 + rbx*8]
test qword [r15 + rcx*8 - 8], r10
jne 0x140016452
btr r8, rbp
test r8, r8
mov rbx, qword [rsp + 0x58]
je 0x14001487a
jmp 0x14001640e
mov r12, rbp
shl r12, 5
lea rcx, [0x14022c280]
mov qword [rsp + 0x60], r10
mov r10, r9
mov r9, r15
mov r15, rdi
mov rdi, rcx
mov r13, qword [r12 + rcx]
mov qword [rsp + 0x80], r11
and r13, r11
imul r13, qword [r12 + rcx + 8]
movzx ecx, byte [r12 + rcx + 0x18]
shr r13, cl
mov rcx, qword [r12 + rdi + 0x10]
mov rdi, r15
mov r15, r9
mov r9, r10
mov r10, qword [rsp + 0x60]
movsxd r12, r13d
mov r13, qword [rcx + r12*8]
movabs r12, 0x7edd5e59a4e28c2
and r13, qword [r15 + rbx*8]
xor ebx, ebx
and r13, r10
jne 0x140016a6a
shl ebx, 2
sub eax, ebx
mov dword [rsp + 0x3c], eax
lea r13, [0x1400e8d80]
mov r11, qword [rsp + 0x80]
jmp 0x14001643e
cmp r8d, 5
jne 0x14001712b
movsxd rax, edx
lea rdx, [0x1400ced00]
mov ecx, dword [rdx + rax*4]
mov eax, dword [rdx + rax*4 + 0x100]
lea ebx, [rcx + rbx + 0x61e]
mov qword [rsp + 0x50], rbx
mov dword [rsp + 0x38], ebx
mov ecx, dword [rsp + 0x3c]
lea eax, [rax + rcx + 0x5e3]
mov dword [rsp + 0x110], eax
mov dword [rsp + 0x3c], eax
mov rdx, qword [rsp + 0xd8]
mov r15, rdx
shl r15, 5
mov rbx, qword [rsi + 0x1b8]
lea r9, [0x14022ca80]
mov rax, qword [r15 + r9]
and rax, rbx
imul rax, qword [r15 + r9 + 8]
movzx ecx, byte [r15 + r9 + 0x18]
shr rax, cl
mov rcx, qword [r15 + r9 + 0x10]
cdqe
mov r13, qword [rcx + rax*8]
mov rcx, rsi
mov r8, qword [rsp + 0x68]
xor r9d, r9d
call fcn.140019950
mov rdx, qword [rsp + 0xb0]
add edx, eax
lea rcx, [0x14022c280]
mov rax, qword [r15 + rcx + 0x10]
and rbx, qword [r15 + rcx]
imul rbx, qword [r15 + rcx + 8]
movzx ecx, byte [r15 + rcx + 0x18]
shr rbx, cl
movsxd rcx, ebx
mov r12, qword [rax + rcx*8]
mov rcx, r12
or rcx, r13
cmp dword [rsp + 0x78], 0xd
mov qword [rsp + 0xb0], rdx
jae 0x140017315
movabs r13, 0x707070707070707
movabs r9, 0x3333333333333333
movabs r10, 0x5555555555555555
mov r8, qword [rsp + 0x68]
mov r15, qword [rsp + 0x98]
mov r11, qword [rsp + 0xd8]
or qword [rsp + 0x60], rcx
mov rax, qword [rsp + 0x58]
or rax, rcx
mov qword [rsp + 0x58], rax
mov r12, qword [rsp + 0x108]
or r12, rcx
mov rax, qword [rsp + 0x88]
mov rax, qword [rax]
or rax, qword [rsi + 0x1b8]
not rax
and rax, rcx
mov rcx, rax
and rcx, r10
shr rax, 1
and rax, r10
add rax, rcx
mov rcx, rax
and rcx, r9
shr rax, 2
and rax, r9
add rax, rcx
mov rcx, rax
and rcx, r13
shr rax, 4
and rax, r13
add rax, rcx
imul ecx, eax, 0x1010101
shr rax, 0x20
imul eax, eax, 0x1010101
shr eax, 0x18
shr ecx, 0x18
add ecx, eax
cmp ecx, 0x17
mov eax, 0x17
cmovae ecx, eax
mov rbx, qword [rsp + 0x50]
lea rax, [0x1400cef00]
add ebx, dword [rax + rcx*4]
mov dword [rsp + 0x38], ebx
mov edx, dword [rsp + 0x110]
add edx, dword [rax + rcx*4 + 0x60]
mov dword [rsp + 0x3c], edx
mov rcx, rsi
mov edx, r11d
xor r9d, r9d
call fcn.14001a340
movabs r10, 0x5555555555555555
movabs r9, 0x3333333333333333
mov rdx, qword [rsp + 0xb0]
add edx, eax
mov rax, r12
mov qword [rsp + 0x108], r12
mov qword [rsp + 0x110], r12
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x60]
mov r11, qword [rsp + 0x48]
jmp 0x14001567a
cmp edi, 0xc
ja 0x1400180a3
movabs rax, 0xffff82ffffff82ff
mov qword [r14 + rbx*8 + 0x1cfa68], rax
mov rcx, rsi
mov edx, 1
mov r8, qword [rsp + 0x158]
mov r9, r15
call fcn.14001a470
mov qword [r15], r12
mov r8, qword [rsp + 0x48]
jmp 0x140014797
movabs r8, 0x7edd5e59a4e28c2
mov r10d, dword [rsp + 0x28]
mov rcx, rdx
neg rcx
and rcx, rdx
imul rcx, r8
shr rcx, 0x38
and ecx, 0xfffffffc
lea r8, [0x140236d80]
movsxd rcx, dword [rcx + r8]
mov r14, 0xfffffffffffffffe
rol r14, cl
mov r13d, dword [rsp + 0x2c]
mov ecx, dword [rsi + rcx*4]
and ecx, 7
lea r8, [0x1400cf710]
add r10d, dword [r8 + rcx*4 - 4]
add r13d, dword [r8 + rcx*4 + 0x10]
mov dword [rsp + 0x28], r10d
mov dword [rsp + 0x2c], r13d
and r14, rdx
je 0x140014ec8
mov rcx, r8
movabs r8, 0x7edd5e59a4e28c2
mov rdx, rcx
mov rcx, r14
neg rcx
and rcx, r14
imul rcx, r8
shr rcx, 0x3a
lea r9, [0x140236d80]
movsxd rcx, dword [r9 + rcx*4]
mov r9, 0xfffffffffffffffe
rol r9, cl
mov ecx, dword [rsi + rcx*4]
and ecx, 7
add r10d, dword [rdx + rcx*4 - 4]
add r13d, dword [rdx + rcx*4 + 0x10]
mov rcx, rdx
and r14, r9
jne 0x14001679d
mov dword [rsp + 0x28], r10d
mov dword [rsp + 0x2c], r13d
movabs r9, 0x3333333333333333
jmp 0x140014ec8
movabs rbx, 0x7edd5e59a4e28c2
mov eax, dword [rsp + 0x3c]
mov rcx, rdx
neg rcx
and rcx, rdx
imul rcx, rbx
shr rcx, 0x38
and ecx, 0xfffffffc
lea r14, [0x140236d80]
movsxd rcx, dword [rcx + r14]
mov r12, 0xfffffffffffffffe
rol r12, cl
mov ecx, dword [rsi + rcx*4]
and ecx, 7
lea r15, [0x1400cf710]
mov r8, qword [rsp + 0x50]
add r8d, dword [r15 + rcx*4 - 4]
mov qword [rsp + 0x50], r8
add eax, dword [r15 + rcx*4 + 0x10]
mov dword [rsp + 0x3c], eax
and r12, rdx
jne 0x140017f7c
lea r12, [0x1400dcb00]
jmp 0x1400150bb
mov rax, qword [rsp + 0x68]
add eax, 7
cmp eax, 0xf
jb 0x140016882
cmp byte [rsi + 0x159], 0
je 0x140016207
lea eax, [r13 + 0xc]
mov dword [rsp + 0x3c], eax
lea r8, [0x1400cea80]
mov r9, qword [rsp + 0xd8]
mov r8, qword [r8 + r9*8]
and r8, qword [rsi + 0x190]
test qword [rsp + 0x50], r8
jne 0x140018fc0
mov r13d, eax
jmp 0x140016207
mov rcx, r12
neg rcx
and rcx, r12
imul rcx, rbx
shr rcx, 0x3a
movsxd rcx, dword [r14 + rcx*4]
mov r13, 0xfffffffffffffffe
rol r13, cl
mov ecx, dword [rsi + rcx*4]
and ecx, 7
mov r15, qword [rsp + 0x50]
add r15d, dword [rdx + rcx*4 - 4]
mov qword [rsp + 0x50], r15
add ebp, dword [rdx + rcx*4 + 0x10]
and r12, r13
jne 0x1400168b7
mov dword [rsp + 0x3c], ebp
jmp 0x140016017
mov rcx, r13
neg rcx
and rcx, r13
mov r12, rdi
movabs rdi, 0x7edd5e59a4e28c2
imul rcx, rdi
shr rcx, 0x3a
movsxd rcx, dword [r12 + rcx*4]
mov rbx, 0xfffffffffffffffe
rol rbx, cl
shl rcx, 4
xor ebp, ebp
lea r11, [0x1400cbb00]
test qword [rcx + r11], r10
sete bpl
and rbx, r13
jne 0x140016c1e
mov rdi, r12
lea r12, [0x1400e8d80]
jmp 0x14001613e
movabs r14, 0x7edd5e59a4e28c2
mov ecx, dword [rsp + 0x28]
mov dword [rsp + 0x58], ecx
mov rcx, r9
neg rcx
and rcx, r9
imul rcx, r14
shr rcx, 0x38
and ecx, 0xfffffffc
lea r13, [0x140236d80]
movsxd rcx, dword [rcx + r13]
mov r14, 0xfffffffffffffffe
rol r14, cl
mov qword [rsp + 0x78], r14
mov r14d, dword [rsp + 0x2c]
mov dword [rsp + 0x48], r14d
mov ecx, dword [rsi + rcx*4]
and ecx, 7
mov r14d, dword [rsp + 0x58]
lea r13, str.LLLA
add r14d, dword [r13 + rcx*4 - 8]
mov dword [rsp + 0x58], r14d
lea r14, str.LLLA
mov r13d, dword [rsp + 0x48]
add r13d, dword [r14 + rcx*4 + 0xc]
mov ecx, r13d
mov r13, qword [rsp + 0x78]
mov r14d, dword [rsp + 0x58]
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x2c], ecx
and r13, r9
je 0x140014e6a
mov dword [rsp + 0x48], ecx
mov edx, r14d
lea r8, str.LLLA
mov rcx, r13
neg rcx
and rcx, r13
movabs r9, 0x7edd5e59a4e28c2
imul rcx, r9
shr rcx, 0x3a
lea r9, [0x140236d80]
movsxd rcx, dword [r9 + rcx*4]
mov r9, 0xfffffffffffffffe
rol r9, cl
mov ecx, dword [rsi + rcx*4]
and ecx, 7
add edx, dword [r8 + rcx*4 - 8]
mov r14d, dword [rsp + 0x48]
add r14d, dword [r8 + rcx*4 + 0xc]
mov dword [rsp + 0x48], r14d
and r13, r9
jne 0x1400169fa
mov dword [rsp + 0x28], edx
mov ecx, dword [rsp + 0x48]
mov dword [rsp + 0x2c], ecx
mov rdx, qword [rsp + 0xf8]
mov r8, qword [rsp + 0xd0]
jmp 0x140014e6a
mov rcx, r13
neg rcx
and rcx, r13
imul rcx, r12
shr rcx, 0x3a
movsxd rcx, dword [rdi + rcx*4]
mov r11, r12
mov r12, 0xfffffffffffffffe
rol r12, cl
shl rcx, 4
xor ebx, ebx
test qword [rcx + r9 + 8], r10
sete bl
and r12, r13
jne 0x140016dbb
mov r12, r11
jmp 0x1400164c2
mov rax, qword [rsp + 0x60]
and eax, 0xfffffff8
cmp eax, 0x38
je 0x140016acf
movabs rax, 0xff000000000000
test qword [rsi + 0x160], rax
je 0x1400159bd
lea eax, [r9 + 0xc]
mov dword [rsp + 0x2c], eax
lea r8, [0x1400cea80]
mov r11, qword [rsp + 0x70]
mov r8, qword [r8 + r11*8]
and r8, qword [rsi + 0x188]
test r8, rdi
jne 0x14001947a
mov r9d, eax
jmp 0x1400159bd
mov rcx, qword [rsi + 0x158]
test qword [0x14021b148], rcx
je 0x140014b44
add dword [rsp + 0x40], 0xffffff44
jmp 0x140014b44
mov rcx, qword [rsi + 0x158]
test qword [0x14021b158], rcx
je 0x140014b51
add dword [rsp + 0x40], 0xffffff44
jmp 0x140014b51
mov rcx, qword [rsi + 0x158]
test qword [0x14021b168], rcx
je 0x140014b5e
add dword [rsp + 0x40], 0xffffff44
jmp 0x140014b5e
mov rax, qword [rsi + 0x158]
test qword [0x14021b178], rax
je 0x140014b73
add dword [rsp + 0x40], 0xffffff44
jmp 0x140014b73
lea rdi, [r14 + r15]
lea r8, [r14 + r15 + 8]
mov rcx, rsi
xor edx, edx
call fcn.14001ae10
lea r8, [r14 + r15 + 0x38]
mov rcx, rsi
mov edx, 1
call fcn.14001ae10
movzx eax, byte [r14 + r15 + 0x51]
or al, byte [r14 + r15 + 0x21]
movzx eax, al
movzx ecx, byte [r14 + r15 + 0x22]
shl rcx, 8
lea rdx, [0x14021be50]
add rcx, rdx
movzx ecx, byte [rax + rcx]
mov dword [r14 + r15 + 0x34], ecx
movzx ecx, byte [r14 + r15 + 0x52]
shl rcx, 8
add rcx, rdx
movzx eax, byte [rax + rcx]
mov dword [r14 + r15 + 0x64], eax
mov rax, qword [rsi + 0x150]
xor rax, qword [rsi + 0x148]
mov qword [rdi], rax
mov rbx, qword [rsi + 0x150]
mov eax, dword [rsi + 0x118]
xor rbx, qword [rsi + 0x148]
cmp eax, 0x1f
mov ebp, 0x1f
cmovb ebp, eax
jmp 0x140014648
mov rcx, rbx
neg rcx
and rcx, rbx
imul rcx, rdi
shr rcx, 0x3a
movsxd rcx, dword [r12 + rcx*4]
mov r13, 0xfffffffffffffffe
rol r13, cl
shl rcx, 4
mov rcx, qword [rcx + r11]
and rcx, r10
cmp rcx, 1
adc ebp, 0
and r13, rbx
mov rdi, r12
lea r12, [0x1400e8d80]
je 0x14001613e
mov rcx, r13
neg rcx
and rcx, r13
mov rbx, rdi
movabs rdi, 0x7edd5e59a4e28c2
imul rcx, rdi
mov rdi, rbx
shr rcx, 0x3a
movsxd rcx, dword [rbx + rcx*4]
mov rbx, 0xfffffffffffffffe
rol rbx, cl
shl rcx, 4
lea r11, [0x1400cbb00]
mov rcx, qword [rcx + r11]
and rcx, r10
cmp rcx, 1
adc ebp, 0
and r13, rbx
je 0x14001613e
jmp 0x140016c62
cmp ecx, 0x110000
je 0x140018fdb
cmp ecx, 0x101000
je 0x140019095
cmp ecx, 0x100110
jne 0x1400147b7
mov r12, r14
mov r15, rbx
mov eax, 0x428
mov r13, rsi
mov rcx, qword [rsi + 0x178]
test rcx, rcx
je 0x14001948f
mov rdx, rcx
neg rdx
and rdx, rcx
movabs rcx, 0x7edd5e59a4e28c2
imul rcx, rdx
shr rcx, 0x38
and ecx, 0xfffffffc
lea rdx, [0x140236d80]
movsxd rdx, dword [rcx + rdx]
mov ecx, dword [r13 + 0x104]
movabs r9, 0xaa55aa55aa55aa55
mov r8d, ecx
add eax, dword [rsp + 0x2c]
bt r9, rdx
jae 0x140016d4c
movsxd rdx, ecx
lea r8, str.89:____01234567____.______
mov r8d, dword [r8 + rdx*4]
movsxd rdx, r8d
lea r8, [0x14021af00]
add eax, dword [r8 + rdx*4]
mov r8d, dword [r13 + 0x100]
lea edx, [rcx + 7]
test ecx, ecx
cmovns edx, ecx
mov r9d, edx
sar r9d, 3
lea r10d, [r8 + 7]
test r8d, r8d
cmovns r10d, r8d
mov r11d, r10d
sar r11d, 3
sub r11d, r9d
mov r9d, r11d
neg r9d
cmovs r9d, r11d
and r10d, 0xfffffff8
sub r8d, r10d
and edx, 0xfffffff8
sub edx, ecx
add edx, r8d
mov ecx, edx
neg ecx
cmovs ecx, edx
cmp r9d, ecx
cmova ecx, r9d
add ecx, ecx
lea ecx, [rcx + rcx*4]
sub eax, ecx
add eax, 0x28
jmp 0x140019081
mov rcx, r12
neg rcx
and rcx, r12
imul rcx, r11
shr rcx, 0x3a
movsxd rcx, dword [rdi + rcx*4]
mov r11, 0xfffffffffffffffe
rol r11, cl
shl rcx, 4
mov rcx, qword [rcx + r9 + 8]
and rcx, r10
cmp rcx, 1
adc ebx, 0
and r11, r12
jne 0x1400186a2
movabs r12, 0x7edd5e59a4e28c2
jmp 0x1400164c2
cmp r15d, 5
movabs r13, 0x707070707070707
mov r15, qword [rsp + 0x118]
jbe 0x14001751d
movabs rdx, 0x5555555555555555
mov r14, qword [rsp + 0x68]
jmp 0x14001753d
mov qword [rsp + 0xb0], rdx
xor ecx, ecx
mov rax, qword [rsp + 0xd0]
mov r8d, dword [r11 + rax*8 + 0xc]
mov r9d, dword [r11 + rax*8 + 0x10]
mov r10d, 0
mov eax, dword [rsp + 0x168]
cmp eax, 0xffff82ff
jne 0x140018437
lea rax, [0x140219d00]
mov rdx, qword [rax + r15*8]
mov rax, rdi
and rax, rdx
mov r11, qword [rsp + 0xe0]
lea r11d, [r11 + r11*2]
mov rdi, rax
movabs r14, 0x5555555555555555
and rdi, r14
shr rax, 1
and rax, r14
add rax, rdi
mov rdi, rax
movabs rbx, 0x3333333333333333
and rdi, rbx
shr rax, 2
and rax, rbx
add rax, rdi
mov rdi, rax
and rdi, r13
shr rax, 4
and rax, r13
add rax, rdi
imul edi, eax, 0x1010101
shr rax, 0x20
imul eax, eax, 0x1010101
shr eax, 0x18
shr edi, 0x18
add edi, eax
imul eax, edi, 0x38
mov rdi, rdx
and rdi, r14
shr rdx, 1
and rdx, r14
add rdx, rdi
mov rdi, rdx
and rdi, rbx
shr rdx, 2
and rdx, rbx
add rdx, rdi
mov rdi, rdx
and rdi, r13
shr rdx, 4
and rdx, r13
add rdx, rdi
imul edi, edx, 0x1010101
shr rdx, 0x20
imul edx, edx, 0x1010101
shr edx, 0x18
shr edi, 0x18
add edi, edx
xor edx, edx
div edi
add r9d, dword [rsp + 0xa8]
add r8d, r10d
add r8d, r9d
add r8d, r11d
lea edx, [rax + r8 + 4]
lea eax, [rax + r8 + 7]
test edx, edx
cmovns eax, edx
sar eax, 2
test eax, eax
cmovle eax, ecx
mov rcx, qword [rsp + 0xb8]
cmp ecx, 7
jle 0x140017f73
mov r12, r15
mov edx, ecx
shr edx, 0x1f
add edx, ecx
mov r8, qword [rsi + 0x178]
or r8, qword [rsi + 0x168]
lea rcx, [0x140219900]
mov rcx, qword [rcx + r15*8]
and r8, rcx
mov r9, r8
and r9, r14
shr r8, 1
and r8, r14
add r8, r9
mov r9, r8
and r9, rbx
shr r8, 2
and r8, rbx
add r8, r9
mov r9, r8
and r9, r13
shr r8, 4
and r8, r13
add r8, r9
imul r9d, r8d, 0x1010101
shr r8, 0x20
imul r10d, r8d, 0x1010101
shr r10d, 0x18
shr r9d, 0x18
lea r8d, [r10 + r9]
cmp r8d, 2
ja 0x1400192c8
xor r9d, r9d
sar edx, 1
sub r8d, r9d
and rcx, qword [rsi + 0x188]
mov r9, rcx
movabs r10, 0x5555555555555555
and r9, r10
shr rcx, 1
and rcx, r10
add rcx, r9
mov r9, rcx
movabs r10, 0x3333333333333333
and r9, r10
shr rcx, 2
and rcx, r10
add rcx, r9
mov r9, rcx
and r9, r13
shr rcx, 4
and rcx, r13
add rcx, r9
mov r9, rcx
shr r9, 0x20
imul r10d, r9d, 0x1010101
shr r10d, 0x18
imul r9d, ecx, 0x1010101
shr r9d, 0x18
add r9d, r10d
mov r11, qword [rsi + 0x198]
xor r10d, r10d
test r11, r11
jne 0x1400180ea
cmp edx, 0xf
mov ecx, 0xf
cmovl ecx, edx
lea rdx, [0x1400cefe0]
imul r8d, r8d, 0x45
lea r9d, [r9 + r9*8]
lea r9d, [r9 + r9*2]
add r9d, r8d
lea r8d, [r10 + r10*2]
lea r8d, [r10 + r8*4]
add r8d, r9d
imul r8d, dword [rdx + rcx*4]
lea ecx, [r8 + 0x3f]
test r8d, r8d
cmovns ecx, r8d
sar ecx, 6
add ecx, dword [rsp + 0x28]
cmp eax, 0x95
mov edx, 0x95
cmovb edx, eax
lea rax, [0x1400cf020]
mov r15, qword [rsp + 0xb0]
imul r8d, r15d, 0x5b
add r8d, dword [rax + rdx*4]
mov rdx, r15
sub ecx, r8d
mov dword [rsp + 0x28], ecx
mov rdi, qword [rsp + 0x60]
jmp 0x140014db7
mov rcx, rsi
xor edx, edx
call fcn.14001ab00
lea r8, [rsp + 0x38]
mov rcx, rsi
mov edx, 1
call fcn.14001ab00
jmp 0x14001461e
mov rax, qword [rsp + 0xd0]
cmp dword [r8 + rax*8 + 8], 0xffff82ff
je 0x14001831c
cmp ebp, 0x17
jbe 0x1400146de
jmp 0x1400146f5
cmp r8d, 2
jne 0x1400191a4
lea rax, [0x1400ce3c0]
mov ecx, dword [rax + rdx*4]
mov eax, dword [rax + rdx*4 + 0x100]
lea ebx, [rcx + rbx + 0x1f8]
mov dword [rsp + 0x38], ebx
mov ecx, dword [rsp + 0x3c]
lea ecx, [rax + rcx + 0x1e3]
mov dword [rsp + 0x3c], ecx
lea rax, [0x1400dc900]
mov rdx, qword [rsp + 0x88]
mov rdx, qword [rdx]
or rdx, qword [rsi + 0x1b8]
mov r12, qword [rsp + 0xd8]
mov rax, qword [rax + r12*8]
not rdx
and rdx, rax
mov r8, rdx
and r8, r10
shr rdx, 1
and rdx, r10
add rdx, r8
mov r8, rdx
and r8, r9
shr rdx, 2
and rdx, r9
add rdx, r8
mov r8, rdx
and r8, r13
shr rdx, 4
and rdx, r13
add rdx, r8
imul r8d, edx, 0x1010101
shr rdx, 0x20
imul edx, edx, 0x1010101
shr edx, 0x18
shr r8d, 0x18
add r8d, edx
lea rdx, [0x1400ce5c0]
mov r15d, dword [rsp + 0x100]
add r15d, dword [rdx + r8*4]
mov dword [rsp + 0x100], r15d
mov dword [rsp + 0x40], r15d
lea edx, [r12 + 7]
test r12d, r12d
cmovns edx, r12d
sar edx, 3
cmp edx, 3
ja 0x14001865f
mov rdx, qword [rsi + 0x158]
lea r8, [0x14021bb80]
test qword [r8 + r12*8], rdx
mov r15, qword [rsp + 0x98]
jne 0x1400172ad
shl r12, 4
mov rdx, qword [rsi + 0x160]
lea r8, [0x1400cbb00]
and rdx, qword [r12 + r8 + 8]
mov r8, rdx
and r8, r10
shr rdx, 1
and rdx, r10
add rdx, r8
mov r8, rdx
and r8, r9
shr rdx, 2
and rdx, r9
add rdx, r8
mov r8, rdx
and r8, r13
shr rdx, 4
and rdx, r13
add rdx, r8
imul r8d, edx, 0x1010101
shr rdx, 0x20
imul edx, edx, 0x1010101
shr edx, 0x18
shr r8d, 0x18
xor r9d, r9d
add r8d, edx
setne r9b
lea rdx, [0x1400ce5f0]
add ebx, dword [rdx + r9*4]
mov dword [rsp + 0x38], ebx
add ecx, dword [rdx + r9*4 + 8]
mov dword [rsp + 0x3c], ecx
mov rdx, qword [rsp + 0x60]
or rdx, rax
mov rcx, qword [rsp + 0x90]
or rcx, rax
or r15, rax
mov r8, qword [rsp + 0x58]
or r8, rax
cmp dword [rsp + 0x78], 0xd
mov qword [rsp + 0x90], rcx
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x58], r8
jae 0x1400191c1
mov qword [rsp + 0xe8], rcx
mov qword [rsp + 0xc8], r15
mov rax, r8
mov rcx, rdx
movabs r9, 0x3333333333333333
mov rdx, qword [rsp + 0xb0]
jmp 0x14001567a
mov r11, qword [rsp + 0xd8]
lea eax, [r11 + 7]
test r11d, r11d
cmovns eax, r11d
sar eax, 3
cmp eax, 4
movabs r9, 0x3333333333333333
movabs r10, 0x5555555555555555
mov qword [rsp + 0x150], rcx
ja 0x1400173e1
cdqe
lea rcx, [0x1400e8d80]
mov edx, dword [rcx + rax*8 + 4]
mov rax, qword [rsi + 0x180]
or rax, qword [rsi + 0x170]
add edx, 0xfffffffc
shr edx, 1
mov ecx, 0xffffffe5
sub ecx, edx
movabs rdx, 0x5500000000000000
mov r8, rax
and r8, rdx
shr rax, 1
and rax, rdx
add rax, r8
movabs rdx, 0x3300000000000000
mov r8, rax
and r8, rdx
shr rax, 2
and rax, rdx
add rax, r8
movabs rdx, 0x700000000000000
mov r8, rax
and r8, rdx
shr rax, 4
and rax, rdx
add rax, r8
shr rax, 0x20
imul eax, eax, 0x1010101
shr eax, 0x18
imul eax, ecx
add eax, dword [rsp + 0x50]
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x50], rax
mov rcx, qword [rsp + 0x68]
mov r15, qword [rsp + 0x98]
lea rax, [0x140219900]
mov rcx, qword [rax + rcx*8]
mov rbx, rcx
and rbx, r13
je 0x140017d23
mov rax, rcx
and rax, r12
jne 0x140017889
mov rax, qword [rsi + 0x190]
or rax, qword [rsi + 0x1a0]
test rax, r12
movabs r13, 0x707070707070707
jne 0x140018231
test rbx, rbx
jne 0x140017896
mov r8, qword [rsp + 0x68]
jmp 0x14001793b
mov qword [rsp + 0x98], r15
lea rax, [0x140219900]
mov r15, qword [rsp + 0x68]
mov r15, qword [rax + r15*8]
mov rax, r15
and rax, r13
je 0x1400182ca
mov rcx, rax
and rcx, r10
shr rax, 1
and rax, r10
add rax, rcx
mov rcx, rax
and rcx, r9
shr rax, 2
and rax, r9
add rax, rcx
mov rcx, rax
movabs rdx, 0x707070707070707
and rcx, rdx
shr rax, 4
and rax, rdx
add rax, rcx
mov rcx, rax
shr rcx, 0x20
imul ecx, ecx, 0x1010101
shr ecx, 0x18
imul eax, eax, 0x1010101
shr eax, 0x18
lea edx, [rax + rcx - 1]
add eax, ecx
lea ecx, [rdx + rdx*4]
lea eax, [rax + rcx*4 - 1]
mov rcx, qword [rsp + 0xa8]
lea ecx, [rcx + rax + 0x2c]
mov qword [rsp + 0xa8], rcx
xor eax, eax
test edx, edx
cmovg eax, edx
mov rcx, qword [rsp + 0xb8]
lea ecx, [rcx + rax*2 + 4]
mov qword [rsp + 0xb8], rcx
mov rax, qword [rsp + 0xe0]
inc eax
mov qword [rsp + 0xe0], rax
mov r15, qword [rsp + 0x98]
jmp 0x140015476
mov ebx, ecx
jmp 0x140014b9d
mov rdx, qword [rsp + 0x70]
and edx, 0xfffffff8
cmp edx, 0x38
movabs rdx, 0x5555555555555555
mov r14, qword [rsp + 0x68]
je 0x14001936c
lea rax, [0x140219900]
and r9, qword [rax + r14*8]
mov rbx, r10
mov r8, qword [rsp + 0xd8]
je 0x140017606
lea rax, [0x140219d00]
and r9, qword [rax + r14*8]
mov rax, r9
and rax, rdx
shr r9, 1
and r9, rdx
add r9, rax
mov rax, r9
movabs rcx, 0x3333333333333333
and rax, rcx
shr r9, 2
and r9, rcx
add r9, rax
mov rax, r9
and rax, r13
shr r9, 4
and r9, r13
add r9, rax
mov rax, r9
shr rax, 0x20
imul eax, eax, 0x1010101
shr eax, 0x18
imul ecx, r9d, 0x1010101
shr ecx, 0x18
add ecx, eax
cmp ecx, 2
mov eax, 1
cmovge eax, ecx
dec eax
lea ecx, [rax + rax*4]
mov rdx, qword [rsp + 0xa8]
lea edx, [rdx + rcx*4 + 0x33]
mov qword [rsp + 0xa8], rdx
lea eax, [rax + rax*2]
mov rcx, qword [rsp + 0xb8]
lea ecx, [rcx + rax + 5]
mov qword [rsp + 0xb8], rcx
mov rax, qword [rsp + 0xe0]
inc eax
mov qword [rsp + 0xe0], rax
mov r14, r15
jmp 0x14001634a
movabs rdx, 0x7edd5e59a4e28c2
mov ecx, dword [rsp + 0x28]
mov dword [rsp + 0x58], ecx
mov rcx, r9
neg rcx
and rcx, r9
imul rcx, rdx
shr rcx, 0x38
and ecx, 0xfffffffc
lea rdx, [0x140236d80]
movsxd rcx, dword [rcx + rdx]
mov rdx, 0xfffffffffffffffe
rol rdx, cl
mov qword [rsp + 0x48], rdx
mov edx, dword [rsp + 0x2c]
mov dword [rsp + 0x78], edx
mov edx, dword [rsi + rcx*4]
and edx, 7
mov r8d, dword [rsp + 0x58]
lea rcx, str._v_rCsO
add r8d, dword [rcx + rdx*4 - 4]
mov dword [rsp + 0x58], r8d
lea rcx, str._v_rCsO
mov r8d, dword [rsp + 0x78]
add r8d, dword [rcx + rdx*4 + 0x10]
mov rcx, qword [rsp + 0x48]
mov edx, dword [rsp + 0x58]
mov dword [rsp + 0x28], edx
mov dword [rsp + 0x2c], r8d
and rcx, r9
je 0x140014e99
mov qword [rsp + 0x48], rsi
mov rsi, rcx
neg rcx
and rcx, rsi
movabs r9, 0x7edd5e59a4e28c2
imul rcx, r9
shr rcx, 0x3a
lea r9, [0x140236d80]
movsxd rcx, dword [r9 + rcx*4]
mov r9, 0xfffffffffffffffe
rol r9, cl
mov qword [rsp + 0x58], r9
mov r9, qword [rsp + 0x48]
mov ecx, dword [r9 + rcx*4]
and ecx, 7
lea r9, str._v_rCsO
add edx, dword [r9 + rcx*4 - 4]
add r8d, dword [r9 + rcx*4 + 0x10]
and rsi, qword [rsp + 0x58]
mov rcx, rsi
jne 0x1400176a3
mov dword [rsp + 0x28], edx
mov dword [rsp + 0x2c], r8d
mov rsi, qword [rsp + 0x48]
jmp 0x140014e99
mov r11, rdi
mov rcx, qword [rsp + 0x70]
lea eax, [rcx + 7]
test ecx, ecx
cmovns eax, ecx
sar eax, 3
cdqe
lea rcx, [rax - 3]
cmp rcx, 4
mov rbx, qword [rsp + 0x80]
ja 0x140017792
lea rcx, [0x1400e8d80]
mov ecx, dword [rcx + rax*8]
mov eax, dword [rsi + 0x178]
or eax, dword [rsi + 0x168]
add ecx, 0xfffffffc
shr ecx, 1
mov edx, 0xffffffe5
sub edx, ecx
mov ecx, eax
and ecx, 0x55
shr eax, 1
and eax, 0x55
add eax, ecx
mov ecx, eax
and ecx, 0x33
shr eax, 2
and eax, 0xfffffff3
add eax, ecx
mov ecx, eax
and ecx, 7
shr eax, 4
add eax, ecx
imul eax, eax, 0x1010101
shr eax, 0x18
imul eax, edx
add eax, ebp
mov dword [rsp + 0x28], eax
mov ebp, eax
movabs r13, 0x707070707070707
movabs rdx, 0x3333333333333333
movabs r8, 0x5555555555555555
lea rax, [0x140219900]
mov rcx, qword [rsp + 0x60]
mov rcx, qword [rax + rcx*8 + 0x200]
mov rdi, rcx
and rdi, r11
je 0x140017fdc
mov rax, rcx
and rax, r9
je 0x140017e68
or rdi, rax
mov r11d, dword [rsp + 0x68]
lea rax, [0x140219d00]
mov rcx, qword [rsp + 0x60]
and rdi, qword [rax + rcx*8]
mov rax, rdi
and rax, r8
shr rdi, 1
and rdi, r8
add rdi, rax
mov rax, rdi
and rax, rdx
shr rdi, 2
and rdi, rdx
add rdi, rax
mov rax, rdi
and rax, r13
shr rdi, 4
and rdi, r13
add rdi, rax
mov rax, rdi
shr rax, 0x20
imul eax, eax, 0x1010101
shr eax, 0x18
imul ecx, edi, 0x1010101
shr ecx, 0x18
add ecx, eax
cmp ecx, 2
mov eax, 1
cmovge eax, ecx
lea ecx, [rax - 1]
imul ecx, ecx, 0x27
mov r9, qword [rsp + 0x78]
lea r9d, [r9 + rcx + 0x39]
mov qword [rsp + 0x78], r9
mov rcx, qword [rsp + 0xc0]
lea ecx, [rcx + rax*4 + 2]
mov qword [rsp + 0xc0], rcx
mov rax, qword [rsp + 0x88]
inc eax
mov qword [rsp + 0x88], rax
jmp 0x140015c77
or rbx, rax
movabs r13, 0x707070707070707
lea rax, [0x140219d00]
mov r8, qword [rsp + 0x68]
and rbx, qword [rax + r8*8]
mov rax, rbx
and rax, r10
shr rbx, 1
and rbx, r10
add rbx, rax
mov rax, rbx
and rax, r9
shr rbx, 2
and rbx, r9
add rbx, rax
mov rax, rbx
and rax, r13
shr rbx, 4
and rbx, r13
add rbx, rax
mov rax, rbx
shr rax, 0x20
imul eax, eax, 0x1010101
shr eax, 0x18
imul ecx, ebx, 0x1010101
shr ecx, 0x18
add ecx, eax
cmp ecx, 2
mov eax, 1
cmovge eax, ecx
lea ecx, [rax - 1]
imul ecx, ecx, 0x27
mov rdx, qword [rsp + 0xa8]
lea edx, [rdx + rcx + 0x39]
mov qword [rsp + 0xa8], rdx
mov rcx, qword [rsp + 0xb8]
lea ecx, [rcx + rax*4 + 2]
mov qword [rsp + 0xb8], rcx
mov rax, qword [rsp + 0xe0]
inc eax
mov qword [rsp + 0xe0], rax
mov rcx, qword [rsp + 0x150]
jmp 0x1400165ed
mov rdi, rdx
mov qword [rsp + 0x90], r15
xor ebp, ebp
mov rax, qword [rsp + 0x58]
mov r8d, dword [r14 + rax*8 + 0x1cfa6c]
mov r9d, dword [r14 + rax*8 + 0x1cfa70]
mov r10d, 0
mov eax, dword [rsp + 0x148]
cmp eax, 0xffff82ff
jne 0x140018689
lea rax, [0x140219d00]
mov rdx, qword [rax + r12*8]
mov rax, rbx
and rax, rdx
lea ecx, [rdi + rdi*2]
mov rdi, rax
movabs r15, 0x5555555555555555
and rdi, r15
shr rax, 1
and rax, r15
add rax, rdi
mov rdi, rax
movabs rbx, 0x3333333333333333
and rdi, rbx
shr rax, 2
and rax, rbx
add rax, rdi
mov rdi, rax
and rdi, r11
shr rax, 4
and rax, r11
add rax, rdi
imul edi, eax, 0x1010101
shr rax, 0x20
imul eax, eax, 0x1010101
shr eax, 0x18
shr edi, 0x18
add edi, eax
imul eax, edi, 0x38
mov rdi, rdx
and rdi, r15
shr rdx, 1
and rdx, r15
add rdx, rdi
mov rdi, rdx
and rdi, rbx
shr rdx, 2
and rdx, rbx
add rdx, rdi
mov rdi, rdx
and rdi, r11
shr rdx, 4
and rdx, r11
add rdx, rdi
imul edi, edx, 0x1010101
shr rdx, 0x20
imul edx, edx, 0x1010101
shr edx, 0x18
shr edi, 0x18
add edi, edx
xor edx, edx
div edi
add r9d, dword [rsp + 0x78]
add r8d, r10d
add r8d, r9d
add r8d, ecx
lea edx, [rax + r8 + 4]
lea eax, [rax + r8 + 7]
test edx, edx
cmovns eax, edx
sar eax, 2
test eax, eax
cmovle eax, ebp
mov rcx, qword [rsp + 0xc0]
cmp ecx, 7
jle 0x140018426
mov r13, r11
mov edx, ecx
shr edx, 0x1f
add edx, ecx
mov r8, qword [rsi + 0x180]
or r8, qword [rsi + 0x170]
lea rcx, [0x140219900]
mov rcx, qword [rcx + r12*8 + 0x200]
and r8, rcx
mov r9, r8
and r9, r15
shr r8, 1
and r8, r15
add r8, r9
mov r9, r8
and r9, rbx
shr r8, 2
and r8, rbx
add r8, r9
mov r9, r8
and r9, r11
shr r8, 4
and r8, r11
add r8, r9
imul r9d, r8d, 0x1010101
shr r8, 0x20
imul r10d, r8d, 0x1010101
shr r10d, 0x18
shr r9d, 0x18
lea r8d, [r10 + r9]
cmp r8d, 2
ja 0x1400194ec
xor r9d, r9d
mov rdi, qword [rsp + 0x48]
sar edx, 1
sub r8d, r9d
and rcx, qword [rsi + 0x190]
mov r9, rcx
movabs r10, 0x5555555555555555
and r9, r10
shr rcx, 1
and rcx, r10
add rcx, r9
mov r9, rcx
movabs r10, 0x3333333333333333
and r9, r10
shr rcx, 2
and rcx, r10
add rcx, r9
mov r9, rcx
and r9, r13
shr rcx, 4
and rcx, r13
add rcx, r9
mov r9, rcx
shr r9, 0x20
imul r10d, r9d, 0x1010101
shr r10d, 0x18
imul r9d, ecx, 0x1010101
shr r9d, 0x18
add r9d, r10d
mov r11, qword [rsi + 0x1a0]
xor r15d, r15d
test r11, r11
jne 0x140017ffa
mov r11, r13
cmp edx, 0xf
mov ecx, 0xf
cmovl ecx, edx
lea rdx, [0x1400cefe0]
imul r8d, r8d, 0x45
lea r9d, [r9 + r9*8]
lea r9d, [r9 + r9*2]
add r9d, r8d
lea r8d, [r15 + r15*2]
lea r8d, [r15 + r8*4]
add r8d, r9d
imul r8d, dword [rdx + rcx*4]
lea ecx, [r8 + 0x3f]
test r8d, r8d
cmovns ecx, r8d
sar ecx, 6
add ecx, dword [rsp + 0x38]
movabs r10, 0x5555555555555555
cmp eax, 0x95
mov edx, 0x95
cmovb edx, eax
lea rax, [0x1400cf020]
mov rbx, qword [rsp + 0x90]
imul r8d, ebx, 0x5b
add r8d, dword [rax + rdx*4]
sub ecx, r8d
mov dword [rsp + 0x38], ecx
movabs r9, 0x3333333333333333
mov r15, rbx
jmp 0x140014af9
lea ecx, [r15 + r15]
shl r15d, 6
sub r15d, ecx
add dword [rsp + 0x2c], r15d
jmp 0x140014b0f
cmp dword [r14 + rbx*8 + 0x1cfa68], 0xffff82ff
je 0x1400184e9
cmp edi, 0x17
jbe 0x140014785
jmp 0x140014797
cmp ebx, 5
jbe 0x1400194f9
movabs rcx, 0x3333333333333333
movabs rdx, 0x5555555555555555
mov rbx, qword [rsp + 0x80]
lea rax, [0x140219900]
mov r8, qword [rsp + 0x60]
and r11, qword [rax + r8*8 + 0x200]
je 0x140015ae9
lea rax, [0x140219d00]
and r11, qword [rax + r8*8]
mov rax, r11
and rax, rdx
shr r11, 1
and r11, rdx
add r11, rax
mov rax, r11
and rax, rcx
shr r11, 2
and r11, rcx
add r11, rax
mov rax, r11
and rax, r13
shr r11, 4
and r11, r13
add r11, rax
mov rax, r11
shr rax, 0x20
imul eax, eax, 0x1010101
shr eax, 0x18
imul ecx, r11d, 0x1010101
shr ecx, 0x18
add ecx, eax
cmp ecx, 2
mov eax, 1
cmovge eax, ecx
dec eax
lea ecx, [rax + rax*4]
mov rdx, qword [rsp + 0x78]
lea edx, [rdx + rcx*4 + 0x33]
mov qword [rsp + 0x78], rdx
lea eax, [rax + rax*2]
mov rcx, qword [rsp + 0xc0]
lea ecx, [rcx + rax + 5]
mov qword [rsp + 0xc0], rcx
mov rax, qword [rsp + 0x88]
inc eax
mov qword [rsp + 0x88], rax
jmp 0x140015ae9
mov rax, qword [rsi + 0x1a0]
or rax, qword [rsi + 0x180]
test rax, r13
jne 0x140019652
xor ebx, ebx
jmp 0x140017405
lea eax, [rdx + rdx]
shl edx, 6
sub edx, eax
add dword [rsp + 0x3c], edx
jmp 0x140014dbf
cmp ecx, 0x110000
je 0x140018181
cmp ecx, 0x101000
je 0x140018520
cmp ecx, 0x100110
jne 0x14001482e
mov eax, 0x428
mov r10, rsi
mov rcx, qword [rsi + 0x180]
test rcx, rcx
je 0x14001975b
mov rdx, rcx
neg rdx
and rdx, rcx
movabs rcx, 0x7edd5e59a4e28c2
imul rcx, rdx
shr rcx, 0x38
and ecx, 0xfffffffc
lea rdx, [0x140236d80]
movsxd rdx, dword [rcx + rdx]
mov ecx, dword [r10 + 0x100]
movabs r9, 0xaa55aa55aa55aa55
mov r8d, ecx
add eax, dword [rsp + 0x3c]
bt r9, rdx
jae 0x140017de3
movsxd rdx, ecx
lea r8, str.89:____01234567____.______
mov r8d, dword [r8 + rdx*4]
movsxd rdx, r8d
lea r8, [0x14021af00]
add eax, dword [r8 + rdx*4]
mov rsi, r10
mov r8d, dword [r10 + 0x104]
lea edx, [r8 + 7]
test r8d, r8d
cmovns edx, r8d
mov r9d, edx
sar r9d, 3
lea r10d, [rcx + 7]
test ecx, ecx
cmovns r10d, ecx
mov r11d, r10d
sar r11d, 3
sub r11d, r9d
mov r9d, r11d
neg r9d
cmovs r9d, r11d
and r10d, 0xfffffff8
sub ecx, r10d
and edx, 0xfffffff8
sub edx, r8d
add edx, ecx
mov ecx, edx
neg ecx
cmovs ecx, edx
cmp r9d, ecx
cmova ecx, r9d
add ecx, ecx
lea ecx, [rcx + rcx*4]
sub eax, ecx
add eax, 0x28
mov dword [rsp + 0x3c], eax
jmp 0x14001520f
add ebx, 0x2a
add dword [rsp + 0x3c], 0x45
jmp 0x1400156fe
mov rax, qword [rsi + 0x188]
or rax, qword [rsi + 0x198]
test rax, r9
je 0x140017ed5
lea rdx, [rsp + 0x128]
mov qword [rsp + 0x108], rcx
mov rcx, rsi
mov r8, qword [rsp + 0x70]
xor r9d, r9d
mov qword [rsp + 0xa0], r10
call fcn.14001b9f0
mov r10, qword [rsp + 0xa0]
movabs r8, 0x5555555555555555
movabs rdx, 0x3333333333333333
mov rax, qword [rsp + 0x108]
lea rcx, [rsp + 0x128]
and rax, qword [rcx]
or rdi, rax
mov r11d, dword [rsp + 0x68]
test rdi, rdi
jne 0x1400177e4
jmp 0x140015c77
mov qword [rsp + 0x120], rbp
movabs r14, 0x7edd5e59a4e28c2
mov rcx, rdx
neg rcx
and rcx, rdx
imul rcx, r14
shr rcx, 0x38
and ecx, 0xfffffffc
lea r8, [0x140236d80]
movsxd rcx, dword [rcx + r8]
mov rbp, 0xfffffffffffffffe
rol rbp, cl
mov r8d, dword [rsp + 0x3c]
mov ecx, dword [rsi + rcx*4]
and ecx, 7
lea rbx, str.LLLA
mov r13, qword [rsp + 0x50]
add r13d, dword [rbx + rcx*4 - 8]
add r8d, dword [rbx + rcx*4 + 0xc]
mov qword [rsp + 0x50], r13
mov dword [rsp + 0x38], r13d
mov dword [rsp + 0x3c], r8d
and rbp, rdx
jne 0x1400186f3
movabs r13, 0x707070707070707
mov rbp, qword [rsp + 0x120]
jmp 0x140015060
mov ecx, dword [rsp + 0x28]
jmp 0x1400170ad
mov rdx, qword [rsp + 0xd0]
mov rcx, r12
neg rcx
and rcx, r12
imul rcx, rbx
shr rcx, 0x3a
movsxd rcx, dword [r14 + rcx*4]
mov r8, 0xfffffffffffffffe
rol r8, cl
mov ecx, dword [rsi + rcx*4]
and ecx, 7
mov r13, qword [rsp + 0x50]
add r13d, dword [r15 + rcx*4 - 4]
mov qword [rsp + 0x50], r13
add eax, dword [r15 + rcx*4 + 0x10]
and r12, r8
jne 0x140017f84
mov dword [rsp + 0x3c], eax
movabs r13, 0x707070707070707
lea r12, [0x1400dcb00]
jmp 0x1400150c3
mov rax, qword [rsi + 0x198]
or rax, qword [rsi + 0x178]
test rax, r11
jne 0x1400196f6
xor edi, edi
jmp 0x1400177d0
movabs r10, 0x7edd5e59a4e28c2
lea ecx, [r12 + 7]
test r12d, r12d
cmovns ecx, r12d
mov r13d, ecx
sar r13d, 3
and ecx, 0xfffffff8
sub r12d, ecx
mov rcx, r11
neg rcx
and rcx, r11
imul rcx, r10
shr rcx, 0x38
and ecx, 0xfffffffc
lea r10, [0x140236d80]
mov ecx, dword [rcx + r10]
mov rbx, 0xfffffffffffffffe
rol rbx, cl
lea ebp, [rcx + 7]
test ecx, ecx
cmovns ebp, ecx
mov r15d, ebp
sar r15d, 3
mov dword [rsp + 0x50], r13d
sub r13d, r15d
mov r15d, r13d
neg r15d
cmovs r15d, r13d
and ebp, 0xfffffff8
sub ebp, ecx
mov qword [rsp + 0x60], r12
add ebp, r12d
mov ecx, ebp
neg ecx
cmovs ecx, ebp
cmp r15d, ecx
cmova ecx, r15d
mov r15d, 4
sub r15d, ecx
and rbx, r11
jne 0x14001839a
movabs r13, 0x707070707070707
jmp 0x140017b80
mov rcx, rsi
mov edx, 1
mov r8, r15
call fcn.14001bb10
mov rax, qword [rsp + 0xf8]
lea r9, [r14 + rax + 0x40]
mov rcx, rsi
mov edx, 1
mov r8, r15
call fcn.14001c000
cmp edi, 0x17
jbe 0x140016704
mov dword [r14 + rbx*8 + 0x1cfa74], 0xffff82ff
jmp 0x14001671c
lea ecx, [r15 + 7]
test r15d, r15d
cmovns ecx, r15d
mov r14d, ecx
sar r14d, 3
and ecx, 0xfffffff8
sub r15d, ecx
xor r10d, r10d
mov rcx, r11
neg rcx
and rcx, r11
movabs rdi, 0x7edd5e59a4e28c2
imul rcx, rdi
shr rcx, 0x3a
lea rdi, [0x140236d80]
mov ecx, dword [rdi + rcx*4]
mov rdi, 0xfffffffffffffffe
rol rdi, cl
lea r12d, [rcx + 7]
test ecx, ecx
cmovns r12d, ecx
mov r13d, r12d
sar r13d, 3
mov ebx, r14d
sub ebx, r13d
mov r13d, ebx
neg r13d
cmovs r13d, ebx
and r12d, 0xfffffff8
sub r12d, ecx
add r12d, r15d
mov ecx, r12d
neg ecx
cmovs ecx, r12d
cmp r13d, ecx
cmova ecx, r13d
sub r10d, ecx
add r10d, 4
and r11, rdi
je 0x14001706a
jmp 0x140018105
movsxd r8, dword [rsi + 0x104]
lea ecx, [r8 + 7]
test r8, r8
movsxd rax, dword [rsi + 0x100]
cmovns ecx, r8d
mov edx, ecx
sar edx, 3
lea r11d, [rax + 7]
test eax, eax
cmovns r11d, eax
mov r9d, r11d
sar r9d, 3
mov r10d, r9d
sub r10d, edx
mov edx, r10d
neg edx
cmovs edx, r10d
and r11d, 0xfffffff8
mov r10d, eax
sub r10d, r11d
and ecx, 0xfffffff8
sub ecx, r8d
add ecx, r10d
mov r11d, ecx
neg r11d
cmovs r11d, ecx
cmp edx, r11d
cmova r11d, edx
mov edx, dword [rsp + 0x3c]
lea ecx, [r11 + r11]
lea ecx, [rcx + rcx*4]
sub edx, ecx
lea ecx, [rdx + 0x64f]
movabs rdi, 0x7effffffffffff7e
bt rdi, rax
jae 0x14001864a
movabs r11, 0x7e7e7e7e7e7e00
bt r11, rax
jae 0x14001834d
lea rdx, [0x14021b000]
sub ecx, dword [rdx + rax*4]
mov dword [rsp + 0x3c], ecx
jmp 0x14001520f
lea rdx, [rsp + 0x128]
mov r12, rcx
mov rcx, rsi
mov r8d, r11d
mov r9d, 1
call fcn.14001b9f0
mov r11, qword [rsp + 0xd8]
movabs r10, 0x5555555555555555
movabs r9, 0x3333333333333333
lea rax, [rsp + 0x128]
and r12, qword [rax]
or rbx, r12
jmp 0x140017432
mov rcx, rsi
xor edx, edx
mov r8, r15
call fcn.14001bb10
mov rax, qword [rsp + 0xf8]
lea r9, [r14 + rax + 0x10]
mov rcx, rsi
xor edx, edx
mov r8, r15
call fcn.14001c000
cmp ebp, 0x17
jbe 0x140016055
mov r8, qword [rsp + 0x48]
mov rax, qword [rsp + 0xd0]
mov dword [r8 + rax*8 + 0x14], 0xffff82ff
mov qword [r15], rbx
jmp 0x1400146f5
test qword [rsi + 0x1a0], r13
je 0x140017509
lea r12, [rsp + 0x128]
mov rcx, rsi
mov rdx, r12
mov r9d, 1
mov r14, r8
call fcn.14007ccd0
mov r8, r14
movabs r10, 0x5555555555555555
movabs r9, 0x3333333333333333
and r15, qword [r12]
mov rax, r15
je 0x140017509
jmp 0x140017469
mov rcx, rsi
xor edx, edx
mov r8, r15
call fcn.14001bb10
mov rax, qword [rsp + 0xf8]
lea r9, [r14 + rax + 0x10]
mov rcx, rsi
xor edx, edx
mov r8, r15
call fcn.14001c000
mov r8, qword [rsp + 0x48]
jmp 0x14001711d
test r10d, r10d
je 0x1400184d5
cmp r10d, 7
je 0x140019779
movsxd r9, r9d
lea r10, [0x1400e8d80]
mov r9d, dword [r10 + r9*8]
cmp r9d, 1
jne 0x1400197a0
lea r9, [0x1400dcb00]
mov r8, qword [r9 + r8*8]
lea r9d, [rax + 8]
movzx r9d, r9b
bt r8, r9
jae 0x14001821e
jmp 0x140018654
mov rdi, qword [rsp + 0x48]
mov rcx, rbx
neg rcx
and rcx, rbx
movabs r10, 0x7edd5e59a4e28c2
imul rcx, r10
shr rcx, 0x3a
lea r10, [0x140236d80]
mov ecx, dword [r10 + rcx*4]
mov r12, 0xfffffffffffffffe
rol r12, cl
lea ebp, [rcx + 7]
test ecx, ecx
cmovns ebp, ecx
mov r13d, ebp
sar r13d, 3
mov r11d, dword [rsp + 0x50]
sub r11d, r13d
mov r13d, r11d
neg r13d
cmovs r13d, r11d
and ebp, 0xfffffff8
sub ebp, ecx
add ebp, dword [rsp + 0x60]
mov ecx, ebp
neg ecx
cmovs ecx, ebp
cmp r13d, ecx
cmova ecx, r13d
movabs r13, 0x707070707070707
sub r15d, ecx
add r15d, 4
and rbx, r12
je 0x140017b80
jmp 0x14001839f
mov ecx, dword [rsp + 0x38]
mov r10, r15
mov rdi, qword [rsp + 0x48]
jmp 0x140017bd0
imul eax, eax, 0x77
lea r10d, [rax + 0x7f]
test eax, eax
cmovns r10d, eax
sar r10d, 7
neg r10d
jmp 0x140016e69
mov rdx, rcx
mov qword [rsp + 0x120], rbp
mov r12d, dword [rsp + 0x3c]
lea r14, str._v_rCsO
mov rcx, rdx
neg rcx
and rcx, rdx
movabs rbx, 0x7edd5e59a4e28c2
imul rcx, rbx
shr rcx, 0x3a
lea rbx, [0x140236d80]
movsxd rcx, dword [rbx + rcx*4]
mov rbp, 0xfffffffffffffffe
rol rbp, cl
mov ecx, dword [rsi + rcx*4]
and ecx, 7
mov r13, qword [rsp + 0x50]
mov rbx, r14
add r13d, dword [r14 + rcx*4 - 4]
mov qword [rsp + 0x50], r13
add r12d, dword [r14 + rcx*4 + 0x10]
and rdx, rbp
jne 0x140018467
mov dword [rsp + 0x3c], r12d
movabs r13, 0x707070707070707
mov rbp, qword [rsp + 0x120]
jmp 0x14001508f
lea r9, [0x1400dcb00]
mov r8, qword [r9 + r8*8]
lea r9d, [rax + 1]
jmp 0x140018387
mov rcx, rsi
mov edx, 1
mov r8, r15
call fcn.14001bb10
mov rax, qword [rsp + 0xf8]
lea r9, [r14 + rax + 0x40]
mov rcx, rsi
mov edx, 1
mov r8, r15
call fcn.14001c000
mov r8, qword [rsp + 0x48]
jmp 0x140017c34
mov ecx, dword [rsi + 0x104]
movsxd rdx, dword [rsi + 0x100]
lea r9d, [rdx + 7]
test edx, edx
cmovns r9d, edx
mov r8d, r9d
sar r8d, 3
lea r10d, [rcx + 7]
test ecx, ecx
cmovns r10d, ecx
mov eax, r10d
sar eax, 3
mov r11d, r8d
sub r11d, eax
mov edi, r11d
neg edi
cmovs edi, r11d
and r9d, 0xfffffff8
mov eax, edx
sub eax, r9d
and r10d, 0xfffffff8
sub r10d, ecx
add r10d, eax
mov r9d, r10d
neg r9d
cmovs r9d, r10d
cmp edi, r9d
cmova r9d, edi
mov ecx, dword [rsp + 0x3c]
add r9d, r9d
lea r9d, [r9 + r9*4]
sub ecx, r9d
lea r9, [0x14021b000]
sub ecx, dword [r9 + rdx*4]
add ecx, 0x386
mov dword [rsp + 0x3c], ecx
mov rbx, rsi
mov rdx, qword [rsi + 0x190]
test rdx, rdx
je 0x1400197bb
mov r9, rdx
neg r9
and r9, rdx
movabs rdx, 0x7edd5e59a4e28c2
imul rdx, r9
shr rdx, 0x38
and edx, 0xfffffffc
lea r9, [0x140236d80]
mov edx, dword [rdx + r9]
movsxd r11, r8d
lea r10, [0x1400e8d80]
lea edi, [rdx + 7]
test edx, edx
cmovns edi, edx
mov r9d, dword [r10 + r11*8]
mov r8d, edi
and r8d, 0xfffffff8
sar edi, 3
movsxd rdi, edi
mov r10d, dword [r10 + rdi*8]
add r11, 0xfffffffffffffffd
cmp r11, 4
jbe 0x1400197c5
lea r11d, [r9 + 1]
cmp r10d, r11d
jne 0x140018627
lea ecx, [rcx + r9 + 4]
mov dword [rsp + 0x3c], ecx
sub edx, r8d
cmp eax, 3
jl 0x14001866c
inc edx
cmp edx, eax
mov rsi, rbx
jne 0x14001520f
sub ecx, eax
add ecx, 0xb
mov dword [rsp + 0x3c], ecx
jmp 0x14001520f
cmp r11d, 2
jne 0x14001821e
add edx, 0x65b
jmp 0x140019799
mov r15, qword [rsp + 0x98]
jmp 0x1400172ad
lea r8d, [rax + 1]
cmp edx, r8d
mov rsi, rbx
jne 0x14001520f
lea eax, [rax + rcx + 5]
mov dword [rsp + 0x3c], eax
jmp 0x14001520f
imul eax, eax, 0x77
lea r10d, [rax + 0x7f]
test eax, eax
cmovns r10d, eax
sar r10d, 7
neg r10d
jmp 0x140017982
movabs r12, 0x7edd5e59a4e28c2
mov rcx, r11
neg rcx
and rcx, r11
imul rcx, r12
shr rcx, 0x3a
movsxd rcx, dword [rdi + rcx*4]
mov r12, 0xfffffffffffffffe
rol r12, cl
shl rcx, 4
mov rcx, qword [rcx + r9 + 8]
and rcx, r10
cmp rcx, 1
adc ebx, 0
and r11, r12
movabs r12, 0x7edd5e59a4e28c2
je 0x1400164c2
jmp 0x1400186ac
lea r13, str.LLLA
mov rcx, rbp
neg rcx
and rcx, rbp
imul rcx, r14
shr rcx, 0x3a
lea rdx, [0x140236d80]
movsxd rcx, dword [rdx + rcx*4]
mov rbx, 0xfffffffffffffffe
rol rbx, cl
mov ecx, dword [rsi + rcx*4]
and ecx, 7
mov rdx, qword [rsp + 0x50]
add edx, dword [r13 + rcx*4 - 8]
mov qword [rsp + 0x50], rdx
add r8d, dword [r13 + rcx*4 + 0xc]
and rbp, rbx
jne 0x1400186fa
mov rcx, qword [rsp + 0x50]
mov dword [rsp + 0x38], ecx
mov dword [rsp + 0x3c], r8d
jmp 0x140017f5c
add dword [rsp + 0x28], 0xe
add dword [rsp + 0x2c], 0x20
jmp 0x1400148ff
mov rcx, qword [rsi + 0x160]
test qword [0x14021b108], rcx
je 0x140014913
add dword [rsp + 0x30], 0xffffff44
jmp 0x140014913
mov rcx, qword [rsi + 0x160]
test qword [0x14021b118], rcx
je 0x140014920
add dword [rsp + 0x30], 0xffffff44
jmp 0x140014920
mov rcx, qword [rsi + 0x160]
test qword [0x14021b128], rcx
je 0x14001492d
add dword [rsp + 0x30], 0xffffff44
jmp 0x14001492d
mov rax, qword [rsi + 0x160]
test qword [0x14021b138], rax
je 0x14001493a
add dword [rsp + 0x30], 0xffffff44
jmp 0x14001493a
mov qword [rsp + 0xc8], r8
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0x88], rdx
cmp eax, 1
jne 0x140018a61
movabs rax, 0x55aa55aa55aa55aa
mov rdx, qword [rsp + 0x158]
mov ecx, dword [rdx + 0x24]
mov edx, dword [rdx + 0x28]
test qword [rsi + 0x178], rax
je 0x140018f25
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x28]
mov r8, qword [rsp + 0x138]
call fcn.1400a9af0
jmp 0x140018a6d
add dword [rsp + 0x38], 0xe
add dword [rsp + 0x3c], 0x20
jmp 0x140014b30
mov qword [rsp + 0x48], rsi
mov r9d, dword [rsp + 0x28]
mov edx, dword [rsp + 0x2c]
mov rcx, r10
neg rcx
and rcx, r10
movabs r8, 0x7edd5e59a4e28c2
imul rcx, r8
shr rcx, 0x38
and ecx, 0xfffffffc
lea r8, [0x140236d80]
movsxd rcx, dword [rcx + r8]
mov rsi, 0xfffffffffffffffe
rol rsi, cl
mov r8, qword [rsp + 0x48]
mov ecx, dword [r8 + rcx*4]
and ecx, 7
lea r8, [0x1400cf6e0]
add r9d, dword [r8 + rcx*4 - 4]
add edx, dword [r8 + rcx*4 + 0x10]
and r10, rsi
jne 0x140018869
mov dword [rsp + 0x28], r9d
mov dword [rsp + 0x2c], edx
movabs r9, 0x3333333333333333
mov rsi, qword [rsp + 0x48]
jmp 0x140014eb4
mov rcx, rdx
neg rcx
and rcx, rdx
movabs r8, 0x7edd5e59a4e28c2
imul rcx, r8
shr rcx, 0x38
and ecx, 0xfffffffc
lea r9, [0x140236d80]
movsxd r8, dword [rcx + r9]
mov r13, 0xfffffffffffffffe
mov ecx, r8d
rol r13, cl
lea rcx, [r8 + 8]
mov r9d, 1
shl r9, cl
cmp dword [rsi + r8*4 + 0x20], 0
mov ecx, 0
cmovne r9, rcx
or r14, r9
movabs r9, 0x3333333333333333
and rdx, r13
movabs r13, 0x707070707070707
je 0x140014f03
jmp 0x1400188db
mov rdx, rax
movabs rbx, 0x7edd5e59a4e28c2
lea r8, [0x140236d80]
xor r15d, r15d
mov rax, rdx
neg rax
and rax, rdx
imul rax, rbx
shr rax, 0x38
and eax, 0xfffffffc
movsxd rax, dword [rax + r8]
mov r12, 0xfffffffffffffffe
mov ecx, eax
rol r12, cl
lea rcx, [rax - 8]
mov r13d, 1
shl r13, cl
cmp dword [rsi + rax*4 - 0x20], 0
cmovne r13, r15
or r10, r13
movabs r13, 0x707070707070707
and rdx, r12
lea r12, [0x1400dcb00]
je 0x1400150e4
jmp 0x140018966
mov rcx, rsi
mov edx, 1
mov r8, qword [rsp + 0x158]
mov r9, r15
call fcn.14001a470
jmp 0x14001671f
mov rcx, rsi
xor edx, edx
mov r8, qword [rsp + 0x138]
mov r9, r15
call fcn.14001a470
jmp 0x14001606d
mov rax, qword [rsp + 0x138]
mov ecx, dword [rax + 0x24]
mov edx, dword [rax + 0x28]
lea rax, [rsp + 0x28]
mov qword [rsp + 0x20], rax
lea rbx, [rsp + 0x38]
mov r8, qword [rsp + 0x158]
mov r9, rbx
call fcn.1400a9ab0
mov r11, qword [rsp + 0x48]
movabs r10, 0x5555555555555555
movabs r9, 0x3333333333333333
mov ebx, dword [rbx]
mov rdx, r15
mov r15, r13
mov r8, qword [rsp + 0x58]
jmp 0x140014cd9
sub eax, ecx
lea ecx, [rax + rax*4]
sub ebx, ecx
shl eax, 2
sub dword [rsp + 0x3c], eax
jmp 0x140014cac
add ebp, 0x2a
mov dword [rsp + 0x28], ebp
add dword [rsp + 0x2c], 0x45
movabs r11, 0x707070707070707
movabs r9, 0x3333333333333333
movabs r10, 0x5555555555555555
mov rdi, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xa8]
mov r8, qword [rsp + 0xc8]
jmp 0x140014a31
mov qword [rsp + 0xf0], r15
mov qword [rsp + 0x118], r14
mov r13, rbx
lea rax, [0x1400ce600]
mov rdx, qword [rsp + 0x70]
mov ecx, dword [rax + rdx*4]
mov eax, dword [rax + rdx*4 + 0x100]
lea ebp, [rcx + rbp + 0x207]
mov qword [rsp + 0xa0], rbp
mov dword [rsp + 0x28], ebp
mov ecx, dword [rsp + 0x2c]
lea edi, [rax + rcx + 0x201]
mov dword [rsp + 0x2c], edi
mov rax, rdx
shl rax, 5
lea r8, [0x14022ca80]
mov rdx, qword [rax + r8]
mov r14, rsi
and rdx, qword [rsi + 0x1b8]
imul rdx, qword [rax + r8 + 8]
mov cl, byte [rax + r8 + 0x18]
shr rdx, cl
mov rax, qword [rax + r8 + 0x10]
movsxd rcx, edx
mov rbp, qword [rax + rcx*8]
cmp dword [rsp + 0x50], 0xd
jae 0x140018d5f
mov rcx, qword [rsp + 0x70]
lea eax, [rcx + 7]
test ecx, ecx
cmovns eax, ecx
sar eax, 3
and eax, 0xfffffffc
cmp eax, 4
jne 0x140018c1d
mov rax, qword [r14 + 0x160]
lea rcx, [0x14021b980]
mov rdx, qword [rsp + 0x70]
test qword [rcx + rdx*8], rax
jne 0x140018c1d
mov rcx, qword [rsp + 0x70]
shl rcx, 4
mov rax, qword [r14 + 0x158]
lea rdx, [0x1400cbb00]
and rax, qword [rcx + rdx]
mov rcx, rax
movabs rdx, 0x5555555555555555
and rcx, rdx
shr rax, 1
and rax, rdx
add rax, rcx
mov rcx, rax
movabs rdx, 0x3333333333333333
and rcx, rdx
shr rax, 2
and rax, rdx
add rax, rcx
mov rcx, rax
movabs rdx, 0x707070707070707
and rcx, rdx
shr rax, 4
and rax, rdx
add rax, rcx
imul ecx, eax, 0x1010101
shr rax, 0x20
imul eax, eax, 0x1010101
shr eax, 0x18
shr ecx, 0x18
xor edx, edx
add ecx, eax
setne dl
lea rax, [0x1400ce800]
mov rcx, qword [rsp + 0xa0]
add ecx, dword [rax + rdx*4]
mov qword [rsp + 0xa0], rcx
mov dword [rsp + 0x28], ecx
add edi, dword [rax + rdx*4 + 8]
mov dword [rsp + 0x2c], edi
mov rbx, r13
or rbx, rbp
mov r15, qword [rsp + 0x170]
or r15, rbp
mov rdi, qword [rsp + 0xe8]
or rdi, rbp
mov r13, qword [rsp + 0xc8]
or r13, rbp
mov rsi, r14
mov rcx, r14
mov rdx, qword [rsp + 0x70]
mov r8, qword [rsp + 0x60]
mov r9d, 1
call fcn.140019950
mov r8, r13
mov rcx, qword [rsp + 0x90]
add ecx, eax
mov qword [rsp + 0x90], rcx
mov rax, qword [rsp + 0xb8]
mov rax, qword [rax]
or rax, qword [r14 + 0x1b8]
not rax
and rax, rbp
mov rcx, rax
movabs r10, 0x5555555555555555
and rcx, r10
shr rax, 1
and rax, r10
add rax, rcx
mov rcx, rax
movabs r9, 0x3333333333333333
and rcx, r9
shr rax, 2
and rax, r9
add rax, rcx
mov rcx, rax
movabs r13, 0x707070707070707
and rcx, r13
shr rax, 4
and rax, r13
add rax, rcx
imul ecx, eax, 0x1010101
shr rax, 0x20
imul eax, eax, 0x1010101
shr eax, 0x18
shr ecx, 0x18
add ecx, eax
lea rax, [0x1400ce810]
mov r11d, dword [rsp + 0x110]
add r11d, dword [rax + rcx*4]
mov dword [rsp + 0x110], r11d
mov dword [rsp + 0x30], r11d
mov rax, rdi
mov qword [rsp + 0xe8], rdi
mov qword [rsp + 0xb0], rdi
mov rax, r15
mov qword [rsp + 0x170], r15
mov qword [rsp + 0xe0], r15
mov rdi, r8
mov rcx, rbx
mov r11, qword [rsp + 0x48]
mov r14, qword [rsp + 0x118]
mov r15, qword [rsp + 0xf0]
mov rbp, qword [rsp + 0xa0]
jmp case.default.0x140015905
lea rax, [0x140219900]
mov rcx, qword [rsp + 0x60]
mov rbx, qword [rax + rcx*8 + 0x200]
mov rax, rbx
and rax, rbp
je 0x140018f46
mov rcx, rax
movabs rdx, 0x5555555555555555
and rcx, rdx
shr rax, 1
and rax, rdx
add rax, rcx
mov rcx, rax
movabs rdx, 0x3333333333333333
and rcx, rdx
shr rax, 2
and rax, rdx
add rax, rcx
mov rcx, rax
movabs rdx, 0x707070707070707
and rcx, rdx
shr rax, 4
and rax, rdx
add rax, rcx
mov rcx, rax
shr rcx, 0x20
imul ecx, ecx, 0x1010101
shr ecx, 0x18
imul eax, eax, 0x1010101
shr eax, 0x18
lea edx, [rax + rcx - 1]
add eax, ecx
lea ecx, [rdx + rdx*4]
lea eax, [rax + rcx*4 - 1]
mov rcx, qword [rsp + 0x78]
lea ecx, [rcx + rax + 0x2c]
mov qword [rsp + 0x78], rcx
xor eax, eax
test edx, edx
cmovg eax, edx
mov rcx, qword [rsp + 0xc0]
lea ecx, [rcx + rax*2 + 4]
mov qword [rsp + 0xc0], rcx
mov rax, qword [rsp + 0x88]
inc eax
mov qword [rsp + 0x88], rax
jmp 0x140018b39
lea rcx, [0x140219900]
mov rdx, qword [rsp + 0x60]
and rdi, qword [rcx + rdx*8 + 0x200]
je 0x140018f7f
mov rcx, rdi
movabs r10, 0x5555555555555555
and rcx, r10
shr rdi, 1
and rdi, r10
add rdi, rcx
mov rcx, rdi
movabs r9, 0x3333333333333333
and rcx, r9
shr rdi, 2
and rdi, r9
add rdi, rcx
mov rcx, rdi
movabs r13, 0x707070707070707
and rcx, r13
shr rdi, 4
and rdi, r13
add rdi, rcx
mov rcx, rdi
shr rcx, 0x20
imul ecx, ecx, 0x1010101
shr ecx, 0x18
imul eax, edi, 0x1010101
shr eax, 0x18
lea edx, [rax + rcx - 1]
add eax, ecx
lea ecx, [rdx + rdx*4]
lea eax, [rax + rcx*4 - 1]
mov rcx, qword [rsp + 0x78]
lea ecx, [rcx + rax + 0x2c]
mov qword [rsp + 0x78], rcx
xor eax, eax
test edx, edx
cmovg eax, edx
mov rcx, qword [rsp + 0xc0]
lea ecx, [rcx + rax*2 + 4]
mov qword [rsp + 0xc0], rcx
mov rax, qword [rsp + 0x88]
inc eax
mov qword [rsp + 0x88], rax
mov rdx, qword [rsp + 0x140]
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0xb0], rax
mov rdi, r8
mov rcx, rbx
mov r11, qword [rsp + 0x48]
mov r15, rdx
jmp case.default.0x140015905
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x28]
mov r8, qword [rsp + 0x138]
call fcn.1400a9ab0
jmp 0x140018a6d
test qword [r14 + 0x198], rbp
je 0x140018b39
lea rsi, [rsp + 0x128]
mov rcx, r14
mov rdx, rsi
mov r8, qword [rsp + 0x70]
xor r9d, r9d
call fcn.14007ccd0
and rbx, qword [rsi]
mov rax, rbx
jne 0x140018d7f
jmp 0x140018b39
mov rdx, qword [rsp + 0x140]
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0xb0], rax
mov rdi, r8
mov rcx, rbx
movabs r13, 0x707070707070707
movabs r9, 0x3333333333333333
movabs r10, 0x5555555555555555
jmp 0x140018f18
mov rax, r14
add eax, 0x40
mov r14, rax
mov dword [rsp + 0x38], eax
add r13d, 0x5e
mov dword [rsp + 0x3c], r13d
jmp 0x140016207
mov r12, r14
mov r15, rbx
movsxd rcx, dword [rsi + 0x104]
mov r13, rsi
movsxd r8, dword [rsi + 0x100]
lea eax, [r8 + 7]
test r8, r8
cmovns eax, r8d
mov edx, eax
sar edx, 3
lea r11d, [rcx + 7]
test ecx, ecx
cmovns r11d, ecx
mov r9d, r11d
sar r9d, 3
sub edx, r9d
mov edi, edx
neg edi
cmovs edi, edx
and eax, 0xfffffff8
mov edx, r8d
sub edx, eax
and r11d, 0xfffffff8
mov r10d, ecx
sub r10d, r11d
sub edx, r10d
mov r11d, edx
neg r11d
cmovs r11d, edx
cmp edi, r11d
cmova r11d, edi
mov edx, dword [rsp + 0x2c]
lea eax, [r11 + r11]
lea eax, [rax + rax*4]
sub edx, eax
lea eax, [rdx + 0x64f]
movabs rdi, 0x7effffffffffff7e
bt rdi, rcx
jb 0x1400192d5
add edx, 0x65b
cmp r11d, 2
cmove eax, edx
lea rdx, [0x14021b000]
sub eax, dword [rdx + rcx*4]
mov dword [rsp + 0x2c], eax
mov dl, 1
mov rbx, r15
mov r14, r12
mov rsi, r13
jmp 0x140014809
mov r12, r14
mov r15, rbx
mov eax, dword [rsi + 0x100]
lea ecx, [rax + 7]
test eax, eax
cmovns ecx, eax
movsxd r8, dword [rsi + 0x104]
mov r9d, ecx
sar r9d, 3
lea r10d, [r8 + 7]
test r8d, r8d
cmovns r10d, r8d
mov edx, r10d
sar edx, 3
sub r9d, edx
mov r11d, r9d
neg r11d
cmovs r11d, r9d
and ecx, 0xfffffff8
sub eax, ecx
and r10d, 0xfffffff8
mov ecx, r8d
sub ecx, r10d
sub eax, ecx
mov r9d, eax
neg r9d
cmovs r9d, eax
cmp r11d, r9d
cmova r9d, r11d
mov eax, dword [rsp + 0x2c]
add r9d, r9d
lea r9d, [r9 + r9*4]
sub eax, r9d
lea r9, [0x14021b000]
sub eax, dword [r9 + r8*4]
add eax, 0x386
mov dword [rsp + 0x2c], eax
mov r13, rsi
mov r8, qword [rsi + 0x188]
test r8, r8
je 0x140019499
mov r9, r8
neg r9
and r9, r8
movabs r8, 0x7edd5e59a4e28c2
imul r8, r9
shr r8, 0x38
and r8d, 0xfffffffc
lea r9, [0x140236d80]
mov r8d, dword [r8 + r9]
movsxd r11, edx
lea r10, [0x1400e8d80]
lea edi, [r8 + 7]
test r8d, r8d
cmovns edi, r8d
mov r9d, dword [r10 + r11*8]
mov edx, edi
and edx, 0xfffffff8
sar edi, 3
movsxd rdi, edi
mov r10d, dword [r10 + rdi*8]
add r11, 0xfffffffffffffffd
cmp r11, 4
ja 0x140019310
lea r11d, [r9 - 1]
cmp r10d, r11d
jne 0x140019322
sub eax, r9d
add eax, 0xc
jmp 0x14001931e
mov r12, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0xb0]
mov r15, qword [rsp + 0x98]
jmp 0x1400155a0
mov r11, r15
mov r8, qword [rsp + 0x68]
lea rcx, [0x140219900]
and rax, qword [rcx + r8*8]
je 0x1400194a4
mov rcx, rax
movabs r10, 0x5555555555555555
and rcx, r10
shr rax, 1
and rax, r10
add rax, rcx
mov rcx, rax
movabs r9, 0x3333333333333333
and rcx, r9
shr rax, 2
and rax, r9
add rax, rcx
mov rcx, rax
movabs r13, 0x707070707070707
and rcx, r13
shr rax, 4
and rax, r13
add rax, rcx
mov rcx, rax
shr rcx, 0x20
imul ecx, ecx, 0x1010101
shr ecx, 0x18
imul eax, eax, 0x1010101
shr eax, 0x18
lea edx, [rax + rcx - 1]
add eax, ecx
lea ecx, [rdx + rdx*4]
lea eax, [rax + rcx*4 - 1]
mov rcx, qword [rsp + 0xa8]
lea ecx, [rcx + rax + 0x2c]
mov qword [rsp + 0xa8], rcx
xor eax, eax
test edx, edx
cmovg eax, edx
mov rcx, qword [rsp + 0xb8]
lea ecx, [rcx + rax*2 + 4]
mov qword [rsp + 0xb8], rcx
mov rax, qword [rsp + 0xe0]
inc eax
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0xe8], rax
mov rdx, r11
mov qword [rsp + 0xc8], r11
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x60]
mov r11, qword [rsp + 0x48]
mov r15, rdx
mov rdx, qword [rsp + 0xb0]
jmp 0x14001567a
lea r9d, [r10 + r9 - 2]
shr r9d, 1
jmp 0x140016fe8
movabs r11, 0x7e7e7e7e7e7e00
bt r11, rcx
jb 0x140019077
cmp r10d, 7
je 0x14001969c
test r10d, r10d
jne 0x1400196c3
lea r9, [0x1400dcb00]
mov r8, qword [r9 + r8*8]
lea r9d, [rcx + 1]
jmp 0x1400196ab
lea r11d, [r9 + 1]
cmp r10d, r11d
jne 0x140019322
lea eax, [rax + r9 + 4]
mov dword [rsp + 0x2c], eax
sub r8d, edx
cmp ecx, 3
jl 0x14001934b
inc r8d
mov dl, 1
cmp r8d, ecx
mov rbx, r15
mov r14, r12
mov rsi, r13
jne 0x140014809
sub eax, ecx
add eax, 0xb
jmp 0x140019081
lea r9d, [rcx + 1]
mov dl, 1
cmp r8d, r9d
mov rbx, r15
mov r14, r12
mov rsi, r13
jne 0x140014809
lea eax, [rcx + rax + 5]
jmp 0x140019081
mov r14, qword [rsp + 0x70]
lea edx, [r14 + 7]
test r14d, r14d
cmovns edx, r14d
and edx, 0xfffffff8
mov r15d, r14d
sub r15d, edx
cmp r15d, 4
setge dl
cmp r8d, r15d
setl r8b
cmp ebx, 0x38
jne 0x140019463
xor dl, r8b
je 0x140019463
sar r12d, 3
mov rdx, qword [rsp + 0xf0]
and rdx, rax
imul rdx, qword [rsp + 0x150]
shr rdx, cl
movsxd rcx, r12d
movsxd rdx, edx
lea r8, [0x1400ce380]
not rax
and rax, qword [r11 + rdx*8]
and rax, qword [r8 + rcx*8]
mov rcx, rax
movabs rdx, 0x5555555555555555
and rcx, rdx
shr rax, 1
and rax, rdx
add rax, rcx
mov rcx, rax
movabs rdx, 0x3333333333333333
and rcx, rdx
shr rax, 2
and rax, rdx
add rax, rcx
mov rcx, rax
movabs rdx, 0x707070707070707
and rcx, rdx
shr rax, 4
and rax, rdx
add rax, rcx
mov rcx, rax
shr rcx, 0x20
imul ecx, ecx, 0x1010101
shr ecx, 0x18
imul eax, eax, 0x1010101
shr eax, 0x18
add eax, ecx
cmp eax, 3
ja 0x140019463
movsxd rax, dword [rsi + 0x120]
lea ecx, [r10 - 0x4b]
cmp dword [rsi + rax*4 + 0x140], 3
cmovl ecx, r10d
mov dword [rsp + 0x38], ecx
mov r10d, ecx
movabs rdx, 0x5555555555555555
mov r15, qword [rsp + 0x118]
jmp 0x140016e2b
add ebp, 0x40
mov dword [rsp + 0x28], ebp
add r9d, 0x5e
mov dword [rsp + 0x2c], r9d
jmp 0x1400159bd
mov edx, 0x7f
jmp 0x140016d20
mov r8d, 0x7f
jmp 0x140019156
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0xe8], rax
mov rdx, r11
mov qword [rsp + 0xc8], r11
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x60]
movabs r13, 0x707070707070707
movabs r9, 0x3333333333333333
movabs r10, 0x5555555555555555
jmp 0x1400192b3
lea r9d, [r10 + r9 - 2]
shr r9d, 1
jmp 0x140017af9
mov qword [rsp + 0x98], r11
mov r10, qword [rsp + 0xa8]
lea edx, [r10 + 7]
test r10d, r10d
mov r9d, r10d
cmovs r9d, edx
and r9d, 0xfffffff8
mov ebx, r10d
sub ebx, r9d
cmp ebx, 4
setge r9b
mov r10, qword [rsp + 0x70]
lea r13d, [r10 + 7]
cmp r8d, ebx
setl r8b
cmp r13d, 0xe
ja 0x14001961f
cmp edx, 0xe
ja 0x14001961f
xor r9b, r8b
je 0x14001961f
mov r8d, dword [rsp + 0xd8]
sar r8d, 3
mov rdx, qword [rsp + 0xa0]
and rdx, rax
imul rdx, qword [rsp + 0x108]
shr rdx, cl
movsxd rcx, r8d
movsxd rdx, edx
lea r8, [0x1400ce380]
not rax
mov r9, qword [rsp + 0x100]
and rax, qword [r9 + rdx*8]
and rax, qword [r8 + rcx*8]
mov rcx, rax
movabs rdx, 0x5555555555555555
and rcx, rdx
shr rax, 1
and rax, rdx
add rax, rcx
mov rcx, rax
movabs rdx, 0x3333333333333333
and rcx, rdx
shr rax, 2
and rax, rdx
add rax, rcx
mov rcx, rax
movabs rdx, 0x707070707070707
and rcx, rdx
shr rax, 4
and rax, rdx
add rax, rcx
mov rcx, rax
shr rcx, 0x20
imul ecx, ecx, 0x1010101
shr ecx, 0x18
imul eax, eax, 0x1010101
shr eax, 0x18
add eax, ecx
cmp eax, 3
ja 0x14001961f
movsxd rax, dword [rsi + 0x120]
lea ecx, [rbp - 0x4b]
cmp dword [rsi + rax*4 + 0x140], 3
cmovl ecx, ebp
mov dword [rsp + 0x28], ecx
mov ebp, ecx
movabs r13, 0x707070707070707
movabs rcx, 0x3333333333333333
movabs rdx, 0x5555555555555555
mov rbx, qword [rsp + 0x80]
mov r11, qword [rsp + 0x98]
jmp 0x140017c67
lea r13, [rsp + 0x128]
mov rbx, rcx
mov rcx, rsi
mov rdx, r13
mov r8d, r11d
mov r9d, 1
call fcn.14007ccd0
mov rcx, rbx
mov r11, qword [rsp + 0xd8]
movabs r10, 0x5555555555555555
movabs r9, 0x3333333333333333
mov rbx, qword [r13]
and rbx, rcx
jmp 0x140017405
lea r9, [0x1400dcb00]
mov r8, qword [r9 + r8*8]
lea r9d, [rcx - 1]
movzx r9d, r9b
add edx, 0x65b
bt r8, r9
cmovae edx, eax
mov eax, edx
jmp 0x140019077
movsxd r9, r9d
lea r10, [0x1400e8d80]
mov r9d, dword [r10 + r9*8]
cmp r9d, 8
je 0x140019765
cmp r9d, 1
jne 0x140019077
lea r9, [0x1400dcb00]
mov r8, qword [r9 + r8*8]
lea r9d, [rcx + 8]
jmp 0x1400196ab
lea rdx, [rsp + 0x128]
mov rdi, rcx
mov rcx, rsi
mov r8, qword [rsp + 0x70]
mov qword [rsp + 0x108], r9
xor r9d, r9d
mov qword [rsp + 0xa0], r10
call fcn.14007ccd0
mov rcx, rdi
mov r9, qword [rsp + 0x108]
mov r10, qword [rsp + 0xa0]
movabs r8, 0x5555555555555555
movabs rdx, 0x3333333333333333
lea rax, [rsp + 0x128]
mov rdi, qword [rax]
and rdi, rcx
jmp 0x1400177d0
mov edx, 0x7f
jmp 0x140017db7
lea r9, [0x1400dcb00]
mov r8, qword [r9 + r8*8]
lea r9d, [rcx - 8]
jmp 0x1400196ab
lea r9, [0x1400dcb00]
mov r8, qword [r9 + r8*8]
lea r9d, [rax - 1]
movzx r9d, r9b
add edx, 0x65b
bt r8, r9
cmovae edx, ecx
mov ecx, edx
jmp 0x14001821e
cmp r9d, 8
jne 0x14001821e
lea r9, [0x1400dcb00]
mov r8, qword [r9 + r8*8]
lea r9d, [rax - 8]
jmp 0x140019788
mov edx, 0x7f
jmp 0x1400185e0
lea r11d, [r9 - 1]
cmp r10d, r11d
jne 0x140018627
sub ecx, r9d
add ecx, 0xc
jmp 0x140018623