140037ba0:	83 fa ff             	cmp    $0xffffffff,%edx
140037ba3:	0f 45 c2             	cmovne %edx,%eax
140037ba6:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140037bab:	48 83 c4 20          	add    $0x20,%rsp
140037baf:	5f                   	pop    %rdi
140037bb0:	c3                   	ret
140037bb1:	48 8b 97 80 00 00 00 	mov    0x80(%rdi),%rdx
140037bb8:	48 85 d2             	test   %rdx,%rdx
140037bbb:	74 3d                	je     0x140037bfa
140037bbd:	83 fb ff             	cmp    $0xffffffff,%ebx
140037bc0:	74 38                	je     0x140037bfa
140037bc2:	48 83 7f 68 00       	cmpq   $0x0,0x68(%rdi)
140037bc7:	75 0d                	jne    0x140037bd6
140037bc9:	0f b6 cb             	movzbl %bl,%ecx
140037bcc:	e8 47 e3 fe ff       	call   0x140025f18
140037bd1:	83 f8 ff             	cmp    $0xffffffff,%eax
140037bd4:	75 17                	jne    0x140037bed
140037bd6:	48 8b 47 38          	mov    0x38(%rdi),%rax
140037bda:	48 8d 4f 70          	lea    0x70(%rdi),%rcx
140037bde:	48 39 08             	cmp    %rcx,(%rax)
140037be1:	74 17                	je     0x140037bfa
140037be3:	88 19                	mov    %bl,(%rcx)
140037be5:	48 8b cf             	mov    %rdi,%rcx
140037be8:	e8 a3 e9 ff ff       	call   0x140036590
140037bed:	8b c3                	mov    %ebx,%eax
140037bef:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140037bf4:	48 83 c4 20          	add    $0x20,%rsp
140037bf8:	5f                   	pop    %rdi
140037bf9:	c3                   	ret
140037bfa:	83 c8 ff             	or     $0xffffffff,%eax
140037bfd:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140037c02:	48 83 c4 20          	add    $0x20,%rsp
140037c06:	5f                   	pop    %rdi
140037c07:	c3                   	ret
140037c08:	cc                   	int3
140037c09:	cc                   	int3
140037c0a:	cc                   	int3
140037c0b:	cc                   	int3
140037c0c:	cc                   	int3
140037c0d:	cc                   	int3
140037c0e:	cc                   	int3
140037c0f:	cc                   	int3
140037c10:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140037c15:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140037c1a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140037c1f:	57                   	push   %rdi
140037c20:	48 83 ec 20          	sub    $0x20,%rsp
140037c24:	33 ff                	xor    %edi,%edi
140037c26:	48 8b d9             	mov    %rcx,%rbx
140037c29:	48 89 79 08          	mov    %rdi,0x8(%rcx)
140037c2d:	49 8b f0             	mov    %r8,%rsi
140037c30:	48 8b 01             	mov    (%rcx),%rax
140037c33:	48 8b ea             	mov    %rdx,%rbp
140037c36:	4c 63 48 04          	movslq 0x4(%rax),%r9
140037c3a:	49 8b 4c 09 48       	mov    0x48(%r9,%rcx,1),%rcx
140037c3f:	48 85 c9             	test   %rcx,%rcx
140037c42:	74 06                	je     0x140037c4a
140037c44:	48 8b 01             	mov    (%rcx),%rax
140037c47:	ff 50 08             	call   *0x8(%rax)
140037c4a:	48 8b 03             	mov    (%rbx),%rax
140037c4d:	48 63 48 04          	movslq 0x4(%rax),%rcx
140037c51:	48 03 cb             	add    %rbx,%rcx
140037c54:	39 79 10             	cmp    %edi,0x10(%rcx)
140037c57:	75 43                	jne    0x140037c9c
140037c59:	48 8b 49 50          	mov    0x50(%rcx),%rcx
140037c5d:	48 85 c9             	test   %rcx,%rcx
140037c60:	74 05                	je     0x140037c67
140037c62:	e8 19 f6 ff ff       	call   0x140037280
140037c67:	48 8b 03             	mov    (%rbx),%rax
140037c6a:	48 63 48 04          	movslq 0x4(%rax),%rcx
140037c6e:	48 03 cb             	add    %rbx,%rcx
140037c71:	39 79 10             	cmp    %edi,0x10(%rcx)
140037c74:	75 26                	jne    0x140037c9c
140037c76:	48 85 f6             	test   %rsi,%rsi
140037c79:	7e 38                	jle    0x140037cb3
140037c7b:	48 8b 49 48          	mov    0x48(%rcx),%rcx
140037c7f:	4c 8b c6             	mov    %rsi,%r8
140037c82:	48 8b d5             	mov    %rbp,%rdx
140037c85:	48 8b 01             	mov    (%rcx),%rax
140037c88:	ff 50 40             	call   *0x40(%rax)
140037c8b:	48 01 43 08          	add    %rax,0x8(%rbx)
140037c8f:	b9 03 00 00 00       	mov    $0x3,%ecx
140037c94:	48 3b c6             	cmp    %rsi,%rax
140037c97:	0f 45 f9             	cmovne %ecx,%edi
140037c9a:	eb 17                	jmp    0x140037cb3
140037c9c:	8b 51 10             	mov    0x10(%rcx),%edx
140037c9f:	83 ca 02             	or     $0x2,%edx
140037ca2:	48 39 79 48          	cmp    %rdi,0x48(%rcx)
140037ca6:	75 03                	jne    0x140037cab
140037ca8:	83 ca 04             	or     $0x4,%edx
140037cab:	45 33 c0             	xor    %r8d,%r8d
140037cae:	e8 4d ef ff ff       	call   0x140036c00
140037cb3:	48 8b 03             	mov    (%rbx),%rax
140037cb6:	48 63 48 04          	movslq 0x4(%rax),%rcx
140037cba:	48 03 cb             	add    %rbx,%rcx
140037cbd:	85 ff                	test   %edi,%edi
140037cbf:	74 17                	je     0x140037cd8
140037cc1:	8b 51 10             	mov    0x10(%rcx),%edx
140037cc4:	0b d7                	or     %edi,%edx
140037cc6:	48 83 79 48 00       	cmpq   $0x0,0x48(%rcx)
140037ccb:	75 03                	jne    0x140037cd0
140037ccd:	83 ca 04             	or     $0x4,%edx
140037cd0:	45 33 c0             	xor    %r8d,%r8d
140037cd3:	e8 28 ef ff ff       	call   0x140036c00
140037cd8:	48 8b 03             	mov    (%rbx),%rax
140037cdb:	48 63 48 04          	movslq 0x4(%rax),%rcx
140037cdf:	48 8b 4c 19 48       	mov    0x48(%rcx,%rbx,1),%rcx
140037ce4:	48 85 c9             	test   %rcx,%rcx
140037ce7:	74 06                	je     0x140037cef
140037ce9:	48 8b 01             	mov    (%rcx),%rax
140037cec:	ff 50 10             	call   *0x10(%rax)
140037cef:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
140037cf4:	48 8b c3             	mov    %rbx,%rax
140037cf7:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140037cfc:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140037d01:	48 83 c4 20          	add    $0x20,%rsp
140037d05:	5f                   	pop    %rdi
140037d06:	c3                   	ret
140037d07:	cc                   	int3
140037d08:	cc                   	int3
140037d09:	cc                   	int3
140037d0a:	cc                   	int3
140037d0b:	cc                   	int3
140037d0c:	cc                   	int3
140037d0d:	cc                   	int3
140037d0e:	cc                   	int3
140037d0f:	cc                   	int3
140037d10:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140037d15:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140037d1a:	57                   	push   %rdi
140037d1b:	48 83 ec 50          	sub    $0x50,%rsp
140037d1f:	48 8b 01             	mov    (%rcx),%rax
140037d22:	48 8b d9             	mov    %rcx,%rbx
140037d25:	48 8b f2             	mov    %rdx,%rsi
140037d28:	41 8b f8             	mov    %r8d,%edi
140037d2b:	48 63 48 04          	movslq 0x4(%rax),%rcx
140037d2f:	48 03 cb             	add    %rbx,%rcx
140037d32:	8b 51 10             	mov    0x10(%rcx),%edx
140037d35:	83 e2 fe             	and    $0xfffffffe,%edx
140037d38:	48 83 79 48 00       	cmpq   $0x0,0x48(%rcx)
140037d3d:	75 03                	jne    0x140037d42
140037d3f:	83 ca 04             	or     $0x4,%edx
140037d42:	45 33 c0             	xor    %r8d,%r8d
140037d45:	e8 b6 ee ff ff       	call   0x140036c00
140037d4a:	48 8b 03             	mov    (%rbx),%rax
140037d4d:	48 63 48 04          	movslq 0x4(%rax),%rcx
140037d51:	48 8b 4c 19 48       	mov    0x48(%rcx,%rbx,1),%rcx
140037d56:	48 85 c9             	test   %rcx,%rcx
140037d59:	74 06                	je     0x140037d61
140037d5b:	48 8b 01             	mov    (%rcx),%rax
140037d5e:	ff 50 08             	call   *0x8(%rax)
140037d61:	48 8b 03             	mov    (%rbx),%rax
140037d64:	48 63 48 04          	movslq 0x4(%rax),%rcx
140037d68:	48 03 cb             	add    %rbx,%rcx
140037d6b:	83 79 10 00          	cmpl   $0x0,0x10(%rcx)
140037d6f:	75 1e                	jne    0x140037d8f
140037d71:	48 8b 49 50          	mov    0x50(%rcx),%rcx
140037d75:	48 85 c9             	test   %rcx,%rcx
140037d78:	74 05                	je     0x140037d7f
140037d7a:	e8 01 f5 ff ff       	call   0x140037280
140037d7f:	48 8b 03             	mov    (%rbx),%rax
140037d82:	48 63 48 04          	movslq 0x4(%rax),%rcx
140037d86:	48 03 cb             	add    %rbx,%rcx
140037d89:	83 79 10 00          	cmpl   $0x0,0x10(%rcx)
140037d8d:	74 18                	je     0x140037da7
140037d8f:	8b 51 10             	mov    0x10(%rcx),%edx
140037d92:	83 ca 02             	or     $0x2,%edx
140037d95:	48 83 79 48 00       	cmpq   $0x0,0x48(%rcx)
140037d9a:	75 03                	jne    0x140037d9f
140037d9c:	83 ca 04             	or     $0x4,%edx
140037d9f:	45 33 c0             	xor    %r8d,%r8d
140037da2:	e8 59 ee ff ff       	call   0x140036c00
140037da7:	48 8b 03             	mov    (%rbx),%rax
140037daa:	48 63 48 04          	movslq 0x4(%rax),%rcx
140037dae:	f6 44 19 10 06       	testb  $0x6,0x10(%rcx,%rbx,1)
140037db3:	75 53                	jne    0x140037e08
140037db5:	48 8b 4c 19 48       	mov    0x48(%rcx,%rbx,1),%rcx
140037dba:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
140037dbf:	44 8b cf             	mov    %edi,%r9d
140037dc2:	c7 44 24 20 01 00 00 	movl   $0x1,0x20(%rsp)
140037dc9:	00
140037dca:	4c 8b c6             	mov    %rsi,%r8
140037dcd:	48 8b 01             	mov    (%rcx),%rax
140037dd0:	ff 50 50             	call   *0x50(%rax)
140037dd3:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
140037dd8:	48 03 4c 24 30       	add    0x30(%rsp),%rcx
140037ddd:	48 3b 0d 84 fd 00 00 	cmp    0xfd84(%rip),%rcx        # 0x140047b68
140037de4:	75 22                	jne    0x140037e08
140037de6:	48 8b 03             	mov    (%rbx),%rax
140037de9:	48 63 48 04          	movslq 0x4(%rax),%rcx
140037ded:	48 03 cb             	add    %rbx,%rcx
140037df0:	8b 51 10             	mov    0x10(%rcx),%edx
140037df3:	83 ca 02             	or     $0x2,%edx
140037df6:	48 83 79 48 00       	cmpq   $0x0,0x48(%rcx)
140037dfb:	75 03                	jne    0x140037e00
140037dfd:	83 ca 04             	or     $0x4,%edx
140037e00:	45 33 c0             	xor    %r8d,%r8d
140037e03:	e8 f8 ed ff ff       	call   0x140036c00
140037e08:	48 8b 03             	mov    (%rbx),%rax
140037e0b:	48 63 48 04          	movslq 0x4(%rax),%rcx
140037e0f:	48 8b 4c 19 48       	mov    0x48(%rcx,%rbx,1),%rcx
140037e14:	48 85 c9             	test   %rcx,%rcx
140037e17:	74 06                	je     0x140037e1f
140037e19:	48 8b 01             	mov    (%rcx),%rax
140037e1c:	ff 50 10             	call   *0x10(%rax)
140037e1f:	48 8b 74 24 68       	mov    0x68(%rsp),%rsi
140037e24:	48 8b c3             	mov    %rbx,%rax
140037e27:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140037e2c:	48 83 c4 50          	add    $0x50,%rsp
140037e30:	5f                   	pop    %rdi
140037e31:	c3                   	ret
140037e32:	cc                   	int3
140037e33:	cc                   	int3
140037e34:	cc                   	int3
140037e35:	cc                   	int3
140037e36:	cc                   	int3
140037e37:	cc                   	int3
140037e38:	cc                   	int3
140037e39:	cc                   	int3
140037e3a:	cc                   	int3
140037e3b:	cc                   	int3
140037e3c:	cc                   	int3
140037e3d:	cc                   	int3
140037e3e:	cc                   	int3
140037e3f:	cc                   	int3
140037e40:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140037e45:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
140037e4a:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140037e4f:	57                   	push   %rdi
140037e50:	48 83 ec 20          	sub    $0x20,%rsp
140037e54:	4c 8b 51 38          	mov    0x38(%rcx),%r10
140037e58:	48 8d 41 70          	lea    0x70(%rcx),%rax
140037e5c:	41 8b e9             	mov    %r9d,%ebp
140037e5f:	49 8b f0             	mov    %r8,%rsi
140037e62:	48 8b da             	mov    %rdx,%rbx
140037e65:	48 8b f9             	mov    %rcx,%rdi
140037e68:	49 39 02             	cmp    %rax,(%r10)
140037e6b:	75 10                	jne    0x140037e7d
140037e6d:	41 83 f9 01          	cmp    $0x1,%r9d
140037e71:	75 0a                	jne    0x140037e7d
140037e73:	48 83 79 68 00       	cmpq   $0x0,0x68(%rcx)
140037e78:	75 03                	jne    0x140037e7d
140037e7a:	48 ff ce             	dec    %rsi
140037e7d:	48 83 b9 80 00 00 00 	cmpq   $0x0,0x80(%rcx)
140037e84:	00
140037e85:	74 5c                	je     0x140037ee3
140037e87:	e8 84 df ff ff       	call   0x140035e10
140037e8c:	84 c0                	test   %al,%al
140037e8e:	74 53                	je     0x140037ee3
140037e90:	48 85 f6             	test   %rsi,%rsi
140037e93:	75 05                	jne    0x140037e9a
140037e95:	83 fd 01             	cmp    $0x1,%ebp
140037e98:	74 16                	je     0x140037eb0
140037e9a:	48 8b 8f 80 00 00 00 	mov    0x80(%rdi),%rcx
140037ea1:	44 8b c5             	mov    %ebp,%r8d
140037ea4:	48 8b d6             	mov    %rsi,%rdx
140037ea7:	e8 2c 52 fe ff       	call   0x14001d0d8
140037eac:	85 c0                	test   %eax,%eax
140037eae:	75 33                	jne    0x140037ee3
140037eb0:	48 8b 8f 80 00 00 00 	mov    0x80(%rdi),%rcx
140037eb7:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
140037ebc:	e8 4b 1b 00 00       	call   0x140039a0c
140037ec1:	85 c0                	test   %eax,%eax
140037ec3:	75 1e                	jne    0x140037ee3
140037ec5:	48 8b cf             	mov    %rdi,%rcx
140037ec8:	e8 93 e6 ff ff       	call   0x140036560
140037ecd:	48 8b 47 74          	mov    0x74(%rdi),%rax
140037ed1:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
140037ed6:	48 89 4b 08          	mov    %rcx,0x8(%rbx)
140037eda:	48 c7 03 00 00 00 00 	movq   $0x0,(%rbx)
140037ee1:	eb 14                	jmp    0x140037ef7
140037ee3:	48 8b 05 7e fc 00 00 	mov    0xfc7e(%rip),%rax        # 0x140047b68
140037eea:	48 89 03             	mov    %rax,(%rbx)
140037eed:	33 c0                	xor    %eax,%eax
140037eef:	48 c7 43 08 00 00 00 	movq   $0x0,0x8(%rbx)
140037ef6:	00
140037ef7:	48 8b 6c 24 40       	mov    0x40(%rsp),%rbp
140037efc:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
140037f01:	48 89 43 10          	mov    %rax,0x10(%rbx)
140037f05:	48 8b c3             	mov    %rbx,%rax
140037f08:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140037f0d:	48 83 c4 20          	add    $0x20,%rsp
140037f11:	5f                   	pop    %rdi
140037f12:	c3                   	ret
140037f13:	cc                   	int3
140037f14:	cc                   	int3
140037f15:	cc                   	int3
140037f16:	cc                   	int3
140037f17:	cc                   	int3
140037f18:	cc                   	int3
140037f19:	cc                   	int3
140037f1a:	cc                   	int3
140037f1b:	cc                   	int3
140037f1c:	cc                   	int3
140037f1d:	cc                   	int3
140037f1e:	cc                   	int3
140037f1f:	cc                   	int3
140037f20:	48 8b 05 41 fc 00 00 	mov    0xfc41(%rip),%rax        # 0x140047b68
140037f27:	48 89 02             	mov    %rax,(%rdx)
140037f2a:	33 c0                	xor    %eax,%eax
140037f2c:	48 c7 42 08 00 00 00 	movq   $0x0,0x8(%rdx)
140037f33:	00
140037f34:	48 89 42 10          	mov    %rax,0x10(%rdx)
140037f38:	48 8b c2             	mov    %rdx,%rax
140037f3b:	c3                   	ret
140037f3c:	cc                   	int3
140037f3d:	cc                   	int3
140037f3e:	cc                   	int3
140037f3f:	cc                   	int3
140037f40:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140037f45:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140037f4a:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140037f4f:	41 56                	push   %r14
140037f51:	48 83 ec 20          	sub    $0x20,%rsp
140037f55:	48 83 b9 80 00 00 00 	cmpq   $0x0,0x80(%rcx)
140037f5c:	00
140037f5d:	4d 8b f0             	mov    %r8,%r14
140037f60:	49 8b 40 08          	mov    0x8(%r8),%rax
140037f64:	48 8b da             	mov    %rdx,%rbx
140037f67:	49 8b 30             	mov    (%r8),%rsi
140037f6a:	48 8b f9             	mov    %rcx,%rdi
140037f6d:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
140037f72:	74 75                	je     0x140037fe9
140037f74:	e8 97 de ff ff       	call   0x140035e10
140037f79:	84 c0                	test   %al,%al
140037f7b:	74 6c                	je     0x140037fe9
140037f7d:	48 8b 8f 80 00 00 00 	mov    0x80(%rdi),%rcx
140037f84:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
140037f89:	e8 ca 1a 00 00       	call   0x140039a58
140037f8e:	85 c0                	test   %eax,%eax
140037f90:	75 57                	jne    0x140037fe9
140037f92:	48 85 f6             	test   %rsi,%rsi
140037f95:	74 17                	je     0x140037fae
140037f97:	48 8b 8f 80 00 00 00 	mov    0x80(%rdi),%rcx
140037f9e:	44 8d 40 01          	lea    0x1(%rax),%r8d
140037fa2:	48 8b d6             	mov    %rsi,%rdx
140037fa5:	e8 2e 51 fe ff       	call   0x14001d0d8
140037faa:	85 c0                	test   %eax,%eax
140037fac:	75 3b                	jne    0x140037fe9
140037fae:	48 8b 8f 80 00 00 00 	mov    0x80(%rdi),%rcx
140037fb5:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
140037fba:	e8 4d 1a 00 00       	call   0x140039a0c
140037fbf:	85 c0                	test   %eax,%eax
140037fc1:	75 26                	jne    0x140037fe9
140037fc3:	49 8b 46 10          	mov    0x10(%r14),%rax
140037fc7:	48 8b cf             	mov    %rdi,%rcx
140037fca:	48 89 47 74          	mov    %rax,0x74(%rdi)
140037fce:	e8 8d e5 ff ff       	call   0x140036560
140037fd3:	48 8b 47 74          	mov    0x74(%rdi),%rax
140037fd7:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx