140028227:	48 83 c1 02          	add    $0x2,%rcx
14002822b:	48 83 ea 01          	sub    $0x1,%rdx
14002822f:	75 e0                	jne    0x140028211
140028231:	48 85 d2             	test   %rdx,%rdx
140028234:	48 8d 41 fe          	lea    -0x2(%rcx),%rax
140028238:	48 0f 45 c1          	cmovne %rcx,%rax
14002823c:	48 f7 da             	neg    %rdx
14002823f:	45 1b c9             	sbb    %r9d,%r9d
140028242:	41 f7 d1             	not    %r9d
140028245:	41 81 e1 7a 00 07 80 	and    $0x8007007a,%r9d
14002824c:	66 89 18             	mov    %bx,(%rax)
14002824f:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
140028254:	41 8b c1             	mov    %r9d,%eax
140028257:	c3                   	ret
140028258:	cc                   	int3
140028259:	cc                   	int3
14002825a:	cc                   	int3
14002825b:	cc                   	int3
14002825c:	cc                   	int3
14002825d:	cc                   	int3
14002825e:	cc                   	int3
14002825f:	cc                   	int3
140028260:	45 33 d2             	xor    %r10d,%r10d
140028263:	48 85 c9             	test   %rcx,%rcx
140028266:	74 4f                	je     0x1400282b7
140028268:	48 81 fa ff ff ff 7f 	cmp    $0x7fffffff,%rdx
14002826f:	77 46                	ja     0x1400282b7
140028271:	4c 8b ca             	mov    %rdx,%r9
140028274:	48 85 d2             	test   %rdx,%rdx
140028277:	74 10                	je     0x140028289
140028279:	66 44 39 11          	cmp    %r10w,(%rcx)
14002827d:	74 0a                	je     0x140028289
14002827f:	48 83 c1 02          	add    $0x2,%rcx
140028283:	49 83 e9 01          	sub    $0x1,%r9
140028287:	75 f0                	jne    0x140028279
140028289:	49 8b c1             	mov    %r9,%rax
14002828c:	48 f7 d8             	neg    %rax
14002828f:	1b c0                	sbb    %eax,%eax
140028291:	f7 d0                	not    %eax
140028293:	25 57 00 07 80       	and    $0x80070057,%eax
140028298:	4d 85 c0             	test   %r8,%r8
14002829b:	74 0b                	je     0x1400282a8
14002829d:	4d 85 c9             	test   %r9,%r9
1400282a0:	74 10                	je     0x1400282b2
1400282a2:	49 2b d1             	sub    %r9,%rdx
1400282a5:	49 89 10             	mov    %rdx,(%r8)
1400282a8:	85 c0                	test   %eax,%eax
1400282aa:	0f 88 e0 0e 01 00    	js     0x140039190
1400282b0:	c3                   	ret
1400282b1:	cc                   	int3
1400282b2:	4d 89 10             	mov    %r10,(%r8)
1400282b5:	eb f1                	jmp    0x1400282a8
1400282b7:	b8 57 00 07 80       	mov    $0x80070057,%eax
1400282bc:	eb ea                	jmp    0x1400282a8
1400282be:	cc                   	int3
1400282bf:	cc                   	int3
1400282c0:	cc                   	int3
1400282c1:	cc                   	int3
1400282c2:	cc                   	int3
1400282c3:	cc                   	int3
1400282c4:	48 8b c4             	mov    %rsp,%rax
1400282c7:	48 89 58 08          	mov    %rbx,0x8(%rax)
1400282cb:	48 89 68 10          	mov    %rbp,0x10(%rax)
1400282cf:	48 89 70 18          	mov    %rsi,0x18(%rax)
1400282d3:	57                   	push   %rdi
1400282d4:	41 54                	push   %r12
1400282d6:	41 55                	push   %r13
1400282d8:	41 56                	push   %r14
1400282da:	41 57                	push   %r15
1400282dc:	48 83 ec 40          	sub    $0x40,%rsp
1400282e0:	45 33 ed             	xor    %r13d,%r13d
1400282e3:	c7 40 cc 04 00 00 00 	movl   $0x4,-0x34(%rax)
1400282ea:	41 8b dd             	mov    %r13d,%ebx
1400282ed:	44 89 68 c8          	mov    %r13d,-0x38(%rax)
1400282f1:	41 8b fd             	mov    %r13d,%edi
1400282f4:	4d 8b f9             	mov    %r9,%r15
1400282f7:	4d 8b e0             	mov    %r8,%r12
1400282fa:	48 8b ea             	mov    %rdx,%rbp
1400282fd:	4c 8b f1             	mov    %rcx,%r14
140028300:	48 8d 44 24 30       	lea    0x30(%rsp),%rax
140028305:	45 33 c0             	xor    %r8d,%r8d
140028308:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
14002830d:	4c 8d 4c 24 34       	lea    0x34(%rsp),%r9
140028312:	48 8b d5             	mov    %rbp,%rdx
140028315:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
14002831a:	49 8b ce             	mov    %r14,%rcx
14002831d:	48 ff 15 cc c9 05 00 	rex.W call *0x5c9cc(%rip)        # 0x140084cf0
140028324:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140028329:	8b f0                	mov    %eax,%esi
14002832b:	85 c0                	test   %eax,%eax
14002832d:	75 5e                	jne    0x14002838d
14002832f:	8b 4c 24 34          	mov    0x34(%rsp),%ecx
140028333:	8d 41 ff             	lea    -0x1(%rcx),%eax
140028336:	83 f8 01             	cmp    $0x1,%eax
140028339:	0f 87 5f 0e 01 00    	ja     0x14003919e
14002833f:	48 85 db             	test   %rbx,%rbx
140028342:	75 31                	jne    0x140028375
140028344:	8b 4c 24 30          	mov    0x30(%rsp),%ecx
140028348:	8d 43 02             	lea    0x2(%rbx),%eax
14002834b:	48 d1 e9             	shr    $1,%rcx
14002834e:	48 ff c1             	inc    %rcx
140028351:	48 f7 e1             	mul    %rcx
140028354:	48 8d 4b ff          	lea    -0x1(%rbx),%rcx
140028358:	48 0f 40 c1          	cmovo  %rcx,%rax
14002835c:	48 8b c8             	mov    %rax,%rcx
14002835f:	e8 70 bb 00 00       	call   0x140033ed4
140028364:	48 8b d8             	mov    %rax,%rbx
140028367:	48 85 c0             	test   %rax,%rax
14002836a:	74 5a                	je     0x1400283c6
14002836c:	ff c7                	inc    %edi
14002836e:	83 ff 02             	cmp    $0x2,%edi
140028371:	72 8d                	jb     0x140028300
140028373:	eb 0d                	jmp    0x140028382
140028375:	8b 44 24 30          	mov    0x30(%rsp),%eax
140028379:	48 d1 e8             	shr    $1,%rax
14002837c:	66 44 89 6c 43 fe    	mov    %r13w,-0x2(%rbx,%rax,2)
140028382:	83 7c 24 34 02       	cmpl   $0x2,0x34(%rsp)
140028387:	0f 84 31 0e 01 00    	je     0x1400391be
14002838d:	85 f6                	test   %esi,%esi
14002838f:	0f 85 12 0e 01 00    	jne    0x1400391a7
140028395:	8b 44 24 30          	mov    0x30(%rsp),%eax
140028399:	41 89 07             	mov    %eax,(%r15)
14002839c:	8b 44 24 34          	mov    0x34(%rsp),%eax
1400283a0:	41 89 04 24          	mov    %eax,(%r12)
1400283a4:	4c 8d 5c 24 40       	lea    0x40(%rsp),%r11
1400283a9:	48 8b c3             	mov    %rbx,%rax
1400283ac:	49 8b 5b 30          	mov    0x30(%r11),%rbx
1400283b0:	49 8b 6b 38          	mov    0x38(%r11),%rbp
1400283b4:	49 8b 73 40          	mov    0x40(%r11),%rsi
1400283b8:	49 8b e3             	mov    %r11,%rsp
1400283bb:	41 5f                	pop    %r15
1400283bd:	41 5e                	pop    %r14
1400283bf:	41 5d                	pop    %r13
1400283c1:	41 5c                	pop    %r12
1400283c3:	5f                   	pop    %rdi
1400283c4:	c3                   	ret
1400283c5:	cc                   	int3
1400283c6:	49 8b dd             	mov    %r13,%rbx
1400283c9:	eb d9                	jmp    0x1400283a4
1400283cb:	cc                   	int3
1400283cc:	cc                   	int3
1400283cd:	cc                   	int3
1400283ce:	cc                   	int3
1400283cf:	cc                   	int3
1400283d0:	cc                   	int3
1400283d1:	cc                   	int3
1400283d2:	cc                   	int3
1400283d3:	cc                   	int3
1400283d4:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400283d9:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
1400283de:	57                   	push   %rdi
1400283df:	48 83 ec 30          	sub    $0x30,%rsp
1400283e3:	48 8b 01             	mov    (%rcx),%rax
1400283e6:	48 8b da             	mov    %rdx,%rbx
1400283e9:	48 8b f1             	mov    %rcx,%rsi
1400283ec:	48 8b 00             	mov    (%rax),%rax
1400283ef:	ff 15 d3 d2 05 00    	call   *0x5d2d3(%rip)        # 0x1400856c8
1400283f5:	48 85 db             	test   %rbx,%rbx
1400283f8:	0f 85 7a 0e 01 00    	jne    0x140039278
1400283fe:	4c 8d 86 18 01 00 00 	lea    0x118(%rsi),%r8
140028405:	48 85 db             	test   %rbx,%rbx
140028408:	0f 85 2b 0f 01 00    	jne    0x140039339
14002840e:	33 d2                	xor    %edx,%edx
140028410:	48 8d 0d 29 b4 00 00 	lea    0xb429(%rip),%rcx        # 0x140033840
140028417:	48 ff 15 42 cb 05 00 	rex.W call *0x5cb42(%rip)        # 0x140084f60
14002841e:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140028423:	8b f8                	mov    %eax,%edi
140028425:	85 c0                	test   %eax,%eax
140028427:	0f 84 1b 0f 01 00    	je     0x140039348
14002842d:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140028432:	8b c7                	mov    %edi,%eax
140028434:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
140028439:	48 83 c4 30          	add    $0x30,%rsp
14002843d:	5f                   	pop    %rdi
14002843e:	c3                   	ret
14002843f:	cc                   	int3
140028440:	cc                   	int3
140028441:	cc                   	int3
140028442:	cc                   	int3
140028443:	cc                   	int3
140028444:	cc                   	int3
140028445:	cc                   	int3
140028446:	cc                   	int3
140028447:	cc                   	int3
140028448:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
14002844d:	48 89 7c 24 18       	mov    %rdi,0x18(%rsp)
140028452:	41 56                	push   %r14
140028454:	48 81 ec 80 00 00 00 	sub    $0x80,%rsp
14002845b:	48 8b 05 5e 6d 07 00 	mov    0x76d5e(%rip),%rax        # 0x14009f1c0
140028462:	48 33 c4             	xor    %rsp,%rax
140028465:	48 89 44 24 78       	mov    %rax,0x78(%rsp)
14002846a:	48 83 64 24 60 00    	andq   $0x0,0x60(%rsp)
140028470:	48 8b f9             	mov    %rcx,%rdi
140028473:	48 8b 0d 86 6b 07 00 	mov    0x76b86(%rip),%rcx        # 0x14009f000
14002847a:	4c 8d 35 7f 6b 07 00 	lea    0x76b7f(%rip),%r14        # 0x14009f000
140028481:	49 3b ce             	cmp    %r14,%rcx
140028484:	74 0a                	je     0x140028490
140028486:	f6 41 44 01          	testb  $0x1,0x44(%rcx)
14002848a:	0f 85 12 0f 01 00    	jne    0x1400393a2
140028490:	48 8b 0d 41 84 07 00 	mov    0x78441(%rip),%rcx        # 0x1400a08d8
140028497:	48 8b 01             	mov    (%rcx),%rax
14002849a:	48 8b 40 78          	mov    0x78(%rax),%rax
14002849e:	ff 15 24 d2 05 00    	call   *0x5d224(%rip)        # 0x1400856c8
1400284a4:	48 89 47 78          	mov    %rax,0x78(%rdi)
1400284a8:	48 8d 54 24 60       	lea    0x60(%rsp),%rdx
1400284ad:	48 8b 0d 24 84 07 00 	mov    0x78424(%rip),%rcx        # 0x1400a08d8
1400284b4:	45 33 c9             	xor    %r9d,%r9d
1400284b7:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
1400284bc:	4c 8d 05 65 dc 05 00 	lea    0x5dc65(%rip),%r8        # 0x140086128
1400284c3:	48 8d 15 46 dc 05 00 	lea    0x5dc46(%rip),%rdx        # 0x140086110
1400284ca:	48 8b 01             	mov    (%rcx),%rax
1400284cd:	48 8b 80 90 00 00 00 	mov    0x90(%rax),%rax
1400284d4:	ff 15 ee d1 05 00    	call   *0x5d1ee(%rip)        # 0x1400856c8
1400284da:	8b d8                	mov    %eax,%ebx
1400284dc:	85 c0                	test   %eax,%eax
1400284de:	0f 88 e3 0e 01 00    	js     0x1400393c7
1400284e4:	48 8b 4c 24 60       	mov    0x60(%rsp),%rcx
1400284e9:	48 8d 15 60 db 05 00 	lea    0x5db60(%rip),%rdx        # 0x140086050
1400284f0:	83 64 24 6c 00       	andl   $0x0,0x6c(%rsp)
1400284f5:	4c 8d 05 e4 d9 05 00 	lea    0x5d9e4(%rip),%r8        # 0x140085ee0
1400284fc:	83 64 24 70 00       	andl   $0x0,0x70(%rsp)
140028501:	41 b9 08 00 00 00    	mov    $0x8,%r9d
140028507:	83 64 24 74 00       	andl   $0x0,0x74(%rsp)
14002850c:	c7 44 24 68 01 00 00 	movl   $0x1,0x68(%rsp)
140028513:	00
140028514:	48 8b 01             	mov    (%rcx),%rax
140028517:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
14002851c:	48 8d 54 24 68       	lea    0x68(%rsp),%rdx
140028521:	48 8b 40 18          	mov    0x18(%rax),%rax
140028525:	ff 15 9d d1 05 00    	call   *0x5d19d(%rip)        # 0x1400856c8
14002852b:	8b d8                	mov    %eax,%ebx
14002852d:	85 c0                	test   %eax,%eax
14002852f:	0f 88 03 0f 01 00    	js     0x140039438
140028535:	48 8b 4c 24 60       	mov    0x60(%rsp),%rcx
14002853a:	48 8b 01             	mov    (%rcx),%rax
14002853d:	48 8b 40 38          	mov    0x38(%rax),%rax
140028541:	ff 15 81 d1 05 00    	call   *0x5d181(%rip)        # 0x1400856c8
140028547:	48 8b 44 24 60       	mov    0x60(%rsp),%rax
14002854c:	48 89 87 80 00 00 00 	mov    %rax,0x80(%rdi)
140028553:	48 8b 0d a6 6a 07 00 	mov    0x76aa6(%rip),%rcx        # 0x14009f000
14002855a:	85 db                	test   %ebx,%ebx
14002855c:	78 0f                	js     0x14002856d
14002855e:	49 3b ce             	cmp    %r14,%rcx
140028561:	74 0a                	je     0x14002856d
140028563:	f6 41 44 01          	testb  $0x1,0x44(%rcx)
140028567:	0f 85 13 0f 01 00    	jne    0x140039480
14002856d:	8b c3                	mov    %ebx,%eax
14002856f:	48 8b 4c 24 78       	mov    0x78(%rsp),%rcx
140028574:	48 33 cc             	xor    %rsp,%rcx
140028577:	e8 34 b6 00 00       	call   0x140033bb0
14002857c:	4c 8d 9c 24 80 00 00 	lea    0x80(%rsp),%r11
140028583:	00
140028584:	49 8b 5b 18          	mov    0x18(%r11),%rbx
140028588:	49 8b 7b 20          	mov    0x20(%r11),%rdi
14002858c:	49 8b e3             	mov    %r11,%rsp
14002858f:	41 5e                	pop    %r14
140028591:	c3                   	ret
140028592:	cc                   	int3
140028593:	cc                   	int3
140028594:	cc                   	int3
140028595:	cc                   	int3
140028596:	cc                   	int3
140028597:	cc                   	int3
140028598:	cc                   	int3
140028599:	cc                   	int3
14002859a:	cc                   	int3
14002859b:	cc                   	int3
14002859c:	48 83 ec 28          	sub    $0x28,%rsp
1400285a0:	4c 8d 05 61 e4 05 00 	lea    0x5e461(%rip),%r8        # 0x140086a08
1400285a7:	33 d2                	xor    %edx,%edx
1400285a9:	b9 00 00 10 00       	mov    $0x100000,%ecx
1400285ae:	48 ff 15 03 c8 05 00 	rex.W call *0x5c803(%rip)        # 0x140084db8
1400285b5:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1400285ba:	48 85 c0             	test   %rax,%rax
1400285bd:	0f 85 cf 7e 01 00    	jne    0x140040492
1400285c3:	45 33 c0             	xor    %r8d,%r8d
1400285c6:	33 d2                	xor    %edx,%edx
1400285c8:	b1 01                	mov    $0x1,%cl
1400285ca:	48 ff 15 37 cc 05 00 	rex.W call *0x5cc37(%rip)        # 0x140085208
1400285d1:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1400285d6:	83 25 43 7a 07 00 00 	andl   $0x0,0x77a43(%rip)        # 0x1400a0020
1400285dd:	48 8d 0d ac 7f 07 00 	lea    0x77fac(%rip),%rcx        # 0x1400a0590
1400285e4:	48 ff 15 6d cc 05 00 	rex.W call *0x5cc6d(%rip)        # 0x140085258
1400285eb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1400285f0:	85 c0                	test   %eax,%eax
1400285f2:	78 05                	js     0x1400285f9
1400285f4:	e8 77 27 00 00       	call   0x14002ad70
1400285f9:	33 c0                	xor    %eax,%eax
1400285fb:	48 83 c4 28          	add    $0x28,%rsp
1400285ff:	c3                   	ret
140028600:	cc                   	int3
140028601:	cc                   	int3
140028602:	cc                   	int3
140028603:	cc                   	int3
140028604:	cc                   	int3
140028605:	cc                   	int3
140028606:	cc                   	int3
140028607:	cc                   	int3
140028608:	40 55                	rex push %rbp
14002860a:	53                   	push   %rbx
14002860b:	57                   	push   %rdi
14002860c:	41 57                	push   %r15
14002860e:	48 8b ec             	mov    %rsp,%rbp
140028611:	48 83 ec 28          	sub    $0x28,%rsp
140028615:	83 65 28 00          	andl   $0x0,0x28(%rbp)
140028619:	48 8d 55 40          	lea    0x40(%rbp),%rdx
14002861d:	83 65 38 00          	andl   $0x0,0x38(%rbp)
140028621:	41 bf 04 00 00 00    	mov    $0x4,%r15d
140028627:	83 65 30 00          	andl   $0x0,0x30(%rbp)
14002862b:	45 8b c7             	mov    %r15d,%r8d
14002862e:	c7 45 40 01 00 00 00 	movl   $0x1,0x40(%rbp)
140028635:	41 8d 4f 02          	lea    0x2(%r15),%ecx
140028639:	48 ff 15 50 c6 05 00 	rex.W call *0x5c650(%rip)        # 0x140084c90
140028640:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140028645:	85 c0                	test   %eax,%eax
140028647:	0f 84 5b 7e 01 00    	je     0x1400404a8
14002864d:	83 4d 28 01          	orl    $0x1,0x28(%rbp)
140028651:	48 8d 55 28          	lea    0x28(%rbp),%rdx
140028655:	45 8b c7             	mov    %r15d,%r8d
140028658:	41 8d 4f fe          	lea    -0x2(%r15),%ecx
14002865c:	48 ff 15 2d c6 05 00 	rex.W call *0x5c62d(%rip)        # 0x140084c90
140028663:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140028668:	48 8d 3d 91 69 07 00 	lea    0x76991(%rip),%rdi        # 0x14009f000
14002866f:	85 c0                	test   %eax,%eax
140028671:	75 27                	jne    0x14002869a
140028673:	48 ff 15 f6 c3 05 00 	rex.W call *0x5c3f6(%rip)        # 0x140084a70
14002867a:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
14002867f:	8b d8                	mov    %eax,%ebx
140028681:	83 f8 32             	cmp    $0x32,%eax
140028684:	0f 85 97 7e 01 00    	jne    0x140040521
14002868a:	48 8b 0d 6f 69 07 00 	mov    0x7696f(%rip),%rcx        # 0x14009f000
140028691:	48 3b cf             	cmp    %rdi,%rcx
140028694:	0f 85 62 7e 01 00    	jne    0x1400404fc
14002869a:	83 4d 30 01          	orl    $0x1,0x30(%rbp)
14002869e:	48 8d 55 30          	lea    0x30(%rbp),%rdx
1400286a2:	4d 8b c7             	mov    %r15,%r8
1400286a5:	b9 08 00 00 00       	mov    $0x8,%ecx
1400286aa:	48 ff 15 df c5 05 00 	rex.W call *0x5c5df(%rip)        # 0x140084c90
1400286b1:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1400286b6:	85 c0                	test   %eax,%eax
1400286b8:	0f 84 8b 7e 01 00    	je     0x140040549
1400286be:	83 4d 38 01          	orl    $0x1,0x38(%rbp)
1400286c2:	48 8d 55 38          	lea    0x38(%rbp),%rdx
1400286c6:	4d 8b c7             	mov    %r15,%r8
1400286c9:	b9 09 00 00 00       	mov    $0x9,%ecx
1400286ce:	48 ff 15 bb c5 05 00 	rex.W call *0x5c5bb(%rip)        # 0x140084c90
1400286d5:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1400286da:	85 c0                	test   %eax,%eax
1400286dc:	0f 84 99 7e 01 00    	je     0x14004057b
1400286e2:	33 db                	xor    %ebx,%ebx