1801082da:	41 83 ea 01          	sub    $0x1,%r10d
1801082de:	74 23                	je     0x180108303
1801082e0:	41 83 fa 01          	cmp    $0x1,%r10d
1801082e4:	74 08                	je     0x1801082ee
1801082e6:	41 bb bb 00 00 c0    	mov    $0xc00000bb,%r11d
1801082ec:	eb 56                	jmp    0x180108344
1801082ee:	44 8b 42 04          	mov    0x4(%rdx),%r8d
1801082f2:	48 8b c1             	mov    %rcx,%rax
1801082f5:	48 c1 e8 20          	shr    $0x20,%rax
1801082f9:	44 2b c0             	sub    %eax,%r8d
1801082fc:	8b c1                	mov    %ecx,%eax
1801082fe:	41 ff c8             	dec    %r8d
180108301:	eb 2b                	jmp    0x18010832e
180108303:	44 8b 02             	mov    (%rdx),%r8d
180108306:	8b 42 04             	mov    0x4(%rdx),%eax
180108309:	44 2b c1             	sub    %ecx,%r8d
18010830c:	41 ff c8             	dec    %r8d
18010830f:	48 c1 e9 20          	shr    $0x20,%rcx
180108313:	eb 09                	jmp    0x18010831e
180108315:	8b 02                	mov    (%rdx),%eax
180108317:	4c 8b c1             	mov    %rcx,%r8
18010831a:	49 c1 e8 20          	shr    $0x20,%r8
18010831e:	2b c1                	sub    %ecx,%eax
180108320:	ff c8                	dec    %eax
180108322:	eb 0a                	jmp    0x18010832e
180108324:	48 8b c1             	mov    %rcx,%rax
180108327:	44 8b c1             	mov    %ecx,%r8d
18010832a:	48 c1 e8 20          	shr    $0x20,%rax
18010832e:	8b 53 04             	mov    0x4(%rbx),%edx
180108331:	48 8b 4c 24 28       	mov    0x28(%rsp),%rcx
180108336:	03 d0                	add    %eax,%edx
180108338:	41 0f af 51 08       	imul   0x8(%r9),%edx
18010833d:	03 13                	add    (%rbx),%edx
18010833f:	41 03 d0             	add    %r8d,%edx
180108342:	89 11                	mov    %edx,(%rcx)
180108344:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
180108349:	41 8b c3             	mov    %r11d,%eax
18010834c:	c3                   	ret
18010834d:	cc                   	int3
18010834e:	cc                   	int3
18010834f:	cc                   	int3
180108350:	48 8b c4             	mov    %rsp,%rax
180108353:	48 89 58 08          	mov    %rbx,0x8(%rax)
180108357:	48 89 70 10          	mov    %rsi,0x10(%rax)
18010835b:	48 89 78 18          	mov    %rdi,0x18(%rax)
18010835f:	4c 89 60 20          	mov    %r12,0x20(%rax)
180108363:	55                   	push   %rbp
180108364:	41 56                	push   %r14
180108366:	41 57                	push   %r15
180108368:	48 8b ec             	mov    %rsp,%rbp
18010836b:	48 83 ec 70          	sub    $0x70,%rsp
18010836f:	48 8b c2             	mov    %rdx,%rax
180108372:	44 8b e1             	mov    %ecx,%r12d
180108375:	48 8b c8             	mov    %rax,%rcx
180108378:	48 8d 55 c0          	lea    -0x40(%rbp),%rdx
18010837c:	4d 8b f1             	mov    %r9,%r14
18010837f:	4d 8b f8             	mov    %r8,%r15
180108382:	e8 4d 01 00 00       	call   0x1801084d4
180108387:	85 c0                	test   %eax,%eax
180108389:	0f 88 24 01 00 00    	js     0x1801084b3
18010838f:	48 8b 7d c0          	mov    -0x40(%rbp),%rdi
180108393:	bb 04 00 00 00       	mov    $0x4,%ebx
180108398:	83 65 c8 00          	andl   $0x0,-0x38(%rbp)
18010839c:	83 4d cc ff          	orl    $0xffffffff,-0x34(%rbp)
1801083a0:	83 65 dc 00          	andl   $0x0,-0x24(%rbp)
1801083a4:	0f bf 47 54          	movswl 0x54(%rdi),%eax
1801083a8:	8b 57 60             	mov    0x60(%rdi),%edx
1801083ab:	0f bf 4f 52          	movswl 0x52(%rdi),%ecx
1801083af:	4c 0f bf 57 50       	movswq 0x50(%rdi),%r10
1801083b4:	2b c8                	sub    %eax,%ecx
1801083b6:	0f b7 47 78          	movzwl 0x78(%rdi),%eax
1801083ba:	4c 63 c9             	movslq %ecx,%r9
1801083bd:	4c 0f af ca          	imul   %rdx,%r9
1801083c1:	4c 0f af d2          	imul   %rdx,%r10
1801083c5:	4c 8d 04 c0          	lea    (%rax,%rax,8),%r8
1801083c9:	48 89 7d d0          	mov    %rdi,-0x30(%rbp)
1801083cd:	49 c1 e0 03          	shl    $0x3,%r8
1801083d1:	ff c3                	inc    %ebx
1801083d3:	49 8b c1             	mov    %r9,%rax
1801083d6:	8b cb                	mov    %ebx,%ecx
1801083d8:	48 0f af c1          	imul   %rcx,%rax
1801083dc:	48 c1 e0 06          	shl    $0x6,%rax
1801083e0:	48 99                	cqto
1801083e2:	49 f7 f8             	idiv   %r8
1801083e5:	4c 8b d8             	mov    %rax,%r11
1801083e8:	49 8b c2             	mov    %r10,%rax
1801083eb:	48 0f af c1          	imul   %rcx,%rax
1801083ef:	41 8b cb             	mov    %r11d,%ecx
1801083f2:	48 c1 e0 06          	shl    $0x6,%rax
1801083f6:	48 99                	cqto
1801083f8:	c1 f9 06             	sar    $0x6,%ecx
1801083fb:	49 f7 f8             	idiv   %r8
1801083fe:	48 8b d0             	mov    %rax,%rdx
180108401:	45 85 db             	test   %r11d,%r11d
180108404:	79 08                	jns    0x18010840e
180108406:	81 c9 00 00 00 fc    	or     $0xfc000000,%ecx
18010840c:	eb 08                	jmp    0x180108416
18010840e:	41 f6 c3 3f          	test   $0x3f,%r11b
180108412:	74 02                	je     0x180108416
180108414:	ff c1                	inc    %ecx
180108416:	c1 f8 06             	sar    $0x6,%eax
180108419:	8d 71 02             	lea    0x2(%rcx),%esi
18010841c:	8b c8                	mov    %eax,%ecx
18010841e:	89 75 c4             	mov    %esi,-0x3c(%rbp)
180108421:	81 c9 00 00 00 fc    	or     $0xfc000000,%ecx
180108427:	85 d2                	test   %edx,%edx
180108429:	0f 49 c8             	cmovns %eax,%ecx
18010842c:	f6 c2 20             	test   $0x20,%dl
18010842f:	8d 41 01             	lea    0x1(%rcx),%eax
180108432:	0f 44 c1             	cmove  %ecx,%eax
180108435:	89 45 c0             	mov    %eax,-0x40(%rbp)
180108438:	41 3b f4             	cmp    %r12d,%esi
18010843b:	72 94                	jb     0x1801083d1
18010843d:	89 5d d8             	mov    %ebx,-0x28(%rbp)
180108440:	76 28                	jbe    0x18010846a
180108442:	83 fb 05             	cmp    $0x5,%ebx
180108445:	77 07                	ja     0x18010844e
180108447:	b8 01 00 00 c0       	mov    $0xc0000001,%eax
18010844c:	eb 65                	jmp    0x1801084b3
18010844e:	ff cb                	dec    %ebx
180108450:	4c 8d 45 c0          	lea    -0x40(%rbp),%r8
180108454:	48 8d 55 c4          	lea    -0x3c(%rbp),%rdx
180108458:	89 5d d8             	mov    %ebx,-0x28(%rbp)
18010845b:	48 8d 4d c8          	lea    -0x38(%rbp),%rcx
18010845f:	e8 b4 16 00 00       	call   0x180109b18
180108464:	8b 45 c0             	mov    -0x40(%rbp),%eax
180108467:	8b 75 c4             	mov    -0x3c(%rbp),%esi
18010846a:	4d 85 ff             	test   %r15,%r15
18010846d:	74 2e                	je     0x18010849d
18010846f:	41 0f b7 0f          	movzwl (%r15),%ecx
180108473:	4c 8d 45 c0          	lea    -0x40(%rbp),%r8
180108477:	33 c0                	xor    %eax,%eax
180108479:	48 8d 55 c8          	lea    -0x38(%rbp),%rdx
18010847d:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
180108481:	0f 57 c0             	xorps  %xmm0,%xmm0
180108484:	48 8d 45 e0          	lea    -0x20(%rbp),%rax
180108488:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
18010848d:	0f 11 45 e0          	movups %xmm0,-0x20(%rbp)
180108491:	e8 da 3f 00 00       	call   0x18010c470
180108496:	85 c0                	test   %eax,%eax
180108498:	78 19                	js     0x1801084b3
18010849a:	8b 45 c0             	mov    -0x40(%rbp),%eax
18010849d:	41 89 06             	mov    %eax,(%r14)
1801084a0:	48 8b 45 40          	mov    0x40(%rbp),%rax
1801084a4:	41 89 76 04          	mov    %esi,0x4(%r14)
1801084a8:	89 18                	mov    %ebx,(%rax)
1801084aa:	48 8b 45 48          	mov    0x48(%rbp),%rax
1801084ae:	48 89 38             	mov    %rdi,(%rax)
1801084b1:	33 c0                	xor    %eax,%eax
1801084b3:	4c 8d 5c 24 70       	lea    0x70(%rsp),%r11
1801084b8:	49 8b 5b 20          	mov    0x20(%r11),%rbx
1801084bc:	49 8b 73 28          	mov    0x28(%r11),%rsi
1801084c0:	49 8b 7b 30          	mov    0x30(%r11),%rdi
1801084c4:	4d 8b 63 38          	mov    0x38(%r11),%r12
1801084c8:	49 8b e3             	mov    %r11,%rsp
1801084cb:	41 5f                	pop    %r15
1801084cd:	41 5e                	pop    %r14
1801084cf:	5d                   	pop    %rbp
1801084d0:	c3                   	ret
1801084d1:	cc                   	int3
1801084d2:	cc                   	int3
1801084d3:	cc                   	int3
1801084d4:	48 8b c4             	mov    %rsp,%rax
1801084d7:	48 89 58 08          	mov    %rbx,0x8(%rax)
1801084db:	48 89 68 10          	mov    %rbp,0x10(%rax)
1801084df:	48 89 70 18          	mov    %rsi,0x18(%rax)
1801084e3:	48 89 78 20          	mov    %rdi,0x20(%rax)
1801084e7:	41 54                	push   %r12
1801084e9:	41 56                	push   %r14
1801084eb:	41 57                	push   %r15
1801084ed:	48 83 ec 20          	sub    $0x20,%rsp
1801084f1:	80 3d 80 d4 08 00 00 	cmpb   $0x0,0x8d480(%rip)        # 0x180195978
1801084f8:	4c 8b fa             	mov    %rdx,%r15
1801084fb:	48 8b e9             	mov    %rcx,%rbp
1801084fe:	be 25 02 00 c0       	mov    $0xc0000225,%esi
180108503:	75 07                	jne    0x18010850c
180108505:	b8 0d 00 00 c0       	mov    $0xc000000d,%eax
18010850a:	eb 45                	jmp    0x180108551
18010850c:	48 83 22 00          	andq   $0x0,(%rdx)
180108510:	4c 8d 25 69 d4 08 00 	lea    0x8d469(%rip),%r12        # 0x180195980
180108517:	48 8b 3d 62 d4 08 00 	mov    0x8d462(%rip),%rdi        # 0x180195980
18010851e:	eb 2a                	jmp    0x18010854a
180108520:	4c 8d 77 20          	lea    0x20(%rdi),%r14
180108524:	49 8b 1e             	mov    (%r14),%rbx
180108527:	eb 51                	jmp    0x18010857a
180108529:	48 85 ed             	test   %rbp,%rbp
18010852c:	74 43                	je     0x180108571
18010852e:	48 8b 4b 20          	mov    0x20(%rbx),%rcx
180108532:	48 8b d5             	mov    %rbp,%rdx
180108535:	e8 b2 28 02 00       	call   0x18012adec
18010853a:	85 c0                	test   %eax,%eax
18010853c:	75 39                	jne    0x180108577
18010853e:	49 89 1f             	mov    %rbx,(%r15)
180108541:	33 f6                	xor    %esi,%esi
180108543:	85 f6                	test   %esi,%esi
180108545:	79 08                	jns    0x18010854f
180108547:	48 8b 3f             	mov    (%rdi),%rdi
18010854a:	49 3b fc             	cmp    %r12,%rdi
18010854d:	75 d1                	jne    0x180108520
18010854f:	8b c6                	mov    %esi,%eax
180108551:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
180108556:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
18010855b:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
180108560:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
180108565:	48 83 c4 20          	add    $0x20,%rsp
180108569:	41 5f                	pop    %r15
18010856b:	41 5e                	pop    %r14
18010856d:	41 5c                	pop    %r12
18010856f:	c3                   	ret
180108570:	cc                   	int3
180108571:	f6 47 18 01          	testb  $0x1,0x18(%rdi)
180108575:	75 c7                	jne    0x18010853e
180108577:	48 8b 1b             	mov    (%rbx),%rbx
18010857a:	49 3b de             	cmp    %r14,%rbx
18010857d:	75 aa                	jne    0x180108529
18010857f:	eb c2                	jmp    0x180108543
180108581:	cc                   	int3
180108582:	cc                   	int3
180108583:	cc                   	int3
180108584:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180108589:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
18010858e:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
180108593:	57                   	push   %rdi
180108594:	48 83 ec 20          	sub    $0x20,%rsp
180108598:	80 3d d9 d3 08 00 00 	cmpb   $0x0,0x8d3d9(%rip)        # 0x180195978
18010859f:	74 68                	je     0x180108609
1801085a1:	48 8b 1d d8 d3 08 00 	mov    0x8d3d8(%rip),%rbx        # 0x180195980
1801085a8:	48 8d 2d d1 d3 08 00 	lea    0x8d3d1(%rip),%rbp        # 0x180195980
1801085af:	eb 53                	jmp    0x180108604
1801085b1:	48 8b f3             	mov    %rbx,%rsi
1801085b4:	48 8d 7b 20          	lea    0x20(%rbx),%rdi
1801085b8:	eb 1e                	jmp    0x1801085d8
1801085ba:	48 39 78 08          	cmp    %rdi,0x8(%rax)
1801085be:	75 5f                	jne    0x18010861f
1801085c0:	48 8b 08             	mov    (%rax),%rcx
1801085c3:	48 39 41 08          	cmp    %rax,0x8(%rcx)
1801085c7:	75 56                	jne    0x18010861f
1801085c9:	48 89 0f             	mov    %rcx,(%rdi)
1801085cc:	48 89 79 08          	mov    %rdi,0x8(%rcx)
1801085d0:	48 8b c8             	mov    %rax,%rcx
1801085d3:	e8 80 01 00 00       	call   0x180108758
1801085d8:	48 8b 07             	mov    (%rdi),%rax
1801085db:	48 3b c7             	cmp    %rdi,%rax
1801085de:	75 da                	jne    0x1801085ba
1801085e0:	48 8b 03             	mov    (%rbx),%rax
1801085e3:	48 39 58 08          	cmp    %rbx,0x8(%rax)
1801085e7:	75 36                	jne    0x18010861f
1801085e9:	48 8b 53 08          	mov    0x8(%rbx),%rdx
1801085ed:	48 39 1a             	cmp    %rbx,(%rdx)
1801085f0:	75 2d                	jne    0x18010861f
1801085f2:	48 89 02             	mov    %rax,(%rdx)
1801085f5:	48 8b ce             	mov    %rsi,%rcx
1801085f8:	48 89 50 08          	mov    %rdx,0x8(%rax)
1801085fc:	48 8b 1b             	mov    (%rbx),%rbx
1801085ff:	e8 f8 19 f9 ff       	call   0x180099ffc
180108604:	48 3b dd             	cmp    %rbp,%rbx
180108607:	75 a8                	jne    0x1801085b1
180108609:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18010860e:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
180108613:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
180108618:	48 83 c4 20          	add    $0x20,%rsp
18010861c:	5f                   	pop    %rdi
18010861d:	c3                   	ret
18010861e:	cc                   	int3
18010861f:	b9 03 00 00 00       	mov    $0x3,%ecx
180108624:	cd 29                	int    $0x29
180108626:	cc                   	int3
180108627:	cc                   	int3
180108628:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18010862d:	55                   	push   %rbp
18010862e:	56                   	push   %rsi
18010862f:	57                   	push   %rdi
180108630:	48 83 ec 20          	sub    $0x20,%rsp
180108634:	83 64 24 50 00       	andl   $0x0,0x50(%rsp)
180108639:	48 8d 2d 40 d3 08 00 	lea    0x8d340(%rip),%rbp        # 0x180195980
180108640:	80 3d 31 d3 08 00 00 	cmpb   $0x0,0x8d331(%rip)        # 0x180195978
180108647:	8b fa                	mov    %edx,%edi
180108649:	8b f1                	mov    %ecx,%esi
18010864b:	75 15                	jne    0x180108662
18010864d:	48 89 2d 34 d3 08 00 	mov    %rbp,0x8d334(%rip)        # 0x180195988
180108654:	48 89 2d 25 d3 08 00 	mov    %rbp,0x8d325(%rip)        # 0x180195980
18010865b:	c6 05 16 d3 08 00 01 	movb   $0x1,0x8d316(%rip)        # 0x180195978
180108662:	b9 30 00 00 00       	mov    $0x30,%ecx
180108667:	e8 e4 17 f9 ff       	call   0x180099e50
18010866c:	48 8b d8             	mov    %rax,%rbx
18010866f:	48 85 c0             	test   %rax,%rax
180108672:	75 07                	jne    0x18010867b
180108674:	bf 17 00 00 c0       	mov    $0xc0000017,%edi
180108679:	eb 75                	jmp    0x1801086f0
18010867b:	0f 57 c0             	xorps  %xmm0,%xmm0
18010867e:	4c 8d 44 24 50       	lea    0x50(%rsp),%r8
180108683:	0f 11 00             	movups %xmm0,(%rax)
180108686:	33 d2                	xor    %edx,%edx
180108688:	8b ce                	mov    %esi,%ecx
18010868a:	0f 11 40 10          	movups %xmm0,0x10(%rax)
18010868e:	0f 11 40 20          	movups %xmm0,0x20(%rax)
180108692:	48 83 c0 20          	add    $0x20,%rax
180108696:	89 73 10             	mov    %esi,0x10(%rbx)
180108699:	89 7b 18             	mov    %edi,0x18(%rbx)
18010869c:	48 89 40 08          	mov    %rax,0x8(%rax)
1801086a0:	48 89 00             	mov    %rax,(%rax)
1801086a3:	e8 b8 40 00 00       	call   0x18010c760
1801086a8:	8b f8                	mov    %eax,%edi
1801086aa:	85 c0                	test   %eax,%eax
1801086ac:	78 3a                	js     0x1801086e8
1801086ae:	81 7c 24 50 66 63 74 	cmpl   $0x74746366,0x50(%rsp)
1801086b5:	74
1801086b6:	75 60                	jne    0x180108718
1801086b8:	83 4b 1c 01          	orl    $0x1,0x1c(%rbx)
1801086bc:	4c 8d 44 24 58       	lea    0x58(%rsp),%r8
1801086c1:	ba 04 00 00 00       	mov    $0x4,%edx
1801086c6:	8b ce                	mov    %esi,%ecx
1801086c8:	e8 93 40 00 00       	call   0x18010c760
1801086cd:	8b f8                	mov    %eax,%edi
1801086cf:	85 c0                	test   %eax,%eax
1801086d1:	78 15                	js     0x1801086e8
1801086d3:	8b 44 24 58          	mov    0x58(%rsp),%eax
1801086d7:	05 00 00 ff ff       	add    $0xffff0000,%eax
1801086dc:	a9 ff ff fe ff       	test   $0xfffeffff,%eax
1801086e1:	74 1d                	je     0x180108700
1801086e3:	bf 7b 00 00 c0       	mov    $0xc000007b,%edi
1801086e8:	48 8b cb             	mov    %rbx,%rcx
1801086eb:	e8 0c 19 f9 ff       	call   0x180099ffc
1801086f0:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1801086f5:	8b c7                	mov    %edi,%eax
1801086f7:	48 83 c4 20          	add    $0x20,%rsp
1801086fb:	5f                   	pop    %rdi
1801086fc:	5e                   	pop    %rsi
1801086fd:	5d                   	pop    %rbp
1801086fe:	c3                   	ret
1801086ff:	cc                   	int3
180108700:	4c 8d 43 14          	lea    0x14(%rbx),%r8
180108704:	ba 08 00 00 00       	mov    $0x8,%edx
180108709:	8b ce                	mov    %esi,%ecx
18010870b:	e8 50 40 00 00       	call   0x18010c760
180108710:	8b f8                	mov    %eax,%edi
180108712:	85 c0                	test   %eax,%eax
180108714:	78 d2                	js     0x1801086e8
180108716:	eb 07                	jmp    0x18010871f
180108718:	c7 43 14 01 00 00 00 	movl   $0x1,0x14(%rbx)
18010871f:	48 8b cb             	mov    %rbx,%rcx
180108722:	e8 e5 00 00 00       	call   0x18010880c
180108727:	8b f8                	mov    %eax,%edi
180108729:	85 c0                	test   %eax,%eax
18010872b:	78 bb                	js     0x1801086e8
18010872d:	48 8b 05 4c d2 08 00 	mov    0x8d24c(%rip),%rax        # 0x180195980
180108734:	48 39 68 08          	cmp    %rbp,0x8(%rax)
180108738:	74 07                	je     0x180108741
18010873a:	b9 03 00 00 00       	mov    $0x3,%ecx
18010873f:	cd 29                	int    $0x29