1800421d6:	44 8b c0             	mov    %eax,%r8d
1800421d9:	85 c0                	test   %eax,%eax
1800421db:	78 7f                	js     0x18004225c
1800421dd:	48 8b cb             	mov    %rbx,%rcx
1800421e0:	e8 8b c7 0f 00       	call   0x18013e970
1800421e5:	48 89 b8 b8 00 00 00 	mov    %rdi,0xb8(%rax)
1800421ec:	48 8b 9e d8 00 00 00 	mov    0xd8(%rsi),%rbx
1800421f3:	eb 0a                	jmp    0x1800421ff
1800421f5:	48 89 be d8 00 00 00 	mov    %rdi,0xd8(%rsi)
1800421fc:	48 8b df             	mov    %rdi,%rbx
1800421ff:	48 85 db             	test   %rbx,%rbx
180042202:	74 42                	je     0x180042246
180042204:	48 8b cf             	mov    %rdi,%rcx
180042207:	e8 78 c7 0f 00       	call   0x18013e984
18004220c:	84 c0                	test   %al,%al
18004220e:	74 11                	je     0x180042221
180042210:	33 d2                	xor    %edx,%edx
180042212:	48 8b cb             	mov    %rbx,%rcx
180042215:	e8 7e c7 0f 00       	call   0x18013e998
18004221a:	44 8b c0             	mov    %eax,%r8d
18004221d:	85 c0                	test   %eax,%eax
18004221f:	78 3b                	js     0x18004225c
180042221:	48 8b cb             	mov    %rbx,%rcx
180042224:	e8 47 c7 0f 00       	call   0x18013e970
180042229:	ff c5                	inc    %ebp
18004222b:	48 8b 98 b8 00 00 00 	mov    0xb8(%rax),%rbx
180042232:	c7 80 d8 00 00 00 01 	movl   $0x1,0xd8(%rax)
180042239:	00 00 00
18004223c:	48 85 db             	test   %rbx,%rbx
18004223f:	75 c3                	jne    0x180042204
180042241:	83 fd 01             	cmp    $0x1,%ebp
180042244:	74 16                	je     0x18004225c
180042246:	48 8b 8e d8 00 00 00 	mov    0xd8(%rsi),%rcx
18004224d:	e8 1e c7 0f 00       	call   0x18013e970
180042252:	c7 80 d8 00 00 00 02 	movl   $0x2,0xd8(%rax)
180042259:	00 00 00
18004225c:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
180042261:	41 8b c0             	mov    %r8d,%eax
180042264:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
180042269:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
18004226e:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
180042273:	48 83 c4 20          	add    $0x20,%rsp
180042277:	41 5e                	pop    %r14
180042279:	c3                   	ret
18004227a:	cc                   	int3
18004227b:	cc                   	int3
18004227c:	40 53                	rex push %rbx
18004227e:	48 83 ec 20          	sub    $0x20,%rsp
180042282:	48 8d 05 8f 0c 10 00 	lea    0x100c8f(%rip),%rax        # 0x180142f18
180042289:	48 8b d9             	mov    %rcx,%rbx
18004228c:	48 89 01             	mov    %rax,(%rcx)
18004228f:	48 8b 89 a0 00 00 00 	mov    0xa0(%rcx),%rcx
180042296:	48 85 c9             	test   %rcx,%rcx
180042299:	74 05                	je     0x1800422a0
18004229b:	e8 bc 46 00 00       	call   0x18004695c
1800422a0:	48 8b 8b 98 00 00 00 	mov    0x98(%rbx),%rcx
1800422a7:	48 85 c9             	test   %rcx,%rcx
1800422aa:	74 05                	je     0x1800422b1
1800422ac:	e8 ab 46 00 00       	call   0x18004695c
1800422b1:	48 8b 4b 38          	mov    0x38(%rbx),%rcx
1800422b5:	48 85 c9             	test   %rcx,%rcx
1800422b8:	74 05                	je     0x1800422bf
1800422ba:	e8 9d 46 00 00       	call   0x18004695c
1800422bf:	48 8b 4b 30          	mov    0x30(%rbx),%rcx
1800422c3:	48 85 c9             	test   %rcx,%rcx
1800422c6:	74 05                	je     0x1800422cd
1800422c8:	e8 8f 46 00 00       	call   0x18004695c
1800422cd:	48 8d 05 f4 0c 10 00 	lea    0x100cf4(%rip),%rax        # 0x180142fc8
1800422d4:	48 89 03             	mov    %rax,(%rbx)
1800422d7:	48 83 c4 20          	add    $0x20,%rsp
1800422db:	5b                   	pop    %rbx
1800422dc:	c3                   	ret
1800422dd:	cc                   	int3
1800422de:	cc                   	int3
1800422df:	cc                   	int3
1800422e0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1800422e5:	57                   	push   %rdi
1800422e6:	48 83 ec 20          	sub    $0x20,%rsp
1800422ea:	8b da                	mov    %edx,%ebx
1800422ec:	48 8b f9             	mov    %rcx,%rdi
1800422ef:	e8 88 ff ff ff       	call   0x18004227c
1800422f4:	f6 c3 01             	test   $0x1,%bl
1800422f7:	74 08                	je     0x180042301
1800422f9:	48 8b cf             	mov    %rdi,%rcx
1800422fc:	e8 5b 46 00 00       	call   0x18004695c
180042301:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
180042306:	48 8b c7             	mov    %rdi,%rax
180042309:	48 83 c4 20          	add    $0x20,%rsp
18004230d:	5f                   	pop    %rdi
18004230e:	c3                   	ret
18004230f:	cc                   	int3
180042310:	c7 41 44 01 00 00 00 	movl   $0x1,0x44(%rcx)
180042317:	33 c0                	xor    %eax,%eax
180042319:	c3                   	ret
18004231a:	cc                   	int3
18004231b:	cc                   	int3
18004231c:	48 8b c4             	mov    %rsp,%rax
18004231f:	48 89 58 08          	mov    %rbx,0x8(%rax)
180042323:	48 89 68 10          	mov    %rbp,0x10(%rax)
180042327:	48 89 70 18          	mov    %rsi,0x18(%rax)
18004232b:	48 89 78 20          	mov    %rdi,0x20(%rax)
18004232f:	41 56                	push   %r14
180042331:	48 83 ec 20          	sub    $0x20,%rsp
180042335:	48 8b f9             	mov    %rcx,%rdi
180042338:	33 f6                	xor    %esi,%esi
18004233a:	b9 f0 00 00 00       	mov    $0xf0,%ecx
18004233f:	e8 d0 45 00 00       	call   0x180046914
180042344:	48 8b d8             	mov    %rax,%rbx
180042347:	48 85 c0             	test   %rax,%rax
18004234a:	74 18                	je     0x180042364
18004234c:	48 21 70 08          	and    %rsi,0x8(%rax)
180042350:	48 21 70 10          	and    %rsi,0x10(%rax)
180042354:	66 89 70 18          	mov    %si,0x18(%rax)
180042358:	48 8d 05 b9 0b 10 00 	lea    0x100bb9(%rip),%rax        # 0x180142f18
18004235f:	48 89 03             	mov    %rax,(%rbx)
180042362:	eb 02                	jmp    0x180042366
180042364:	33 db                	xor    %ebx,%ebx
180042366:	48 85 db             	test   %rbx,%rbx
180042369:	0f 84 5f 01 00 00    	je     0x1800424ce
18004236f:	0f 10 07             	movups (%rdi),%xmm0
180042372:	ba 80 00 00 00       	mov    $0x80,%edx
180042377:	4c 8d 43 30          	lea    0x30(%rbx),%r8
18004237b:	0f 11 03             	movups %xmm0,(%rbx)
18004237e:	0f 10 4f 10          	movups 0x10(%rdi),%xmm1
180042382:	48 8d 0c 1a          	lea    (%rdx,%rbx,1),%rcx
180042386:	48 8d 04 3a          	lea    (%rdx,%rdi,1),%rax
18004238a:	0f 11 4b 10          	movups %xmm1,0x10(%rbx)
18004238e:	0f 10 47 20          	movups 0x20(%rdi),%xmm0
180042392:	0f 11 43 20          	movups %xmm0,0x20(%rbx)
180042396:	0f 10 4f 30          	movups 0x30(%rdi),%xmm1
18004239a:	0f 11 4b 30          	movups %xmm1,0x30(%rbx)
18004239e:	0f 10 47 40          	movups 0x40(%rdi),%xmm0
1800423a2:	0f 11 43 40          	movups %xmm0,0x40(%rbx)
1800423a6:	0f 10 4f 50          	movups 0x50(%rdi),%xmm1
1800423aa:	0f 11 4b 50          	movups %xmm1,0x50(%rbx)
1800423ae:	0f 10 47 60          	movups 0x60(%rdi),%xmm0
1800423b2:	0f 11 43 60          	movups %xmm0,0x60(%rbx)
1800423b6:	0f 10 47 70          	movups 0x70(%rdi),%xmm0
1800423ba:	0f 11 41 f0          	movups %xmm0,-0x10(%rcx)
1800423be:	0f 10 08             	movups (%rax),%xmm1
1800423c1:	0f 11 09             	movups %xmm1,(%rcx)
1800423c4:	0f 10 40 10          	movups 0x10(%rax),%xmm0
1800423c8:	0f 11 41 10          	movups %xmm0,0x10(%rcx)
1800423cc:	0f 10 48 20          	movups 0x20(%rax),%xmm1
1800423d0:	0f 11 49 20          	movups %xmm1,0x20(%rcx)
1800423d4:	0f 10 40 30          	movups 0x30(%rax),%xmm0
1800423d8:	0f 11 41 30          	movups %xmm0,0x30(%rcx)
1800423dc:	0f 10 48 40          	movups 0x40(%rax),%xmm1
1800423e0:	0f 11 49 40          	movups %xmm1,0x40(%rcx)
1800423e4:	0f 10 40 50          	movups 0x50(%rax),%xmm0
1800423e8:	0f 11 41 50          	movups %xmm0,0x50(%rcx)
1800423ec:	0f 10 48 60          	movups 0x60(%rax),%xmm1
1800423f0:	0f 11 49 60          	movups %xmm1,0x60(%rcx)
1800423f4:	49 21 30             	and    %rsi,(%r8)
1800423f7:	48 21 73 38          	and    %rsi,0x38(%rbx)
1800423fb:	48 21 b3 98 00 00 00 	and    %rsi,0x98(%rbx)
180042402:	48 21 b3 a0 00 00 00 	and    %rsi,0xa0(%rbx)
180042409:	48 8b 4f 30          	mov    0x30(%rdi),%rcx
18004240d:	48 85 c9             	test   %rcx,%rcx
180042410:	74 12                	je     0x180042424
180042412:	ba 00 01 00 00       	mov    $0x100,%edx
180042417:	e8 bc d8 ff ff       	call   0x18003fcd8
18004241c:	85 c0                	test   %eax,%eax
18004241e:	0f 88 92 00 00 00    	js     0x1800424b6
180042424:	48 8b 4f 38          	mov    0x38(%rdi),%rcx
180042428:	48 85 c9             	test   %rcx,%rcx
18004242b:	74 12                	je     0x18004243f
18004242d:	4c 8d 43 38          	lea    0x38(%rbx),%r8
180042431:	ba 00 04 00 00       	mov    $0x400,%edx
180042436:	e8 9d d8 ff ff       	call   0x18003fcd8
18004243b:	85 c0                	test   %eax,%eax
18004243d:	78 77                	js     0x1800424b6
18004243f:	48 39 b7 98 00 00 00 	cmp    %rsi,0x98(%rdi)
180042446:	74 30                	je     0x180042478
180042448:	8b 83 90 00 00 00    	mov    0x90(%rbx),%eax
18004244e:	c1 e0 04             	shl    $0x4,%eax
180042451:	8b c8                	mov    %eax,%ecx
180042453:	8b e8                	mov    %eax,%ebp
180042455:	e8 ba 44 00 00       	call   0x180046914
18004245a:	48 89 83 98 00 00 00 	mov    %rax,0x98(%rbx)
180042461:	48 85 c0             	test   %rax,%rax
180042464:	74 50                	je     0x1800424b6
180042466:	48 8b 97 98 00 00 00 	mov    0x98(%rdi),%rdx
18004246d:	44 8b c5             	mov    %ebp,%r8d
180042470:	48 8b c8             	mov    %rax,%rcx
180042473:	e8 48 35 0f 00       	call   0x1801359c0
180042478:	48 39 b7 a0 00 00 00 	cmp    %rsi,0xa0(%rdi)
18004247f:	74 30                	je     0x1800424b1
180042481:	8b 83 88 00 00 00    	mov    0x88(%rbx),%eax
180042487:	c1 e0 04             	shl    $0x4,%eax
18004248a:	8b c8                	mov    %eax,%ecx
18004248c:	8b e8                	mov    %eax,%ebp
18004248e:	e8 81 44 00 00       	call   0x180046914
180042493:	48 89 83 a0 00 00 00 	mov    %rax,0xa0(%rbx)
18004249a:	48 85 c0             	test   %rax,%rax
18004249d:	74 17                	je     0x1800424b6
18004249f:	48 8b 97 a0 00 00 00 	mov    0xa0(%rdi),%rdx
1800424a6:	44 8b c5             	mov    %ebp,%r8d
1800424a9:	48 8b c8             	mov    %rax,%rcx
1800424ac:	e8 0f 35 0f 00       	call   0x1801359c0
1800424b1:	48 8b f3             	mov    %rbx,%rsi
1800424b4:	33 db                	xor    %ebx,%ebx
1800424b6:	48 85 db             	test   %rbx,%rbx
1800424b9:	74 13                	je     0x1800424ce
1800424bb:	48 8b 03             	mov    (%rbx),%rax
1800424be:	ba 01 00 00 00       	mov    $0x1,%edx
1800424c3:	48 8b cb             	mov    %rbx,%rcx
1800424c6:	48 8b 00             	mov    (%rax),%rax
1800424c9:	ff d0                	call   *%rax
1800424cb:	0f 1f 00             	nopl   (%rax)
1800424ce:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1800424d3:	48 8b c6             	mov    %rsi,%rax
1800424d6:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
1800424db:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
1800424e0:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
1800424e5:	48 83 c4 20          	add    $0x20,%rsp
1800424e9:	41 5e                	pop    %r14
1800424eb:	c3                   	ret
1800424ec:	cc                   	int3
1800424ed:	cc                   	int3
1800424ee:	cc                   	int3
1800424ef:	cc                   	int3
1800424f0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1800424f5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1800424fa:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1800424ff:	57                   	push   %rdi
180042500:	41 56                	push   %r14
180042502:	41 57                	push   %r15
180042504:	48 83 ec 20          	sub    $0x20,%rsp
180042508:	0f b6 42 11          	movzbl 0x11(%rdx),%eax
18004250c:	48 8b ea             	mov    %rdx,%rbp
18004250f:	88 41 18             	mov    %al,0x18(%rcx)
180042512:	8b d0                	mov    %eax,%edx
180042514:	48 03 d2             	add    %rdx,%rdx
180042517:	48 8d 05 22 c0 10 00 	lea    0x10c022(%rip),%rax        # 0x18014e540
18004251e:	48 8b d9             	mov    %rcx,%rbx
180042521:	4c 8b c9             	mov    %rcx,%r9
180042524:	48 8b cd             	mov    %rbp,%rcx
180042527:	44 8b 04 d0          	mov    (%rax,%rdx,8),%r8d
18004252b:	48 8b 54 d0 08       	mov    0x8(%rax,%rdx,8),%rdx
180042530:	e8 73 52 00 00       	call   0x1800477a8
180042535:	45 33 ff             	xor    %r15d,%r15d
180042538:	8b f8                	mov    %eax,%edi
18004253a:	85 c0                	test   %eax,%eax
18004253c:	0f 88 0f 01 00 00    	js     0x180042651
180042542:	66 44 39 7b 40       	cmp    %r15w,0x40(%rbx)
180042547:	74 0a                	je     0x180042553
180042549:	bf 0d 00 00 c0       	mov    $0xc000000d,%edi
18004254e:	e9 fe 00 00 00       	jmp    0x180042651
180042553:	8b 83 90 00 00 00    	mov    0x90(%rbx),%eax
180042559:	85 c0                	test   %eax,%eax
18004255b:	74 63                	je     0x1800425c0
18004255d:	c1 e0 04             	shl    $0x4,%eax
180042560:	8b c8                	mov    %eax,%ecx
180042562:	e8 ad 43 00 00       	call   0x180046914
180042567:	48 89 83 98 00 00 00 	mov    %rax,0x98(%rbx)
18004256e:	48 85 c0             	test   %rax,%rax
180042571:	75 0a                	jne    0x18004257d
180042573:	bf 9a 00 00 c0       	mov    $0xc000009a,%edi
180042578:	e9 d4 00 00 00       	jmp    0x180042651
18004257d:	41 8b f7             	mov    %r15d,%esi
180042580:	44 39 bb 90 00 00 00 	cmp    %r15d,0x90(%rbx)
180042587:	76 37                	jbe    0x1800425c0
180042589:	44 8b ce             	mov    %esi,%r9d
18004258c:	48 8d 15 cd b6 10 00 	lea    0x10b6cd(%rip),%rdx        # 0x18014dc60
180042593:	49 c1 e1 04          	shl    $0x4,%r9
180042597:	41 b8 01 00 00 00    	mov    $0x1,%r8d
18004259d:	4c 03 8b 98 00 00 00 	add    0x98(%rbx),%r9
1800425a4:	48 8b cd             	mov    %rbp,%rcx
1800425a7:	e8 fc 51 00 00       	call   0x1800477a8
1800425ac:	8b f8                	mov    %eax,%edi
1800425ae:	85 c0                	test   %eax,%eax
1800425b0:	0f 88 9b 00 00 00    	js     0x180042651
1800425b6:	ff c6                	inc    %esi
1800425b8:	3b b3 90 00 00 00    	cmp    0x90(%rbx),%esi
1800425be:	72 c9                	jb     0x180042589
1800425c0:	8b 83 88 00 00 00    	mov    0x88(%rbx),%eax
1800425c6:	4c 89 bb c8 00 00 00 	mov    %r15,0xc8(%rbx)
1800425cd:	85 c0                	test   %eax,%eax
1800425cf:	74 67                	je     0x180042638
1800425d1:	c1 e0 04             	shl    $0x4,%eax
1800425d4:	8b c8                	mov    %eax,%ecx
1800425d6:	e8 39 43 00 00       	call   0x180046914
1800425db:	48 89 83 a0 00 00 00 	mov    %rax,0xa0(%rbx)
1800425e2:	48 8b c8             	mov    %rax,%rcx
1800425e5:	48 85 c0             	test   %rax,%rax
1800425e8:	74 89                	je     0x180042573
1800425ea:	41 8b f7             	mov    %r15d,%esi
1800425ed:	44 39 bb 88 00 00 00 	cmp    %r15d,0x88(%rbx)
1800425f4:	76 42                	jbe    0x180042638
1800425f6:	44 8b f6             	mov    %esi,%r14d
1800425f9:	48 8d 15 d8 ba 10 00 	lea    0x10bad8(%rip),%rdx        # 0x18014e0d8
180042600:	4d 03 f6             	add    %r14,%r14
180042603:	41 b8 02 00 00 00    	mov    $0x2,%r8d
180042609:	4e 8d 0c f1          	lea    (%rcx,%r14,8),%r9
18004260d:	48 8b cd             	mov    %rbp,%rcx
180042610:	e8 93 51 00 00       	call   0x1800477a8
180042615:	8b f8                	mov    %eax,%edi
180042617:	85 c0                	test   %eax,%eax
180042619:	78 36                	js     0x180042651
18004261b:	48 8b 8b a0 00 00 00 	mov    0xa0(%rbx),%rcx
180042622:	ff c6                	inc    %esi
180042624:	4a 8b 44 f1 08       	mov    0x8(%rcx,%r14,8),%rax
180042629:	48 01 83 c8 00 00 00 	add    %rax,0xc8(%rbx)
180042630:	3b b3 88 00 00 00    	cmp    0x88(%rbx),%esi
180042636:	72 be                	jb     0x1800425f6
180042638:	80 7b 18 03          	cmpb   $0x3,0x18(%rbx)
18004263c:	73 13                	jae    0x180042651
18004263e:	44 39 bb 90 00 00 00 	cmp    %r15d,0x90(%rbx)
180042645:	76 0a                	jbe    0x180042651
180042647:	c7 83 8c 00 00 00 01 	movl   $0x1,0x8c(%rbx)
18004264e:	00 00 00
180042651:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
180042656:	8b c7                	mov    %edi,%eax
180042658:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
18004265d:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
180042662:	48 83 c4 20          	add    $0x20,%rsp
180042666:	41 5f                	pop    %r15
180042668:	41 5e                	pop    %r14
18004266a:	5f                   	pop    %rdi
18004266b:	c3                   	ret
18004266c:	cc                   	int3
18004266d:	cc                   	int3
18004266e:	cc                   	int3
18004266f:	cc                   	int3
180042670:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180042675:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
18004267a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
18004267f:	57                   	push   %rdi
180042680:	48 83 ec 20          	sub    $0x20,%rsp
180042684:	48 8b ea             	mov    %rdx,%rbp
180042687:	48 8d 05 b2 be 10 00 	lea    0x10beb2(%rip),%rax        # 0x18014e540
18004268e:	0f b6 52 11          	movzbl 0x11(%rdx),%edx
180042692:	48 8b f9             	mov    %rcx,%rdi
180042695:	48 03 d2             	add    %rdx,%rdx
180042698:	4c 8b c9             	mov    %rcx,%r9
18004269b:	33 db                	xor    %ebx,%ebx
18004269d:	66 89 59 40          	mov    %bx,0x40(%rcx)
1800426a1:	48 8b cd             	mov    %rbp,%rcx
1800426a4:	44 8b 04 d0          	mov    (%rax,%rdx,8),%r8d
1800426a8:	48 8b 54 d0 08       	mov    0x8(%rax,%rdx,8),%rdx
1800426ad:	e8 7e 51 00 00       	call   0x180047830
1800426b2:	8b f3                	mov    %ebx,%esi
1800426b4:	39 9f 90 00 00 00    	cmp    %ebx,0x90(%rdi)
1800426ba:	76 2d                	jbe    0x1800426e9
1800426bc:	44 8b ce             	mov    %esi,%r9d
1800426bf:	48 8d 15 9a b5 10 00 	lea    0x10b59a(%rip),%rdx        # 0x18014dc60
1800426c6:	49 c1 e1 04          	shl    $0x4,%r9
1800426ca:	41 b8 01 00 00 00    	mov    $0x1,%r8d
1800426d0:	4c 03 8f 98 00 00 00 	add    0x98(%rdi),%r9