1405aa575:	57                   	push   %rdi
1405aa576:	48 83 ec 20          	sub    $0x20,%rsp
1405aa57a:	48 8b f9             	mov    %rcx,%rdi
1405aa57d:	33 db                	xor    %ebx,%ebx
1405aa57f:	48 8b 49 18          	mov    0x18(%rcx),%rcx
1405aa583:	48 85 c9             	test   %rcx,%rcx
1405aa586:	74 3d                	je     0x1405aa5c5
1405aa588:	48 8b 57 28          	mov    0x28(%rdi),%rdx
1405aa58c:	48 2b d1             	sub    %rcx,%rdx
1405aa58f:	48 83 e2 f8          	and    $0xfffffffffffffff8,%rdx
1405aa593:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
1405aa59a:	72 18                	jb     0x1405aa5b4
1405aa59c:	4c 8b 41 f8          	mov    -0x8(%rcx),%r8
1405aa5a0:	48 83 c2 27          	add    $0x27,%rdx
1405aa5a4:	49 2b c8             	sub    %r8,%rcx
1405aa5a7:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
1405aa5ab:	48 83 f8 1f          	cmp    $0x1f,%rax
1405aa5af:	77 5c                	ja     0x1405aa60d
1405aa5b1:	49 8b c8             	mov    %r8,%rcx
1405aa5b4:	e8 8b 0b 87 00       	call   0x140e1b144
1405aa5b9:	48 89 5f 18          	mov    %rbx,0x18(%rdi)
1405aa5bd:	48 89 5f 20          	mov    %rbx,0x20(%rdi)
1405aa5c1:	48 89 5f 28          	mov    %rbx,0x28(%rdi)
1405aa5c5:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
1405aa5c9:	48 8b 41 08          	mov    0x8(%rcx),%rax
1405aa5cd:	48 89 18             	mov    %rbx,(%rax)
1405aa5d0:	48 8b 09             	mov    (%rcx),%rcx
1405aa5d3:	48 85 c9             	test   %rcx,%rcx
1405aa5d6:	74 1d                	je     0x1405aa5f5
1405aa5d8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
1405aa5df:	00
1405aa5e0:	48 8b 19             	mov    (%rcx),%rbx
1405aa5e3:	ba 18 00 00 00       	mov    $0x18,%edx
1405aa5e8:	e8 57 0b 87 00       	call   0x140e1b144
1405aa5ed:	48 8b cb             	mov    %rbx,%rcx
1405aa5f0:	48 85 db             	test   %rbx,%rbx
1405aa5f3:	75 eb                	jne    0x1405aa5e0
1405aa5f5:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
1405aa5f9:	ba 18 00 00 00       	mov    $0x18,%edx
1405aa5fe:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1405aa603:	48 83 c4 20          	add    $0x20,%rsp
1405aa607:	5f                   	pop    %rdi
1405aa608:	e9 37 0b 87 00       	jmp    0x140e1b144
1405aa60d:	e8 92 fb 87 00       	call   0x140e2a1a4
1405aa612:	cc                   	int3
1405aa613:	cc                   	int3
1405aa614:	cc                   	int3
1405aa615:	cc                   	int3
1405aa616:	cc                   	int3
1405aa617:	cc                   	int3
1405aa618:	cc                   	int3
1405aa619:	cc                   	int3
1405aa61a:	cc                   	int3
1405aa61b:	cc                   	int3
1405aa61c:	cc                   	int3
1405aa61d:	cc                   	int3
1405aa61e:	cc                   	int3
1405aa61f:	cc                   	int3
1405aa620:	40 53                	rex push %rbx
1405aa622:	48 83 ec 20          	sub    $0x20,%rsp
1405aa626:	48 8b d9             	mov    %rcx,%rbx
1405aa629:	48 8b 49 08          	mov    0x8(%rcx),%rcx
1405aa62d:	48 85 c9             	test   %rcx,%rcx
1405aa630:	74 09                	je     0x1405aa63b
1405aa632:	48 83 c1 18          	add    $0x18,%rcx
1405aa636:	e8 35 ff ff ff       	call   0x1405aa570
1405aa63b:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
1405aa63f:	48 85 c9             	test   %rcx,%rcx
1405aa642:	74 0f                	je     0x1405aa653
1405aa644:	ba 58 00 00 00       	mov    $0x58,%edx
1405aa649:	48 83 c4 20          	add    $0x20,%rsp
1405aa64d:	5b                   	pop    %rbx
1405aa64e:	e9 f1 0a 87 00       	jmp    0x140e1b144
1405aa653:	48 83 c4 20          	add    $0x20,%rsp
1405aa657:	5b                   	pop    %rbx
1405aa658:	c3                   	ret
1405aa659:	cc                   	int3
1405aa65a:	cc                   	int3
1405aa65b:	cc                   	int3
1405aa65c:	cc                   	int3
1405aa65d:	cc                   	int3
1405aa65e:	cc                   	int3
1405aa65f:	cc                   	int3
1405aa660:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1405aa665:	56                   	push   %rsi
1405aa666:	48 83 ec 20          	sub    $0x20,%rsp
1405aa66a:	48 8b 19             	mov    (%rcx),%rbx
1405aa66d:	48 8b f1             	mov    %rcx,%rsi
1405aa670:	48 8b 43 08          	mov    0x8(%rbx),%rax
1405aa674:	48 c7 00 00 00 00 00 	movq   $0x0,(%rax)
1405aa67b:	48 8b 1b             	mov    (%rbx),%rbx
1405aa67e:	48 85 db             	test   %rbx,%rbx
1405aa681:	74 33                	je     0x1405aa6b6
1405aa683:	48 89 7c 24 30       	mov    %rdi,0x30(%rsp)
1405aa688:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
1405aa68f:	00
1405aa690:	48 8b 3b             	mov    (%rbx),%rdi
1405aa693:	48 8d 4b 18          	lea    0x18(%rbx),%rcx
1405aa697:	e8 d4 fe ff ff       	call   0x1405aa570
1405aa69c:	ba 58 00 00 00       	mov    $0x58,%edx
1405aa6a1:	48 8b cb             	mov    %rbx,%rcx
1405aa6a4:	e8 9b 0a 87 00       	call   0x140e1b144
1405aa6a9:	48 8b df             	mov    %rdi,%rbx
1405aa6ac:	48 85 ff             	test   %rdi,%rdi
1405aa6af:	75 df                	jne    0x1405aa690
1405aa6b1:	48 8b 7c 24 30       	mov    0x30(%rsp),%rdi
1405aa6b6:	48 8b 0e             	mov    (%rsi),%rcx
1405aa6b9:	ba 58 00 00 00       	mov    $0x58,%edx
1405aa6be:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
1405aa6c3:	48 83 c4 20          	add    $0x20,%rsp
1405aa6c7:	5e                   	pop    %rsi
1405aa6c8:	e9 77 0a 87 00       	jmp    0x140e1b144
1405aa6cd:	cc                   	int3
1405aa6ce:	cc                   	int3
1405aa6cf:	cc                   	int3
1405aa6d0:	e9 9b fe ff ff       	jmp    0x1405aa570
1405aa6d5:	cc                   	int3
1405aa6d6:	cc                   	int3
1405aa6d7:	cc                   	int3
1405aa6d8:	cc                   	int3
1405aa6d9:	cc                   	int3
1405aa6da:	cc                   	int3
1405aa6db:	cc                   	int3
1405aa6dc:	cc                   	int3
1405aa6dd:	cc                   	int3
1405aa6de:	cc                   	int3
1405aa6df:	cc                   	int3
1405aa6e0:	40 57                	rex push %rdi
1405aa6e2:	48 83 ec 20          	sub    $0x20,%rsp
1405aa6e6:	48 8b 39             	mov    (%rcx),%rdi
1405aa6e9:	48 85 ff             	test   %rdi,%rdi
1405aa6ec:	0f 84 9a 00 00 00    	je     0x1405aa78c
1405aa6f2:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
1405aa6f6:	48 85 c9             	test   %rcx,%rcx
1405aa6f9:	0f 84 8d 00 00 00    	je     0x1405aa78c
1405aa6ff:	48 8b 47 38          	mov    0x38(%rdi),%rax
1405aa703:	48 c1 e8 03          	shr    $0x3,%rax
1405aa707:	48 3b c1             	cmp    %rcx,%rax
1405aa70a:	76 17                	jbe    0x1405aa723
1405aa70c:	48 8b 57 08          	mov    0x8(%rdi),%rdx
1405aa710:	48 8b cf             	mov    %rdi,%rcx
1405aa713:	4c 8b c2             	mov    %rdx,%r8
1405aa716:	48 8b 12             	mov    (%rdx),%rdx
1405aa719:	48 83 c4 20          	add    $0x20,%rsp
1405aa71d:	5f                   	pop    %rdi
1405aa71e:	e9 cd ae 00 00       	jmp    0x1405b55f0
1405aa723:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
1405aa727:	48 8b 41 08          	mov    0x8(%rcx),%rax
1405aa72b:	48 c7 00 00 00 00 00 	movq   $0x0,(%rax)
1405aa732:	48 8b 09             	mov    (%rcx),%rcx
1405aa735:	48 85 c9             	test   %rcx,%rcx
1405aa738:	74 20                	je     0x1405aa75a
1405aa73a:	48 89 5c 24 38       	mov    %rbx,0x38(%rsp)
1405aa73f:	90                   	nop
1405aa740:	48 8b 19             	mov    (%rcx),%rbx
1405aa743:	ba 18 00 00 00       	mov    $0x18,%edx
1405aa748:	e8 f7 09 87 00       	call   0x140e1b144
1405aa74d:	48 8b cb             	mov    %rbx,%rcx
1405aa750:	48 85 db             	test   %rbx,%rbx
1405aa753:	75 eb                	jne    0x1405aa740
1405aa755:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
1405aa75a:	48 8b 47 08          	mov    0x8(%rdi),%rax
1405aa75e:	4c 8d 44 24 30       	lea    0x30(%rsp),%r8
1405aa763:	48 89 00             	mov    %rax,(%rax)
1405aa766:	48 8b 47 08          	mov    0x8(%rdi),%rax
1405aa76a:	48 89 40 08          	mov    %rax,0x8(%rax)
1405aa76e:	48 c7 47 10 00 00 00 	movq   $0x0,0x10(%rdi)
1405aa775:	00
1405aa776:	48 8b 47 08          	mov    0x8(%rdi),%rax
1405aa77a:	48 8b 57 20          	mov    0x20(%rdi),%rdx
1405aa77e:	48 8b 4f 18          	mov    0x18(%rdi),%rcx
1405aa782:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
1405aa787:	e8 54 bd c6 ff       	call   0x1402164e0
1405aa78c:	48 83 c4 20          	add    $0x20,%rsp
1405aa790:	5f                   	pop    %rdi
1405aa791:	c3                   	ret
1405aa792:	cc                   	int3
1405aa793:	cc                   	int3
1405aa794:	cc                   	int3
1405aa795:	cc                   	int3
1405aa796:	cc                   	int3
1405aa797:	cc                   	int3
1405aa798:	cc                   	int3
1405aa799:	cc                   	int3
1405aa79a:	cc                   	int3
1405aa79b:	cc                   	int3
1405aa79c:	cc                   	int3
1405aa79d:	cc                   	int3
1405aa79e:	cc                   	int3
1405aa79f:	cc                   	int3
1405aa7a0:	40 53                	rex push %rbx
1405aa7a2:	48 83 ec 20          	sub    $0x20,%rsp
1405aa7a6:	48 8b d9             	mov    %rcx,%rbx
1405aa7a9:	48 3b ca             	cmp    %rdx,%rcx
1405aa7ac:	74 31                	je     0x1405aa7df
1405aa7ae:	48 89 4c 24 30       	mov    %rcx,0x30(%rsp)
1405aa7b3:	8b 02                	mov    (%rdx),%eax
1405aa7b5:	89 01                	mov    %eax,(%rcx)
1405aa7b7:	48 83 c1 08          	add    $0x8,%rcx
1405aa7bb:	4c 8b 42 08          	mov    0x8(%rdx),%r8
1405aa7bf:	49 8b 10             	mov    (%r8),%rdx
1405aa7c2:	e8 a9 f1 ff ff       	call   0x1405a9970
1405aa7c7:	48 8b 53 10          	mov    0x10(%rbx),%rdx
1405aa7cb:	48 8b cb             	mov    %rbx,%rcx
1405aa7ce:	e8 0d ab 00 00       	call   0x1405b52e0
1405aa7d3:	48 8b d0             	mov    %rax,%rdx
1405aa7d6:	48 8b cb             	mov    %rbx,%rcx
1405aa7d9:	e8 a2 ab 00 00       	call   0x1405b5380
1405aa7de:	90                   	nop
1405aa7df:	48 8b c3             	mov    %rbx,%rax
1405aa7e2:	48 83 c4 20          	add    $0x20,%rsp
1405aa7e6:	5b                   	pop    %rbx
1405aa7e7:	c3                   	ret
1405aa7e8:	cc                   	int3
1405aa7e9:	cc                   	int3
1405aa7ea:	cc                   	int3
1405aa7eb:	cc                   	int3
1405aa7ec:	cc                   	int3
1405aa7ed:	cc                   	int3
1405aa7ee:	cc                   	int3
1405aa7ef:	cc                   	int3
1405aa7f0:	48 83 ec 38          	sub    $0x38,%rsp
1405aa7f4:	4c 8b c2             	mov    %rdx,%r8
1405aa7f7:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
1405aa7fc:	e8 8f f5 ff ff       	call   0x1405a9d90
1405aa801:	48 8b 00             	mov    (%rax),%rax
1405aa804:	48 83 c0 14          	add    $0x14,%rax
1405aa808:	48 83 c4 38          	add    $0x38,%rsp
1405aa80c:	c3                   	ret
1405aa80d:	cc                   	int3
1405aa80e:	cc                   	int3
1405aa80f:	cc                   	int3
1405aa810:	48 83 ec 38          	sub    $0x38,%rsp
1405aa814:	4c 8b c2             	mov    %rdx,%r8
1405aa817:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
1405aa81c:	e8 bf f7 ff ff       	call   0x1405a9fe0
1405aa821:	48 8b 00             	mov    (%rax),%rax
1405aa824:	48 83 c0 18          	add    $0x18,%rax
1405aa828:	48 83 c4 38          	add    $0x38,%rsp
1405aa82c:	c3                   	ret
1405aa82d:	cc                   	int3
1405aa82e:	cc                   	int3
1405aa82f:	cc                   	int3
1405aa830:	48 83 ec 38          	sub    $0x38,%rsp
1405aa834:	4c 8b c2             	mov    %rdx,%r8
1405aa837:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
1405aa83c:	e8 ef f9 ff ff       	call   0x1405aa230
1405aa841:	48 8b 00             	mov    (%rax),%rax
1405aa844:	48 83 c0 14          	add    $0x14,%rax
1405aa848:	48 83 c4 38          	add    $0x38,%rsp
1405aa84c:	c3                   	ret
1405aa84d:	cc                   	int3
1405aa84e:	cc                   	int3
1405aa84f:	cc                   	int3
1405aa850:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
1405aa855:	89 54 24 10          	mov    %edx,0x10(%rsp)
1405aa859:	89 4c 24 08          	mov    %ecx,0x8(%rsp)
1405aa85d:	55                   	push   %rbp
1405aa85e:	56                   	push   %rsi
1405aa85f:	57                   	push   %rdi
1405aa860:	41 56                	push   %r14
1405aa862:	41 57                	push   %r15
1405aa864:	48 8d ac 24 c0 d5 ff 	lea    -0x2a40(%rsp),%rbp
1405aa86b:	ff
1405aa86c:	b8 40 2b 00 00       	mov    $0x2b40,%eax
1405aa871:	e8 2a 0c 87 00       	call   0x140e1b4a0
1405aa876:	48 2b e0             	sub    %rax,%rsp
1405aa879:	41 0f b6 f0          	movzbl %r8b,%esi
1405aa87d:	44 8b c9             	mov    %ecx,%r9d
1405aa880:	33 db                	xor    %ebx,%ebx
1405aa882:	38 1d 48 20 e8 00    	cmp    %bl,0xe82048(%rip)        # 0x14142c8d0
1405aa888:	0f 85 13 72 00 00    	jne    0x1405b1aa1
1405aa88e:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
1405aa893:	e8 58 fc ff ff       	call   0x1405aa4f0
1405aa898:	90                   	nop
1405aa899:	c7 85 88 2a 00 00 10 	movl   $0x10,0x2a88(%rbp)
1405aa8a0:	00 00 00
1405aa8a3:	48 8d 95 88 2a 00 00 	lea    0x2a88(%rbp),%rdx
1405aa8aa:	48 8d 0d 5f 1f e8 00 	lea    0xe81f5f(%rip),%rcx        # 0x14142c810
1405aa8b1:	e8 5a ff ff ff       	call   0x1405aa810
1405aa8b6:	48 8b c8             	mov    %rax,%rcx
1405aa8b9:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
1405aa8be:	e8 dd fe ff ff       	call   0x1405aa7a0
1405aa8c3:	c7 85 c4 0a 00 00 21 	movl   $0x21,0xac4(%rbp)
1405aa8ca:	00 00 00
1405aa8cd:	48 8d 95 c4 0a 00 00 	lea    0xac4(%rbp),%rdx
1405aa8d4:	48 8d 0d 35 1f e8 00 	lea    0xe81f35(%rip),%rcx        # 0x14142c810
1405aa8db:	e8 30 ff ff ff       	call   0x1405aa810
1405aa8e0:	48 8b c8             	mov    %rax,%rcx
1405aa8e3:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
1405aa8e8:	e8 b3 fe ff ff       	call   0x1405aa7a0
1405aa8ed:	c7 44 24 60 32 00 00 	movl   $0x32,0x60(%rsp)
1405aa8f4:	00
1405aa8f5:	48 8d 54 24 60       	lea    0x60(%rsp),%rdx
1405aa8fa:	48 8d 0d 0f 1f e8 00 	lea    0xe81f0f(%rip),%rcx        # 0x14142c810
1405aa901:	e8 0a ff ff ff       	call   0x1405aa810
1405aa906:	48 8b f8             	mov    %rax,%rdi
1405aa909:	48 8d 44 24 20       	lea    0x20(%rsp),%rax
1405aa90e:	48 3b f8             	cmp    %rax,%rdi
1405aa911:	74 3c                	je     0x1405aa94f
1405aa913:	48 89 bd d8 0a 00 00 	mov    %rdi,0xad8(%rbp)
1405aa91a:	8b 4c 24 20          	mov    0x20(%rsp),%ecx
1405aa91e:	89 0f                	mov    %ecx,(%rdi)
1405aa920:	48 8d 4f 08          	lea    0x8(%rdi),%rcx
1405aa924:	4c 8b 44 24 28       	mov    0x28(%rsp),%r8
1405aa929:	49 8b 10             	mov    (%r8),%rdx
1405aa92c:	e8 3f f0 ff ff       	call   0x1405a9970
1405aa931:	48 8b 57 10          	mov    0x10(%rdi),%rdx
1405aa935:	48 8b cf             	mov    %rdi,%rcx
1405aa938:	e8 a3 a9 00 00       	call   0x1405b52e0
1405aa93d:	48 8b d0             	mov    %rax,%rdx
1405aa940:	48 8b cf             	mov    %rdi,%rcx
1405aa943:	e8 38 aa 00 00       	call   0x1405b5380
1405aa948:	48 89 9d d8 0a 00 00 	mov    %rbx,0xad8(%rbp)
1405aa94f:	c7 44 24 64 43 00 00 	movl   $0x43,0x64(%rsp)
1405aa956:	00
1405aa957:	4c 8d 44 24 64       	lea    0x64(%rsp),%r8
1405aa95c:	48 8d 95 20 2a 00 00 	lea    0x2a20(%rbp),%rdx
1405aa963:	48 8d 0d a6 1e e8 00 	lea    0xe81ea6(%rip),%rcx        # 0x14142c810
1405aa96a:	e8 71 f6 ff ff       	call   0x1405a9fe0
1405aa96f:	48 8b 38             	mov    (%rax),%rdi
1405aa972:	48 83 c7 18          	add    $0x18,%rdi
1405aa976:	48 8d 44 24 20       	lea    0x20(%rsp),%rax
1405aa97b:	48 3b f8             	cmp    %rax,%rdi
1405aa97e:	74 3c                	je     0x1405aa9bc
1405aa980:	48 89 bd e0 0a 00 00 	mov    %rdi,0xae0(%rbp)
1405aa987:	8b 44 24 20          	mov    0x20(%rsp),%eax
1405aa98b:	89 07                	mov    %eax,(%rdi)
1405aa98d:	48 8d 4f 08          	lea    0x8(%rdi),%rcx
1405aa991:	4c 8b 44 24 28       	mov    0x28(%rsp),%r8
1405aa996:	49 8b 10             	mov    (%r8),%rdx
1405aa999:	e8 d2 ef ff ff       	call   0x1405a9970
1405aa99e:	48 8b 57 10          	mov    0x10(%rdi),%rdx
1405aa9a2:	48 8b cf             	mov    %rdi,%rcx
1405aa9a5:	e8 36 a9 00 00       	call   0x1405b52e0
1405aa9aa:	48 8b d0             	mov    %rax,%rdx
1405aa9ad:	48 8b cf             	mov    %rdi,%rcx
1405aa9b0:	e8 cb a9 00 00       	call   0x1405b5380
1405aa9b5:	48 89 9d e0 0a 00 00 	mov    %rbx,0xae0(%rbp)
1405aa9bc:	c7 44 24 68 54 00 00 	movl   $0x54,0x68(%rsp)
1405aa9c3:	00
1405aa9c4:	4c 8d 44 24 68       	lea    0x68(%rsp),%r8
1405aa9c9:	48 8d 95 80 0b 00 00 	lea    0xb80(%rbp),%rdx
1405aa9d0:	48 8d 0d 39 1e e8 00 	lea    0xe81e39(%rip),%rcx        # 0x14142c810
1405aa9d7:	e8 04 f6 ff ff       	call   0x1405a9fe0
1405aa9dc:	48 8b 38             	mov    (%rax),%rdi
1405aa9df:	48 83 c7 18          	add    $0x18,%rdi
1405aa9e3:	48 8d 44 24 20       	lea    0x20(%rsp),%rax
1405aa9e8:	48 3b f8             	cmp    %rax,%rdi
1405aa9eb:	74 3c                	je     0x1405aaa29