180041b20:	48 8b 4b 60          	mov    0x60(%rbx),%rcx
180041b24:	48 0f af c8          	imul   %rax,%rcx
180041b28:	48 89 8b e8 00 00 00 	mov    %rcx,0xe8(%rbx)
180041b2f:	8b cf                	mov    %edi,%ecx
180041b31:	e8 de 4d 00 00       	call   0x180046914
180041b36:	4c 8b c0             	mov    %rax,%r8
180041b39:	48 85 c0             	test   %rax,%rax
180041b3c:	74 2d                	je     0x180041b6b
180041b3e:	48 8d 48 08          	lea    0x8(%rax),%rcx
180041b42:	48 89 30             	mov    %rsi,(%rax)
180041b45:	48 89 70 18          	mov    %rsi,0x18(%rax)
180041b49:	c7 40 20 01 00 00 00 	movl   $0x1,0x20(%rax)
180041b50:	89 78 24             	mov    %edi,0x24(%rax)
180041b53:	8d 47 c6             	lea    -0x3a(%rdi),%eax
180041b56:	41 89 40 28          	mov    %eax,0x28(%r8)
180041b5a:	41 89 40 38          	mov    %eax,0x38(%r8)
180041b5e:	48 89 49 08          	mov    %rcx,0x8(%rcx)
180041b62:	48 89 09             	mov    %rcx,(%rcx)
180041b65:	49 89 78 30          	mov    %rdi,0x30(%r8)
180041b69:	eb 03                	jmp    0x180041b6e
180041b6b:	4c 8b c6             	mov    %rsi,%r8
180041b6e:	4c 89 83 c0 00 00 00 	mov    %r8,0xc0(%rbx)
180041b75:	4d 85 c0             	test   %r8,%r8
180041b78:	75 07                	jne    0x180041b81
180041b7a:	b9 9a 00 00 c0       	mov    $0xc000009a,%ecx
180041b7f:	eb 27                	jmp    0x180041ba8
180041b81:	48 8b 43 48          	mov    0x48(%rbx),%rax
180041b85:	33 d2                	xor    %edx,%edx
180041b87:	48 f7 b3 e8 00 00 00 	divq   0xe8(%rbx)
180041b8e:	49 8b c8             	mov    %r8,%rcx
180041b91:	8b d0                	mov    %eax,%edx
180041b93:	e8 d0 1b 00 00       	call   0x180043768
180041b98:	8b c8                	mov    %eax,%ecx
180041b9a:	eb 0c                	jmp    0x180041ba8
180041b9c:	b9 10 00 e7 c0       	mov    $0xc0e70010,%ecx
180041ba1:	eb 05                	jmp    0x180041ba8
180041ba3:	b9 0d 00 00 c0       	mov    $0xc000000d,%ecx
180041ba8:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
180041bad:	8b c1                	mov    %ecx,%eax
180041baf:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
180041bb4:	48 83 c4 20          	add    $0x20,%rsp
180041bb8:	5f                   	pop    %rdi
180041bb9:	c3                   	ret
180041bba:	cc                   	int3
180041bbb:	cc                   	int3
180041bbc:	48 8b c4             	mov    %rsp,%rax
180041bbf:	48 89 58 08          	mov    %rbx,0x8(%rax)
180041bc3:	48 89 68 10          	mov    %rbp,0x10(%rax)
180041bc7:	48 89 70 18          	mov    %rsi,0x18(%rax)
180041bcb:	57                   	push   %rdi
180041bcc:	48 83 ec 30          	sub    $0x30,%rsp
180041bd0:	8b 71 50             	mov    0x50(%rcx),%esi
180041bd3:	33 db                	xor    %ebx,%ebx
180041bd5:	89 58 ec             	mov    %ebx,-0x14(%rax)
180041bd8:	48 8b f9             	mov    %rcx,%rdi
180041bdb:	48 8b 41 10          	mov    0x10(%rcx),%rax
180041bdf:	48 8b 68 10          	mov    0x10(%rax),%rbp
180041be3:	83 fe ff             	cmp    $0xffffffff,%esi
180041be6:	74 59                	je     0x180041c41
180041be8:	48 8b cd             	mov    %rbp,%rcx
180041beb:	e8 60 86 0f 00       	call   0x18013a250
180041bf0:	48 85 c0             	test   %rax,%rax
180041bf3:	75 0a                	jne    0x180041bff
180041bf5:	bb 25 02 00 c0       	mov    $0xc0000225,%ebx
180041bfa:	e9 8b 00 00 00       	jmp    0x180041c8a
180041bff:	48 8b c8             	mov    %rax,%rcx
180041c02:	e8 69 cd 0f 00       	call   0x18013e970
180041c07:	48 8b 90 40 01 00 00 	mov    0x140(%rax),%rdx
180041c0e:	48 8b 40 48          	mov    0x48(%rax),%rax
180041c12:	48 c1 e8 19          	shr    $0x19,%rax
180041c16:	c1 e0 03             	shl    $0x3,%eax
180041c19:	48 0f a3 32          	bt     %rsi,(%rdx)
180041c1d:	89 44 24 20          	mov    %eax,0x20(%rsp)
180041c21:	48 89 54 24 28       	mov    %rdx,0x28(%rsp)
180041c26:	73 07                	jae    0x180041c2f
180041c28:	bb 0d 00 00 c0       	mov    $0xc000000d,%ebx
180041c2d:	eb 5b                	jmp    0x180041c8a
180041c2f:	41 b8 01 00 00 00    	mov    $0x1,%r8d
180041c35:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
180041c3a:	8b d6                	mov    %esi,%edx
180041c3c:	e8 f3 dc fe ff       	call   0x18002f934
180041c41:	44 8b 87 a8 00 00 00 	mov    0xa8(%rdi),%r8d
180041c48:	45 85 c0             	test   %r8d,%r8d
180041c4b:	74 3d                	je     0x180041c8a
180041c4d:	b2 03                	mov    $0x3,%dl
180041c4f:	48 8b cd             	mov    %rbp,%rcx
180041c52:	e8 0d b3 0f 00       	call   0x18013cf64
180041c57:	48 85 c0             	test   %rax,%rax
180041c5a:	74 cc                	je     0x180041c28
180041c5c:	48 8b c8             	mov    %rax,%rcx
180041c5f:	e8 0c cd 0f 00       	call   0x18013e970
180041c64:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
180041c68:	48 8b d0             	mov    %rax,%rdx
180041c6b:	4c 8b 80 c8 00 00 00 	mov    0xc8(%rax),%r8
180041c72:	4d 85 c0             	test   %r8,%r8
180041c75:	74 0c                	je     0x180041c83
180041c77:	e8 f4 cc 0f 00       	call   0x18013e970
180041c7c:	4c 89 80 d0 00 00 00 	mov    %r8,0xd0(%rax)
180041c83:	48 89 8a c8 00 00 00 	mov    %rcx,0xc8(%rdx)
180041c8a:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
180041c8f:	8b c3                	mov    %ebx,%eax
180041c91:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
180041c96:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
180041c9b:	48 83 c4 30          	add    $0x30,%rsp
180041c9f:	5f                   	pop    %rdi
180041ca0:	c3                   	ret
180041ca1:	cc                   	int3
180041ca2:	cc                   	int3
180041ca3:	cc                   	int3
180041ca4:	48 83 ec 28          	sub    $0x28,%rsp
180041ca8:	80 79 42 01          	cmpb   $0x1,0x42(%rcx)
180041cac:	74 27                	je     0x180041cd5
180041cae:	44 8b 81 a8 00 00 00 	mov    0xa8(%rcx),%r8d
180041cb5:	45 85 c0             	test   %r8d,%r8d
180041cb8:	74 1b                	je     0x180041cd5
180041cba:	83 fa 03             	cmp    $0x3,%edx
180041cbd:	74 16                	je     0x180041cd5
180041cbf:	48 8b 41 10          	mov    0x10(%rcx),%rax
180041cc3:	b2 03                	mov    $0x3,%dl
180041cc5:	48 8b 48 10          	mov    0x10(%rax),%rcx
180041cc9:	48 8b 01             	mov    (%rcx),%rax
180041ccc:	48 8b 40 28          	mov    0x28(%rax),%rax
180041cd0:	ff d0                	call   *%rax
180041cd2:	0f 1f 00             	nopl   (%rax)
180041cd5:	48 83 c4 28          	add    $0x28,%rsp
180041cd9:	c3                   	ret
180041cda:	cc                   	int3
180041cdb:	cc                   	int3
180041cdc:	48 83 ec 28          	sub    $0x28,%rsp
180041ce0:	48 8b c2             	mov    %rdx,%rax
180041ce3:	33 d2                	xor    %edx,%edx
180041ce5:	48 f7 b1 e8 00 00 00 	divq   0xe8(%rcx)
180041cec:	48 8b 89 c0 00 00 00 	mov    0xc0(%rcx),%rcx
180041cf3:	48 8b d0             	mov    %rax,%rdx
180041cf6:	e8 e1 1b 00 00       	call   0x1800438dc
180041cfb:	48 83 c4 28          	add    $0x28,%rsp
180041cff:	c3                   	ret
180041d00:	cc                   	int3
180041d01:	cc                   	int3
180041d02:	cc                   	int3
180041d03:	cc                   	int3
180041d04:	48 83 ec 28          	sub    $0x28,%rsp
180041d08:	48 8b ca             	mov    %rdx,%rcx
180041d0b:	e8 60 cc 0f 00       	call   0x18013e970
180041d10:	48 8b 40 50          	mov    0x50(%rax),%rax
180041d14:	48 83 c4 28          	add    $0x28,%rsp
180041d18:	c3                   	ret
180041d19:	cc                   	int3
180041d1a:	cc                   	int3
180041d1b:	cc                   	int3
180041d1c:	40 53                	rex push %rbx
180041d1e:	48 83 ec 20          	sub    $0x20,%rsp
180041d22:	48 8b c2             	mov    %rdx,%rax
180041d25:	41 8b d8             	mov    %r8d,%ebx
180041d28:	33 d2                	xor    %edx,%edx
180041d2a:	48 f7 b1 e8 00 00 00 	divq   0xe8(%rcx)
180041d31:	48 8b 89 c0 00 00 00 	mov    0xc0(%rcx),%rcx
180041d38:	48 8b d0             	mov    %rax,%rdx
180041d3b:	e8 9c 1b 00 00       	call   0x1800438dc
180041d40:	48 8b c8             	mov    %rax,%rcx
180041d43:	48 85 c0             	test   %rax,%rax
180041d46:	74 31                	je     0x180041d79
180041d48:	e8 23 cc 0f 00       	call   0x18013e970
180041d4d:	39 58 40             	cmp    %ebx,0x40(%rax)
180041d50:	74 27                	je     0x180041d79
180041d52:	e8 19 cc 0f 00       	call   0x18013e970
180041d57:	8b 50 40             	mov    0x40(%rax),%edx
180041d5a:	eb 0a                	jmp    0x180041d66
180041d5c:	e8 0f cc 0f 00       	call   0x18013e970
180041d61:	39 50 40             	cmp    %edx,0x40(%rax)
180041d64:	75 0e                	jne    0x180041d74
180041d66:	e8 05 cc 0f 00       	call   0x18013e970
180041d6b:	48 8b 48 50          	mov    0x50(%rax),%rcx
180041d6f:	48 85 c9             	test   %rcx,%rcx
180041d72:	75 e8                	jne    0x180041d5c
180041d74:	48 85 c9             	test   %rcx,%rcx
180041d77:	75 cf                	jne    0x180041d48
180041d79:	48 8b c1             	mov    %rcx,%rax
180041d7c:	48 83 c4 20          	add    $0x20,%rsp
180041d80:	5b                   	pop    %rbx
180041d81:	c3                   	ret
180041d82:	cc                   	int3
180041d83:	cc                   	int3
180041d84:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180041d89:	57                   	push   %rdi
180041d8a:	48 83 ec 20          	sub    $0x20,%rsp
180041d8e:	41 8b f9             	mov    %r9d,%edi
180041d91:	41 8b d8             	mov    %r8d,%ebx
180041d94:	e8 83 ff ff ff       	call   0x180041d1c
180041d99:	33 d2                	xor    %edx,%edx
180041d9b:	48 8b c8             	mov    %rax,%rcx
180041d9e:	48 85 c0             	test   %rax,%rax
180041da1:	74 29                	je     0x180041dcc
180041da3:	e8 c8 cb 0f 00       	call   0x18013e970
180041da8:	39 78 44             	cmp    %edi,0x44(%rax)
180041dab:	74 1f                	je     0x180041dcc
180041dad:	e8 be cb 0f 00       	call   0x18013e970
180041db2:	48 8b 48 50          	mov    0x50(%rax),%rcx
180041db6:	48 85 c9             	test   %rcx,%rcx
180041db9:	74 11                	je     0x180041dcc
180041dbb:	e8 b0 cb 0f 00       	call   0x18013e970
180041dc0:	39 58 40             	cmp    %ebx,0x40(%rax)
180041dc3:	48 0f 45 ca          	cmovne %rdx,%rcx
180041dc7:	48 85 c9             	test   %rcx,%rcx
180041dca:	75 d7                	jne    0x180041da3
180041dcc:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
180041dd1:	48 8b c1             	mov    %rcx,%rax
180041dd4:	48 83 c4 20          	add    $0x20,%rsp
180041dd8:	5f                   	pop    %rdi
180041dd9:	c3                   	ret
180041dda:	cc                   	int3
180041ddb:	cc                   	int3
180041ddc:	48 8b c4             	mov    %rsp,%rax
180041ddf:	48 89 58 08          	mov    %rbx,0x8(%rax)
180041de3:	48 89 68 10          	mov    %rbp,0x10(%rax)
180041de7:	48 89 70 18          	mov    %rsi,0x18(%rax)
180041deb:	48 89 78 20          	mov    %rdi,0x20(%rax)
180041def:	41 55                	push   %r13
180041df1:	41 56                	push   %r14
180041df3:	41 57                	push   %r15
180041df5:	48 83 ec 20          	sub    $0x20,%rsp
180041df9:	4c 8b e9             	mov    %rcx,%r13
180041dfc:	48 8b ea             	mov    %rdx,%rbp
180041dff:	48 8b ca             	mov    %rdx,%rcx
180041e02:	e8 69 cb 0f 00       	call   0x18013e970
180041e07:	4d 8b bd c0 00 00 00 	mov    0xc0(%r13),%r15
180041e0e:	48 8b f0             	mov    %rax,%rsi
180041e11:	33 d2                	xor    %edx,%edx
180041e13:	49 8b cf             	mov    %r15,%rcx
180041e16:	33 db                	xor    %ebx,%ebx
180041e18:	48 8b 40 28          	mov    0x28(%rax),%rax
180041e1c:	49 f7 b5 e8 00 00 00 	divq   0xe8(%r13)
180041e23:	48 8b d0             	mov    %rax,%rdx
180041e26:	4c 8b f0             	mov    %rax,%r14
180041e29:	e8 ae 1a 00 00       	call   0x1800438dc
180041e2e:	48 8b f8             	mov    %rax,%rdi
180041e31:	48 85 c0             	test   %rax,%rax
180041e34:	75 12                	jne    0x180041e48
180041e36:	4c 8b c5             	mov    %rbp,%r8
180041e39:	49 8b d6             	mov    %r14,%rdx
180041e3c:	49 8b cf             	mov    %r15,%rcx
180041e3f:	e8 dc 1a 00 00       	call   0x180043920
180041e44:	8b d8                	mov    %eax,%ebx
180041e46:	eb 4a                	jmp    0x180041e92
180041e48:	48 8b cf             	mov    %rdi,%rcx
180041e4b:	e8 20 cb 0f 00       	call   0x18013e970
180041e50:	8b 56 40             	mov    0x40(%rsi),%edx
180041e53:	3b 50 40             	cmp    0x40(%rax),%edx
180041e56:	72 0a                	jb     0x180041e62
180041e58:	75 72                	jne    0x180041ecc
180041e5a:	8b 48 44             	mov    0x44(%rax),%ecx
180041e5d:	39 4e 44             	cmp    %ecx,0x44(%rsi)
180041e60:	73 6a                	jae    0x180041ecc
180041e62:	45 33 c0             	xor    %r8d,%r8d
180041e65:	49 8b d6             	mov    %r14,%rdx
180041e68:	49 8b cf             	mov    %r15,%rcx
180041e6b:	e8 b0 1a 00 00       	call   0x180043920
180041e70:	8b d8                	mov    %eax,%ebx
180041e72:	85 c0                	test   %eax,%eax
180041e74:	78 1c                	js     0x180041e92
180041e76:	49 8b 8d c0 00 00 00 	mov    0xc0(%r13),%rcx
180041e7d:	4c 8b c5             	mov    %rbp,%r8
180041e80:	49 8b d6             	mov    %r14,%rdx
180041e83:	e8 98 1a 00 00       	call   0x180043920
180041e88:	8b d8                	mov    %eax,%ebx
180041e8a:	85 c0                	test   %eax,%eax
180041e8c:	78 04                	js     0x180041e92
180041e8e:	48 89 7e 50          	mov    %rdi,0x50(%rsi)
180041e92:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
180041e97:	8b c3                	mov    %ebx,%eax
180041e99:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
180041e9e:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
180041ea3:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
180041ea8:	48 83 c4 20          	add    $0x20,%rsp
180041eac:	41 5f                	pop    %r15
180041eae:	41 5e                	pop    %r14
180041eb0:	41 5d                	pop    %r13
180041eb2:	c3                   	ret
180041eb3:	cc                   	int3
180041eb4:	e8 b7 ca 0f 00       	call   0x18013e970
180041eb9:	39 50 40             	cmp    %edx,0x40(%rax)
180041ebc:	77 17                	ja     0x180041ed5
180041ebe:	75 08                	jne    0x180041ec8
180041ec0:	8b 4e 44             	mov    0x44(%rsi),%ecx
180041ec3:	39 48 44             	cmp    %ecx,0x44(%rax)
180041ec6:	77 0d                	ja     0x180041ed5
180041ec8:	48 8b 78 10          	mov    0x10(%rax),%rdi
180041ecc:	48 8b 48 50          	mov    0x50(%rax),%rcx
180041ed0:	48 85 c9             	test   %rcx,%rcx
180041ed3:	75 df                	jne    0x180041eb4
180041ed5:	48 8b cd             	mov    %rbp,%rcx
180041ed8:	e8 a7 ca 0f 00       	call   0x18013e984
180041edd:	84 c0                	test   %al,%al
180041edf:	74 10                	je     0x180041ef1
180041ee1:	33 d2                	xor    %edx,%edx
180041ee3:	48 8b cf             	mov    %rdi,%rcx
180041ee6:	e8 ad ca 0f 00       	call   0x18013e998
180041eeb:	8b d8                	mov    %eax,%ebx
180041eed:	85 c0                	test   %eax,%eax
180041eef:	78 a1                	js     0x180041e92
180041ef1:	48 8b cf             	mov    %rdi,%rcx
180041ef4:	e8 77 ca 0f 00       	call   0x18013e970
180041ef9:	48 8b 48 50          	mov    0x50(%rax),%rcx
180041efd:	48 89 4e 50          	mov    %rcx,0x50(%rsi)
180041f01:	48 89 68 50          	mov    %rbp,0x50(%rax)
180041f05:	eb 8b                	jmp    0x180041e92
180041f07:	cc                   	int3
180041f08:	48 83 ec 28          	sub    $0x28,%rsp
180041f0c:	4c 8b c9             	mov    %rcx,%r9
180041f0f:	48 85 d2             	test   %rdx,%rdx
180041f12:	74 22                	je     0x180041f36
180041f14:	48 8b ca             	mov    %rdx,%rcx
180041f17:	e8 54 ca 0f 00       	call   0x18013e970
180041f1c:	48 8b 40 50          	mov    0x50(%rax),%rax
180041f20:	48 85 c0             	test   %rax,%rax
180041f23:	75 20                	jne    0x180041f45
180041f25:	49 8b 89 c0 00 00 00 	mov    0xc0(%r9),%rcx
180041f2c:	49 8b d0             	mov    %r8,%rdx
180041f2f:	e8 d8 1c 00 00       	call   0x180043c0c
180041f34:	eb 0f                	jmp    0x180041f45
180041f36:	48 8b 89 c0 00 00 00 	mov    0xc0(%rcx),%rcx
180041f3d:	49 8b d0             	mov    %r8,%rdx
180041f40:	e8 bf 1b 00 00       	call   0x180043b04
180041f45:	48 83 c4 28          	add    $0x28,%rsp
180041f49:	c3                   	ret
180041f4a:	cc                   	int3
180041f4b:	cc                   	int3
180041f4c:	48 8b c4             	mov    %rsp,%rax
180041f4f:	48 89 58 08          	mov    %rbx,0x8(%rax)
180041f53:	48 89 68 10          	mov    %rbp,0x10(%rax)
180041f57:	48 89 70 18          	mov    %rsi,0x18(%rax)
180041f5b:	48 89 78 20          	mov    %rdi,0x20(%rax)
180041f5f:	41 54                	push   %r12
180041f61:	41 56                	push   %r14
180041f63:	41 57                	push   %r15
180041f65:	48 83 ec 20          	sub    $0x20,%rsp
180041f69:	4c 8b f1             	mov    %rcx,%r14
180041f6c:	4c 8b fa             	mov    %rdx,%r15
180041f6f:	48 8b ca             	mov    %rdx,%rcx
180041f72:	e8 f9 c9 0f 00       	call   0x18013e970
180041f77:	4d 8b a6 c0 00 00 00 	mov    0xc0(%r14),%r12
180041f7e:	48 8b e8             	mov    %rax,%rbp
180041f81:	33 d2                	xor    %edx,%edx
180041f83:	49 8b cc             	mov    %r12,%rcx
180041f86:	33 ff                	xor    %edi,%edi
180041f88:	48 8b 40 28          	mov    0x28(%rax),%rax
180041f8c:	49 f7 b6 e8 00 00 00 	divq   0xe8(%r14)
180041f93:	48 8b d0             	mov    %rax,%rdx
180041f96:	48 8b f0             	mov    %rax,%rsi
180041f99:	e8 3e 19 00 00       	call   0x1800438dc