180058ae8:	74 06                	je     0x180058af0
180058aea:	48 83 c0 58          	add    $0x58,%rax
180058aee:	eb 08                	jmp    0x180058af8
180058af0:	48 8b 41 08          	mov    0x8(%rcx),%rax
180058af4:	48 83 c0 50          	add    $0x50,%rax
180058af8:	83 78 10 01          	cmpl   $0x1,0x10(%rax)
180058afc:	75 0a                	jne    0x180058b08
180058afe:	48 8b 41 08          	mov    0x8(%rcx),%rax
180058b02:	48 8b 48 70          	mov    0x70(%rax),%rcx
180058b06:	eb 0d                	jmp    0x180058b15
180058b08:	8a 49 2a             	mov    0x2a(%rcx),%cl
180058b0b:	b8 01 00 00 00       	mov    $0x1,%eax
180058b10:	48 d3 e0             	shl    %cl,%rax
180058b13:	8b c8                	mov    %eax,%ecx
180058b15:	48 8b 47 40          	mov    0x40(%rdi),%rax
180058b19:	48 85 c0             	test   %rax,%rax
180058b1c:	74 10                	je     0x180058b2e
180058b1e:	48 39 58 28          	cmp    %rbx,0x28(%rax)
180058b22:	74 0a                	je     0x180058b2e
180058b24:	bb bb 00 00 c0       	mov    $0xc00000bb,%ebx
180058b29:	e9 be 01 00 00       	jmp    0x180058cec
180058b2e:	48 8d 41 ff          	lea    -0x1(%rcx),%rax
180058b32:	48 23 c2             	and    %rdx,%rax
180058b35:	48 2b c8             	sub    %rax,%rcx
180058b38:	4c 3b f1             	cmp    %rcx,%r14
180058b3b:	76 0a                	jbe    0x180058b47
180058b3d:	bb 01 00 00 c0       	mov    $0xc0000001,%ebx
180058b42:	e9 a5 01 00 00       	jmp    0x180058cec
180058b47:	48 8b 07             	mov    (%rdi),%rax
180058b4a:	4c 8d 44 24 50       	lea    0x50(%rsp),%r8
180058b4f:	48 8b cf             	mov    %rdi,%rcx
180058b52:	48 8b 80 80 00 00 00 	mov    0x80(%rax),%rax
180058b59:	ff d0                	call   *%rax
180058b5b:	0f 1f 00             	nopl   (%rax)
180058b5e:	8a 57 2b             	mov    0x2b(%rdi),%dl
180058b61:	4c 8b f8             	mov    %rax,%r15
180058b64:	80 fa 01             	cmp    $0x1,%dl
180058b67:	75 1c                	jne    0x180058b85
180058b69:	48 8b 47 20          	mov    0x20(%rdi),%rax
180058b6d:	48 85 c0             	test   %rax,%rax
180058b70:	74 06                	je     0x180058b78
180058b72:	48 83 c0 58          	add    $0x58,%rax
180058b76:	eb 08                	jmp    0x180058b80
180058b78:	48 8b 47 08          	mov    0x8(%rdi),%rax
180058b7c:	48 83 c0 50          	add    $0x50,%rax
180058b80:	39 58 04             	cmp    %ebx,0x4(%rax)
180058b83:	74 4c                	je     0x180058bd1
180058b85:	80 3e 03             	cmpb   $0x3,(%rsi)
180058b88:	75 9a                	jne    0x180058b24
180058b8a:	8b 4e 0c             	mov    0xc(%rsi),%ecx
180058b8d:	83 cd ff             	or     $0xffffffff,%ebp
180058b90:	41 b8 01 00 00 00    	mov    $0x1,%r8d
180058b96:	3b cd                	cmp    %ebp,%ecx
180058b98:	74 05                	je     0x180058b9f
180058b9a:	41 d3 e0             	shl    %cl,%r8d
180058b9d:	eb 08                	jmp    0x180058ba7
180058b9f:	8a ca                	mov    %dl,%cl
180058ba1:	41 d3 e0             	shl    %cl,%r8d
180058ba4:	41 ff c8             	dec    %r8d
180058ba7:	48 8b 07             	mov    (%rdi),%rax
180058baa:	4d 8b cf             	mov    %r15,%r9
180058bad:	8b 54 24 50          	mov    0x50(%rsp),%edx
180058bb1:	48 8b cf             	mov    %rdi,%rcx
180058bb4:	48 8b 80 90 00 00 00 	mov    0x90(%rax),%rax
180058bbb:	ff d0                	call   *%rax
180058bbd:	0f 1f 00             	nopl   (%rax)
180058bc0:	44 8b e8             	mov    %eax,%r13d
180058bc3:	3b c5                	cmp    %ebp,%eax
180058bc5:	75 0a                	jne    0x180058bd1
180058bc7:	bb 0e 00 00 c0       	mov    $0xc000000e,%ebx
180058bcc:	e9 1b 01 00 00       	jmp    0x180058cec
180058bd1:	44 8b 64 24 50       	mov    0x50(%rsp),%r12d
180058bd6:	45 8b c5             	mov    %r13d,%r8d
180058bd9:	41 8b d4             	mov    %r12d,%edx
180058bdc:	48 8b cf             	mov    %rdi,%rcx
180058bdf:	e8 6c 87 ff ff       	call   0x180051350
180058be4:	0f b6 0e             	movzbl (%rsi),%ecx
180058be7:	48 8b e8             	mov    %rax,%rbp
180058bea:	83 e9 03             	sub    $0x3,%ecx
180058bed:	74 78                	je     0x180058c67
180058bef:	83 e9 01             	sub    $0x1,%ecx
180058bf2:	74 58                	je     0x180058c4c
180058bf4:	83 f9 0a             	cmp    $0xa,%ecx
180058bf7:	0f 85 93 00 00 00    	jne    0x180058c90
180058bfd:	8a 48 02             	mov    0x2(%rax),%cl
180058c00:	80 e1 0f             	and    $0xf,%cl
180058c03:	8d 41 ff             	lea    -0x1(%rcx),%eax
180058c06:	a8 fa                	test   $0xfa,%al
180058c08:	0f 85 2f ff ff ff    	jne    0x180058b3d
180058c0e:	80 f9 02             	cmp    $0x2,%cl
180058c11:	0f 84 26 ff ff ff    	je     0x180058b3d
180058c17:	8b 46 04             	mov    0x4(%rsi),%eax
180058c1a:	3d 13 00 00 80       	cmp    $0x80000013,%eax
180058c1f:	75 22                	jne    0x180058c43
180058c21:	48 8b 47 20          	mov    0x20(%rdi),%rax
180058c25:	48 85 c0             	test   %rax,%rax
180058c28:	74 06                	je     0x180058c30
180058c2a:	48 83 c0 58          	add    $0x58,%rax
180058c2e:	eb 08                	jmp    0x180058c38
180058c30:	48 8b 47 08          	mov    0x8(%rdi),%rax
180058c34:	48 83 c0 50          	add    $0x50,%rax
180058c38:	83 78 10 01          	cmpl   $0x1,0x10(%rax)
180058c3c:	74 52                	je     0x180058c90
180058c3e:	e9 e1 fe ff ff       	jmp    0x180058b24
180058c43:	3d 1c 00 00 80       	cmp    $0x8000001c,%eax
180058c48:	75 46                	jne    0x180058c90
180058c4a:	eb d5                	jmp    0x180058c21
180058c4c:	8a 48 02             	mov    0x2(%rax),%cl
180058c4f:	80 e1 0f             	and    $0xf,%cl
180058c52:	8d 41 ff             	lea    -0x1(%rcx),%eax
180058c55:	a8 fa                	test   $0xfa,%al
180058c57:	0f 85 e0 fe ff ff    	jne    0x180058b3d
180058c5d:	80 f9 02             	cmp    $0x2,%cl
180058c60:	75 2e                	jne    0x180058c90
180058c62:	e9 d6 fe ff ff       	jmp    0x180058b3d
180058c67:	8a 48 03             	mov    0x3(%rax),%cl
180058c6a:	8a 40 02             	mov    0x2(%rax),%al
180058c6d:	80 e1 0f             	and    $0xf,%cl
180058c70:	24 0f                	and    $0xf,%al
180058c72:	3c 01                	cmp    $0x1,%al
180058c74:	75 04                	jne    0x180058c7a
180058c76:	84 c9                	test   %cl,%cl
180058c78:	eb 03                	jmp    0x180058c7d
180058c7a:	80 f9 01             	cmp    $0x1,%cl
180058c7d:	0f 85 ba fe ff ff    	jne    0x180058b3d
180058c83:	4b 8d 04 37          	lea    (%r15,%r14,1),%rax
180058c87:	48 87 45 18          	xchg   %rax,0x18(%rbp)
180058c8b:	44 8b 64 24 50       	mov    0x50(%rsp),%r12d
180058c90:	48 8b d5             	mov    %rbp,%rdx
180058c93:	48 8b cf             	mov    %rdi,%rcx
180058c96:	e8 69 87 ff ff       	call   0x180051404
180058c9b:	48 8b c8             	mov    %rax,%rcx
180058c9e:	48 8b 40 18          	mov    0x18(%rax),%rax
180058ca2:	48 03 45 08          	add    0x8(%rbp),%rax
180058ca6:	4c 03 f8             	add    %rax,%r15
180058ca9:	48 8b 46 10          	mov    0x10(%rsi),%rax
180058cad:	48 85 c0             	test   %rax,%rax
180058cb0:	75 16                	jne    0x180058cc8
180058cb2:	44 89 66 08          	mov    %r12d,0x8(%rsi)
180058cb6:	44 89 6e 0c          	mov    %r13d,0xc(%rsi)
180058cba:	48 8b 41 08          	mov    0x8(%rcx),%rax
180058cbe:	48 89 46 10          	mov    %rax,0x10(%rsi)
180058cc2:	4c 89 7e 20          	mov    %r15,0x20(%rsi)
180058cc6:	eb 19                	jmp    0x180058ce1
180058cc8:	48 3b 41 08          	cmp    0x8(%rcx),%rax
180058ccc:	75 19                	jne    0x180058ce7
180058cce:	48 8b 56 18          	mov    0x18(%rsi),%rdx
180058cd2:	48 8b 4e 20          	mov    0x20(%rsi),%rcx
180058cd6:	48 03 ca             	add    %rdx,%rcx
180058cd9:	49 3b cf             	cmp    %r15,%rcx
180058cdc:	75 09                	jne    0x180058ce7
180058cde:	4c 03 f2             	add    %rdx,%r14
180058ce1:	4c 89 76 18          	mov    %r14,0x18(%rsi)
180058ce5:	eb 05                	jmp    0x180058cec
180058ce7:	bb 02 00 e7 00       	mov    $0xe70002,%ebx
180058cec:	48 8b 6c 24 60       	mov    0x60(%rsp),%rbp
180058cf1:	8b c3                	mov    %ebx,%eax
180058cf3:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
180058cf8:	48 8b 74 24 68       	mov    0x68(%rsp),%rsi
180058cfd:	48 83 c4 20          	add    $0x20,%rsp
180058d01:	41 5f                	pop    %r15
180058d03:	41 5e                	pop    %r14
180058d05:	41 5d                	pop    %r13
180058d07:	41 5c                	pop    %r12
180058d09:	5f                   	pop    %rdi
180058d0a:	c3                   	ret
180058d0b:	cc                   	int3
180058d0c:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
180058d11:	55                   	push   %rbp
180058d12:	56                   	push   %rsi
180058d13:	57                   	push   %rdi
180058d14:	41 54                	push   %r12
180058d16:	41 55                	push   %r13
180058d18:	41 56                	push   %r14
180058d1a:	41 57                	push   %r15
180058d1c:	48 83 ec 30          	sub    $0x30,%rsp
180058d20:	48 8b 41 08          	mov    0x8(%rcx),%rax
180058d24:	45 33 f6             	xor    %r14d,%r14d
180058d27:	45 8a e6             	mov    %r14b,%r12b
180058d2a:	4c 8b c2             	mov    %rdx,%r8
180058d2d:	44 89 64 24 70       	mov    %r12d,0x70(%rsp)
180058d32:	48 8b d9             	mov    %rcx,%rbx
180058d35:	4c 8b a8 a8 00 00 00 	mov    0xa8(%rax),%r13
180058d3c:	4c 89 6c 24 78       	mov    %r13,0x78(%rsp)
180058d41:	48 85 d2             	test   %rdx,%rdx
180058d44:	0f 84 e0 01 00 00    	je     0x180058f2a
180058d4a:	48 8b 02             	mov    (%rdx),%rax
180058d4d:	48 8b 51 10          	mov    0x10(%rcx),%rdx
180058d51:	49 8b c8             	mov    %r8,%rcx
180058d54:	48 8b 40 68          	mov    0x68(%rax),%rax
180058d58:	ff d0                	call   *%rax
180058d5a:	0f 1f 00             	nopl   (%rax)
180058d5d:	4c 8b f8             	mov    %rax,%r15
180058d60:	48 85 c0             	test   %rax,%rax
180058d63:	0f 84 c1 01 00 00    	je     0x180058f2a
180058d69:	41 8b f6             	mov    %r14d,%esi
180058d6c:	45 8d 6e 01          	lea    0x1(%r14),%r13d
180058d70:	48 8b 4b 20          	mov    0x20(%rbx),%rcx
180058d74:	48 85 c9             	test   %rcx,%rcx
180058d77:	74 06                	je     0x180058d7f
180058d79:	48 83 c1 58          	add    $0x58,%rcx
180058d7d:	eb 08                	jmp    0x180058d87
180058d7f:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
180058d83:	48 83 c1 50          	add    $0x50,%rcx
180058d87:	3b 71 10             	cmp    0x10(%rcx),%esi
180058d8a:	0f 83 5b 01 00 00    	jae    0x180058eeb
180058d90:	41 8b ee             	mov    %r14d,%ebp
180058d93:	44 38 73 2b          	cmp    %r14b,0x2b(%rbx)
180058d97:	0f 86 46 01 00 00    	jbe    0x180058ee3
180058d9d:	44 8b c5             	mov    %ebp,%r8d
180058da0:	8b d6                	mov    %esi,%edx
180058da2:	48 8b cb             	mov    %rbx,%rcx
180058da5:	e8 a6 85 ff ff       	call   0x180051350
180058daa:	48 8b f8             	mov    %rax,%rdi
180058dad:	8a 48 02             	mov    0x2(%rax),%cl
180058db0:	80 e1 0f             	and    $0xf,%cl
180058db3:	80 f9 07             	cmp    $0x7,%cl
180058db6:	0f 84 15 01 00 00    	je     0x180058ed1
180058dbc:	44 8b 40 10          	mov    0x10(%rax),%r8d
180058dc0:	49 8b cf             	mov    %r15,%rcx
180058dc3:	e8 b4 85 ff ff       	call   0x18005137c
180058dc8:	83 f8 ff             	cmp    $0xffffffff,%eax
180058dcb:	0f 84 00 01 00 00    	je     0x180058ed1
180058dd1:	44 8b c0             	mov    %eax,%r8d
180058dd4:	e8 77 85 ff ff       	call   0x180051350
180058dd9:	4c 8b f0             	mov    %rax,%r14
180058ddc:	48 85 c0             	test   %rax,%rax
180058ddf:	0f 84 ec 00 00 00    	je     0x180058ed1
180058de5:	0f b7 08             	movzwl (%rax),%ecx
180058de8:	f6 c1 40             	test   $0x40,%cl
180058deb:	74 0a                	je     0x180058df7
180058ded:	0f b7 0f             	movzwl (%rdi),%ecx
180058df0:	66 83 c9 40          	or     $0x40,%cx
180058df4:	66 89 0f             	mov    %cx,(%rdi)
180058df7:	44 8a 67 02          	mov    0x2(%rdi),%r12b
180058dfb:	41 8a cc             	mov    %r12b,%cl
180058dfe:	80 e1 0f             	and    $0xf,%cl
180058e01:	41 3a cd             	cmp    %r13b,%cl
180058e04:	74 49                	je     0x180058e4f
180058e06:	80 e9 03             	sub    $0x3,%cl
180058e09:	41 3a cd             	cmp    %r13b,%cl
180058e0c:	0f 87 96 00 00 00    	ja     0x180058ea8
180058e12:	48 8b d7             	mov    %rdi,%rdx
180058e15:	48 8b cb             	mov    %rbx,%rcx
180058e18:	e8 9f 85 ff ff       	call   0x1800513bc
180058e1d:	48 85 c0             	test   %rax,%rax
180058e20:	0f 84 82 00 00 00    	je     0x180058ea8
180058e26:	45 8a 4e 02          	mov    0x2(%r14),%r9b
180058e2a:	41 80 e1 0f          	and    $0xf,%r9b
180058e2e:	41 8d 41 fb          	lea    -0x5(%r9),%eax
180058e32:	41 3a c5             	cmp    %r13b,%al
180058e35:	77 71                	ja     0x180058ea8
180058e37:	41 c0 ec 04          	shr    $0x4,%r12b
180058e3b:	44 8b c5             	mov    %ebp,%r8d
180058e3e:	8b d6                	mov    %esi,%edx
180058e40:	44 88 64 24 20       	mov    %r12b,0x20(%rsp)
180058e45:	48 8b cb             	mov    %rbx,%rcx
180058e48:	e8 bb ca ff ff       	call   0x180055908
180058e4d:	eb 59                	jmp    0x180058ea8
180058e4f:	8a 40 02             	mov    0x2(%rax),%al
180058e52:	24 0f                	and    $0xf,%al
180058e54:	3c 02                	cmp    $0x2,%al
180058e56:	75 3f                	jne    0x180058e97
180058e58:	49 8b 07             	mov    (%r15),%rax
180058e5b:	49 8b cf             	mov    %r15,%rcx
180058e5e:	48 8b 80 b8 00 00 00 	mov    0xb8(%rax),%rax
180058e65:	ff d0                	call   *%rax
180058e67:	0f 1f 00             	nopl   (%rax)
180058e6a:	84 c0                	test   %al,%al
180058e6c:	74 29                	je     0x180058e97
180058e6e:	41 b1 03             	mov    $0x3,%r9b
180058e71:	44 88 6c 24 20       	mov    %r13b,0x20(%rsp)
180058e76:	44 8b c5             	mov    %ebp,%r8d
180058e79:	8b d6                	mov    %esi,%edx
180058e7b:	48 8b cb             	mov    %rbx,%rcx
180058e7e:	e8 89 cc ff ff       	call   0x180055b0c
180058e83:	44 8b c5             	mov    %ebp,%r8d
180058e86:	8b d6                	mov    %esi,%edx
180058e88:	48 8b cb             	mov    %rbx,%rcx
180058e8b:	e8 4c c9 ff ff       	call   0x1800557dc
180058e90:	44 88 6c 24 70       	mov    %r13b,0x70(%rsp)
180058e95:	eb 11                	jmp    0x180058ea8
180058e97:	41 0f b7 0e          	movzwl (%r14),%ecx
180058e9b:	0f b7 07             	movzwl (%rdi),%eax
180058e9e:	66 41 23 cd          	and    %r13w,%cx
180058ea2:	66 0b c8             	or     %ax,%cx
180058ea5:	66 89 0f             	mov    %cx,(%rdi)
180058ea8:	41 8a 4e 02          	mov    0x2(%r14),%cl
180058eac:	32 4f 02             	xor    0x2(%rdi),%cl
180058eaf:	f6 c1 0f             	test   $0xf,%cl
180058eb2:	75 1d                	jne    0x180058ed1
180058eb4:	8a 4f 03             	mov    0x3(%rdi),%cl
180058eb7:	41 32 4e 03          	xor    0x3(%r14),%cl
180058ebb:	80 e1 0f             	and    $0xf,%cl
180058ebe:	30 4f 03             	xor    %cl,0x3(%rdi)
180058ec1:	8a 47 03             	mov    0x3(%rdi),%al
180058ec4:	41 32 46 03          	xor    0x3(%r14),%al
180058ec8:	24 0f                	and    $0xf,%al
180058eca:	41 32 46 03          	xor    0x3(%r14),%al
180058ece:	88 47 03             	mov    %al,0x3(%rdi)
180058ed1:	0f b6 43 2b          	movzbl 0x2b(%rbx),%eax
180058ed5:	41 03 ed             	add    %r13d,%ebp
180058ed8:	3b e8                	cmp    %eax,%ebp
180058eda:	0f 82 bd fe ff ff    	jb     0x180058d9d
180058ee0:	45 33 f6             	xor    %r14d,%r14d
180058ee3:	41 03 f5             	add    %r13d,%esi
180058ee6:	e9 85 fe ff ff       	jmp    0x180058d70
180058eeb:	41 f6 47 28 40       	testb  $0x40,0x28(%r15)
180058ef0:	4c 8b 6c 24 78       	mov    0x78(%rsp),%r13
180058ef5:	74 0d                	je     0x180058f04
180058ef7:	ba 01 00 00 00       	mov    $0x1,%edx
180058efc:	48 8b cb             	mov    %rbx,%rcx
180058eff:	e8 78 cc ff ff       	call   0x180055b7c
180058f04:	48 8b 43 08          	mov    0x8(%rbx),%rax
180058f08:	44 8b 64 24 70       	mov    0x70(%rsp),%r12d
180058f0d:	4c 39 b0 50 01 00 00 	cmp    %r14,0x150(%rax)
180058f14:	74 39                	je     0x180058f4f
180058f16:	4c 39 73 40          	cmp    %r14,0x40(%rbx)
180058f1a:	75 33                	jne    0x180058f4f
180058f1c:	49 8b 47 40          	mov    0x40(%r15),%rax
180058f20:	48 89 43 40          	mov    %rax,0x40(%rbx)
180058f24:	4d 89 77 40          	mov    %r14,0x40(%r15)
180058f28:	eb 25                	jmp    0x180058f4f
180058f2a:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
180058f2e:	48 8b 81 50 01 00 00 	mov    0x150(%rcx),%rax
180058f35:	48 85 c0             	test   %rax,%rax
180058f38:	74 15                	je     0x180058f4f
180058f3a:	4c 39 70 10          	cmp    %r14,0x10(%rax)
180058f3e:	74 0f                	je     0x180058f4f
180058f40:	48 8b 01             	mov    (%rcx),%rax
180058f43:	48 8b 80 80 00 00 00 	mov    0x80(%rax),%rax
180058f4a:	ff d0                	call   *%rax
180058f4c:	0f 1f 00             	nopl   (%rax)
180058f4f:	41 8b f6             	mov    %r14d,%esi
180058f52:	41 bf 01 00 00 00    	mov    $0x1,%r15d
180058f58:	48 8b 43 20          	mov    0x20(%rbx),%rax
180058f5c:	48 85 c0             	test   %rax,%rax
180058f5f:	74 06                	je     0x180058f67
180058f61:	48 83 c0 58          	add    $0x58,%rax
180058f65:	eb 08                	jmp    0x180058f6f
180058f67:	48 8b 43 08          	mov    0x8(%rbx),%rax
180058f6b:	48 83 c0 50          	add    $0x50,%rax
180058f6f:	3b 70 10             	cmp    0x10(%rax),%esi
180058f72:	0f 83 89 01 00 00    	jae    0x180059101
180058f78:	41 8b ee             	mov    %r14d,%ebp
180058f7b:	44 38 73 2b          	cmp    %r14b,0x2b(%rbx)
180058f7f:	0f 86 74 01 00 00    	jbe    0x1800590f9
180058f85:	44 8b c5             	mov    %ebp,%r8d
180058f88:	8b d6                	mov    %esi,%edx
180058f8a:	48 8b cb             	mov    %rbx,%rcx