140022358:	41 b9 04 00 00 00    	mov    $0x4,%r9d
14002235e:	0f b6 43 ff          	movzbl -0x1(%rbx),%eax
140022362:	45 31 d2             	xor    %r10d,%r10d
140022365:	49 83 c0 04          	add    $0x4,%r8
140022369:	31 c9                	xor    %ecx,%ecx
14002236b:	eb c2                	jmp    0x14002232f
14002236d:	0f 1f 00             	nopl   (%rax)
140022370:	48 85 c9             	test   %rcx,%rcx
140022373:	0f 84 f0 00 00 00    	je     0x140022469
140022379:	29 d9                	sub    %ebx,%ecx
14002237b:	41 83 e2 df          	and    $0xffffffdf,%r10d
14002237f:	8d 04 8d 00 00 00 00 	lea    0x0(,%rcx,4),%eax
140022386:	89 44 24 24          	mov    %eax,0x24(%rsp)
14002238a:	41 80 fa 50          	cmp    $0x50,%r10b
14002238e:	0f 84 17 01 00 00    	je     0x1400224ab
140022394:	49 89 5d 00          	mov    %rbx,0x0(%r13)
140022398:	e9 1c ff ff ff       	jmp    0x1400222b9
14002239d:	0f 1f 00             	nopl   (%rax)
1400223a0:	4c 89 db             	mov    %r11,%rbx
1400223a3:	4c 29 fb             	sub    %r15,%rbx
1400223a6:	48 39 de             	cmp    %rbx,%rsi
1400223a9:	72 98                	jb     0x140022343
1400223ab:	41 0f bd c2          	bsr    %r10d,%eax
1400223af:	83 f0 1f             	xor    $0x1f,%eax
1400223b2:	45 89 10             	mov    %r10d,(%r8)
1400223b5:	49 83 c0 04          	add    $0x4,%r8
1400223b9:	8b 75 00             	mov    0x0(%rbp),%esi
1400223bc:	4d 29 e8             	sub    %r13,%r8
1400223bf:	49 c1 f8 02          	sar    $0x2,%r8
1400223c3:	45 89 46 14          	mov    %r8d,0x14(%r14)
1400223c7:	41 c1 e0 05          	shl    $0x5,%r8d
1400223cb:	41 29 c0             	sub    %eax,%r8d
1400223ce:	41 39 f0             	cmp    %esi,%r8d
1400223d1:	0f 8f b9 04 00 00    	jg     0x140022890
1400223d7:	0f 8c c5 02 00 00    	jl     0x1400226a2
1400223dd:	8b 7c 24 24          	mov    0x24(%rsp),%edi
1400223e1:	39 7d 08             	cmp    %edi,0x8(%rbp)
1400223e4:	0f 8c 76 03 00 00    	jl     0x140022760
1400223ea:	8b 45 04             	mov    0x4(%rbp),%eax
1400223ed:	39 f8                	cmp    %edi,%eax
1400223ef:	0f 8e 48 03 00 00    	jle    0x14002273d
1400223f5:	89 c3                	mov    %eax,%ebx
1400223f7:	29 fb                	sub    %edi,%ebx
1400223f9:	39 f3                	cmp    %esi,%ebx
1400223fb:	0f 8d db 02 00 00    	jge    0x1400226dc
140022401:	44 8d 7b ff          	lea    -0x1(%rbx),%r15d
140022405:	31 ff                	xor    %edi,%edi
140022407:	45 85 ff             	test   %r15d,%r15d
14002240a:	0f 85 f6 07 00 00    	jne    0x140022c06
140022410:	44 89 fa             	mov    %r15d,%edx
140022413:	44 89 f9             	mov    %r15d,%ecx
140022416:	b8 01 00 00 00       	mov    $0x1,%eax
14002241b:	29 de                	sub    %ebx,%esi
14002241d:	c1 fa 05             	sar    $0x5,%edx
140022420:	d3 e0                	shl    %cl,%eax
140022422:	4c 89 f1             	mov    %r14,%rcx
140022425:	48 63 d2             	movslq %edx,%rdx
140022428:	41 23 44 95 00       	and    0x0(%r13,%rdx,4),%eax
14002242d:	89 da                	mov    %ebx,%edx
14002242f:	0f 84 23 06 00 00    	je     0x140022a58
140022435:	e8 c6 08 00 00       	call   0x140022d00
14002243a:	8b 45 04             	mov    0x4(%rbp),%eax
14002243d:	8b 5d 0c             	mov    0xc(%rbp),%ebx
140022440:	89 44 24 24          	mov    %eax,0x24(%rsp)
140022444:	83 fb 02             	cmp    $0x2,%ebx
140022447:	0f 84 67 07 00 00    	je     0x140022bb4
14002244d:	83 fb 03             	cmp    $0x3,%ebx
140022450:	0f 84 f1 07 00 00    	je     0x140022c47
140022456:	83 fb 01             	cmp    $0x1,%ebx
140022459:	0f 84 d5 07 00 00    	je     0x140022c34
14002245f:	bb 12 00 00 00       	mov    $0x12,%ebx
140022464:	e9 d9 02 00 00       	jmp    0x140022742
140022469:	0f b6 42 01          	movzbl 0x1(%rdx),%eax
14002246d:	b9 01 00 00 00       	mov    $0x1,%ecx
140022472:	84 c0                	test   %al,%al
140022474:	75 1a                	jne    0x140022490
140022476:	e9 9a 05 00 00       	jmp    0x140022a15
14002247b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140022480:	48 83 c1 01          	add    $0x1,%rcx
140022484:	0f b6 04 0a          	movzbl (%rdx,%rcx,1),%eax
140022488:	84 c0                	test   %al,%al
14002248a:	0f 84 85 05 00 00    	je     0x140022a15
140022490:	38 04 0b             	cmp    %al,(%rbx,%rcx,1)
140022493:	74 eb                	je     0x140022480
140022495:	0f b6 03             	movzbl (%rbx),%eax
140022498:	83 e0 df             	and    $0xffffffdf,%eax
14002249b:	3c 50                	cmp    $0x50,%al
14002249d:	0f 85 c8 03 00 00    	jne    0x14002286b
1400224a3:	c7 44 24 24 00 00 00 	movl   $0x0,0x24(%rsp)
1400224aa:	00
1400224ab:	45 31 ff             	xor    %r15d,%r15d
1400224ae:	0f b6 43 01          	movzbl 0x1(%rbx),%eax
1400224b2:	3c 2b                	cmp    $0x2b,%al
1400224b4:	0f 84 e6 02 00 00    	je     0x1400227a0
1400224ba:	3c 2d                	cmp    $0x2d,%al
1400224bc:	0f 85 ae 01 00 00    	jne    0x140022670
1400224c2:	c7 44 24 28 01 00 00 	movl   $0x1,0x28(%rsp)
1400224c9:	00
1400224ca:	0f b6 43 02          	movzbl 0x2(%rbx),%eax
1400224ce:	4c 8d 53 02          	lea    0x2(%rbx),%r10
1400224d2:	0f b6 04 07          	movzbl (%rdi,%rax,1),%eax
1400224d6:	85 c0                	test   %eax,%eax
1400224d8:	0f 84 aa 01 00 00    	je     0x140022688
1400224de:	83 f8 19             	cmp    $0x19,%eax
1400224e1:	0f 8f a1 01 00 00    	jg     0x140022688
1400224e7:	4d 8d 42 01          	lea    0x1(%r10),%r8
1400224eb:	45 0f b6 52 01       	movzbl 0x1(%r10),%r10d
1400224f0:	8d 48 f0             	lea    -0x10(%rax),%ecx
1400224f3:	46 0f b6 1c 17       	movzbl (%rdi,%r10,1),%r11d
1400224f8:	45 89 da             	mov    %r11d,%r10d
1400224fb:	41 83 ea 01          	sub    $0x1,%r10d
1400224ff:	41 80 fa 18          	cmp    $0x18,%r10b
140022503:	0f 87 24 06 00 00    	ja     0x140022b2d
140022509:	45 31 d2             	xor    %r10d,%r10d
14002250c:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
140022513:	00 00 00 00
140022517:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
14002251e:	00 00 00 00
140022522:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
140022529:	00 00 00 00
14002252d:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
140022534:	00 00 00 00
140022538:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
14002253f:	00
140022540:	31 c0                	xor    %eax,%eax
140022542:	81 f9 ff ff ff 07    	cmp    $0x7ffffff,%ecx
140022548:	0f 97 c0             	seta   %al
14002254b:	49 83 c0 01          	add    $0x1,%r8
14002254f:	41 09 c2             	or     %eax,%r10d
140022552:	8d 04 89             	lea    (%rcx,%rcx,4),%eax
140022555:	45 8d 34 43          	lea    (%r11,%rax,2),%r14d
140022559:	41 0f b6 00          	movzbl (%r8),%eax
14002255d:	41 8d 4e f0          	lea    -0x10(%r14),%ecx
140022561:	44 0f b6 1c 07       	movzbl (%rdi,%rax,1),%r11d
140022566:	44 89 d8             	mov    %r11d,%eax
140022569:	83 e8 01             	sub    $0x1,%eax
14002256c:	3c 18                	cmp    $0x18,%al
14002256e:	76 d0                	jbe    0x140022540
140022570:	b8 10 00 00 00       	mov    $0x10,%eax
140022575:	44 29 f0             	sub    %r14d,%eax
140022578:	44 8b 74 24 28       	mov    0x28(%rsp),%r14d
14002257d:	45 85 f6             	test   %r14d,%r14d
140022580:	0f 45 c8             	cmovne %eax,%ecx
140022583:	48 8d 46 ff          	lea    -0x1(%rsi),%rax
140022587:	45 85 c9             	test   %r9d,%r9d
14002258a:	4c 0f 44 c0          	cmove  %rax,%r8
14002258e:	4d 89 45 00          	mov    %r8,0x0(%r13)
140022592:	45 85 ff             	test   %r15d,%r15d
140022595:	0f 85 63 fc ff ff    	jne    0x1400221fe
14002259b:	45 85 d2             	test   %r10d,%r10d
14002259e:	0f 84 b8 05 00 00    	je     0x140022b5c
1400225a4:	8b 7c 24 28          	mov    0x28(%rsp),%edi
1400225a8:	8b 45 0c             	mov    0xc(%rbp),%eax
1400225ab:	85 ff                	test   %edi,%edi
1400225ad:	0f 84 fd 01 00 00    	je     0x1400227b0
1400225b3:	83 f8 02             	cmp    $0x2,%eax
1400225b6:	0f 84 73 03 00 00    	je     0x14002292f
1400225bc:	83 f8 03             	cmp    $0x3,%eax
1400225bf:	0f 85 63 01 00 00    	jne    0x140022728
1400225c5:	8b 9c 24 a0 00 00 00 	mov    0xa0(%rsp),%ebx
1400225cc:	85 db                	test   %ebx,%ebx
1400225ce:	0f 84 54 01 00 00    	je     0x140022728
1400225d4:	31 c9                	xor    %ecx,%ecx
1400225d6:	e8 55 0e 00 00       	call   0x140023430
1400225db:	49 89 c6             	mov    %rax,%r14
1400225de:	48 b8 01 00 00 00 01 	movabs $0x100000001,%rax
1400225e5:	00 00 00
1400225e8:	49 89 46 14          	mov    %rax,0x14(%r14)
1400225ec:	8b 45 04             	mov    0x4(%rbp),%eax
1400225ef:	48 8b bc 24 90 00 00 	mov    0x90(%rsp),%rdi
1400225f6:	00
1400225f7:	4d 89 34 24          	mov    %r14,(%r12)
1400225fb:	bb 62 00 00 00       	mov    $0x62,%ebx
140022600:	89 07                	mov    %eax,(%rdi)
140022602:	e8 09 20 00 00       	call   0x140024610
140022607:	c7 00 22 00 00 00    	movl   $0x22,(%rax)
14002260d:	e9 ee fb ff ff       	jmp    0x140022200
140022612:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140022618:	48 01 f1             	add    %rsi,%rcx
14002261b:	0f b6 01             	movzbl (%rcx),%eax
14002261e:	80 3c 07 00          	cmpb   $0x0,(%rdi,%rax,1)
140022622:	49 89 c0             	mov    %rax,%r8
140022625:	0f 84 b4 fb ff ff    	je     0x1400221df
14002262b:	48 89 ce             	mov    %rcx,%rsi
14002262e:	3c 30                	cmp    $0x30,%al
140022630:	75 29                	jne    0x14002265b
140022632:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
140022639:	00 00 00 00
14002263d:	0f 1f 00             	nopl   (%rax)
140022640:	0f b6 46 01          	movzbl 0x1(%rsi),%eax
140022644:	48 83 c6 01          	add    $0x1,%rsi
140022648:	3c 30                	cmp    $0x30,%al
14002264a:	74 f4                	je     0x140022640
14002264c:	44 0f b6 c0          	movzbl %al,%r8d
140022650:	42 80 3c 07 00       	cmpb   $0x0,(%rdi,%r8,1)
140022655:	0f 84 13 04 00 00    	je     0x140022a6e
14002265b:	41 b9 01 00 00 00    	mov    $0x1,%r9d
140022661:	e9 f0 fb ff ff       	jmp    0x140022256
140022666:	66 2e 0f 1f 84 00 00 	cs nopw 0x0(%rax,%rax,1)
14002266d:	00 00 00
140022670:	c7 44 24 28 00 00 00 	movl   $0x0,0x28(%rsp)
140022677:	00
140022678:	0f b6 04 07          	movzbl (%rdi,%rax,1),%eax
14002267c:	4c 8d 53 01          	lea    0x1(%rbx),%r10
140022680:	85 c0                	test   %eax,%eax
140022682:	0f 85 56 fe ff ff    	jne    0x1400224de
140022688:	49 89 5d 00          	mov    %rbx,0x0(%r13)
14002268c:	45 85 c9             	test   %r9d,%r9d
14002268f:	0f 85 1b fc ff ff    	jne    0x1400222b0
140022695:	48 8d 46 ff          	lea    -0x1(%rsi),%rax
140022699:	49 89 45 00          	mov    %rax,0x0(%r13)
14002269d:	e9 0e fc ff ff       	jmp    0x1400222b0
1400226a2:	89 f3                	mov    %esi,%ebx
1400226a4:	4c 89 f1             	mov    %r14,%rcx
1400226a7:	44 29 c3             	sub    %r8d,%ebx
1400226aa:	89 da                	mov    %ebx,%edx
1400226ac:	e8 5f 13 00 00       	call   0x140023a10
1400226b1:	29 5c 24 24          	sub    %ebx,0x24(%rsp)
1400226b5:	8b 7c 24 24          	mov    0x24(%rsp),%edi
1400226b9:	49 89 c6             	mov    %rax,%r14
1400226bc:	3b 7d 08             	cmp    0x8(%rbp),%edi
1400226bf:	0f 8f 9b 00 00 00    	jg     0x140022760
1400226c5:	8b 45 04             	mov    0x4(%rbp),%eax
1400226c8:	39 c7                	cmp    %eax,%edi
1400226ca:	7d 71                	jge    0x14002273d
1400226cc:	89 c3                	mov    %eax,%ebx
1400226ce:	4d 8d 6e 18          	lea    0x18(%r14),%r13
1400226d2:	29 fb                	sub    %edi,%ebx
1400226d4:	39 de                	cmp    %ebx,%esi
1400226d6:	0f 8f 25 fd ff ff    	jg     0x140022401
1400226dc:	31 ff                	xor    %edi,%edi
1400226de:	8b 55 0c             	mov    0xc(%rbp),%edx
1400226e1:	83 fa 02             	cmp    $0x2,%edx
1400226e4:	0f 84 a0 04 00 00    	je     0x140022b8a
1400226ea:	83 fa 03             	cmp    $0x3,%edx
1400226ed:	0f 84 9f 03 00 00    	je     0x140022a92
1400226f3:	83 fa 01             	cmp    $0x1,%edx
1400226f6:	75 28                	jne    0x140022720
1400226f8:	39 de                	cmp    %ebx,%esi
1400226fa:	75 24                	jne    0x140022720
1400226fc:	83 fe 01             	cmp    $0x1,%esi
1400226ff:	0f 84 9c 03 00 00    	je     0x140022aa1
140022705:	85 ff                	test   %edi,%edi
140022707:	0f 85 94 03 00 00    	jne    0x140022aa1
14002270d:	8d 56 ff             	lea    -0x1(%rsi),%edx
140022710:	4c 89 f1             	mov    %r14,%rcx
140022713:	e8 28 1c 00 00       	call   0x140024340
140022718:	85 c0                	test   %eax,%eax
14002271a:	0f 85 98 05 00 00    	jne    0x140022cb8
140022720:	4c 89 f1             	mov    %r14,%rcx
140022723:	e8 f8 0d 00 00       	call   0x140023520
140022728:	e8 e3 1e 00 00       	call   0x140024610
14002272d:	bb 50 00 00 00       	mov    $0x50,%ebx
140022732:	c7 00 22 00 00 00    	movl   $0x22,(%rax)
140022738:	e9 c3 fa ff ff       	jmp    0x140022200
14002273d:	bb 01 00 00 00       	mov    $0x1,%ebx
140022742:	48 8b 84 24 90 00 00 	mov    0x90(%rsp),%rax
140022749:	00
14002274a:	8b 7c 24 24          	mov    0x24(%rsp),%edi
14002274e:	4d 89 34 24          	mov    %r14,(%r12)
140022752:	89 38                	mov    %edi,(%rax)
140022754:	e9 a7 fa ff ff       	jmp    0x140022200
140022759:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140022760:	4c 89 f1             	mov    %r14,%rcx
140022763:	e8 b8 0d 00 00       	call   0x140023520
140022768:	e8 a3 1e 00 00       	call   0x140024610
14002276d:	c7 00 22 00 00 00    	movl   $0x22,(%rax)
140022773:	8b 45 0c             	mov    0xc(%rbp),%eax
140022776:	83 f8 02             	cmp    $0x2,%eax
140022779:	0f 84 68 02 00 00    	je     0x1400229e7
14002277f:	83 f8 03             	cmp    $0x3,%eax
140022782:	0f 84 49 02 00 00    	je     0x1400229d1
140022788:	85 c0                	test   %eax,%eax
14002278a:	74 3b                	je     0x1400227c7
14002278c:	bb a3 00 00 00       	mov    $0xa3,%ebx
140022791:	e9 6a fa ff ff       	jmp    0x140022200
140022796:	66 2e 0f 1f 84 00 00 	cs nopw 0x0(%rax,%rax,1)
14002279d:	00 00 00
1400227a0:	c7 44 24 28 00 00 00 	movl   $0x0,0x28(%rsp)
1400227a7:	00
1400227a8:	e9 1d fd ff ff       	jmp    0x1400224ca
1400227ad:	0f 1f 00             	nopl   (%rax)
1400227b0:	83 f8 02             	cmp    $0x2,%eax
1400227b3:	0f 84 e2 01 00 00    	je     0x14002299b
1400227b9:	83 f8 03             	cmp    $0x3,%eax
1400227bc:	0f 84 a3 01 00 00    	je     0x140022965
1400227c2:	83 f8 01             	cmp    $0x1,%eax
1400227c5:	74 a1                	je     0x140022768
1400227c7:	8b 75 00             	mov    0x0(%rbp),%esi
1400227ca:	41 89 f5             	mov    %esi,%r13d
1400227cd:	83 e6 1f             	and    $0x1f,%esi
1400227d0:	41 c1 fd 05          	sar    $0x5,%r13d
1400227d4:	83 fe 01             	cmp    $0x1,%esi
1400227d7:	44 89 ef             	mov    %r13d,%edi
1400227da:	83 df ff             	sbb    $0xffffffff,%edi
1400227dd:	31 c9                	xor    %ecx,%ecx
1400227df:	89 f8                	mov    %edi,%eax
1400227e1:	d1 f8                	sar    $1,%eax
1400227e3:	74 12                	je     0x1400227f7
1400227e5:	0f 1f 00             	nopl   (%rax)
1400227e8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
1400227ef:	00
1400227f0:	83 c1 01             	add    $0x1,%ecx
1400227f3:	d1 f8                	sar    $1,%eax
1400227f5:	75 f9                	jne    0x1400227f0
1400227f7:	e8 34 0c 00 00       	call   0x140023430
1400227fc:	49 89 04 24          	mov    %rax,(%r12)
140022800:	48 89 c3             	mov    %rax,%rbx
140022803:	89 78 14             	mov    %edi,0x14(%rax)
140022806:	45 85 ed             	test   %r13d,%r13d
140022809:	0f 8e 7c 02 00 00    	jle    0x140022a8b
14002280f:	44 89 e8             	mov    %r13d,%eax
140022812:	48 8d 4b 18          	lea    0x18(%rbx),%rcx
140022816:	ba ff 00 00 00       	mov    $0xff,%edx
14002281b:	4c 8d 04 85 00 00 00 	lea    0x0(,%rax,4),%r8
140022822:	00
140022823:	e8 a0 1f 00 00       	call   0x1400247c8
140022828:	49 63 c5             	movslq %r13d,%rax
14002282b:	44 39 ef             	cmp    %r13d,%edi
14002282e:	7e 12                	jle    0x140022842
140022830:	b9 20 00 00 00       	mov    $0x20,%ecx
140022835:	ba ff ff ff ff       	mov    $0xffffffff,%edx
14002283a:	29 f1                	sub    %esi,%ecx
14002283c:	d3 ea                	shr    %cl,%edx
14002283e:	89 54 83 18          	mov    %edx,0x18(%rbx,%rax,4)
140022842:	8b 45 08             	mov    0x8(%rbp),%eax
140022845:	48 8b bc 24 90 00 00 	mov    0x90(%rsp),%rdi
14002284c:	00
14002284d:	bb 11 00 00 00       	mov    $0x11,%ebx
140022852:	89 07                	mov    %eax,(%rdi)
140022854:	e9 a7 f9 ff ff       	jmp    0x140022200
140022859:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140022860:	83 e0 df             	and    $0xffffffdf,%eax
140022863:	3c 50                	cmp    $0x50,%al
140022865:	0f 84 38 fc ff ff    	je     0x1400224a3
14002286b:	49 89 5d 00          	mov    %rbx,0x0(%r13)
14002286f:	c7 44 24 24 00 00 00 	movl   $0x0,0x24(%rsp)
140022876:	00
140022877:	e9 3d fa ff ff       	jmp    0x1400222b9
14002287c:	0f 1f 40 00          	nopl   0x0(%rax)
140022880:	48 8d 70 02          	lea    0x2(%rax),%rsi
140022884:	45 31 c9             	xor    %r9d,%r9d
140022887:	e9 2d f9 ff ff       	jmp    0x1400221b9
14002288c:	0f 1f 40 00          	nopl   0x0(%rax)
140022890:	44 89 c3             	mov    %r8d,%ebx
140022893:	4c 89 f1             	mov    %r14,%rcx
140022896:	29 f3                	sub    %esi,%ebx
140022898:	89 da                	mov    %ebx,%edx
14002289a:	e8 a1 1a 00 00       	call   0x140024340
14002289f:	89 c7                	mov    %eax,%edi