140043442:	3c 30                	cmp    $0x30,%al
140043444:	74 f7                	je     0x14004343d
140043446:	84 c0                	test   %al,%al
140043448:	74 05                	je     0x14004344f
14004344a:	83 fe 2d             	cmp    $0x2d,%esi
14004344d:	75 be                	jne    0x14004340d
14004344f:	32 c9                	xor    %cl,%cl
140043451:	eb ba                	jmp    0x14004340d
140043453:	3d 00 01 00 00       	cmp    $0x100,%eax
140043458:	75 1f                	jne    0x140043479
14004345a:	b9 01 00 00 00       	mov    $0x1,%ecx
14004345f:	85 ff                	test   %edi,%edi
140043461:	74 0f                	je     0x140043472
140043463:	eb 03                	jmp    0x140043468
140043465:	48 03 d9             	add    %rcx,%rbx
140043468:	8a 03                	mov    (%rbx),%al
14004346a:	3c 30                	cmp    $0x30,%al
14004346c:	74 f7                	je     0x140043465
14004346e:	84 c0                	test   %al,%al
140043470:	74 dd                	je     0x14004344f
140043472:	83 fe 2d             	cmp    $0x2d,%esi
140043475:	74 96                	je     0x14004340d
140043477:	eb d6                	jmp    0x14004344f
140043479:	32 c0                	xor    %al,%al
14004347b:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140043480:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
140043485:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
14004348a:	48 83 c4 20          	add    $0x20,%rsp
14004348e:	5f                   	pop    %rdi
14004348f:	c3                   	ret
140043490:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140043495:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14004349a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14004349f:	57                   	push   %rdi
1400434a0:	48 83 ec 30          	sub    $0x30,%rsp
1400434a4:	49 8b f9             	mov    %r9,%rdi
1400434a7:	48 8b f1             	mov    %rcx,%rsi
1400434aa:	48 85 c9             	test   %rcx,%rcx
1400434ad:	75 32                	jne    0x1400434e1
1400434af:	bb 16 00 00 00       	mov    $0x16,%ebx
1400434b4:	48 8b 44 24 70       	mov    0x70(%rsp),%rax
1400434b9:	45 33 c9             	xor    %r9d,%r9d
1400434bc:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
1400434c1:	45 33 c0             	xor    %r8d,%r8d
1400434c4:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
1400434ca:	33 d2                	xor    %edx,%edx
1400434cc:	33 c9                	xor    %ecx,%ecx
1400434ce:	89 58 2c             	mov    %ebx,0x2c(%rax)
1400434d1:	c6 40 30 01          	movb   $0x1,0x30(%rax)
1400434d5:	e8 fe 7f fe ff       	call   0x14002b4d8
1400434da:	8b c3                	mov    %ebx,%eax
1400434dc:	e9 aa 00 00 00       	jmp    0x14004358b
1400434e1:	48 85 d2             	test   %rdx,%rdx
1400434e4:	74 c9                	je     0x1400434af
1400434e6:	33 c0                	xor    %eax,%eax
1400434e8:	c6 01 00             	movb   $0x0,(%rcx)
1400434eb:	45 85 c0             	test   %r8d,%r8d
1400434ee:	41 0f 4f c0          	cmovg  %r8d,%eax
1400434f2:	ff c0                	inc    %eax
1400434f4:	48 98                	cltq
1400434f6:	48 3b d0             	cmp    %rax,%rdx
1400434f9:	77 07                	ja     0x140043502
1400434fb:	bb 22 00 00 00       	mov    $0x22,%ebx
140043500:	eb b2                	jmp    0x1400434b4
140043502:	48 85 ff             	test   %rdi,%rdi
140043505:	74 a8                	je     0x1400434af
140043507:	49 8b 49 08          	mov    0x8(%r9),%rcx
14004350b:	48 8d 5e 01          	lea    0x1(%rsi),%rbx
14004350f:	48 8b d1             	mov    %rcx,%rdx
140043512:	c6 06 30             	movb   $0x30,(%rsi)
140043515:	eb 15                	jmp    0x14004352c
140043517:	8a 02                	mov    (%rdx),%al
140043519:	84 c0                	test   %al,%al
14004351b:	74 05                	je     0x140043522
14004351d:	48 ff c2             	inc    %rdx
140043520:	eb 02                	jmp    0x140043524
140043522:	b0 30                	mov    $0x30,%al
140043524:	88 03                	mov    %al,(%rbx)
140043526:	48 ff c3             	inc    %rbx
140043529:	41 ff c8             	dec    %r8d
14004352c:	45 85 c0             	test   %r8d,%r8d
14004352f:	7f e6                	jg     0x140043517
140043531:	c6 03 00             	movb   $0x0,(%rbx)
140043534:	78 2b                	js     0x140043561
140043536:	8b 44 24 68          	mov    0x68(%rsp),%eax
14004353a:	44 8b 4c 24 60       	mov    0x60(%rsp),%r9d
14004353f:	44 8b 07             	mov    (%rdi),%r8d
140043542:	89 44 24 20          	mov    %eax,0x20(%rsp)
140043546:	e8 75 fe ff ff       	call   0x1400433c0
14004354b:	84 c0                	test   %al,%al
14004354d:	74 12                	je     0x140043561
14004354f:	eb 03                	jmp    0x140043554
140043551:	c6 03 30             	movb   $0x30,(%rbx)
140043554:	48 ff cb             	dec    %rbx
140043557:	8a 03                	mov    (%rbx),%al
140043559:	3c 39                	cmp    $0x39,%al
14004355b:	74 f4                	je     0x140043551
14004355d:	fe c0                	inc    %al
14004355f:	88 03                	mov    %al,(%rbx)
140043561:	80 3e 31             	cmpb   $0x31,(%rsi)
140043564:	75 05                	jne    0x14004356b
140043566:	ff 47 04             	incl   0x4(%rdi)
140043569:	eb 1e                	jmp    0x140043589
14004356b:	49 83 c8 ff          	or     $0xffffffffffffffff,%r8
14004356f:	49 ff c0             	inc    %r8
140043572:	41 80 7c 30 01 00    	cmpb   $0x0,0x1(%r8,%rsi,1)
140043578:	75 f5                	jne    0x14004356f
14004357a:	49 ff c0             	inc    %r8
14004357d:	48 8d 56 01          	lea    0x1(%rsi),%rdx
140043581:	48 8b ce             	mov    %rsi,%rcx
140043584:	e8 47 3b fe ff       	call   0x1400270d0
140043589:	33 c0                	xor    %eax,%eax
14004358b:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140043590:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
140043595:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
14004359a:	48 83 c4 30          	add    $0x30,%rsp
14004359e:	5f                   	pop    %rdi
14004359f:	c3                   	ret
1400435a0:	40 55                	rex push %rbp
1400435a2:	53                   	push   %rbx
1400435a3:	56                   	push   %rsi
1400435a4:	57                   	push   %rdi
1400435a5:	41 54                	push   %r12
1400435a7:	41 56                	push   %r14
1400435a9:	41 57                	push   %r15
1400435ab:	48 8d ac 24 10 f9 ff 	lea    -0x6f0(%rsp),%rbp
1400435b2:	ff
1400435b3:	48 81 ec f0 07 00 00 	sub    $0x7f0,%rsp
1400435ba:	48 8b 05 57 ea 02 00 	mov    0x2ea57(%rip),%rax        # 0x140072018
1400435c1:	48 33 c4             	xor    %rsp,%rax
1400435c4:	48 89 85 e0 06 00 00 	mov    %rax,0x6e0(%rbp)
1400435cb:	4c 8b b5 50 07 00 00 	mov    0x750(%rbp),%r14
1400435d2:	4d 8b e1             	mov    %r9,%r12
1400435d5:	48 89 4c 24 50       	mov    %rcx,0x50(%rsp)
1400435da:	8b f2                	mov    %edx,%esi
1400435dc:	48 8d 4c 24 70       	lea    0x70(%rsp),%rcx
1400435e1:	4c 89 75 88          	mov    %r14,-0x78(%rbp)
1400435e5:	4c 89 4d 98          	mov    %r9,-0x68(%rbp)
1400435e9:	44 89 44 24 64       	mov    %r8d,0x64(%rsp)
1400435ee:	e8 e9 39 00 00       	call   0x140046fdc
1400435f3:	8b 44 24 70          	mov    0x70(%rsp),%eax
1400435f7:	41 bf 01 00 00 00    	mov    $0x1,%r15d
1400435fd:	83 e0 1f             	and    $0x1f,%eax
140043600:	3c 1f                	cmp    $0x1f,%al
140043602:	75 07                	jne    0x14004360b
140043604:	c6 44 24 78 00       	movb   $0x0,0x78(%rsp)
140043609:	eb 0f                	jmp    0x14004361a
14004360b:	48 8d 4c 24 70       	lea    0x70(%rsp),%rcx
140043610:	e8 3f 3a 00 00       	call   0x140047054
140043615:	44 88 7c 24 78       	mov    %r15b,0x78(%rsp)
14004361a:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
14004361f:	bf 20 00 00 00       	mov    $0x20,%edi
140043624:	8b c7                	mov    %edi,%eax
140043626:	4d 89 74 24 08       	mov    %r14,0x8(%r12)
14004362b:	48 85 db             	test   %rbx,%rbx
14004362e:	8d 4f 0d             	lea    0xd(%rdi),%ecx
140043631:	0f 48 c1             	cmovs  %ecx,%eax
140043634:	45 33 c0             	xor    %r8d,%r8d
140043637:	33 d2                	xor    %edx,%edx
140043639:	41 89 04 24          	mov    %eax,(%r12)
14004363d:	48 8d 4d 80          	lea    -0x80(%rbp),%rcx
140043641:	e8 32 39 00 00       	call   0x140046f78
140043646:	48 8b c3             	mov    %rbx,%rax
140043649:	ba ff 07 00 00       	mov    $0x7ff,%edx
14004364e:	48 c1 e8 34          	shr    $0x34,%rax
140043652:	48 b9 ff ff ff ff ff 	movabs $0xfffffffffffff,%rcx
140043659:	ff 0f 00
14004365c:	48 23 c2             	and    %rdx,%rax
14004365f:	75 21                	jne    0x140043682
140043661:	48 85 d9             	test   %rbx,%rcx
140043664:	74 0d                	je     0x140043673
140043666:	f7 45 80 00 00 00 01 	testl  $0x1000000,-0x80(%rbp)
14004366d:	0f 84 c3 00 00 00    	je     0x140043736
140043673:	41 83 64 24 04 00    	andl   $0x0,0x4(%r12)
140043679:	4c 8d 05 b4 64 01 00 	lea    0x164b4(%rip),%r8        # 0x140059b34
140043680:	eb 60                	jmp    0x1400436e2
140043682:	48 3b c2             	cmp    %rdx,%rax
140043685:	0f 85 ab 00 00 00    	jne    0x140043736
14004368b:	48 8b c3             	mov    %rbx,%rax
14004368e:	48 23 c1             	and    %rcx,%rax
140043691:	75 05                	jne    0x140043698
140043693:	41 8b c7             	mov    %r15d,%eax
140043696:	eb 2a                	jmp    0x1400436c2
140043698:	48 85 db             	test   %rbx,%rbx
14004369b:	79 16                	jns    0x1400436b3
14004369d:	48 b9 00 00 00 00 00 	movabs $0x8000000000000,%rcx
1400436a4:	00 08 00
1400436a7:	48 3b c1             	cmp    %rcx,%rax
1400436aa:	75 07                	jne    0x1400436b3
1400436ac:	b8 04 00 00 00       	mov    $0x4,%eax
1400436b1:	eb 0f                	jmp    0x1400436c2
1400436b3:	48 8b c3             	mov    %rbx,%rax
1400436b6:	48 c1 e8 33          	shr    $0x33,%rax
1400436ba:	f7 d0                	not    %eax
1400436bc:	41 23 c7             	and    %r15d,%eax
1400436bf:	83 c8 02             	or     $0x2,%eax
1400436c2:	45 89 7c 24 04       	mov    %r15d,0x4(%r12)
1400436c7:	41 2b c7             	sub    %r15d,%eax
1400436ca:	74 44                	je     0x140043710
1400436cc:	41 2b c7             	sub    %r15d,%eax
1400436cf:	74 36                	je     0x140043707
1400436d1:	41 2b c7             	sub    %r15d,%eax
1400436d4:	74 28                	je     0x1400436fe
1400436d6:	41 3b c7             	cmp    %r15d,%eax
1400436d9:	75 5b                	jne    0x140043736
1400436db:	4c 8d 05 6e 64 01 00 	lea    0x1646e(%rip),%r8        # 0x140059b50
1400436e2:	48 8b 95 58 07 00 00 	mov    0x758(%rbp),%rdx
1400436e9:	49 8b ce             	mov    %r14,%rcx
1400436ec:	e8 77 45 ff ff       	call   0x140037c68
1400436f1:	85 c0                	test   %eax,%eax
1400436f3:	0f 85 1f 11 00 00    	jne    0x140044818
1400436f9:	e9 e5 10 00 00       	jmp    0x1400447e3
1400436fe:	4c 8d 05 43 64 01 00 	lea    0x16443(%rip),%r8        # 0x140059b48
140043705:	eb db                	jmp    0x1400436e2
140043707:	4c 8d 05 32 64 01 00 	lea    0x16432(%rip),%r8        # 0x140059b40
14004370e:	eb d2                	jmp    0x1400436e2
140043710:	48 8b 95 58 07 00 00 	mov    0x758(%rbp),%rdx
140043717:	4c 8d 05 1a 64 01 00 	lea    0x1641a(%rip),%r8        # 0x140059b38
14004371e:	49 8b ce             	mov    %r14,%rcx
140043721:	e8 42 45 ff ff       	call   0x140037c68
140043726:	85 c0                	test   %eax,%eax
140043728:	0f 85 ea 10 00 00    	jne    0x140044818
14004372e:	45 33 ff             	xor    %r15d,%r15d
140043731:	e9 ad 10 00 00       	jmp    0x1400447e3
140043736:	48 b8 ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rax
14004373d:	ff ff 7f
140043740:	48 8d 4c 24 68       	lea    0x68(%rsp),%rcx
140043745:	48 23 d8             	and    %rax,%rbx
140043748:	45 33 c0             	xor    %r8d,%r8d
14004374b:	48 89 5c 24 50       	mov    %rbx,0x50(%rsp)
140043750:	33 d2                	xor    %edx,%edx
140043752:	bb 1f 00 08 00       	mov    $0x8001f,%ebx
140043757:	89 5c 24 6c          	mov    %ebx,0x6c(%rsp)
14004375b:	e8 18 38 00 00       	call   0x140046f78
140043760:	44 8b 44 24 6c       	mov    0x6c(%rsp),%r8d
140043765:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
14004376a:	8b d3                	mov    %ebx,%edx
14004376c:	e8 07 38 00 00       	call   0x140046f78
140043771:	f2 0f 10 44 24 50    	movsd  0x50(%rsp),%xmm0
140043777:	ff c6                	inc    %esi
140043779:	41 b9 ff 07 00 00    	mov    $0x7ff,%r9d
14004377f:	f2 0f 11 44 24 58    	movsd  %xmm0,0x58(%rsp)
140043785:	48 8b 54 24 58       	mov    0x58(%rsp),%rdx
14004378a:	4c 8b c2             	mov    %rdx,%r8
14004378d:	89 74 24 60          	mov    %esi,0x60(%rsp)
140043791:	49 c1 e8 34          	shr    $0x34,%r8
140043795:	be 02 00 00 00       	mov    $0x2,%esi
14004379a:	49 8b c8             	mov    %r8,%rcx
14004379d:	49 23 c9             	and    %r9,%rcx
1400437a0:	48 8b c1             	mov    %rcx,%rax
1400437a3:	48 f7 d8             	neg    %rax
1400437a6:	48 b8 00 00 00 00 00 	movabs $0x10000000000000,%rax
1400437ad:	00 10 00
1400437b0:	48 1b db             	sbb    %rbx,%rbx
1400437b3:	48 23 d8             	and    %rax,%rbx
1400437b6:	48 b8 ff ff ff ff ff 	movabs $0xfffffffffffff,%rax
1400437bd:	ff 0f 00
1400437c0:	48 23 d0             	and    %rax,%rdx
1400437c3:	48 03 da             	add    %rdx,%rbx
1400437c6:	48 f7 d9             	neg    %rcx
1400437c9:	1b c0                	sbb    %eax,%eax
1400437cb:	45 23 c1             	and    %r9d,%r8d
1400437ce:	44 8d 24 06          	lea    (%rsi,%rax,1),%r12d
1400437d2:	45 03 e0             	add    %r8d,%r12d
1400437d5:	e8 96 39 00 00       	call   0x140047170
1400437da:	e8 c5 38 00 00       	call   0x1400470a4
1400437df:	f2 0f 2c c8          	cvttsd2si %xmm0,%ecx
1400437e3:	89 5d a4             	mov    %ebx,-0x5c(%rbp)
1400437e6:	8d 81 01 00 00 80    	lea    -0x7fffffff(%rcx),%eax
1400437ec:	83 e0 fe             	and    $0xfffffffe,%eax
1400437ef:	f7 d8                	neg    %eax
1400437f1:	1b c0                	sbb    %eax,%eax
1400437f3:	48 c1 eb 20          	shr    $0x20,%rbx
1400437f7:	23 c1                	and    %ecx,%eax
1400437f9:	89 5d a8             	mov    %ebx,-0x58(%rbp)
1400437fc:	89 44 24 30          	mov    %eax,0x30(%rsp)
140043800:	8b c3                	mov    %ebx,%eax
140043802:	f7 d8                	neg    %eax
140043804:	1b d2                	sbb    %edx,%edx
140043806:	f7 da                	neg    %edx
140043808:	41 03 d7             	add    %r15d,%edx
14004380b:	89 55 a0             	mov    %edx,-0x60(%rbp)
14004380e:	41 81 fc 34 04 00 00 	cmp    $0x434,%r12d
140043815:	0f 82 1a 02 00 00    	jb     0x140043a35
14004381b:	33 c0                	xor    %eax,%eax
14004381d:	c7 85 48 03 00 00 00 	movl   $0x100000,0x348(%rbp)
140043824:	00 10 00
140043827:	89 85 44 03 00 00    	mov    %eax,0x344(%rbp)
14004382d:	89 b5 40 03 00 00    	mov    %esi,0x340(%rbp)
140043833:	85 db                	test   %ebx,%ebx
140043835:	0f 84 0c 01 00 00    	je     0x140043947
14004383b:	45 33 c0             	xor    %r8d,%r8d
14004383e:	42 8b 44 85 a4       	mov    -0x5c(%rbp,%r8,4),%eax
140043843:	42 39 84 85 44 03 00 	cmp    %eax,0x344(%rbp,%r8,4)
14004384a:	00
14004384b:	0f 85 f6 00 00 00    	jne    0x140043947
140043851:	45 03 c7             	add    %r15d,%r8d
140043854:	44 3b c6             	cmp    %esi,%r8d
140043857:	75 e5                	jne    0x14004383e
140043859:	83 64 24 40 00       	andl   $0x0,0x40(%rsp)
14004385e:	45 8d 9c 24 ce fb ff 	lea    -0x432(%r12),%r11d
140043865:	ff
140043866:	45 8b c3             	mov    %r11d,%r8d
140043869:	8d 42 ff             	lea    -0x1(%rdx),%eax
14004386c:	41 83 e3 1f          	and    $0x1f,%r11d
140043870:	41 c1 e8 05          	shr    $0x5,%r8d
140043874:	8b f7                	mov    %edi,%esi
140043876:	49 8b df             	mov    %r15,%rbx
140043879:	41 2b f3             	sub    %r11d,%esi
14004387c:	8b ce                	mov    %esi,%ecx
14004387e:	48 d3 e3             	shl    %cl,%rbx
140043881:	41 2b df             	sub    %r15d,%ebx
140043884:	0f bd 44 85 a4       	bsr    -0x5c(%rbp,%rax,4),%eax
140043889:	44 8b e3             	mov    %ebx,%r12d
14004388c:	41 f7 d4             	not    %r12d
14004388f:	74 04                	je     0x140043895
140043891:	ff c0                	inc    %eax
140043893:	eb 02                	jmp    0x140043897
140043895:	33 c0                	xor    %eax,%eax
140043897:	2b f8                	sub    %eax,%edi
140043899:	42 8d 04 02          	lea    (%rdx,%r8,1),%eax
14004389d:	83 f8 73             	cmp    $0x73,%eax
1400438a0:	0f 87 81 00 00 00    	ja     0x140043927
1400438a6:	45 33 f6             	xor    %r14d,%r14d
1400438a9:	44 3b df             	cmp    %edi,%r11d
1400438ac:	41 0f 97 c6          	seta   %r14b
1400438b0:	44 03 f2             	add    %edx,%r14d
1400438b3:	45 03 f0             	add    %r8d,%r14d
1400438b6:	41 83 fe 73          	cmp    $0x73,%r14d
1400438ba:	77 6b                	ja     0x140043927
1400438bc:	41 8d 78 ff          	lea    -0x1(%r8),%edi
1400438c0:	45 8d 56 ff          	lea    -0x1(%r14),%r10d
1400438c4:	44 3b d7             	cmp    %edi,%r10d
1400438c7:	74 48                	je     0x140043911
1400438c9:	41 8b c2             	mov    %r10d,%eax
1400438cc:	41 2b c0             	sub    %r8d,%eax
1400438cf:	8d 48 ff             	lea    -0x1(%rax),%ecx
1400438d2:	3b c2                	cmp    %edx,%eax
1400438d4:	73 07                	jae    0x1400438dd
1400438d6:	44 8b 4c 85 a4       	mov    -0x5c(%rbp,%rax,4),%r9d
1400438db:	eb 03                	jmp    0x1400438e0
1400438dd:	45 33 c9             	xor    %r9d,%r9d
1400438e0:	3b ca                	cmp    %edx,%ecx
1400438e2:	73 06                	jae    0x1400438ea
1400438e4:	8b 54 8d a4          	mov    -0x5c(%rbp,%rcx,4),%edx
1400438e8:	eb 02                	jmp    0x1400438ec
1400438ea:	33 d2                	xor    %edx,%edx
1400438ec:	41 23 d4             	and    %r12d,%edx
1400438ef:	8b ce                	mov    %esi,%ecx
1400438f1:	d3 ea                	shr    %cl,%edx