18008c130:	4c 8b 7d a8          	mov    -0x58(%rbp),%r15
18008c134:	45 33 c9             	xor    %r9d,%r9d
18008c137:	45 85 e4             	test   %r12d,%r12d
18008c13a:	74 50                	je     0x18008c18c
18008c13c:	4d 8b c7             	mov    %r15,%r8
18008c13f:	41 0f 10 00          	movups (%r8),%xmm0
18008c143:	43 8d 0c 31          	lea    (%r9,%r14,1),%ecx
18008c147:	44 03 ce             	add    %esi,%r9d
18008c14a:	48 6b c1 38          	imul   $0x38,%rcx,%rax
18008c14e:	0f 11 04 10          	movups %xmm0,(%rax,%rdx,1)
18008c152:	41 0f 10 48 10       	movups 0x10(%r8),%xmm1
18008c157:	0f 11 4c 10 10       	movups %xmm1,0x10(%rax,%rdx,1)
18008c15c:	41 0f 10 40 20       	movups 0x20(%r8),%xmm0
18008c161:	0f 11 44 10 20       	movups %xmm0,0x20(%rax,%rdx,1)
18008c166:	f2 41 0f 10 48 30    	movsd  0x30(%r8),%xmm1
18008c16c:	0f 57 c0             	xorps  %xmm0,%xmm0
18008c16f:	f2 0f 11 4c 10 30    	movsd  %xmm1,0x30(%rax,%rdx,1)
18008c175:	33 c0                	xor    %eax,%eax
18008c177:	41 0f 11 00          	movups %xmm0,(%r8)
18008c17b:	49 89 40 10          	mov    %rax,0x10(%r8)
18008c17f:	49 21 40 28          	and    %rax,0x28(%r8)
18008c183:	4d 8d 40 38          	lea    0x38(%r8),%r8
18008c187:	45 3b cc             	cmp    %r12d,%r9d
18008c18a:	72 b3                	jb     0x18008c13f
18008c18c:	48 8b 45 48          	mov    0x48(%rbp),%rax
18008c190:	8b 7d 60             	mov    0x60(%rbp),%edi
18008c193:	49 89 55 00          	mov    %rdx,0x0(%r13)
18008c197:	89 38                	mov    %edi,(%rax)
18008c199:	e9 43 fd ff ff       	jmp    0x18008bee1
18008c19e:	bb 95 00 00 c0       	mov    $0xc0000095,%ebx
18008c1a3:	83 cf ff             	or     $0xffffffff,%edi
18008c1a6:	e9 13 ff ff ff       	jmp    0x18008c0be
18008c1ab:	cc                   	int3
18008c1ac:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
18008c1b1:	89 54 24 10          	mov    %edx,0x10(%rsp)
18008c1b5:	89 4c 24 08          	mov    %ecx,0x8(%rsp)
18008c1b9:	55                   	push   %rbp
18008c1ba:	56                   	push   %rsi
18008c1bb:	57                   	push   %rdi
18008c1bc:	41 56                	push   %r14
18008c1be:	41 57                	push   %r15
18008c1c0:	48 83 ec 70          	sub    $0x70,%rsp
18008c1c4:	33 f6                	xor    %esi,%esi
18008c1c6:	33 ff                	xor    %edi,%edi
18008c1c8:	48 21 74 24 60       	and    %rsi,0x60(%rsp)
18008c1cd:	33 db                	xor    %ebx,%ebx
18008c1cf:	48 21 74 24 58       	and    %rsi,0x58(%rsp)
18008c1d4:	4d 8b f1             	mov    %r9,%r14
18008c1d7:	89 7c 24 50          	mov    %edi,0x50(%rsp)
18008c1db:	4d 8b f8             	mov    %r8,%r15
18008c1de:	8b c1                	mov    %ecx,%eax
18008c1e0:	83 f9 ff             	cmp    $0xffffffff,%ecx
18008c1e3:	75 0b                	jne    0x18008c1f0
18008c1e5:	41 21 18             	and    %ebx,(%r8)
18008c1e8:	49 21 19             	and    %rbx,(%r9)
18008c1eb:	e9 69 01 00 00       	jmp    0x18008c359
18008c1f0:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
18008c1f5:	48 89 4c 24 48       	mov    %rcx,0x48(%rsp)
18008c1fa:	48 8d 4c 24 58       	lea    0x58(%rsp),%rcx
18008c1ff:	48 89 4c 24 40       	mov    %rcx,0x40(%rsp)
18008c204:	48 8d 4c 24 60       	lea    0x60(%rsp),%rcx
18008c209:	48 89 4c 24 38       	mov    %rcx,0x38(%rsp)
18008c20e:	8b c8                	mov    %eax,%ecx
18008c210:	e8 2f a5 06 00       	call   0x1800f6744
18008c215:	8b 7c 24 50          	mov    0x50(%rsp),%edi
18008c219:	8b d8                	mov    %eax,%ebx
18008c21b:	85 c0                	test   %eax,%eax
18008c21d:	0f 88 f7 00 00 00    	js     0x18008c31a
18008c223:	85 ff                	test   %edi,%edi
18008c225:	0f 84 ef 00 00 00    	je     0x18008c31a
18008c22b:	48 39 74 24 58       	cmp    %rsi,0x58(%rsp)
18008c230:	0f 84 e4 00 00 00    	je     0x18008c31a
18008c236:	6b cf 38             	imul   $0x38,%edi,%ecx
18008c239:	e8 06 ec ff ff       	call   0x18008ae44
18008c23e:	48 8b f0             	mov    %rax,%rsi
18008c241:	48 85 c0             	test   %rax,%rax
18008c244:	75 0a                	jne    0x18008c250
18008c246:	bb 9a 00 00 c0       	mov    $0xc000009a,%ebx
18008c24b:	e9 d9 00 00 00       	jmp    0x18008c329
18008c250:	85 ff                	test   %edi,%edi
18008c252:	74 4c                	je     0x18008c2a0
18008c254:	48 8b 54 24 58       	mov    0x58(%rsp),%rdx
18008c259:	48 83 c0 34          	add    $0x34,%rax
18008c25d:	48 8b 4c 24 60       	mov    0x60(%rsp),%rcx
18008c262:	4c 8b c7             	mov    %rdi,%r8
18008c265:	0f 10 01             	movups (%rcx),%xmm0
18008c268:	45 33 c9             	xor    %r9d,%r9d
18008c26b:	0f 11 40 cc          	movups %xmm0,-0x34(%rax)
18008c26f:	f2 0f 10 49 10       	movsd  0x10(%rcx),%xmm1
18008c274:	0f 57 c0             	xorps  %xmm0,%xmm0
18008c277:	f2 0f 11 48 dc       	movsd  %xmm1,-0x24(%rax)
18008c27c:	0f 11 01             	movups %xmm0,(%rcx)
18008c27f:	4c 89 49 10          	mov    %r9,0x10(%rcx)
18008c283:	48 8d 49 18          	lea    0x18(%rcx),%rcx
18008c287:	0f 10 02             	movups (%rdx),%xmm0
18008c28a:	c6 00 01             	movb   $0x1,(%rax)
18008c28d:	48 8d 40 38          	lea    0x38(%rax),%rax
18008c291:	48 8d 52 10          	lea    0x10(%rdx),%rdx
18008c295:	f3 0f 7f 40 ac       	movdqu %xmm0,-0x54(%rax)
18008c29a:	49 83 e8 01          	sub    $0x1,%r8
18008c29e:	75 c5                	jne    0x18008c265
18008c2a0:	33 c9                	xor    %ecx,%ecx
18008c2a2:	33 ed                	xor    %ebp,%ebp
18008c2a4:	89 4c 24 50          	mov    %ecx,0x50(%rsp)
18008c2a8:	85 ff                	test   %edi,%edi
18008c2aa:	74 64                	je     0x18008c310
18008c2ac:	8b c5                	mov    %ebp,%eax
18008c2ae:	4c 8d 4e 30          	lea    0x30(%rsi),%r9
18008c2b2:	4c 6b c0 38          	imul   $0x38,%rax,%r8
18008c2b6:	8b c1                	mov    %ecx,%eax
18008c2b8:	8b 8c 24 a0 00 00 00 	mov    0xa0(%rsp),%ecx
18008c2bf:	4d 03 c8             	add    %r8,%r9
18008c2c2:	48 6b d0 38          	imul   $0x38,%rax,%rdx
18008c2c6:	49 83 c0 28          	add    $0x28,%r8
18008c2ca:	48 03 d6             	add    %rsi,%rdx
18008c2cd:	4c 03 c6             	add    %rsi,%r8
18008c2d0:	80 7a 11 00          	cmpb   $0x0,0x11(%rdx)
18008c2d4:	0f 45 8c 24 a8 00 00 	cmovne 0xa8(%rsp),%ecx
18008c2db:	00
18008c2dc:	e8 2f b1 06 00       	call   0x1800f7410
18008c2e1:	8b d8                	mov    %eax,%ebx
18008c2e3:	85 c0                	test   %eax,%eax
18008c2e5:	78 04                	js     0x18008c2eb
18008c2e7:	ff c5                	inc    %ebp
18008c2e9:	eb 07                	jmp    0x18008c2f2
18008c2eb:	3d 17 00 00 c0       	cmp    $0xc0000017,%eax
18008c2f0:	74 37                	je     0x18008c329
18008c2f2:	8b 4c 24 50          	mov    0x50(%rsp),%ecx
18008c2f6:	33 db                	xor    %ebx,%ebx
18008c2f8:	ff c1                	inc    %ecx
18008c2fa:	89 4c 24 50          	mov    %ecx,0x50(%rsp)
18008c2fe:	3b cf                	cmp    %edi,%ecx
18008c300:	72 aa                	jb     0x18008c2ac
18008c302:	85 ed                	test   %ebp,%ebp
18008c304:	74 0a                	je     0x18008c310
18008c306:	49 89 36             	mov    %rsi,(%r14)
18008c309:	33 f6                	xor    %esi,%esi
18008c30b:	41 89 2f             	mov    %ebp,(%r15)
18008c30e:	eb 19                	jmp    0x18008c329
18008c310:	41 83 27 00          	andl   $0x0,(%r15)
18008c314:	49 83 26 00          	andq   $0x0,(%r14)
18008c318:	eb 0d                	jmp    0x18008c327
18008c31a:	3d 25 02 00 c0       	cmp    $0xc0000225,%eax
18008c31f:	75 08                	jne    0x18008c329
18008c321:	41 21 37             	and    %esi,(%r15)
18008c324:	49 21 36             	and    %rsi,(%r14)
18008c327:	33 db                	xor    %ebx,%ebx
18008c329:	48 83 7c 24 58 00    	cmpq   $0x0,0x58(%rsp)
18008c32f:	74 0a                	je     0x18008c33b
18008c331:	48 8b 4c 24 58       	mov    0x58(%rsp),%rcx
18008c336:	e8 c1 dc 00 00       	call   0x180099ffc
18008c33b:	48 83 7c 24 60 00    	cmpq   $0x0,0x60(%rsp)
18008c341:	74 16                	je     0x18008c359
18008c343:	48 8b 4c 24 60       	mov    0x60(%rsp),%rcx
18008c348:	8b d7                	mov    %edi,%edx
18008c34a:	e8 91 9a 06 00       	call   0x1800f5de0
18008c34f:	48 8b 4c 24 60       	mov    0x60(%rsp),%rcx
18008c354:	e8 a3 dc 00 00       	call   0x180099ffc
18008c359:	8b d7                	mov    %edi,%edx
18008c35b:	48 8b ce             	mov    %rsi,%rcx
18008c35e:	e8 05 9e 06 00       	call   0x1800f6168
18008c363:	8b c3                	mov    %ebx,%eax
18008c365:	48 8b 9c 24 b0 00 00 	mov    0xb0(%rsp),%rbx
18008c36c:	00
18008c36d:	48 83 c4 70          	add    $0x70,%rsp
18008c371:	41 5f                	pop    %r15
18008c373:	41 5e                	pop    %r14
18008c375:	5f                   	pop    %rdi
18008c376:	5e                   	pop    %rsi
18008c377:	5d                   	pop    %rbp
18008c378:	c3                   	ret
18008c379:	cc                   	int3
18008c37a:	cc                   	int3
18008c37b:	cc                   	int3
18008c37c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18008c381:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
18008c386:	48 89 7c 24 18       	mov    %rdi,0x18(%rsp)
18008c38b:	55                   	push   %rbp
18008c38c:	41 54                	push   %r12
18008c38e:	41 55                	push   %r13
18008c390:	41 56                	push   %r14
18008c392:	41 57                	push   %r15
18008c394:	48 8b ec             	mov    %rsp,%rbp
18008c397:	48 83 ec 40          	sub    $0x40,%rsp
18008c39b:	33 c0                	xor    %eax,%eax
18008c39d:	8b fa                	mov    %edx,%edi
18008c39f:	44 8b f9             	mov    %ecx,%r15d
18008c3a2:	89 45 e4             	mov    %eax,-0x1c(%rbp)
18008c3a5:	48 8d 55 e8          	lea    -0x18(%rbp),%rdx
18008c3a9:	89 45 e0             	mov    %eax,-0x20(%rbp)
18008c3ac:	48 8d 4d e4          	lea    -0x1c(%rbp),%rcx
18008c3b0:	48 89 45 e8          	mov    %rax,-0x18(%rbp)
18008c3b4:	8b d8                	mov    %eax,%ebx
18008c3b6:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
18008c3ba:	4d 8b e1             	mov    %r9,%r12
18008c3bd:	4d 8b e8             	mov    %r8,%r13
18008c3c0:	e8 57 fa ff ff       	call   0x18008be1c
18008c3c5:	44 8b 75 e4          	mov    -0x1c(%rbp),%r14d
18008c3c9:	8b f0                	mov    %eax,%esi
18008c3cb:	85 c0                	test   %eax,%eax
18008c3cd:	0f 88 35 01 00 00    	js     0x18008c508
18008c3d3:	4c 8d 4d f0          	lea    -0x10(%rbp),%r9
18008c3d7:	8b d7                	mov    %edi,%edx
18008c3d9:	4c 8d 45 e0          	lea    -0x20(%rbp),%r8
18008c3dd:	41 8b cf             	mov    %r15d,%ecx
18008c3e0:	e8 c7 fd ff ff       	call   0x18008c1ac
18008c3e5:	b9 00 00 00 80       	mov    $0x80000000,%ecx
18008c3ea:	8b f0                	mov    %eax,%esi
18008c3ec:	03 c1                	add    %ecx,%eax
18008c3ee:	85 c1                	test   %eax,%ecx
18008c3f0:	75 10                	jne    0x18008c402
18008c3f2:	81 fe 25 02 00 c0    	cmp    $0xc0000225,%esi
18008c3f8:	74 08                	je     0x18008c402
18008c3fa:	8b 5d e0             	mov    -0x20(%rbp),%ebx
18008c3fd:	e9 06 01 00 00       	jmp    0x18008c508
18008c402:	8b 5d e0             	mov    -0x20(%rbp),%ebx
18008c405:	33 f6                	xor    %esi,%esi
18008c407:	85 db                	test   %ebx,%ebx
18008c409:	75 13                	jne    0x18008c41e
18008c40b:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
18008c40f:	33 ff                	xor    %edi,%edi
18008c411:	49 89 04 24          	mov    %rax,(%r12)
18008c415:	45 89 75 00          	mov    %r14d,0x0(%r13)
18008c419:	e9 ee 00 00 00       	jmp    0x18008c50c
18008c41e:	46 8d 3c 33          	lea    (%rbx,%r14,1),%r15d
18008c422:	44 3b fb             	cmp    %ebx,%r15d
18008c425:	0f 82 d8 00 00 00    	jb     0x18008c503
18008c42b:	41 6b cf 38          	imul   $0x38,%r15d,%ecx
18008c42f:	e8 10 ea ff ff       	call   0x18008ae44
18008c434:	48 8b 7d e8          	mov    -0x18(%rbp),%rdi
18008c438:	48 8b d0             	mov    %rax,%rdx
18008c43b:	48 85 c0             	test   %rax,%rax
18008c43e:	75 0a                	jne    0x18008c44a
18008c440:	be 9a 00 00 c0       	mov    $0xc000009a,%esi
18008c445:	e9 c2 00 00 00       	jmp    0x18008c50c
18008c44a:	45 85 f6             	test   %r14d,%r14d
18008c44d:	74 52                	je     0x18008c4a1
18008c44f:	4c 8b c7             	mov    %rdi,%r8
18008c452:	4c 8b ca             	mov    %rdx,%r9
18008c455:	4c 2b c2             	sub    %rdx,%r8
18008c458:	48 8b cf             	mov    %rdi,%rcx
18008c45b:	4c 2b cf             	sub    %rdi,%r9
18008c45e:	4d 8b d6             	mov    %r14,%r10
18008c461:	0f 10 01             	movups (%rcx),%xmm0
18008c464:	49 8d 04 09          	lea    (%r9,%rcx,1),%rax
18008c468:	45 33 db             	xor    %r11d,%r11d
18008c46b:	0f 11 00             	movups %xmm0,(%rax)
18008c46e:	0f 10 49 10          	movups 0x10(%rcx),%xmm1
18008c472:	0f 11 48 10          	movups %xmm1,0x10(%rax)
18008c476:	0f 10 41 20          	movups 0x20(%rcx),%xmm0
18008c47a:	0f 11 40 20          	movups %xmm0,0x20(%rax)
18008c47e:	f2 0f 10 49 30       	movsd  0x30(%rcx),%xmm1
18008c483:	0f 57 c0             	xorps  %xmm0,%xmm0
18008c486:	f2 0f 11 48 30       	movsd  %xmm1,0x30(%rax)
18008c48b:	0f 11 01             	movups %xmm0,(%rcx)
18008c48e:	4c 89 59 10          	mov    %r11,0x10(%rcx)
18008c492:	48 8d 49 38          	lea    0x38(%rcx),%rcx
18008c496:	4a 21 74 00 28       	and    %rsi,0x28(%rax,%r8,1)
18008c49b:	49 83 ea 01          	sub    $0x1,%r10
18008c49f:	75 c0                	jne    0x18008c461
18008c4a1:	45 33 c9             	xor    %r9d,%r9d
18008c4a4:	85 db                	test   %ebx,%ebx
18008c4a6:	74 51                	je     0x18008c4f9
18008c4a8:	4c 8b 45 f0          	mov    -0x10(%rbp),%r8
18008c4ac:	41 0f 10 00          	movups (%r8),%xmm0
18008c4b0:	43 8d 0c 31          	lea    (%r9,%r14,1),%ecx
18008c4b4:	41 ff c1             	inc    %r9d
18008c4b7:	48 6b c1 38          	imul   $0x38,%rcx,%rax
18008c4bb:	0f 11 04 10          	movups %xmm0,(%rax,%rdx,1)
18008c4bf:	41 0f 10 48 10       	movups 0x10(%r8),%xmm1
18008c4c4:	0f 11 4c 10 10       	movups %xmm1,0x10(%rax,%rdx,1)
18008c4c9:	41 0f 10 40 20       	movups 0x20(%r8),%xmm0
18008c4ce:	0f 11 44 10 20       	movups %xmm0,0x20(%rax,%rdx,1)
18008c4d3:	f2 41 0f 10 48 30    	movsd  0x30(%r8),%xmm1
18008c4d9:	0f 57 c0             	xorps  %xmm0,%xmm0
18008c4dc:	f2 0f 11 4c 10 30    	movsd  %xmm1,0x30(%rax,%rdx,1)
18008c4e2:	33 c0                	xor    %eax,%eax
18008c4e4:	41 0f 11 00          	movups %xmm0,(%r8)
18008c4e8:	49 89 40 10          	mov    %rax,0x10(%r8)
18008c4ec:	49 21 40 28          	and    %rax,0x28(%r8)
18008c4f0:	4d 8d 40 38          	lea    0x38(%r8),%r8
18008c4f4:	44 3b cb             	cmp    %ebx,%r9d
18008c4f7:	72 b3                	jb     0x18008c4ac
18008c4f9:	45 89 7d 00          	mov    %r15d,0x0(%r13)
18008c4fd:	49 89 14 24          	mov    %rdx,(%r12)
18008c501:	eb 09                	jmp    0x18008c50c
18008c503:	be 95 00 00 c0       	mov    $0xc0000095,%esi
18008c508:	48 8b 7d e8          	mov    -0x18(%rbp),%rdi
18008c50c:	48 8b 4d f0          	mov    -0x10(%rbp),%rcx
18008c510:	8b d3                	mov    %ebx,%edx
18008c512:	e8 51 9c 06 00       	call   0x1800f6168
18008c517:	41 8b d6             	mov    %r14d,%edx
18008c51a:	48 8b cf             	mov    %rdi,%rcx
18008c51d:	e8 46 9c 06 00       	call   0x1800f6168
18008c522:	42 8d 14 33          	lea    (%rbx,%r14,1),%edx
18008c526:	33 c9                	xor    %ecx,%ecx
18008c528:	e8 3b 9c 06 00       	call   0x1800f6168
18008c52d:	4c 8d 5c 24 40       	lea    0x40(%rsp),%r11
18008c532:	8b c6                	mov    %esi,%eax
18008c534:	49 8b 5b 30          	mov    0x30(%r11),%rbx
18008c538:	49 8b 73 38          	mov    0x38(%r11),%rsi
18008c53c:	49 8b 7b 40          	mov    0x40(%r11),%rdi
18008c540:	49 8b e3             	mov    %r11,%rsp
18008c543:	41 5f                	pop    %r15
18008c545:	41 5e                	pop    %r14
18008c547:	41 5d                	pop    %r13
18008c549:	41 5c                	pop    %r12
18008c54b:	5d                   	pop    %rbp
18008c54c:	c3                   	ret
18008c54d:	cc                   	int3
18008c54e:	cc                   	int3
18008c54f:	cc                   	int3
18008c550:	33 d2                	xor    %edx,%edx
18008c552:	83 f9 01             	cmp    $0x1,%ecx
18008c555:	77 33                	ja     0x18008c58a
18008c557:	44 8b 0d 5a 90 10 00 	mov    0x10905a(%rip),%r9d        # 0x1801955b8
18008c55e:	8b ca                	mov    %edx,%ecx
18008c560:	45 85 c9             	test   %r9d,%r9d
18008c563:	74 25                	je     0x18008c58a
18008c565:	4c 8b 05 54 90 10 00 	mov    0x109054(%rip),%r8        # 0x1801955c0
18008c56c:	49 8b 00             	mov    (%r8),%rax
18008c56f:	f7 40 2c 00 00 80 00 	testl  $0x800000,0x2c(%rax)
18008c576:	74 0d                	je     0x18008c585
18008c578:	ff c1                	inc    %ecx
18008c57a:	49 83 c0 08          	add    $0x8,%r8
18008c57e:	41 3b c9             	cmp    %r9d,%ecx
18008c581:	72 e9                	jb     0x18008c56c
18008c583:	eb 05                	jmp    0x18008c58a
18008c585:	ba bb 00 00 c0       	mov    $0xc00000bb,%edx
18008c58a:	8b c2                	mov    %edx,%eax
18008c58c:	c3                   	ret
18008c58d:	cc                   	int3
18008c58e:	cc                   	int3
18008c58f:	cc                   	int3
18008c590:	48 8b c4             	mov    %rsp,%rax
18008c593:	48 89 58 08          	mov    %rbx,0x8(%rax)
18008c597:	48 89 78 10          	mov    %rdi,0x10(%rax)
18008c59b:	4c 89 60 18          	mov    %r12,0x18(%rax)
18008c59f:	55                   	push   %rbp
18008c5a0:	41 56                	push   %r14
18008c5a2:	41 57                	push   %r15
18008c5a4:	48 8d 68 a1          	lea    -0x5f(%rax),%rbp
18008c5a8:	48 81 ec c0 00 00 00 	sub    $0xc0,%rsp
18008c5af:	48 83 64 24 30 00    	andq   $0x0,0x30(%rsp)
18008c5b5:	4c 8d 4d 27          	lea    0x27(%rbp),%r9
18008c5b9:	48 83 64 24 28 00    	andq   $0x0,0x28(%rsp)
18008c5bf:	4c 8b fa             	mov    %rdx,%r15
18008c5c2:	83 65 17 00          	andl   $0x0,0x17(%rbp)
18008c5c6:	4d 8b e0             	mov    %r8,%r12
18008c5c9:	48 83 65 2f 00       	andq   $0x0,0x2f(%rbp)