180046bd1:	48 85 c0             	test   %rax,%rax
180046bd4:	75 0b                	jne    0x180046be1
180046bd6:	bb 9a 00 00 c0       	mov    $0xc000009a,%ebx
180046bdb:	eb 06                	jmp    0x180046be3
180046bdd:	4c 89 47 08          	mov    %r8,0x8(%rdi)
180046be1:	89 37                	mov    %esi,(%rdi)
180046be3:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
180046be8:	8b c3                	mov    %ebx,%eax
180046bea:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
180046bef:	48 83 c4 20          	add    $0x20,%rsp
180046bf3:	5f                   	pop    %rdi
180046bf4:	c3                   	ret
180046bf5:	cc                   	int3
180046bf6:	cc                   	int3
180046bf7:	cc                   	int3
180046bf8:	48 8b 41 08          	mov    0x8(%rcx),%rax
180046bfc:	c3                   	ret
180046bfd:	cc                   	int3
180046bfe:	cc                   	int3
180046bff:	cc                   	int3
180046c00:	48 8b 41 08          	mov    0x8(%rcx),%rax
180046c04:	48 8b 88 e8 00 00 00 	mov    0xe8(%rax),%rcx
180046c0b:	eb 0a                	jmp    0x180046c17
180046c0d:	48 8b c1             	mov    %rcx,%rax
180046c10:	48 8b 89 e8 00 00 00 	mov    0xe8(%rcx),%rcx
180046c17:	48 85 c9             	test   %rcx,%rcx
180046c1a:	75 f1                	jne    0x180046c0d
180046c1c:	8b 40 78             	mov    0x78(%rax),%eax
180046c1f:	c3                   	ret
180046c20:	cc                   	int3
180046c21:	cc                   	int3
180046c22:	cc                   	int3
180046c23:	cc                   	int3
180046c24:	4c 8b dc             	mov    %rsp,%r11
180046c27:	48 83 ec 38          	sub    $0x38,%rsp
180046c2b:	48 8b 01             	mov    (%rcx),%rax
180046c2e:	4d 8d 53 08          	lea    0x8(%r11),%r10
180046c32:	49 83 63 08 00       	andq   $0x0,0x8(%r11)
180046c37:	4d 89 53 f0          	mov    %r10,-0x10(%r11)
180046c3b:	4c 8b 54 24 60       	mov    0x60(%rsp),%r10
180046c40:	48 8b 40 58          	mov    0x58(%rax),%rax
180046c44:	4d 89 53 e8          	mov    %r10,-0x18(%r11)
180046c48:	ff d0                	call   *%rax
180046c4a:	0f 1f 00             	nopl   (%rax)
180046c4d:	48 83 c4 38          	add    $0x38,%rsp
180046c51:	c3                   	ret
180046c52:	cc                   	int3
180046c53:	cc                   	int3
180046c54:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
180046c59:	48 83 20 00          	andq   $0x0,(%rax)
180046c5d:	b8 10 00 00 c0       	mov    $0xc0000010,%eax
180046c62:	c3                   	ret
180046c63:	cc                   	int3
180046c64:	33 c0                	xor    %eax,%eax
180046c66:	48 3b 51 10          	cmp    0x10(%rcx),%rdx
180046c6a:	48 0f 44 c1          	cmove  %rcx,%rax
180046c6e:	c3                   	ret
180046c6f:	cc                   	int3
180046c70:	33 c0                	xor    %eax,%eax
180046c72:	48 89 01             	mov    %rax,(%rcx)
180046c75:	89 41 08             	mov    %eax,0x8(%rcx)
180046c78:	48 89 41 10          	mov    %rax,0x10(%rcx)
180046c7c:	48 89 41 18          	mov    %rax,0x18(%rcx)
180046c80:	48 89 41 20          	mov    %rax,0x20(%rcx)
180046c84:	48 8b c1             	mov    %rcx,%rax
180046c87:	c3                   	ret
180046c88:	cc                   	int3
180046c89:	cc                   	int3
180046c8a:	cc                   	int3
180046c8b:	cc                   	int3
180046c8c:	48 83 ec 28          	sub    $0x28,%rsp
180046c90:	48 8b 49 20          	mov    0x20(%rcx),%rcx
180046c94:	48 85 c9             	test   %rcx,%rcx
180046c97:	74 05                	je     0x180046c9e
180046c99:	e8 be fc ff ff       	call   0x18004695c
180046c9e:	48 83 c4 28          	add    $0x28,%rsp
180046ca2:	c3                   	ret
180046ca3:	cc                   	int3
180046ca4:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180046ca9:	57                   	push   %rdi
180046caa:	48 83 ec 20          	sub    $0x20,%rsp
180046cae:	48 8b d9             	mov    %rcx,%rbx
180046cb1:	41 8d 40 07          	lea    0x7(%r8),%eax
180046cb5:	b9 f8 ff ff ff       	mov    $0xfffffff8,%ecx
180046cba:	83 c2 07             	add    $0x7,%edx
180046cbd:	23 d1                	and    %ecx,%edx
180046cbf:	23 c1                	and    %ecx,%eax
180046cc1:	33 ff                	xor    %edi,%edi
180046cc3:	89 53 04             	mov    %edx,0x4(%rbx)
180046cc6:	89 43 08             	mov    %eax,0x8(%rbx)
180046cc9:	8d 4a 08             	lea    0x8(%rdx),%ecx
180046ccc:	c7 03 01 00 00 00    	movl   $0x1,(%rbx)
180046cd2:	03 c8                	add    %eax,%ecx
180046cd4:	e8 3b fc ff ff       	call   0x180046914
180046cd9:	48 89 43 20          	mov    %rax,0x20(%rbx)
180046cdd:	48 85 c0             	test   %rax,%rax
180046ce0:	75 07                	jne    0x180046ce9
180046ce2:	bf 9a 00 00 c0       	mov    $0xc000009a,%edi
180046ce7:	eb 16                	jmp    0x180046cff
180046ce9:	8b 4b 04             	mov    0x4(%rbx),%ecx
180046cec:	48 8d 50 07          	lea    0x7(%rax),%rdx
180046cf0:	48 83 e2 f8          	and    $0xfffffffffffffff8,%rdx
180046cf4:	48 03 ca             	add    %rdx,%rcx
180046cf7:	48 89 53 10          	mov    %rdx,0x10(%rbx)
180046cfb:	48 89 4b 18          	mov    %rcx,0x18(%rbx)
180046cff:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
180046d04:	8b c7                	mov    %edi,%eax
180046d06:	48 83 c4 20          	add    $0x20,%rsp
180046d0a:	5f                   	pop    %rdi
180046d0b:	c3                   	ret
180046d0c:	cc                   	int3
180046d0d:	cc                   	int3
180046d0e:	cc                   	int3
180046d0f:	cc                   	int3
180046d10:	48 8b 41 10          	mov    0x10(%rcx),%rax
180046d14:	c3                   	ret
180046d15:	cc                   	int3
180046d16:	cc                   	int3
180046d17:	cc                   	int3
180046d18:	48 8b 41 18          	mov    0x18(%rcx),%rax
180046d1c:	41 b9 1c 00 00 00    	mov    $0x1c,%r9d
180046d22:	44 8b 50 10          	mov    0x10(%rax),%r10d
180046d26:	45 85 d2             	test   %r10d,%r10d
180046d29:	74 1a                	je     0x180046d45
180046d2b:	48 8b 41 08          	mov    0x8(%rcx),%rax
180046d2f:	33 d2                	xor    %edx,%edx
180046d31:	44 8b 40 08          	mov    0x8(%rax),%r8d
180046d35:	45 8d 48 1b          	lea    0x1b(%r8),%r9d
180046d39:	41 8b c1             	mov    %r9d,%eax
180046d3c:	41 f7 f0             	div    %r8d
180046d3f:	44 2b ca             	sub    %edx,%r9d
180046d42:	45 03 ca             	add    %r10d,%r9d
180046d45:	48 8b 49 28          	mov    0x28(%rcx),%rcx
180046d49:	41 8b c1             	mov    %r9d,%eax
180046d4c:	48 83 c0 07          	add    $0x7,%rax
180046d50:	48 c1 e8 03          	shr    $0x3,%rax
180046d54:	8d 04 c5 10 00 00 00 	lea    0x10(,%rax,8),%eax
180046d5b:	48 85 c9             	test   %rcx,%rcx
180046d5e:	74 11                	je     0x180046d71
180046d60:	44 8b 41 20          	mov    0x20(%rcx),%r8d
180046d64:	8b 49 1c             	mov    0x1c(%rcx),%ecx
180046d67:	44 03 c1             	add    %ecx,%r8d
180046d6a:	41 3b c0             	cmp    %r8d,%eax
180046d6d:	41 0f 46 c0          	cmovbe %r8d,%eax
180046d71:	c3                   	ret
180046d72:	cc                   	int3
180046d73:	cc                   	int3
180046d74:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180046d79:	57                   	push   %rdi
180046d7a:	48 83 ec 20          	sub    $0x20,%rsp
180046d7e:	8b da                	mov    %edx,%ebx
180046d80:	48 8b f9             	mov    %rcx,%rdi
180046d83:	e8 1c 00 00 00       	call   0x180046da4
180046d88:	f6 c3 01             	test   $0x1,%bl
180046d8b:	74 08                	je     0x180046d95
180046d8d:	48 8b cf             	mov    %rdi,%rcx
180046d90:	e8 c7 fb ff ff       	call   0x18004695c
180046d95:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
180046d9a:	48 8b c7             	mov    %rdi,%rax
180046d9d:	48 83 c4 20          	add    $0x20,%rsp
180046da1:	5f                   	pop    %rdi
180046da2:	c3                   	ret
180046da3:	cc                   	int3
180046da4:	40 53                	rex push %rbx
180046da6:	48 83 ec 20          	sub    $0x20,%rsp
180046daa:	48 8d 05 6f c6 0f 00 	lea    0xfc66f(%rip),%rax        # 0x180143420
180046db1:	48 8b d9             	mov    %rcx,%rbx
180046db4:	48 89 01             	mov    %rax,(%rcx)
180046db7:	48 8b 89 00 01 00 00 	mov    0x100(%rcx),%rcx
180046dbe:	48 85 c9             	test   %rcx,%rcx
180046dc1:	74 05                	je     0x180046dc8
180046dc3:	e8 94 fb ff ff       	call   0x18004695c
180046dc8:	48 8d 05 99 c0 0f 00 	lea    0xfc099(%rip),%rax        # 0x180142e68
180046dcf:	48 8b cb             	mov    %rbx,%rcx
180046dd2:	48 89 03             	mov    %rax,(%rbx)
180046dd5:	e8 5e 02 00 00       	call   0x180047038
180046dda:	48 83 c4 20          	add    $0x20,%rsp
180046dde:	5b                   	pop    %rbx
180046ddf:	c3                   	ret
180046de0:	cc                   	int3
180046de1:	cc                   	int3
180046de2:	cc                   	int3
180046de3:	cc                   	int3
180046de4:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180046de9:	57                   	push   %rdi
180046dea:	48 83 ec 20          	sub    $0x20,%rsp
180046dee:	8b da                	mov    %edx,%ebx
180046df0:	48 8b f9             	mov    %rcx,%rdi
180046df3:	e8 40 02 00 00       	call   0x180047038
180046df8:	f6 c3 01             	test   $0x1,%bl
180046dfb:	74 08                	je     0x180046e05
180046dfd:	48 8b cf             	mov    %rdi,%rcx
180046e00:	e8 57 fb ff ff       	call   0x18004695c
180046e05:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
180046e0a:	48 8b c7             	mov    %rdi,%rax
180046e0d:	48 83 c4 20          	add    $0x20,%rsp
180046e11:	5f                   	pop    %rdi
180046e12:	c3                   	ret
180046e13:	cc                   	int3
180046e14:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180046e19:	4c 8b 51 70          	mov    0x70(%rcx),%r10
180046e1d:	4c 8b d9             	mov    %rcx,%r11
180046e20:	8b da                	mov    %edx,%ebx
180046e22:	4c 3b d3             	cmp    %rbx,%r10
180046e25:	74 42                	je     0x180046e69
180046e27:	48 8b 81 d8 00 00 00 	mov    0xd8(%rcx),%rax
180046e2e:	48 8b 50 08          	mov    0x8(%rax),%rdx
180046e32:	8b c3                	mov    %ebx,%eax
180046e34:	49 2b c2             	sub    %r10,%rax
180046e37:	44 8b d3             	mov    %ebx,%r10d
180046e3a:	48 0f af 41 78       	imul   0x78(%rcx),%rax
180046e3f:	4c 8b 8a a8 00 00 00 	mov    0xa8(%rdx),%r9
180046e46:	8b cb                	mov    %ebx,%ecx
180046e48:	49 01 81 c8 01 00 00 	add    %rax,0x1c8(%r9)
180046e4f:	49 8b c0             	mov    %r8,%rax
180046e52:	49 2b 4b 70          	sub    0x70(%r11),%rcx
180046e56:	49 2b 43 78          	sub    0x78(%r11),%rax
180046e5a:	48 0f af c8          	imul   %rax,%rcx
180046e5e:	49 01 89 d0 01 00 00 	add    %rcx,0x1d0(%r9)
180046e65:	49 89 5b 70          	mov    %rbx,0x70(%r11)
180046e69:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
180046e6e:	4d 0f af d0          	imul   %r8,%r10
180046e72:	4d 89 93 f0 00 00 00 	mov    %r10,0xf0(%r11)
180046e79:	c3                   	ret
180046e7a:	cc                   	int3
180046e7b:	cc                   	int3
180046e7c:	83 21 00             	andl   $0x0,(%rcx)
180046e7f:	48 8b c1             	mov    %rcx,%rax
180046e82:	48 83 61 08 00       	andq   $0x0,0x8(%rcx)
180046e87:	c3                   	ret
180046e88:	cc                   	int3
180046e89:	cc                   	int3
180046e8a:	cc                   	int3
180046e8b:	cc                   	int3
180046e8c:	40 53                	rex push %rbx
180046e8e:	48 83 ec 20          	sub    $0x20,%rsp
180046e92:	83 39 03             	cmpl   $0x3,(%rcx)
180046e95:	48 8b d9             	mov    %rcx,%rbx
180046e98:	75 09                	jne    0x180046ea3
180046e9a:	48 8b 49 08          	mov    0x8(%rcx),%rcx
180046e9e:	e8 b9 fa ff ff       	call   0x18004695c
180046ea3:	83 23 00             	andl   $0x0,(%rbx)
180046ea6:	48 83 63 08 00       	andq   $0x0,0x8(%rbx)
180046eab:	48 83 c4 20          	add    $0x20,%rsp
180046eaf:	5b                   	pop    %rbx
180046eb0:	c3                   	ret
180046eb1:	cc                   	int3
180046eb2:	cc                   	int3
180046eb3:	cc                   	int3
180046eb4:	48 8b c4             	mov    %rsp,%rax
180046eb7:	48 89 58 08          	mov    %rbx,0x8(%rax)
180046ebb:	57                   	push   %rdi
180046ebc:	48 83 ec 40          	sub    $0x40,%rsp
180046ec0:	83 60 e8 00          	andl   $0x0,-0x18(%rax)
180046ec4:	45 33 c0             	xor    %r8d,%r8d
180046ec7:	48 83 60 f0 00       	andq   $0x0,-0x10(%rax)
180046ecc:	48 8b d9             	mov    %rcx,%rbx
180046ecf:	83 60 d8 00          	andl   $0x0,-0x28(%rax)
180046ed3:	48 8d 48 d8          	lea    -0x28(%rax),%rcx
180046ed7:	48 83 60 e0 00       	andq   $0x0,-0x20(%rax)
180046edc:	41 8d 50 03          	lea    0x3(%r8),%edx
180046ee0:	e8 b7 fc ff ff       	call   0x180046b9c
180046ee5:	8b f8                	mov    %eax,%edi
180046ee7:	85 c0                	test   %eax,%eax
180046ee9:	78 1d                	js     0x180046f08
180046eeb:	0f 10 4c 24 20       	movups 0x20(%rsp),%xmm1
180046ef0:	83 64 24 20 00       	andl   $0x0,0x20(%rsp)
180046ef5:	0f 10 03             	movups (%rbx),%xmm0
180046ef8:	48 83 64 24 28 00    	andq   $0x0,0x28(%rsp)
180046efe:	f3 0f 7f 0b          	movdqu %xmm1,(%rbx)
180046f02:	f3 0f 7f 44 24 30    	movdqu %xmm0,0x30(%rsp)
180046f08:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
180046f0d:	e8 7a ff ff ff       	call   0x180046e8c
180046f12:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
180046f17:	e8 70 ff ff ff       	call   0x180046e8c
180046f1c:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
180046f21:	8b c7                	mov    %edi,%eax
180046f23:	48 83 c4 40          	add    $0x40,%rsp
180046f27:	5f                   	pop    %rdi
180046f28:	c3                   	ret
180046f29:	cc                   	int3
180046f2a:	cc                   	int3
180046f2b:	cc                   	int3
180046f2c:	40 53                	rex push %rbx
180046f2e:	48 83 ec 20          	sub    $0x20,%rsp
180046f32:	48 8b 42 08          	mov    0x8(%rdx),%rax
180046f36:	33 db                	xor    %ebx,%ebx
180046f38:	45 8b d0             	mov    %r8d,%r10d
180046f3b:	4c 8b d9             	mov    %rcx,%r11
180046f3e:	48 85 c0             	test   %rax,%rax
180046f41:	75 07                	jne    0x180046f4a
180046f43:	bb 9a 00 00 c0       	mov    $0xc000009a,%ebx
180046f48:	eb 15                	jmp    0x180046f5f
180046f4a:	44 8b 44 24 50       	mov    0x50(%rsp),%r8d
180046f4f:	4a 8d 14 10          	lea    (%rax,%r10,1),%rdx
180046f53:	41 8b c9             	mov    %r9d,%ecx
180046f56:	49 03 4b 08          	add    0x8(%r11),%rcx
180046f5a:	e8 61 ea 0e 00       	call   0x1801359c0
180046f5f:	8b c3                	mov    %ebx,%eax
180046f61:	48 83 c4 20          	add    $0x20,%rsp
180046f65:	5b                   	pop    %rbx
180046f66:	c3                   	ret
180046f67:	cc                   	int3
180046f68:	83 89 8c 00 00 00 ff 	orl    $0xffffffff,0x8c(%rcx)
180046f6f:	48 8d 05 b2 c4 0f 00 	lea    0xfc4b2(%rip),%rax        # 0x180143428
180046f76:	33 d2                	xor    %edx,%edx
180046f78:	48 89 01             	mov    %rax,(%rcx)
180046f7b:	48 8d 41 18          	lea    0x18(%rcx),%rax
180046f7f:	89 51 60             	mov    %edx,0x60(%rcx)
180046f82:	48 89 40 08          	mov    %rax,0x8(%rax)
180046f86:	48 89 00             	mov    %rax,(%rax)
180046f89:	48 8d 41 28          	lea    0x28(%rcx),%rax
180046f8d:	48 89 40 08          	mov    %rax,0x8(%rax)
180046f91:	48 89 00             	mov    %rax,(%rax)
180046f94:	48 8d 41 50          	lea    0x50(%rcx),%rax
180046f98:	48 89 40 08          	mov    %rax,0x8(%rax)
180046f9c:	48 89 00             	mov    %rax,(%rax)
180046f9f:	83 c8 ff             	or     $0xffffffff,%eax
180046fa2:	89 81 84 00 00 00    	mov    %eax,0x84(%rcx)
180046fa8:	89 81 88 00 00 00    	mov    %eax,0x88(%rcx)
180046fae:	89 81 94 00 00 00    	mov    %eax,0x94(%rcx)
180046fb4:	48 8d 81 b0 00 00 00 	lea    0xb0(%rcx),%rax
180046fbb:	48 89 40 08          	mov    %rax,0x8(%rax)
180046fbf:	48 89 00             	mov    %rax,(%rax)
180046fc2:	48 8d 81 c0 00 00 00 	lea    0xc0(%rcx),%rax
180046fc9:	48 89 40 08          	mov    %rax,0x8(%rax)
180046fcd:	48 89 00             	mov    %rax,(%rax)
180046fd0:	48 8b c1             	mov    %rcx,%rax
180046fd3:	48 89 51 68          	mov    %rdx,0x68(%rcx)
180046fd7:	48 89 49 08          	mov    %rcx,0x8(%rcx)
180046fdb:	48 89 51 10          	mov    %rdx,0x10(%rcx)
180046fdf:	48 89 51 38          	mov    %rdx,0x38(%rcx)
180046fe3:	48 89 51 40          	mov    %rdx,0x40(%rcx)
180046fe7:	48 89 51 48          	mov    %rdx,0x48(%rcx)
180046feb:	48 89 51 70          	mov    %rdx,0x70(%rcx)
180046fef:	48 89 51 78          	mov    %rdx,0x78(%rcx)
180046ff3:	89 91 80 00 00 00    	mov    %edx,0x80(%rcx)
180046ff9:	89 91 90 00 00 00    	mov    %edx,0x90(%rcx)
180046fff:	66 c7 81 98 00 00 00 	movw   $0xff,0x98(%rcx)
180047006:	ff 00
180047008:	88 91 9a 00 00 00    	mov    %dl,0x9a(%rcx)
18004700e:	89 91 9c 00 00 00    	mov    %edx,0x9c(%rcx)
180047014:	89 91 a0 00 00 00    	mov    %edx,0xa0(%rcx)
18004701a:	89 91 a4 00 00 00    	mov    %edx,0xa4(%rcx)
180047020:	48 89 91 a8 00 00 00 	mov    %rdx,0xa8(%rcx)
180047027:	48 89 91 d0 00 00 00 	mov    %rdx,0xd0(%rcx)
18004702e:	48 89 91 d8 00 00 00 	mov    %rdx,0xd8(%rcx)
180047035:	c3                   	ret
180047036:	cc                   	int3
180047037:	cc                   	int3