1400a151f:	29 c8                	sub    %ecx,%eax
1400a1521:	0c 30                	or     $0x30,%al
1400a1523:	88 44 24 57          	mov    %al,0x57(%rsp)
1400a1527:	48 c1 ea 25          	shr    $0x25,%rdx
1400a152b:	48 69 c2 9a 99 99 19 	imul   $0x1999999a,%rdx,%rax
1400a1532:	48 c1 e8 20          	shr    $0x20,%rax
1400a1536:	01 c0                	add    %eax,%eax
1400a1538:	8d 04 80             	lea    (%rax,%rax,4),%eax
1400a153b:	29 c2                	sub    %eax,%edx
1400a153d:	80 ca 30             	or     $0x30,%dl
1400a1540:	88 54 24 56          	mov    %dl,0x56(%rsp)
1400a1544:	49 c1 e8 26          	shr    $0x26,%r8
1400a1548:	49 69 c0 9a 99 99 19 	imul   $0x1999999a,%r8,%rax
1400a154f:	48 c1 e8 20          	shr    $0x20,%rax
1400a1553:	01 c0                	add    %eax,%eax
1400a1555:	8d 04 80             	lea    (%rax,%rax,4),%eax
1400a1558:	41 29 c0             	sub    %eax,%r8d
1400a155b:	41 80 c8 30          	or     $0x30,%r8b
1400a155f:	44 88 44 24 55       	mov    %r8b,0x55(%rsp)
1400a1564:	4d 0f af cc          	imul   %r12,%r9
1400a1568:	49 c1 e9 2d          	shr    $0x2d,%r9
1400a156c:	49 69 c1 9a 99 99 19 	imul   $0x1999999a,%r9,%rax
1400a1573:	48 c1 e8 20          	shr    $0x20,%rax
1400a1577:	01 c0                	add    %eax,%eax
1400a1579:	8d 04 80             	lea    (%rax,%rax,4),%eax
1400a157c:	41 29 c1             	sub    %eax,%r9d
1400a157f:	41 80 c9 30          	or     $0x30,%r9b
1400a1583:	44 88 4c 24 54       	mov    %r9b,0x54(%rsp)
1400a1588:	41 c1 ea 05          	shr    $0x5,%r10d
1400a158c:	49 69 c2 c5 5a 7c 0a 	imul   $0xa7c5ac5,%r10,%rax
1400a1593:	48 c1 e8 27          	shr    $0x27,%rax
1400a1597:	69 c8 cd cc 00 00    	imul   $0xcccd,%eax,%ecx
1400a159d:	c1 e9 12             	shr    $0x12,%ecx
1400a15a0:	83 e1 fe             	and    $0xfffffffe,%ecx
1400a15a3:	8d 0c 89             	lea    (%rcx,%rcx,4),%ecx
1400a15a6:	29 c8                	sub    %ecx,%eax
1400a15a8:	0c 30                	or     $0x30,%al
1400a15aa:	88 44 24 53          	mov    %al,0x53(%rsp)
1400a15ae:	49 c1 eb 32          	shr    $0x32,%r11
1400a15b2:	41 69 c3 9a 19 00 00 	imul   $0x199a,%r11d,%eax
1400a15b9:	c1 e8 0f             	shr    $0xf,%eax
1400a15bc:	83 e0 fe             	and    $0xfffffffe,%eax
1400a15bf:	8d 04 80             	lea    (%rax,%rax,4),%eax
1400a15c2:	41 29 c3             	sub    %eax,%r11d
1400a15c5:	41 80 cb 30          	or     $0x30,%r11b
1400a15c9:	44 88 5c 24 52       	mov    %r11b,0x52(%rsp)
1400a15ce:	48 c1 ef 36          	shr    $0x36,%rdi
1400a15d2:	69 c7 9a 19 00 00    	imul   $0x199a,%edi,%eax
1400a15d8:	c1 e8 0f             	shr    $0xf,%eax
1400a15db:	83 e0 fe             	and    $0xfffffffe,%eax
1400a15de:	8d 04 80             	lea    (%rax,%rax,4),%eax
1400a15e1:	29 c7                	sub    %eax,%edi
1400a15e3:	40 80 cf 30          	or     $0x30,%dil
1400a15e7:	40 88 7c 24 51       	mov    %dil,0x51(%rsp)
1400a15ec:	48 c1 ed 39          	shr    $0x39,%rbp
1400a15f0:	8d 44 ad 00          	lea    0x0(%rbp,%rbp,4),%eax
1400a15f4:	8d 04 80             	lea    (%rax,%rax,4),%eax
1400a15f7:	01 e8                	add    %ebp,%eax
1400a15f9:	c1 e8 07             	shr    $0x7,%eax
1400a15fc:	83 e0 1e             	and    $0x1e,%eax
1400a15ff:	8d 04 80             	lea    (%rax,%rax,4),%eax
1400a1602:	40 28 c5             	sub    %al,%bpl
1400a1605:	40 80 cd 30          	or     $0x30,%bpl
1400a1609:	40 88 6c 24 50       	mov    %bpl,0x50(%rsp)
1400a160e:	4c 89 6c 24 60       	mov    %r13,0x60(%rsp)
1400a1613:	48 8b 06             	mov    (%rsi),%rax
1400a1616:	48 8b 48 18          	mov    0x18(%rax),%rcx
1400a161a:	4c 89 74 24 30       	mov    %r14,0x30(%rsp)
1400a161f:	4c 89 6c 24 38       	mov    %r13,0x38(%rsp)
1400a1624:	4c 89 f5             	mov    %r14,%rbp
1400a1627:	48 85 ed             	test   %rbp,%rbp
1400a162a:	0f 84 7a fe ff ff    	je     0x1400a14aa
1400a1630:	48 89 da             	mov    %rbx,%rdx
1400a1633:	e8 88 06 fb ff       	call   0x140051cc0
1400a1638:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
1400a163d:	48 3b 44 24 48       	cmp    0x48(%rsp),%rax
1400a1642:	0f 82 64 fe ff ff    	jb     0x1400a14ac
1400a1648:	48 8b 06             	mov    (%rsi),%rax
1400a164b:	48 83 78 08 00       	cmpq   $0x0,0x8(%rax)
1400a1650:	74 69                	je     0x1400a16bb
1400a1652:	48 8b 48 18          	mov    0x18(%rax),%rcx
1400a1656:	ba 01 00 00 00       	mov    $0x1,%edx
1400a165b:	41 b0 2e             	mov    $0x2e,%r8b
1400a165e:	e8 2d e4 ff ff       	call   0x14009fa90
1400a1663:	48 8b 06             	mov    (%rsi),%rax
1400a1666:	48 8b 50 08          	mov    0x8(%rax),%rdx
1400a166a:	48 8b 7c 24 28       	mov    0x28(%rsp),%rdi
1400a166f:	48 8b 48 18          	mov    0x18(%rax),%rcx
1400a1673:	41 b0 30             	mov    $0x30,%r8b
1400a1676:	e8 15 e4 ff ff       	call   0x14009fa90
1400a167b:	48 8b 06             	mov    (%rsi),%rax
1400a167e:	48 8b 48 18          	mov    0x18(%rax),%rcx
1400a1682:	48 89 fa             	mov    %rdi,%rdx
1400a1685:	41 b0 20             	mov    $0x20,%r8b
1400a1688:	e8 03 e4 ff ff       	call   0x14009fa90
1400a168d:	48 8b 8c 24 80 00 00 	mov    0x80(%rsp),%rcx
1400a1694:	00
1400a1695:	48 31 e1             	xor    %rsp,%rcx
1400a1698:	48 3b 0d a1 f9 05 00 	cmp    0x5f9a1(%rip),%rcx        # 0x140101040
1400a169f:	74 06                	je     0x1400a16a7
1400a16a1:	e8 2a dc fc ff       	call   0x14006f2d0
1400a16a6:	cc                   	int3
1400a16a7:	48 81 c4 88 00 00 00 	add    $0x88,%rsp
1400a16ae:	5b                   	pop    %rbx
1400a16af:	5d                   	pop    %rbp
1400a16b0:	5f                   	pop    %rdi
1400a16b1:	5e                   	pop    %rsi
1400a16b2:	41 5c                	pop    %r12
1400a16b4:	41 5d                	pop    %r13
1400a16b6:	41 5e                	pop    %r14
1400a16b8:	41 5f                	pop    %r15
1400a16ba:	c3                   	ret
1400a16bb:	48 8b 48 10          	mov    0x10(%rax),%rcx
1400a16bf:	f6 41 01 08          	testb  $0x8,0x1(%rcx)
1400a16c3:	75 8d                	jne    0x1400a1652
1400a16c5:	31 d2                	xor    %edx,%edx
1400a16c7:	eb a1                	jmp    0x1400a166a
1400a16c9:	cc                   	int3
1400a16ca:	cc                   	int3
1400a16cb:	cc                   	int3
1400a16cc:	cc                   	int3
1400a16cd:	cc                   	int3
1400a16ce:	cc                   	int3
1400a16cf:	cc                   	int3
1400a16d0:	56                   	push   %rsi
1400a16d1:	57                   	push   %rdi
1400a16d2:	53                   	push   %rbx
1400a16d3:	48 83 ec 50          	sub    $0x50,%rsp
1400a16d7:	48 89 c8             	mov    %rcx,%rax
1400a16da:	48 8b 0d 5f f9 05 00 	mov    0x5f95f(%rip),%rcx        # 0x140101040
1400a16e1:	48 31 e1             	xor    %rsp,%rcx
1400a16e4:	48 89 4c 24 48       	mov    %rcx,0x48(%rsp)
1400a16e9:	4c 8b 02             	mov    (%rdx),%r8
1400a16ec:	4c 8b 4a 08          	mov    0x8(%rdx),%r9
1400a16f0:	8b 50 20             	mov    0x20(%rax),%edx
1400a16f3:	48 8b 70 10          	mov    0x10(%rax),%rsi
1400a16f7:	48 8b 78 18          	mov    0x18(%rax),%rdi
1400a16fb:	8d 4a 1f             	lea    0x1f(%rdx),%ecx
1400a16fe:	85 d2                	test   %edx,%edx
1400a1700:	0f 49 ca             	cmovns %edx,%ecx
1400a1703:	41 89 ca             	mov    %ecx,%r10d
1400a1706:	41 c1 fa 05          	sar    $0x5,%r10d
1400a170a:	4d 63 d2             	movslq %r10d,%r10
1400a170d:	4d 8d 5a 01          	lea    0x1(%r10),%r11
1400a1711:	4c 89 5c 24 30       	mov    %r11,0x30(%rsp)
1400a1716:	4c 89 44 24 38       	mov    %r8,0x38(%rsp)
1400a171b:	4c 89 4c 24 40       	mov    %r9,0x40(%rsp)
1400a1720:	4d 39 ca             	cmp    %r9,%r10
1400a1723:	0f 83 b8 00 00 00    	jae    0x1400a17e1
1400a1729:	83 e1 e0             	and    $0xffffffe0,%ecx
1400a172c:	29 ca                	sub    %ecx,%edx
1400a172e:	8d 4a 20             	lea    0x20(%rdx),%ecx
1400a1731:	f7 d9                	neg    %ecx
1400a1733:	48 89 f3             	mov    %rsi,%rbx
1400a1736:	48 d3 e3             	shl    %cl,%rbx
1400a1739:	43 89 5c 98 fc       	mov    %ebx,-0x4(%r8,%r11,4)
1400a173e:	85 d2                	test   %edx,%edx
1400a1740:	74 09                	je     0x1400a174b
1400a1742:	89 d1                	mov    %edx,%ecx
1400a1744:	48 0f ad fe          	shrd   %cl,%rdi,%rsi
1400a1748:	48 d3 ef             	shr    %cl,%rdi
1400a174b:	48 89 f1             	mov    %rsi,%rcx
1400a174e:	48 09 f9             	or     %rdi,%rcx
1400a1751:	74 25                	je     0x1400a1778
1400a1753:	49 8d 4a ff          	lea    -0x1(%r10),%rcx
1400a1757:	4c 39 c9             	cmp    %r9,%rcx
1400a175a:	0f 83 81 00 00 00    	jae    0x1400a17e1
1400a1760:	41 89 34 88          	mov    %esi,(%r8,%rcx,4)
1400a1764:	48 0f ac fe 20       	shrd   $0x20,%rdi,%rsi
1400a1769:	48 c1 ef 20          	shr    $0x20,%rdi
1400a176d:	48 ff c9             	dec    %rcx
1400a1770:	48 89 f2             	mov    %rsi,%rdx
1400a1773:	48 09 fa             	or     %rdi,%rdx
1400a1776:	75 df                	jne    0x1400a1757
1400a1778:	31 c9                	xor    %ecx,%ecx
1400a177a:	45 85 db             	test   %r11d,%r11d
1400a177d:	74 2f                	je     0x1400a17ae
1400a177f:	4c 89 d2             	mov    %r10,%rdx
1400a1782:	4c 39 ca             	cmp    %r9,%rdx
1400a1785:	73 5a                	jae    0x1400a17e1
1400a1787:	41 8b 34 90          	mov    (%r8,%rdx,4),%esi
1400a178b:	48 8d 34 b6          	lea    (%rsi,%rsi,4),%rsi
1400a178f:	48 8d 0c 71          	lea    (%rcx,%rsi,2),%rcx
1400a1793:	41 89 0c 90          	mov    %ecx,(%r8,%rdx,4)
1400a1797:	48 c1 e9 20          	shr    $0x20,%rcx
1400a179b:	48 83 c2 ff          	add    $0xffffffffffffffff,%rdx
1400a179f:	72 e1                	jb     0x1400a1782
1400a17a1:	43 83 7c 98 fc 00    	cmpl   $0x0,-0x4(%r8,%r11,4)
1400a17a7:	75 05                	jne    0x1400a17ae
1400a17a9:	4c 89 54 24 30       	mov    %r10,0x30(%rsp)
1400a17ae:	48 8d 54 24 28       	lea    0x28(%rsp),%rdx
1400a17b3:	88 0a                	mov    %cl,(%rdx)
1400a17b5:	48 8b 08             	mov    (%rax),%rcx
1400a17b8:	48 8b 40 08          	mov    0x8(%rax),%rax
1400a17bc:	ff 15 46 55 05 00    	call   *0x55546(%rip)        # 0x1400f6d08
1400a17c2:	48 8b 4c 24 48       	mov    0x48(%rsp),%rcx
1400a17c7:	48 31 e1             	xor    %rsp,%rcx
1400a17ca:	48 3b 0d 6f f8 05 00 	cmp    0x5f86f(%rip),%rcx        # 0x140101040
1400a17d1:	74 06                	je     0x1400a17d9
1400a17d3:	e8 f8 da fc ff       	call   0x14006f2d0
1400a17d8:	cc                   	int3
1400a17d9:	48 83 c4 50          	add    $0x50,%rsp
1400a17dd:	5b                   	pop    %rbx
1400a17de:	5f                   	pop    %rdi
1400a17df:	5e                   	pop    %rsi
1400a17e0:	c3                   	ret
1400a17e1:	0f 0b                	ud2
1400a17e3:	cc                   	int3
1400a17e4:	cc                   	int3
1400a17e5:	cc                   	int3
1400a17e6:	cc                   	int3
1400a17e7:	cc                   	int3
1400a17e8:	cc                   	int3
1400a17e9:	cc                   	int3
1400a17ea:	cc                   	int3
1400a17eb:	cc                   	int3
1400a17ec:	cc                   	int3
1400a17ed:	cc                   	int3
1400a17ee:	cc                   	int3
1400a17ef:	cc                   	int3
1400a17f0:	41 57                	push   %r15
1400a17f2:	41 56                	push   %r14
1400a17f4:	41 54                	push   %r12
1400a17f6:	56                   	push   %rsi
1400a17f7:	57                   	push   %rdi
1400a17f8:	53                   	push   %rbx
1400a17f9:	48 83 ec 28          	sub    $0x28,%rsp
1400a17fd:	48 8b 01             	mov    (%rcx),%rax
1400a1800:	48 83 78 08 00       	cmpq   $0x0,0x8(%rax)
1400a1805:	74 56                	je     0x1400a185d
1400a1807:	48 89 ce             	mov    %rcx,%rsi
1400a180a:	48 8b 41 08          	mov    0x8(%rcx),%rax
1400a180e:	48 83 38 00          	cmpq   $0x0,(%rax)
1400a1812:	74 49                	je     0x1400a185d
1400a1814:	4c 8b 72 10          	mov    0x10(%rdx),%r14
1400a1818:	4c 8b 7a 18          	mov    0x18(%rdx),%r15
1400a181c:	44 8a 02             	mov    (%rdx),%r8b
1400a181f:	48 8b 5a 08          	mov    0x8(%rdx),%rbx
1400a1823:	e9 fa 00 00 00       	jmp    0x1400a1922
1400a1828:	0f 97 c0             	seta   %al
1400a182b:	41 80 fc 06          	cmp    $0x6,%r12b
1400a182f:	0f 93 c1             	setae  %cl
1400a1832:	08 c1                	or     %al,%cl
1400a1834:	75 0b                	jne    0x1400a1841
1400a1836:	41 80 fc 05          	cmp    $0x5,%r12b
1400a183a:	75 2f                	jne    0x1400a186b
1400a183c:	48 85 db             	test   %rbx,%rbx
1400a183f:	74 2a                	je     0x1400a186b
1400a1841:	48 8b 06             	mov    (%rsi),%rax
1400a1844:	48 8b 48 18          	mov    0x18(%rax),%rcx
1400a1848:	41 80 c0 31          	add    $0x31,%r8b
1400a184c:	ba 01 00 00 00       	mov    $0x1,%edx
1400a1851:	e8 3a e2 ff ff       	call   0x14009fa90
1400a1856:	48 8b 46 08          	mov    0x8(%rsi),%rax
1400a185a:	48 ff 08             	decq   (%rax)
1400a185d:	48 83 c4 28          	add    $0x28,%rsp
1400a1861:	5b                   	pop    %rbx
1400a1862:	5f                   	pop    %rdi
1400a1863:	5e                   	pop    %rsi
1400a1864:	41 5c                	pop    %r12
1400a1866:	41 5e                	pop    %r14
1400a1868:	41 5f                	pop    %r15
1400a186a:	c3                   	ret
1400a186b:	41 80 fc 05          	cmp    $0x5,%r12b
1400a186f:	75 18                	jne    0x1400a1889
1400a1871:	48 85 db             	test   %rbx,%rbx
1400a1874:	75 13                	jne    0x1400a1889
1400a1876:	48 85 ff             	test   %rdi,%rdi
1400a1879:	75 c6                	jne    0x1400a1841
1400a187b:	41 0f be c0          	movsbl %r8b,%eax
1400a187f:	25 01 00 00 80       	and    $0x80000001,%eax
1400a1884:	83 f8 01             	cmp    $0x1,%eax
1400a1887:	74 b8                	je     0x1400a1841
1400a1889:	48 8b 06             	mov    (%rsi),%rax
1400a188c:	48 8b 48 18          	mov    0x18(%rax),%rcx
1400a1890:	41 80 c0 30          	add    $0x30,%r8b
1400a1894:	ba 01 00 00 00       	mov    $0x1,%edx
1400a1899:	e8 f2 e1 ff ff       	call   0x14009fa90
1400a189e:	48 8b 06             	mov    (%rsi),%rax
1400a18a1:	48 8b 56 08          	mov    0x8(%rsi),%rdx
1400a18a5:	48 8b 48 18          	mov    0x18(%rax),%rcx
1400a18a9:	48 8b 12             	mov    (%rdx),%rdx
1400a18ac:	48 ff ca             	dec    %rdx
1400a18af:	41 b0 39             	mov    $0x39,%r8b
1400a18b2:	e8 d9 e1 ff ff       	call   0x14009fa90
1400a18b7:	48 8b 46 08          	mov    0x8(%rsi),%rax
1400a18bb:	48 c7 00 00 00 00 00 	movq   $0x0,(%rax)
1400a18c2:	eb 99                	jmp    0x1400a185d
1400a18c4:	31 db                	xor    %ebx,%ebx
1400a18c6:	eb 04                	jmp    0x1400a18cc
1400a18c8:	31 db                	xor    %ebx,%ebx
1400a18ca:	31 ff                	xor    %edi,%edi
1400a18cc:	45 31 e4             	xor    %r12d,%r12d
1400a18cf:	48 8d 47 01          	lea    0x1(%rdi),%rax
1400a18d3:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
1400a18d7:	48 3b 01             	cmp    (%rcx),%rax
1400a18da:	0f 83 48 ff ff ff    	jae    0x1400a1828
1400a18e0:	48 8b 06             	mov    (%rsi),%rax
1400a18e3:	48 8b 48 18          	mov    0x18(%rax),%rcx
1400a18e7:	41 80 c0 30          	add    $0x30,%r8b
1400a18eb:	ba 01 00 00 00       	mov    $0x1,%edx
1400a18f0:	e8 9b e1 ff ff       	call   0x14009fa90
1400a18f5:	48 8b 06             	mov    (%rsi),%rax
1400a18f8:	48 8b 48 18          	mov    0x18(%rax),%rcx
1400a18fc:	48 89 fa             	mov    %rdi,%rdx
1400a18ff:	41 b0 39             	mov    $0x39,%r8b
1400a1902:	e8 89 e1 ff ff       	call   0x14009fa90
1400a1907:	48 f7 d7             	not    %rdi
1400a190a:	48 8b 46 08          	mov    0x8(%rsi),%rax
1400a190e:	48 01 38             	add    %rdi,(%rax)
1400a1911:	48 8b 46 08          	mov    0x8(%rsi),%rax
1400a1915:	48 83 38 00          	cmpq   $0x0,(%rax)
1400a1919:	45 89 e0             	mov    %r12d,%r8d
1400a191c:	0f 84 3b ff ff ff    	je     0x1400a185d
1400a1922:	45 84 c0             	test   %r8b,%r8b
1400a1925:	75 09                	jne    0x1400a1930
1400a1927:	48 85 db             	test   %rbx,%rbx
1400a192a:	0f 84 2d ff ff ff    	je     0x1400a185d
1400a1930:	48 85 db             	test   %rbx,%rbx
1400a1933:	74 93                	je     0x1400a18c8
1400a1935:	48 8d 43 ff          	lea    -0x1(%rbx),%rax
1400a1939:	48 89 d9             	mov    %rbx,%rcx
1400a193c:	45 31 e4             	xor    %r12d,%r12d
1400a193f:	4c 39 f8             	cmp    %r15,%rax
1400a1942:	0f 83 81 00 00 00    	jae    0x1400a19c9
1400a1948:	41 8b 54 8e fc       	mov    -0x4(%r14,%rcx,4),%edx
1400a194d:	48 8d 14 92          	lea    (%rdx,%rdx,4),%rdx
1400a1951:	4d 8d 24 54          	lea    (%r12,%rdx,2),%r12
1400a1955:	45 89 64 8e fc       	mov    %r12d,-0x4(%r14,%rcx,4)
1400a195a:	48 8d 51 ff          	lea    -0x1(%rcx),%rdx
1400a195e:	49 c1 ec 20          	shr    $0x20,%r12
1400a1962:	48 89 d1             	mov    %rdx,%rcx
1400a1965:	48 85 d2             	test   %rdx,%rdx
1400a1968:	75 d5                	jne    0x1400a193f
1400a196a:	41 83 7c 9e fc 00    	cmpl   $0x0,-0x4(%r14,%rbx,4)
1400a1970:	48 0f 44 d8          	cmove  %rax,%rbx
1400a1974:	31 ff                	xor    %edi,%edi
1400a1976:	49 83 fc 09          	cmp    $0x9,%r12
1400a197a:	0f 85 4f ff ff ff    	jne    0x1400a18cf
1400a1980:	48 ff c7             	inc    %rdi
1400a1983:	48 85 db             	test   %rbx,%rbx
1400a1986:	0f 84 38 ff ff ff    	je     0x1400a18c4
1400a198c:	48 8d 43 ff          	lea    -0x1(%rbx),%rax
1400a1990:	48 89 d9             	mov    %rbx,%rcx
1400a1993:	45 31 e4             	xor    %r12d,%r12d
1400a1996:	4c 39 f8             	cmp    %r15,%rax
1400a1999:	73 2e                	jae    0x1400a19c9
1400a199b:	41 8b 54 8e fc       	mov    -0x4(%r14,%rcx,4),%edx
1400a19a0:	48 8d 14 92          	lea    (%rdx,%rdx,4),%rdx
1400a19a4:	4d 8d 24 54          	lea    (%r12,%rdx,2),%r12