14001618b:	57                   	push   %rdi
14001618c:	48 81 ec c0 00 00 00 	sub    $0xc0,%rsp
140016193:	48 8b 05 26 c5 0a 00 	mov    0xac526(%rip),%rax        # 0x1400c26c0
14001619a:	48 33 c4             	xor    %rsp,%rax
14001619d:	48 89 84 24 b0 00 00 	mov    %rax,0xb0(%rsp)
1400161a4:	00
1400161a5:	48 8b d9             	mov    %rcx,%rbx
1400161a8:	4c 8b 0a             	mov    (%rdx),%r9
1400161ab:	4d 8d 43 dc          	lea    -0x24(%r11),%r8
1400161af:	48 8d 54 24 40       	lea    0x40(%rsp),%rdx
1400161b4:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
1400161b9:	e8 4a 02 00 00       	call   0x140016408
1400161be:	0f 10 08             	movups (%rax),%xmm1
1400161c1:	8b 40 08             	mov    0x8(%rax),%eax
1400161c4:	33 ed                	xor    %ebp,%ebp
1400161c6:	85 c0                	test   %eax,%eax
1400161c8:	75 7c                	jne    0x140016246
1400161ca:	48 8d 7c 24 40       	lea    0x40(%rsp),%rdi
1400161cf:	48 8d 44 24 40       	lea    0x40(%rsp),%rax
1400161d4:	66 48 0f 7e ce       	movq   %xmm1,%rsi
1400161d9:	48 3b c6             	cmp    %rsi,%rax
1400161dc:	73 3f                	jae    0x14001621d
1400161de:	44 0f b6 0f          	movzbl (%rdi),%r9d
1400161e2:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
1400161e6:	48 3b 4b 18          	cmp    0x18(%rbx),%rcx
1400161ea:	73 21                	jae    0x14001620d
1400161ec:	48 8d 41 01          	lea    0x1(%rcx),%rax
1400161f0:	48 89 43 10          	mov    %rax,0x10(%rbx)
1400161f4:	48 8b c3             	mov    %rbx,%rax
1400161f7:	48 83 7b 18 07       	cmpq   $0x7,0x18(%rbx)
1400161fc:	76 03                	jbe    0x140016201
1400161fe:	48 8b 03             	mov    (%rbx),%rax
140016201:	66 44 89 0c 48       	mov    %r9w,(%rax,%rcx,2)
140016206:	66 89 6c 48 02       	mov    %bp,0x2(%rax,%rcx,2)
14001620b:	eb 08                	jmp    0x140016215
14001620d:	48 8b cb             	mov    %rbx,%rcx
140016210:	e8 a3 cc ff ff       	call   0x140012eb8
140016215:	48 ff c7             	inc    %rdi
140016218:	48 3b fe             	cmp    %rsi,%rdi
14001621b:	72 c1                	jb     0x1400161de
14001621d:	48 8b 8c 24 b0 00 00 	mov    0xb0(%rsp),%rcx
140016224:	00
140016225:	48 33 cc             	xor    %rsp,%rcx
140016228:	e8 13 38 05 00       	call   0x140069a40
14001622d:	4c 8d 9c 24 c0 00 00 	lea    0xc0(%rsp),%r11
140016234:	00
140016235:	49 8b 5b 18          	mov    0x18(%r11),%rbx
140016239:	49 8b 6b 20          	mov    0x20(%r11),%rbp
14001623d:	49 8b 73 28          	mov    0x28(%r11),%rsi
140016241:	49 8b e3             	mov    %r11,%rsp
140016244:	5f                   	pop    %rdi
140016245:	c3                   	ret
140016246:	33 d2                	xor    %edx,%edx
140016248:	b9 8a 56 54 1e       	mov    $0x1e54568a,%ecx
14001624d:	e8 5e c7 ff ff       	call   0x1400129b0
140016252:	cc                   	int3
140016253:	90                   	nop
140016254:	4c 8b dc             	mov    %rsp,%r11
140016257:	49 89 5b 10          	mov    %rbx,0x10(%r11)
14001625b:	49 89 6b 18          	mov    %rbp,0x18(%r11)
14001625f:	49 89 73 20          	mov    %rsi,0x20(%r11)
140016263:	57                   	push   %rdi
140016264:	48 81 ec c0 00 00 00 	sub    $0xc0,%rsp
14001626b:	48 8b 05 4e c4 0a 00 	mov    0xac44e(%rip),%rax        # 0x1400c26c0
140016272:	48 33 c4             	xor    %rsp,%rax
140016275:	48 89 84 24 b0 00 00 	mov    %rax,0xb0(%rsp)
14001627c:	00
14001627d:	48 8b d9             	mov    %rcx,%rbx
140016280:	4c 8b 0a             	mov    (%rdx),%r9
140016283:	4d 8d 43 dc          	lea    -0x24(%r11),%r8
140016287:	48 8d 54 24 40       	lea    0x40(%rsp),%rdx
14001628c:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140016291:	e8 96 00 00 00       	call   0x14001632c
140016296:	0f 10 08             	movups (%rax),%xmm1
140016299:	8b 40 08             	mov    0x8(%rax),%eax
14001629c:	33 ed                	xor    %ebp,%ebp
14001629e:	85 c0                	test   %eax,%eax
1400162a0:	75 7c                	jne    0x14001631e
1400162a2:	48 8d 7c 24 40       	lea    0x40(%rsp),%rdi
1400162a7:	48 8d 44 24 40       	lea    0x40(%rsp),%rax
1400162ac:	66 48 0f 7e ce       	movq   %xmm1,%rsi
1400162b1:	48 3b c6             	cmp    %rsi,%rax
1400162b4:	73 3f                	jae    0x1400162f5
1400162b6:	44 0f b6 0f          	movzbl (%rdi),%r9d
1400162ba:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
1400162be:	48 3b 4b 18          	cmp    0x18(%rbx),%rcx
1400162c2:	73 21                	jae    0x1400162e5
1400162c4:	48 8d 41 01          	lea    0x1(%rcx),%rax
1400162c8:	48 89 43 10          	mov    %rax,0x10(%rbx)
1400162cc:	48 8b c3             	mov    %rbx,%rax
1400162cf:	48 83 7b 18 07       	cmpq   $0x7,0x18(%rbx)
1400162d4:	76 03                	jbe    0x1400162d9
1400162d6:	48 8b 03             	mov    (%rbx),%rax
1400162d9:	66 44 89 0c 48       	mov    %r9w,(%rax,%rcx,2)
1400162de:	66 89 6c 48 02       	mov    %bp,0x2(%rax,%rcx,2)
1400162e3:	eb 08                	jmp    0x1400162ed
1400162e5:	48 8b cb             	mov    %rbx,%rcx
1400162e8:	e8 cb cb ff ff       	call   0x140012eb8
1400162ed:	48 ff c7             	inc    %rdi
1400162f0:	48 3b fe             	cmp    %rsi,%rdi
1400162f3:	72 c1                	jb     0x1400162b6
1400162f5:	48 8b 8c 24 b0 00 00 	mov    0xb0(%rsp),%rcx
1400162fc:	00
1400162fd:	48 33 cc             	xor    %rsp,%rcx
140016300:	e8 3b 37 05 00       	call   0x140069a40
140016305:	4c 8d 9c 24 c0 00 00 	lea    0xc0(%rsp),%r11
14001630c:	00
14001630d:	49 8b 5b 18          	mov    0x18(%r11),%rbx
140016311:	49 8b 6b 20          	mov    0x20(%r11),%rbp
140016315:	49 8b 73 28          	mov    0x28(%r11),%rsi
140016319:	49 8b e3             	mov    %r11,%rsp
14001631c:	5f                   	pop    %rdi
14001631d:	c3                   	ret
14001631e:	33 d2                	xor    %edx,%edx
140016320:	b9 8a 56 54 1e       	mov    $0x1e54568a,%ecx
140016325:	e8 86 c6 ff ff       	call   0x1400129b0
14001632a:	cc                   	int3
14001632b:	90                   	nop
14001632c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140016331:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140016336:	57                   	push   %rdi
140016337:	48 83 ec 70          	sub    $0x70,%rsp
14001633b:	48 8b 05 7e c3 0a 00 	mov    0xac37e(%rip),%rax        # 0x1400c26c0
140016342:	48 33 c4             	xor    %rsp,%rax
140016345:	48 89 44 24 60       	mov    %rax,0x60(%rsp)
14001634a:	48 8b fa             	mov    %rdx,%rdi
14001634d:	48 8b d9             	mov    %rcx,%rbx
140016350:	4d 85 c9             	test   %r9,%r9
140016353:	79 1b                	jns    0x140016370
140016355:	49 3b d0             	cmp    %r8,%rdx
140016358:	75 0d                	jne    0x140016367
14001635a:	4c 89 01             	mov    %r8,(%rcx)
14001635d:	48 c7 41 08 84 00 00 	movq   $0x84,0x8(%rcx)
140016364:	00
140016365:	eb 7c                	jmp    0x1400163e3
140016367:	48 ff c7             	inc    %rdi
14001636a:	c6 02 2d             	movb   $0x2d,(%rdx)
14001636d:	49 f7 d9             	neg    %r9
140016370:	4c 8d 54 24 60       	lea    0x60(%rsp),%r10
140016375:	49 ff ca             	dec    %r10
140016378:	48 b8 cd cc cc cc cc 	movabs $0xcccccccccccccccd,%rax
14001637f:	cc cc cc
140016382:	49 f7 e1             	mul    %r9
140016385:	48 c1 ea 03          	shr    $0x3,%rdx
140016389:	8a c2                	mov    %dl,%al
14001638b:	c0 e0 02             	shl    $0x2,%al
14001638e:	8d 0c 10             	lea    (%rax,%rdx,1),%ecx
140016391:	02 c9                	add    %cl,%cl
140016393:	44 2a c9             	sub    %cl,%r9b
140016396:	41 80 c1 30          	add    $0x30,%r9b
14001639a:	45 88 0a             	mov    %r9b,(%r10)
14001639d:	4c 8b ca             	mov    %rdx,%r9
1400163a0:	48 85 d2             	test   %rdx,%rdx
1400163a3:	75 d0                	jne    0x140016375
1400163a5:	48 8d 74 24 60       	lea    0x60(%rsp),%rsi
1400163aa:	49 8b c0             	mov    %r8,%rax
1400163ad:	49 2b f2             	sub    %r10,%rsi
1400163b0:	48 2b c7             	sub    %rdi,%rax
1400163b3:	48 3b c6             	cmp    %rsi,%rax
1400163b6:	7d 0d                	jge    0x1400163c5
1400163b8:	4c 89 03             	mov    %r8,(%rbx)
1400163bb:	48 c7 43 08 84 00 00 	movq   $0x84,0x8(%rbx)
1400163c2:	00
1400163c3:	eb 1e                	jmp    0x1400163e3
1400163c5:	4c 8b c6             	mov    %rsi,%r8
1400163c8:	49 8b d2             	mov    %r10,%rdx
1400163cb:	48 8b cf             	mov    %rdi,%rcx
1400163ce:	e8 3d 3f 05 00       	call   0x14006a310
1400163d3:	83 63 08 00          	andl   $0x0,0x8(%rbx)
1400163d7:	48 8d 04 37          	lea    (%rdi,%rsi,1),%rax
1400163db:	48 89 03             	mov    %rax,(%rbx)
1400163de:	33 c0                	xor    %eax,%eax
1400163e0:	89 43 0c             	mov    %eax,0xc(%rbx)
1400163e3:	48 8b c3             	mov    %rbx,%rax
1400163e6:	48 8b 4c 24 60       	mov    0x60(%rsp),%rcx
1400163eb:	48 33 cc             	xor    %rsp,%rcx
1400163ee:	e8 4d 36 05 00       	call   0x140069a40
1400163f3:	4c 8d 5c 24 70       	lea    0x70(%rsp),%r11
1400163f8:	49 8b 5b 10          	mov    0x10(%r11),%rbx
1400163fc:	49 8b 73 20          	mov    0x20(%r11),%rsi
140016400:	49 8b e3             	mov    %r11,%rsp
140016403:	5f                   	pop    %rdi
140016404:	c3                   	ret
140016405:	90                   	nop
140016406:	90                   	nop
140016407:	90                   	nop
140016408:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14001640d:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140016412:	57                   	push   %rdi
140016413:	48 83 ec 70          	sub    $0x70,%rsp
140016417:	48 8b 05 a2 c2 0a 00 	mov    0xac2a2(%rip),%rax        # 0x1400c26c0
14001641e:	48 33 c4             	xor    %rsp,%rax
140016421:	48 89 44 24 60       	mov    %rax,0x60(%rsp)
140016426:	48 8b f2             	mov    %rdx,%rsi
140016429:	4c 8d 54 24 60       	lea    0x60(%rsp),%r10
14001642e:	48 8b d9             	mov    %rcx,%rbx
140016431:	49 ff ca             	dec    %r10
140016434:	48 b8 cd cc cc cc cc 	movabs $0xcccccccccccccccd,%rax
14001643b:	cc cc cc
14001643e:	49 f7 e1             	mul    %r9
140016441:	48 c1 ea 03          	shr    $0x3,%rdx
140016445:	8a c2                	mov    %dl,%al
140016447:	c0 e0 02             	shl    $0x2,%al
14001644a:	8d 0c 10             	lea    (%rax,%rdx,1),%ecx
14001644d:	02 c9                	add    %cl,%cl
14001644f:	44 2a c9             	sub    %cl,%r9b
140016452:	41 80 c1 30          	add    $0x30,%r9b
140016456:	45 88 0a             	mov    %r9b,(%r10)
140016459:	4c 8b ca             	mov    %rdx,%r9
14001645c:	48 85 d2             	test   %rdx,%rdx
14001645f:	75 d0                	jne    0x140016431
140016461:	48 8d 7c 24 60       	lea    0x60(%rsp),%rdi
140016466:	49 8b c0             	mov    %r8,%rax
140016469:	49 2b fa             	sub    %r10,%rdi
14001646c:	48 2b c6             	sub    %rsi,%rax
14001646f:	48 3b c7             	cmp    %rdi,%rax
140016472:	7d 0d                	jge    0x140016481
140016474:	4c 89 03             	mov    %r8,(%rbx)
140016477:	48 c7 43 08 84 00 00 	movq   $0x84,0x8(%rbx)
14001647e:	00
14001647f:	eb 1e                	jmp    0x14001649f
140016481:	4c 8b c7             	mov    %rdi,%r8
140016484:	49 8b d2             	mov    %r10,%rdx
140016487:	48 8b ce             	mov    %rsi,%rcx
14001648a:	e8 81 3e 05 00       	call   0x14006a310
14001648f:	83 63 08 00          	andl   $0x0,0x8(%rbx)
140016493:	48 8d 04 37          	lea    (%rdi,%rsi,1),%rax
140016497:	48 89 03             	mov    %rax,(%rbx)
14001649a:	33 c0                	xor    %eax,%eax
14001649c:	89 43 0c             	mov    %eax,0xc(%rbx)
14001649f:	48 8b c3             	mov    %rbx,%rax
1400164a2:	48 8b 4c 24 60       	mov    0x60(%rsp),%rcx
1400164a7:	48 33 cc             	xor    %rsp,%rcx
1400164aa:	e8 91 35 05 00       	call   0x140069a40
1400164af:	4c 8d 5c 24 70       	lea    0x70(%rsp),%r11
1400164b4:	49 8b 5b 10          	mov    0x10(%r11),%rbx
1400164b8:	49 8b 73 20          	mov    0x20(%r11),%rsi
1400164bc:	49 8b e3             	mov    %r11,%rsp
1400164bf:	5f                   	pop    %rdi
1400164c0:	c3                   	ret
1400164c1:	90                   	nop
1400164c2:	90                   	nop
1400164c3:	90                   	nop
1400164c4:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400164c9:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1400164ce:	89 54 24 10          	mov    %edx,0x10(%rsp)
1400164d2:	57                   	push   %rdi
1400164d3:	48 83 ec 30          	sub    $0x30,%rsp
1400164d7:	41 8b f9             	mov    %r9d,%edi
1400164da:	49 8b f0             	mov    %r8,%rsi
1400164dd:	8b d9                	mov    %ecx,%ebx
1400164df:	85 c9                	test   %ecx,%ecx
1400164e1:	0f 84 ce 02 00 00    	je     0x1400167b5
1400164e7:	ff 15 db 8c 05 00    	call   *0x58cdb(%rip)        # 0x14006f1c8
1400164ed:	85 c0                	test   %eax,%eax
1400164ef:	0f 85 c0 02 00 00    	jne    0x1400167b5
1400164f5:	85 ff                	test   %edi,%edi
1400164f7:	79 19                	jns    0x140016512
1400164f9:	48 85 f6             	test   %rsi,%rsi
1400164fc:	74 0f                	je     0x14001650d
1400164fe:	48 83 c8 ff          	or     $0xffffffffffffffff,%rax
140016502:	48 ff c0             	inc    %rax
140016505:	80 3c 30 00          	cmpb   $0x0,(%rax,%rsi,1)
140016509:	75 f7                	jne    0x140016502
14001650b:	eb 02                	jmp    0x14001650f
14001650d:	33 c0                	xor    %eax,%eax
14001650f:	8d 78 01             	lea    0x1(%rax),%edi
140016512:	89 7c 24 48          	mov    %edi,0x48(%rsp)
140016516:	81 fb e9 fd 00 00    	cmp    $0xfde9,%ebx
14001651c:	75 1c                	jne    0x14001653a
14001651e:	44 8b 4c 24 68       	mov    0x68(%rsp),%r9d
140016523:	48 8d 54 24 48       	lea    0x48(%rsp),%rdx
140016528:	4c 8b 44 24 60       	mov    0x60(%rsp),%r8
14001652d:	48 8b ce             	mov    %rsi,%rcx
140016530:	e8 6b 03 00 00       	call   0x1400168a0
140016535:	e9 9d 02 00 00       	jmp    0x1400167d7
14001653a:	8b 44 24 68          	mov    0x68(%rsp),%eax
14001653e:	85 c0                	test   %eax,%eax
140016540:	0f 84 d4 00 00 00    	je     0x14001661a
140016546:	3b f8                	cmp    %eax,%edi
140016548:	7e 12                	jle    0x14001655c
14001654a:	b9 7a 00 00 00       	mov    $0x7a,%ecx
14001654f:	ff 15 c3 8a 05 00    	call   *0x58ac3(%rip)        # 0x14006f018
140016555:	33 c0                	xor    %eax,%eax
140016557:	e9 7b 02 00 00       	jmp    0x1400167d7
14001655c:	44 8b d7             	mov    %edi,%r10d
14001655f:	41 bb 02 00 00 00    	mov    $0x2,%r11d
140016565:	81 fb 17 27 00 00    	cmp    $0x2717,%ebx
14001656b:	0f 87 20 01 00 00    	ja     0x140016691
140016571:	81 fb e6 04 00 00    	cmp    $0x4e6,%ebx
140016577:	0f 87 a4 00 00 00    	ja     0x140016621
14001657d:	41 2b db             	sub    %r11d,%ebx
140016580:	0f 84 cf 00 00 00    	je     0x140016655
140016586:	83 eb 28             	sub    $0x28,%ebx
140016589:	74 5f                	je     0x1400165ea
14001658b:	81 eb 40 03 00 00    	sub    $0x340,%ebx
140016591:	74 4b                	je     0x1400165de
140016593:	81 eb 78 01 00 00    	sub    $0x178,%ebx
140016599:	74 37                	je     0x1400165d2
14001659b:	83 eb 01             	sub    $0x1,%ebx
14001659e:	74 26                	je     0x1400165c6
1400165a0:	83 eb 01             	sub    $0x1,%ebx
1400165a3:	74 15                	je     0x1400165ba
1400165a5:	83 fb 01             	cmp    $0x1,%ebx
1400165a8:	0f 85 74 01 00 00    	jne    0x140016722
1400165ae:	48 8d 0d bb cd 08 00 	lea    0x8cdbb(%rip),%rcx        # 0x1400a3370
1400165b5:	e9 a0 01 00 00       	jmp    0x14001675a
1400165ba:	48 8d 0d af cc 08 00 	lea    0x8ccaf(%rip),%rcx        # 0x1400a3270
1400165c1:	e9 94 01 00 00       	jmp    0x14001675a
1400165c6:	48 8d 0d a3 cf 08 00 	lea    0x8cfa3(%rip),%rcx        # 0x1400a3570
1400165cd:	e9 88 01 00 00       	jmp    0x14001675a
1400165d2:	48 8d 0d 97 ce 08 00 	lea    0x8ce97(%rip),%rcx        # 0x1400a3470
1400165d9:	e9 7c 01 00 00       	jmp    0x14001675a
1400165de:	48 8d 0d 8b d0 08 00 	lea    0x8d08b(%rip),%rcx        # 0x1400a3670
1400165e5:	e9 70 01 00 00       	jmp    0x14001675a
1400165ea:	48 8b 54 24 60       	mov    0x60(%rsp),%rdx
1400165ef:	48 85 d2             	test   %rdx,%rdx
1400165f2:	74 26                	je     0x14001661a
1400165f4:	85 ff                	test   %edi,%edi
1400165f6:	74 22                	je     0x14001661a
1400165f8:	0f b6 0e             	movzbl (%rsi),%ecx
1400165fb:	80 f9 20             	cmp    $0x20,%cl
1400165fe:	66 1b c0             	sbb    %ax,%ax
140016601:	48 ff c6             	inc    %rsi
140016604:	66 f7 d0             	not    %ax
140016607:	66 25 00 f0          	and    $0xf000,%ax
14001660b:	66 0b c1             	or     %cx,%ax
14001660e:	66 89 02             	mov    %ax,(%rdx)
140016611:	49 03 d3             	add    %r11,%rdx
140016614:	41 83 ea 01          	sub    $0x1,%r10d
140016618:	75 de                	jne    0x1400165f8
14001661a:	8b c7                	mov    %edi,%eax
14001661c:	e9 b6 01 00 00       	jmp    0x1400167d7
140016621:	81 eb e7 04 00 00    	sub    $0x4e7,%ebx
140016627:	74 5c                	je     0x140016685
140016629:	83 eb 01             	sub    $0x1,%ebx
14001662c:	74 4b                	je     0x140016679
14001662e:	83 eb 01             	sub    $0x1,%ebx
140016631:	74 3a                	je     0x14001666d
140016633:	83 eb 01             	sub    $0x1,%ebx
140016636:	74 29                	je     0x140016661
140016638:	81 eb 26 22 00 00    	sub    $0x2226,%ebx
14001663e:	74 15                	je     0x140016655
140016640:	83 fb 06             	cmp    $0x6,%ebx
140016643:	0f 85 d9 00 00 00    	jne    0x140016722
140016649:	48 8d 0d 20 bd 08 00 	lea    0x8bd20(%rip),%rcx        # 0x1400a2370
140016650:	e9 05 01 00 00       	jmp    0x14001675a
140016655:	48 8d 0d 14 bc 08 00 	lea    0x8bc14(%rip),%rcx        # 0x1400a2270
14001665c:	e9 f9 00 00 00       	jmp    0x14001675a
140016661:	48 8d 0d 08 c7 08 00 	lea    0x8c708(%rip),%rcx        # 0x1400a2d70