140ace665:	57                   	push   %rdi
140ace666:	48 83 ec 20          	sub    $0x20,%rsp
140ace66a:	8b da                	mov    %edx,%ebx
140ace66c:	48 8b f9             	mov    %rcx,%rdi
140ace66f:	e8 1c 00 00 00       	call   0x140ace690
140ace674:	f6 c3 01             	test   $0x1,%bl
140ace677:	74 08                	je     0x140ace681
140ace679:	48 8b cf             	mov    %rdi,%rcx
140ace67c:	e8 53 0f 02 00       	call   0x140aef5d4
140ace681:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140ace686:	48 8b c7             	mov    %rdi,%rax
140ace689:	48 83 c4 20          	add    $0x20,%rsp
140ace68d:	5f                   	pop    %rdi
140ace68e:	c3                   	ret
140ace68f:	90                   	nop
140ace690:	40 53                	rex push %rbx
140ace692:	48 83 ec 20          	sub    $0x20,%rsp
140ace696:	48 8b d9             	mov    %rcx,%rbx
140ace699:	48 8b 89 a8 00 00 00 	mov    0xa8(%rcx),%rcx
140ace6a0:	48 85 c9             	test   %rcx,%rcx
140ace6a3:	74 48                	je     0x140ace6ed
140ace6a5:	48 8b 83 b8 00 00 00 	mov    0xb8(%rbx),%rax
140ace6ac:	48 2b c1             	sub    %rcx,%rax
140ace6af:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
140ace6b5:	72 18                	jb     0x140ace6cf
140ace6b7:	48 8b 51 f8          	mov    -0x8(%rcx),%rdx
140ace6bb:	48 2b ca             	sub    %rdx,%rcx
140ace6be:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
140ace6c2:	48 83 f8 1f          	cmp    $0x1f,%rax
140ace6c6:	0f 87 84 00 00 00    	ja     0x140ace750
140ace6cc:	48 8b ca             	mov    %rdx,%rcx
140ace6cf:	ff 15 eb e1 03 00    	call   *0x3e1eb(%rip)        # 0x140b0c8c0
140ace6d5:	48 83 a3 a8 00 00 00 	andq   $0x0,0xa8(%rbx)
140ace6dc:	00
140ace6dd:	48 83 a3 b0 00 00 00 	andq   $0x0,0xb0(%rbx)
140ace6e4:	00
140ace6e5:	48 83 a3 b8 00 00 00 	andq   $0x0,0xb8(%rbx)
140ace6ec:	00
140ace6ed:	48 8b 8b 90 00 00 00 	mov    0x90(%rbx),%rcx
140ace6f4:	48 85 c9             	test   %rcx,%rcx
140ace6f7:	74 4a                	je     0x140ace743
140ace6f9:	48 8b 83 a0 00 00 00 	mov    0xa0(%rbx),%rax
140ace700:	48 2b c1             	sub    %rcx,%rax
140ace703:	48 d1 f8             	sar    $1,%rax
140ace706:	48 03 c0             	add    %rax,%rax
140ace709:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
140ace70f:	72 14                	jb     0x140ace725
140ace711:	48 8b 51 f8          	mov    -0x8(%rcx),%rdx
140ace715:	48 2b ca             	sub    %rdx,%rcx
140ace718:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
140ace71c:	48 83 f8 1f          	cmp    $0x1f,%rax
140ace720:	77 2e                	ja     0x140ace750
140ace722:	48 8b ca             	mov    %rdx,%rcx
140ace725:	ff 15 95 e1 03 00    	call   *0x3e195(%rip)        # 0x140b0c8c0
140ace72b:	48 83 a3 90 00 00 00 	andq   $0x0,0x90(%rbx)
140ace732:	00
140ace733:	48 83 a3 98 00 00 00 	andq   $0x0,0x98(%rbx)
140ace73a:	00
140ace73b:	48 83 a3 a0 00 00 00 	andq   $0x0,0xa0(%rbx)
140ace742:	00
140ace743:	48 8b cb             	mov    %rbx,%rcx
140ace746:	48 83 c4 20          	add    $0x20,%rsp
140ace74a:	5b                   	pop    %rbx
140ace74b:	e9 54 f8 ff ff       	jmp    0x140acdfa4
140ace750:	ff 15 42 e2 03 00    	call   *0x3e242(%rip)        # 0x140b0c998
140ace756:	cc                   	int3
140ace757:	90                   	nop
140ace758:	90                   	nop
140ace759:	90                   	nop
140ace75a:	90                   	nop
140ace75b:	90                   	nop
140ace75c:	90                   	nop
140ace75d:	90                   	nop
140ace75e:	90                   	nop
140ace75f:	90                   	nop
140ace760:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140ace765:	57                   	push   %rdi
140ace766:	48 83 ec 20          	sub    $0x20,%rsp
140ace76a:	48 8b f9             	mov    %rcx,%rdi
140ace76d:	8b da                	mov    %edx,%ebx
140ace76f:	48 81 c1 a8 00 00 00 	add    $0xa8,%rcx
140ace776:	e8 55 c7 54 ff       	call   0x14001aed0
140ace77b:	48 8b cf             	mov    %rdi,%rcx
140ace77e:	e8 21 f8 ff ff       	call   0x140acdfa4
140ace783:	f6 c3 01             	test   $0x1,%bl
140ace786:	74 08                	je     0x140ace790
140ace788:	48 8b cf             	mov    %rdi,%rcx
140ace78b:	e8 44 0e 02 00       	call   0x140aef5d4
140ace790:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140ace795:	48 8b c7             	mov    %rdi,%rax
140ace798:	48 83 c4 20          	add    $0x20,%rsp
140ace79c:	5f                   	pop    %rdi
140ace79d:	c3                   	ret
140ace79e:	90                   	nop
140ace79f:	90                   	nop
140ace7a0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140ace7a5:	57                   	push   %rdi
140ace7a6:	48 83 ec 20          	sub    $0x20,%rsp
140ace7aa:	8b da                	mov    %edx,%ebx
140ace7ac:	48 8b f9             	mov    %rcx,%rdi
140ace7af:	e8 1c 00 00 00       	call   0x140ace7d0
140ace7b4:	f6 c3 01             	test   $0x1,%bl
140ace7b7:	74 08                	je     0x140ace7c1
140ace7b9:	48 8b cf             	mov    %rdi,%rcx
140ace7bc:	e8 13 0e 02 00       	call   0x140aef5d4
140ace7c1:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140ace7c6:	48 8b c7             	mov    %rdi,%rax
140ace7c9:	48 83 c4 20          	add    $0x20,%rsp
140ace7cd:	5f                   	pop    %rdi
140ace7ce:	c3                   	ret
140ace7cf:	90                   	nop
140ace7d0:	40 53                	rex push %rbx
140ace7d2:	48 83 ec 20          	sub    $0x20,%rsp
140ace7d6:	48 8b d9             	mov    %rcx,%rbx
140ace7d9:	48 81 c1 c8 00 00 00 	add    $0xc8,%rcx
140ace7e0:	e8 eb c6 54 ff       	call   0x14001aed0
140ace7e5:	48 8b 8b a8 00 00 00 	mov    0xa8(%rbx),%rcx
140ace7ec:	48 85 c9             	test   %rcx,%rcx
140ace7ef:	74 4e                	je     0x140ace83f
140ace7f1:	48 8b 83 b8 00 00 00 	mov    0xb8(%rbx),%rax
140ace7f8:	48 2b c1             	sub    %rcx,%rax
140ace7fb:	48 d1 f8             	sar    $1,%rax
140ace7fe:	48 03 c0             	add    %rax,%rax
140ace801:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
140ace807:	72 18                	jb     0x140ace821
140ace809:	48 8b 51 f8          	mov    -0x8(%rcx),%rdx
140ace80d:	48 2b ca             	sub    %rdx,%rcx
140ace810:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
140ace814:	48 83 f8 1f          	cmp    $0x1f,%rax
140ace818:	0f 87 84 00 00 00    	ja     0x140ace8a2
140ace81e:	48 8b ca             	mov    %rdx,%rcx
140ace821:	ff 15 99 e0 03 00    	call   *0x3e099(%rip)        # 0x140b0c8c0
140ace827:	48 83 a3 a8 00 00 00 	andq   $0x0,0xa8(%rbx)
140ace82e:	00
140ace82f:	48 83 a3 b0 00 00 00 	andq   $0x0,0xb0(%rbx)
140ace836:	00
140ace837:	48 83 a3 b8 00 00 00 	andq   $0x0,0xb8(%rbx)
140ace83e:	00
140ace83f:	48 8b 8b 90 00 00 00 	mov    0x90(%rbx),%rcx
140ace846:	48 85 c9             	test   %rcx,%rcx
140ace849:	74 4a                	je     0x140ace895
140ace84b:	48 8b 83 a0 00 00 00 	mov    0xa0(%rbx),%rax
140ace852:	48 2b c1             	sub    %rcx,%rax
140ace855:	48 d1 f8             	sar    $1,%rax
140ace858:	48 03 c0             	add    %rax,%rax
140ace85b:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
140ace861:	72 14                	jb     0x140ace877
140ace863:	48 8b 51 f8          	mov    -0x8(%rcx),%rdx
140ace867:	48 2b ca             	sub    %rdx,%rcx
140ace86a:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
140ace86e:	48 83 f8 1f          	cmp    $0x1f,%rax
140ace872:	77 2e                	ja     0x140ace8a2
140ace874:	48 8b ca             	mov    %rdx,%rcx
140ace877:	ff 15 43 e0 03 00    	call   *0x3e043(%rip)        # 0x140b0c8c0
140ace87d:	48 83 a3 90 00 00 00 	andq   $0x0,0x90(%rbx)
140ace884:	00
140ace885:	48 83 a3 98 00 00 00 	andq   $0x0,0x98(%rbx)
140ace88c:	00
140ace88d:	48 83 a3 a0 00 00 00 	andq   $0x0,0xa0(%rbx)
140ace894:	00
140ace895:	48 8b cb             	mov    %rbx,%rcx
140ace898:	48 83 c4 20          	add    $0x20,%rsp
140ace89c:	5b                   	pop    %rbx
140ace89d:	e9 02 f7 ff ff       	jmp    0x140acdfa4
140ace8a2:	ff 15 f0 e0 03 00    	call   *0x3e0f0(%rip)        # 0x140b0c998
140ace8a8:	cc                   	int3
140ace8a9:	90                   	nop
140ace8aa:	90                   	nop
140ace8ab:	90                   	nop
140ace8ac:	90                   	nop
140ace8ad:	90                   	nop
140ace8ae:	90                   	nop
140ace8af:	90                   	nop
140ace8b0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140ace8b5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140ace8ba:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140ace8bf:	57                   	push   %rdi
140ace8c0:	48 83 ec 20          	sub    $0x20,%rsp
140ace8c4:	48 8d 71 60          	lea    0x60(%rcx),%rsi
140ace8c8:	8b ea                	mov    %edx,%ebp
140ace8ca:	48 8b 06             	mov    (%rsi),%rax
140ace8cd:	48 8b d9             	mov    %rcx,%rbx
140ace8d0:	48 8b 78 08          	mov    0x8(%rax),%rdi
140ace8d4:	eb 1b                	jmp    0x140ace8f1
140ace8d6:	4c 8b 47 10          	mov    0x10(%rdi),%r8
140ace8da:	48 8b d6             	mov    %rsi,%rdx
140ace8dd:	48 8b ce             	mov    %rsi,%rcx
140ace8e0:	e8 17 8a 53 ff       	call   0x1400072fc
140ace8e5:	48 8b cf             	mov    %rdi,%rcx
140ace8e8:	48 8b 3f             	mov    (%rdi),%rdi
140ace8eb:	ff 15 cf df 03 00    	call   *0x3dfcf(%rip)        # 0x140b0c8c0
140ace8f1:	80 7f 19 00          	cmpb   $0x0,0x19(%rdi)
140ace8f5:	74 df                	je     0x140ace8d6
140ace8f7:	48 8b 0e             	mov    (%rsi),%rcx
140ace8fa:	ff 15 c0 df 03 00    	call   *0x3dfc0(%rip)        # 0x140b0c8c0
140ace900:	48 8b cb             	mov    %rbx,%rcx
140ace903:	e8 90 f4 ff ff       	call   0x140acdd98
140ace908:	40 f6 c5 01          	test   $0x1,%bpl
140ace90c:	74 08                	je     0x140ace916
140ace90e:	48 8b cb             	mov    %rbx,%rcx
140ace911:	e8 be 0c 02 00       	call   0x140aef5d4
140ace916:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
140ace91b:	48 8b c3             	mov    %rbx,%rax
140ace91e:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140ace923:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140ace928:	48 83 c4 20          	add    $0x20,%rsp
140ace92c:	5f                   	pop    %rdi
140ace92d:	c3                   	ret
140ace92e:	90                   	nop
140ace92f:	90                   	nop
140ace930:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140ace935:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140ace93a:	57                   	push   %rdi
140ace93b:	48 83 ec 20          	sub    $0x20,%rsp
140ace93f:	48 8b 3a             	mov    (%rdx),%rdi
140ace942:	48 8b d9             	mov    %rcx,%rbx
140ace945:	48 8b ca             	mov    %rdx,%rcx
140ace948:	48 8b f2             	mov    %rdx,%rsi
140ace94b:	48 8b 47 38          	mov    0x38(%rdi),%rax
140ace94f:	ff 15 e3 e2 03 00    	call   *0x3e2e3(%rip)        # 0x140b0cc38
140ace955:	03 43 18             	add    0x18(%rbx),%eax
140ace958:	48 8b ce             	mov    %rsi,%rcx
140ace95b:	8b d0                	mov    %eax,%edx
140ace95d:	48 8b 47 30          	mov    0x30(%rdi),%rax
140ace961:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140ace966:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140ace96b:	48 83 c4 20          	add    $0x20,%rsp
140ace96f:	5f                   	pop    %rdi
140ace970:	48 ff 25 c1 e2 03 00 	rex.W jmp *0x3e2c1(%rip)        # 0x140b0cc38
140ace977:	cc                   	int3
140ace978:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140ace97d:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140ace982:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140ace987:	41 56                	push   %r14
140ace989:	48 83 ec 30          	sub    $0x30,%rsp
140ace98d:	4c 8b f2             	mov    %rdx,%r14
140ace990:	41 8d 78 01          	lea    0x1(%r8),%edi
140ace994:	48 8b d9             	mov    %rcx,%rbx
140ace997:	33 f6                	xor    %esi,%esi
140ace999:	eb 4b                	jmp    0x140ace9e6
140ace99b:	ff cf                	dec    %edi
140ace99d:	f6 43 48 01          	testb  $0x1,0x48(%rbx)
140ace9a1:	74 17                	je     0x140ace9ba
140ace9a3:	48 8d 4b 38          	lea    0x38(%rbx),%rcx
140ace9a7:	89 74 24 50          	mov    %esi,0x50(%rsp)
140ace9ab:	4c 8d 44 24 50       	lea    0x50(%rsp),%r8
140ace9b0:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
140ace9b5:	e8 6a fb 58 ff       	call   0x14005e524
140ace9ba:	d0 6b 48             	shrb   $1,0x48(%rbx)
140ace9bd:	ff c6                	inc    %esi
140ace9bf:	8b c6                	mov    %esi,%eax
140ace9c1:	25 07 00 00 80       	and    $0x80000007,%eax
140ace9c6:	7d 07                	jge    0x140ace9cf
140ace9c8:	ff c8                	dec    %eax
140ace9ca:	83 c8 f8             	or     $0xfffffff8,%eax
140ace9cd:	ff c0                	inc    %eax
140ace9cf:	85 c0                	test   %eax,%eax
140ace9d1:	75 13                	jne    0x140ace9e6
140ace9d3:	49 8b 06             	mov    (%r14),%rax
140ace9d6:	49 8b ce             	mov    %r14,%rcx
140ace9d9:	48 8b 40 18          	mov    0x18(%rax),%rax
140ace9dd:	ff 15 55 e2 03 00    	call   *0x3e255(%rip)        # 0x140b0cc38
140ace9e3:	88 43 48             	mov    %al,0x48(%rbx)
140ace9e6:	85 ff                	test   %edi,%edi
140ace9e8:	7f b1                	jg     0x140ace99b
140ace9ea:	ff ce                	dec    %esi
140ace9ec:	eb 67                	jmp    0x140acea55
140ace9ee:	49 8b 06             	mov    (%r14),%rax
140ace9f1:	ff ce                	dec    %esi
140ace9f3:	81 7b 08 00 01 00 00 	cmpl   $0x100,0x8(%rbx)
140ace9fa:	49 8b ce             	mov    %r14,%rcx
140ace9fd:	77 0f                	ja     0x140acea0e
140ace9ff:	48 8b 40 18          	mov    0x18(%rax),%rax
140acea03:	ff 15 2f e2 03 00    	call   *0x3e22f(%rip)        # 0x140b0cc38
140acea09:	0f b6 c0             	movzbl %al,%eax
140acea0c:	eb 22                	jmp    0x140acea30
140acea0e:	81 7b 08 00 00 01 00 	cmpl   $0x10000,0x8(%rbx)
140acea15:	77 0f                	ja     0x140acea26
140acea17:	48 8b 40 20          	mov    0x20(%rax),%rax
140acea1b:	ff 15 17 e2 03 00    	call   *0x3e217(%rip)        # 0x140b0cc38
140acea21:	0f b7 c0             	movzwl %ax,%eax
140acea24:	eb 0a                	jmp    0x140acea30
140acea26:	48 8b 40 28          	mov    0x28(%rax),%rax
140acea2a:	ff 15 08 e2 03 00    	call   *0x3e208(%rip)        # 0x140b0cc38
140acea30:	48 8b 53 28          	mov    0x28(%rbx),%rdx
140acea34:	89 44 24 50          	mov    %eax,0x50(%rsp)
140acea38:	48 3b 53 30          	cmp    0x30(%rbx),%rdx
140acea3c:	74 09                	je     0x140acea47
140acea3e:	89 02                	mov    %eax,(%rdx)
140acea40:	48 83 43 28 04       	addq   $0x4,0x28(%rbx)
140acea45:	eb 0e                	jmp    0x140acea55
140acea47:	4c 8d 44 24 50       	lea    0x50(%rsp),%r8
140acea4c:	48 8d 4b 20          	lea    0x20(%rbx),%rcx
140acea50:	e8 bb 32 56 ff       	call   0x140031d10
140acea55:	85 f6                	test   %esi,%esi
140acea57:	7f 95                	jg     0x140ace9ee
140acea59:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140acea5e:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
140acea63:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
140acea68:	48 83 c4 30          	add    $0x30,%rsp
140acea6c:	41 5e                	pop    %r14
140acea6e:	c3                   	ret
140acea6f:	90                   	nop
140acea70:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140acea75:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
140acea7a:	55                   	push   %rbp
140acea7b:	56                   	push   %rsi
140acea7c:	57                   	push   %rdi
140acea7d:	48 83 ec 50          	sub    $0x50,%rsp
140acea81:	48 8b f2             	mov    %rdx,%rsi
140acea84:	48 8b f9             	mov    %rcx,%rdi
140acea87:	48 8b 02             	mov    (%rdx),%rax
140acea8a:	8b 58 08             	mov    0x8(%rax),%ebx
140acea8d:	48 8b 29             	mov    (%rcx),%rbp
140acea90:	48 8b 45 08          	mov    0x8(%rbp),%rax
140acea94:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
140acea99:	83 64 24 38 00       	andl   $0x0,0x38(%rsp)
140acea9e:	48 8b d5             	mov    %rbp,%rdx
140aceaa1:	eb 23                	jmp    0x140aceac6
140aceaa3:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
140aceaa8:	39 58 20             	cmp    %ebx,0x20(%rax)
140aceaab:	73 0b                	jae    0x140aceab8
140aceaad:	83 64 24 38 00       	andl   $0x0,0x38(%rsp)
140aceab2:	48 8b 40 10          	mov    0x10(%rax),%rax
140aceab6:	eb 0e                	jmp    0x140aceac6
140aceab8:	c7 44 24 38 01 00 00 	movl   $0x1,0x38(%rsp)
140aceabf:	00
140aceac0:	48 8b d0             	mov    %rax,%rdx
140aceac3:	48 8b 00             	mov    (%rax),%rax
140aceac6:	80 78 19 00          	cmpb   $0x0,0x19(%rax)
140aceaca:	74 d7                	je     0x140aceaa3
140aceacc:	80 7a 19 00          	cmpb   $0x0,0x19(%rdx)
140acead0:	75 05                	jne    0x140acead7
140acead2:	3b 5a 20             	cmp    0x20(%rdx),%ebx
140acead5:	73 76                	jae    0x140aceb4d
140acead7:	48 b8 92 24 49 92 24 	movabs $0x492492492492492,%rax
140aceade:	49 92 04
140aceae1:	48 39 41 08          	cmp    %rax,0x8(%rcx)
140aceae5:	0f 84 3f 01 00 00    	je     0x140acec2a
140aceaeb:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140aceaf0:	48 83 64 24 28 00    	andq   $0x0,0x28(%rsp)
140aceaf6:	b9 38 00 00 00       	mov    $0x38,%ecx
140aceafb:	ff 15 c7 dd 03 00    	call   *0x3ddc7(%rip)        # 0x140b0c8c8
140aceb01:	48 85 c0             	test   %rax,%rax
140aceb04:	75 07                	jne    0x140aceb0d
140aceb06:	ff 15 8c d9 03 00    	call   *0x3d98c(%rip)        # 0x140b0c498
140aceb0c:	90                   	nop
140aceb0d:	89 58 20             	mov    %ebx,0x20(%rax)
140aceb10:	48 83 60 30 00       	andq   $0x0,0x30(%rax)
140aceb15:	48 83 60 28 00       	andq   $0x0,0x28(%rax)