1402c1463:	8b 43 04             	mov    0x4(%rbx),%eax
1402c1466:	4c 8d 5b 08          	lea    0x8(%rbx),%r11
1402c146a:	45 1b d2             	sbb    %r10d,%r10d
1402c146d:	4c 8d 43 08          	lea    0x8(%rbx),%r8
1402c1471:	41 83 e2 1d          	and    $0x1d,%r10d
1402c1475:	4c 03 d8             	add    %rax,%r11
1402c1478:	41 83 c2 17          	add    $0x17,%r10d
1402c147c:	44 03 13             	add    (%rbx),%r10d
1402c147f:	4d 3b c3             	cmp    %r11,%r8
1402c1482:	74 36                	je     0x1402c14ba
1402c1484:	41 f6 d9             	neg    %r9b
1402c1487:	48 b8 00 00 00 ff ff 	movabs $0x1fffffff000000,%rax
1402c148e:	ff 1f 00
1402c1491:	48 1b d2             	sbb    %rdx,%rdx
1402c1494:	48 23 d0             	and    %rax,%rdx
1402c1497:	48 81 c2 ff ff ff 00 	add    $0xffffff,%rdx
1402c149e:	48 3b ca             	cmp    %rdx,%rcx
1402c14a1:	77 17                	ja     0x1402c14ba
1402c14a3:	41 0f b6 00          	movzbl (%r8),%eax
1402c14a7:	41 83 ea 04          	sub    $0x4,%r10d
1402c14ab:	48 c1 e1 04          	shl    $0x4,%rcx
1402c14af:	49 ff c0             	inc    %r8
1402c14b2:	48 03 c8             	add    %rax,%rcx
1402c14b5:	4d 3b c3             	cmp    %r11,%r8
1402c14b8:	75 e4                	jne    0x1402c149e
1402c14ba:	41 b1 01             	mov    $0x1,%r9b
1402c14bd:	eb 11                	jmp    0x1402c14d0
1402c14bf:	45 84 c9             	test   %r9b,%r9b
1402c14c2:	74 11                	je     0x1402c14d5
1402c14c4:	41 8a 00             	mov    (%r8),%al
1402c14c7:	49 ff c0             	inc    %r8
1402c14ca:	84 c0                	test   %al,%al
1402c14cc:	41 0f 94 c1          	sete   %r9b
1402c14d0:	4d 3b c3             	cmp    %r11,%r8
1402c14d3:	75 ea                	jne    0x1402c14bf
1402c14d5:	44 8a 83 08 03 00 00 	mov    0x308(%rbx),%r8b
1402c14dc:	41 8b d2             	mov    %r10d,%edx
1402c14df:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
1402c14e4:	e8 d3 db ff ff       	call   0x1402bf0bc
1402c14e9:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
1402c14ee:	48 83 c4 30          	add    $0x30,%rsp
1402c14f2:	5f                   	pop    %rdi
1402c14f3:	c3                   	ret
1402c14f4:	cc                   	int3
1402c14f5:	cc                   	int3
1402c14f6:	cc                   	int3
1402c14f7:	cc                   	int3
1402c14f8:	cc                   	int3
1402c14f9:	cc                   	int3
1402c14fa:	cc                   	int3
1402c14fb:	cc                   	int3
1402c14fc:	cc                   	int3
1402c14fd:	cc                   	int3
1402c14fe:	cc                   	int3
1402c14ff:	cc                   	int3
1402c1500:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
1402c1505:	53                   	push   %rbx
1402c1506:	55                   	push   %rbp
1402c1507:	56                   	push   %rsi
1402c1508:	57                   	push   %rdi
1402c1509:	41 54                	push   %r12
1402c150b:	41 56                	push   %r14
1402c150d:	41 57                	push   %r15
1402c150f:	48 81 ec 20 02 00 00 	sub    $0x220,%rsp
1402c1516:	44 8b 11             	mov    (%rcx),%r10d
1402c1519:	4c 8b fa             	mov    %rdx,%r15
1402c151c:	48 8b f1             	mov    %rcx,%rsi
1402c151f:	45 85 d2             	test   %r10d,%r10d
1402c1522:	0f 84 60 04 00 00    	je     0x1402c1988
1402c1528:	8b 3a                	mov    (%rdx),%edi
1402c152a:	85 ff                	test   %edi,%edi
1402c152c:	0f 84 56 04 00 00    	je     0x1402c1988
1402c1532:	41 ff ca             	dec    %r10d
1402c1535:	8d 6f ff             	lea    -0x1(%rdi),%ebp
1402c1538:	85 ed                	test   %ebp,%ebp
1402c153a:	0f 85 fb 00 00 00    	jne    0x1402c163b
1402c1540:	44 8b 62 04          	mov    0x4(%rdx),%r12d
1402c1544:	33 ed                	xor    %ebp,%ebp
1402c1546:	41 83 fc 01          	cmp    $0x1,%r12d
1402c154a:	75 26                	jne    0x1402c1572
1402c154c:	8b 59 04             	mov    0x4(%rcx),%ebx
1402c154f:	4c 8d 44 24 44       	lea    0x44(%rsp),%r8
1402c1554:	48 83 c1 04          	add    $0x4,%rcx
1402c1558:	89 2e                	mov    %ebp,(%rsi)
1402c155a:	45 33 c9             	xor    %r9d,%r9d
1402c155d:	89 6c 24 40          	mov    %ebp,0x40(%rsp)
1402c1561:	ba cc 01 00 00       	mov    $0x1cc,%edx
1402c1566:	e8 a9 04 00 00       	call   0x1402c1a14
1402c156b:	8b c3                	mov    %ebx,%eax
1402c156d:	e9 18 04 00 00       	jmp    0x1402c198a
1402c1572:	45 85 d2             	test   %r10d,%r10d
1402c1575:	75 3d                	jne    0x1402c15b4
1402c1577:	8b 79 04             	mov    0x4(%rcx),%edi
1402c157a:	4c 8d 44 24 44       	lea    0x44(%rsp),%r8
1402c157f:	89 29                	mov    %ebp,(%rcx)
1402c1581:	45 33 c9             	xor    %r9d,%r9d
1402c1584:	48 83 c1 04          	add    $0x4,%rcx
1402c1588:	89 6c 24 40          	mov    %ebp,0x40(%rsp)
1402c158c:	ba cc 01 00 00       	mov    $0x1cc,%edx
1402c1591:	e8 7e 04 00 00       	call   0x1402c1a14
1402c1596:	33 d2                	xor    %edx,%edx
1402c1598:	8b c7                	mov    %edi,%eax
1402c159a:	41 f7 f4             	div    %r12d
1402c159d:	8b c7                	mov    %edi,%eax
1402c159f:	85 d2                	test   %edx,%edx
1402c15a1:	89 56 04             	mov    %edx,0x4(%rsi)
1402c15a4:	40 0f 95 c5          	setne  %bpl
1402c15a8:	33 d2                	xor    %edx,%edx
1402c15aa:	41 f7 f4             	div    %r12d
1402c15ad:	89 2e                	mov    %ebp,(%rsi)
1402c15af:	e9 d6 03 00 00       	jmp    0x1402c198a
1402c15b4:	41 bf ff ff ff ff    	mov    $0xffffffff,%r15d
1402c15ba:	4c 8b f5             	mov    %rbp,%r14
1402c15bd:	48 8b fd             	mov    %rbp,%rdi
1402c15c0:	45 3b d7             	cmp    %r15d,%r10d
1402c15c3:	74 3b                	je     0x1402c1600
1402c15c5:	4d 8b cc             	mov    %r12,%r9
1402c15c8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
1402c15cf:	00
1402c15d0:	46 8b 44 96 04       	mov    0x4(%rsi,%r10,4),%r8d
1402c15d5:	33 d2                	xor    %edx,%edx
1402c15d7:	48 c1 e7 20          	shl    $0x20,%rdi
1402c15db:	45 03 d7             	add    %r15d,%r10d
1402c15de:	4c 0b c7             	or     %rdi,%r8
1402c15e1:	49 c1 e6 20          	shl    $0x20,%r14
1402c15e5:	49 8b c0             	mov    %r8,%rax
1402c15e8:	49 f7 f1             	div    %r9
1402c15eb:	33 d2                	xor    %edx,%edx
1402c15ed:	8b c8                	mov    %eax,%ecx
1402c15ef:	49 8b c0             	mov    %r8,%rax
1402c15f2:	49 f7 f1             	div    %r9
1402c15f5:	4c 03 f1             	add    %rcx,%r14
1402c15f8:	48 8b fa             	mov    %rdx,%rdi
1402c15fb:	45 3b d7             	cmp    %r15d,%r10d
1402c15fe:	75 d0                	jne    0x1402c15d0
1402c1600:	45 33 c9             	xor    %r9d,%r9d
1402c1603:	89 6c 24 40          	mov    %ebp,0x40(%rsp)
1402c1607:	4c 8d 44 24 44       	lea    0x44(%rsp),%r8
1402c160c:	89 2e                	mov    %ebp,(%rsi)
1402c160e:	ba cc 01 00 00       	mov    $0x1cc,%edx
1402c1613:	48 8d 4e 04          	lea    0x4(%rsi),%rcx
1402c1617:	e8 f8 03 00 00       	call   0x1402c1a14
1402c161c:	48 8b cf             	mov    %rdi,%rcx
1402c161f:	89 7e 04             	mov    %edi,0x4(%rsi)
1402c1622:	48 c1 e9 20          	shr    $0x20,%rcx
1402c1626:	49 8b c6             	mov    %r14,%rax
1402c1629:	85 c9                	test   %ecx,%ecx
1402c162b:	89 4e 08             	mov    %ecx,0x8(%rsi)
1402c162e:	40 0f 95 c5          	setne  %bpl
1402c1632:	ff c5                	inc    %ebp
1402c1634:	89 2e                	mov    %ebp,(%rsi)
1402c1636:	e9 4f 03 00 00       	jmp    0x1402c198a
1402c163b:	41 3b ea             	cmp    %r10d,%ebp
1402c163e:	0f 87 44 03 00 00    	ja     0x1402c1988
1402c1644:	45 8b c2             	mov    %r10d,%r8d
1402c1647:	49 63 d2             	movslq %r10d,%rdx
1402c164a:	44 2b c5             	sub    %ebp,%r8d
1402c164d:	45 8b ca             	mov    %r10d,%r9d
1402c1650:	49 63 d8             	movslq %r8d,%rbx
1402c1653:	48 3b d3             	cmp    %rbx,%rdx
1402c1656:	7c 49                	jl     0x1402c16a1
1402c1658:	48 83 c1 04          	add    $0x4,%rcx
1402c165c:	48 8d 04 9d 00 00 00 	lea    0x0(,%rbx,4),%rax
1402c1663:	00
1402c1664:	4d 8b df             	mov    %r15,%r11
1402c1667:	4c 2b d8             	sub    %rax,%r11
1402c166a:	4c 2b de             	sub    %rsi,%r11
1402c166d:	48 8d 0c 91          	lea    (%rcx,%rdx,4),%rcx
1402c1671:	8b 01                	mov    (%rcx),%eax
1402c1673:	41 39 04 0b          	cmp    %eax,(%r11,%rcx,1)
1402c1677:	75 11                	jne    0x1402c168a
1402c1679:	41 ff c9             	dec    %r9d
1402c167c:	48 ff ca             	dec    %rdx
1402c167f:	48 83 e9 04          	sub    $0x4,%rcx
1402c1683:	48 3b d3             	cmp    %rbx,%rdx
1402c1686:	7d e9                	jge    0x1402c1671
1402c1688:	eb 17                	jmp    0x1402c16a1
1402c168a:	41 8b c1             	mov    %r9d,%eax
1402c168d:	41 2b c0             	sub    %r8d,%eax
1402c1690:	48 63 d0             	movslq %eax,%rdx
1402c1693:	49 63 c1             	movslq %r9d,%rax
1402c1696:	8b 4c 86 04          	mov    0x4(%rsi,%rax,4),%ecx
1402c169a:	41 39 4c 97 04       	cmp    %ecx,0x4(%r15,%rdx,4)
1402c169f:	73 03                	jae    0x1402c16a4
1402c16a1:	41 ff c0             	inc    %r8d
1402c16a4:	45 85 c0             	test   %r8d,%r8d
1402c16a7:	0f 84 db 02 00 00    	je     0x1402c1988
1402c16ad:	45 8b 4c af 04       	mov    0x4(%r15,%rbp,4),%r9d
1402c16b2:	8d 47 fe             	lea    -0x2(%rdi),%eax
1402c16b5:	45 8b 5c 87 04       	mov    0x4(%r15,%rax,4),%r11d
1402c16ba:	33 ed                	xor    %ebp,%ebp
1402c16bc:	41 0f bd c1          	bsr    %r9d,%eax
1402c16c0:	44 89 9c 24 70 02 00 	mov    %r11d,0x270(%rsp)
1402c16c7:	00
1402c16c8:	74 1e                	je     0x1402c16e8
1402c16ca:	bb 1f 00 00 00       	mov    $0x1f,%ebx
1402c16cf:	41 be 20 00 00 00    	mov    $0x20,%r14d
1402c16d5:	2b d8                	sub    %eax,%ebx
1402c16d7:	44 2b f3             	sub    %ebx,%r14d
1402c16da:	44 89 b4 24 60 02 00 	mov    %r14d,0x260(%rsp)
1402c16e1:	00
1402c16e2:	85 db                	test   %ebx,%ebx
1402c16e4:	74 4e                	je     0x1402c1734
1402c16e6:	eb 0f                	jmp    0x1402c16f7
1402c16e8:	bb 20 00 00 00       	mov    $0x20,%ebx
1402c16ed:	89 ac 24 60 02 00 00 	mov    %ebp,0x260(%rsp)
1402c16f4:	44 8b f5             	mov    %ebp,%r14d
1402c16f7:	41 8b c1             	mov    %r9d,%eax
1402c16fa:	41 8b d3             	mov    %r11d,%edx
1402c16fd:	41 8b ce             	mov    %r14d,%ecx
1402c1700:	d3 ea                	shr    %cl,%edx
1402c1702:	8b cb                	mov    %ebx,%ecx
1402c1704:	d3 e0                	shl    %cl,%eax
1402c1706:	44 8b ca             	mov    %edx,%r9d
1402c1709:	41 d3 e3             	shl    %cl,%r11d
1402c170c:	44 0b c8             	or     %eax,%r9d
1402c170f:	44 89 9c 24 70 02 00 	mov    %r11d,0x270(%rsp)
1402c1716:	00
1402c1717:	83 ff 02             	cmp    $0x2,%edi
1402c171a:	76 18                	jbe    0x1402c1734
1402c171c:	8d 47 fd             	lea    -0x3(%rdi),%eax
1402c171f:	41 8b ce             	mov    %r14d,%ecx
1402c1722:	41 8b 44 87 04       	mov    0x4(%r15,%rax,4),%eax
1402c1727:	d3 e8                	shr    %cl,%eax
1402c1729:	44 0b d8             	or     %eax,%r11d
1402c172c:	44 89 9c 24 70 02 00 	mov    %r11d,0x270(%rsp)
1402c1733:	00
1402c1734:	45 8d 60 ff          	lea    -0x1(%r8),%r12d
1402c1738:	48 89 6c 24 30       	mov    %rbp,0x30(%rsp)
1402c173d:	4c 8b dd             	mov    %rbp,%r11
1402c1740:	45 85 e4             	test   %r12d,%r12d
1402c1743:	0f 88 00 02 00 00    	js     0x1402c1949
1402c1749:	41 8b c6             	mov    %r14d,%eax
1402c174c:	41 bf ff ff ff ff    	mov    $0xffffffff,%r15d
1402c1752:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
1402c1757:	41 8b c1             	mov    %r9d,%eax
1402c175a:	4c 89 ac 24 18 02 00 	mov    %r13,0x218(%rsp)
1402c1761:	00
1402c1762:	45 8d 2c 3c          	lea    (%r12,%rdi,1),%r13d
1402c1766:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
1402c176b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1402c1770:	45 3b ea             	cmp    %r10d,%r13d
1402c1773:	77 07                	ja     0x1402c177c
1402c1775:	42 8b 54 ae 04       	mov    0x4(%rsi,%r13,4),%edx
1402c177a:	eb 02                	jmp    0x1402c177e
1402c177c:	8b d5                	mov    %ebp,%edx
1402c177e:	89 94 24 78 02 00 00 	mov    %edx,0x278(%rsp)
1402c1785:	41 8d 45 ff          	lea    -0x1(%r13),%eax
1402c1789:	8b 4c 86 04          	mov    0x4(%rsi,%rax,4),%ecx
1402c178d:	41 8d 45 fe          	lea    -0x2(%r13),%eax
1402c1791:	44 8b 5c 86 04       	mov    0x4(%rsi,%rax,4),%r11d
1402c1796:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
1402c179b:	89 54 24 24          	mov    %edx,0x24(%rsp)
1402c179f:	85 db                	test   %ebx,%ebx
1402c17a1:	74 33                	je     0x1402c17d6
1402c17a3:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
1402c17a8:	45 8b c3             	mov    %r11d,%r8d
1402c17ab:	48 8b 44 24 20       	mov    0x20(%rsp),%rax
1402c17b0:	49 d3 e8             	shr    %cl,%r8
1402c17b3:	8b cb                	mov    %ebx,%ecx
1402c17b5:	48 d3 e0             	shl    %cl,%rax
1402c17b8:	4c 0b c0             	or     %rax,%r8
1402c17bb:	41 d3 e3             	shl    %cl,%r11d
1402c17be:	41 83 fd 03          	cmp    $0x3,%r13d
1402c17c2:	72 17                	jb     0x1402c17db
1402c17c4:	41 8d 45 fd          	lea    -0x3(%r13),%eax
1402c17c8:	41 8b ce             	mov    %r14d,%ecx
1402c17cb:	8b 44 86 04          	mov    0x4(%rsi,%rax,4),%eax
1402c17cf:	d3 e8                	shr    %cl,%eax
1402c17d1:	44 0b d8             	or     %eax,%r11d
1402c17d4:	eb 05                	jmp    0x1402c17db
1402c17d6:	4c 8b 44 24 20       	mov    0x20(%rsp),%r8
1402c17db:	48 8b 4c 24 28       	mov    0x28(%rsp),%rcx
1402c17e0:	33 d2                	xor    %edx,%edx
1402c17e2:	49 8b c0             	mov    %r8,%rax
1402c17e5:	48 f7 f1             	div    %rcx
1402c17e8:	33 d2                	xor    %edx,%edx
1402c17ea:	4c 8b c8             	mov    %rax,%r9
1402c17ed:	49 8b c0             	mov    %r8,%rax
1402c17f0:	48 f7 f1             	div    %rcx
1402c17f3:	44 8b c2             	mov    %edx,%r8d
1402c17f6:	4d 3b cf             	cmp    %r15,%r9
1402c17f9:	76 17                	jbe    0x1402c1812
1402c17fb:	48 b8 01 00 00 00 ff 	movabs $0xffffffff00000001,%rax
1402c1802:	ff ff ff
1402c1805:	49 03 c1             	add    %r9,%rax
1402c1808:	4d 8b cf             	mov    %r15,%r9
1402c180b:	48 0f af c1          	imul   %rcx,%rax
1402c180f:	4c 03 c0             	add    %rax,%r8
1402c1812:	4d 3b c7             	cmp    %r15,%r8
1402c1815:	77 3e                	ja     0x1402c1855
1402c1817:	8b 94 24 70 02 00 00 	mov    0x270(%rsp),%edx
1402c181e:	4c 8b f1             	mov    %rcx,%r14
1402c1821:	8b c2                	mov    %edx,%eax
1402c1823:	49 0f af c1          	imul   %r9,%rax
1402c1827:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
1402c182e:	00 00
1402c1830:	49 8b c8             	mov    %r8,%rcx
1402c1833:	48 c1 e1 20          	shl    $0x20,%rcx
1402c1837:	49 0b cb             	or     %r11,%rcx
1402c183a:	48 3b c1             	cmp    %rcx,%rax
1402c183d:	76 0e                	jbe    0x1402c184d
1402c183f:	49 ff c9             	dec    %r9
1402c1842:	48 2b c2             	sub    %rdx,%rax
1402c1845:	4d 03 c6             	add    %r14,%r8
1402c1848:	4d 3b c7             	cmp    %r15,%r8
1402c184b:	76 e3                	jbe    0x1402c1830
1402c184d:	44 8b b4 24 60 02 00 	mov    0x260(%rsp),%r14d
1402c1854:	00
1402c1855:	4d 85 c9             	test   %r9,%r9
1402c1858:	0f 84 c2 00 00 00    	je     0x1402c1920
1402c185e:	4c 8b d5             	mov    %rbp,%r10
1402c1861:	44 8b dd             	mov    %ebp,%r11d
1402c1864:	85 ff                	test   %edi,%edi
1402c1866:	74 64                	je     0x1402c18cc
1402c1868:	4c 8b b4 24 68 02 00 	mov    0x268(%rsp),%r14
1402c186f:	00
1402c1870:	44 8b bc 24 60 02 00 	mov    0x260(%rsp),%r15d
1402c1877:	00
1402c1878:	49 83 c6 04          	add    $0x4,%r14
1402c187c:	0f 1f 40 00          	nopl   0x0(%rax)
1402c1880:	41 8b 06             	mov    (%r14),%eax
1402c1883:	4d 8d 76 04          	lea    0x4(%r14),%r14
1402c1887:	49 0f af c1          	imul   %r9,%rax
1402c188b:	4c 03 d0             	add    %rax,%r10
1402c188e:	43 8d 04 23          	lea    (%r11,%r12,1),%eax
1402c1892:	45 8b c2             	mov    %r10d,%r8d
1402c1895:	8b c8                	mov    %eax,%ecx
1402c1897:	49 c1 ea 20          	shr    $0x20,%r10
1402c189b:	8b 44 86 04          	mov    0x4(%rsi,%rax,4),%eax
1402c189f:	49 8b d2             	mov    %r10,%rdx
1402c18a2:	49 ff c2             	inc    %r10
1402c18a5:	41 3b c0             	cmp    %r8d,%eax
1402c18a8:	4c 0f 43 d2          	cmovae %rdx,%r10
1402c18ac:	41 2b c0             	sub    %r8d,%eax
1402c18af:	41 ff c3             	inc    %r11d
1402c18b2:	89 44 8e 04          	mov    %eax,0x4(%rsi,%rcx,4)
1402c18b6:	44 3b df             	cmp    %edi,%r11d
1402c18b9:	72 c5                	jb     0x1402c1880
1402c18bb:	45 8b f7             	mov    %r15d,%r14d
1402c18be:	44 89 bc 24 60 02 00 	mov    %r15d,0x260(%rsp)
1402c18c5:	00
1402c18c6:	41 bf ff ff ff ff    	mov    $0xffffffff,%r15d
1402c18cc:	4c 8b 9c 24 68 02 00 	mov    0x268(%rsp),%r11
1402c18d3:	00
1402c18d4:	8b 84 24 78 02 00 00 	mov    0x278(%rsp),%eax
1402c18db:	49 83 c3 04          	add    $0x4,%r11
1402c18df:	49 3b c2             	cmp    %r10,%rax
1402c18e2:	73 38                	jae    0x1402c191c
1402c18e4:	44 8b d5             	mov    %ebp,%r10d