10041a780:	49 8b 4c 24 78       	mov    0x78(%r12),%rcx
10041a785:	31 c0                	xor    %eax,%eax
10041a787:	48 8b 14 01          	mov    (%rcx,%rax,1),%rdx
10041a78b:	49 21 54 05 00       	and    %rdx,0x0(%r13,%rax,1)
10041a790:	48 83 c0 08          	add    $0x8,%rax
10041a794:	48 83 f8 20          	cmp    $0x20,%rax
10041a798:	75 ed                	jne    10041a787 <.text+0x19787>
10041a79a:	48 8d 5c 24 50       	lea    0x50(%rsp),%rbx
10041a79f:	45 31 c0             	xor    %r8d,%r8d
10041a7a2:	31 d2                	xor    %edx,%edx
10041a7a4:	4c 89 e1             	mov    %r12,%rcx
10041a7a7:	49 89 d9             	mov    %rbx,%r9
10041a7aa:	4c 89 6c 24 50       	mov    %r13,0x50(%rsp)
10041a7af:	48 c7 44 24 58 03 00 	movq   $0x3,0x58(%rsp)
10041a7b6:	00 00
10041a7b8:	e8 73 80 ff ff       	call   100412830 <.text+0x11830>
10041a7bd:	49 89 c7             	mov    %rax,%r15
10041a7c0:	48 85 c0             	test   %rax,%rax
10041a7c3:	0f 84 60 ff ff ff    	je     10041a729 <.text+0x19729>
10041a7c9:	45 31 c0             	xor    %r8d,%r8d
10041a7cc:	49 89 d9             	mov    %rbx,%r9
10041a7cf:	31 d2                	xor    %edx,%edx
10041a7d1:	4c 89 e1             	mov    %r12,%rcx
10041a7d4:	41 80 8c 24 b0 00 00 	orb    $0x2,0xb0(%r12)
10041a7db:	00 02
10041a7dd:	c6 44 24 58 06       	movb   $0x6,0x58(%rsp)
10041a7e2:	4c 89 74 24 50       	mov    %r14,0x50(%rsp)
10041a7e7:	e8 44 80 ff ff       	call   100412830 <.text+0x11830>
10041a7ec:	49 89 c0             	mov    %rax,%r8
10041a7ef:	48 85 c0             	test   %rax,%rax
10041a7f2:	0f 84 31 ff ff ff    	je     10041a729 <.text+0x19729>
10041a7f8:	4c 8d 4c 24 60       	lea    0x60(%rsp),%r9
10041a7fd:	4c 89 fa             	mov    %r15,%rdx
10041a800:	4c 89 e1             	mov    %r12,%rcx
10041a803:	48 c7 44 24 68 00 00 	movq   $0x0,0x68(%rsp)
10041a80a:	00 00
10041a80c:	48 c7 44 24 60 00 00 	movq   $0x0,0x60(%rsp)
10041a813:	00 00
10041a815:	c6 44 24 68 0a       	movb   $0xa,0x68(%rsp)
10041a81a:	e8 11 80 ff ff       	call   100412830 <.text+0x11830>
10041a81f:	48 83 c4 70          	add    $0x70,%rsp
10041a823:	5b                   	pop    %rbx
10041a824:	5e                   	pop    %rsi
10041a825:	5f                   	pop    %rdi
10041a826:	41 5c                	pop    %r12
10041a828:	41 5d                	pop    %r13
10041a82a:	41 5e                	pop    %r14
10041a82c:	41 5f                	pop    %r15
10041a82e:	c3                   	ret
10041a82f:	90                   	nop
10041a830:	4c 89 e9             	mov    %r13,%rcx
10041a833:	e8 08 51 ff ff       	call   10040f940 <.text+0xe940>
10041a838:	48 8b 84 24 d8 00 00 	mov    0xd8(%rsp),%rax
10041a83f:	00
10041a840:	c7 00 0c 00 00 00    	movl   $0xc,(%rax)
10041a846:	31 c0                	xor    %eax,%eax
10041a848:	48 83 c4 70          	add    $0x70,%rsp
10041a84c:	5b                   	pop    %rbx
10041a84d:	5e                   	pop    %rsi
10041a84e:	5f                   	pop    %rdi
10041a84f:	41 5c                	pop    %r12
10041a851:	41 5d                	pop    %r13
10041a853:	41 5e                	pop    %r14
10041a855:	41 5f                	pop    %r15
10041a857:	c3                   	ret
10041a858:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
10041a85f:	00
10041a860:	49 8b 0e             	mov    (%r14),%rcx
10041a863:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
10041a868:	e8 d3 50 ff ff       	call   10040f940 <.text+0xe940>
10041a86d:	49 8b 4e 08          	mov    0x8(%r14),%rcx
10041a871:	e8 ca 50 ff ff       	call   10040f940 <.text+0xe940>
10041a876:	49 8b 4e 10          	mov    0x10(%r14),%rcx
10041a87a:	e8 c1 50 ff ff       	call   10040f940 <.text+0xe940>
10041a87f:	49 8b 4e 18          	mov    0x18(%r14),%rcx
10041a883:	e8 b8 50 ff ff       	call   10040f940 <.text+0xe940>
10041a888:	4c 89 f1             	mov    %r14,%rcx
10041a88b:	e8 b0 50 ff ff       	call   10040f940 <.text+0xe940>
10041a890:	48 8b 44 24 38       	mov    0x38(%rsp),%rax
10041a895:	48 83 c4 70          	add    $0x70,%rsp
10041a899:	5b                   	pop    %rbx
10041a89a:	5e                   	pop    %rsi
10041a89b:	5f                   	pop    %rdi
10041a89c:	41 5c                	pop    %r12
10041a89e:	41 5d                	pop    %r13
10041a8a0:	41 5e                	pop    %r14
10041a8a2:	41 5f                	pop    %r15
10041a8a4:	c3                   	ret
10041a8a5:	0f 1f 00             	nopl   (%rax)
10041a8a8:	4c 89 e9             	mov    %r13,%rcx
10041a8ab:	89 44 24 38          	mov    %eax,0x38(%rsp)
10041a8af:	e8 8c 50 ff ff       	call   10040f940 <.text+0xe940>
10041a8b4:	49 8b 0e             	mov    (%r14),%rcx
10041a8b7:	e8 84 50 ff ff       	call   10040f940 <.text+0xe940>
10041a8bc:	49 8b 4e 08          	mov    0x8(%r14),%rcx
10041a8c0:	e8 7b 50 ff ff       	call   10040f940 <.text+0xe940>
10041a8c5:	49 8b 4e 10          	mov    0x10(%r14),%rcx
10041a8c9:	e8 72 50 ff ff       	call   10040f940 <.text+0xe940>
10041a8ce:	49 8b 4e 18          	mov    0x18(%r14),%rcx
10041a8d2:	e8 69 50 ff ff       	call   10040f940 <.text+0xe940>
10041a8d7:	4c 89 f1             	mov    %r14,%rcx
10041a8da:	e8 61 50 ff ff       	call   10040f940 <.text+0xe940>
10041a8df:	8b 44 24 38          	mov    0x38(%rsp),%eax
10041a8e3:	48 8b bc 24 d8 00 00 	mov    0xd8(%rsp),%rdi
10041a8ea:	00
10041a8eb:	89 07                	mov    %eax,(%rdi)
10041a8ed:	31 c0                	xor    %eax,%eax
10041a8ef:	e9 78 fe ff ff       	jmp    10041a76c <.text+0x1976c>
10041a8f4:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
10041a8fb:	00 00 00 00
10041a8ff:	90                   	nop
10041a900:	41 57                	push   %r15
10041a902:	41 56                	push   %r14
10041a904:	41 55                	push   %r13
10041a906:	41 54                	push   %r12
10041a908:	55                   	push   %rbp
10041a909:	57                   	push   %rdi
10041a90a:	56                   	push   %rsi
10041a90b:	53                   	push   %rbx
10041a90c:	48 81 ec c8 02 00 00 	sub    $0x2c8,%rsp
10041a913:	31 c0                	xor    %eax,%eax
10041a915:	48 8b 9c 24 30 03 00 	mov    0x330(%rsp),%rbx
10041a91c:	00
10041a91d:	4c 8d b4 24 c0 01 00 	lea    0x1c0(%rsp),%r14
10041a924:	00
10041a925:	48 89 8c 24 10 03 00 	mov    %rcx,0x310(%rsp)
10041a92c:	00
10041a92d:	4c 89 ce             	mov    %r9,%rsi
10041a930:	48 89 94 24 18 03 00 	mov    %rdx,0x318(%rsp)
10041a937:	00
10041a938:	4c 89 f7             	mov    %r14,%rdi
10041a93b:	48 8b 11             	mov    (%rcx),%rdx
10041a93e:	b9 20 00 00 00       	mov    $0x20,%ecx
10041a943:	f3 48 ab             	rep stos %rax,%es:(%rdi)
10041a946:	48 8b 8c 24 10 03 00 	mov    0x310(%rsp),%rcx
10041a94d:	00
10041a94e:	4c 89 84 24 20 03 00 	mov    %r8,0x320(%rsp)
10041a955:	00
10041a956:	48 89 54 24 48       	mov    %rdx,0x48(%rsp)
10041a95b:	48 8b 79 20          	mov    0x20(%rcx),%rdi
10041a95f:	48 89 94 24 58 02 00 	mov    %rdx,0x258(%rsp)
10041a966:	00
10041a967:	48 89 7c 24 68       	mov    %rdi,0x68(%rsp)
10041a96c:	48 85 ff             	test   %rdi,%rdi
10041a96f:	74 22                	je     10041a993 <.text+0x19993>
10041a971:	0f b6 51 38          	movzbl 0x38(%rcx),%edx
10041a975:	f6 c2 08             	test   $0x8,%dl
10041a978:	0f 84 6a 05 00 00    	je     10041aee8 <.text+0x19ee8>
10041a97e:	49 39 d9             	cmp    %rbx,%r9
10041a981:	0f 84 61 05 00 00    	je     10041aee8 <.text+0x19ee8>
10041a987:	83 e2 01             	and    $0x1,%edx
10041a98a:	48 0f 44 c7          	cmove  %rdi,%rax
10041a98e:	48 89 44 24 68       	mov    %rax,0x68(%rsp)
10041a993:	48 8b 84 24 10 03 00 	mov    0x310(%rsp),%rax
10041a99a:	00
10041a99b:	48 c7 84 24 98 00 00 	movq   $0x0,0x98(%rsp)
10041a9a2:	00 00 00 00 00
10041a9a7:	48 8b 40 28          	mov    0x28(%rax),%rax
10041a9ab:	48 89 84 24 80 00 00 	mov    %rax,0x80(%rsp)
10041a9b2:	00
10041a9b3:	48 8b 84 24 10 03 00 	mov    0x310(%rsp),%rax
10041a9ba:	00
10041a9bb:	48 8b 40 30          	mov    0x30(%rax),%rax
10041a9bf:	48 3b 84 24 40 03 00 	cmp    0x340(%rsp),%rax
10041a9c6:	00
10041a9c7:	73 25                	jae    10041a9ee <.text+0x199ee>
10041a9c9:	48 8b bc 24 40 03 00 	mov    0x340(%rsp),%rdi
10041a9d0:	00
10041a9d1:	48 8d 57 ff          	lea    -0x1(%rdi),%rdx
10041a9d5:	48 89 d1             	mov    %rdx,%rcx
10041a9d8:	48 29 c1             	sub    %rax,%rcx
10041a9db:	48 29 d0             	sub    %rdx,%rax
10041a9de:	48 01 84 24 40 03 00 	add    %rax,0x340(%rsp)
10041a9e5:	00
10041a9e6:	48 89 8c 24 98 00 00 	mov    %rcx,0x98(%rsp)
10041a9ed:	00
10041a9ee:	48 8b 84 24 10 03 00 	mov    0x310(%rsp),%rax
10041a9f5:	00
10041a9f6:	48 83 78 10 00       	cmpq   $0x0,0x10(%rax)
10041a9fb:	0f 84 0f 0e 00 00    	je     10041b810 <.text+0x1a810>
10041aa01:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
10041aa06:	48 8b 47 48          	mov    0x48(%rdi),%rax
10041aa0a:	48 85 c0             	test   %rax,%rax
10041aa0d:	0f 84 fd 0d 00 00    	je     10041b810 <.text+0x1a810>
10041aa13:	48 8b 57 50          	mov    0x50(%rdi),%rdx
10041aa17:	48 85 d2             	test   %rdx,%rdx
10041aa1a:	0f 84 f0 0d 00 00    	je     10041b810 <.text+0x1a810>
10041aa20:	48 8b 4f 58          	mov    0x58(%rdi),%rcx
10041aa24:	48 85 c9             	test   %rcx,%rcx
10041aa27:	0f 84 e3 0d 00 00    	je     10041b810 <.text+0x1a810>
10041aa2d:	48 83 7f 60 00       	cmpq   $0x0,0x60(%rdi)
10041aa32:	0f 84 d8 0d 00 00    	je     10041b810 <.text+0x1a810>
10041aa38:	48 83 78 10 00       	cmpq   $0x0,0x10(%rax)
10041aa3d:	75 39                	jne    10041aa78 <.text+0x19a78>
10041aa3f:	48 83 7a 10 00       	cmpq   $0x0,0x10(%rdx)
10041aa44:	75 32                	jne    10041aa78 <.text+0x19a78>
10041aa46:	48 83 79 10 00       	cmpq   $0x0,0x10(%rcx)
10041aa4b:	74 0e                	je     10041aa5b <.text+0x19a5b>
10041aa4d:	48 8b 84 24 10 03 00 	mov    0x310(%rsp),%rax
10041aa54:	00
10041aa55:	80 78 38 00          	cmpb   $0x0,0x38(%rax)
10041aa59:	78 1d                	js     10041aa78 <.text+0x19a78>
10041aa5b:	48 85 f6             	test   %rsi,%rsi
10041aa5e:	74 11                	je     10041aa71 <.text+0x19a71>
10041aa60:	c7 44 24 5c 01 00 00 	movl   $0x1,0x5c(%rsp)
10041aa67:	00
10041aa68:	48 85 db             	test   %rbx,%rbx
10041aa6b:	0f 85 ea 08 00 00    	jne    10041b35b <.text+0x1a35b>
10041aa71:	31 db                	xor    %ebx,%ebx
10041aa73:	31 f6                	xor    %esi,%esi
10041aa75:	0f 1f 00             	nopl   (%rax)
10041aa78:	48 83 bc 24 40 03 00 	cmpq   $0x0,0x340(%rsp)
10041aa7f:	00 00
10041aa81:	c7 44 24 50 01 00 00 	movl   $0x1,0x50(%rsp)
10041aa88:	00
10041aa89:	0f 84 38 04 00 00    	je     10041aec7 <.text+0x19ec7>
10041aa8f:	48 8b 84 24 10 03 00 	mov    0x310(%rsp),%rax
10041aa96:	00
10041aa97:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
10041aa9c:	4c 8b 94 24 80 00 00 	mov    0x80(%rsp),%r10
10041aaa3:	00
10041aaa4:	48 8b 40 18          	mov    0x18(%rax),%rax
10041aaa8:	48 63 97 b4 00 00 00 	movslq 0xb4(%rdi),%rdx
10041aaaf:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
10041aab4:	48 8b 47 10          	mov    0x10(%rdi),%rax
10041aab8:	48 89 d1             	mov    %rdx,%rcx
10041aabb:	89 8c 24 50 02 00 00 	mov    %ecx,0x250(%rsp)
10041aac2:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
10041aac7:	48 83 c0 01          	add    $0x1,%rax
10041aacb:	48 39 d0             	cmp    %rdx,%rax
10041aace:	4c 89 94 24 38 02 00 	mov    %r10,0x238(%rsp)
10041aad5:	00
10041aad6:	48 0f 4c c2          	cmovl  %rdx,%rax
10041aada:	48 8b 94 24 20 03 00 	mov    0x320(%rsp),%rdx
10041aae1:	00
10041aae2:	48 83 c2 01          	add    $0x1,%rdx
10041aae6:	48 39 d0             	cmp    %rdx,%rax
10041aae9:	48 0f 4e d0          	cmovle %rax,%rdx
10041aaed:	48 8b 84 24 18 03 00 	mov    0x318(%rsp),%rax
10041aaf4:	00
10041aaf5:	48 89 84 24 c0 01 00 	mov    %rax,0x1c0(%rsp)
10041aafc:	00
10041aafd:	48 8b 84 24 20 03 00 	mov    0x320(%rsp),%rax
10041ab04:	00
10041ab05:	48 89 84 24 18 02 00 	mov    %rax,0x218(%rsp)
10041ab0c:	00
10041ab0d:	48 89 84 24 10 02 00 	mov    %rax,0x210(%rsp)
10041ab14:	00
10041ab15:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
10041ab1a:	25 00 00 40 00       	and    $0x400000,%eax
10041ab1f:	0f 95 84 24 48 02 00 	setne  0x248(%rsp)
10041ab26:	00
10041ab27:	4c 09 d0             	or     %r10,%rax
10041ab2a:	0f b6 87 b0 00 00 00 	movzbl 0xb0(%rdi),%eax
10041ab31:	0f 95 84 24 4b 02 00 	setne  0x24b(%rsp)
10041ab38:	00
10041ab39:	89 c1                	mov    %eax,%ecx
10041ab3b:	c0 e8 03             	shr    $0x3,%al
10041ab3e:	83 e0 01             	and    $0x1,%eax
10041ab41:	c0 e9 02             	shr    $0x2,%cl
10041ab44:	88 84 24 4a 02 00 00 	mov    %al,0x24a(%rsp)
10041ab4b:	83 e1 01             	and    $0x1,%ecx
10041ab4e:	48 8b 84 24 20 03 00 	mov    0x320(%rsp),%rax
10041ab55:	00
10041ab56:	88 8c 24 49 02 00 00 	mov    %cl,0x249(%rsp)
10041ab5d:	4c 89 f1             	mov    %r14,%rcx
10041ab60:	48 89 84 24 28 02 00 	mov    %rax,0x228(%rsp)
10041ab67:	00
10041ab68:	48 89 84 24 20 02 00 	mov    %rax,0x220(%rsp)
10041ab6f:	00
10041ab70:	e8 ab 7b ff ff       	call   100412720 <.text+0x11720>
10041ab75:	89 44 24 5c          	mov    %eax,0x5c(%rsp)
10041ab79:	85 c0                	test   %eax,%eax
10041ab7b:	0f 85 7a 10 00 00    	jne    10041bbfb <.text+0x1abfb>
10041ab81:	48 8b 4c 24 48       	mov    0x48(%rsp),%rcx
10041ab86:	48 8d 81 b8 00 00 00 	lea    0xb8(%rcx),%rax
10041ab8d:	48 89 84 24 40 02 00 	mov    %rax,0x240(%rsp)
10041ab94:	00
10041ab95:	0f b6 81 b0 00 00 00 	movzbl 0xb0(%rcx),%eax
10041ab9c:	88 44 24 30          	mov    %al,0x30(%rsp)
10041aba0:	c0 e8 04             	shr    $0x4,%al
10041aba3:	83 e0 01             	and    $0x1,%eax
10041aba6:	80 bc 24 4b 02 00 00 	cmpb   $0x0,0x24b(%rsp)
10041abad:	00
10041abae:	88 84 24 4e 02 00 00 	mov    %al,0x24e(%rsp)
10041abb5:	75 26                	jne    10041abdd <.text+0x19bdd>
10041abb7:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
10041abbc:	48 8b 84 24 18 03 00 	mov    0x318(%rsp),%rax
10041abc3:	00
10041abc4:	83 bf b4 00 00 00 01 	cmpl   $0x1,0xb4(%rdi)
10041abcb:	48 89 84 24 c8 01 00 	mov    %rax,0x1c8(%rsp)
10041abd2:	00
10041abd3:	48 8b 84 24 20 03 00 	mov    0x320(%rsp),%rax
10041abda:	00
10041abdb:	7e 02                	jle    10041abdf <.text+0x19bdf>
10041abdd:	31 c0                	xor    %eax,%eax
10041abdf:	48 89 84 24 f0 01 00 	mov    %rax,0x1f0(%rsp)
10041abe6:	00
10041abe7:	48 89 84 24 f8 01 00 	mov    %rax,0x1f8(%rsp)
10041abee:	00
10041abef:	48 8b 84 24 38 03 00 	mov    0x338(%rsp),%rax
10041abf6:	00
10041abf7:	48 89 84 24 28 02 00 	mov    %rax,0x228(%rsp)
10041abfe:	00
10041abff:	48 89 84 24 20 02 00 	mov    %rax,0x220(%rsp)
10041ac06:	00
10041ac07:	48 8b 84 24 10 03 00 	mov    0x310(%rsp),%rax
10041ac0e:	00
10041ac0f:	0f b6 40 38          	movzbl 0x38(%rax),%eax
10041ac13:	88 44 24 30          	mov    %al,0x30(%rsp)
10041ac17:	c0 e8 07             	shr    $0x7,%al
10041ac1a:	88 84 24 4d 02 00 00 	mov    %al,0x24d(%rsp)
10041ac21:	48 8b 44 24 48       	mov    0x48(%rsp),%rax
10041ac26:	48 8b a8 98 00 00 00 	mov    0x98(%rax),%rbp
10041ac2d:	8b 84 24 50 03 00 00 	mov    0x350(%rsp),%eax
10041ac34:	48 c7 84 24 68 02 00 	movq   $0xffffffffffffffff,0x268(%rsp)
10041ac3b:	00 ff ff ff ff
10041ac40:	48 8d 7c 2d 00       	lea    0x0(%rbp,%rbp,1),%rdi
10041ac45:	89 84 24 60 02 00 00 	mov    %eax,0x260(%rsp)
10041ac4c:	48 85 ff             	test   %rdi,%rdi
10041ac4f:	7e 51                	jle    10041aca2 <.text+0x19ca2>
10041ac51:	48 b8 55 55 55 55 55 	movabs $0x555555555555555,%rax
10041ac58:	55 55 05
10041ac5b:	48 39 c7             	cmp    %rax,%rdi
10041ac5e:	0f 8f f9 0b 00 00    	jg     10041b85d <.text+0x1a85d>
10041ac64:	48 8d 0c af          	lea    (%rdi,%rbp,4),%rcx
10041ac68:	48 c1 e1 04          	shl    $0x4,%rcx
10041ac6c:	e8 ef 6c 00 00       	call   100421960 <.text+0x20960>
10041ac71:	48 89 e9             	mov    %rbp,%rcx
10041ac74:	48 c1 e1 04          	shl    $0x4,%rcx
10041ac78:	48 89 84 24 98 02 00 	mov    %rax,0x298(%rsp)
10041ac7f:	00
10041ac80:	49 89 c4             	mov    %rax,%r12
10041ac83:	e8 d8 6c 00 00       	call   100421960 <.text+0x20960>
10041ac88:	48 89 84 24 b8 02 00 	mov    %rax,0x2b8(%rsp)
10041ac8f:	00
10041ac90:	4d 85 e4             	test   %r12,%r12
10041ac93:	0f 84 c4 0b 00 00    	je     10041b85d <.text+0x1a85d>
10041ac99:	48 85 c0             	test   %rax,%rax
10041ac9c:	0f 84 bb 0b 00 00    	je     10041b85d <.text+0x1a85d>
10041aca2:	48 83 bc 24 40 03 00 	cmpq   $0x1,0x340(%rsp)
10041aca9:	00 01
10041acab:	48 89 bc 24 90 02 00 	mov    %rdi,0x290(%rsp)
10041acb2:	00
10041acb3:	c7 84 24 a0 02 00 00 	movl   $0x1,0x2a0(%rsp)
10041acba:	01 00 00 00
10041acbe:	48 89 bc 24 b0 02 00 	mov    %rdi,0x2b0(%rsp)
10041acc5:	00
10041acc6:	0f 86 75 0f 00 00    	jbe    10041bc41 <.text+0x1ac41>
10041accc:	48 8b 84 24 00 02 00 	mov    0x200(%rsp),%rax