140523965:	56                   	push   %rsi
140523966:	41 56                	push   %r14
140523968:	41 57                	push   %r15
14052396a:	48 83 ec 20          	sub    $0x20,%rsp
14052396e:	48 8b 59 08          	mov    0x8(%rcx),%rbx
140523972:	45 33 ff             	xor    %r15d,%r15d
140523975:	48 89 7c 24 48       	mov    %rdi,0x48(%rsp)
14052397a:	44 8b f2             	mov    %edx,%r14d
14052397d:	48 8b f1             	mov    %rcx,%rsi
140523980:	48 85 db             	test   %rbx,%rbx
140523983:	74 21                	je     0x1405239a6
140523985:	48 8b 0b             	mov    (%rbx),%rcx
140523988:	48 85 c9             	test   %rcx,%rcx
14052398b:	74 05                	je     0x140523992
14052398d:	e8 b2 77 8f 00       	call   0x140e1b144
140523992:	ba 18 00 00 00       	mov    $0x18,%edx
140523997:	4c 89 3b             	mov    %r15,(%rbx)
14052399a:	48 8b cb             	mov    %rbx,%rcx
14052399d:	44 89 7b 08          	mov    %r15d,0x8(%rbx)
1405239a1:	e8 9e 77 8f 00       	call   0x140e1b144
1405239a6:	48 8b 5e 18          	mov    0x18(%rsi),%rbx
1405239aa:	4c 89 7e 08          	mov    %r15,0x8(%rsi)
1405239ae:	48 85 db             	test   %rbx,%rbx
1405239b1:	74 21                	je     0x1405239d4
1405239b3:	48 8b 0b             	mov    (%rbx),%rcx
1405239b6:	48 85 c9             	test   %rcx,%rcx
1405239b9:	74 05                	je     0x1405239c0
1405239bb:	e8 84 77 8f 00       	call   0x140e1b144
1405239c0:	ba 18 00 00 00       	mov    $0x18,%edx
1405239c5:	4c 89 3b             	mov    %r15,(%rbx)
1405239c8:	48 8b cb             	mov    %rbx,%rcx
1405239cb:	44 89 7b 08          	mov    %r15d,0x8(%rbx)
1405239cf:	e8 70 77 8f 00       	call   0x140e1b144
1405239d4:	48 8b 7e 10          	mov    0x10(%rsi),%rdi
1405239d8:	4c 89 7e 18          	mov    %r15,0x18(%rsi)
1405239dc:	48 85 ff             	test   %rdi,%rdi
1405239df:	74 48                	je     0x140523a29
1405239e1:	48 89 6c 24 40       	mov    %rbp,0x40(%rsp)
1405239e6:	48 8b 6f 08          	mov    0x8(%rdi),%rbp
1405239ea:	48 8b 3f             	mov    (%rdi),%rdi
1405239ed:	48 3b fd             	cmp    %rbp,%rdi
1405239f0:	74 32                	je     0x140523a24
1405239f2:	48 8b 1f             	mov    (%rdi),%rbx
1405239f5:	48 85 db             	test   %rbx,%rbx
1405239f8:	74 21                	je     0x140523a1b
1405239fa:	48 8b 0b             	mov    (%rbx),%rcx
1405239fd:	48 85 c9             	test   %rcx,%rcx
140523a00:	74 05                	je     0x140523a07
140523a02:	e8 3d 77 8f 00       	call   0x140e1b144
140523a07:	ba 18 00 00 00       	mov    $0x18,%edx
140523a0c:	4c 89 3b             	mov    %r15,(%rbx)
140523a0f:	48 8b cb             	mov    %rbx,%rcx
140523a12:	44 89 7b 08          	mov    %r15d,0x8(%rbx)
140523a16:	e8 29 77 8f 00       	call   0x140e1b144
140523a1b:	48 83 c7 08          	add    $0x8,%rdi
140523a1f:	48 3b fd             	cmp    %rbp,%rdi
140523a22:	75 ce                	jne    0x1405239f2
140523a24:	48 8b 6c 24 40       	mov    0x40(%rsp),%rbp
140523a29:	48 8b 5e 10          	mov    0x10(%rsi),%rbx
140523a2d:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
140523a32:	48 85 db             	test   %rbx,%rbx
140523a35:	74 51                	je     0x140523a88
140523a37:	48 8b 0b             	mov    (%rbx),%rcx
140523a3a:	48 85 c9             	test   %rcx,%rcx
140523a3d:	74 3c                	je     0x140523a7b
140523a3f:	48 8b 53 10          	mov    0x10(%rbx),%rdx
140523a43:	48 2b d1             	sub    %rcx,%rdx
140523a46:	48 83 e2 f8          	and    $0xfffffffffffffff8,%rdx
140523a4a:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140523a51:	72 18                	jb     0x140523a6b
140523a53:	4c 8b 41 f8          	mov    -0x8(%rcx),%r8
140523a57:	48 83 c2 27          	add    $0x27,%rdx
140523a5b:	49 2b c8             	sub    %r8,%rcx
140523a5e:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
140523a62:	48 83 f8 1f          	cmp    $0x1f,%rax
140523a66:	77 45                	ja     0x140523aad
140523a68:	49 8b c8             	mov    %r8,%rcx
140523a6b:	e8 d4 76 8f 00       	call   0x140e1b144
140523a70:	4c 89 3b             	mov    %r15,(%rbx)
140523a73:	4c 89 7b 08          	mov    %r15,0x8(%rbx)
140523a77:	4c 89 7b 10          	mov    %r15,0x10(%rbx)
140523a7b:	ba 18 00 00 00       	mov    $0x18,%edx
140523a80:	48 8b cb             	mov    %rbx,%rcx
140523a83:	e8 bc 76 8f 00       	call   0x140e1b144
140523a88:	41 f6 c6 01          	test   $0x1,%r14b
140523a8c:	74 0d                	je     0x140523a9b
140523a8e:	ba 28 00 00 00       	mov    $0x28,%edx
140523a93:	48 8b ce             	mov    %rsi,%rcx
140523a96:	e8 a9 76 8f 00       	call   0x140e1b144
140523a9b:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
140523aa0:	48 8b c6             	mov    %rsi,%rax
140523aa3:	48 83 c4 20          	add    $0x20,%rsp
140523aa7:	41 5f                	pop    %r15
140523aa9:	41 5e                	pop    %r14
140523aab:	5e                   	pop    %rsi
140523aac:	c3                   	ret
140523aad:	e8 f2 66 90 00       	call   0x140e2a1a4
140523ab2:	cc                   	int3
140523ab3:	cc                   	int3
140523ab4:	cc                   	int3
140523ab5:	cc                   	int3
140523ab6:	cc                   	int3
140523ab7:	cc                   	int3
140523ab8:	cc                   	int3
140523ab9:	cc                   	int3
140523aba:	cc                   	int3
140523abb:	cc                   	int3
140523abc:	cc                   	int3
140523abd:	cc                   	int3
140523abe:	cc                   	int3
140523abf:	cc                   	int3
140523ac0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140523ac5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140523aca:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140523acf:	57                   	push   %rdi
140523ad0:	48 83 ec 20          	sub    $0x20,%rsp
140523ad4:	8b ea                	mov    %edx,%ebp
140523ad6:	48 8b d9             	mov    %rcx,%rbx
140523ad9:	48 8d 05 68 75 ae 00 	lea    0xae7568(%rip),%rax        # 0x14100b048
140523ae0:	48 89 01             	mov    %rax,(%rcx)
140523ae3:	48 8b 49 20          	mov    0x20(%rcx),%rcx
140523ae7:	48 85 c9             	test   %rcx,%rcx
140523aea:	74 27                	je     0x140523b13
140523aec:	48 8b 01             	mov    (%rcx),%rax
140523aef:	48 8b 40 10          	mov    0x10(%rax),%rax
140523af3:	ff 15 27 ff a5 00    	call   *0xa5ff27(%rip)        # 0x140f83a20
140523af9:	48 8b 4b 20          	mov    0x20(%rbx),%rcx
140523afd:	48 85 c9             	test   %rcx,%rcx
140523b00:	74 11                	je     0x140523b13
140523b02:	48 8b 01             	mov    (%rcx),%rax
140523b05:	ba 01 00 00 00       	mov    $0x1,%edx
140523b0a:	48 8b 00             	mov    (%rax),%rax
140523b0d:	ff 15 0d ff a5 00    	call   *0xa5ff0d(%rip)        # 0x140f83a20
140523b13:	48 8b 4b 28          	mov    0x28(%rbx),%rcx
140523b17:	48 85 c9             	test   %rcx,%rcx
140523b1a:	74 27                	je     0x140523b43
140523b1c:	48 8b 01             	mov    (%rcx),%rax
140523b1f:	48 8b 40 10          	mov    0x10(%rax),%rax
140523b23:	ff 15 f7 fe a5 00    	call   *0xa5fef7(%rip)        # 0x140f83a20
140523b29:	48 8b 4b 28          	mov    0x28(%rbx),%rcx
140523b2d:	48 85 c9             	test   %rcx,%rcx
140523b30:	74 11                	je     0x140523b43
140523b32:	48 8b 01             	mov    (%rcx),%rax
140523b35:	ba 01 00 00 00       	mov    $0x1,%edx
140523b3a:	48 8b 00             	mov    (%rax),%rax
140523b3d:	ff 15 dd fe a5 00    	call   *0xa5fedd(%rip)        # 0x140f83a20
140523b43:	48 8b 4b 30          	mov    0x30(%rbx),%rcx
140523b47:	48 85 c9             	test   %rcx,%rcx
140523b4a:	74 27                	je     0x140523b73
140523b4c:	48 8b 01             	mov    (%rcx),%rax
140523b4f:	48 8b 40 10          	mov    0x10(%rax),%rax
140523b53:	ff 15 c7 fe a5 00    	call   *0xa5fec7(%rip)        # 0x140f83a20
140523b59:	48 8b 4b 30          	mov    0x30(%rbx),%rcx
140523b5d:	48 85 c9             	test   %rcx,%rcx
140523b60:	74 11                	je     0x140523b73
140523b62:	48 8b 01             	mov    (%rcx),%rax
140523b65:	ba 01 00 00 00       	mov    $0x1,%edx
140523b6a:	48 8b 00             	mov    (%rax),%rax
140523b6d:	ff 15 ad fe a5 00    	call   *0xa5fead(%rip)        # 0x140f83a20
140523b73:	48 8b 4b 38          	mov    0x38(%rbx),%rcx
140523b77:	48 85 c9             	test   %rcx,%rcx
140523b7a:	74 0a                	je     0x140523b86
140523b7c:	ba 01 00 00 00       	mov    $0x1,%edx
140523b81:	e8 9a 00 00 00       	call   0x140523c20
140523b86:	33 ff                	xor    %edi,%edi
140523b88:	48 89 7b 38          	mov    %rdi,0x38(%rbx)
140523b8c:	48 8b 4b 40          	mov    0x40(%rbx),%rcx
140523b90:	48 85 c9             	test   %rcx,%rcx
140523b93:	74 0a                	je     0x140523b9f
140523b95:	ba 01 00 00 00       	mov    $0x1,%edx
140523b9a:	e8 81 00 00 00       	call   0x140523c20
140523b9f:	48 89 7b 40          	mov    %rdi,0x40(%rbx)
140523ba3:	48 8b 43 08          	mov    0x8(%rbx),%rax
140523ba7:	48 8b 78 08          	mov    0x8(%rax),%rdi
140523bab:	80 7f 19 00          	cmpb   $0x0,0x19(%rdi)
140523baf:	75 27                	jne    0x140523bd8
140523bb1:	4c 8b 47 10          	mov    0x10(%rdi),%r8
140523bb5:	48 8d 53 08          	lea    0x8(%rbx),%rdx
140523bb9:	48 8d 4b 08          	lea    0x8(%rbx),%rcx
140523bbd:	e8 7e 24 f1 ff       	call   0x140436040
140523bc2:	48 8b cf             	mov    %rdi,%rcx
140523bc5:	48 8b 3f             	mov    (%rdi),%rdi
140523bc8:	ba 20 00 00 00       	mov    $0x20,%edx
140523bcd:	e8 72 75 8f 00       	call   0x140e1b144
140523bd2:	80 7f 19 00          	cmpb   $0x0,0x19(%rdi)
140523bd6:	74 d9                	je     0x140523bb1
140523bd8:	ba 20 00 00 00       	mov    $0x20,%edx
140523bdd:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140523be1:	e8 5e 75 8f 00       	call   0x140e1b144
140523be6:	48 8d 05 53 0f a8 00 	lea    0xa80f53(%rip),%rax        # 0x140fa4b40
140523bed:	48 89 03             	mov    %rax,(%rbx)
140523bf0:	40 f6 c5 01          	test   $0x1,%bpl
140523bf4:	74 0d                	je     0x140523c03
140523bf6:	ba 50 00 00 00       	mov    $0x50,%edx
140523bfb:	48 8b cb             	mov    %rbx,%rcx
140523bfe:	e8 41 75 8f 00       	call   0x140e1b144
140523c03:	48 8b c3             	mov    %rbx,%rax
140523c06:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140523c0b:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
140523c10:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140523c15:	48 83 c4 20          	add    $0x20,%rsp
140523c19:	5f                   	pop    %rdi
140523c1a:	c3                   	ret
140523c1b:	cc                   	int3
140523c1c:	cc                   	int3
140523c1d:	cc                   	int3
140523c1e:	cc                   	int3
140523c1f:	cc                   	int3
140523c20:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140523c25:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140523c2a:	57                   	push   %rdi
140523c2b:	48 83 ec 20          	sub    $0x20,%rsp
140523c2f:	48 8d 05 d2 74 ae 00 	lea    0xae74d2(%rip),%rax        # 0x14100b108
140523c36:	48 8b f9             	mov    %rcx,%rdi
140523c39:	48 89 01             	mov    %rax,(%rcx)
140523c3c:	8b f2                	mov    %edx,%esi
140523c3e:	48 8b 49 08          	mov    0x8(%rcx),%rcx
140523c42:	48 85 c9             	test   %rcx,%rcx
140523c45:	74 0a                	je     0x140523c51
140523c47:	ba 01 00 00 00       	mov    $0x1,%edx
140523c4c:	e8 8f 00 00 00       	call   0x140523ce0
140523c51:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
140523c55:	33 db                	xor    %ebx,%ebx
140523c57:	48 89 5f 08          	mov    %rbx,0x8(%rdi)
140523c5b:	48 85 c9             	test   %rcx,%rcx
140523c5e:	74 0a                	je     0x140523c6a
140523c60:	ba 18 00 00 00       	mov    $0x18,%edx
140523c65:	e8 da 74 8f 00       	call   0x140e1b144
140523c6a:	48 8b 4f 28          	mov    0x28(%rdi),%rcx
140523c6e:	48 89 5f 10          	mov    %rbx,0x10(%rdi)
140523c72:	48 85 c9             	test   %rcx,%rcx
140523c75:	74 11                	je     0x140523c88
140523c77:	48 8b 01             	mov    (%rcx),%rax
140523c7a:	ba 01 00 00 00       	mov    $0x1,%edx
140523c7f:	48 8b 00             	mov    (%rax),%rax
140523c82:	ff 15 98 fd a5 00    	call   *0xa5fd98(%rip)        # 0x140f83a20
140523c88:	48 89 5f 28          	mov    %rbx,0x28(%rdi)
140523c8c:	48 8d 57 18          	lea    0x18(%rdi),%rdx
140523c90:	4c 8b 47 18          	mov    0x18(%rdi),%r8
140523c94:	48 8d 4f 18          	lea    0x18(%rdi),%rcx
140523c98:	4d 8b 40 08          	mov    0x8(%r8),%r8
140523c9c:	e8 1f f4 ff ff       	call   0x1405230c0
140523ca1:	48 8b 4f 18          	mov    0x18(%rdi),%rcx
140523ca5:	ba 30 00 00 00       	mov    $0x30,%edx
140523caa:	e8 95 74 8f 00       	call   0x140e1b144
140523caf:	48 8d 05 a2 0e a8 00 	lea    0xa80ea2(%rip),%rax        # 0x140fa4b58
140523cb6:	48 89 07             	mov    %rax,(%rdi)
140523cb9:	40 f6 c6 01          	test   $0x1,%sil
140523cbd:	74 0d                	je     0x140523ccc
140523cbf:	ba 40 00 00 00       	mov    $0x40,%edx
140523cc4:	48 8b cf             	mov    %rdi,%rcx
140523cc7:	e8 78 74 8f 00       	call   0x140e1b144
140523ccc:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140523cd1:	48 8b c7             	mov    %rdi,%rax
140523cd4:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140523cd9:	48 83 c4 20          	add    $0x20,%rsp
140523cdd:	5f                   	pop    %rdi
140523cde:	c3                   	ret
140523cdf:	cc                   	int3
140523ce0:	40 53                	rex push %rbx
140523ce2:	48 83 ec 20          	sub    $0x20,%rsp
140523ce6:	48 89 6c 24 30       	mov    %rbp,0x30(%rsp)
140523ceb:	48 8b d9             	mov    %rcx,%rbx
140523cee:	48 89 7c 24 40       	mov    %rdi,0x40(%rsp)
140523cf3:	8b ea                	mov    %edx,%ebp
140523cf5:	48 8b 39             	mov    (%rcx),%rdi
140523cf8:	4c 89 74 24 48       	mov    %r14,0x48(%rsp)
140523cfd:	45 33 f6             	xor    %r14d,%r14d
140523d00:	48 85 ff             	test   %rdi,%rdi
140523d03:	74 24                	je     0x140523d29
140523d05:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
140523d09:	48 85 c9             	test   %rcx,%rcx
140523d0c:	74 0a                	je     0x140523d18
140523d0e:	ba 08 00 00 00       	mov    $0x8,%edx
140523d13:	e8 2c 74 8f 00       	call   0x140e1b144
140523d18:	ba 30 00 00 00       	mov    $0x30,%edx
140523d1d:	4c 89 77 08          	mov    %r14,0x8(%rdi)
140523d21:	48 8b cf             	mov    %rdi,%rcx
140523d24:	e8 1b 74 8f 00       	call   0x140e1b144
140523d29:	4c 89 33             	mov    %r14,(%rbx)
140523d2c:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140523d30:	48 85 c9             	test   %rcx,%rcx
140523d33:	74 05                	je     0x140523d3a
140523d35:	e8 0a 74 8f 00       	call   0x140e1b144
140523d3a:	4c 89 73 08          	mov    %r14,0x8(%rbx)
140523d3e:	44 89 73 10          	mov    %r14d,0x10(%rbx)
140523d42:	48 8b 7b 18          	mov    0x18(%rbx),%rdi
140523d46:	48 85 ff             	test   %rdi,%rdi
140523d49:	74 4d                	je     0x140523d98
140523d4b:	66 44 39 37          	cmp    %r14w,(%rdi)
140523d4f:	74 3a                	je     0x140523d8b
140523d51:	48 89 74 24 38       	mov    %rsi,0x38(%rsp)
140523d56:	48 8b 77 08          	mov    0x8(%rdi),%rsi
140523d5a:	48 85 f6             	test   %rsi,%rsi
140523d5d:	74 23                	je     0x140523d82
140523d5f:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
140523d63:	48 85 c9             	test   %rcx,%rcx
140523d66:	74 05                	je     0x140523d6d
140523d68:	e8 d7 73 8f 00       	call   0x140e1b144
140523d6d:	ba 28 00 00 00       	mov    $0x28,%edx
140523d72:	4c 89 76 08          	mov    %r14,0x8(%rsi)
140523d76:	48 8b ce             	mov    %rsi,%rcx
140523d79:	44 89 76 10          	mov    %r14d,0x10(%rsi)
140523d7d:	e8 c2 73 8f 00       	call   0x140e1b144
140523d82:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140523d87:	4c 89 77 08          	mov    %r14,0x8(%rdi)
140523d8b:	ba 18 00 00 00       	mov    $0x18,%edx
140523d90:	48 8b cf             	mov    %rdi,%rcx
140523d93:	e8 ac 73 8f 00       	call   0x140e1b144
140523d98:	48 8b 7b 30          	mov    0x30(%rbx),%rdi
140523d9c:	4c 89 73 18          	mov    %r14,0x18(%rbx)
140523da0:	48 85 ff             	test   %rdi,%rdi
140523da3:	74 15                	je     0x140523dba
140523da5:	48 8b cf             	mov    %rdi,%rcx
140523da8:	e8 13 f7 ff ff       	call   0x1405234c0
140523dad:	ba 50 00 00 00       	mov    $0x50,%edx
140523db2:	48 8b cf             	mov    %rdi,%rcx
140523db5:	e8 8a 73 8f 00       	call   0x140e1b144
140523dba:	48 8b 7c 24 40       	mov    0x40(%rsp),%rdi
140523dbf:	40 f6 c5 01          	test   $0x1,%bpl
140523dc3:	48 8b 6c 24 30       	mov    0x30(%rsp),%rbp
140523dc8:	4c 89 73 30          	mov    %r14,0x30(%rbx)
140523dcc:	4c 8b 74 24 48       	mov    0x48(%rsp),%r14
140523dd1:	74 0d                	je     0x140523de0
140523dd3:	ba 48 00 00 00       	mov    $0x48,%edx
140523dd8:	48 8b cb             	mov    %rbx,%rcx
140523ddb:	e8 64 73 8f 00       	call   0x140e1b144
140523de0:	48 8b c3             	mov    %rbx,%rax
140523de3:	48 83 c4 20          	add    $0x20,%rsp
140523de7:	5b                   	pop    %rbx
140523de8:	c3                   	ret
140523de9:	cc                   	int3
140523dea:	cc                   	int3
140523deb:	cc                   	int3
140523dec:	cc                   	int3
140523ded:	cc                   	int3
140523dee:	cc                   	int3
140523def:	cc                   	int3
140523df0:	40 53                	rex push %rbx
140523df2:	48 83 ec 20          	sub    $0x20,%rsp
140523df6:	84 d2                	test   %dl,%dl
140523df8:	74 06                	je     0x140523e00
140523dfa:	48 8b 59 38          	mov    0x38(%rcx),%rbx
140523dfe:	eb 04                	jmp    0x140523e04
140523e00:	48 8b 59 40          	mov    0x40(%rcx),%rbx
140523e04:	48 8b 4b 28          	mov    0x28(%rbx),%rcx
140523e08:	e8 a3 ad 49 00       	call   0x1409bebb0
140523e0d:	45 33 c0             	xor    %r8d,%r8d
140523e10:	33 d2                	xor    %edx,%edx
140523e12:	48 8b cb             	mov    %rbx,%rcx