14002212c:	90                   	nop
14002212d:	90                   	nop
14002212e:	90                   	nop
14002212f:	90                   	nop
140022130:	90                   	nop
140022131:	90                   	nop
140022132:	90                   	nop
140022133:	90                   	nop
140022134:	90                   	nop
140022135:	90                   	nop
140022136:	90                   	nop
140022137:	90                   	nop
140022138:	90                   	nop
140022139:	90                   	nop
14002213a:	90                   	nop
14002213b:	90                   	nop
14002213c:	90                   	nop
14002213d:	90                   	nop
14002213e:	90                   	nop
14002213f:	90                   	nop
140022140:	41 57                	push   %r15
140022142:	41 56                	push   %r14
140022144:	41 55                	push   %r13
140022146:	41 54                	push   %r12
140022148:	55                   	push   %rbp
140022149:	57                   	push   %rdi
14002214a:	56                   	push   %rsi
14002214b:	53                   	push   %rbx
14002214c:	48 83 ec 38          	sub    $0x38,%rsp
140022150:	4c 89 84 24 90 00 00 	mov    %r8,0x90(%rsp)
140022157:	00
140022158:	49 89 cd             	mov    %rcx,%r13
14002215b:	48 89 d5             	mov    %rdx,%rbp
14002215e:	4d 89 cc             	mov    %r9,%r12
140022161:	e8 2a 26 00 00       	call   0x140024790
140022166:	48 8b 10             	mov    (%rax),%rdx
140022169:	49 8b 45 00          	mov    0x0(%r13),%rax
14002216d:	49 c7 04 24 00 00 00 	movq   $0x0,(%r12)
140022174:	00
140022175:	44 0f b6 40 02       	movzbl 0x2(%rax),%r8d
14002217a:	41 80 f8 30          	cmp    $0x30,%r8b
14002217e:	0f 85 fc 06 00 00    	jne    0x140022880
140022184:	48 8d 48 03          	lea    0x3(%rax),%rcx
140022188:	48 89 c8             	mov    %rcx,%rax
14002218b:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
140022192:	00 00 00 00
140022196:	66 2e 0f 1f 84 00 00 	cs nopw 0x0(%rax,%rax,1)
14002219d:	00 00 00
1400221a0:	48 89 c6             	mov    %rax,%rsi
1400221a3:	44 0f b6 00          	movzbl (%rax),%r8d
1400221a7:	48 83 c0 01          	add    $0x1,%rax
1400221ab:	41 80 f8 30          	cmp    $0x30,%r8b
1400221af:	74 ef                	je     0x1400221a0
1400221b1:	89 f0                	mov    %esi,%eax
1400221b3:	29 c8                	sub    %ecx,%eax
1400221b5:	44 8d 48 01          	lea    0x1(%rax),%r9d
1400221b9:	48 8b 3d 40 4a 02 00 	mov    0x24a40(%rip),%rdi        # 0x140046c00
1400221c0:	41 0f b6 c0          	movzbl %r8b,%eax
1400221c4:	44 0f b6 12          	movzbl (%rdx),%r10d
1400221c8:	80 3c 07 00          	cmpb   $0x0,(%rdi,%rax,1)
1400221cc:	0f 85 7e 00 00 00    	jne    0x140022250
1400221d2:	44 89 d0             	mov    %r10d,%eax
1400221d5:	31 c9                	xor    %ecx,%ecx
1400221d7:	45 84 d2             	test   %r10b,%r10b
1400221da:	75 54                	jne    0x140022230
1400221dc:	48 89 f1             	mov    %rsi,%rcx
1400221df:	44 89 c0             	mov    %r8d,%eax
1400221e2:	83 e0 df             	and    $0xffffffdf,%eax
1400221e5:	3c 50                	cmp    $0x50,%al
1400221e7:	0f 84 87 09 00 00    	je     0x140022b74
1400221ed:	45 85 c9             	test   %r9d,%r9d
1400221f0:	0f 85 ca 0a 00 00    	jne    0x140022cc0
1400221f6:	48 83 ee 01          	sub    $0x1,%rsi
1400221fa:	49 89 75 00          	mov    %rsi,0x0(%r13)
1400221fe:	31 db                	xor    %ebx,%ebx
140022200:	89 d8                	mov    %ebx,%eax
140022202:	48 83 c4 38          	add    $0x38,%rsp
140022206:	5b                   	pop    %rbx
140022207:	5e                   	pop    %rsi
140022208:	5f                   	pop    %rdi
140022209:	5d                   	pop    %rbp
14002220a:	41 5c                	pop    %r12
14002220c:	41 5d                	pop    %r13
14002220e:	41 5e                	pop    %r14
140022210:	41 5f                	pop    %r15
140022212:	c3                   	ret
140022213:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
14002221a:	00 00 00 00
14002221e:	66 90                	xchg   %ax,%ax
140022220:	48 83 c1 01          	add    $0x1,%rcx
140022224:	0f b6 04 0a          	movzbl (%rdx,%rcx,1),%eax
140022228:	84 c0                	test   %al,%al
14002222a:	0f 84 e8 03 00 00    	je     0x140022618
140022230:	38 04 0e             	cmp    %al,(%rsi,%rcx,1)
140022233:	74 eb                	je     0x140022220
140022235:	44 89 c0             	mov    %r8d,%eax
140022238:	83 e0 df             	and    $0xffffffdf,%eax
14002223b:	3c 50                	cmp    $0x50,%al
14002223d:	0f 84 5b 09 00 00    	je     0x140022b9e
140022243:	45 85 c9             	test   %r9d,%r9d
140022246:	74 ae                	je     0x1400221f6
140022248:	eb b0                	jmp    0x1400221fa
14002224a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140022250:	41 83 c1 01          	add    $0x1,%r9d
140022254:	31 c9                	xor    %ecx,%ecx
140022256:	48 89 f3             	mov    %rsi,%rbx
140022259:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140022260:	44 0f b6 43 01       	movzbl 0x1(%rbx),%r8d
140022265:	48 83 c3 01          	add    $0x1,%rbx
140022269:	42 80 3c 07 00       	cmpb   $0x0,(%rdi,%r8,1)
14002226e:	4c 89 c0             	mov    %r8,%rax
140022271:	75 ed                	jne    0x140022260
140022273:	45 38 d0             	cmp    %r10b,%r8b
140022276:	0f 84 f4 00 00 00    	je     0x140022370
14002227c:	48 85 c9             	test   %rcx,%rcx
14002227f:	0f 84 db 05 00 00    	je     0x140022860
140022285:	45 31 ff             	xor    %r15d,%r15d
140022288:	29 d9                	sub    %ebx,%ecx
14002228a:	83 e0 df             	and    $0xffffffdf,%eax
14002228d:	8d 0c 8d 00 00 00 00 	lea    0x0(,%rcx,4),%ecx
140022294:	89 4c 24 24          	mov    %ecx,0x24(%rsp)
140022298:	3c 50                	cmp    $0x50,%al
14002229a:	0f 84 0e 02 00 00    	je     0x1400224ae
1400222a0:	49 89 5d 00          	mov    %rbx,0x0(%r13)
1400222a4:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
1400222ab:	00 00 00 00
1400222af:	90                   	nop
1400222b0:	45 85 ff             	test   %r15d,%r15d
1400222b3:	0f 85 45 ff ff ff    	jne    0x1400221fe
1400222b9:	48 89 d8             	mov    %rbx,%rax
1400222bc:	31 c9                	xor    %ecx,%ecx
1400222be:	48 29 f0             	sub    %rsi,%rax
1400222c1:	83 e8 01             	sub    $0x1,%eax
1400222c4:	83 f8 07             	cmp    $0x7,%eax
1400222c7:	7e 11                	jle    0x1400222da
1400222c9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
1400222d0:	d1 f8                	sar    $1,%eax
1400222d2:	83 c1 01             	add    $0x1,%ecx
1400222d5:	83 f8 07             	cmp    $0x7,%eax
1400222d8:	7f f6                	jg     0x1400222d0
1400222da:	48 89 54 24 28       	mov    %rdx,0x28(%rsp)
1400222df:	e8 4c 11 00 00       	call   0x140023430
1400222e4:	48 8b 54 24 28       	mov    0x28(%rsp),%rdx
1400222e9:	49 89 c6             	mov    %rax,%r14
1400222ec:	4c 8d 68 18          	lea    0x18(%rax),%r13
1400222f0:	80 7a 01 00          	cmpb   $0x0,0x1(%rdx)
1400222f4:	0f 84 03 07 00 00    	je     0x1400229fd
1400222fa:	48 8d 4a 02          	lea    0x2(%rdx),%rcx
1400222fe:	e8 1d 25 00 00       	call   0x140024820
140022303:	48 8b 54 24 28       	mov    0x28(%rsp),%rdx
140022308:	4c 8d 78 01          	lea    0x1(%rax),%r15
14002230c:	48 39 de             	cmp    %rbx,%rsi
14002230f:	0f 83 f0 06 00 00    	jae    0x140022a05
140022315:	4c 01 fa             	add    %r15,%rdx
140022318:	4d 89 e8             	mov    %r13,%r8
14002231b:	45 31 d2             	xor    %r10d,%r10d
14002231e:	45 31 c9             	xor    %r9d,%r9d
140022321:	eb 20                	jmp    0x140022343
140022323:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140022328:	44 89 c9             	mov    %r9d,%ecx
14002232b:	41 83 c1 04          	add    $0x4,%r9d
14002232f:	0f b6 04 07          	movzbl (%rdi,%rax,1),%eax
140022333:	4c 89 db             	mov    %r11,%rbx
140022336:	83 e0 0f             	and    $0xf,%eax
140022339:	d3 e0                	shl    %cl,%eax
14002233b:	41 09 c2             	or     %eax,%r10d
14002233e:	48 39 de             	cmp    %rbx,%rsi
140022341:	73 68                	jae    0x1400223ab
140022343:	0f b6 43 ff          	movzbl -0x1(%rbx),%eax
140022347:	4c 8d 5b ff          	lea    -0x1(%rbx),%r11
14002234b:	3a 02                	cmp    (%rdx),%al
14002234d:	74 51                	je     0x1400223a0
14002234f:	41 83 f9 20          	cmp    $0x20,%r9d
140022353:	75 d3                	jne    0x140022328
140022355:	45 89 10             	mov    %r10d,(%r8)
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