18012d1d4:	40 84 f9             	test   %dil,%cl
18012d1d7:	74 11                	je     0x18012d1ea
18012d1d9:	85 c0                	test   %eax,%eax
18012d1db:	74 07                	je     0x18012d1e4
18012d1dd:	48 0f bf 46 f8       	movswq -0x8(%rsi),%rax
18012d1e2:	eb 13                	jmp    0x18012d1f7
18012d1e4:	0f b7 46 f8          	movzwl -0x8(%rsi),%eax
18012d1e8:	eb 0d                	jmp    0x18012d1f7
18012d1ea:	85 c0                	test   %eax,%eax
18012d1ec:	74 06                	je     0x18012d1f4
18012d1ee:	48 63 46 f8          	movslq -0x8(%rsi),%rax
18012d1f2:	eb 03                	jmp    0x18012d1f7
18012d1f4:	8b 46 f8             	mov    -0x8(%rsi),%eax
18012d1f7:	40 f6 c7 40          	test   $0x40,%dil
18012d1fb:	74 0c                	je     0x18012d209
18012d1fd:	48 85 c0             	test   %rax,%rax
18012d200:	79 07                	jns    0x18012d209
18012d202:	48 f7 d8             	neg    %rax
18012d205:	0f ba ef 08          	bts    $0x8,%edi
18012d209:	f7 c7 00 90 00 00    	test   $0x9000,%edi
18012d20f:	44 8b c0             	mov    %eax,%r8d
18012d212:	4c 0f 45 c0          	cmovne %rax,%r8
18012d216:	45 85 e4             	test   %r12d,%r12d
18012d219:	79 08                	jns    0x18012d223
18012d21b:	41 bc 01 00 00 00    	mov    $0x1,%r12d
18012d221:	eb 0a                	jmp    0x18012d22d
18012d223:	83 e7 f7             	and    $0xfffffff7,%edi
18012d226:	44 3b e2             	cmp    %edx,%r12d
18012d229:	44 0f 4f e2          	cmovg  %edx,%r12d
18012d22d:	44 8b 5c 24 68       	mov    0x68(%rsp),%r11d
18012d232:	48 8d 9d 7f 01 00 00 	lea    0x17f(%rbp),%rbx
18012d239:	49 8b c0             	mov    %r8,%rax
18012d23c:	48 f7 d8             	neg    %rax
18012d23f:	1b c9                	sbb    %ecx,%ecx
18012d241:	23 4c 24 38          	and    0x38(%rsp),%ecx
18012d245:	89 4c 24 38          	mov    %ecx,0x38(%rsp)
18012d249:	44 8b c9             	mov    %ecx,%r9d
18012d24c:	41 8b cc             	mov    %r12d,%ecx
18012d24f:	41 ff cc             	dec    %r12d
18012d252:	85 c9                	test   %ecx,%ecx
18012d254:	7f 05                	jg     0x18012d25b
18012d256:	4d 85 c0             	test   %r8,%r8
18012d259:	74 20                	je     0x18012d27b
18012d25b:	33 d2                	xor    %edx,%edx
18012d25d:	49 8b c0             	mov    %r8,%rax
18012d260:	49 f7 f2             	div    %r10
18012d263:	4c 8b c0             	mov    %rax,%r8
18012d266:	8d 42 30             	lea    0x30(%rdx),%eax
18012d269:	83 f8 39             	cmp    $0x39,%eax
18012d26c:	7e 06                	jle    0x18012d274
18012d26e:	41 8d 43 30          	lea    0x30(%r11),%eax
18012d272:	03 c2                	add    %edx,%eax
18012d274:	88 03                	mov    %al,(%rbx)
18012d276:	48 ff cb             	dec    %rbx
18012d279:	eb d1                	jmp    0x18012d24c
18012d27b:	4c 8d ad 7f 01 00 00 	lea    0x17f(%rbp),%r13
18012d282:	44 89 64 24 3c       	mov    %r12d,0x3c(%rsp)
18012d287:	44 2b eb             	sub    %ebx,%r13d
18012d28a:	b9 00 02 00 00       	mov    $0x200,%ecx
18012d28f:	48 ff c3             	inc    %rbx
18012d292:	4c 8b de             	mov    %rsi,%r11
18012d295:	85 f9                	test   %edi,%ecx
18012d297:	74 68                	je     0x18012d301
18012d299:	45 33 d2             	xor    %r10d,%r10d
18012d29c:	41 8d 42 30          	lea    0x30(%r10),%eax
18012d2a0:	45 85 ed             	test   %r13d,%r13d
18012d2a3:	74 0e                	je     0x18012d2b3
18012d2a5:	48 89 74 24 58       	mov    %rsi,0x58(%rsp)
18012d2aa:	44 89 4c 24 38       	mov    %r9d,0x38(%rsp)
18012d2af:	38 03                	cmp    %al,(%rbx)
18012d2b1:	74 51                	je     0x18012d304
18012d2b3:	48 ff cb             	dec    %rbx
18012d2b6:	4c 89 5c 24 58       	mov    %r11,0x58(%rsp)
18012d2bb:	41 ff c5             	inc    %r13d
18012d2be:	44 89 4c 24 38       	mov    %r9d,0x38(%rsp)
18012d2c3:	88 03                	mov    %al,(%rbx)
18012d2c5:	eb 3d                	jmp    0x18012d304
18012d2c7:	48 83 c6 08          	add    $0x8,%rsi
18012d2cb:	48 89 74 24 58       	mov    %rsi,0x58(%rsp)
18012d2d0:	48 8b 76 f8          	mov    -0x8(%rsi),%rsi
18012d2d4:	e8 1f 05 00 00       	call   0x18012d7f8
18012d2d9:	45 33 d2             	xor    %r10d,%r10d
18012d2dc:	85 c0                	test   %eax,%eax
18012d2de:	0f 84 aa 03 00 00    	je     0x18012d68e
18012d2e4:	45 8d 5a 20          	lea    0x20(%r10),%r11d
18012d2e8:	41 84 fb             	test   %dil,%r11b
18012d2eb:	74 06                	je     0x18012d2f3
18012d2ed:	66 44 89 36          	mov    %r14w,(%rsi)
18012d2f1:	eb 03                	jmp    0x18012d2f6
18012d2f3:	44 89 36             	mov    %r14d,(%rsi)
18012d2f6:	b8 01 00 00 00       	mov    $0x1,%eax
18012d2fb:	89 44 24 30          	mov    %eax,0x30(%rsp)
18012d2ff:	eb 0d                	jmp    0x18012d30e
18012d301:	45 33 d2             	xor    %r10d,%r10d
18012d304:	41 bb 20 00 00 00    	mov    $0x20,%r11d
18012d30a:	8b 44 24 30          	mov    0x30(%rsp),%eax
18012d30e:	85 c0                	test   %eax,%eax
18012d310:	0f 85 5b 03 00 00    	jne    0x18012d671
18012d316:	40 f6 c7 40          	test   $0x40,%dil
18012d31a:	74 38                	je     0x18012d354
18012d31c:	0f ba e7 08          	bt     $0x8,%edi
18012d320:	73 07                	jae    0x18012d329
18012d322:	b8 2d 00 00 00       	mov    $0x2d,%eax
18012d327:	eb 0b                	jmp    0x18012d334
18012d329:	40 f6 c7 01          	test   $0x1,%dil
18012d32d:	74 17                	je     0x18012d346
18012d32f:	b8 2b 00 00 00       	mov    $0x2b,%eax
18012d334:	66 89 44 24 50       	mov    %ax,0x50(%rsp)
18012d339:	41 be 01 00 00 00    	mov    $0x1,%r14d
18012d33f:	44 89 74 24 38       	mov    %r14d,0x38(%rsp)
18012d344:	eb 13                	jmp    0x18012d359
18012d346:	40 f6 c7 02          	test   $0x2,%dil
18012d34a:	74 08                	je     0x18012d354
18012d34c:	66 44 89 5c 24 50    	mov    %r11w,0x50(%rsp)
18012d352:	eb e5                	jmp    0x18012d339
18012d354:	44 8b 74 24 38       	mov    0x38(%rsp),%r14d
18012d359:	44 8b 64 24 54       	mov    0x54(%rsp),%r12d
18012d35e:	8b f7                	mov    %edi,%esi
18012d360:	45 2b e5             	sub    %r13d,%r12d
18012d363:	45 2b e6             	sub    %r14d,%r12d
18012d366:	83 e6 0c             	and    $0xc,%esi
18012d369:	75 15                	jne    0x18012d380
18012d36b:	4c 8b 44 24 60       	mov    0x60(%rsp),%r8
18012d370:	4c 8d 4c 24 34       	lea    0x34(%rsp),%r9
18012d375:	41 8b cb             	mov    %r11d,%ecx
18012d378:	41 8b d4             	mov    %r12d,%edx
18012d37b:	e8 9c 03 00 00       	call   0x18012d71c
18012d380:	4c 8b 44 24 60       	mov    0x60(%rsp),%r8
18012d385:	4c 8d 4c 24 34       	lea    0x34(%rsp),%r9
18012d38a:	41 8b d6             	mov    %r14d,%edx
18012d38d:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
18012d392:	e8 d9 03 00 00       	call   0x18012d770
18012d397:	83 fe 08             	cmp    $0x8,%esi
18012d39a:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
18012d39f:	75 15                	jne    0x18012d3b6
18012d3a1:	b9 30 00 00 00       	mov    $0x30,%ecx
18012d3a6:	4c 8d 4c 24 34       	lea    0x34(%rsp),%r9
18012d3ab:	4c 8b c6             	mov    %rsi,%r8
18012d3ae:	41 8b d4             	mov    %r12d,%edx
18012d3b1:	e8 66 03 00 00       	call   0x18012d71c
18012d3b6:	83 7c 24 44 00       	cmpl   $0x0,0x44(%rsp)
18012d3bb:	75 72                	jne    0x18012d42f
18012d3bd:	45 85 ed             	test   %r13d,%r13d
18012d3c0:	7e 6d                	jle    0x18012d42f
18012d3c2:	4c 8b fb             	mov    %rbx,%r15
18012d3c5:	41 8b f5             	mov    %r13d,%esi
18012d3c8:	4c 63 05 39 ee 03 00 	movslq 0x3ee39(%rip),%r8        # 0x18016c208
18012d3cf:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
18012d3d4:	49 8b d7             	mov    %r15,%rdx
18012d3d7:	ff ce                	dec    %esi
18012d3d9:	e8 4a 05 00 00       	call   0x18012d928
18012d3de:	4c 63 f0             	movslq %eax,%r14
18012d3e1:	41 83 fe 02          	cmp    $0x2,%r14d
18012d3e5:	75 02                	jne    0x18012d3e9
18012d3e7:	ff ce                	dec    %esi
18012d3e9:	45 33 d2             	xor    %r10d,%r10d
18012d3ec:	85 c0                	test   %eax,%eax
18012d3ee:	7e 2a                	jle    0x18012d41a
18012d3f0:	48 8b 54 24 60       	mov    0x60(%rsp),%rdx
18012d3f5:	4c 8d 44 24 34       	lea    0x34(%rsp),%r8
18012d3fa:	0f b7 4c 24 40       	movzwl 0x40(%rsp),%ecx
18012d3ff:	e8 cc 02 00 00       	call   0x18012d6d0
18012d404:	45 33 d2             	xor    %r10d,%r10d
18012d407:	4d 03 fe             	add    %r14,%r15
18012d40a:	85 f6                	test   %esi,%esi
18012d40c:	7f ba                	jg     0x18012d3c8
18012d40e:	4c 8b 7c 24 70       	mov    0x70(%rsp),%r15
18012d413:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
18012d418:	eb 2b                	jmp    0x18012d445
18012d41a:	4c 8b 7c 24 70       	mov    0x70(%rsp),%r15
18012d41f:	41 83 ce ff          	or     $0xffffffff,%r14d
18012d423:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
18012d428:	44 89 74 24 34       	mov    %r14d,0x34(%rsp)
18012d42d:	eb 1b                	jmp    0x18012d44a
18012d42f:	4c 8d 4c 24 34       	lea    0x34(%rsp),%r9
18012d434:	4c 8b c6             	mov    %rsi,%r8
18012d437:	41 8b d5             	mov    %r13d,%edx
18012d43a:	48 8b cb             	mov    %rbx,%rcx
18012d43d:	e8 2e 03 00 00       	call   0x18012d770
18012d442:	45 33 d2             	xor    %r10d,%r10d
18012d445:	44 8b 74 24 34       	mov    0x34(%rsp),%r14d
18012d44a:	45 85 f6             	test   %r14d,%r14d
18012d44d:	0f 88 13 02 00 00    	js     0x18012d666
18012d453:	40 f6 c7 04          	test   $0x4,%dil
18012d457:	0f 84 09 02 00 00    	je     0x18012d666
18012d45d:	b9 20 00 00 00       	mov    $0x20,%ecx
18012d462:	4c 8d 4c 24 34       	lea    0x34(%rsp),%r9
18012d467:	4c 8b c6             	mov    %rsi,%r8
18012d46a:	41 8b d4             	mov    %r12d,%edx
18012d46d:	e8 aa 02 00 00       	call   0x18012d71c
18012d472:	44 8b 64 24 3c       	mov    0x3c(%rsp),%r12d
18012d477:	44 8b 74 24 34       	mov    0x34(%rsp),%r14d
18012d47c:	45 33 d2             	xor    %r10d,%r10d
18012d47f:	e9 e7 01 00 00       	jmp    0x18012d66b
18012d484:	b9 49 00 00 00       	mov    $0x49,%ecx
18012d489:	3b d1                	cmp    %ecx,%edx
18012d48b:	74 26                	je     0x18012d4b3
18012d48d:	83 fa 68             	cmp    $0x68,%edx
18012d490:	74 7a                	je     0x18012d50c
18012d492:	8d 41 21             	lea    0x21(%rcx),%eax
18012d495:	3b d0                	cmp    %eax,%edx
18012d497:	74 1f                	je     0x18012d4b8
18012d499:	8d 41 23             	lea    0x23(%rcx),%eax
18012d49c:	3b d0                	cmp    %eax,%edx
18012d49e:	74 46                	je     0x18012d4e6
18012d4a0:	83 fa 74             	cmp    $0x74,%edx
18012d4a3:	74 0e                	je     0x18012d4b3
18012d4a5:	83 fa 77             	cmp    $0x77,%edx
18012d4a8:	74 33                	je     0x18012d4dd
18012d4aa:	83 fa 7a             	cmp    $0x7a,%edx
18012d4ad:	0f 85 c3 01 00 00    	jne    0x18012d676
18012d4b3:	b8 6a 00 00 00       	mov    $0x6a,%eax
18012d4b8:	0f ba ef 0f          	bts    $0xf,%edi
18012d4bc:	66 44 3b c9          	cmp    %cx,%r9w
18012d4c0:	75 6d                	jne    0x18012d52f
18012d4c2:	41 0f b7 07          	movzwl (%r15),%eax
18012d4c6:	66 83 f8 36          	cmp    $0x36,%ax
18012d4ca:	75 48                	jne    0x18012d514
18012d4cc:	66 41 83 7f 02 34    	cmpw   $0x34,0x2(%r15)
18012d4d2:	75 40                	jne    0x18012d514
18012d4d4:	49 83 c7 04          	add    $0x4,%r15
18012d4d8:	e9 99 01 00 00       	jmp    0x18012d676
18012d4dd:	0f ba ef 0b          	bts    $0xb,%edi
18012d4e1:	e9 90 01 00 00       	jmp    0x18012d676
18012d4e6:	41 0f b7 0f          	movzwl (%r15),%ecx
18012d4ea:	8b d0                	mov    %eax,%edx
18012d4ec:	66 3b ca             	cmp    %dx,%cx
18012d4ef:	75 04                	jne    0x18012d4f5
18012d4f1:	49 83 c7 02          	add    $0x2,%r15
18012d4f5:	66 3b ca             	cmp    %dx,%cx
18012d4f8:	b8 00 10 00 00       	mov    $0x1000,%eax
18012d4fd:	b9 10 00 00 00       	mov    $0x10,%ecx
18012d502:	0f 45 c1             	cmovne %ecx,%eax
18012d505:	0b f8                	or     %eax,%edi
18012d507:	e9 6a 01 00 00       	jmp    0x18012d676
18012d50c:	41 0b fb             	or     %r11d,%edi
18012d50f:	e9 62 01 00 00       	jmp    0x18012d676
18012d514:	66 83 f8 33          	cmp    $0x33,%ax
18012d518:	75 1f                	jne    0x18012d539
18012d51a:	66 41 83 7f 02 32    	cmpw   $0x32,0x2(%r15)
18012d520:	75 17                	jne    0x18012d539
18012d522:	49 83 c7 04          	add    $0x4,%r15
18012d526:	0f ba f7 0f          	btr    $0xf,%edi
18012d52a:	e9 47 01 00 00       	jmp    0x18012d676
18012d52f:	66 44 3b c8          	cmp    %ax,%r9w
18012d533:	0f 84 3d 01 00 00    	je     0x18012d676
18012d539:	41 0f b7 07          	movzwl (%r15),%eax
18012d53d:	66 83 e8 58          	sub    $0x58,%ax
18012d541:	66 41 3b c3          	cmp    %r11w,%ax
18012d545:	77 14                	ja     0x18012d55b
18012d547:	48 b9 01 10 82 20 01 	movabs $0x120821001,%rcx
18012d54e:	00 00 00
18012d551:	48 0f a3 c1          	bt     %rax,%rcx
18012d555:	0f 82 1b 01 00 00    	jb     0x18012d676
18012d55b:	44 89 54 24 48       	mov    %r10d,0x48(%rsp)
18012d560:	48 8b 54 24 60       	mov    0x60(%rsp),%rdx
18012d565:	4c 8d 44 24 34       	lea    0x34(%rsp),%r8
18012d56a:	41 0f b7 c9          	movzwl %r9w,%ecx
18012d56e:	c7 44 24 44 01 00 00 	movl   $0x1,0x44(%rsp)
18012d575:	00
18012d576:	e8 55 01 00 00       	call   0x18012d6d0
18012d57b:	e9 f7 fe ff ff       	jmp    0x18012d477
18012d580:	66 41 83 f9 2a       	cmp    $0x2a,%r9w
18012d585:	75 20                	jne    0x18012d5a7
18012d587:	44 8b 26             	mov    (%rsi),%r12d
18012d58a:	48 83 c6 08          	add    $0x8,%rsi
18012d58e:	48 89 74 24 58       	mov    %rsi,0x58(%rsp)
18012d593:	44 89 64 24 3c       	mov    %r12d,0x3c(%rsp)
18012d598:	45 85 e4             	test   %r12d,%r12d
18012d59b:	0f 89 d5 00 00 00    	jns    0x18012d676
18012d5a1:	41 83 cc ff          	or     $0xffffffff,%r12d
18012d5a5:	eb 0d                	jmp    0x18012d5b4
18012d5a7:	47 8d 24 a4          	lea    (%r12,%r12,4),%r12d
18012d5ab:	45 8d 64 24 e8       	lea    -0x18(%r12),%r12d
18012d5b0:	46 8d 24 62          	lea    (%rdx,%r12,2),%r12d
18012d5b4:	44 89 64 24 3c       	mov    %r12d,0x3c(%rsp)
18012d5b9:	e9 b8 00 00 00       	jmp    0x18012d676
18012d5be:	45 8b e2             	mov    %r10d,%r12d
18012d5c1:	44 89 54 24 3c       	mov    %r10d,0x3c(%rsp)
18012d5c6:	e9 ab 00 00 00       	jmp    0x18012d676
18012d5cb:	66 41 83 f9 2a       	cmp    $0x2a,%r9w
18012d5d0:	75 20                	jne    0x18012d5f2
18012d5d2:	8b 06                	mov    (%rsi),%eax
18012d5d4:	48 83 c6 08          	add    $0x8,%rsi
18012d5d8:	8b cf                	mov    %edi,%ecx
18012d5da:	48 89 74 24 58       	mov    %rsi,0x58(%rsp)
18012d5df:	83 c9 04             	or     $0x4,%ecx
18012d5e2:	85 c0                	test   %eax,%eax
18012d5e4:	99                   	cltd
18012d5e5:	0f 49 cf             	cmovns %edi,%ecx
18012d5e8:	8b f9                	mov    %ecx,%edi
18012d5ea:	8b c8                	mov    %eax,%ecx
18012d5ec:	33 ca                	xor    %edx,%ecx
18012d5ee:	2b ca                	sub    %edx,%ecx
18012d5f0:	eb 0d                	jmp    0x18012d5ff
18012d5f2:	8b 4c 24 54          	mov    0x54(%rsp),%ecx
18012d5f6:	8d 0c 89             	lea    (%rcx,%rcx,4),%ecx
18012d5f9:	8d 49 e8             	lea    -0x18(%rcx),%ecx
18012d5fc:	8d 0c 4a             	lea    (%rdx,%rcx,2),%ecx
18012d5ff:	89 4c 24 54          	mov    %ecx,0x54(%rsp)
18012d603:	eb 71                	jmp    0x18012d676
18012d605:	41 3b d3             	cmp    %r11d,%edx
18012d608:	74 35                	je     0x18012d63f
18012d60a:	83 fa 23             	cmp    $0x23,%edx
18012d60d:	74 2a                	je     0x18012d639
18012d60f:	b8 2b 00 00 00       	mov    $0x2b,%eax
18012d614:	3b d0                	cmp    %eax,%edx
18012d616:	74 1c                	je     0x18012d634
18012d618:	b8 2d 00 00 00       	mov    $0x2d,%eax
18012d61d:	3b d0                	cmp    %eax,%edx
18012d61f:	74 0e                	je     0x18012d62f
18012d621:	b8 30 00 00 00       	mov    $0x30,%eax
18012d626:	3b d0                	cmp    %eax,%edx
18012d628:	75 4c                	jne    0x18012d676
18012d62a:	83 cf 08             	or     $0x8,%edi
18012d62d:	eb 47                	jmp    0x18012d676
18012d62f:	83 cf 04             	or     $0x4,%edi
18012d632:	eb 42                	jmp    0x18012d676
18012d634:	83 cf 01             	or     $0x1,%edi
18012d637:	eb 3d                	jmp    0x18012d676
18012d639:	0f ba ef 07          	bts    $0x7,%edi
18012d63d:	eb 37                	jmp    0x18012d676
18012d63f:	83 cf 02             	or     $0x2,%edi
18012d642:	eb 32                	jmp    0x18012d676
18012d644:	41 83 cc ff          	or     $0xffffffff,%r12d
18012d648:	44 89 54 24 30       	mov    %r10d,0x30(%rsp)
18012d64d:	44 89 64 24 3c       	mov    %r12d,0x3c(%rsp)
18012d652:	41 8b fa             	mov    %r10d,%edi
18012d655:	44 89 54 24 54       	mov    %r10d,0x54(%rsp)
18012d65a:	44 89 54 24 38       	mov    %r10d,0x38(%rsp)
18012d65f:	44 89 54 24 44       	mov    %r10d,0x44(%rsp)
18012d664:	eb 10                	jmp    0x18012d676
18012d666:	44 8b 64 24 3c       	mov    0x3c(%rsp),%r12d
18012d66b:	41 bb 20 00 00 00    	mov    $0x20,%r11d
18012d671:	44 8b 44 24 48       	mov    0x48(%rsp),%r8d
18012d676:	45 0f b7 0f          	movzwl (%r15),%r9d
18012d67a:	48 8b 74 24 58       	mov    0x58(%rsp),%rsi
18012d67f:	66 45 85 c9          	test   %r9w,%r9w
18012d683:	0f 85 14 f8 ff ff    	jne    0x18012ce9d
18012d689:	41 8b c6             	mov    %r14d,%eax
18012d68c:	eb 17                	jmp    0x18012d6a5
18012d68e:	45 33 c9             	xor    %r9d,%r9d
18012d691:	4c 89 54 24 20       	mov    %r10,0x20(%rsp)
18012d696:	45 33 c0             	xor    %r8d,%r8d
18012d699:	33 d2                	xor    %edx,%edx
18012d69b:	33 c9                	xor    %ecx,%ecx
18012d69d:	e8 8a 84 ee ff       	call   0x180015b2c
18012d6a2:	83 c8 ff             	or     $0xffffffff,%eax
18012d6a5:	48 8b 8d 80 03 00 00 	mov    0x380(%rbp),%rcx
18012d6ac:	48 33 cc             	xor    %rsp,%rcx