14001933d:	48 83 c4 38          	add    $0x38,%rsp
140019341:	c3                   	ret
140019342:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
140019348:	4c 8d 05 a1 57 02 00 	lea    0x257a1(%rip),%r8        # 0x14003eaf0
14001934f:	41 b9 e1 01 00 00    	mov    $0x1e1,%r9d
140019355:	48 8d 15 84 58 02 00 	lea    0x25884(%rip),%rdx        # 0x14003ebe0
14001935c:	48 8d 0d dd 58 02 00 	lea    0x258dd(%rip),%rcx        # 0x14003ec40
140019363:	e8 3c 5c ff ff       	call   0x14000efa4
140019368:	cc                   	int3
140019369:	cc                   	int3
14001936a:	cc                   	int3
14001936b:	cc                   	int3
14001936c:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140019371:	89 54 24 10          	mov    %edx,0x10(%rsp)
140019375:	55                   	push   %rbp
140019376:	56                   	push   %rsi
140019377:	57                   	push   %rdi
140019378:	41 54                	push   %r12
14001937a:	41 55                	push   %r13
14001937c:	41 56                	push   %r14
14001937e:	41 57                	push   %r15
140019380:	48 83 ec 30          	sub    $0x30,%rsp
140019384:	83 64 24 70 00       	andl   $0x0,0x70(%rsp)
140019389:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
14001938e:	41 0f b6 f0          	movzbl %r8b,%esi
140019392:	45 8a d9             	mov    %r9b,%r11b
140019395:	44 8b fa             	mov    %edx,%r15d
140019398:	48 8b d9             	mov    %rcx,%rbx
14001939b:	48 3b c8             	cmp    %rax,%rcx
14001939e:	76 17                	jbe    0x1400193b7
1400193a0:	48 8b c1             	mov    %rcx,%rax
1400193a3:	48 c1 e8 20          	shr    $0x20,%rax
1400193a7:	0f bd c8             	bsr    %eax,%ecx
1400193aa:	74 04                	je     0x1400193b0
1400193ac:	ff c1                	inc    %ecx
1400193ae:	eb 02                	jmp    0x1400193b2
1400193b0:	33 c9                	xor    %ecx,%ecx
1400193b2:	83 c1 20             	add    $0x20,%ecx
1400193b5:	eb 0b                	jmp    0x1400193c2
1400193b7:	0f bd cb             	bsr    %ebx,%ecx
1400193ba:	74 04                	je     0x1400193c0
1400193bc:	ff c1                	inc    %ecx
1400193be:	eb 02                	jmp    0x1400193c2
1400193c0:	33 c9                	xor    %ecx,%ecx
1400193c2:	4c 8b 94 24 90 00 00 	mov    0x90(%rsp),%r10
1400193c9:	00
1400193ca:	41 8b ff             	mov    %r15d,%edi
1400193cd:	41 8a 52 08          	mov    0x8(%r10),%dl
1400193d1:	8a c2                	mov    %dl,%al
1400193d3:	f6 d8                	neg    %al
1400193d5:	8a c2                	mov    %dl,%al
1400193d7:	1b ed                	sbb    %ebp,%ebp
1400193d9:	83 e5 1d             	and    $0x1d,%ebp
1400193dc:	83 c5 18             	add    $0x18,%ebp
1400193df:	2b e9                	sub    %ecx,%ebp
1400193e1:	2b fd                	sub    %ebp,%edi
1400193e3:	f6 d8                	neg    %al
1400193e5:	45 1b c0             	sbb    %r8d,%r8d
1400193e8:	41 81 e0 80 03 00 00 	and    $0x380,%r8d
1400193ef:	41 83 c0 7f          	add    $0x7f,%r8d
1400193f3:	41 3b f8             	cmp    %r8d,%edi
1400193f6:	0f 8f 6a 02 00 00    	jg     0x140019666
1400193fc:	8a c2                	mov    %dl,%al
1400193fe:	49 bc 00 00 80 ff ff 	movabs $0xfffffff800000,%r12
140019405:	ff 0f 00
140019408:	f6 d8                	neg    %al
14001940a:	1b c9                	sbb    %ecx,%ecx
14001940c:	81 e1 80 fc ff ff    	and    $0xfffffc80,%ecx
140019412:	83 c1 82             	add    $0xffffff82,%ecx
140019415:	3b f9                	cmp    %ecx,%edi
140019417:	0f 8d 51 01 00 00    	jge    0x14001956e
14001941d:	45 8d 4f ff          	lea    -0x1(%r15),%r9d
140019421:	41 8b f8             	mov    %r8d,%edi
140019424:	45 03 c8             	add    %r8d,%r9d
140019427:	f7 df                	neg    %edi
140019429:	44 89 4c 24 70       	mov    %r9d,0x70(%rsp)
14001942e:	45 85 c9             	test   %r9d,%r9d
140019431:	0f 89 2f 01 00 00    	jns    0x140019566
140019437:	45 8b e9             	mov    %r9d,%r13d
14001943a:	41 be 01 00 00 00    	mov    $0x1,%r14d
140019440:	41 f7 dd             	neg    %r13d
140019443:	41 83 fd 40          	cmp    $0x40,%r13d
140019447:	72 07                	jb     0x140019450
140019449:	33 db                	xor    %ebx,%ebx
14001944b:	e9 bf 00 00 00       	jmp    0x14001950f
140019450:	41 8b cd             	mov    %r13d,%ecx
140019453:	49 8b c6             	mov    %r14,%rax
140019456:	48 d3 e0             	shl    %cl,%rax
140019459:	41 8d 4d ff          	lea    -0x1(%r13),%ecx
14001945d:	48 23 c3             	and    %rbx,%rax
140019460:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140019465:	49 8b c6             	mov    %r14,%rax
140019468:	48 d3 e0             	shl    %cl,%rax
14001946b:	4c 8b e0             	mov    %rax,%r12
14001946e:	4c 23 e3             	and    %rbx,%r12
140019471:	45 84 db             	test   %r11b,%r11b
140019474:	74 0d                	je     0x140019483
140019476:	48 ff c8             	dec    %rax
140019479:	48 85 c3             	test   %rax,%rbx
14001947c:	75 05                	jne    0x140019483
14001947e:	45 32 ff             	xor    %r15b,%r15b
140019481:	eb 03                	jmp    0x140019486
140019483:	45 8a fe             	mov    %r14b,%r15b
140019486:	4d 85 e4             	test   %r12,%r12
140019489:	75 05                	jne    0x140019490
14001948b:	45 84 ff             	test   %r15b,%r15b
14001948e:	74 62                	je     0x1400194f2
140019490:	e8 db ca 00 00       	call   0x140025f70
140019495:	85 c0                	test   %eax,%eax
140019497:	74 28                	je     0x1400194c1
140019499:	3d 00 01 00 00       	cmp    $0x100,%eax
14001949e:	74 1c                	je     0x1400194bc
1400194a0:	44 8b 4c 24 70       	mov    0x70(%rsp),%r9d
1400194a5:	4c 8b 94 24 90 00 00 	mov    0x90(%rsp),%r10
1400194ac:	00
1400194ad:	3d 00 02 00 00       	cmp    $0x200,%eax
1400194b2:	75 3e                	jne    0x1400194f2
1400194b4:	40 8a c6             	mov    %sil,%al
1400194b7:	41 32 c6             	xor    %r14b,%al
1400194ba:	eb 38                	jmp    0x1400194f4
1400194bc:	40 8a c6             	mov    %sil,%al
1400194bf:	eb 15                	jmp    0x1400194d6
1400194c1:	4d 85 e4             	test   %r12,%r12
1400194c4:	74 1f                	je     0x1400194e5
1400194c6:	45 84 ff             	test   %r15b,%r15b
1400194c9:	75 08                	jne    0x1400194d3
1400194cb:	48 83 7c 24 20 00    	cmpq   $0x0,0x20(%rsp)
1400194d1:	74 12                	je     0x1400194e5
1400194d3:	41 8a c6             	mov    %r14b,%al
1400194d6:	44 8b 4c 24 70       	mov    0x70(%rsp),%r9d
1400194db:	4c 8b 94 24 90 00 00 	mov    0x90(%rsp),%r10
1400194e2:	00
1400194e3:	eb 0f                	jmp    0x1400194f4
1400194e5:	44 8b 4c 24 70       	mov    0x70(%rsp),%r9d
1400194ea:	4c 8b 94 24 90 00 00 	mov    0x90(%rsp),%r10
1400194f1:	00
1400194f2:	32 c0                	xor    %al,%al
1400194f4:	44 8b 7c 24 78       	mov    0x78(%rsp),%r15d
1400194f9:	41 8b cd             	mov    %r13d,%ecx
1400194fc:	48 d3 eb             	shr    %cl,%rbx
1400194ff:	49 bc 00 00 80 ff ff 	movabs $0xfffffff800000,%r12
140019506:	ff 0f 00
140019509:	0f b6 c0             	movzbl %al,%eax
14001950c:	48 03 d8             	add    %rax,%rbx
14001950f:	41 8a 52 08          	mov    0x8(%r10),%dl
140019513:	48 85 db             	test   %rbx,%rbx
140019516:	75 24                	jne    0x14001953c
140019518:	49 8b 0a             	mov    (%r10),%rcx
14001951b:	84 d2                	test   %dl,%dl
14001951d:	74 0c                	je     0x14001952b
14001951f:	48 8b c6             	mov    %rsi,%rax
140019522:	48 c1 e0 3f          	shl    $0x3f,%rax
140019526:	48 89 01             	mov    %rax,(%rcx)
140019529:	eb 07                	jmp    0x140019532
14001952b:	8b c6                	mov    %esi,%eax
14001952d:	c1 e0 1f             	shl    $0x1f,%eax
140019530:	89 01                	mov    %eax,(%rcx)
140019532:	b8 02 00 00 00       	mov    $0x2,%eax
140019537:	e9 c4 01 00 00       	jmp    0x140019700
14001953c:	8a c2                	mov    %dl,%al
14001953e:	f6 d8                	neg    %al
140019540:	48 1b c9             	sbb    %rcx,%rcx
140019543:	49 23 cc             	and    %r12,%rcx
140019546:	48 81 c1 ff ff 7f 00 	add    $0x7fffff,%rcx
14001954d:	48 3b d9             	cmp    %rcx,%rbx
140019550:	0f 86 4b 01 00 00    	jbe    0x1400196a1
140019556:	41 8b ff             	mov    %r15d,%edi
140019559:	41 2b f9             	sub    %r9d,%edi
14001955c:	2b fd                	sub    %ebp,%edi
14001955e:	41 2b fe             	sub    %r14d,%edi
140019561:	e9 3b 01 00 00       	jmp    0x1400196a1
140019566:	41 8b c9             	mov    %r9d,%ecx
140019569:	e9 30 01 00 00       	jmp    0x14001969e
14001956e:	85 ed                	test   %ebp,%ebp
140019570:	0f 89 24 01 00 00    	jns    0x14001969a
140019576:	f7 dd                	neg    %ebp
140019578:	83 fd 40             	cmp    $0x40,%ebp
14001957b:	72 07                	jb     0x140019584
14001957d:	33 db                	xor    %ebx,%ebx
14001957f:	e9 a6 00 00 00       	jmp    0x14001962a
140019584:	41 be 01 00 00 00    	mov    $0x1,%r14d
14001958a:	8b cd                	mov    %ebp,%ecx
14001958c:	45 8b ee             	mov    %r14d,%r13d
14001958f:	41 8b c6             	mov    %r14d,%eax
140019592:	49 d3 e5             	shl    %cl,%r13
140019595:	8d 4d ff             	lea    -0x1(%rbp),%ecx
140019598:	48 d3 e0             	shl    %cl,%rax
14001959b:	4c 23 eb             	and    %rbx,%r13
14001959e:	4c 8b e0             	mov    %rax,%r12
1400195a1:	4c 23 e3             	and    %rbx,%r12
1400195a4:	45 84 db             	test   %r11b,%r11b
1400195a7:	74 0d                	je     0x1400195b6
1400195a9:	48 ff c8             	dec    %rax
1400195ac:	48 85 c3             	test   %rax,%rbx
1400195af:	75 05                	jne    0x1400195b6
1400195b1:	45 32 ff             	xor    %r15b,%r15b
1400195b4:	eb 03                	jmp    0x1400195b9
1400195b6:	45 8a fe             	mov    %r14b,%r15b
1400195b9:	4d 85 e4             	test   %r12,%r12
1400195bc:	75 05                	jne    0x1400195c3
1400195be:	45 84 ff             	test   %r15b,%r15b
1400195c1:	74 50                	je     0x140019613
1400195c3:	e8 a8 c9 00 00       	call   0x140025f70
1400195c8:	85 c0                	test   %eax,%eax
1400195ca:	74 23                	je     0x1400195ef
1400195cc:	3d 00 01 00 00       	cmp    $0x100,%eax
1400195d1:	74 17                	je     0x1400195ea
1400195d3:	4c 8b 94 24 90 00 00 	mov    0x90(%rsp),%r10
1400195da:	00
1400195db:	3d 00 02 00 00       	cmp    $0x200,%eax
1400195e0:	75 31                	jne    0x140019613
1400195e2:	40 8a c6             	mov    %sil,%al
1400195e5:	41 32 c6             	xor    %r14b,%al
1400195e8:	eb 2b                	jmp    0x140019615
1400195ea:	40 8a c6             	mov    %sil,%al
1400195ed:	eb 12                	jmp    0x140019601
1400195ef:	4d 85 e4             	test   %r12,%r12
1400195f2:	74 17                	je     0x14001960b
1400195f4:	45 84 ff             	test   %r15b,%r15b
1400195f7:	75 05                	jne    0x1400195fe
1400195f9:	4d 85 ed             	test   %r13,%r13
1400195fc:	74 0d                	je     0x14001960b
1400195fe:	41 8a c6             	mov    %r14b,%al
140019601:	4c 8b 94 24 90 00 00 	mov    0x90(%rsp),%r10
140019608:	00
140019609:	eb 0a                	jmp    0x140019615
14001960b:	4c 8b 94 24 90 00 00 	mov    0x90(%rsp),%r10
140019612:	00
140019613:	32 c0                	xor    %al,%al
140019615:	8b cd                	mov    %ebp,%ecx
140019617:	0f b6 c0             	movzbl %al,%eax
14001961a:	48 d3 eb             	shr    %cl,%rbx
14001961d:	49 bc 00 00 80 ff ff 	movabs $0xfffffff800000,%r12
140019624:	ff 0f 00
140019627:	48 03 d8             	add    %rax,%rbx
14001962a:	41 8a 52 08          	mov    0x8(%r10),%dl
14001962e:	8a c2                	mov    %dl,%al
140019630:	f6 d8                	neg    %al
140019632:	48 b8 00 00 00 ff ff 	movabs $0x1fffffff000000,%rax
140019639:	ff 1f 00
14001963c:	48 1b c9             	sbb    %rcx,%rcx
14001963f:	48 23 c8             	and    %rax,%rcx
140019642:	48 81 c1 ff ff ff 00 	add    $0xffffff,%rcx
140019649:	48 3b d9             	cmp    %rcx,%rbx
14001964c:	76 53                	jbe    0x1400196a1
14001964e:	48 d1 eb             	shr    $1,%rbx
140019651:	8a c2                	mov    %dl,%al
140019653:	ff c7                	inc    %edi
140019655:	f6 d8                	neg    %al
140019657:	1b c9                	sbb    %ecx,%ecx
140019659:	81 e1 80 03 00 00    	and    $0x380,%ecx
14001965f:	83 c1 7f             	add    $0x7f,%ecx
140019662:	3b f9                	cmp    %ecx,%edi
140019664:	7e 3b                	jle    0x1400196a1
140019666:	4d 8b 02             	mov    (%r10),%r8
140019669:	84 d2                	test   %dl,%dl
14001966b:	74 19                	je     0x140019686
14001966d:	48 8b c6             	mov    %rsi,%rax
140019670:	48 b9 00 00 00 00 00 	movabs $0x7ff0000000000000,%rcx
140019677:	00 f0 7f
14001967a:	48 c1 e0 3f          	shl    $0x3f,%rax
14001967e:	48 0b c1             	or     %rcx,%rax
140019681:	49 89 00             	mov    %rax,(%r8)
140019684:	eb 0d                	jmp    0x140019693
140019686:	8b c6                	mov    %esi,%eax
140019688:	c1 e0 1f             	shl    $0x1f,%eax
14001968b:	0d 00 00 80 7f       	or     $0x7f800000,%eax
140019690:	41 89 00             	mov    %eax,(%r8)
140019693:	b8 03 00 00 00       	mov    $0x3,%eax
140019698:	eb 66                	jmp    0x140019700
14001969a:	7e 05                	jle    0x1400196a1
14001969c:	8b cd                	mov    %ebp,%ecx
14001969e:	48 d3 e3             	shl    %cl,%rbx
1400196a1:	4d 8b 0a             	mov    (%r10),%r9
1400196a4:	8a c2                	mov    %dl,%al
1400196a6:	f6 d8                	neg    %al
1400196a8:	4d 1b c0             	sbb    %r8,%r8
1400196ab:	4d 23 c4             	and    %r12,%r8
1400196ae:	49 81 c0 ff ff 7f 00 	add    $0x7fffff,%r8
1400196b5:	4c 23 c3             	and    %rbx,%r8
1400196b8:	84 d2                	test   %dl,%dl
1400196ba:	74 22                	je     0x1400196de
1400196bc:	8d 8f ff 03 00 00    	lea    0x3ff(%rdi),%ecx
1400196c2:	48 8b c6             	mov    %rsi,%rax
1400196c5:	81 e1 ff 07 00 00    	and    $0x7ff,%ecx
1400196cb:	48 c1 e0 0b          	shl    $0xb,%rax
1400196cf:	48 0b c8             	or     %rax,%rcx
1400196d2:	48 c1 e1 34          	shl    $0x34,%rcx
1400196d6:	49 0b c8             	or     %r8,%rcx
1400196d9:	49 89 09             	mov    %rcx,(%r9)
1400196dc:	eb 20                	jmp    0x1400196fe
1400196de:	8d 4f 7f             	lea    0x7f(%rdi),%ecx
1400196e1:	8b c6                	mov    %esi,%eax
1400196e3:	c1 e1 17             	shl    $0x17,%ecx
1400196e6:	41 81 e0 ff ff 7f 00 	and    $0x7fffff,%r8d
1400196ed:	81 e1 00 00 80 7f    	and    $0x7f800000,%ecx
1400196f3:	c1 e0 1f             	shl    $0x1f,%eax
1400196f6:	0b c8                	or     %eax,%ecx
1400196f8:	41 0b c8             	or     %r8d,%ecx
1400196fb:	41 89 09             	mov    %ecx,(%r9)
1400196fe:	33 c0                	xor    %eax,%eax
140019700:	48 8b 9c 24 80 00 00 	mov    0x80(%rsp),%rbx
140019707:	00
140019708:	48 83 c4 30          	add    $0x30,%rsp
14001970c:	41 5f                	pop    %r15
14001970e:	41 5e                	pop    %r14
140019710:	41 5d                	pop    %r13
140019712:	41 5c                	pop    %r12
140019714:	5f                   	pop    %rdi
140019715:	5e                   	pop    %rsi
140019716:	5d                   	pop    %rbp
140019717:	c3                   	ret
140019718:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14001971d:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
140019722:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140019727:	57                   	push   %rdi
140019728:	41 54                	push   %r12
14001972a:	41 55                	push   %r13
14001972c:	41 56                	push   %r14
14001972e:	41 57                	push   %r15
140019730:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
140019735:	8b fa                	mov    %edx,%edi
140019737:	41 bd 40 00 00 00    	mov    $0x40,%r13d
14001973d:	45 8a f8             	mov    %r8b,%r15b
140019740:	4c 8b d9             	mov    %rcx,%r11
140019743:	8a 45 08             	mov    0x8(%rbp),%al
140019746:	f6 d8                	neg    %al
140019748:	1b d2                	sbb    %edx,%edx
14001974a:	45 33 d2             	xor    %r10d,%r10d
14001974d:	83 e2 1d             	and    $0x1d,%edx
140019750:	83 c2 17             	add    $0x17,%edx
140019753:	41 3b fd             	cmp    %r13d,%edi
140019756:	77 29                	ja     0x140019781
140019758:	44 39 11             	cmp    %r10d,(%rcx)
14001975b:	76 0e                	jbe    0x14001976b
14001975d:	83 39 01             	cmpl   $0x1,(%rcx)
140019760:	8b 41 04             	mov    0x4(%rcx),%eax
140019763:	76 09                	jbe    0x14001976e
140019765:	44 8b 51 08          	mov    0x8(%rcx),%r10d
140019769:	eb 03                	jmp    0x14001976e
14001976b:	41 8b c2             	mov    %r10d,%eax
14001976e:	41 8b ca             	mov    %r10d,%ecx
140019771:	41 80 f1 01          	xor    $0x1,%r9b
140019775:	48 c1 e1 20          	shl    $0x20,%rcx
140019779:	48 03 c8             	add    %rax,%rcx
14001977c:	e9 d4 00 00 00       	jmp    0x140019855
140019781:	44 8b c7             	mov    %edi,%r8d
140019784:	c1 ef 05             	shr    $0x5,%edi
140019787:	8d 77 fe             	lea    -0x2(%rdi),%esi
14001978a:	44 8b 64 b1 04       	mov    0x4(%rcx,%rsi,4),%r12d