180037377:	48 89 78 20          	mov    %rdi,0x20(%rax)
18003737b:	41 56                	push   %r14
18003737d:	48 83 ec 20          	sub    $0x20,%rsp
180037381:	33 ff                	xor    %edi,%edi
180037383:	49 8b e9             	mov    %r9,%rbp
180037386:	49 8b f0             	mov    %r8,%rsi
180037389:	48 8b da             	mov    %rdx,%rbx
18003738c:	4c 8b f1             	mov    %rcx,%r14
18003738f:	4d 85 c0             	test   %r8,%r8
180037392:	74 21                	je     0x1800373b5
180037394:	48 8b 44 24 50       	mov    0x50(%rsp),%rax
180037399:	48 8b d3             	mov    %rbx,%rdx
18003739c:	49 8b ce             	mov    %r14,%rcx
18003739f:	ff d0                	call   *%rax
1800373a1:	0f 1f 00             	nopl   (%rax)
1800373a4:	85 c0                	test   %eax,%eax
1800373a6:	78 0d                	js     0x1800373b5
1800373a8:	74 29                	je     0x1800373d3
1800373aa:	48 ff c7             	inc    %rdi
1800373ad:	48 03 dd             	add    %rbp,%rbx
1800373b0:	48 3b fe             	cmp    %rsi,%rdi
1800373b3:	72 df                	jb     0x180037394
1800373b5:	33 c0                	xor    %eax,%eax
1800373b7:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1800373bc:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
1800373c1:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
1800373c6:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
1800373cb:	48 83 c4 20          	add    $0x20,%rsp
1800373cf:	41 5e                	pop    %r14
1800373d1:	c3                   	ret
1800373d2:	cc                   	int3
1800373d3:	48 8b c3             	mov    %rbx,%rax
1800373d6:	eb df                	jmp    0x1800373b7
1800373d8:	4c 8b dc             	mov    %rsp,%r11
1800373db:	49 89 5b 10          	mov    %rbx,0x10(%r11)
1800373df:	49 89 6b 18          	mov    %rbp,0x18(%r11)
1800373e3:	89 4c 24 08          	mov    %ecx,0x8(%rsp)
1800373e7:	56                   	push   %rsi
1800373e8:	57                   	push   %rdi
1800373e9:	41 56                	push   %r14
1800373eb:	48 83 ec 30          	sub    $0x30,%rsp
1800373ef:	48 8b 6a 08          	mov    0x8(%rdx),%rbp
1800373f3:	33 db                	xor    %ebx,%ebx
1800373f5:	49 8b f9             	mov    %r9,%rdi
1800373f8:	4d 8b f0             	mov    %r8,%r14
1800373fb:	8b f3                	mov    %ebx,%esi
1800373fd:	48 85 ed             	test   %rbp,%rbp
180037400:	74 6a                	je     0x18003746c
180037402:	44 8b 45 00          	mov    0x0(%rbp),%r8d
180037406:	48 8d 05 ab fe ff ff 	lea    -0x155(%rip),%rax        # 0x1800372b8
18003740d:	49 89 43 d8          	mov    %rax,-0x28(%r11)
180037411:	48 8d 55 04          	lea    0x4(%rbp),%rdx
180037415:	44 8d 4b 0c          	lea    0xc(%rbx),%r9d
180037419:	49 8d 4b 08          	lea    0x8(%r11),%rcx
18003741d:	4d 85 c0             	test   %r8,%r8
180037420:	74 29                	je     0x18003744b
180037422:	e8 a5 fe ff ff       	call   0x1800372cc
180037427:	48 8b f0             	mov    %rax,%rsi
18003742a:	8b 45 00             	mov    0x0(%rbp),%eax
18003742d:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
180037431:	48 8d 45 04          	lea    0x4(%rbp),%rax
180037435:	48 8d 04 88          	lea    (%rax,%rcx,4),%rax
180037439:	8b 4c 24 50          	mov    0x50(%rsp),%ecx
18003743d:	48 3b f0             	cmp    %rax,%rsi
180037440:	74 04                	je     0x180037446
180037442:	39 0e                	cmp    %ecx,(%rsi)
180037444:	74 11                	je     0x180037457
180037446:	48 8b f3             	mov    %rbx,%rsi
180037449:	eb 0c                	jmp    0x180037457
18003744b:	e8 18 ff ff ff       	call   0x180037368
180037450:	8b 4c 24 50          	mov    0x50(%rsp),%ecx
180037454:	48 8b f0             	mov    %rax,%rsi
180037457:	48 85 f6             	test   %rsi,%rsi
18003745a:	74 10                	je     0x18003746c
18003745c:	f2 0f 10 06          	movsd  (%rsi),%xmm0
180037460:	f2 0f 11 07          	movsd  %xmm0,(%rdi)
180037464:	8b 46 08             	mov    0x8(%rsi),%eax
180037467:	89 47 08             	mov    %eax,0x8(%rdi)
18003746a:	eb 06                	jmp    0x180037472
18003746c:	48 89 5f 04          	mov    %rbx,0x4(%rdi)
180037470:	89 0f                	mov    %ecx,(%rdi)
180037472:	49 8b 6e 08          	mov    0x8(%r14),%rbp
180037476:	48 85 ed             	test   %rbp,%rbp
180037479:	75 0d                	jne    0x180037488
18003747b:	0f ba 77 04 07       	btrl   $0x7,0x4(%rdi)
180037480:	8b 4f 04             	mov    0x4(%rdi),%ecx
180037483:	e9 84 00 00 00       	jmp    0x18003750c
180037488:	44 8b 45 00          	mov    0x0(%rbp),%r8d
18003748c:	48 8d 05 25 fe ff ff 	lea    -0x1db(%rip),%rax        # 0x1800372b8
180037493:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
180037498:	48 8d 55 04          	lea    0x4(%rbp),%rdx
18003749c:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
1800374a1:	41 b9 10 00 00 00    	mov    $0x10,%r9d
1800374a7:	4d 85 c0             	test   %r8,%r8
1800374aa:	74 28                	je     0x1800374d4
1800374ac:	e8 1b fe ff ff       	call   0x1800372cc
1800374b1:	48 8b d0             	mov    %rax,%rdx
1800374b4:	8b 45 00             	mov    0x0(%rbp),%eax
1800374b7:	48 c1 e0 04          	shl    $0x4,%rax
1800374bb:	48 83 c0 04          	add    $0x4,%rax
1800374bf:	48 03 c5             	add    %rbp,%rax
1800374c2:	48 3b d0             	cmp    %rax,%rdx
1800374c5:	74 08                	je     0x1800374cf
1800374c7:	8b 44 24 50          	mov    0x50(%rsp),%eax
1800374cb:	39 02                	cmp    %eax,(%rdx)
1800374cd:	74 0d                	je     0x1800374dc
1800374cf:	48 8b d3             	mov    %rbx,%rdx
1800374d2:	eb 08                	jmp    0x1800374dc
1800374d4:	e8 8f fe ff ff       	call   0x180037368
1800374d9:	48 8b d0             	mov    %rax,%rdx
1800374dc:	8b 4f 04             	mov    0x4(%rdi),%ecx
1800374df:	48 85 d2             	test   %rdx,%rdx
1800374e2:	74 21                	je     0x180037505
1800374e4:	0f ba e9 07          	bts    $0x7,%ecx
1800374e8:	89 4f 04             	mov    %ecx,0x4(%rdi)
1800374eb:	f6 c1 40             	test   $0x40,%cl
1800374ee:	75 1c                	jne    0x18003750c
1800374f0:	0f b7 42 06          	movzwl 0x6(%rdx),%eax
1800374f4:	c1 e0 06             	shl    $0x6,%eax
1800374f7:	33 c1                	xor    %ecx,%eax
1800374f9:	83 e0 40             	and    $0x40,%eax
1800374fc:	33 c1                	xor    %ecx,%eax
1800374fe:	8b c8                	mov    %eax,%ecx
180037500:	89 47 04             	mov    %eax,0x4(%rdi)
180037503:	eb 07                	jmp    0x18003750c
180037505:	0f ba f1 07          	btr    $0x7,%ecx
180037509:	89 4f 04             	mov    %ecx,0x4(%rdi)
18003750c:	48 85 f6             	test   %rsi,%rsi
18003750f:	75 18                	jne    0x180037529
180037511:	f6 c1 40             	test   $0x40,%cl
180037514:	75 13                	jne    0x180037529
180037516:	80 e1 80             	and    $0x80,%cl
180037519:	f6 d9                	neg    %cl
18003751b:	1b db                	sbb    %ebx,%ebx
18003751d:	81 e3 f2 fe ff 3f    	and    $0x3ffffef2,%ebx
180037523:	81 c3 25 02 00 c0    	add    $0xc0000225,%ebx
180037529:	48 8b 6c 24 60       	mov    0x60(%rsp),%rbp
18003752e:	8b c3                	mov    %ebx,%eax
180037530:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
180037535:	48 83 c4 30          	add    $0x30,%rsp
180037539:	41 5e                	pop    %r14
18003753b:	5f                   	pop    %rdi
18003753c:	5e                   	pop    %rsi
18003753d:	c3                   	ret
18003753e:	cc                   	int3
18003753f:	cc                   	int3
180037540:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180037545:	57                   	push   %rdi
180037546:	48 83 ec 20          	sub    $0x20,%rsp
18003754a:	48 8b 19             	mov    (%rcx),%rbx
18003754d:	48 8b f9             	mov    %rcx,%rdi
180037550:	48 3b d9             	cmp    %rcx,%rbx
180037553:	74 57                	je     0x1800375ac
180037555:	48 39 7b 08          	cmp    %rdi,0x8(%rbx)
180037559:	0f 85 85 00 00 00    	jne    0x1800375e4
18003755f:	48 8b 03             	mov    (%rbx),%rax
180037562:	48 39 58 08          	cmp    %rbx,0x8(%rax)
180037566:	75 7c                	jne    0x1800375e4
180037568:	48 89 07             	mov    %rax,(%rdi)
18003756b:	48 89 78 08          	mov    %rdi,0x8(%rax)
18003756f:	48 8b 4b 28          	mov    0x28(%rbx),%rcx
180037573:	48 85 c9             	test   %rcx,%rcx
180037576:	74 05                	je     0x18003757d
180037578:	e8 df f3 00 00       	call   0x18004695c
18003757d:	48 8b 4b 20          	mov    0x20(%rbx),%rcx
180037581:	48 85 c9             	test   %rcx,%rcx
180037584:	74 05                	je     0x18003758b
180037586:	e8 d1 f3 00 00       	call   0x18004695c
18003758b:	48 8b 8b 90 00 00 00 	mov    0x90(%rbx),%rcx
180037592:	48 85 c9             	test   %rcx,%rcx
180037595:	74 05                	je     0x18003759c
180037597:	e8 c0 f3 00 00       	call   0x18004695c
18003759c:	48 8b cb             	mov    %rbx,%rcx
18003759f:	e8 b8 f3 00 00       	call   0x18004695c
1800375a4:	48 8b 1f             	mov    (%rdi),%rbx
1800375a7:	48 3b df             	cmp    %rdi,%rbx
1800375aa:	75 a9                	jne    0x180037555
1800375ac:	48 83 c7 10          	add    $0x10,%rdi
1800375b0:	eb 1e                	jmp    0x1800375d0
1800375b2:	48 39 78 08          	cmp    %rdi,0x8(%rax)
1800375b6:	75 2c                	jne    0x1800375e4
1800375b8:	48 8b 08             	mov    (%rax),%rcx
1800375bb:	48 39 41 08          	cmp    %rax,0x8(%rcx)
1800375bf:	75 23                	jne    0x1800375e4
1800375c1:	48 89 0f             	mov    %rcx,(%rdi)
1800375c4:	48 89 79 08          	mov    %rdi,0x8(%rcx)
1800375c8:	48 8b c8             	mov    %rax,%rcx
1800375cb:	e8 8c f3 00 00       	call   0x18004695c
1800375d0:	48 8b 07             	mov    (%rdi),%rax
1800375d3:	48 3b c7             	cmp    %rdi,%rax
1800375d6:	75 da                	jne    0x1800375b2
1800375d8:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1800375dd:	48 83 c4 20          	add    $0x20,%rsp
1800375e1:	5f                   	pop    %rdi
1800375e2:	c3                   	ret
1800375e3:	cc                   	int3
1800375e4:	b9 03 00 00 00       	mov    $0x3,%ecx
1800375e9:	cd 29                	int    $0x29
1800375eb:	cc                   	int3
1800375ec:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1800375f1:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1800375f6:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1800375fb:	57                   	push   %rdi
1800375fc:	48 83 ec 20          	sub    $0x20,%rsp
180037600:	33 ff                	xor    %edi,%edi
180037602:	48 8b da             	mov    %rdx,%rbx
180037605:	48 8b e9             	mov    %rcx,%rbp
180037608:	e8 33 ff ff ff       	call   0x180037540
18003760d:	48 8b 8b d8 00 00 00 	mov    0xd8(%rbx),%rcx
180037614:	48 85 c9             	test   %rcx,%rcx
180037617:	0f 84 cc 01 00 00    	je     0x1800377e9
18003761d:	e8 4e 73 10 00       	call   0x18013e970
180037622:	b9 98 00 00 00       	mov    $0x98,%ecx
180037627:	48 8b f0             	mov    %rax,%rsi
18003762a:	e8 e5 f2 00 00       	call   0x180046914
18003762f:	48 8b d8             	mov    %rax,%rbx
180037632:	48 85 c0             	test   %rax,%rax
180037635:	74 2d                	je     0x180037664
180037637:	83 60 70 00          	andl   $0x0,0x70(%rax)
18003763b:	83 60 74 00          	andl   $0x0,0x74(%rax)
18003763f:	83 60 78 00          	andl   $0x0,0x78(%rax)
180037643:	48 83 a0 80 00 00 00 	andq   $0x0,0x80(%rax)
18003764a:	00
18003764b:	48 83 a0 88 00 00 00 	andq   $0x0,0x88(%rax)
180037652:	00
180037653:	48 83 a0 90 00 00 00 	andq   $0x0,0x90(%rax)
18003765a:	00
18003765b:	48 89 40 08          	mov    %rax,0x8(%rax)
18003765f:	48 89 00             	mov    %rax,(%rax)
180037662:	eb 02                	jmp    0x180037666
180037664:	33 db                	xor    %ebx,%ebx
180037666:	48 85 db             	test   %rbx,%rbx
180037669:	0f 84 75 01 00 00    	je     0x1800377e4
18003766f:	0f 10 46 20          	movups 0x20(%rsi),%xmm0
180037673:	f3 0f 7f 43 10       	movdqu %xmm0,0x10(%rbx)
180037678:	48 8b 4e 30          	mov    0x30(%rsi),%rcx
18003767c:	48 85 c9             	test   %rcx,%rcx
18003767f:	74 14                	je     0x180037695
180037681:	4c 8d 43 20          	lea    0x20(%rbx),%r8
180037685:	ba 00 01 00 00       	mov    $0x100,%edx
18003768a:	e8 49 86 00 00       	call   0x18003fcd8
18003768f:	8b f8                	mov    %eax,%edi
180037691:	85 c0                	test   %eax,%eax
180037693:	78 5c                	js     0x1800376f1
180037695:	48 8b 4e 38          	mov    0x38(%rsi),%rcx
180037699:	48 85 c9             	test   %rcx,%rcx
18003769c:	74 14                	je     0x1800376b2
18003769e:	4c 8d 43 28          	lea    0x28(%rbx),%r8
1800376a2:	ba 00 04 00 00       	mov    $0x400,%edx
1800376a7:	e8 2c 86 00 00       	call   0x18003fcd8
1800376ac:	8b f8                	mov    %eax,%edi
1800376ae:	85 c0                	test   %eax,%eax
1800376b0:	78 3f                	js     0x1800376f1
1800376b2:	8b 86 d8 00 00 00    	mov    0xd8(%rsi),%eax
1800376b8:	48 8d 4b 70          	lea    0x70(%rbx),%rcx
1800376bc:	89 43 30             	mov    %eax,0x30(%rbx)
1800376bf:	ba 01 00 00 00       	mov    $0x1,%edx
1800376c4:	0f 10 46 48          	movups 0x48(%rsi),%xmm0
1800376c8:	0f 11 43 38          	movups %xmm0,0x38(%rbx)
1800376cc:	44 8d 42 2f          	lea    0x2f(%rdx),%r8d
1800376d0:	0f 10 4e 58          	movups 0x58(%rsi),%xmm1
1800376d4:	0f 11 4b 48          	movups %xmm1,0x48(%rbx)
1800376d8:	0f 10 46 68          	movups 0x68(%rsi),%xmm0
1800376dc:	0f 11 43 58          	movups %xmm0,0x58(%rbx)
1800376e0:	f2 0f 10 4e 78       	movsd  0x78(%rsi),%xmm1
1800376e5:	f2 0f 11 4b 68       	movsd  %xmm1,0x68(%rbx)
1800376ea:	e8 b5 f5 00 00       	call   0x180046ca4
1800376ef:	8b f8                	mov    %eax,%edi
1800376f1:	85 ff                	test   %edi,%edi
1800376f3:	0f 88 b4 00 00 00    	js     0x1800377ad
1800376f9:	48 8b 45 08          	mov    0x8(%rbp),%rax
1800376fd:	48 39 28             	cmp    %rbp,(%rax)
180037700:	0f 85 a0 00 00 00    	jne    0x1800377a6
180037706:	48 89 2b             	mov    %rbp,(%rbx)
180037709:	48 89 43 08          	mov    %rax,0x8(%rbx)
18003770d:	48 89 18             	mov    %rbx,(%rax)
180037710:	48 89 5d 08          	mov    %rbx,0x8(%rbp)
180037714:	33 db                	xor    %ebx,%ebx
180037716:	39 9e 88 00 00 00    	cmp    %ebx,0x88(%rsi)
18003771c:	76 7c                	jbe    0x18003779a
18003771e:	b9 30 00 00 00       	mov    $0x30,%ecx
180037723:	e8 ec f1 00 00       	call   0x180046914
180037728:	48 8b c8             	mov    %rax,%rcx
18003772b:	48 85 c0             	test   %rax,%rax
18003772e:	0f 84 b0 00 00 00    	je     0x1800377e4
180037734:	8b c3                	mov    %ebx,%eax
180037736:	48 8d 55 10          	lea    0x10(%rbp),%rdx
18003773a:	48 c1 e0 04          	shl    $0x4,%rax
18003773e:	48 03 86 a0 00 00 00 	add    0xa0(%rsi),%rax
180037745:	48 89 49 08          	mov    %rcx,0x8(%rcx)
180037749:	33 ff                	xor    %edi,%edi
18003774b:	48 89 09             	mov    %rcx,(%rcx)
18003774e:	0f 10 46 20          	movups 0x20(%rsi),%xmm0
180037752:	f3 0f 7f 41 10       	movdqu %xmm0,0x10(%rcx)
180037757:	4c 8b 00             	mov    (%rax),%r8
18003775a:	4c 89 41 20          	mov    %r8,0x20(%rcx)
18003775e:	48 8b 40 08          	mov    0x8(%rax),%rax
180037762:	48 89 41 28          	mov    %rax,0x28(%rcx)
180037766:	48 8b 02             	mov    (%rdx),%rax
180037769:	eb 09                	jmp    0x180037774
18003776b:	4c 39 40 20          	cmp    %r8,0x20(%rax)
18003776f:	77 08                	ja     0x180037779
180037771:	48 8b 00             	mov    (%rax),%rax
180037774:	48 3b c2             	cmp    %rdx,%rax
180037777:	75 f2                	jne    0x18003776b
180037779:	48 8b 50 08          	mov    0x8(%rax),%rdx
18003777d:	48 39 02             	cmp    %rax,(%rdx)
180037780:	75 24                	jne    0x1800377a6
180037782:	48 89 01             	mov    %rax,(%rcx)
180037785:	ff c3                	inc    %ebx
180037787:	48 89 51 08          	mov    %rdx,0x8(%rcx)
18003778b:	48 89 0a             	mov    %rcx,(%rdx)
18003778e:	48 89 48 08          	mov    %rcx,0x8(%rax)
180037792:	3b 9e 88 00 00 00    	cmp    0x88(%rsi),%ebx
180037798:	72 84                	jb     0x18003771e
18003779a:	48 8b 8e b8 00 00 00 	mov    0xb8(%rsi),%rcx
1800377a1:	e9 6e fe ff ff       	jmp    0x180037614
1800377a6:	b9 03 00 00 00       	mov    $0x3,%ecx
1800377ab:	cd 29                	int    $0x29
1800377ad:	48 8b 4b 28          	mov    0x28(%rbx),%rcx
1800377b1:	48 85 c9             	test   %rcx,%rcx
1800377b4:	74 05                	je     0x1800377bb
1800377b6:	e8 a1 f1 00 00       	call   0x18004695c
1800377bb:	48 8b 4b 20          	mov    0x20(%rbx),%rcx
1800377bf:	48 85 c9             	test   %rcx,%rcx
1800377c2:	74 05                	je     0x1800377c9
1800377c4:	e8 93 f1 00 00       	call   0x18004695c
1800377c9:	48 8b 8b 90 00 00 00 	mov    0x90(%rbx),%rcx
1800377d0:	48 85 c9             	test   %rcx,%rcx
1800377d3:	74 05                	je     0x1800377da
1800377d5:	e8 82 f1 00 00       	call   0x18004695c
1800377da:	48 8b cb             	mov    %rbx,%rcx
1800377dd:	e8 7a f1 00 00       	call   0x18004695c
1800377e2:	eb 05                	jmp    0x1800377e9
1800377e4:	bf 9a 00 00 c0       	mov    $0xc000009a,%edi
1800377e9:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1800377ee:	8b c7                	mov    %edi,%eax
1800377f0:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
1800377f5:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
1800377fa:	48 83 c4 20          	add    $0x20,%rsp
1800377fe:	5f                   	pop    %rdi
1800377ff:	c3                   	ret
180037800:	cc                   	int3
180037801:	cc                   	int3
180037802:	cc                   	int3
180037803:	cc                   	int3
180037804:	48 8b 01             	mov    (%rcx),%rax
180037807:	45 33 c0             	xor    %r8d,%r8d
18003780a:	45 8b c8             	mov    %r8d,%r9d
18003780d:	eb 0b                	jmp    0x18003781a