18012c125:	45 84 c9             	test   %r9b,%r9b
18012c128:	0f 84 67 06 00 00    	je     0x18012c795
18012c12e:	48 8d 0d 6b 5f 01 00 	lea    0x15f6b(%rip),%rcx        # 0x1801420a0
18012c135:	44 8d 5b 10          	lea    0x10(%rbx),%r11d
18012c139:	49 ff c4             	inc    %r12
18012c13c:	45 85 ff             	test   %r15d,%r15d
18012c13f:	0f 88 50 06 00 00    	js     0x18012c795
18012c145:	41 8d 41 e0          	lea    -0x20(%r9),%eax
18012c149:	3c 5a                	cmp    $0x5a,%al
18012c14b:	77 0e                	ja     0x18012c15b
18012c14d:	49 0f be c1          	movsbq %r9b,%rax
18012c151:	0f be 4c 08 e0       	movsbl -0x20(%rax,%rcx,1),%ecx
18012c156:	83 e1 0f             	and    $0xf,%ecx
18012c159:	eb 03                	jmp    0x18012c15e
18012c15b:	41 8b ca             	mov    %r10d,%ecx
18012c15e:	41 8d 04 c8          	lea    (%r8,%rcx,8),%eax
18012c162:	41 0f be d1          	movsbl %r9b,%edx
18012c166:	48 63 c8             	movslq %eax,%rcx
18012c169:	48 8d 05 30 5f 01 00 	lea    0x15f30(%rip),%rax        # 0x1801420a0
18012c170:	44 0f be 04 01       	movsbl (%rcx,%rax,1),%r8d
18012c175:	41 c1 f8 04          	sar    $0x4,%r8d
18012c179:	44 89 44 24 4c       	mov    %r8d,0x4c(%rsp)
18012c17e:	41 8b c8             	mov    %r8d,%ecx
18012c181:	45 85 c0             	test   %r8d,%r8d
18012c184:	0f 84 cd 05 00 00    	je     0x18012c757
18012c18a:	83 e9 01             	sub    $0x1,%ecx
18012c18d:	0f 84 c2 06 00 00    	je     0x18012c855
18012c193:	83 e9 01             	sub    $0x1,%ecx
18012c196:	0f 84 6e 06 00 00    	je     0x18012c80a
18012c19c:	83 e9 01             	sub    $0x1,%ecx
18012c19f:	0f 84 2c 06 00 00    	je     0x18012c7d1
18012c1a5:	83 e9 01             	sub    $0x1,%ecx
18012c1a8:	0f 84 19 06 00 00    	je     0x18012c7c7
18012c1ae:	83 e9 01             	sub    $0x1,%ecx
18012c1b1:	0f 84 e6 05 00 00    	je     0x18012c79d
18012c1b7:	83 e9 01             	sub    $0x1,%ecx
18012c1ba:	0f 84 e2 04 00 00    	je     0x18012c6a2
18012c1c0:	83 f9 01             	cmp    $0x1,%ecx
18012c1c3:	0f 85 b8 05 00 00    	jne    0x18012c781
18012c1c9:	83 fa 69             	cmp    $0x69,%edx
18012c1cc:	0f 8f 7f 01 00 00    	jg     0x18012c351
18012c1d2:	74 31                	je     0x18012c205
18012c1d4:	83 ea 43             	sub    $0x43,%edx
18012c1d7:	0f 84 17 01 00 00    	je     0x18012c2f4
18012c1dd:	41 2b d3             	sub    %r11d,%edx
18012c1e0:	0f 84 be 00 00 00    	je     0x18012c2a4
18012c1e6:	83 ea 05             	sub    $0x5,%edx
18012c1e9:	0f 84 e4 01 00 00    	je     0x18012c3d3
18012c1ef:	83 ea 02             	sub    $0x2,%edx
18012c1f2:	74 3c                	je     0x18012c230
18012c1f4:	83 ea 09             	sub    $0x9,%edx
18012c1f7:	0f 84 03 01 00 00    	je     0x18012c300
18012c1fd:	3b d1                	cmp    %ecx,%edx
18012c1ff:	0f 85 34 03 00 00    	jne    0x18012c539
18012c205:	83 cf 40             	or     $0x40,%edi
18012c208:	41 ba 0a 00 00 00    	mov    $0xa,%r10d
18012c20e:	ba 00 02 00 00       	mov    $0x200,%edx
18012c213:	49 83 c5 08          	add    $0x8,%r13
18012c217:	0f ba e7 0f          	bt     $0xf,%edi
18012c21b:	72 0a                	jb     0x18012c227
18012c21d:	0f ba e7 0c          	bt     $0xc,%edi
18012c221:	0f 83 ee 01 00 00    	jae    0x18012c415
18012c227:	49 8b 45 f8          	mov    -0x8(%r13),%rax
18012c22b:	e9 10 02 00 00       	jmp    0x18012c440
18012c230:	49 8b 55 00          	mov    0x0(%r13),%rdx
18012c234:	49 83 c5 08          	add    $0x8,%r13
18012c238:	48 85 d2             	test   %rdx,%rdx
18012c23b:	74 47                	je     0x18012c284
18012c23d:	48 8b 5a 08          	mov    0x8(%rdx),%rbx
18012c241:	48 85 db             	test   %rbx,%rbx
18012c244:	74 3e                	je     0x18012c284
18012c246:	0f b7 02             	movzwl (%rdx),%eax
18012c249:	66 39 42 02          	cmp    %ax,0x2(%rdx)
18012c24d:	0f 82 28 06 00 00    	jb     0x18012c87b
18012c253:	8b c8                	mov    %eax,%ecx
18012c255:	0f ba e7 0b          	bt     $0xb,%edi
18012c259:	73 22                	jae    0x18012c27d
18012c25b:	f7 d0                	not    %eax
18012c25d:	a8 01                	test   $0x1,%al
18012c25f:	0f 84 16 06 00 00    	je     0x18012c87b
18012c265:	8b c3                	mov    %ebx,%eax
18012c267:	f7 d0                	not    %eax
18012c269:	a8 01                	test   $0x1,%al
18012c26b:	0f 84 0a 06 00 00    	je     0x18012c87b
18012c271:	c7 44 24 44 01 00 00 	movl   $0x1,0x44(%rsp)
18012c278:	00
18012c279:	d1 e9                	shr    $1,%ecx
18012c27b:	eb 1e                	jmp    0x18012c29b
18012c27d:	44 89 54 24 44       	mov    %r10d,0x44(%rsp)
18012c282:	eb 17                	jmp    0x18012c29b
18012c284:	48 8d 05 fd 5d 01 00 	lea    0x15dfd(%rip),%rax        # 0x180142088
18012c28b:	48 83 c9 ff          	or     $0xffffffffffffffff,%rcx
18012c28f:	48 8b d8             	mov    %rax,%rbx
18012c292:	48 ff c1             	inc    %rcx
18012c295:	44 38 14 08          	cmp    %r10b,(%rax,%rcx,1)
18012c299:	75 f7                	jne    0x18012c292
18012c29b:	89 4c 24 40          	mov    %ecx,0x40(%rsp)
18012c29f:	e9 95 02 00 00       	jmp    0x18012c539
18012c2a4:	f7 c7 30 08 00 00    	test   $0x830,%edi
18012c2aa:	75 04                	jne    0x18012c2b0
18012c2ac:	0f ba ef 0b          	bts    $0xb,%edi
18012c2b0:	49 8b 5d 00          	mov    0x0(%r13),%rbx
18012c2b4:	83 fe ff             	cmp    $0xffffffff,%esi
18012c2b7:	8b ce                	mov    %esi,%ecx
18012c2b9:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
18012c2be:	0f 44 c8             	cmove  %eax,%ecx
18012c2c1:	49 83 c5 08          	add    $0x8,%r13
18012c2c5:	f7 c7 10 08 00 00    	test   $0x810,%edi
18012c2cb:	0f 84 cf 00 00 00    	je     0x18012c3a0
18012c2d1:	48 8b c3             	mov    %rbx,%rax
18012c2d4:	48 85 db             	test   %rbx,%rbx
18012c2d7:	75 0e                	jne    0x18012c2e7
18012c2d9:	48 8d 1d b0 5d 01 00 	lea    0x15db0(%rip),%rbx        # 0x180142090
18012c2e0:	48 8d 05 a9 5d 01 00 	lea    0x15da9(%rip),%rax        # 0x180142090
18012c2e7:	c7 44 24 44 01 00 00 	movl   $0x1,0x44(%rsp)
18012c2ee:	00
18012c2ef:	e9 a0 00 00 00       	jmp    0x18012c394
18012c2f4:	f7 c7 30 08 00 00    	test   $0x830,%edi
18012c2fa:	75 04                	jne    0x18012c300
18012c2fc:	0f ba ef 0b          	bts    $0xb,%edi
18012c300:	49 83 c5 08          	add    $0x8,%r13
18012c304:	f7 c7 10 08 00 00    	test   $0x810,%edi
18012c30a:	74 2b                	je     0x18012c337
18012c30c:	45 0f b7 4d f8       	movzwl -0x8(%r13),%r9d
18012c311:	48 8d 54 24 70       	lea    0x70(%rsp),%rdx
18012c316:	41 b8 00 02 00 00    	mov    $0x200,%r8d
18012c31c:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
18012c321:	e8 a2 15 00 00       	call   0x18012d8c8
18012c326:	45 33 d2             	xor    %r10d,%r10d
18012c329:	85 c0                	test   %eax,%eax
18012c32b:	74 1a                	je     0x18012c347
18012c32d:	c7 44 24 50 01 00 00 	movl   $0x1,0x50(%rsp)
18012c334:	00
18012c335:	eb 10                	jmp    0x18012c347
18012c337:	41 8a 45 f8          	mov    -0x8(%r13),%al
18012c33b:	88 44 24 70          	mov    %al,0x70(%rsp)
18012c33f:	c7 44 24 40 01 00 00 	movl   $0x1,0x40(%rsp)
18012c346:	00
18012c347:	48 8d 5c 24 70       	lea    0x70(%rsp),%rbx
18012c34c:	e9 e8 01 00 00       	jmp    0x18012c539
18012c351:	83 ea 6e             	sub    $0x6e,%edx
18012c354:	0f 84 a7 01 00 00    	je     0x18012c501
18012c35a:	83 ea 01             	sub    $0x1,%edx
18012c35d:	0f 84 97 00 00 00    	je     0x18012c3fa
18012c363:	83 ea 01             	sub    $0x1,%edx
18012c366:	74 64                	je     0x18012c3cc
18012c368:	83 ea 03             	sub    $0x3,%edx
18012c36b:	0f 84 3f ff ff ff    	je     0x18012c2b0
18012c371:	83 ea 02             	sub    $0x2,%edx
18012c374:	0f 84 8e fe ff ff    	je     0x18012c208
18012c37a:	83 fa 03             	cmp    $0x3,%edx
18012c37d:	0f 85 b6 01 00 00    	jne    0x18012c539
18012c383:	8d 42 24             	lea    0x24(%rdx),%eax
18012c386:	eb 50                	jmp    0x18012c3d8
18012c388:	ff c9                	dec    %ecx
18012c38a:	66 44 39 10          	cmp    %r10w,(%rax)
18012c38e:	74 08                	je     0x18012c398
18012c390:	48 83 c0 02          	add    $0x2,%rax
18012c394:	85 c9                	test   %ecx,%ecx
18012c396:	75 f0                	jne    0x18012c388
18012c398:	48 2b c3             	sub    %rbx,%rax
18012c39b:	48 d1 f8             	sar    $1,%rax
18012c39e:	eb 23                	jmp    0x18012c3c3
18012c3a0:	48 85 db             	test   %rbx,%rbx
18012c3a3:	48 8d 05 de 5c 01 00 	lea    0x15cde(%rip),%rax        # 0x180142088
18012c3aa:	48 0f 45 c3          	cmovne %rbx,%rax
18012c3ae:	48 8b d8             	mov    %rax,%rbx
18012c3b1:	eb 0a                	jmp    0x18012c3bd
18012c3b3:	ff c9                	dec    %ecx
18012c3b5:	44 38 10             	cmp    %r10b,(%rax)
18012c3b8:	74 07                	je     0x18012c3c1
18012c3ba:	48 ff c0             	inc    %rax
18012c3bd:	85 c9                	test   %ecx,%ecx
18012c3bf:	75 f2                	jne    0x18012c3b3
18012c3c1:	2b c3                	sub    %ebx,%eax
18012c3c3:	89 44 24 40          	mov    %eax,0x40(%rsp)
18012c3c7:	e9 6d 01 00 00       	jmp    0x18012c539
18012c3cc:	41 8b f3             	mov    %r11d,%esi
18012c3cf:	0f ba ef 0f          	bts    $0xf,%edi
18012c3d3:	b8 07 00 00 00       	mov    $0x7,%eax
18012c3d8:	89 44 24 54          	mov    %eax,0x54(%rsp)
18012c3dc:	40 84 ff             	test   %dil,%dil
18012c3df:	79 11                	jns    0x18012c3f2
18012c3e1:	04 51                	add    $0x51,%al
18012c3e3:	c6 44 24 38 30       	movb   $0x30,0x38(%rsp)
18012c3e8:	88 44 24 39          	mov    %al,0x39(%rsp)
18012c3ec:	41 be 02 00 00 00    	mov    $0x2,%r14d
18012c3f2:	4d 8b d3             	mov    %r11,%r10
18012c3f5:	e9 14 fe ff ff       	jmp    0x18012c20e
18012c3fa:	41 ba 08 00 00 00    	mov    $0x8,%r10d
18012c400:	40 84 ff             	test   %dil,%dil
18012c403:	0f 89 05 fe ff ff    	jns    0x18012c20e
18012c409:	ba 00 02 00 00       	mov    $0x200,%edx
18012c40e:	0b fa                	or     %edx,%edi
18012c410:	e9 fe fd ff ff       	jmp    0x18012c213
18012c415:	8b c7                	mov    %edi,%eax
18012c417:	83 e0 40             	and    $0x40,%eax
18012c41a:	40 f6 c7 20          	test   $0x20,%dil
18012c41e:	74 12                	je     0x18012c432
18012c420:	85 c0                	test   %eax,%eax
18012c422:	74 07                	je     0x18012c42b
18012c424:	49 0f bf 45 f8       	movswq -0x8(%r13),%rax
18012c429:	eb 15                	jmp    0x18012c440
18012c42b:	41 0f b7 45 f8       	movzwl -0x8(%r13),%eax
18012c430:	eb 0e                	jmp    0x18012c440
18012c432:	85 c0                	test   %eax,%eax
18012c434:	74 06                	je     0x18012c43c
18012c436:	49 63 45 f8          	movslq -0x8(%r13),%rax
18012c43a:	eb 04                	jmp    0x18012c440
18012c43c:	41 8b 45 f8          	mov    -0x8(%r13),%eax
18012c440:	40 f6 c7 40          	test   $0x40,%dil
18012c444:	74 0c                	je     0x18012c452
18012c446:	48 85 c0             	test   %rax,%rax
18012c449:	79 07                	jns    0x18012c452
18012c44b:	48 f7 d8             	neg    %rax
18012c44e:	0f ba ef 08          	bts    $0x8,%edi
18012c452:	f7 c7 00 90 00 00    	test   $0x9000,%edi
18012c458:	44 8b c0             	mov    %eax,%r8d
18012c45b:	4c 0f 45 c0          	cmovne %rax,%r8
18012c45f:	85 f6                	test   %esi,%esi
18012c461:	79 07                	jns    0x18012c46a
18012c463:	be 01 00 00 00       	mov    $0x1,%esi
18012c468:	eb 08                	jmp    0x18012c472
18012c46a:	83 e7 f7             	and    $0xfffffff7,%edi
18012c46d:	3b f2                	cmp    %edx,%esi
18012c46f:	0f 4f f2             	cmovg  %edx,%esi
18012c472:	49 8b c0             	mov    %r8,%rax
18012c475:	48 8d 9d 6f 01 00 00 	lea    0x16f(%rbp),%rbx
18012c47c:	48 f7 d8             	neg    %rax
18012c47f:	1b c9                	sbb    %ecx,%ecx
18012c481:	41 23 ce             	and    %r14d,%ecx
18012c484:	44 8b 74 24 54       	mov    0x54(%rsp),%r14d
18012c489:	89 4c 24 30          	mov    %ecx,0x30(%rsp)
18012c48d:	44 8b c9             	mov    %ecx,%r9d
18012c490:	8b ce                	mov    %esi,%ecx
18012c492:	ff ce                	dec    %esi
18012c494:	85 c9                	test   %ecx,%ecx
18012c496:	7f 05                	jg     0x18012c49d
18012c498:	4d 85 c0             	test   %r8,%r8
18012c49b:	74 20                	je     0x18012c4bd
18012c49d:	33 d2                	xor    %edx,%edx
18012c49f:	49 8b c0             	mov    %r8,%rax
18012c4a2:	49 f7 f2             	div    %r10
18012c4a5:	4c 8b c0             	mov    %rax,%r8
18012c4a8:	8d 42 30             	lea    0x30(%rdx),%eax
18012c4ab:	83 f8 39             	cmp    $0x39,%eax
18012c4ae:	7e 06                	jle    0x18012c4b6
18012c4b0:	41 8d 46 30          	lea    0x30(%r14),%eax
18012c4b4:	03 c2                	add    %edx,%eax
18012c4b6:	88 03                	mov    %al,(%rbx)
18012c4b8:	48 ff cb             	dec    %rbx
18012c4bb:	eb d3                	jmp    0x18012c490
18012c4bd:	48 8d 85 6f 01 00 00 	lea    0x16f(%rbp),%rax
18012c4c4:	89 74 24 3c          	mov    %esi,0x3c(%rsp)
18012c4c8:	2b c3                	sub    %ebx,%eax
18012c4ca:	45 8b f1             	mov    %r9d,%r14d
18012c4cd:	48 ff c3             	inc    %rbx
18012c4d0:	89 44 24 40          	mov    %eax,0x40(%rsp)
18012c4d4:	0f ba e7 09          	bt     $0x9,%edi
18012c4d8:	73 5c                	jae    0x18012c536
18012c4da:	45 33 d2             	xor    %r10d,%r10d
18012c4dd:	85 c0                	test   %eax,%eax
18012c4df:	74 0a                	je     0x18012c4eb
18012c4e1:	80 3b 30             	cmpb   $0x30,(%rbx)
18012c4e4:	44 89 4c 24 30       	mov    %r9d,0x30(%rsp)
18012c4e9:	74 4e                	je     0x18012c539
18012c4eb:	48 ff cb             	dec    %rbx
18012c4ee:	44 89 4c 24 30       	mov    %r9d,0x30(%rsp)
18012c4f3:	ff c0                	inc    %eax
18012c4f5:	45 8b f1             	mov    %r9d,%r14d
18012c4f8:	89 44 24 40          	mov    %eax,0x40(%rsp)
18012c4fc:	c6 03 30             	movb   $0x30,(%rbx)
18012c4ff:	eb 38                	jmp    0x18012c539
18012c501:	49 8b 75 00          	mov    0x0(%r13),%rsi
18012c505:	49 83 c5 08          	add    $0x8,%r13
18012c509:	e8 ea 12 00 00       	call   0x18012d7f8
18012c50e:	45 33 d2             	xor    %r10d,%r10d
18012c511:	85 c0                	test   %eax,%eax
18012c513:	0f 84 62 03 00 00    	je     0x18012c87b
18012c519:	40 f6 c7 20          	test   $0x20,%dil
18012c51d:	74 06                	je     0x18012c525
18012c51f:	66 44 89 3e          	mov    %r15w,(%rsi)
18012c523:	eb 03                	jmp    0x18012c528
18012c525:	44 89 3e             	mov    %r15d,(%rsi)
18012c528:	8b 74 24 3c          	mov    0x3c(%rsp),%esi
18012c52c:	c7 44 24 50 01 00 00 	movl   $0x1,0x50(%rsp)
18012c533:	00
18012c534:	eb 03                	jmp    0x18012c539
18012c536:	45 33 d2             	xor    %r10d,%r10d
18012c539:	44 39 54 24 50       	cmp    %r10d,0x50(%rsp)
18012c53e:	0f 85 32 02 00 00    	jne    0x18012c776
18012c544:	40 f6 c7 40          	test   $0x40,%dil
18012c548:	74 32                	je     0x18012c57c
18012c54a:	0f ba e7 08          	bt     $0x8,%edi
18012c54e:	73 07                	jae    0x18012c557
18012c550:	c6 44 24 38 2d       	movb   $0x2d,0x38(%rsp)
18012c555:	eb 0b                	jmp    0x18012c562
18012c557:	40 f6 c7 01          	test   $0x1,%dil
18012c55b:	74 12                	je     0x18012c56f
18012c55d:	c6 44 24 38 2b       	movb   $0x2b,0x38(%rsp)
18012c562:	41 bf 01 00 00 00    	mov    $0x1,%r15d
18012c568:	44 89 7c 24 30       	mov    %r15d,0x30(%rsp)
18012c56d:	eb 12                	jmp    0x18012c581
18012c56f:	40 f6 c7 02          	test   $0x2,%dil
18012c573:	74 07                	je     0x18012c57c
18012c575:	c6 44 24 38 20       	movb   $0x20,0x38(%rsp)
18012c57a:	eb e6                	jmp    0x18012c562
18012c57c:	44 8b 7c 24 30       	mov    0x30(%rsp),%r15d
18012c581:	44 8b 74 24 48       	mov    0x48(%rsp),%r14d
18012c586:	8b f7                	mov    %edi,%esi
18012c588:	44 2b 74 24 40       	sub    0x40(%rsp),%r14d
18012c58d:	45 2b f7             	sub    %r15d,%r14d
18012c590:	83 e6 0c             	and    $0xc,%esi
18012c593:	75 14                	jne    0x18012c5a9
18012c595:	4c 8b 44 24 58       	mov    0x58(%rsp),%r8
18012c59a:	4c 8d 4c 24 34       	lea    0x34(%rsp),%r9
18012c59f:	41 8b d6             	mov    %r14d,%edx
18012c5a2:	b1 20                	mov    $0x20,%cl
18012c5a4:	e8 63 03 00 00       	call   0x18012c90c
18012c5a9:	4c 8b 44 24 58       	mov    0x58(%rsp),%r8
18012c5ae:	4c 8d 4c 24 34       	lea    0x34(%rsp),%r9
18012c5b3:	41 8b d7             	mov    %r15d,%edx
18012c5b6:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
18012c5bb:	e8 a0 03 00 00       	call   0x18012c960
18012c5c0:	4c 8b 7c 24 58       	mov    0x58(%rsp),%r15
18012c5c5:	83 fe 08             	cmp    $0x8,%esi
18012c5c8:	75 12                	jne    0x18012c5dc
18012c5ca:	4c 8d 4c 24 34       	lea    0x34(%rsp),%r9
18012c5cf:	4d 8b c7             	mov    %r15,%r8
18012c5d2:	41 8b d6             	mov    %r14d,%edx
18012c5d5:	b1 30                	mov    $0x30,%cl
18012c5d7:	e8 30 03 00 00       	call   0x18012c90c
18012c5dc:	83 7c 24 44 00       	cmpl   $0x0,0x44(%rsp)
18012c5e1:	8b 74 24 40          	mov    0x40(%rsp),%esi
18012c5e5:	74 66                	je     0x18012c64d
18012c5e7:	85 f6                	test   %esi,%esi
18012c5e9:	7e 62                	jle    0x18012c64d
18012c5eb:	83 64 24 60 00       	andl   $0x0,0x60(%rsp)
18012c5f0:	4c 8b fb             	mov    %rbx,%r15
18012c5f3:	45 0f b7 0f          	movzwl (%r15),%r9d
18012c5f7:	48 8d 95 70 01 00 00 	lea    0x170(%rbp),%rdx
18012c5fe:	41 b8 06 00 00 00    	mov    $0x6,%r8d
18012c604:	48 8d 4c 24 60       	lea    0x60(%rsp),%rcx
18012c609:	4d 8d 7f 02          	lea    0x2(%r15),%r15
18012c60d:	ff ce                	dec    %esi
18012c60f:	e8 b4 12 00 00       	call   0x18012d8c8
18012c614:	45 33 d2             	xor    %r10d,%r10d
18012c617:	85 c0                	test   %eax,%eax
18012c619:	75 27                	jne    0x18012c642
18012c61b:	8b 54 24 60          	mov    0x60(%rsp),%edx