18003ee72:	4c 8d 51 10          	lea    0x10(%rcx),%r10
18003ee76:	41 8b 12             	mov    (%r10),%edx
18003ee79:	49 8d 42 10          	lea    0x10(%r10),%rax
18003ee7d:	44 39 08             	cmp    %r9d,(%rax)
18003ee80:	0f 85 81 00 00 00    	jne    0x18003ef07
18003ee86:	0f 10 40 04          	movups 0x4(%rax),%xmm0
18003ee8a:	8b 40 14             	mov    0x14(%rax),%eax
18003ee8d:	89 45 e0             	mov    %eax,-0x20(%rbp)
18003ee90:	66 0f 7e c0          	movd   %xmm0,%eax
18003ee94:	0f 11 45 d0          	movups %xmm0,-0x30(%rbp)
18003ee98:	41 c7 00 01 00 00 00 	movl   $0x1,(%r8)
18003ee9f:	85 c0                	test   %eax,%eax
18003eea1:	74 32                	je     0x18003eed5
18003eea3:	83 e8 01             	sub    $0x1,%eax
18003eea6:	74 13                	je     0x18003eebb
18003eea8:	83 f8 01             	cmp    $0x1,%eax
18003eeab:	75 5a                	jne    0x18003ef07
18003eead:	41 c7 40 14 02 00 00 	movl   $0x2,0x14(%r8)
18003eeb4:	00
18003eeb5:	41 89 50 04          	mov    %edx,0x4(%r8)
18003eeb9:	eb 0c                	jmp    0x18003eec7
18003eebb:	41 c7 40 14 01 00 00 	movl   $0x1,0x14(%r8)
18003eec2:	00
18003eec3:	45 89 58 04          	mov    %r11d,0x4(%r8)
18003eec7:	48 8b 45 d0          	mov    -0x30(%rbp),%rax
18003eecb:	48 c1 e8 20          	shr    $0x20,%rax
18003eecf:	41 89 40 18          	mov    %eax,0x18(%r8)
18003eed3:	eb 7c                	jmp    0x18003ef51
18003eed5:	0f 10 4d d4          	movups -0x2c(%rbp),%xmm1
18003eed9:	45 89 48 14          	mov    %r9d,0x14(%r8)
18003eedd:	41 0f 10 02          	movups (%r10),%xmm0
18003eee1:	f3 41 0f 7f 48 18    	movdqu %xmm1,0x18(%r8)
18003eee7:	f3 41 0f 7f 40 04    	movdqu %xmm0,0x4(%r8)
18003eeed:	eb 62                	jmp    0x18003ef51
18003eeef:	0f 10 51 10          	movups 0x10(%rcx),%xmm2
18003eef3:	0f 10 41 20          	movups 0x20(%rcx),%xmm0
18003eef7:	66 0f 7e d0          	movd   %xmm2,%eax
18003eefb:	0f 11 55 d0          	movups %xmm2,-0x30(%rbp)
18003eeff:	0f 11 45 e0          	movups %xmm0,-0x20(%rbp)
18003ef03:	85 c0                	test   %eax,%eax
18003ef05:	74 08                	je     0x18003ef0f
18003ef07:	41 b9 10 00 00 c0    	mov    $0xc0000010,%r9d
18003ef0d:	eb 42                	jmp    0x18003ef51
18003ef0f:	8b 45 d4             	mov    -0x2c(%rbp),%eax
18003ef12:	45 89 08             	mov    %r9d,(%r8)
18003ef15:	85 c0                	test   %eax,%eax
18003ef17:	74 2a                	je     0x18003ef43
18003ef19:	83 e8 01             	sub    $0x1,%eax
18003ef1c:	74 0f                	je     0x18003ef2d
18003ef1e:	83 f8 01             	cmp    $0x1,%eax
18003ef21:	75 e4                	jne    0x18003ef07
18003ef23:	41 c7 40 04 02 00 00 	movl   $0x2,0x4(%r8)
18003ef2a:	00
18003ef2b:	eb 08                	jmp    0x18003ef35
18003ef2d:	41 c7 40 04 01 00 00 	movl   $0x1,0x4(%r8)
18003ef34:	00
18003ef35:	48 8b 45 d4          	mov    -0x2c(%rbp),%rax
18003ef39:	48 c1 e8 20          	shr    $0x20,%rax
18003ef3d:	41 89 40 08          	mov    %eax,0x8(%r8)
18003ef41:	eb 0e                	jmp    0x18003ef51
18003ef43:	0f 10 45 d8          	movups -0x28(%rbp),%xmm0
18003ef47:	45 89 48 04          	mov    %r9d,0x4(%r8)
18003ef4b:	f3 41 0f 7f 40 08    	movdqu %xmm0,0x8(%r8)
18003ef51:	41 8b c1             	mov    %r9d,%eax
18003ef54:	48 83 c4 30          	add    $0x30,%rsp
18003ef58:	5d                   	pop    %rbp
18003ef59:	c3                   	ret
18003ef5a:	cc                   	int3
18003ef5b:	cc                   	int3
18003ef5c:	44 89 4c 24 20       	mov    %r9d,0x20(%rsp)
18003ef61:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
18003ef66:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
18003ef6b:	55                   	push   %rbp
18003ef6c:	53                   	push   %rbx
18003ef6d:	56                   	push   %rsi
18003ef6e:	57                   	push   %rdi
18003ef6f:	41 54                	push   %r12
18003ef71:	41 55                	push   %r13
18003ef73:	41 56                	push   %r14
18003ef75:	41 57                	push   %r15
18003ef77:	48 8b ec             	mov    %rsp,%rbp
18003ef7a:	48 83 ec 48          	sub    $0x48,%rsp
18003ef7e:	44 8b 71 04          	mov    0x4(%rcx),%r14d
18003ef82:	33 ff                	xor    %edi,%edi
18003ef84:	4c 8b 49 08          	mov    0x8(%rcx),%r9
18003ef88:	4d 8b e8             	mov    %r8,%r13
18003ef8b:	48 8b 45 78          	mov    0x78(%rbp),%rax
18003ef8f:	4c 8b c2             	mov    %rdx,%r8
18003ef92:	48 8b da             	mov    %rdx,%rbx
18003ef95:	89 7d ec             	mov    %edi,-0x14(%rbp)
18003ef98:	4c 8b e1             	mov    %rcx,%r12
18003ef9b:	4c 89 4d e0          	mov    %r9,-0x20(%rbp)
18003ef9f:	45 8b fe             	mov    %r14d,%r15d
18003efa2:	48 89 7d d8          	mov    %rdi,-0x28(%rbp)
18003efa6:	41 c1 e7 03          	shl    $0x3,%r15d
18003efaa:	49 8b d5             	mov    %r13,%rdx
18003efad:	48 2b d3             	sub    %rbx,%rdx
18003efb0:	89 38                	mov    %edi,(%rax)
18003efb2:	41 8b c7             	mov    %r15d,%eax
18003efb5:	41 8b cd             	mov    %r13d,%ecx
18003efb8:	41 2b c8             	sub    %r8d,%ecx
18003efbb:	41 b2 01             	mov    $0x1,%r10b
18003efbe:	48 3b d0             	cmp    %rax,%rdx
18003efc1:	44 88 55 60          	mov    %r10b,0x60(%rbp)
18003efc5:	41 8b f6             	mov    %r14d,%esi
18003efc8:	44 0f 42 f9          	cmovb  %ecx,%r15d
18003efcc:	44 89 7d 58          	mov    %r15d,0x58(%rbp)
18003efd0:	49 3b dd             	cmp    %r13,%rbx
18003efd3:	0f 83 f5 00 00 00    	jae    0x18003f0ce
18003efd9:	4c 8b 65 70          	mov    0x70(%rbp),%r12
18003efdd:	4c 8b 7d 68          	mov    0x68(%rbp),%r15
18003efe1:	83 fe 02             	cmp    $0x2,%esi
18003efe4:	0f 82 d4 00 00 00    	jb     0x18003f0be
18003efea:	49 8b c7             	mov    %r15,%rax
18003efed:	4c 8d 4d d8          	lea    -0x28(%rbp),%r9
18003eff1:	4d 8b c4             	mov    %r12,%r8
18003eff4:	48 8b d3             	mov    %rbx,%rdx
18003eff7:	b9 01 00 00 00       	mov    $0x1,%ecx
18003effc:	ff d0                	call   *%rax
18003effe:	0f 1f 00             	nopl   (%rax)
18003f001:	48 8b 4d d8          	mov    -0x28(%rbp),%rcx
18003f005:	48 85 c0             	test   %rax,%rax
18003f008:	4c 8b 4d e0          	mov    -0x20(%rbp),%r9
18003f00c:	49 8b d5             	mov    %r13,%rdx
18003f00f:	49 0f 44 cd          	cmove  %r13,%rcx
18003f013:	4c 8b c0             	mov    %rax,%r8
18003f016:	49 3b cd             	cmp    %r13,%rcx
18003f019:	41 ba 00 80 00 00    	mov    $0x8000,%r10d
18003f01f:	48 0f 42 d1          	cmovb  %rcx,%rdx
18003f023:	48 89 55 d8          	mov    %rdx,-0x28(%rbp)
18003f027:	48 3b d3             	cmp    %rbx,%rdx
18003f02a:	76 36                	jbe    0x18003f062
18003f02c:	48 8b c2             	mov    %rdx,%rax
18003f02f:	48 2b c3             	sub    %rbx,%rax
18003f032:	49 3b c2             	cmp    %r10,%rax
18003f035:	76 0d                	jbe    0x18003f044
18003f037:	66 45 89 11          	mov    %r10w,(%r9)
18003f03b:	49 03 da             	add    %r10,%rbx
18003f03e:	48 8b 55 d8          	mov    -0x28(%rbp),%rdx
18003f042:	eb 12                	jmp    0x18003f056
18003f044:	66 2b d3             	sub    %bx,%dx
18003f047:	66 41 0b d2          	or     %r10w,%dx
18003f04b:	66 41 89 11          	mov    %dx,(%r9)
18003f04f:	48 8b 55 d8          	mov    -0x28(%rbp),%rdx
18003f053:	48 8b da             	mov    %rdx,%rbx
18003f056:	83 c6 fe             	add    $0xfffffffe,%esi
18003f059:	49 83 c1 02          	add    $0x2,%r9
18003f05d:	83 fe 02             	cmp    $0x2,%esi
18003f060:	73 c5                	jae    0x18003f027
18003f062:	4c 89 4d e0          	mov    %r9,-0x20(%rbp)
18003f066:	83 fe 02             	cmp    $0x2,%esi
18003f069:	72 4a                	jb     0x18003f0b5
18003f06b:	49 8b c8             	mov    %r8,%rcx
18003f06e:	4d 85 c0             	test   %r8,%r8
18003f071:	74 3e                	je     0x18003f0b1
18003f073:	40 88 7d 60          	mov    %dil,0x60(%rbp)
18003f077:	4d 3b c2             	cmp    %r10,%r8
18003f07a:	76 0b                	jbe    0x18003f087
18003f07c:	4d 2b c2             	sub    %r10,%r8
18003f07f:	0f b7 c7             	movzwl %di,%eax
18003f082:	49 8b ca             	mov    %r10,%rcx
18003f085:	eb 17                	jmp    0x18003f09e
18003f087:	41 0f b7 c0          	movzwl %r8w,%eax
18003f08b:	41 ba ff 7f 00 00    	mov    $0x7fff,%r10d
18003f091:	66 41 23 c2          	and    %r10w,%ax
18003f095:	4c 8b c7             	mov    %rdi,%r8
18003f098:	41 ba 00 80 00 00    	mov    $0x8000,%r10d
18003f09e:	66 41 89 01          	mov    %ax,(%r9)
18003f0a2:	48 03 d9             	add    %rcx,%rbx
18003f0a5:	49 83 c1 02          	add    $0x2,%r9
18003f0a9:	83 c6 fe             	add    $0xfffffffe,%esi
18003f0ac:	83 fe 02             	cmp    $0x2,%esi
18003f0af:	73 ba                	jae    0x18003f06b
18003f0b1:	4c 89 4d e0          	mov    %r9,-0x20(%rbp)
18003f0b5:	49 3b dd             	cmp    %r13,%rbx
18003f0b8:	0f 82 23 ff ff ff    	jb     0x18003efe1
18003f0be:	44 8b 7d 58          	mov    0x58(%rbp),%r15d
18003f0c2:	4c 8b 65 48          	mov    0x48(%rbp),%r12
18003f0c6:	4c 8b 45 50          	mov    0x50(%rbp),%r8
18003f0ca:	44 8a 55 60          	mov    0x60(%rbp),%r10b
18003f0ce:	41 2b d8             	sub    %r8d,%ebx
18003f0d1:	41 3b df             	cmp    %r15d,%ebx
18003f0d4:	0f 83 e3 00 00 00    	jae    0x18003f1bd
18003f0da:	49 8b 5c 24 08       	mov    0x8(%r12),%rbx
18003f0df:	4d 8b c6             	mov    %r14,%r8
18003f0e2:	48 8b cb             	mov    %rbx,%rcx
18003f0e5:	33 d2                	xor    %edx,%edx
18003f0e7:	e8 94 6b 0f 00       	call   0x180135c80
18003f0ec:	4c 8b 75 50          	mov    0x50(%rbp),%r14
18003f0f0:	41 8b f7             	mov    %r15d,%esi
18003f0f3:	44 89 7d e8          	mov    %r15d,-0x18(%rbp)
18003f0f7:	48 89 5d f0          	mov    %rbx,-0x10(%rbp)
18003f0fb:	4d 3b f5             	cmp    %r13,%r14
18003f0fe:	0f 83 a8 00 00 00    	jae    0x18003f1ac
18003f104:	4c 8b 7d 70          	mov    0x70(%rbp),%r15
18003f108:	4d 8b e6             	mov    %r14,%r12
18003f10b:	85 f6                	test   %esi,%esi
18003f10d:	0f 84 91 00 00 00    	je     0x18003f1a4
18003f113:	48 8b 45 68          	mov    0x68(%rbp),%rax
18003f117:	4c 8d 4d d8          	lea    -0x28(%rbp),%r9
18003f11b:	4d 8b c7             	mov    %r15,%r8
18003f11e:	49 8b d6             	mov    %r14,%rdx
18003f121:	b9 01 00 00 00       	mov    $0x1,%ecx
18003f126:	ff d0                	call   *%rax
18003f128:	0f 1f 00             	nopl   (%rax)
18003f12b:	48 8b 4d d8          	mov    -0x28(%rbp),%rcx
18003f12f:	48 85 c0             	test   %rax,%rax
18003f132:	49 8b d5             	mov    %r13,%rdx
18003f135:	48 89 45 50          	mov    %rax,0x50(%rbp)
18003f139:	49 0f 44 cd          	cmove  %r13,%rcx
18003f13d:	4c 8b c0             	mov    %rax,%r8
18003f140:	49 3b cd             	cmp    %r13,%rcx
18003f143:	48 0f 42 d1          	cmovb  %rcx,%rdx
18003f147:	48 89 55 d8          	mov    %rdx,-0x28(%rbp)
18003f14b:	49 3b d6             	cmp    %r14,%rdx
18003f14e:	76 30                	jbe    0x18003f180
18003f150:	48 8b ca             	mov    %rdx,%rcx
18003f153:	8b c6                	mov    %esi,%eax
18003f155:	41 2b d6             	sub    %r14d,%edx
18003f158:	49 2b ce             	sub    %r14,%rcx
18003f15b:	48 3b c8             	cmp    %rax,%rcx
18003f15e:	8b de                	mov    %esi,%ebx
18003f160:	48 8d 4d e8          	lea    -0x18(%rbp),%rcx
18003f164:	0f 42 da             	cmovb  %edx,%ebx
18003f167:	41 8b d6             	mov    %r14d,%edx
18003f16a:	41 2b d4             	sub    %r12d,%edx
18003f16d:	44 8b c3             	mov    %ebx,%r8d
18003f170:	e8 bf 07 ff ff       	call   0x18002f934
18003f175:	4c 8b 45 50          	mov    0x50(%rbp),%r8
18003f179:	8b c3                	mov    %ebx,%eax
18003f17b:	4c 03 f0             	add    %rax,%r14
18003f17e:	2b f3                	sub    %ebx,%esi
18003f180:	85 f6                	test   %esi,%esi
18003f182:	74 17                	je     0x18003f19b
18003f184:	4d 85 c0             	test   %r8,%r8
18003f187:	74 12                	je     0x18003f19b
18003f189:	8b c6                	mov    %esi,%eax
18003f18b:	8b ce                	mov    %esi,%ecx
18003f18d:	4c 3b c0             	cmp    %rax,%r8
18003f190:	41 0f 42 c8          	cmovb  %r8d,%ecx
18003f194:	8b c1                	mov    %ecx,%eax
18003f196:	4c 03 f0             	add    %rax,%r14
18003f199:	2b f1                	sub    %ecx,%esi
18003f19b:	4d 3b f5             	cmp    %r13,%r14
18003f19e:	0f 82 67 ff ff ff    	jb     0x18003f10b
18003f1a4:	44 8b 7d 58          	mov    0x58(%rbp),%r15d
18003f1a8:	4c 8b 65 48          	mov    0x48(%rbp),%r12
18003f1ac:	41 8d 7f 07          	lea    0x7(%r15),%edi
18003f1b0:	41 c7 04 24 01 00 00 	movl   $0x1,(%r12)
18003f1b7:	00
18003f1b8:	c1 ef 03             	shr    $0x3,%edi
18003f1bb:	eb 20                	jmp    0x18003f1dd
18003f1bd:	44 8b fb             	mov    %ebx,%r15d
18003f1c0:	45 84 d2             	test   %r10b,%r10b
18003f1c3:	74 0a                	je     0x18003f1cf
18003f1c5:	41 c7 04 24 03 00 00 	movl   $0x3,(%r12)
18003f1cc:	00
18003f1cd:	eb 0e                	jmp    0x18003f1dd
18003f1cf:	44 2b f6             	sub    %esi,%r14d
18003f1d2:	41 c7 04 24 02 00 00 	movl   $0x2,(%r12)
18003f1d9:	00
18003f1da:	41 8b fe             	mov    %r14d,%edi
18003f1dd:	48 8b 45 78          	mov    0x78(%rbp),%rax
18003f1e1:	41 89 7c 24 04       	mov    %edi,0x4(%r12)
18003f1e6:	44 89 38             	mov    %r15d,(%rax)
18003f1e9:	48 83 c4 48          	add    $0x48,%rsp
18003f1ed:	41 5f                	pop    %r15
18003f1ef:	41 5e                	pop    %r14
18003f1f1:	41 5d                	pop    %r13
18003f1f3:	41 5c                	pop    %r12
18003f1f5:	5f                   	pop    %rdi
18003f1f6:	5e                   	pop    %rsi
18003f1f7:	5b                   	pop    %rbx
18003f1f8:	5d                   	pop    %rbp
18003f1f9:	c3                   	ret
18003f1fa:	cc                   	int3
18003f1fb:	cc                   	int3
18003f1fc:	48 8b c4             	mov    %rsp,%rax
18003f1ff:	48 89 58 10          	mov    %rbx,0x10(%rax)
18003f203:	48 89 68 18          	mov    %rbp,0x18(%rax)
18003f207:	48 89 70 20          	mov    %rsi,0x20(%rax)
18003f20b:	57                   	push   %rdi
18003f20c:	41 54                	push   %r12
18003f20e:	41 55                	push   %r13
18003f210:	41 56                	push   %r14
18003f212:	41 57                	push   %r15
18003f214:	48 83 ec 30          	sub    $0x30,%rsp
18003f218:	44 8b 11             	mov    (%rcx),%r10d
18003f21b:	45 33 ed             	xor    %r13d,%r13d
18003f21e:	41 8b e8             	mov    %r8d,%ebp
18003f221:	45 8b f9             	mov    %r9d,%r15d
18003f224:	44 89 68 cc          	mov    %r13d,-0x34(%rax)
18003f228:	4c 8b e2             	mov    %rdx,%r12
18003f22b:	44 89 68 08          	mov    %r13d,0x8(%rax)
18003f22f:	48 8b f9             	mov    %rcx,%rdi
18003f232:	41 8b dd             	mov    %r13d,%ebx
18003f235:	41 8b f5             	mov    %r13d,%esi
18003f238:	41 83 ea 01          	sub    $0x1,%r10d
18003f23c:	0f 84 b5 00 00 00    	je     0x18003f2f7
18003f242:	41 83 ea 01          	sub    $0x1,%r10d
18003f246:	74 32                	je     0x18003f27a
18003f248:	41 83 fa 01          	cmp    $0x1,%r10d
18003f24c:	74 0a                	je     0x18003f258
18003f24e:	be 0d 00 00 c0       	mov    $0xc000000d,%esi
18003f253:	e9 05 01 00 00       	jmp    0x18003f35d
18003f258:	48 8b 84 24 80 00 00 	mov    0x80(%rsp),%rax
18003f25f:	00
18003f260:	4c 8b c5             	mov    %rbp,%r8
18003f263:	4c 8b 8c 24 88 00 00 	mov    0x88(%rsp),%r9
18003f26a:	00
18003f26b:	41 8b cf             	mov    %r15d,%ecx
18003f26e:	ff d0                	call   *%rax
18003f270:	0f 1f 00             	nopl   (%rax)
18003f273:	8b f0                	mov    %eax,%esi
18003f275:	e9 e3 00 00 00       	jmp    0x18003f35d
18003f27a:	45 8b f5             	mov    %r13d,%r14d
18003f27d:	44 39 69 04          	cmp    %r13d,0x4(%rcx)
18003f281:	0f 86 d6 00 00 00    	jbe    0x18003f35d
18003f287:	41 b8 00 80 00 00    	mov    $0x8000,%r8d
18003f28d:	48 8b 47 08          	mov    0x8(%rdi),%rax
18003f291:	41 8b ce             	mov    %r14d,%ecx
18003f294:	0f b7 14 01          	movzwl (%rcx,%rax,1),%edx
18003f298:	8b ea                	mov    %edx,%ebp
18003f29a:	66 85 d2             	test   %dx,%dx
18003f29d:	79 3b                	jns    0x18003f2da
18003f29f:	4c 8b 8c 24 88 00 00 	mov    0x88(%rsp),%r9
18003f2a6:	00
18003f2a7:	8b c2                	mov    %edx,%eax
18003f2a9:	25 ff 7f ff ff       	and    $0xffff7fff,%eax
18003f2ae:	8b d3                	mov    %ebx,%edx
18003f2b0:	41 8b cf             	mov    %r15d,%ecx
18003f2b3:	41 0f 44 c0          	cmove  %r8d,%eax
18003f2b7:	49 03 d4             	add    %r12,%rdx
18003f2ba:	44 8b c0             	mov    %eax,%r8d
18003f2bd:	48 8b 84 24 80 00 00 	mov    0x80(%rsp),%rax
18003f2c4:	00
18003f2c5:	ff d0                	call   *%rax
18003f2c7:	0f 1f 00             	nopl   (%rax)
18003f2ca:	8b f0                	mov    %eax,%esi
18003f2cc:	85 c0                	test   %eax,%eax
18003f2ce:	0f 88 89 00 00 00    	js     0x18003f35d
18003f2d4:	41 b8 00 80 00 00    	mov    $0x8000,%r8d
18003f2da:	8b c5                	mov    %ebp,%eax
18003f2dc:	0f ba f5 0f          	btr    $0xf,%ebp
18003f2e0:	25 ff 7f ff ff       	and    $0xffff7fff,%eax
18003f2e5:	41 0f 44 e8          	cmove  %r8d,%ebp
18003f2e9:	41 83 c6 02          	add    $0x2,%r14d
18003f2ed:	03 dd                	add    %ebp,%ebx
18003f2ef:	44 3b 77 04          	cmp    0x4(%rdi),%r14d
18003f2f3:	72 98                	jb     0x18003f28d