14022847c:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
140228481:	48 8b ea             	mov    %rdx,%rbp
140228484:	33 db                	xor    %ebx,%ebx
140228486:	4c 89 74 24 40       	mov    %r14,0x40(%rsp)
14022848b:	48 8b f1             	mov    %rcx,%rsi
14022848e:	39 19                	cmp    %ebx,(%rcx)
140228490:	7e 2c                	jle    0x1402284be
140228492:	48 89 7c 24 38       	mov    %rdi,0x38(%rsp)
140228497:	8b fb                	mov    %ebx,%edi
140228499:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
1402284a0:	48 8b 46 08          	mov    0x8(%rsi),%rax
1402284a4:	48 8b 0c 07          	mov    (%rdi,%rax,1),%rcx
1402284a8:	48 85 c9             	test   %rcx,%rcx
1402284ab:	74 02                	je     0x1402284af
1402284ad:	ff d5                	call   *%rbp
1402284af:	ff c3                	inc    %ebx
1402284b1:	48 83 c7 08          	add    $0x8,%rdi
1402284b5:	3b 1e                	cmp    (%rsi),%ebx
1402284b7:	7c e7                	jl     0x1402284a0
1402284b9:	48 8b 7c 24 38       	mov    0x38(%rsp),%rdi
1402284be:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
1402284c2:	48 8d 15 07 49 13 00 	lea    0x134907(%rip),%rdx        # 0x14035cdd0
1402284c9:	41 b8 78 01 00 00    	mov    $0x178,%r8d
1402284cf:	e8 3c 0e 00 00       	call   0x140229310
1402284d4:	41 b8 79 01 00 00    	mov    $0x179,%r8d
1402284da:	48 8d 15 ef 48 13 00 	lea    0x1348ef(%rip),%rdx        # 0x14035cdd0
1402284e1:	48 8b ce             	mov    %rsi,%rcx
1402284e4:	e8 27 0e 00 00       	call   0x140229310
1402284e9:	4c 8b 74 24 40       	mov    0x40(%rsp),%r14
1402284ee:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1402284f3:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
1402284f8:	48 83 c4 20          	add    $0x20,%rsp
1402284fc:	5e                   	pop    %rsi
1402284fd:	c3                   	ret
1402284fe:	cc                   	int3
1402284ff:	cc                   	int3
140228500:	b8 28 00 00 00       	mov    $0x28,%eax
140228505:	e8 d6 20 0d 00       	call   0x1402fa5e0
14022850a:	48 2b e0             	sub    %rax,%rsp
14022850d:	48 85 c9             	test   %rcx,%rcx
140228510:	75 08                	jne    0x14022851a
140228512:	8d 41 ff             	lea    -0x1(%rcx),%eax
140228515:	48 83 c4 28          	add    $0x28,%rsp
140228519:	c3                   	ret
14022851a:	44 8b 01             	mov    (%rcx),%r8d
14022851d:	48 83 c4 28          	add    $0x28,%rsp
140228521:	e9 ca fc ff ff       	jmp    0x1402281f0
140228526:	cc                   	int3
140228527:	cc                   	int3
140228528:	cc                   	int3
140228529:	cc                   	int3
14022852a:	cc                   	int3
14022852b:	cc                   	int3
14022852c:	cc                   	int3
14022852d:	cc                   	int3
14022852e:	cc                   	int3
14022852f:	cc                   	int3
140228530:	b8 28 00 00 00       	mov    $0x28,%eax
140228535:	e8 a6 20 0d 00       	call   0x1402fa5e0
14022853a:	48 2b e0             	sub    %rax,%rsp
14022853d:	48 85 c9             	test   %rcx,%rcx
140228540:	75 07                	jne    0x140228549
140228542:	33 c0                	xor    %eax,%eax
140228544:	48 83 c4 28          	add    $0x28,%rsp
140228548:	c3                   	ret
140228549:	85 d2                	test   %edx,%edx
14022854b:	79 0a                	jns    0x140228557
14022854d:	b8 01 00 00 00       	mov    $0x1,%eax
140228552:	48 83 c4 28          	add    $0x28,%rsp
140228556:	c3                   	ret
140228557:	41 b8 01 00 00 00    	mov    $0x1,%r8d
14022855d:	48 83 c4 28          	add    $0x28,%rsp
140228561:	e9 3a 02 00 00       	jmp    0x1402287a0
140228566:	cc                   	int3
140228567:	cc                   	int3
140228568:	cc                   	int3
140228569:	cc                   	int3
14022856a:	cc                   	int3
14022856b:	cc                   	int3
14022856c:	cc                   	int3
14022856d:	cc                   	int3
14022856e:	cc                   	int3
14022856f:	cc                   	int3
140228570:	48 85 c9             	test   %rcx,%rcx
140228573:	74 2b                	je     0x1402285a0
140228575:	85 d2                	test   %edx,%edx
140228577:	78 27                	js     0x1402285a0
140228579:	3b 11                	cmp    (%rcx),%edx
14022857b:	7d 23                	jge    0x1402285a0
14022857d:	48 63 c2             	movslq %edx,%rax
140228580:	48 8b 51 08          	mov    0x8(%rcx),%rdx
140228584:	4c 8d 0c c5 00 00 00 	lea    0x0(,%rax,8),%r9
14022858b:	00
14022858c:	4d 89 04 11          	mov    %r8,(%r9,%rdx,1)
140228590:	48 8b 41 08          	mov    0x8(%rcx),%rax
140228594:	c7 41 10 00 00 00 00 	movl   $0x0,0x10(%rcx)
14022859b:	49 8b 04 01          	mov    (%r9,%rax,1),%rax
14022859f:	c3                   	ret
1402285a0:	33 c0                	xor    %eax,%eax
1402285a2:	c3                   	ret
1402285a3:	cc                   	int3
1402285a4:	cc                   	int3
1402285a5:	cc                   	int3
1402285a6:	cc                   	int3
1402285a7:	cc                   	int3
1402285a8:	cc                   	int3
1402285a9:	cc                   	int3
1402285aa:	cc                   	int3
1402285ab:	cc                   	int3
1402285ac:	cc                   	int3
1402285ad:	cc                   	int3
1402285ae:	cc                   	int3
1402285af:	cc                   	int3
1402285b0:	48 8b 41 18          	mov    0x18(%rcx),%rax
1402285b4:	48 89 51 18          	mov    %rdx,0x18(%rcx)
1402285b8:	48 3b c2             	cmp    %rdx,%rax
1402285bb:	74 07                	je     0x1402285c4
1402285bd:	c7 41 10 00 00 00 00 	movl   $0x0,0x10(%rcx)
1402285c4:	c3                   	ret
1402285c5:	cc                   	int3
1402285c6:	cc                   	int3
1402285c7:	cc                   	int3
1402285c8:	cc                   	int3
1402285c9:	cc                   	int3
1402285ca:	cc                   	int3
1402285cb:	cc                   	int3
1402285cc:	cc                   	int3
1402285cd:	cc                   	int3
1402285ce:	cc                   	int3
1402285cf:	cc                   	int3
1402285d0:	b8 28 00 00 00       	mov    $0x28,%eax
1402285d5:	e8 06 20 0d 00       	call   0x1402fa5e0
1402285da:	48 2b e0             	sub    %rax,%rsp
1402285dd:	48 85 c9             	test   %rcx,%rcx
1402285e0:	74 10                	je     0x1402285f2
1402285e2:	83 39 00             	cmpl   $0x0,(%rcx)
1402285e5:	74 0b                	je     0x1402285f2
1402285e7:	33 d2                	xor    %edx,%edx
1402285e9:	48 83 c4 28          	add    $0x28,%rsp
1402285ed:	e9 7e 00 00 00       	jmp    0x140228670
1402285f2:	33 c0                	xor    %eax,%eax
1402285f4:	48 83 c4 28          	add    $0x28,%rsp
1402285f8:	c3                   	ret
1402285f9:	cc                   	int3
1402285fa:	cc                   	int3
1402285fb:	cc                   	int3
1402285fc:	cc                   	int3
1402285fd:	cc                   	int3
1402285fe:	cc                   	int3
1402285ff:	cc                   	int3
140228600:	48 85 c9             	test   %rcx,%rcx
140228603:	74 47                	je     0x14022864c
140228605:	53                   	push   %rbx
140228606:	b8 20 00 00 00       	mov    $0x20,%eax
14022860b:	e8 d0 1f 0d 00       	call   0x1402fa5e0
140228610:	48 2b e0             	sub    %rax,%rsp
140228613:	83 79 10 00          	cmpl   $0x0,0x10(%rcx)
140228617:	48 8b d9             	mov    %rcx,%rbx
14022861a:	75 2b                	jne    0x140228647
14022861c:	4c 8b 49 18          	mov    0x18(%rcx),%r9
140228620:	4d 85 c9             	test   %r9,%r9
140228623:	74 22                	je     0x140228647
140228625:	48 63 01             	movslq (%rcx),%rax
140228628:	83 f8 01             	cmp    $0x1,%eax
14022862b:	7e 13                	jle    0x140228640
14022862d:	48 8b 49 08          	mov    0x8(%rcx),%rcx
140228631:	48 8b d0             	mov    %rax,%rdx
140228634:	41 b8 08 00 00 00    	mov    $0x8,%r8d
14022863a:	ff 15 f0 1b 10 00    	call   *0x101bf0(%rip)        # 0x14032a230
140228640:	c7 43 10 01 00 00 00 	movl   $0x1,0x10(%rbx)
140228647:	48 83 c4 20          	add    $0x20,%rsp
14022864b:	5b                   	pop    %rbx
14022864c:	c3                   	ret
14022864d:	cc                   	int3
14022864e:	cc                   	int3
14022864f:	cc                   	int3
140228650:	48 85 c9             	test   %rcx,%rcx
140228653:	74 14                	je     0x140228669
140228655:	85 d2                	test   %edx,%edx
140228657:	78 10                	js     0x140228669
140228659:	3b 11                	cmp    (%rcx),%edx
14022865b:	7d 0c                	jge    0x140228669
14022865d:	48 8b 41 08          	mov    0x8(%rcx),%rax
140228661:	48 63 d2             	movslq %edx,%rdx
140228664:	48 8b 04 d0          	mov    (%rax,%rdx,8),%rax
140228668:	c3                   	ret
140228669:	33 c0                	xor    %eax,%eax
14022866b:	c3                   	ret
14022866c:	cc                   	int3
14022866d:	cc                   	int3
14022866e:	cc                   	int3
14022866f:	cc                   	int3
140228670:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140228675:	57                   	push   %rdi
140228676:	b8 20 00 00 00       	mov    $0x20,%eax
14022867b:	e8 60 1f 0d 00       	call   0x1402fa5e0
140228680:	48 2b e0             	sub    %rax,%rsp
140228683:	4c 8b 51 08          	mov    0x8(%rcx),%r10
140228687:	48 8b d9             	mov    %rcx,%rbx
14022868a:	48 63 c2             	movslq %edx,%rax
14022868d:	49 8b 3c c2          	mov    (%r10,%rax,8),%rdi
140228691:	49 8d 0c c2          	lea    (%r10,%rax,8),%rcx
140228695:	44 8b 03             	mov    (%rbx),%r8d
140228698:	41 8d 40 ff          	lea    -0x1(%r8),%eax
14022869c:	3b d0                	cmp    %eax,%edx
14022869e:	74 1b                	je     0x1402286bb
1402286a0:	44 2b c2             	sub    %edx,%r8d
1402286a3:	41 ff c8             	dec    %r8d
1402286a6:	4d 63 c0             	movslq %r8d,%r8
1402286a9:	49 c1 e0 03          	shl    $0x3,%r8
1402286ad:	ff c2                	inc    %edx
1402286af:	4c 63 ca             	movslq %edx,%r9
1402286b2:	4b 8d 14 ca          	lea    (%r10,%r9,8),%rdx
1402286b6:	e8 73 43 0d 00       	call   0x1402fca2e
1402286bb:	ff 0b                	decl   (%rbx)
1402286bd:	48 8b c7             	mov    %rdi,%rax
1402286c0:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1402286c5:	48 83 c4 20          	add    $0x20,%rsp
1402286c9:	5f                   	pop    %rdi
1402286ca:	c3                   	ret
1402286cb:	cc                   	int3
1402286cc:	cc                   	int3
1402286cd:	cc                   	int3
1402286ce:	cc                   	int3
1402286cf:	cc                   	int3
1402286d0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1402286d5:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
1402286da:	57                   	push   %rdi
1402286db:	b8 30 00 00 00       	mov    $0x30,%eax
1402286e0:	e8 fb 1e 0d 00       	call   0x1402fa5e0
1402286e5:	48 2b e0             	sub    %rax,%rsp
1402286e8:	41 8b f8             	mov    %r8d,%edi
1402286eb:	48 8b d9             	mov    %rcx,%rbx
1402286ee:	48 85 c9             	test   %rcx,%rcx
1402286f1:	74 2d                	je     0x140228720
1402286f3:	4c 63 09             	movslq (%rcx),%r9
1402286f6:	45 85 c9             	test   %r9d,%r9d
1402286f9:	74 25                	je     0x140228720
1402286fb:	48 8b 41 18          	mov    0x18(%rcx),%rax
1402286ff:	48 85 c0             	test   %rax,%rax
140228702:	75 2c                	jne    0x140228730
140228704:	45 85 c9             	test   %r9d,%r9d
140228707:	7e 17                	jle    0x140228720
140228709:	48 8b 49 08          	mov    0x8(%rcx),%rcx
14022870d:	0f 1f 00             	nopl   (%rax)
140228710:	48 39 11             	cmp    %rdx,(%rcx)
140228713:	74 10                	je     0x140228725
140228715:	ff c0                	inc    %eax
140228717:	48 83 c1 08          	add    $0x8,%rcx
14022871b:	41 3b c1             	cmp    %r9d,%eax
14022871e:	7c f0                	jl     0x140228710
140228720:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
140228725:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14022872a:	48 83 c4 30          	add    $0x30,%rsp
14022872e:	5f                   	pop    %rdi
14022872f:	c3                   	ret
140228730:	83 79 10 00          	cmpl   $0x0,0x10(%rcx)
140228734:	75 28                	jne    0x14022875e
140228736:	41 83 f9 01          	cmp    $0x1,%r9d
14022873a:	7e 1b                	jle    0x140228757
14022873c:	48 8b 49 08          	mov    0x8(%rcx),%rcx
140228740:	49 8b d1             	mov    %r9,%rdx
140228743:	4c 8b c8             	mov    %rax,%r9
140228746:	41 b8 08 00 00 00    	mov    $0x8,%r8d
14022874c:	ff 15 de 1a 10 00    	call   *0x101ade(%rip)        # 0x14032a230
140228752:	48 8b 54 24 48       	mov    0x48(%rsp),%rdx
140228757:	c7 43 10 01 00 00 00 	movl   $0x1,0x10(%rbx)
14022875e:	48 85 d2             	test   %rdx,%rdx
140228761:	74 bd                	je     0x140228720
140228763:	48 8b 43 18          	mov    0x18(%rbx),%rax
140228767:	48 8d 4c 24 48       	lea    0x48(%rsp),%rcx
14022876c:	44 8b 03             	mov    (%rbx),%r8d
14022876f:	41 b9 08 00 00 00    	mov    $0x8,%r9d
140228775:	48 8b 53 08          	mov    0x8(%rbx),%rdx
140228779:	89 7c 24 28          	mov    %edi,0x28(%rsp)
14022877d:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140228782:	e8 79 62 01 00       	call   0x14023ea00
140228787:	48 85 c0             	test   %rax,%rax
14022878a:	74 94                	je     0x140228720
14022878c:	48 2b 43 08          	sub    0x8(%rbx),%rax
140228790:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140228795:	48 c1 f8 03          	sar    $0x3,%rax
140228799:	48 83 c4 30          	add    $0x30,%rsp
14022879d:	5f                   	pop    %rdi
14022879e:	c3                   	ret
14022879f:	cc                   	int3
1402287a0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1402287a5:	57                   	push   %rdi
1402287a6:	b8 30 00 00 00       	mov    $0x30,%eax
1402287ab:	e8 30 1e 0d 00       	call   0x1402fa5e0
1402287b0:	48 2b e0             	sub    %rax,%rsp
1402287b3:	48 8b f9             	mov    %rcx,%rdi
1402287b6:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
1402287bb:	8b 09                	mov    (%rcx),%ecx
1402287bd:	2b c1                	sub    %ecx,%eax
1402287bf:	3b d0                	cmp    %eax,%edx
1402287c1:	7f 5b                	jg     0x14022881e
1402287c3:	4c 8b 57 08          	mov    0x8(%rdi),%r10
1402287c7:	8d 1c 11             	lea    (%rcx,%rdx,1),%ebx
1402287ca:	b8 04 00 00 00       	mov    $0x4,%eax
1402287cf:	3b d8                	cmp    %eax,%ebx
1402287d1:	0f 4c d8             	cmovl  %eax,%ebx
1402287d4:	4d 85 d2             	test   %r10,%r10
1402287d7:	75 52                	jne    0x14022882b
1402287d9:	8b cb                	mov    %ebx,%ecx
1402287db:	48 8d 15 ee 45 13 00 	lea    0x1345ee(%rip),%rdx        # 0x14035cdd0
1402287e2:	48 c1 e1 03          	shl    $0x3,%rcx
1402287e6:	41 b8 b4 00 00 00    	mov    $0xb4,%r8d
1402287ec:	e8 4f 0e 00 00       	call   0x140229640
1402287f1:	48 89 47 08          	mov    %rax,0x8(%rdi)
1402287f5:	48 85 c0             	test   %rax,%rax
1402287f8:	0f 85 8e 00 00 00    	jne    0x14022888c
1402287fe:	4c 8d 0d cb 45 13 00 	lea    0x1345cb(%rip),%r9        # 0x14035cdd0
140228805:	c7 44 24 20 b5 00 00 	movl   $0xb5,0x20(%rsp)
14022880c:	00
14022880d:	ba 81 00 00 00       	mov    $0x81,%edx
140228812:	8d 48 0f             	lea    0xf(%rax),%ecx
140228815:	44 8d 40 41          	lea    0x41(%rax),%r8d
140228819:	e8 82 8b ff ff       	call   0x1402213a0
14022881e:	33 c0                	xor    %eax,%eax
140228820:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140228825:	48 83 c4 30          	add    $0x30,%rsp
140228829:	5f                   	pop    %rdi
14022882a:	c3                   	ret
14022882b:	8b 4f 14             	mov    0x14(%rdi),%ecx
14022882e:	45 85 c0             	test   %r8d,%r8d
140228831:	75 30                	jne    0x140228863
140228833:	3b d9                	cmp    %ecx,%ebx
140228835:	7e 58                	jle    0x14022888f
140228837:	81 f9 ff ff ff 7f    	cmp    $0x7fffffff,%ecx
14022883d:	7d df                	jge    0x14022881e
14022883f:	81 f9 55 55 55 55    	cmp    $0x55555555,%ecx
140228845:	7d 0b                	jge    0x140228852
140228847:	8b c1                	mov    %ecx,%eax
140228849:	99                   	cltd
14022884a:	2b c2                	sub    %edx,%eax
14022884c:	d1 f8                	sar    $1,%eax
14022884e:	03 c8                	add    %eax,%ecx
140228850:	eb 05                	jmp    0x140228857
140228852:	b9 ff ff ff 7f       	mov    $0x7fffffff,%ecx
140228857:	3b cb                	cmp    %ebx,%ecx
140228859:	7c dc                	jl     0x140228837
14022885b:	8b d9                	mov    %ecx,%ebx
14022885d:	85 c9                	test   %ecx,%ecx
14022885f:	74 bd                	je     0x14022881e
140228861:	eb 04                	jmp    0x140228867
140228863:	3b d9                	cmp    %ecx,%ebx
140228865:	74 28                	je     0x14022888f
140228867:	48 63 d3             	movslq %ebx,%rdx
14022886a:	4c 8d 05 5f 45 13 00 	lea    0x13455f(%rip),%r8        # 0x14035cdd0