180089c91:	49 3b c5             	cmp    %r13,%rax
180089c94:	75 f4                	jne    0x180089c8a
180089c96:	85 ff                	test   %edi,%edi
180089c98:	0f 84 0b 01 00 00    	je     0x180089da9
180089c9e:	83 64 24 30 00       	andl   $0x0,0x30(%rsp)
180089ca3:	48 8d 0c 49          	lea    (%rcx,%rcx,2),%rcx
180089ca7:	48 83 64 24 28 00    	andq   $0x0,0x28(%rsp)
180089cad:	48 8d 34 8d 0f 10 00 	lea    0x100f(,%rcx,4),%rsi
180089cb4:	00
180089cb5:	48 c1 ee 0c          	shr    $0xc,%rsi
180089cb9:	48 8d 4d 30          	lea    0x30(%rbp),%rcx
180089cbd:	48 8b d6             	mov    %rsi,%rdx
180089cc0:	c7 44 24 20 01 00 00 	movl   $0x1,0x20(%rsp)
180089cc7:	00
180089cc8:	41 b9 00 00 00 10    	mov    $0x10000000,%r9d
180089cce:	41 b8 0a 00 00 d0    	mov    $0xd000000a,%r8d
180089cd4:	e8 13 dc 00 00       	call   0x1800978ec
180089cd9:	48 8b 5d 30          	mov    0x30(%rbp),%rbx
180089cdd:	44 8b f0             	mov    %eax,%r14d
180089ce0:	85 c0                	test   %eax,%eax
180089ce2:	78 31                	js     0x180089d15
180089ce4:	83 64 24 20 00       	andl   $0x0,0x20(%rsp)
180089ce9:	48 8d 4d 30          	lea    0x30(%rbp),%rcx
180089ced:	4c 8b fe             	mov    %rsi,%r15
180089cf0:	45 33 c9             	xor    %r9d,%r9d
180089cf3:	49 c1 e7 0c          	shl    $0xc,%r15
180089cf7:	48 8b d3             	mov    %rbx,%rdx
180089cfa:	4d 8b c7             	mov    %r15,%r8
180089cfd:	e8 1e 08 01 00       	call   0x18009a520
180089d02:	44 8b f0             	mov    %eax,%r14d
180089d05:	85 c0                	test   %eax,%eax
180089d07:	79 27                	jns    0x180089d30
180089d09:	48 8b cb             	mov    %rbx,%rcx
180089d0c:	e8 4b de 00 00       	call   0x180097b5c
180089d11:	48 8b 5d 30          	mov    0x30(%rbp),%rbx
180089d15:	48 8b 75 30          	mov    0x30(%rbp),%rsi
180089d19:	48 8b 05 38 2c 0e 00 	mov    0xe2c38(%rip),%rax        # 0x18016c958
180089d20:	48 8b 48 08          	mov    0x8(%rax),%rcx
180089d24:	4c 39 28             	cmp    %r13,(%rax)
180089d27:	74 65                	je     0x180089d8e
180089d29:	b9 03 00 00 00       	mov    $0x3,%ecx
180089d2e:	cd 29                	int    $0x29
180089d30:	48 8b 4d 30          	mov    0x30(%rbp),%rcx
180089d34:	33 d2                	xor    %edx,%edx
180089d36:	4c 8b 0d 13 2c 0e 00 	mov    0xe2c13(%rip),%r9        # 0x18016c950
180089d3d:	89 39                	mov    %edi,(%rcx)
180089d3f:	eb 1f                	jmp    0x180089d60
180089d41:	f2 41 0f 10 41 10    	movsd  0x10(%r9),%xmm0
180089d47:	4c 8d 04 52          	lea    (%rdx,%rdx,2),%r8
180089d4b:	f2 42 0f 11 44 81 04 	movsd  %xmm0,0x4(%rcx,%r8,4)
180089d52:	ff c2                	inc    %edx
180089d54:	41 8b 41 18          	mov    0x18(%r9),%eax
180089d58:	42 89 44 81 0c       	mov    %eax,0xc(%rcx,%r8,4)
180089d5d:	4d 8b 09             	mov    (%r9),%r9
180089d60:	4d 3b cd             	cmp    %r13,%r9
180089d63:	75 dc                	jne    0x180089d41
180089d65:	45 33 c0             	xor    %r8d,%r8d
180089d68:	49 8b d7             	mov    %r15,%rdx
180089d6b:	e8 fc 0a 01 00       	call   0x18009a86c
180089d70:	48 c1 eb 0c          	shr    $0xc,%rbx
180089d74:	eb a3                	jmp    0x180089d19
180089d76:	48 8b c8             	mov    %rax,%rcx
180089d79:	e8 7e 02 01 00       	call   0x180099ffc
180089d7e:	48 8b 05 d3 2b 0e 00 	mov    0xe2bd3(%rip),%rax        # 0x18016c958
180089d85:	4c 39 28             	cmp    %r13,(%rax)
180089d88:	75 9f                	jne    0x180089d29
180089d8a:	48 8b 48 08          	mov    0x8(%rax),%rcx
180089d8e:	48 39 01             	cmp    %rax,(%rcx)
180089d91:	75 96                	jne    0x180089d29
180089d93:	48 89 0d be 2b 0e 00 	mov    %rcx,0xe2bbe(%rip)        # 0x18016c958
180089d9a:	4c 89 29             	mov    %r13,(%rcx)
180089d9d:	49 3b c5             	cmp    %r13,%rax
180089da0:	75 d4                	jne    0x180089d76
180089da2:	45 85 f6             	test   %r14d,%r14d
180089da5:	78 26                	js     0x180089dcd
180089da7:	eb 07                	jmp    0x180089db0
180089da9:	33 db                	xor    %ebx,%ebx
180089dab:	33 f6                	xor    %esi,%esi
180089dad:	45 33 f6             	xor    %r14d,%r14d
180089db0:	48 8b 05 29 ac 11 00 	mov    0x11ac29(%rip),%rax        # 0x1801a49e0
180089db7:	8b 48 34             	mov    0x34(%rax),%ecx
180089dba:	48 89 74 01 0c       	mov    %rsi,0xc(%rcx,%rax,1)
180089dbf:	48 89 5c 01 14       	mov    %rbx,0x14(%rcx,%rax,1)
180089dc4:	80 3d d9 9a 11 00 00 	cmpb   $0x0,0x119ad9(%rip)        # 0x1801a38a4
180089dcb:	75 76                	jne    0x180089e43
180089dcd:	83 65 f8 00          	andl   $0x0,-0x8(%rbp)
180089dd1:	48 8d 45 e8          	lea    -0x18(%rbp),%rax
180089dd5:	48 83 65 e8 00       	andq   $0x0,-0x18(%rbp)
180089dda:	48 8d 55 e0          	lea    -0x20(%rbp),%rdx
180089dde:	83 65 f4 00          	andl   $0x0,-0xc(%rbp)
180089de2:	48 8d 4d d0          	lea    -0x30(%rbp),%rcx
180089de6:	83 65 f0 00          	andl   $0x0,-0x10(%rbp)
180089dea:	41 b9 00 10 00 00    	mov    $0x1000,%r9d
180089df0:	41 b8 00 01 00 00    	mov    $0x100,%r8d
180089df6:	48 89 45 e0          	mov    %rax,-0x20(%rbp)
180089dfa:	e8 8d dd 00 00       	call   0x180097b8c
180089dff:	85 c0                	test   %eax,%eax
180089e01:	78 37                	js     0x180089e3a
180089e03:	48 8b 5d d0          	mov    -0x30(%rbp),%rbx
180089e07:	eb 28                	jmp    0x180089e31
180089e09:	48 8b 4b 18          	mov    0x18(%rbx),%rcx
180089e0d:	48 85 c9             	test   %rcx,%rcx
180089e10:	74 0b                	je     0x180089e1d
180089e12:	48 c1 e1 0c          	shl    $0xc,%rcx
180089e16:	e8 15 dd 00 00       	call   0x180097b30
180089e1b:	eb 0d                	jmp    0x180089e2a
180089e1d:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
180089e21:	48 c1 e1 0c          	shl    $0xc,%rcx
180089e25:	e8 32 dd 00 00       	call   0x180097b5c
180089e2a:	85 c0                	test   %eax,%eax
180089e2c:	78 0c                	js     0x180089e3a
180089e2e:	48 8b 1b             	mov    (%rbx),%rbx
180089e31:	48 8d 45 d0          	lea    -0x30(%rbp),%rax
180089e35:	48 3b d8             	cmp    %rax,%rbx
180089e38:	75 cf                	jne    0x180089e09
180089e3a:	48 8d 4d e0          	lea    -0x20(%rbp),%rcx
180089e3e:	e8 09 e3 00 00       	call   0x18009814c
180089e43:	4c 8d 5c 24 70       	lea    0x70(%rsp),%r11
180089e48:	41 8b c6             	mov    %r14d,%eax
180089e4b:	49 8b 5b 38          	mov    0x38(%r11),%rbx
180089e4f:	49 8b 73 40          	mov    0x40(%r11),%rsi
180089e53:	49 8b e3             	mov    %r11,%rsp
180089e56:	41 5f                	pop    %r15
180089e58:	41 5e                	pop    %r14
180089e5a:	41 5d                	pop    %r13
180089e5c:	5f                   	pop    %rdi
180089e5d:	5d                   	pop    %rbp
180089e5e:	c3                   	ret
180089e5f:	cc                   	int3
180089e60:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180089e65:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
180089e6a:	48 89 7c 24 18       	mov    %rdi,0x18(%rsp)
180089e6f:	41 56                	push   %r14
180089e71:	48 83 ec 20          	sub    $0x20,%rsp
180089e75:	48 8b 39             	mov    (%rcx),%rdi
180089e78:	33 f6                	xor    %esi,%esi
180089e7a:	4c 8b f1             	mov    %rcx,%r14
180089e7d:	48 3b f9             	cmp    %rcx,%rdi
180089e80:	74 27                	je     0x180089ea9
180089e82:	8b 57 18             	mov    0x18(%rdi),%edx
180089e85:	45 33 c0             	xor    %r8d,%r8d
180089e88:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
180089e8c:	48 8b df             	mov    %rdi,%rbx
180089e8f:	e8 d8 09 01 00       	call   0x18009a86c
180089e94:	48 8b 3f             	mov    (%rdi),%rdi
180089e97:	85 c0                	test   %eax,%eax
180089e99:	48 8b cb             	mov    %rbx,%rcx
180089e9c:	0f 48 f0             	cmovs  %eax,%esi
180089e9f:	e8 58 01 01 00       	call   0x180099ffc
180089ea4:	49 3b fe             	cmp    %r14,%rdi
180089ea7:	75 d9                	jne    0x180089e82
180089ea9:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
180089eae:	8b c6                	mov    %esi,%eax
180089eb0:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
180089eb5:	48 8b 7c 24 40       	mov    0x40(%rsp),%rdi
180089eba:	48 83 c4 20          	add    $0x20,%rsp
180089ebe:	41 5e                	pop    %r14
180089ec0:	c3                   	ret
180089ec1:	cc                   	int3
180089ec2:	cc                   	int3
180089ec3:	cc                   	int3
180089ec4:	4c 8b dc             	mov    %rsp,%r11
180089ec7:	49 89 5b 10          	mov    %rbx,0x10(%r11)
180089ecb:	49 89 4b 08          	mov    %rcx,0x8(%r11)
180089ecf:	55                   	push   %rbp
180089ed0:	56                   	push   %rsi
180089ed1:	57                   	push   %rdi
180089ed2:	41 54                	push   %r12
180089ed4:	41 55                	push   %r13
180089ed6:	41 56                	push   %r14
180089ed8:	41 57                	push   %r15
180089eda:	48 83 ec 40          	sub    $0x40,%rsp
180089ede:	33 ff                	xor    %edi,%edi
180089ee0:	49 8b f1             	mov    %r9,%rsi
180089ee3:	45 8b e0             	mov    %r8d,%r12d
180089ee6:	4c 8b ea             	mov    %rdx,%r13
180089ee9:	4d 85 c9             	test   %r9,%r9
180089eec:	0f 84 9e 01 00 00    	je     0x18008a090
180089ef2:	49 39 39             	cmp    %rdi,(%r9)
180089ef5:	0f 84 95 01 00 00    	je     0x18008a090
180089efb:	41 8b 41 08          	mov    0x8(%r9),%eax
180089eff:	85 c0                	test   %eax,%eax
180089f01:	0f 84 89 01 00 00    	je     0x18008a090
180089f07:	48 85 d2             	test   %rdx,%rdx
180089f0a:	0f 84 80 01 00 00    	je     0x18008a090
180089f10:	41 83 f8 02          	cmp    $0x2,%r8d
180089f14:	8d 4f 2c             	lea    0x2c(%rdi),%ecx
180089f17:	44 8d 77 44          	lea    0x44(%rdi),%r14d
180089f1b:	44 0f 45 f1          	cmovne %ecx,%r14d
180089f1f:	41 8d 2c 06          	lea    (%r14,%rax,1),%ebp
180089f23:	3b e8                	cmp    %eax,%ebp
180089f25:	0f 82 5e 01 00 00    	jb     0x18008a089
180089f2b:	8d 85 ff 0f 00 00    	lea    0xfff(%rbp),%eax
180089f31:	44 8b fd             	mov    %ebp,%r15d
180089f34:	8b d0                	mov    %eax,%edx
180089f36:	48 25 00 f0 ff ff    	and    $0xfffffffffffff000,%rax
180089f3c:	49 3b c7             	cmp    %r15,%rax
180089f3f:	0f 82 44 01 00 00    	jb     0x18008a089
180089f45:	89 7c 24 30          	mov    %edi,0x30(%rsp)
180089f49:	49 8d 4b 20          	lea    0x20(%r11),%rcx
180089f4d:	49 89 7b b0          	mov    %rdi,-0x50(%r11)
180089f51:	41 b9 00 00 00 10    	mov    $0x10000000,%r9d
180089f57:	48 c1 ea 0c          	shr    $0xc,%rdx
180089f5b:	41 b8 04 00 00 e0    	mov    $0xe0000004,%r8d
180089f61:	c7 44 24 20 01 00 00 	movl   $0x1,0x20(%rsp)
180089f68:	00
180089f69:	e8 7e d9 00 00       	call   0x1800978ec
180089f6e:	85 c0                	test   %eax,%eax
180089f70:	0f 88 1f 01 00 00    	js     0x18008a095
180089f76:	48 8b 9c 24 98 00 00 	mov    0x98(%rsp),%rbx
180089f7d:	00
180089f7e:	48 8d 8c 24 98 00 00 	lea    0x98(%rsp),%rcx
180089f85:	00
180089f86:	48 8b d3             	mov    %rbx,%rdx
180089f89:	48 89 9c 24 98 00 00 	mov    %rbx,0x98(%rsp)
180089f90:	00
180089f91:	41 b9 00 00 04 00    	mov    $0x40000,%r9d
180089f97:	89 7c 24 20          	mov    %edi,0x20(%rsp)
180089f9b:	45 8b c7             	mov    %r15d,%r8d
180089f9e:	e8 7d 05 01 00       	call   0x18009a520
180089fa3:	8b f8                	mov    %eax,%edi
180089fa5:	85 c0                	test   %eax,%eax
180089fa7:	0f 88 9a 00 00 00    	js     0x18008a047
180089fad:	48 8b bc 24 98 00 00 	mov    0x98(%rsp),%rdi
180089fb4:	00
180089fb5:	45 8b c7             	mov    %r15d,%r8d
180089fb8:	48 8b cf             	mov    %rdi,%rcx
180089fbb:	33 d2                	xor    %edx,%edx
180089fbd:	e8 be bc 0a 00       	call   0x180135c80
180089fc2:	8b 46 08             	mov    0x8(%rsi),%eax
180089fc5:	89 47 24             	mov    %eax,0x24(%rdi)
180089fc8:	44 89 67 20          	mov    %r12d,0x20(%rdi)
180089fcc:	44 89 77 28          	mov    %r14d,0x28(%rdi)
180089fd0:	41 0f 10 45 00       	movups 0x0(%r13),%xmm0
180089fd5:	f3 0f 7f 47 10       	movdqu %xmm0,0x10(%rdi)
180089fda:	8b 4f 28             	mov    0x28(%rdi),%ecx
180089fdd:	44 8b 47 24          	mov    0x24(%rdi),%r8d
180089fe1:	48 03 cf             	add    %rdi,%rcx
180089fe4:	48 8b 16             	mov    (%rsi),%rdx
180089fe7:	e8 d4 b9 0a 00       	call   0x1801359c0
180089fec:	48 8b 84 24 80 00 00 	mov    0x80(%rsp),%rax
180089ff3:	00
180089ff4:	48 85 c0             	test   %rax,%rax
180089ff7:	74 07                	je     0x18008a000
180089ff9:	0f 10 00             	movups (%rax),%xmm0
180089ffc:	f3 0f 7f 07          	movdqu %xmm0,(%rdi)
18008a000:	41 83 fc 02          	cmp    $0x2,%r12d
18008a004:	72 1f                	jb     0x18008a025
18008a006:	33 d2                	xor    %edx,%edx
18008a008:	48 8d 4f 2c          	lea    0x2c(%rdi),%rcx
18008a00c:	e8 3f 6e 00 00       	call   0x180090e50
18008a011:	85 c0                	test   %eax,%eax
18008a013:	79 07                	jns    0x18008a01c
18008a015:	0f 57 c0             	xorps  %xmm0,%xmm0
18008a018:	0f 11 47 2c          	movups %xmm0,0x2c(%rdi)
18008a01c:	e8 f3 a9 f9 ff       	call   0x180024a14
18008a021:	48 89 47 3c          	mov    %rax,0x3c(%rdi)
18008a025:	45 33 c0             	xor    %r8d,%r8d
18008a028:	49 8b d7             	mov    %r15,%rdx
18008a02b:	48 8b cf             	mov    %rdi,%rcx
18008a02e:	e8 39 08 01 00       	call   0x18009a86c
18008a033:	b9 1c 00 00 00       	mov    $0x1c,%ecx
18008a038:	e8 13 fe 00 00       	call   0x180099e50
18008a03d:	48 85 c0             	test   %rax,%rax
18008a040:	75 11                	jne    0x18008a053
18008a042:	bf 17 00 00 c0       	mov    $0xc0000017,%edi
18008a047:	48 8b cb             	mov    %rbx,%rcx
18008a04a:	e8 0d db 00 00       	call   0x180097b5c
18008a04f:	8b c7                	mov    %edi,%eax
18008a051:	eb 42                	jmp    0x18008a095
18008a053:	48 89 58 10          	mov    %rbx,0x10(%rax)
18008a057:	48 8d 15 f2 28 0e 00 	lea    0xe28f2(%rip),%rdx        # 0x18016c950
18008a05e:	89 68 18             	mov    %ebp,0x18(%rax)
18008a061:	48 8b 0d f0 28 0e 00 	mov    0xe28f0(%rip),%rcx        # 0x18016c958
18008a068:	48 39 11             	cmp    %rdx,(%rcx)
18008a06b:	74 07                	je     0x18008a074
18008a06d:	b9 03 00 00 00       	mov    $0x3,%ecx
18008a072:	cd 29                	int    $0x29
18008a074:	48 89 10             	mov    %rdx,(%rax)
18008a077:	48 89 48 08          	mov    %rcx,0x8(%rax)
18008a07b:	48 89 01             	mov    %rax,(%rcx)
18008a07e:	48 89 05 d3 28 0e 00 	mov    %rax,0xe28d3(%rip)        # 0x18016c958
18008a085:	33 c0                	xor    %eax,%eax
18008a087:	eb 0c                	jmp    0x18008a095
18008a089:	b8 95 00 00 c0       	mov    $0xc0000095,%eax
18008a08e:	eb 05                	jmp    0x18008a095
18008a090:	b8 0d 00 00 c0       	mov    $0xc000000d,%eax
18008a095:	48 8b 9c 24 88 00 00 	mov    0x88(%rsp),%rbx
18008a09c:	00
18008a09d:	48 83 c4 40          	add    $0x40,%rsp
18008a0a1:	41 5f                	pop    %r15
18008a0a3:	41 5e                	pop    %r14
18008a0a5:	41 5d                	pop    %r13
18008a0a7:	41 5c                	pop    %r12
18008a0a9:	5f                   	pop    %rdi
18008a0aa:	5e                   	pop    %rsi
18008a0ab:	5d                   	pop    %rbp
18008a0ac:	c3                   	ret
18008a0ad:	cc                   	int3
18008a0ae:	cc                   	int3
18008a0af:	cc                   	int3
18008a0b0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18008a0b5:	57                   	push   %rdi
18008a0b6:	48 83 ec 30          	sub    $0x30,%rsp
18008a0ba:	48 8b f9             	mov    %rcx,%rdi
18008a0bd:	48 85 c9             	test   %rcx,%rcx
18008a0c0:	75 07                	jne    0x18008a0c9
18008a0c2:	b8 0d 00 00 c0       	mov    $0xc000000d,%eax
18008a0c7:	eb 43                	jmp    0x18008a10c
18008a0c9:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
18008a0ce:	e8 45 00 00 00       	call   0x18008a118
18008a0d3:	8b d8                	mov    %eax,%ebx
18008a0d5:	85 c0                	test   %eax,%eax
18008a0d7:	78 33                	js     0x18008a10c
18008a0d9:	48 8b 4c 24 20       	mov    0x20(%rsp),%rcx
18008a0de:	48 3b 4c 24 28       	cmp    0x28(%rsp),%rcx
18008a0e3:	74 11                	je     0x18008a0f6
18008a0e5:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
18008a0ea:	bb bd 00 00 c0       	mov    $0xc00000bd,%ebx
18008a0ef:	e8 6c fd ff ff       	call   0x180089e60
18008a0f4:	eb 14                	jmp    0x18008a10a
18008a0f6:	f2 0f 10 41 10       	movsd  0x10(%rcx),%xmm0
18008a0fb:	f2 0f 11 07          	movsd  %xmm0,(%rdi)
18008a0ff:	8b 41 18             	mov    0x18(%rcx),%eax
18008a102:	89 47 08             	mov    %eax,0x8(%rdi)
18008a105:	e8 f2 fe 00 00       	call   0x180099ffc
18008a10a:	8b c3                	mov    %ebx,%eax
18008a10c:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
18008a111:	48 83 c4 30          	add    $0x30,%rsp
18008a115:	5f                   	pop    %rdi
18008a116:	c3                   	ret
18008a117:	cc                   	int3
18008a118:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18008a11d:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
18008a122:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
18008a127:	55                   	push   %rbp
18008a128:	41 54                	push   %r12
18008a12a:	41 55                	push   %r13
18008a12c:	41 56                	push   %r14
18008a12e:	41 57                	push   %r15
18008a130:	48 8b ec             	mov    %rsp,%rbp
18008a133:	48 83 ec 60          	sub    $0x60,%rsp
18008a137:	4d 8b e0             	mov    %r8,%r12
18008a13a:	4c 8b ea             	mov    %rdx,%r13
18008a13d:	48 8b d9             	mov    %rcx,%rbx
18008a140:	4d 85 c0             	test   %r8,%r8
18008a143:	75 0a                	jne    0x18008a14f
18008a145:	b8 0d 00 00 c0       	mov    $0xc000000d,%eax
18008a14a:	e9 a3 01 00 00       	jmp    0x18008a2f2
18008a14f:	83 65 f8 00          	andl   $0x0,-0x8(%rbp)