140016080:	ff 15 ea c0 31 00    	call   *0x31c0ea(%rip)        # 0x140332170
140016086:	83 38 03             	cmpl   $0x3,(%rax)
140016089:	75 2f                	jne    0x1400160ba
14001608b:	8b d7                	mov    %edi,%edx
14001608d:	49 8b ce             	mov    %r14,%rcx
140016090:	ff 15 da c0 31 00    	call   *0x31c0da(%rip)        # 0x140332170
140016096:	39 38                	cmp    %edi,(%rax)
140016098:	74 24                	je     0x1400160be
14001609a:	8b d7                	mov    %edi,%edx
14001609c:	49 8b ce             	mov    %r14,%rcx
14001609f:	ff 15 cb c0 31 00    	call   *0x31c0cb(%rip)        # 0x140332170
1400160a5:	83 38 02             	cmpl   $0x2,(%rax)
1400160a8:	74 14                	je     0x1400160be
1400160aa:	8b d7                	mov    %edi,%edx
1400160ac:	49 8b ce             	mov    %r14,%rcx
1400160af:	ff 15 bb c0 31 00    	call   *0x31c0bb(%rip)        # 0x140332170
1400160b5:	83 38 03             	cmpl   $0x3,(%rax)
1400160b8:	74 04                	je     0x1400160be
1400160ba:	03 f7                	add    %edi,%esi
1400160bc:	eb 93                	jmp    0x140016051
1400160be:	40 8a fb             	mov    %bl,%dil
1400160c1:	40 8a df             	mov    %dil,%bl
1400160c4:	48 8b cd             	mov    %rbp,%rcx
1400160c7:	ff 15 73 ca 1f 00    	call   *0x1fca73(%rip)        # 0x140212b40
1400160cd:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
1400160d2:	8a c3                	mov    %bl,%al
1400160d4:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
1400160d9:	48 83 c4 30          	add    $0x30,%rsp
1400160dd:	41 5e                	pop    %r14
1400160df:	5f                   	pop    %rdi
1400160e0:	5e                   	pop    %rsi
1400160e1:	c3                   	ret
1400160e2:	90                   	nop
1400160e3:	90                   	nop
1400160e4:	48 83 ec 28          	sub    $0x28,%rsp
1400160e8:	80 79 18 00          	cmpb   $0x0,0x18(%rcx)
1400160ec:	48 8d 05 4d 13 23 00 	lea    0x23134d(%rip),%rax        # 0x140247440
1400160f3:	48 89 01             	mov    %rax,(%rcx)
1400160f6:	74 0f                	je     0x140016107
1400160f8:	48 8b 49 10          	mov    0x10(%rcx),%rcx
1400160fc:	48 85 c9             	test   %rcx,%rcx
1400160ff:	74 06                	je     0x140016107
140016101:	ff 15 41 c0 31 00    	call   *0x31c041(%rip)        # 0x140332148
140016107:	48 83 c4 28          	add    $0x28,%rsp
14001610b:	c3                   	ret
14001610c:	4c 8b dc             	mov    %rsp,%r11
14001610f:	49 89 5b 08          	mov    %rbx,0x8(%r11)
140016113:	49 89 73 10          	mov    %rsi,0x10(%r11)
140016117:	57                   	push   %rdi
140016118:	48 83 ec 20          	sub    $0x20,%rsp
14001611c:	4d 8b c8             	mov    %r8,%r9
14001611f:	48 8b fa             	mov    %rdx,%rdi
140016122:	48 8b d9             	mov    %rcx,%rbx
140016125:	49 83 63 20 00       	andq   $0x0,0x20(%r11)
14001612a:	48 85 d2             	test   %rdx,%rdx
14001612d:	74 1f                	je     0x14001614e
14001612f:	48 8b 02             	mov    (%rdx),%rax
140016132:	4d 8d 43 20          	lea    0x20(%r11),%r8
140016136:	49 8b d1             	mov    %r9,%rdx
140016139:	48 8b cf             	mov    %rdi,%rcx
14001613c:	48 8b 00             	mov    (%rax),%rax
14001613f:	ff 15 eb cc 1f 00    	call   *0x1fcceb(%rip)        # 0x140212e30
140016145:	8b c8                	mov    %eax,%ecx
140016147:	48 8b 44 24 48       	mov    0x48(%rsp),%rax
14001614c:	eb 1e                	jmp    0x14001616c
14001614e:	49 8b c9             	mov    %r9,%rcx
140016151:	ff 15 f9 c9 1f 00    	call   *0x1fc9f9(%rip)        # 0x140212b50
140016157:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
14001615c:	48 8b c8             	mov    %rax,%rcx
14001615f:	48 f7 d9             	neg    %rcx
140016162:	1b c9                	sbb    %ecx,%ecx
140016164:	f7 d1                	not    %ecx
140016166:	81 e1 0e 00 07 80    	and    $0x8007000e,%ecx
14001616c:	85 c9                	test   %ecx,%ecx
14001616e:	78 54                	js     0x1400161c4
140016170:	48 8b f0             	mov    %rax,%rsi
140016173:	48 83 3b 00          	cmpq   $0x0,(%rbx)
140016177:	74 44                	je     0x1400161bd
140016179:	0f 10 0b             	movups (%rbx),%xmm1
14001617c:	48 83 23 00          	andq   $0x0,(%rbx)
140016180:	48 83 63 08 00       	andq   $0x0,0x8(%rbx)
140016185:	66 0f 6f c1          	movdqa %xmm1,%xmm0
140016189:	66 0f 73 d8 08       	psrldq $0x8,%xmm0
14001618e:	66 48 0f 7e c1       	movq   %xmm0,%rcx
140016193:	48 85 c9             	test   %rcx,%rcx
140016196:	74 14                	je     0x1400161ac
140016198:	48 8b 01             	mov    (%rcx),%rax
14001619b:	66 48 0f 7e ca       	movq   %xmm1,%rdx
1400161a0:	48 8b 40 10          	mov    0x10(%rax),%rax
1400161a4:	ff 15 86 cc 1f 00    	call   *0x1fcc86(%rip)        # 0x140212e30
1400161aa:	eb 0c                	jmp    0x1400161b8
1400161ac:	66 48 0f 7e c9       	movq   %xmm1,%rcx
1400161b1:	ff 15 89 c9 1f 00    	call   *0x1fc989(%rip)        # 0x140212b40
1400161b7:	90                   	nop
1400161b8:	48 8b 44 24 48       	mov    0x48(%rsp),%rax
1400161bd:	48 89 33             	mov    %rsi,(%rbx)
1400161c0:	48 89 7b 08          	mov    %rdi,0x8(%rbx)
1400161c4:	48 85 c0             	test   %rax,%rax
1400161c7:	0f 95 c0             	setne  %al
1400161ca:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1400161cf:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
1400161d4:	48 83 c4 20          	add    $0x20,%rsp
1400161d8:	5f                   	pop    %rdi
1400161d9:	c3                   	ret
1400161da:	90                   	nop
1400161db:	90                   	nop
1400161dc:	48 8b c4             	mov    %rsp,%rax
1400161df:	48 89 58 08          	mov    %rbx,0x8(%rax)
1400161e3:	48 89 68 10          	mov    %rbp,0x10(%rax)
1400161e7:	48 89 70 18          	mov    %rsi,0x18(%rax)
1400161eb:	48 89 78 20          	mov    %rdi,0x20(%rax)
1400161ef:	41 56                	push   %r14
1400161f1:	48 83 ec 30          	sub    $0x30,%rsp
1400161f5:	48 8b e9             	mov    %rcx,%rbp
1400161f8:	0f 57 c0             	xorps  %xmm0,%xmm0
1400161fb:	66 0f 7f 40 e8       	movdqa %xmm0,-0x18(%rax)
140016200:	48 8d 1c 12          	lea    (%rdx,%rdx,1),%rbx
140016204:	48 81 fa fe ff ff 3f 	cmp    $0x3ffffffe,%rdx
14001620b:	77 06                	ja     0x140016213
14001620d:	48 8d 7b 02          	lea    0x2(%rbx),%rdi
140016211:	eb 04                	jmp    0x140016217
140016213:	48 83 cf ff          	or     $0xffffffffffffffff,%rdi
140016217:	4c 8b c7             	mov    %rdi,%r8
14001621a:	33 d2                	xor    %edx,%edx
14001621c:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140016221:	e8 e6 fe ff ff       	call   0x14001610c
140016226:	8a c8                	mov    %al,%cl
140016228:	f6 d9                	neg    %cl
14001622a:	48 1b f6             	sbb    %rsi,%rsi
14001622d:	48 23 f7             	and    %rdi,%rsi
140016230:	48 8b 7c 24 20       	mov    0x20(%rsp),%rdi
140016235:	45 33 f6             	xor    %r14d,%r14d
140016238:	84 c0                	test   %al,%al
14001623a:	74 60                	je     0x14001629c
14001623c:	48 85 db             	test   %rbx,%rbx
14001623f:	74 56                	je     0x140016297
140016241:	48 85 ff             	test   %rdi,%rdi
140016244:	75 0e                	jne    0x140016254
140016246:	ff 15 2c c9 1f 00    	call   *0x1fc92c(%rip)        # 0x140212b78
14001624c:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
140016252:	eb 3d                	jmp    0x140016291
140016254:	48 85 ed             	test   %rbp,%rbp
140016257:	74 15                	je     0x14001626e
140016259:	48 3b f3             	cmp    %rbx,%rsi
14001625c:	72 10                	jb     0x14001626e
14001625e:	4c 8b c3             	mov    %rbx,%r8
140016261:	48 8b d5             	mov    %rbp,%rdx
140016264:	48 8b cf             	mov    %rdi,%rcx
140016267:	e8 84 f7 1e 00       	call   0x1402059f0
14001626c:	eb 29                	jmp    0x140016297
14001626e:	4c 8b c6             	mov    %rsi,%r8
140016271:	33 d2                	xor    %edx,%edx
140016273:	48 8b cf             	mov    %rdi,%rcx
140016276:	e8 87 f7 1e 00       	call   0x140205a02
14001627b:	48 85 ed             	test   %rbp,%rbp
14001627e:	74 c6                	je     0x140016246
140016280:	48 3b f3             	cmp    %rbx,%rsi
140016283:	73 12                	jae    0x140016297
140016285:	ff 15 ed c8 1f 00    	call   *0x1fc8ed(%rip)        # 0x140212b78
14001628b:	c7 00 22 00 00 00    	movl   $0x22,(%rax)
140016291:	ff 15 d9 c8 1f 00    	call   *0x1fc8d9(%rip)        # 0x140212b70
140016297:	66 44 89 34 3b       	mov    %r14w,(%rbx,%rdi,1)
14001629c:	48 8b c7             	mov    %rdi,%rax
14001629f:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1400162a4:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
1400162a9:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
1400162ae:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
1400162b3:	48 83 c4 30          	add    $0x30,%rsp
1400162b7:	41 5e                	pop    %r14
1400162b9:	c3                   	ret
1400162ba:	90                   	nop
1400162bb:	90                   	nop
1400162bc:	4c 8b c1             	mov    %rcx,%r8
1400162bf:	48 3b ca             	cmp    %rdx,%rcx
1400162c2:	75 04                	jne    0x1400162c8
1400162c4:	33 c9                	xor    %ecx,%ecx
1400162c6:	eb 6b                	jmp    0x140016333
1400162c8:	4d 85 c0             	test   %r8,%r8
1400162cb:	74 5b                	je     0x140016328
1400162cd:	48 85 d2             	test   %rdx,%rdx
1400162d0:	74 56                	je     0x140016328
1400162d2:	45 0f b7 08          	movzwl (%r8),%r9d
1400162d6:	66 45 85 c9          	test   %r9w,%r9w
1400162da:	74 42                	je     0x14001631e
1400162dc:	4c 2b c2             	sub    %rdx,%r8
1400162df:	41 8d 41 9f          	lea    -0x61(%r9),%eax
1400162e3:	66 83 f8 19          	cmp    $0x19,%ax
1400162e7:	45 8d 51 e0          	lea    -0x20(%r9),%r10d
1400162eb:	0f b7 02             	movzwl (%rdx),%eax
1400162ee:	66 45 0f 47 d1       	cmova  %r9w,%r10w
1400162f3:	44 0f b7 0a          	movzwl (%rdx),%r9d
1400162f7:	66 41 83 e9 20       	sub    $0x20,%r9w
1400162fc:	66 83 e8 61          	sub    $0x61,%ax
140016300:	66 83 f8 19          	cmp    $0x19,%ax
140016304:	66 44 0f 47 0a       	cmova  (%rdx),%r9w
140016309:	66 45 3b ca          	cmp    %r10w,%r9w
14001630d:	75 1c                	jne    0x14001632b
14001630f:	48 83 c2 02          	add    $0x2,%rdx
140016313:	45 0f b7 0c 10       	movzwl (%r8,%rdx,1),%r9d
140016318:	66 45 85 c9          	test   %r9w,%r9w
14001631c:	75 c1                	jne    0x1400162df
14001631e:	0f b7 02             	movzwl (%rdx),%eax
140016321:	66 f7 d8             	neg    %ax
140016324:	1b c9                	sbb    %ecx,%ecx
140016326:	eb 0b                	jmp    0x140016333
140016328:	49 f7 d8             	neg    %r8
14001632b:	1b c0                	sbb    %eax,%eax
14001632d:	83 e0 02             	and    $0x2,%eax
140016330:	8d 48 ff             	lea    -0x1(%rax),%ecx
140016333:	8b c1                	mov    %ecx,%eax
140016335:	c3                   	ret
140016336:	90                   	nop
140016337:	90                   	nop
140016338:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14001633d:	48 89 7c 24 10       	mov    %rdi,0x10(%rsp)
140016342:	44 8b d2             	mov    %edx,%r10d
140016345:	4c 8b d9             	mov    %rcx,%r11
140016348:	49 3b c8             	cmp    %r8,%rcx
14001634b:	75 04                	jne    0x140016351
14001634d:	33 c9                	xor    %ecx,%ecx
14001634f:	eb 77                	jmp    0x1400163c8
140016351:	33 c9                	xor    %ecx,%ecx
140016353:	4d 85 db             	test   %r11,%r11
140016356:	75 05                	jne    0x14001635d
140016358:	83 c9 ff             	or     $0xffffffff,%ecx
14001635b:	eb 6b                	jmp    0x1400163c8
14001635d:	4d 85 c0             	test   %r8,%r8
140016360:	75 07                	jne    0x140016369
140016362:	b9 01 00 00 00       	mov    $0x1,%ecx
140016367:	eb 5f                	jmp    0x1400163c8
140016369:	45 3b d1             	cmp    %r9d,%r10d
14001636c:	41 8b d1             	mov    %r9d,%edx
14001636f:	41 0f 4c d2          	cmovl  %r10d,%edx
140016373:	85 d2                	test   %edx,%edx
140016375:	7e 49                	jle    0x1400163c0
140016377:	4d 2b d8             	sub    %r8,%r11
14001637a:	43 0f b7 04 03       	movzwl (%r11,%r8,1),%eax
14001637f:	43 0f b7 1c 03       	movzwl (%r11,%r8,1),%ebx
140016384:	66 83 e8 61          	sub    $0x61,%ax
140016388:	41 0f b7 38          	movzwl (%r8),%edi
14001638c:	66 83 eb 20          	sub    $0x20,%bx
140016390:	66 83 f8 19          	cmp    $0x19,%ax
140016394:	41 0f b7 00          	movzwl (%r8),%eax
140016398:	66 43 0f 47 1c 03    	cmova  (%r11,%r8,1),%bx
14001639e:	66 83 ef 20          	sub    $0x20,%di
1400163a2:	66 83 e8 61          	sub    $0x61,%ax
1400163a6:	66 83 f8 19          	cmp    $0x19,%ax
1400163aa:	66 41 0f 47 38       	cmova  (%r8),%di
1400163af:	66 3b df             	cmp    %di,%bx
1400163b2:	72 a4                	jb     0x140016358
1400163b4:	77 ac                	ja     0x140016362
1400163b6:	49 83 c0 02          	add    $0x2,%r8
1400163ba:	ff ca                	dec    %edx
1400163bc:	85 d2                	test   %edx,%edx
1400163be:	7f ba                	jg     0x14001637a
1400163c0:	45 3b d1             	cmp    %r9d,%r10d
1400163c3:	7c 93                	jl     0x140016358
1400163c5:	0f 9f c1             	setg   %cl
1400163c8:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
1400163cd:	8b c1                	mov    %ecx,%eax
1400163cf:	48 8b 7c 24 10       	mov    0x10(%rsp),%rdi
1400163d4:	c3                   	ret
1400163d5:	90                   	nop
1400163d6:	90                   	nop
1400163d7:	90                   	nop
1400163d8:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400163dd:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
1400163e2:	57                   	push   %rdi
1400163e3:	48 83 ec 20          	sub    $0x20,%rsp
1400163e7:	45 8b d9             	mov    %r9d,%r11d
1400163ea:	4d 8b d0             	mov    %r8,%r10
1400163ed:	8b da                	mov    %edx,%ebx
1400163ef:	48 8b f9             	mov    %rcx,%rdi
1400163f2:	49 3b c8             	cmp    %r8,%rcx
1400163f5:	75 05                	jne    0x1400163fc
1400163f7:	45 33 c0             	xor    %r8d,%r8d
1400163fa:	eb 5c                	jmp    0x140016458
1400163fc:	45 33 c0             	xor    %r8d,%r8d
1400163ff:	48 85 ff             	test   %rdi,%rdi
140016402:	75 06                	jne    0x14001640a
140016404:	41 83 c8 ff          	or     $0xffffffff,%r8d
140016408:	eb 4e                	jmp    0x140016458
14001640a:	4d 85 d2             	test   %r10,%r10
14001640d:	75 08                	jne    0x140016417
14001640f:	41 b8 01 00 00 00    	mov    $0x1,%r8d
140016415:	eb 41                	jmp    0x140016458
140016417:	41 3b db             	cmp    %r11d,%ebx
14001641a:	44 0f 4c cb          	cmovl  %ebx,%r9d
14001641e:	45 85 c9             	test   %r9d,%r9d
140016421:	7e 2c                	jle    0x14001644f
140016423:	49 2b fa             	sub    %r10,%rdi
140016426:	42 0f b7 0c 17       	movzwl (%rdi,%r10,1),%ecx
14001642b:	e8 d4 0d 00 00       	call   0x140017204
140016430:	41 0f b7 0a          	movzwl (%r10),%ecx
140016434:	0f b7 f0             	movzwl %ax,%esi
140016437:	e8 c8 0d 00 00       	call   0x140017204
14001643c:	66 3b f0             	cmp    %ax,%si
14001643f:	72 c3                	jb     0x140016404
140016441:	77 cc                	ja     0x14001640f
140016443:	49 83 c2 02          	add    $0x2,%r10
140016447:	41 ff c9             	dec    %r9d
14001644a:	45 85 c9             	test   %r9d,%r9d
14001644d:	7f d7                	jg     0x140016426
14001644f:	41 3b db             	cmp    %r11d,%ebx
140016452:	7c b0                	jl     0x140016404
140016454:	41 0f 9f c0          	setg   %r8b
140016458:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14001645d:	41 8b c0             	mov    %r8d,%eax
140016460:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140016465:	48 83 c4 20          	add    $0x20,%rsp
140016469:	5f                   	pop    %rdi
14001646a:	c3                   	ret
14001646b:	90                   	nop
14001646c:	48 8b c4             	mov    %rsp,%rax
14001646f:	48 89 58 08          	mov    %rbx,0x8(%rax)
140016473:	48 89 68 10          	mov    %rbp,0x10(%rax)
140016477:	48 89 70 18          	mov    %rsi,0x18(%rax)
14001647b:	48 89 78 20          	mov    %rdi,0x20(%rax)
14001647f:	41 56                	push   %r14
140016481:	48 83 ec 20          	sub    $0x20,%rsp
140016485:	49 8b d9             	mov    %r9,%rbx
140016488:	4c 8b f2             	mov    %rdx,%r14
14001648b:	48 8b f1             	mov    %rcx,%rsi
14001648e:	48 85 c9             	test   %rcx,%rcx
140016491:	74 57                	je     0x1400164ea
140016493:	33 ff                	xor    %edi,%edi
140016495:	48 3b da             	cmp    %rdx,%rbx
140016498:	77 2e                	ja     0x1400164c8
14001649a:	48 8b eb             	mov    %rbx,%rbp
14001649d:	85 db                	test   %ebx,%ebx
14001649f:	78 56                	js     0x1400164f7
1400164a1:	44 8b cb             	mov    %ebx,%r9d
1400164a4:	4c 8d 05 5d 63 26 00 	lea    0x26635d(%rip),%r8        # 0x14027c808
1400164ab:	8b d3                	mov    %ebx,%edx
1400164ad:	48 8b ce             	mov    %rsi,%rcx
1400164b0:	e8 83 fe ff ff       	call   0x140016338
1400164b5:	85 c0                	test   %eax,%eax
1400164b7:	74 2d                	je     0x1400164e6
1400164b9:	48 ff c7             	inc    %rdi
1400164bc:	48 83 c6 02          	add    $0x2,%rsi
1400164c0:	48 ff c5             	inc    %rbp
1400164c3:	49 3b ee             	cmp    %r14,%rbp
1400164c6:	76 d5                	jbe    0x14001649d
1400164c8:	83 c8 ff             	or     $0xffffffff,%eax
1400164cb:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1400164d0:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
1400164d5:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
1400164da:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
1400164df:	48 83 c4 20          	add    $0x20,%rsp
1400164e3:	41 5e                	pop    %r14