1800a164a:	e8 11 9a 07 00       	call   0x18011b060
1800a164f:	48 85 c0             	test   %rax,%rax
1800a1652:	74 1a                	je     0x1800a166e
1800a1654:	48 8d 55 50          	lea    0x50(%rbp),%rdx
1800a1658:	48 8b c8             	mov    %rax,%rcx
1800a165b:	e8 f4 dd ff ff       	call   0x18009f454
1800a1660:	85 c0                	test   %eax,%eax
1800a1662:	74 0a                	je     0x1800a166e
1800a1664:	44 8b 75 50          	mov    0x50(%rbp),%r14d
1800a1668:	41 83 fe 64          	cmp    $0x64,%r14d
1800a166c:	76 03                	jbe    0x1800a1671
1800a166e:	45 33 f6             	xor    %r14d,%r14d
1800a1671:	48 8d 15 a8 0c 0b 00 	lea    0xb0ca8(%rip),%rdx        # 0x180152320
1800a1678:	48 8b cb             	mov    %rbx,%rcx
1800a167b:	e8 e0 99 07 00       	call   0x18011b060
1800a1680:	48 8b c8             	mov    %rax,%rcx
1800a1683:	48 8b f0             	mov    %rax,%rsi
1800a1686:	e8 f9 db ff ff       	call   0x18009f284
1800a168b:	48 8b f8             	mov    %rax,%rdi
1800a168e:	48 85 c0             	test   %rax,%rax
1800a1691:	75 09                	jne    0x1800a169c
1800a1693:	48 85 f6             	test   %rsi,%rsi
1800a1696:	0f 85 9e 01 00 00    	jne    0x1800a183a
1800a169c:	49 8b 45 00          	mov    0x0(%r13),%rax
1800a16a0:	49 8b cd             	mov    %r13,%rcx
1800a16a3:	48 8b 40 50          	mov    0x50(%rax),%rax
1800a16a7:	ff d0                	call   *%rax
1800a16a9:	0f 1f 00             	nopl   (%rax)
1800a16ac:	44 0f b7 f8          	movzwl %ax,%r15d
1800a16b0:	66 89 45 58          	mov    %ax,0x58(%rbp)
1800a16b4:	66 41 f7 d7          	not    %r15w
1800a16b8:	48 8d 15 09 0e 0b 00 	lea    0xb0e09(%rip),%rdx        # 0x1801524c8
1800a16bf:	48 8b cb             	mov    %rbx,%rcx
1800a16c2:	66 44 89 7d f0       	mov    %r15w,-0x10(%rbp)
1800a16c7:	66 44 89 7d 50       	mov    %r15w,0x50(%rbp)
1800a16cc:	e8 8f 99 07 00       	call   0x18011b060
1800a16d1:	48 8d 15 d8 0d 0b 00 	lea    0xb0dd8(%rip),%rdx        # 0x1801524b0
1800a16d8:	48 8b cb             	mov    %rbx,%rcx
1800a16db:	4c 8b f8             	mov    %rax,%r15
1800a16de:	e8 7d 99 07 00       	call   0x18011b060
1800a16e3:	48 8b f0             	mov    %rax,%rsi
1800a16e6:	b8 01 00 00 00       	mov    $0x1,%eax
1800a16eb:	4d 85 ff             	test   %r15,%r15
1800a16ee:	74 14                	je     0x1800a1704
1800a16f0:	4c 8d 4d 58          	lea    0x58(%rbp),%r9
1800a16f4:	44 8b c0             	mov    %eax,%r8d
1800a16f7:	8b d0                	mov    %eax,%edx
1800a16f9:	49 8b cf             	mov    %r15,%rcx
1800a16fc:	e8 23 4c 00 00       	call   0x1800a6324
1800a1701:	41 8b c0             	mov    %r8d,%eax
1800a1704:	48 85 f6             	test   %rsi,%rsi
1800a1707:	74 19                	je     0x1800a1722
1800a1709:	4c 8d 4d 50          	lea    0x50(%rbp),%r9
1800a170d:	44 8b c0             	mov    %eax,%r8d
1800a1710:	8b d0                	mov    %eax,%edx
1800a1712:	48 8b ce             	mov    %rsi,%rcx
1800a1715:	e8 0a 4c 00 00       	call   0x1800a6324
1800a171a:	0f b7 45 50          	movzwl 0x50(%rbp),%eax
1800a171e:	66 89 45 f0          	mov    %ax,-0x10(%rbp)
1800a1722:	48 8d 15 cf 0d 0b 00 	lea    0xb0dcf(%rip),%rdx        # 0x1801524f8
1800a1729:	48 8b cb             	mov    %rbx,%rcx
1800a172c:	e8 2f 99 07 00       	call   0x18011b060
1800a1731:	48 8d 15 a8 0d 0b 00 	lea    0xb0da8(%rip),%rdx        # 0x1801524e0
1800a1738:	48 8b cb             	mov    %rbx,%rcx
1800a173b:	48 8b f0             	mov    %rax,%rsi
1800a173e:	e8 1d 99 07 00       	call   0x18011b060
1800a1743:	48 8b d8             	mov    %rax,%rbx
1800a1746:	48 85 f6             	test   %rsi,%rsi
1800a1749:	74 1d                	je     0x1800a1768
1800a174b:	48 8d 55 50          	lea    0x50(%rbp),%rdx
1800a174f:	48 8b ce             	mov    %rsi,%rcx
1800a1752:	e8 fd dc ff ff       	call   0x18009f454
1800a1757:	85 c0                	test   %eax,%eax
1800a1759:	74 0d                	je     0x1800a1768
1800a175b:	44 8b 7d 50          	mov    0x50(%rbp),%r15d
1800a175f:	41 81 ff ff ff 00 00 	cmp    $0xffff,%r15d
1800a1766:	76 06                	jbe    0x1800a176e
1800a1768:	41 bf 6c 00 00 00    	mov    $0x6c,%r15d
1800a176e:	48 85 db             	test   %rbx,%rbx
1800a1771:	74 1b                	je     0x1800a178e
1800a1773:	48 8d 55 50          	lea    0x50(%rbp),%rdx
1800a1777:	48 8b cb             	mov    %rbx,%rcx
1800a177a:	e8 d5 dc ff ff       	call   0x18009f454
1800a177f:	85 c0                	test   %eax,%eax
1800a1781:	74 0b                	je     0x1800a178e
1800a1783:	8b 75 50             	mov    0x50(%rbp),%esi
1800a1786:	81 fe ff ff 00 00    	cmp    $0xffff,%esi
1800a178c:	76 05                	jbe    0x1800a1793
1800a178e:	be 20 00 00 00       	mov    $0x20,%esi
1800a1793:	b9 50 00 00 00       	mov    $0x50,%ecx
1800a1798:	e8 b3 86 ff ff       	call   0x180099e50
1800a179d:	48 8b d8             	mov    %rax,%rbx
1800a17a0:	33 c9                	xor    %ecx,%ecx
1800a17a2:	83 c8 ff             	or     $0xffffffff,%eax
1800a17a5:	48 85 db             	test   %rbx,%rbx
1800a17a8:	74 49                	je     0x1800a17f3
1800a17aa:	89 43 1c             	mov    %eax,0x1c(%rbx)
1800a17ad:	89 43 18             	mov    %eax,0x18(%rbx)
1800a17b0:	48 8d 05 39 2c 0a 00 	lea    0xa2c39(%rip),%rax        # 0x1801443f0
1800a17b7:	48 89 03             	mov    %rax,(%rbx)
1800a17ba:	0f b7 45 58          	movzwl 0x58(%rbp),%eax
1800a17be:	66 89 43 48          	mov    %ax,0x48(%rbx)
1800a17c2:	0f b7 45 f0          	movzwl -0x10(%rbp),%eax
1800a17c6:	66 89 43 4a          	mov    %ax,0x4a(%rbx)
1800a17ca:	c7 43 08 01 00 00 00 	movl   $0x1,0x8(%rbx)
1800a17d1:	48 89 4b 10          	mov    %rcx,0x10(%rbx)
1800a17d5:	48 89 4b 28          	mov    %rcx,0x28(%rbx)
1800a17d9:	89 4b 30             	mov    %ecx,0x30(%rbx)
1800a17dc:	44 89 63 38          	mov    %r12d,0x38(%rbx)
1800a17e0:	48 89 7b 40          	mov    %rdi,0x40(%rbx)
1800a17e4:	44 89 73 3c          	mov    %r14d,0x3c(%rbx)
1800a17e8:	66 44 89 7b 4c       	mov    %r15w,0x4c(%rbx)
1800a17ed:	66 89 73 4e          	mov    %si,0x4e(%rbx)
1800a17f1:	eb 03                	jmp    0x1800a17f6
1800a17f3:	48 8b d9             	mov    %rcx,%rbx
1800a17f6:	48 85 db             	test   %rbx,%rbx
1800a17f9:	75 0f                	jne    0x1800a180a
1800a17fb:	48 85 ff             	test   %rdi,%rdi
1800a17fe:	74 3a                	je     0x1800a183a
1800a1800:	48 8b cf             	mov    %rdi,%rcx
1800a1803:	e8 f4 87 ff ff       	call   0x180099ffc
1800a1808:	eb 30                	jmp    0x1800a183a
1800a180a:	49 8b 45 00          	mov    0x0(%r13),%rax
1800a180e:	48 8b d3             	mov    %rbx,%rdx
1800a1811:	49 8b cd             	mov    %r13,%rcx
1800a1814:	48 8b 40 18          	mov    0x18(%rax),%rax
1800a1818:	ff d0                	call   *%rax
1800a181a:	0f 1f 00             	nopl   (%rax)
1800a181d:	85 c0                	test   %eax,%eax
1800a181f:	75 1d                	jne    0x1800a183e
1800a1821:	83 43 08 ff          	addl   $0xffffffff,0x8(%rbx)
1800a1825:	75 13                	jne    0x1800a183a
1800a1827:	48 8b 03             	mov    (%rbx),%rax
1800a182a:	ba 01 00 00 00       	mov    $0x1,%edx
1800a182f:	48 8b cb             	mov    %rbx,%rcx
1800a1832:	48 8b 00             	mov    (%rax),%rax
1800a1835:	ff d0                	call   *%rax
1800a1837:	0f 1f 00             	nopl   (%rax)
1800a183a:	33 c0                	xor    %eax,%eax
1800a183c:	eb 03                	jmp    0x1800a1841
1800a183e:	48 8b c3             	mov    %rbx,%rax
1800a1841:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
1800a1846:	48 83 c4 30          	add    $0x30,%rsp
1800a184a:	41 5f                	pop    %r15
1800a184c:	41 5e                	pop    %r14
1800a184e:	41 5d                	pop    %r13
1800a1850:	41 5c                	pop    %r12
1800a1852:	5f                   	pop    %rdi
1800a1853:	5e                   	pop    %rsi
1800a1854:	5d                   	pop    %rbp
1800a1855:	c3                   	ret
1800a1856:	cc                   	int3
1800a1857:	cc                   	int3
1800a1858:	48 8b c4             	mov    %rsp,%rax
1800a185b:	48 89 58 08          	mov    %rbx,0x8(%rax)
1800a185f:	48 89 68 10          	mov    %rbp,0x10(%rax)
1800a1863:	48 89 70 18          	mov    %rsi,0x18(%rax)
1800a1867:	48 89 78 20          	mov    %rdi,0x20(%rax)
1800a186b:	41 54                	push   %r12
1800a186d:	41 56                	push   %r14
1800a186f:	41 57                	push   %r15
1800a1871:	48 83 ec 20          	sub    $0x20,%rsp
1800a1875:	41 8b 40 04          	mov    0x4(%r8),%eax
1800a1879:	49 8b d9             	mov    %r9,%rbx
1800a187c:	49 8b f0             	mov    %r8,%rsi
1800a187f:	4c 8b f2             	mov    %rdx,%r14
1800a1882:	48 8b f9             	mov    %rcx,%rdi
1800a1885:	3b 42 0c             	cmp    0xc(%rdx),%eax
1800a1888:	72 18                	jb     0x1800a18a2
1800a188a:	49 8b 01             	mov    (%r9),%rax
1800a188d:	48 8b cb             	mov    %rbx,%rcx
1800a1890:	48 8b 40 20          	mov    0x20(%rax),%rax
1800a1894:	ff d0                	call   *%rax
1800a1896:	0f 1f 00             	nopl   (%rax)
1800a1899:	01 06                	add    %eax,(%rsi)
1800a189b:	41 8b 46 04          	mov    0x4(%r14),%eax
1800a189f:	89 46 04             	mov    %eax,0x4(%rsi)
1800a18a2:	41 8b 4e 04          	mov    0x4(%r14),%ecx
1800a18a6:	3b c1                	cmp    %ecx,%eax
1800a18a8:	73 03                	jae    0x1800a18ad
1800a18aa:	89 4e 04             	mov    %ecx,0x4(%rsi)
1800a18ad:	41 0f 10 06          	movups (%r14),%xmm0
1800a18b1:	f3 0f 7f 47 10       	movdqu %xmm0,0x10(%rdi)
1800a18b6:	48 8b 06             	mov    (%rsi),%rax
1800a18b9:	48 89 47 20          	mov    %rax,0x20(%rdi)
1800a18bd:	48 89 5f 28          	mov    %rbx,0x28(%rdi)
1800a18c1:	c7 47 30 01 00 00 00 	movl   $0x1,0x30(%rdi)
1800a18c8:	41 8b 6e 0c          	mov    0xc(%r14),%ebp
1800a18cc:	2b 6e 04             	sub    0x4(%rsi),%ebp
1800a18cf:	83 7f 38 ff          	cmpl   $0xffffffff,0x38(%rdi)
1800a18d3:	75 1e                	jne    0x1800a18f3
1800a18d5:	48 8b 03             	mov    (%rbx),%rax
1800a18d8:	48 8b cb             	mov    %rbx,%rcx
1800a18db:	0f b7 57 4c          	movzwl 0x4c(%rdi),%edx
1800a18df:	48 8b 40 28          	mov    0x28(%rax),%rax
1800a18e3:	ff d0                	call   *%rax
1800a18e5:	0f 1f 00             	nopl   (%rax)
1800a18e8:	8b c8                	mov    %eax,%ecx
1800a18ea:	33 d2                	xor    %edx,%edx
1800a18ec:	8b c5                	mov    %ebp,%eax
1800a18ee:	f7 f1                	div    %ecx
1800a18f0:	89 47 38             	mov    %eax,0x38(%rdi)
1800a18f3:	48 8b 03             	mov    (%rbx),%rax
1800a18f6:	48 8b cb             	mov    %rbx,%rcx
1800a18f9:	0f b7 57 4c          	movzwl 0x4c(%rdi),%edx
1800a18fd:	44 8b 7f 38          	mov    0x38(%rdi),%r15d
1800a1901:	48 8b 40 28          	mov    0x28(%rax),%rax
1800a1905:	ff d0                	call   *%rax
1800a1907:	0f 1f 00             	nopl   (%rax)
1800a190a:	44 8b e0             	mov    %eax,%r12d
1800a190d:	45 0f af e7          	imul   %r15d,%r12d
1800a1911:	44 3b e5             	cmp    %ebp,%r12d
1800a1914:	76 47                	jbe    0x1800a195d
1800a1916:	48 8b 03             	mov    (%rbx),%rax
1800a1919:	48 8b cb             	mov    %rbx,%rcx
1800a191c:	48 8b 40 20          	mov    0x20(%rax),%rax
1800a1920:	ff d0                	call   *%rax
1800a1922:	0f 1f 00             	nopl   (%rax)
1800a1925:	01 06                	add    %eax,(%rsi)
1800a1927:	41 8b 4e 04          	mov    0x4(%r14),%ecx
1800a192b:	89 4e 04             	mov    %ecx,0x4(%rsi)
1800a192e:	41 8b 6e 0c          	mov    0xc(%r14),%ebp
1800a1932:	2b e9                	sub    %ecx,%ebp
1800a1934:	44 3b e5             	cmp    %ebp,%r12d
1800a1937:	76 20                	jbe    0x1800a1959
1800a1939:	48 8b 03             	mov    (%rbx),%rax
1800a193c:	48 8b cb             	mov    %rbx,%rcx
1800a193f:	0f b7 57 4c          	movzwl 0x4c(%rdi),%edx
1800a1943:	48 8b 40 28          	mov    0x28(%rax),%rax
1800a1947:	ff d0                	call   *%rax
1800a1949:	0f 1f 00             	nopl   (%rax)
1800a194c:	8b c8                	mov    %eax,%ecx
1800a194e:	33 d2                	xor    %edx,%edx
1800a1950:	8b c5                	mov    %ebp,%eax
1800a1952:	f7 f1                	div    %ecx
1800a1954:	44 8b f8             	mov    %eax,%r15d
1800a1957:	eb 04                	jmp    0x1800a195d
1800a1959:	44 8b 7f 38          	mov    0x38(%rdi),%r15d
1800a195d:	41 8b 46 08          	mov    0x8(%r14),%eax
1800a1961:	39 06                	cmp    %eax,(%rsi)
1800a1963:	0f 83 0a 01 00 00    	jae    0x1800a1a73
1800a1969:	48 8b 03             	mov    (%rbx),%rax
1800a196c:	48 8b cb             	mov    %rbx,%rcx
1800a196f:	0f b7 57 4c          	movzwl 0x4c(%rdi),%edx
1800a1973:	48 8b 40 28          	mov    0x28(%rax),%rax
1800a1977:	ff d0                	call   *%rax
1800a1979:	0f 1f 00             	nopl   (%rax)
1800a197c:	8b 16                	mov    (%rsi),%edx
1800a197e:	48 8b cb             	mov    %rbx,%rcx
1800a1981:	41 0f af c7          	imul   %r15d,%eax
1800a1985:	2b e8                	sub    %eax,%ebp
1800a1987:	d1 ed                	shr    $1,%ebp
1800a1989:	03 6e 04             	add    0x4(%rsi),%ebp
1800a198c:	89 6e 04             	mov    %ebp,0x4(%rsi)
1800a198f:	44 8b c5             	mov    %ebp,%r8d
1800a1992:	48 8b 03             	mov    (%rbx),%rax
1800a1995:	48 8b 40 58          	mov    0x58(%rax),%rax
1800a1999:	ff d0                	call   *%rax
1800a199b:	0f 1f 00             	nopl   (%rax)
1800a199e:	8b 4f 3c             	mov    0x3c(%rdi),%ecx
1800a19a1:	b8 1f 85 eb 51       	mov    $0x51eb851f,%eax
1800a19a6:	41 0f af cf          	imul   %r15d,%ecx
1800a19aa:	f7 e1                	mul    %ecx
1800a19ac:	48 8b 03             	mov    (%rbx),%rax
1800a19af:	48 8b cb             	mov    %rbx,%rcx
1800a19b2:	8b ea                	mov    %edx,%ebp
1800a19b4:	c1 ed 05             	shr    $0x5,%ebp
1800a19b7:	48 8b 40 50          	mov    0x50(%rax),%rax
1800a19bb:	ff d0                	call   *%rax
1800a19bd:	0f 1f 00             	nopl   (%rax)
1800a19c0:	0f b7 57 48          	movzwl 0x48(%rdi),%edx
1800a19c4:	44 0f b7 e0          	movzwl %ax,%r12d
1800a19c8:	48 8b 03             	mov    (%rbx),%rax
1800a19cb:	48 8b cb             	mov    %rbx,%rcx
1800a19ce:	48 8b 40 40          	mov    0x40(%rax),%rax
1800a19d2:	ff d0                	call   *%rax
1800a19d4:	0f 1f 00             	nopl   (%rax)
1800a19d7:	85 ed                	test   %ebp,%ebp
1800a19d9:	74 35                	je     0x1800a1a10
1800a19db:	44 8b f5             	mov    %ebp,%r14d
1800a19de:	48 8b 03             	mov    (%rbx),%rax
1800a19e1:	48 8b cb             	mov    %rbx,%rcx
1800a19e4:	0f b7 57 4c          	movzwl 0x4c(%rdi),%edx
1800a19e8:	48 8b 80 80 00 00 00 	mov    0x80(%rax),%rax
1800a19ef:	ff d0                	call   *%rax
1800a19f1:	0f 1f 00             	nopl   (%rax)
1800a19f4:	48 8b 03             	mov    (%rbx),%rax
1800a19f7:	48 8b cb             	mov    %rbx,%rcx
1800a19fa:	0f b7 57 4c          	movzwl 0x4c(%rdi),%edx
1800a19fe:	48 8b 40 28          	mov    0x28(%rax),%rax
1800a1a02:	ff d0                	call   *%rax
1800a1a04:	0f 1f 00             	nopl   (%rax)
1800a1a07:	01 46 04             	add    %eax,0x4(%rsi)
1800a1a0a:	49 83 ee 01          	sub    $0x1,%r14
1800a1a0e:	75 ce                	jne    0x1800a19de
1800a1a10:	48 8b 03             	mov    (%rbx),%rax
1800a1a13:	48 8b cb             	mov    %rbx,%rcx
1800a1a16:	0f b7 57 4a          	movzwl 0x4a(%rdi),%edx
1800a1a1a:	48 8b 40 40          	mov    0x40(%rax),%rax
1800a1a1e:	ff d0                	call   *%rax
1800a1a20:	0f 1f 00             	nopl   (%rax)
1800a1a23:	41 3b ef             	cmp    %r15d,%ebp
1800a1a26:	73 38                	jae    0x1800a1a60
1800a1a28:	44 2b fd             	sub    %ebp,%r15d
1800a1a2b:	41 8b ef             	mov    %r15d,%ebp
1800a1a2e:	48 8b 03             	mov    (%rbx),%rax
1800a1a31:	48 8b cb             	mov    %rbx,%rcx
1800a1a34:	0f b7 57 4e          	movzwl 0x4e(%rdi),%edx
1800a1a38:	48 8b 80 80 00 00 00 	mov    0x80(%rax),%rax
1800a1a3f:	ff d0                	call   *%rax
1800a1a41:	0f 1f 00             	nopl   (%rax)
1800a1a44:	48 8b 03             	mov    (%rbx),%rax
1800a1a47:	48 8b cb             	mov    %rbx,%rcx
1800a1a4a:	0f b7 57 4e          	movzwl 0x4e(%rdi),%edx
1800a1a4e:	48 8b 40 28          	mov    0x28(%rax),%rax
1800a1a52:	ff d0                	call   *%rax
1800a1a54:	0f 1f 00             	nopl   (%rax)
1800a1a57:	01 46 04             	add    %eax,0x4(%rsi)
1800a1a5a:	48 83 ed 01          	sub    $0x1,%rbp
1800a1a5e:	75 ce                	jne    0x1800a1a2e
1800a1a60:	48 8b 03             	mov    (%rbx),%rax
1800a1a63:	41 0f b7 d4          	movzwl %r12w,%edx
1800a1a67:	48 8b cb             	mov    %rbx,%rcx
1800a1a6a:	48 8b 40 48          	mov    0x48(%rax),%rax
1800a1a6e:	ff d0                	call   *%rax
1800a1a70:	0f 1f 00             	nopl   (%rax)
1800a1a73:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1800a1a78:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
1800a1a7d:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
1800a1a82:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
1800a1a87:	48 83 c4 20          	add    $0x20,%rsp
1800a1a8b:	41 5f                	pop    %r15
1800a1a8d:	41 5e                	pop    %r14
1800a1a8f:	41 5c                	pop    %r12
1800a1a91:	c3                   	ret
1800a1a92:	cc                   	int3
1800a1a93:	cc                   	int3
1800a1a94:	40 53                	rex push %rbx
1800a1a96:	48 83 ec 20          	sub    $0x20,%rsp
1800a1a9a:	48 8b c2             	mov    %rdx,%rax
1800a1a9d:	48 8b d9             	mov    %rcx,%rbx
1800a1aa0:	48 8b c8             	mov    %rax,%rcx
1800a1aa3:	48 8d 15 ee 08 0b 00 	lea    0xb08ee(%rip),%rdx        # 0x180152398
1800a1aaa:	e8 b1 95 07 00       	call   0x18011b060
1800a1aaf:	48 85 c0             	test   %rax,%rax
1800a1ab2:	74 2c                	je     0x1800a1ae0
1800a1ab4:	48 8d 54 24 40       	lea    0x40(%rsp),%rdx
1800a1ab9:	48 8b c8             	mov    %rax,%rcx
1800a1abc:	e8 93 d9 ff ff       	call   0x18009f454
1800a1ac1:	85 c0                	test   %eax,%eax