180042948:	48 8b 02             	mov    (%rdx),%rax
18004294b:	48 3b 05 d6 9c 10 00 	cmp    0x109cd6(%rip),%rax        # 0x18014c628
180042952:	75 0d                	jne    0x180042961
180042954:	48 8b 42 08          	mov    0x8(%rdx),%rax
180042958:	48 3b 05 d1 9c 10 00 	cmp    0x109cd1(%rip),%rax        # 0x18014c630
18004295f:	74 24                	je     0x180042985
180042961:	49 8b ce             	mov    %r14,%rcx
180042964:	e8 7b 78 0f 00       	call   0x18013a1e4
180042969:	48 8b c8             	mov    %rax,%rcx
18004296c:	48 85 c0             	test   %rax,%rax
18004296f:	0f 84 5e ff ff ff    	je     0x1800428d3
180042975:	8b 40 18             	mov    0x18(%rax),%eax
180042978:	89 87 84 00 00 00    	mov    %eax,0x84(%rdi)
18004297e:	48 89 8f c0 00 00 00 	mov    %rcx,0xc0(%rdi)
180042985:	48 8b 8f c0 00 00 00 	mov    0xc0(%rdi),%rcx
18004298c:	44 8b 4f 58          	mov    0x58(%rdi),%r9d
180042990:	48 85 c9             	test   %rcx,%rcx
180042993:	74 2a                	je     0x1800429bf
180042995:	e8 d6 bf 0f 00       	call   0x18013e970
18004299a:	48 8b f0             	mov    %rax,%rsi
18004299d:	0f 10 40 58          	movups 0x58(%rax),%xmm0
1800429a1:	0f 11 47 48          	movups %xmm0,0x48(%rdi)
1800429a5:	0f 10 48 68          	movups 0x68(%rax),%xmm1
1800429a9:	0f 11 4f 58          	movups %xmm1,0x58(%rdi)
1800429ad:	0f 10 40 78          	movups 0x78(%rax),%xmm0
1800429b1:	0f 11 47 68          	movups %xmm0,0x68(%rdi)
1800429b5:	f2 0f 10 88 88 00 00 	movsd  0x88(%rax),%xmm1
1800429bc:	00
1800429bd:	eb 61                	jmp    0x180042a20
1800429bf:	49 8b 8e d8 00 00 00 	mov    0xd8(%r14),%rcx
1800429c6:	e8 a5 bf 0f 00       	call   0x18013e970
1800429cb:	4c 8b c0             	mov    %rax,%r8
1800429ce:	8b cb                	mov    %ebx,%ecx
1800429d0:	8b 80 80 00 00 00    	mov    0x80(%rax),%eax
1800429d6:	49 8d 90 84 00 00 00 	lea    0x84(%r8),%rdx
1800429dd:	39 02                	cmp    %eax,(%rdx)
1800429df:	74 10                	je     0x1800429f1
1800429e1:	ff c1                	inc    %ecx
1800429e3:	48 83 c2 18          	add    $0x18,%rdx
1800429e7:	83 f9 03             	cmp    $0x3,%ecx
1800429ea:	72 f1                	jb     0x1800429dd
1800429ec:	e9 e2 fe ff ff       	jmp    0x1800428d3
1800429f1:	41 0f 10 40 60       	movups 0x60(%r8),%xmm0
1800429f6:	8b c1                	mov    %ecx,%eax
1800429f8:	0f 11 47 48          	movups %xmm0,0x48(%rdi)
1800429fc:	41 0f 10 48 70       	movups 0x70(%r8),%xmm1
180042a01:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
180042a05:	0f 11 4f 58          	movups %xmm1,0x58(%rdi)
180042a09:	41 0f 10 84 c8 84 00 	movups 0x84(%r8,%rcx,8),%xmm0
180042a10:	00 00
180042a12:	0f 11 47 68          	movups %xmm0,0x68(%rdi)
180042a16:	f2 41 0f 10 8c c8 94 	movsd  0x94(%r8,%rcx,8),%xmm1
180042a1d:	00 00 00
180042a20:	f2 0f 11 4f 78       	movsd  %xmm1,0x78(%rdi)
180042a25:	44 89 4f 58          	mov    %r9d,0x58(%rdi)
180042a29:	48 85 f6             	test   %rsi,%rsi
180042a2c:	74 0e                	je     0x180042a3c
180042a2e:	48 8b 57 10          	mov    0x10(%rdi),%rdx
180042a32:	48 8b ce             	mov    %rsi,%rcx
180042a35:	e8 fe f6 ff ff       	call   0x180042138
180042a3a:	8b d8                	mov    %eax,%ebx
180042a3c:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
180042a41:	8b c3                	mov    %ebx,%eax
180042a43:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
180042a48:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
180042a4d:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
180042a52:	48 83 c4 20          	add    $0x20,%rsp
180042a56:	41 5e                	pop    %r14
180042a58:	c3                   	ret
180042a59:	cc                   	int3
180042a5a:	cc                   	int3
180042a5b:	cc                   	int3
180042a5c:	48 8b c4             	mov    %rsp,%rax
180042a5f:	48 89 58 08          	mov    %rbx,0x8(%rax)
180042a63:	48 89 68 10          	mov    %rbp,0x10(%rax)
180042a67:	48 89 70 18          	mov    %rsi,0x18(%rax)
180042a6b:	48 89 78 20          	mov    %rdi,0x20(%rax)
180042a6f:	41 56                	push   %r14
180042a71:	48 83 ec 20          	sub    $0x20,%rsp
180042a75:	48 8b d9             	mov    %rcx,%rbx
180042a78:	49 8b e8             	mov    %r8,%rbp
180042a7b:	8b 89 88 00 00 00    	mov    0x88(%rcx),%ecx
180042a81:	4c 8b f2             	mov    %rdx,%r14
180042a84:	ff c1                	inc    %ecx
180042a86:	33 ff                	xor    %edi,%edi
180042a88:	c1 e1 04             	shl    $0x4,%ecx
180042a8b:	e8 84 3e 00 00       	call   0x180046914
180042a90:	48 8b f0             	mov    %rax,%rsi
180042a93:	48 85 c0             	test   %rax,%rax
180042a96:	75 07                	jne    0x180042a9f
180042a98:	bf 9a 00 00 c0       	mov    $0xc000009a,%edi
180042a9d:	eb 71                	jmp    0x180042b10
180042a9f:	44 8b c7             	mov    %edi,%r8d
180042aa2:	39 bb 88 00 00 00    	cmp    %edi,0x88(%rbx)
180042aa8:	76 32                	jbe    0x180042adc
180042aaa:	48 8b 83 a0 00 00 00 	mov    0xa0(%rbx),%rax
180042ab1:	41 8b d0             	mov    %r8d,%edx
180042ab4:	41 ff c0             	inc    %r8d
180042ab7:	48 03 d2             	add    %rdx,%rdx
180042aba:	48 8b 0c d0          	mov    (%rax,%rdx,8),%rcx
180042abe:	48 89 0c d6          	mov    %rcx,(%rsi,%rdx,8)
180042ac2:	48 8b 83 a0 00 00 00 	mov    0xa0(%rbx),%rax
180042ac9:	48 8b 4c d0 08       	mov    0x8(%rax,%rdx,8),%rcx
180042ace:	48 89 4c d6 08       	mov    %rcx,0x8(%rsi,%rdx,8)
180042ad3:	44 3b 83 88 00 00 00 	cmp    0x88(%rbx),%r8d
180042ada:	72 ce                	jb     0x180042aaa
180042adc:	41 8b c0             	mov    %r8d,%eax
180042adf:	48 03 c0             	add    %rax,%rax
180042ae2:	4c 89 34 c6          	mov    %r14,(%rsi,%rax,8)
180042ae6:	48 89 6c c6 08       	mov    %rbp,0x8(%rsi,%rax,8)
180042aeb:	ff 83 88 00 00 00    	incl   0x88(%rbx)
180042af1:	48 01 ab c8 00 00 00 	add    %rbp,0xc8(%rbx)
180042af8:	48 8b 8b a0 00 00 00 	mov    0xa0(%rbx),%rcx
180042aff:	48 85 c9             	test   %rcx,%rcx
180042b02:	74 05                	je     0x180042b09
180042b04:	e8 53 3e 00 00       	call   0x18004695c
180042b09:	48 89 b3 a0 00 00 00 	mov    %rsi,0xa0(%rbx)
180042b10:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
180042b15:	8b c7                	mov    %edi,%eax
180042b17:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
180042b1c:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
180042b21:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
180042b26:	48 83 c4 20          	add    $0x20,%rsp
180042b2a:	41 5e                	pop    %r14
180042b2c:	c3                   	ret
180042b2d:	cc                   	int3
180042b2e:	cc                   	int3
180042b2f:	cc                   	int3
180042b30:	83 49 48 ff          	orl    $0xffffffff,0x48(%rcx)
180042b34:	48 8d 05 85 03 10 00 	lea    0x100385(%rip),%rax        # 0x180142ec0
180042b3b:	33 d2                	xor    %edx,%edx
180042b3d:	48 89 01             	mov    %rax,(%rcx)
180042b40:	48 8b c1             	mov    %rcx,%rax
180042b43:	48 89 51 08          	mov    %rdx,0x8(%rcx)
180042b47:	48 89 51 10          	mov    %rdx,0x10(%rcx)
180042b4b:	66 89 51 18          	mov    %dx,0x18(%rcx)
180042b4f:	66 89 51 4c          	mov    %dx,0x4c(%rcx)
180042b53:	c3                   	ret
180042b54:	cc                   	int3
180042b55:	cc                   	int3
180042b56:	cc                   	int3
180042b57:	cc                   	int3
180042b58:	40 53                	rex push %rbx
180042b5a:	48 83 ec 20          	sub    $0x20,%rsp
180042b5e:	48 8b d9             	mov    %rcx,%rbx
180042b61:	b9 58 00 00 00       	mov    $0x58,%ecx
180042b66:	e8 a9 3d 00 00       	call   0x180046914
180042b6b:	33 d2                	xor    %edx,%edx
180042b6d:	48 85 c0             	test   %rax,%rax
180042b70:	74 20                	je     0x180042b92
180042b72:	83 48 48 ff          	orl    $0xffffffff,0x48(%rax)
180042b76:	48 8d 0d 43 03 10 00 	lea    0x100343(%rip),%rcx        # 0x180142ec0
180042b7d:	48 89 08             	mov    %rcx,(%rax)
180042b80:	48 89 50 08          	mov    %rdx,0x8(%rax)
180042b84:	48 89 50 10          	mov    %rdx,0x10(%rax)
180042b88:	66 89 50 18          	mov    %dx,0x18(%rax)
180042b8c:	66 89 50 4c          	mov    %dx,0x4c(%rax)
180042b90:	eb 03                	jmp    0x180042b95
180042b92:	48 8b c2             	mov    %rdx,%rax
180042b95:	48 85 c0             	test   %rax,%rax
180042b98:	74 30                	je     0x180042bca
180042b9a:	0f 10 03             	movups (%rbx),%xmm0
180042b9d:	0f 11 00             	movups %xmm0,(%rax)
180042ba0:	0f 10 4b 10          	movups 0x10(%rbx),%xmm1
180042ba4:	0f 11 48 10          	movups %xmm1,0x10(%rax)
180042ba8:	0f 10 43 20          	movups 0x20(%rbx),%xmm0
180042bac:	0f 11 40 20          	movups %xmm0,0x20(%rax)
180042bb0:	0f 10 4b 30          	movups 0x30(%rbx),%xmm1
180042bb4:	0f 11 48 30          	movups %xmm1,0x30(%rax)
180042bb8:	0f 10 43 40          	movups 0x40(%rbx),%xmm0
180042bbc:	0f 11 40 40          	movups %xmm0,0x40(%rax)
180042bc0:	f2 0f 10 4b 50       	movsd  0x50(%rbx),%xmm1
180042bc5:	f2 0f 11 48 50       	movsd  %xmm1,0x50(%rax)
180042bca:	48 83 c4 20          	add    $0x20,%rsp
180042bce:	5b                   	pop    %rbx
180042bcf:	c3                   	ret
180042bd0:	cc                   	int3
180042bd1:	cc                   	int3
180042bd2:	cc                   	int3
180042bd3:	cc                   	int3
180042bd4:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180042bd9:	57                   	push   %rdi
180042bda:	48 83 ec 20          	sub    $0x20,%rsp
180042bde:	0f b6 42 11          	movzbl 0x11(%rdx),%eax
180042be2:	48 8d 3d 17 d4 fb ff 	lea    -0x42be9(%rip),%rdi        # 0x180000000
180042be9:	4c 8b d2             	mov    %rdx,%r10
180042bec:	88 41 18             	mov    %al,0x18(%rcx)
180042bef:	8b d0                	mov    %eax,%edx
180042bf1:	48 8b d9             	mov    %rcx,%rbx
180042bf4:	48 03 d2             	add    %rdx,%rdx
180042bf7:	4c 8b c9             	mov    %rcx,%r9
180042bfa:	49 8b ca             	mov    %r10,%rcx
180042bfd:	44 8b 84 d7 f0 e0 14 	mov    0x14e0f0(%rdi,%rdx,8),%r8d
180042c04:	00
180042c05:	48 8b 94 d7 f8 e0 14 	mov    0x14e0f8(%rdi,%rdx,8),%rdx
180042c0c:	00
180042c0d:	e8 96 4b 00 00       	call   0x1800477a8
180042c12:	85 c0                	test   %eax,%eax
180042c14:	78 1b                	js     0x180042c31
180042c16:	0f b6 4b 18          	movzbl 0x18(%rbx),%ecx
180042c1a:	8b 94 8f 40 dc 14 00 	mov    0x14dc40(%rdi,%rcx,4),%edx
180042c21:	0f b7 4b 4c          	movzwl 0x4c(%rbx),%ecx
180042c25:	f7 d2                	not    %edx
180042c27:	85 d1                	test   %edx,%ecx
180042c29:	b9 0d 00 00 c0       	mov    $0xc000000d,%ecx
180042c2e:	0f 45 c1             	cmovne %ecx,%eax
180042c31:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
180042c36:	48 83 c4 20          	add    $0x20,%rsp
180042c3a:	5f                   	pop    %rdi
180042c3b:	c3                   	ret
180042c3c:	cc                   	int3
180042c3d:	cc                   	int3
180042c3e:	cc                   	int3
180042c3f:	cc                   	int3
180042c40:	48 8b c4             	mov    %rsp,%rax
180042c43:	48 89 58 08          	mov    %rbx,0x8(%rax)
180042c47:	48 89 68 10          	mov    %rbp,0x10(%rax)
180042c4b:	48 89 70 18          	mov    %rsi,0x18(%rax)
180042c4f:	48 89 78 20          	mov    %rdi,0x20(%rax)
180042c53:	41 54                	push   %r12
180042c55:	41 56                	push   %r14
180042c57:	41 57                	push   %r15
180042c59:	48 83 ec 20          	sub    $0x20,%rsp
180042c5d:	48 8b 41 10          	mov    0x10(%rcx),%rax
180042c61:	48 8b d9             	mov    %rcx,%rbx
180042c64:	4c 8b f2             	mov    %rdx,%r14
180042c67:	48 8b 48 10          	mov    0x10(%rax),%rcx
180042c6b:	48 8b 89 d8 00 00 00 	mov    0xd8(%rcx),%rcx
180042c72:	e8 f9 bc 0f 00       	call   0x18013e970
180042c77:	0f b6 7a 11          	movzbl 0x11(%rdx),%edi
180042c7b:	48 8b cb             	mov    %rbx,%rcx
180042c7e:	4c 8b e0             	mov    %rax,%r12
180042c81:	33 f6                	xor    %esi,%esi
180042c83:	e8 b8 04 00 00       	call   0x180043140
180042c88:	48 8b c8             	mov    %rax,%rcx
180042c8b:	e8 e0 bc 0f 00       	call   0x18013e970
180042c90:	8b a8 80 00 00 00    	mov    0x80(%rax),%ebp
180042c96:	40 80 ff 02          	cmp    $0x2,%dil
180042c9a:	73 0c                	jae    0x180042ca8
180042c9c:	8b c5                	mov    %ebp,%eax
180042c9e:	0f af 43 40          	imul   0x40(%rbx),%eax
180042ca2:	03 43 44             	add    0x44(%rbx),%eax
180042ca5:	89 43 40             	mov    %eax,0x40(%rbx)
180042ca8:	40 80 ff 04          	cmp    $0x4,%dil
180042cac:	73 17                	jae    0x180042cc5
180042cae:	f6 43 4c 04          	testb  $0x4,0x4c(%rbx)
180042cb2:	74 11                	je     0x180042cc5
180042cb4:	8b 73 38             	mov    0x38(%rbx),%esi
180042cb7:	48 8b cb             	mov    %rbx,%rcx
180042cba:	e8 81 04 00 00       	call   0x180043140
180042cbf:	8b 48 18             	mov    0x18(%rax),%ecx
180042cc2:	89 4b 38             	mov    %ecx,0x38(%rbx)
180042cc5:	44 0f b7 7b 4c       	movzwl 0x4c(%rbx),%r15d
180042cca:	4c 8d 15 2f d3 fb ff 	lea    -0x42cd1(%rip),%r10        # 0x180000000
180042cd1:	41 0f b7 84 ba 40 dc 	movzwl 0x14dc40(%r10,%rdi,4),%eax
180042cd8:	14 00
180042cda:	33 d2                	xor    %edx,%edx
180042cdc:	66 41 23 c7          	and    %r15w,%ax
180042ce0:	48 8b cf             	mov    %rdi,%rcx
180042ce3:	66 89 43 4c          	mov    %ax,0x4c(%rbx)
180042ce7:	48 03 c9             	add    %rcx,%rcx
180042cea:	48 8b 43 28          	mov    0x28(%rbx),%rax
180042cee:	4c 8b cb             	mov    %rbx,%r9
180042cf1:	49 f7 74 24 58       	divq   0x58(%r12)
180042cf6:	33 d2                	xor    %edx,%edx
180042cf8:	48 89 43 28          	mov    %rax,0x28(%rbx)
180042cfc:	48 8b 43 30          	mov    0x30(%rbx),%rax
180042d00:	49 f7 74 24 58       	divq   0x58(%r12)
180042d05:	33 d2                	xor    %edx,%edx
180042d07:	48 89 43 30          	mov    %rax,0x30(%rbx)
180042d0b:	48 8b 43 20          	mov    0x20(%rbx),%rax
180042d0f:	49 f7 74 24 58       	divq   0x58(%r12)
180042d14:	48 89 43 20          	mov    %rax,0x20(%rbx)
180042d18:	45 8b 84 ca f0 e0 14 	mov    0x14e0f0(%r10,%rcx,8),%r8d
180042d1f:	00
180042d20:	49 8b 94 ca f8 e0 14 	mov    0x14e0f8(%r10,%rcx,8),%rdx
180042d27:	00
180042d28:	49 8b ce             	mov    %r14,%rcx
180042d2b:	e8 00 4b 00 00       	call   0x180047830
180042d30:	48 8b 43 28          	mov    0x28(%rbx),%rax
180042d34:	49 0f af 44 24 58    	imul   0x58(%r12),%rax
180042d3a:	48 89 43 28          	mov    %rax,0x28(%rbx)
180042d3e:	48 8b 43 30          	mov    0x30(%rbx),%rax
180042d42:	49 0f af 44 24 58    	imul   0x58(%r12),%rax
180042d48:	48 89 43 30          	mov    %rax,0x30(%rbx)
180042d4c:	48 8b 43 20          	mov    0x20(%rbx),%rax
180042d50:	49 0f af 44 24 58    	imul   0x58(%r12),%rax
180042d56:	66 44 89 7b 4c       	mov    %r15w,0x4c(%rbx)
180042d5b:	48 89 43 20          	mov    %rax,0x20(%rbx)
180042d5f:	40 80 ff 04          	cmp    $0x4,%dil
180042d63:	73 09                	jae    0x180042d6e
180042d65:	41 f6 c7 04          	test   $0x4,%r15b
180042d69:	74 03                	je     0x180042d6e
180042d6b:	89 73 38             	mov    %esi,0x38(%rbx)
180042d6e:	40 80 ff 02          	cmp    $0x2,%dil
180042d72:	73 0a                	jae    0x180042d7e
180042d74:	8b 43 40             	mov    0x40(%rbx),%eax
180042d77:	33 d2                	xor    %edx,%edx
180042d79:	f7 f5                	div    %ebp
180042d7b:	89 43 40             	mov    %eax,0x40(%rbx)
180042d7e:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
180042d83:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
180042d88:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
180042d8d:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
180042d92:	48 83 c4 20          	add    $0x20,%rsp
180042d96:	41 5f                	pop    %r15
180042d98:	41 5e                	pop    %r14
180042d9a:	41 5c                	pop    %r12
180042d9c:	c3                   	ret
180042d9d:	cc                   	int3
180042d9e:	cc                   	int3
180042d9f:	cc                   	int3
180042da0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180042da5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
180042daa:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
180042daf:	57                   	push   %rdi
180042db0:	41 54                	push   %r12
180042db2:	41 55                	push   %r13
180042db4:	41 56                	push   %r14
180042db6:	41 57                	push   %r15
180042db8:	48 83 ec 20          	sub    $0x20,%rsp
180042dbc:	48 8b 41 10          	mov    0x10(%rcx),%rax
180042dc0:	48 8b e9             	mov    %rcx,%rbp
180042dc3:	48 8b 48 10          	mov    0x10(%rax),%rcx
180042dc7:	48 8b 89 d8 00 00 00 	mov    0xd8(%rcx),%rcx
180042dce:	e8 9d bb 0f 00       	call   0x18013e970
180042dd3:	48 8b cd             	mov    %rbp,%rcx
180042dd6:	4c 8b e8             	mov    %rax,%r13
180042dd9:	45 33 ff             	xor    %r15d,%r15d
180042ddc:	e8 5f 03 00 00       	call   0x180043140
180042de1:	48 8b c8             	mov    %rax,%rcx
180042de4:	e8 87 bb 0f 00       	call   0x18013e970
180042de9:	44 0f b6 75 18       	movzbl 0x18(%rbp),%r14d
180042dee:	44 8b a0 80 00 00 00 	mov    0x80(%rax),%r12d
180042df5:	41 80 fe 02          	cmp    $0x2,%r14b
180042df9:	73 0d                	jae    0x180042e08
180042dfb:	41 8b c4             	mov    %r12d,%eax
180042dfe:	0f af 45 40          	imul   0x40(%rbp),%eax
180042e02:	03 45 44             	add    0x44(%rbp),%eax
180042e05:	89 45 40             	mov    %eax,0x40(%rbp)
180042e08:	41 80 fe 04          	cmp    $0x4,%r14b
180042e0c:	73 27                	jae    0x180042e35
180042e0e:	0f b7 5d 4c          	movzwl 0x4c(%rbp),%ebx
180042e12:	f6 c3 04             	test   $0x4,%bl
180042e15:	74 1e                	je     0x180042e35
180042e17:	44 8b 7d 38          	mov    0x38(%rbp),%r15d
180042e1b:	48 8b cd             	mov    %rbp,%rcx
180042e1e:	e8 1d 03 00 00       	call   0x180043140
180042e23:	8b 48 18             	mov    0x18(%rax),%ecx
180042e26:	b8 fb ff 00 00       	mov    $0xfffb,%eax