18004b64c:	45 8b c4             	mov    %r12d,%r8d
18004b64f:	48 8b d0             	mov    %rax,%rdx
18004b652:	49 8b ce             	mov    %r14,%rcx
18004b655:	49 8b f1             	mov    %r9,%rsi
18004b658:	bf 08 00 3a c0       	mov    $0xc03a0008,%edi
18004b65d:	e8 fe 87 0e 00       	call   0x180133e60
18004b662:	49 3b c4             	cmp    %r12,%rax
18004b665:	74 0a                	je     0x18004b671
18004b667:	bf 03 00 3a c0       	mov    $0xc03a0003,%edi
18004b66c:	e9 1e 01 00 00       	jmp    0x18004b78f
18004b671:	41 b8 08 00 00 00    	mov    $0x8,%r8d
18004b677:	48 8d 15 1a 35 10 00 	lea    0x10351a(%rip),%rdx        # 0x18014eb98
18004b67e:	48 8b ce             	mov    %rsi,%rcx
18004b681:	e8 da 87 0e 00       	call   0x180133e60
18004b686:	48 83 f8 08          	cmp    $0x8,%rax
18004b68a:	0f 85 ff 00 00 00    	jne    0x18004b78f
18004b690:	8b 5e 24             	mov    0x24(%rsi),%ebx
18004b693:	33 ed                	xor    %ebp,%ebp
18004b695:	41 b9 01 00 04 00    	mov    $0x40001,%r9d
18004b69b:	89 6e 24             	mov    %ebp,0x24(%rsi)
18004b69e:	41 b8 00 04 00 00    	mov    $0x400,%r8d
18004b6a4:	48 8b d6             	mov    %rsi,%rdx
18004b6a7:	33 c9                	xor    %ecx,%ecx
18004b6a9:	e8 ce 77 04 00       	call   0x180092e7c
18004b6ae:	89 5e 24             	mov    %ebx,0x24(%rsi)
18004b6b1:	3b c3                	cmp    %ebx,%eax
18004b6b3:	74 0a                	je     0x18004b6bf
18004b6b5:	bf 06 00 3a c0       	mov    $0xc03a0006,%edi
18004b6ba:	e9 d0 00 00 00       	jmp    0x18004b78f
18004b6bf:	48 83 7e 08 ff       	cmpq   $0xffffffffffffffff,0x8(%rsi)
18004b6c4:	0f 85 c5 00 00 00    	jne    0x18004b78f
18004b6ca:	4c 8b 56 10          	mov    0x10(%rsi),%r10
18004b6ce:	49 81 fa 00 06 00 00 	cmp    $0x600,%r10
18004b6d5:	0f 82 b4 00 00 00    	jb     0x18004b78f
18004b6db:	bb 01 00 00 00       	mov    $0x1,%ebx
18004b6e0:	66 39 5e 1a          	cmp    %bx,0x1a(%rsi)
18004b6e4:	74 0a                	je     0x18004b6f0
18004b6e6:	bf 05 00 3a c0       	mov    $0xc03a0005,%edi
18004b6eb:	e9 9f 00 00 00       	jmp    0x18004b78f
18004b6f0:	8b 4e 20             	mov    0x20(%rsi),%ecx
18004b6f3:	8d 41 ff             	lea    -0x1(%rcx),%eax
18004b6f6:	85 c1                	test   %eax,%ecx
18004b6f8:	0f 85 8c 00 00 00    	jne    0x18004b78a
18004b6fe:	f7 c1 ff 01 00 00    	test   $0x1ff,%ecx
18004b704:	0f 85 80 00 00 00    	jne    0x18004b78a
18004b70a:	44 8b d9             	mov    %ecx,%r11d
18004b70d:	49 8b 4e 30          	mov    0x30(%r14),%rcx
18004b711:	48 8d 41 ff          	lea    -0x1(%rcx),%rax
18004b715:	49 03 c3             	add    %r11,%rax
18004b718:	4d 8d 43 ff          	lea    -0x1(%r11),%r8
18004b71c:	49 f7 d0             	not    %r8
18004b71f:	4c 23 c0             	and    %rax,%r8
18004b722:	4c 3b c1             	cmp    %rcx,%r8
18004b725:	73 07                	jae    0x18004b72e
18004b727:	bf 95 00 00 c0       	mov    $0xc0000095,%edi
18004b72c:	eb 61                	jmp    0x18004b78f
18004b72e:	44 8b 4e 1c          	mov    0x1c(%rsi),%r9d
18004b732:	33 d2                	xor    %edx,%edx
18004b734:	49 8b c0             	mov    %r8,%rax
18004b737:	49 f7 f3             	div    %r11
18004b73a:	44 3b c8             	cmp    %eax,%r9d
18004b73d:	72 50                	jb     0x18004b78f
18004b73f:	49 8b 4f 10          	mov    0x10(%r15),%rcx
18004b743:	49 8d 92 ff 01 00 00 	lea    0x1ff(%r10),%rdx
18004b74a:	49 2b cc             	sub    %r12,%rcx
18004b74d:	4a 8d 14 8a          	lea    (%rdx,%r9,4),%rdx
18004b751:	48 c1 e9 09          	shr    $0x9,%rcx
18004b755:	8b fd                	mov    %ebp,%edi
18004b757:	2b cb                	sub    %ebx,%ecx
18004b759:	48 c1 ea 09          	shr    $0x9,%rdx
18004b75d:	45 85 c9             	test   %r9d,%r9d
18004b760:	74 2d                	je     0x18004b78f
18004b762:	4c 8b 44 24 60       	mov    0x60(%rsp),%r8
18004b767:	41 83 3c a8 ff       	cmpl   $0xffffffff,(%r8,%rbp,4)
18004b76c:	74 0c                	je     0x18004b77a
18004b76e:	41 39 14 a8          	cmp    %edx,(%r8,%rbp,4)
18004b772:	72 0f                	jb     0x18004b783
18004b774:	41 39 0c a8          	cmp    %ecx,(%r8,%rbp,4)
18004b778:	77 09                	ja     0x18004b783
18004b77a:	03 eb                	add    %ebx,%ebp
18004b77c:	41 3b e9             	cmp    %r9d,%ebp
18004b77f:	73 0e                	jae    0x18004b78f
18004b781:	eb e4                	jmp    0x18004b767
18004b783:	bf 0a 00 3a c0       	mov    $0xc03a000a,%edi
18004b788:	eb 05                	jmp    0x18004b78f
18004b78a:	bf 0b 00 3a c0       	mov    $0xc03a000b,%edi
18004b78f:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
18004b794:	8b c7                	mov    %edi,%eax
18004b796:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
18004b79b:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
18004b7a0:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
18004b7a5:	48 83 c4 20          	add    $0x20,%rsp
18004b7a9:	41 5f                	pop    %r15
18004b7ab:	41 5e                	pop    %r14
18004b7ad:	41 5c                	pop    %r12
18004b7af:	c3                   	ret
18004b7b0:	cc                   	int3
18004b7b1:	cc                   	int3
18004b7b2:	cc                   	int3
18004b7b3:	cc                   	int3
18004b7b4:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18004b7b9:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
18004b7be:	57                   	push   %rdi
18004b7bf:	48 83 ec 20          	sub    $0x20,%rsp
18004b7c3:	41 b8 08 00 00 00    	mov    $0x8,%r8d
18004b7c9:	48 8d 15 d8 33 10 00 	lea    0x1033d8(%rip),%rdx        # 0x18014eba8
18004b7d0:	48 8b f1             	mov    %rcx,%rsi
18004b7d3:	bf 03 00 3a c0       	mov    $0xc03a0003,%edi
18004b7d8:	e8 83 86 0e 00       	call   0x180133e60
18004b7dd:	48 83 f8 08          	cmp    $0x8,%rax
18004b7e1:	75 7b                	jne    0x18004b85e
18004b7e3:	8b 5e 40             	mov    0x40(%rsi),%ebx
18004b7e6:	33 ff                	xor    %edi,%edi
18004b7e8:	41 b9 01 00 04 00    	mov    $0x40001,%r9d
18004b7ee:	89 7e 40             	mov    %edi,0x40(%rsi)
18004b7f1:	41 b8 00 02 00 00    	mov    $0x200,%r8d
18004b7f7:	48 8b d6             	mov    %rsi,%rdx
18004b7fa:	33 c9                	xor    %ecx,%ecx
18004b7fc:	e8 7b 76 04 00       	call   0x180092e7c
18004b801:	89 5e 40             	mov    %ebx,0x40(%rsi)
18004b804:	3b c3                	cmp    %ebx,%eax
18004b806:	74 07                	je     0x18004b80f
18004b808:	bf 02 00 3a c0       	mov    $0xc03a0002,%edi
18004b80d:	eb 4f                	jmp    0x18004b85e
18004b80f:	66 83 7e 0e 01       	cmpw   $0x1,0xe(%rsi)
18004b814:	74 07                	je     0x18004b81d
18004b816:	bf 05 00 3a c0       	mov    $0xc03a0005,%edi
18004b81b:	eb 41                	jmp    0x18004b85e
18004b81d:	8b 46 3c             	mov    0x3c(%rsi),%eax
18004b820:	83 e8 02             	sub    $0x2,%eax
18004b823:	83 f8 02             	cmp    $0x2,%eax
18004b826:	76 07                	jbe    0x18004b82f
18004b828:	bf 04 00 3a c0       	mov    $0xc03a0004,%edi
18004b82d:	eb 2f                	jmp    0x18004b85e
18004b82f:	81 7e 24 57 69 32 6b 	cmpl   $0x6b326957,0x24(%rsi)
18004b836:	74 0c                	je     0x18004b844
18004b838:	39 7e 24             	cmp    %edi,0x24(%rsi)
18004b83b:	74 07                	je     0x18004b844
18004b83d:	bf bb 00 00 c0       	mov    $0xc00000bb,%edi
18004b842:	eb 1a                	jmp    0x18004b85e
18004b844:	8b 46 30             	mov    0x30(%rsi),%eax
18004b847:	b9 ff 01 00 00       	mov    $0x1ff,%ecx
18004b84c:	48 85 c1             	test   %rax,%rcx
18004b84f:	75 08                	jne    0x18004b859
18004b851:	8b 46 28             	mov    0x28(%rsi),%eax
18004b854:	48 85 c1             	test   %rax,%rcx
18004b857:	74 05                	je     0x18004b85e
18004b859:	bf 12 00 3a c0       	mov    $0xc03a0012,%edi
18004b85e:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18004b863:	8b c7                	mov    %edi,%eax
18004b865:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
18004b86a:	48 83 c4 20          	add    $0x20,%rsp
18004b86e:	5f                   	pop    %rdi
18004b86f:	c3                   	ret
18004b870:	cc                   	int3
18004b871:	cc                   	int3
18004b872:	cc                   	int3
18004b873:	cc                   	int3
18004b874:	4c 8b dc             	mov    %rsp,%r11
18004b877:	49 89 5b 08          	mov    %rbx,0x8(%r11)
18004b87b:	4d 89 4b 20          	mov    %r9,0x20(%r11)
18004b87f:	4d 89 43 18          	mov    %r8,0x18(%r11)
18004b883:	55                   	push   %rbp
18004b884:	56                   	push   %rsi
18004b885:	57                   	push   %rdi
18004b886:	41 54                	push   %r12
18004b888:	41 55                	push   %r13
18004b88a:	41 56                	push   %r14
18004b88c:	41 57                	push   %r15
18004b88e:	48 8b ec             	mov    %rsp,%rbp
18004b891:	48 83 ec 70          	sub    $0x70,%rsp
18004b895:	0f 57 c0             	xorps  %xmm0,%xmm0
18004b898:	4d 8b e8             	mov    %r8,%r13
18004b89b:	48 8b f9             	mov    %rcx,%rdi
18004b89e:	0f 11 45 f0          	movups %xmm0,-0x10(%rbp)
18004b8a2:	84 d2                	test   %dl,%dl
18004b8a4:	74 20                	je     0x18004b8c6
18004b8a6:	48 8b 45 70          	mov    0x70(%rbp),%rax
18004b8aa:	49 89 43 88          	mov    %rax,-0x78(%r11)
18004b8ae:	8b 45 68             	mov    0x68(%rbp),%eax
18004b8b1:	89 44 24 28          	mov    %eax,0x28(%rsp)
18004b8b5:	8b 45 60             	mov    0x60(%rbp),%eax
18004b8b8:	89 44 24 20          	mov    %eax,0x20(%rsp)
18004b8bc:	e8 ab 03 00 00       	call   0x18004bc6c
18004b8c1:	e9 8b 03 00 00       	jmp    0x18004bc51
18004b8c6:	4c 8b 01             	mov    (%rcx),%r8
18004b8c9:	45 33 e4             	xor    %r12d,%r12d
18004b8cc:	4d 85 c0             	test   %r8,%r8
18004b8cf:	0f 84 64 03 00 00    	je     0x18004bc39
18004b8d5:	8b 49 54             	mov    0x54(%rcx),%ecx
18004b8d8:	44 8b 75 60          	mov    0x60(%rbp),%r14d
18004b8dc:	49 8d 46 ff          	lea    -0x1(%r14),%rax
18004b8e0:	49 03 c5             	add    %r13,%rax
18004b8e3:	48 99                	cqto
18004b8e5:	48 f7 f9             	idiv   %rcx
18004b8e8:	4c 8b c8             	mov    %rax,%r9
18004b8eb:	49 8b c5             	mov    %r13,%rax
18004b8ee:	48 99                	cqto
18004b8f0:	48 f7 f9             	idiv   %rcx
18004b8f3:	41 3b c1             	cmp    %r9d,%eax
18004b8f6:	0f 87 3d 03 00 00    	ja     0x18004bc39
18004b8fc:	44 3b 4f 58          	cmp    0x58(%rdi),%r9d
18004b900:	0f 83 33 03 00 00    	jae    0x18004bc39
18004b906:	33 c9                	xor    %ecx,%ecx
18004b908:	49 8b 00             	mov    (%r8),%rax
18004b90b:	ff c1                	inc    %ecx
18004b90d:	4c 8b c0             	mov    %rax,%r8
18004b910:	48 85 c0             	test   %rax,%rax
18004b913:	75 f3                	jne    0x18004b908
18004b915:	48 8b 47 78          	mov    0x78(%rdi),%rax
18004b919:	c1 e1 04             	shl    $0x4,%ecx
18004b91c:	8b d9                	mov    %ecx,%ebx
18004b91e:	48 85 c0             	test   %rax,%rax
18004b921:	75 1a                	jne    0x18004b93d
18004b923:	8b cb                	mov    %ebx,%ecx
18004b925:	e8 26 e5 04 00       	call   0x180099e50
18004b92a:	48 89 47 78          	mov    %rax,0x78(%rdi)
18004b92e:	48 85 c0             	test   %rax,%rax
18004b931:	75 0a                	jne    0x18004b93d
18004b933:	bb 17 00 00 c0       	mov    $0xc0000017,%ebx
18004b938:	e9 01 03 00 00       	jmp    0x18004bc3e
18004b93d:	4c 8b c3             	mov    %rbx,%r8
18004b940:	33 d2                	xor    %edx,%edx
18004b942:	48 8b c8             	mov    %rax,%rcx
18004b945:	e8 36 a3 0e 00       	call   0x180135c80
18004b94a:	4c 8b 7f 78          	mov    0x78(%rdi),%r15
18004b94e:	48 8b cf             	mov    %rdi,%rcx
18004b951:	48 89 4d d0          	mov    %rcx,-0x30(%rbp)
18004b955:	48 8b 75 f8          	mov    -0x8(%rbp),%rsi
18004b959:	45 85 f6             	test   %r14d,%r14d
18004b95c:	75 1a                	jne    0x18004b978
18004b95e:	4c 3b 79 78          	cmp    0x78(%rcx),%r15
18004b962:	0f 86 ba 02 00 00    	jbe    0x18004bc22
18004b968:	45 85 f6             	test   %r14d,%r14d
18004b96b:	75 0b                	jne    0x18004b978
18004b96d:	49 8b 7f f8          	mov    -0x8(%r15),%rdi
18004b971:	49 83 ef 10          	sub    $0x10,%r15
18004b975:	45 8b 37             	mov    (%r15),%r14d
18004b978:	44 8b 4f 54          	mov    0x54(%rdi),%r9d
18004b97c:	4c 8b 57 48          	mov    0x48(%rdi),%r10
18004b980:	41 8b dc             	mov    %r12d,%ebx
18004b983:	49 03 dd             	add    %r13,%rbx
18004b986:	48 8b c3             	mov    %rbx,%rax
18004b989:	48 89 5d d8          	mov    %rbx,-0x28(%rbp)
18004b98d:	48 99                	cqto
18004b98f:	49 f7 f9             	idiv   %r9
18004b992:	4c 8b c2             	mov    %rdx,%r8
18004b995:	48 89 55 e0          	mov    %rdx,-0x20(%rbp)
18004b999:	48 8b c8             	mov    %rax,%rcx
18004b99c:	33 d2                	xor    %edx,%edx
18004b99e:	41 8b c0             	mov    %r8d,%eax
18004b9a1:	f7 b7 80 00 00 00    	divl   0x80(%rdi)
18004b9a7:	44 8b e8             	mov    %eax,%r13d
18004b9aa:	8b c1                	mov    %ecx,%eax
18004b9ac:	48 89 45 e8          	mov    %rax,-0x18(%rbp)
18004b9b0:	41 83 3c 82 ff       	cmpl   $0xffffffff,(%r10,%rax,4)
18004b9b5:	75 36                	jne    0x18004b9ed
18004b9b7:	44 8b 47 5c          	mov    0x5c(%rdi),%r8d
18004b9bb:	45 32 db             	xor    %r11b,%r11b
18004b9be:	41 8b c6             	mov    %r14d,%eax
18004b9c1:	45 2b c5             	sub    %r13d,%r8d
18004b9c4:	48 ff c8             	dec    %rax
18004b9c7:	48 03 c3             	add    %rbx,%rax
18004b9ca:	48 99                	cqto
18004b9cc:	49 f7 f9             	idiv   %r9
18004b9cf:	8d 51 01             	lea    0x1(%rcx),%edx
18004b9d2:	3b d0                	cmp    %eax,%edx
18004b9d4:	0f 87 22 01 00 00    	ja     0x18004bafc
18004b9da:	41 83 3c 92 ff       	cmpl   $0xffffffff,(%r10,%rdx,4)
18004b9df:	0f 85 17 01 00 00    	jne    0x18004bafc
18004b9e5:	44 03 47 5c          	add    0x5c(%rdi),%r8d
18004b9e9:	ff c2                	inc    %edx
18004b9eb:	eb e5                	jmp    0x18004b9d2
18004b9ed:	8b d1                	mov    %ecx,%edx
18004b9ef:	4c 8d 45 f0          	lea    -0x10(%rbp),%r8
18004b9f3:	48 8b cf             	mov    %rdi,%rcx
18004b9f6:	e8 59 05 00 00       	call   0x18004bf54
18004b9fb:	48 8b 75 f8          	mov    -0x8(%rbp),%rsi
18004b9ff:	8b d8                	mov    %eax,%ebx
18004ba01:	85 c0                	test   %eax,%eax
18004ba03:	0f 88 39 02 00 00    	js     0x18004bc42
18004ba09:	44 8b 55 f0          	mov    -0x10(%rbp),%r10d
18004ba0d:	48 8d 1d ec 45 fb ff 	lea    -0x4ba14(%rip),%rbx        # 0x180000000
18004ba14:	49 8b cd             	mov    %r13,%rcx
18004ba17:	45 8d 4d 01          	lea    0x1(%r13),%r9d
18004ba1b:	83 e1 07             	and    $0x7,%ecx
18004ba1e:	49 8b c5             	mov    %r13,%rax
18004ba21:	48 c1 e8 03          	shr    $0x3,%rax
18004ba25:	8a 04 30             	mov    (%rax,%rsi,1),%al
18004ba28:	22 84 19 b0 ef 14 00 	and    0x14efb0(%rcx,%rbx,1),%al
18004ba2f:	41 0f 95 c3          	setne  %r11b
18004ba33:	41 83 c8 ff          	or     $0xffffffff,%r8d
18004ba37:	84 c0                	test   %al,%al
18004ba39:	75 56                	jne    0x18004ba91
18004ba3b:	45 3b ca             	cmp    %r10d,%r9d
18004ba3e:	0f 84 a9 00 00 00    	je     0x18004baed
18004ba44:	41 8b c9             	mov    %r9d,%ecx
18004ba47:	83 e1 07             	and    $0x7,%ecx
18004ba4a:	41 8b c1             	mov    %r9d,%eax
18004ba4d:	48 c1 e8 03          	shr    $0x3,%rax
18004ba51:	0f b6 14 30          	movzbl (%rax,%rsi,1),%edx
18004ba55:	0f b6 84 19 a0 ef 14 	movzbl 0x14efa0(%rcx,%rbx,1),%eax
18004ba5c:	00
18004ba5d:	48 23 d0             	and    %rax,%rdx
18004ba60:	0f b6 84 1a 90 ed 14 	movzbl 0x14ed90(%rdx,%rbx,1),%eax
18004ba67:	00
18004ba68:	ba ff 00 00 00       	mov    $0xff,%edx
18004ba6d:	eb 13                	jmp    0x18004ba82
18004ba6f:	41 8b c1             	mov    %r9d,%eax
18004ba72:	48 c1 e8 03          	shr    $0x3,%rax
18004ba76:	0f b6 0c 30          	movzbl (%rax,%rsi,1),%ecx
18004ba7a:	0f b6 84 19 90 ed 14 	movzbl 0x14ed90(%rcx,%rbx,1),%eax
18004ba81:	00
18004ba82:	3b c2                	cmp    %edx,%eax
18004ba84:	75 5d                	jne    0x18004bae3
18004ba86:	41 83 c1 08          	add    $0x8,%r9d
18004ba8a:	45 3b ca             	cmp    %r10d,%r9d
18004ba8d:	72 e0                	jb     0x18004ba6f
18004ba8f:	eb 5c                	jmp    0x18004baed
18004ba91:	45 3b ca             	cmp    %r10d,%r9d
18004ba94:	74 57                	je     0x18004baed
18004ba96:	41 8b c9             	mov    %r9d,%ecx
18004ba99:	83 e1 07             	and    $0x7,%ecx
18004ba9c:	41 8b c1             	mov    %r9d,%eax
18004ba9f:	48 c1 e8 03          	shr    $0x3,%rax
18004baa3:	0f b6 14 30          	movzbl (%rax,%rsi,1),%edx
18004baa7:	0f b6 84 19 90 ee 14 	movzbl 0x14ee90(%rcx,%rbx,1),%eax
18004baae:	00
18004baaf:	48 0b d0             	or     %rax,%rdx
18004bab2:	0f b6 84 1a a0 ee 14 	movzbl 0x14eea0(%rdx,%rbx,1),%eax
18004bab9:	00
18004baba:	ba ff 00 00 00       	mov    $0xff,%edx
18004babf:	eb 13                	jmp    0x18004bad4
18004bac1:	41 8b c1             	mov    %r9d,%eax
18004bac4:	48 c1 e8 03          	shr    $0x3,%rax
18004bac8:	0f b6 0c 30          	movzbl (%rax,%rsi,1),%ecx
18004bacc:	0f b6 84 19 a0 ee 14 	movzbl 0x14eea0(%rcx,%rbx,1),%eax
18004bad3:	00
18004bad4:	3b c2                	cmp    %edx,%eax
18004bad6:	75 0b                	jne    0x18004bae3
18004bad8:	41 83 c1 08          	add    $0x8,%r9d
18004badc:	45 3b ca             	cmp    %r10d,%r9d
18004badf:	72 e0                	jb     0x18004bac1
18004bae1:	eb 0a                	jmp    0x18004baed
18004bae3:	45 8b c1             	mov    %r9d,%r8d
18004bae6:	41 83 e0 f8          	and    $0xfffffff8,%r8d
18004baea:	44 03 c0             	add    %eax,%r8d
18004baed:	48 8b 5d d8          	mov    -0x28(%rbp),%rbx
18004baf1:	41 83 f8 ff          	cmp    $0xffffffff,%r8d
18004baf5:	45 0f 44 c2          	cmove  %r10d,%r8d