1800394e4:	8b 7d f0             	mov    -0x10(%rbp),%edi
1800394e7:	85 ff                	test   %edi,%edi
1800394e9:	0f 88 01 01 00 00    	js     0x1800395f0
1800394ef:	48 8b 83 e8 00 00 00 	mov    0xe8(%rbx),%rax
1800394f6:	48 8b cb             	mov    %rbx,%rcx
1800394f9:	eb 0a                	jmp    0x180039505
1800394fb:	48 8b c8             	mov    %rax,%rcx
1800394fe:	48 8b 80 e8 00 00 00 	mov    0xe8(%rax),%rax
180039505:	48 85 c0             	test   %rax,%rax
180039508:	75 f1                	jne    0x1800394fb
18003950a:	48 8b 89 e0 00 00 00 	mov    0xe0(%rcx),%rcx
180039511:	48 8d 55 30          	lea    0x30(%rbp),%rdx
180039515:	e8 ea a5 00 00       	call   0x180043b04
18003951a:	48 8b f0             	mov    %rax,%rsi
18003951d:	48 85 c0             	test   %rax,%rax
180039520:	0f 84 87 00 00 00    	je     0x1800395ad
180039526:	48 8b 93 d8 00 00 00 	mov    0xd8(%rbx),%rdx
18003952d:	8b 4d 30             	mov    0x30(%rbp),%ecx
180039530:	0f a3 0a             	bt     %ecx,(%rdx)
180039533:	73 41                	jae    0x180039576
180039535:	b9 e0 00 00 00       	mov    $0xe0,%ecx
18003953a:	e8 d5 d3 00 00       	call   0x180046914
18003953f:	48 85 c0             	test   %rax,%rax
180039542:	74 0d                	je     0x180039551
180039544:	48 8b c8             	mov    %rax,%rcx
180039547:	e8 1c da 00 00       	call   0x180046f68
18003954c:	48 8b d0             	mov    %rax,%rdx
18003954f:	eb 02                	jmp    0x180039553
180039551:	33 d2                	xor    %edx,%edx
180039553:	48 85 d2             	test   %rdx,%rdx
180039556:	74 4e                	je     0x1800395a6
180039558:	48 8b 46 08          	mov    0x8(%rsi),%rax
18003955c:	49 8b cf             	mov    %r15,%rcx
18003955f:	48 89 42 70          	mov    %rax,0x70(%rdx)
180039563:	c6 82 98 00 00 00 09 	movb   $0x9,0x98(%rdx)
18003956a:	48 89 9a d8 00 00 00 	mov    %rbx,0xd8(%rdx)
180039571:	e8 36 db 00 00       	call   0x1800470ac
180039576:	48 8b 83 e8 00 00 00 	mov    0xe8(%rbx),%rax
18003957d:	48 8b cb             	mov    %rbx,%rcx
180039580:	eb 0a                	jmp    0x18003958c
180039582:	48 8b c8             	mov    %rax,%rcx
180039585:	48 8b 80 e8 00 00 00 	mov    0xe8(%rax),%rax
18003958c:	48 85 c0             	test   %rax,%rax
18003958f:	75 f1                	jne    0x180039582
180039591:	48 8b 89 e0 00 00 00 	mov    0xe0(%rcx),%rcx
180039598:	48 8d 55 30          	lea    0x30(%rbp),%rdx
18003959c:	e8 6b a6 00 00       	call   0x180043c0c
1800395a1:	e9 74 ff ff ff       	jmp    0x18003951a
1800395a6:	bf 9a 00 00 c0       	mov    $0xc000009a,%edi
1800395ab:	eb 43                	jmp    0x1800395f0
1800395ad:	41 f7 47 3c 00 00 00 	testl  $0x4000000,0x3c(%r15)
1800395b4:	04
1800395b5:	74 35                	je     0x1800395ec
1800395b7:	48 83 bb 50 01 00 00 	cmpq   $0x0,0x150(%rbx)
1800395be:	00
1800395bf:	74 2b                	je     0x1800395ec
1800395c1:	48 8d b3 f8 00 00 00 	lea    0xf8(%rbx),%rsi
1800395c8:	4c 8b 36             	mov    (%rsi),%r14
1800395cb:	eb 1a                	jmp    0x1800395e7
1800395cd:	49 8d 8e f8 fe ff ff 	lea    -0x108(%r14),%rcx
1800395d4:	45 33 c0             	xor    %r8d,%r8d
1800395d7:	49 8b d7             	mov    %r15,%rdx
1800395da:	e8 7d fe ff ff       	call   0x18003945c
1800395df:	4d 8b 36             	mov    (%r14),%r14
1800395e2:	85 c0                	test   %eax,%eax
1800395e4:	0f 48 f8             	cmovs  %eax,%edi
1800395e7:	4c 3b f6             	cmp    %rsi,%r14
1800395ea:	75 e1                	jne    0x1800395cd
1800395ec:	85 ff                	test   %edi,%edi
1800395ee:	79 3d                	jns    0x18003962d
1800395f0:	8b 43 2c             	mov    0x2c(%rbx),%eax
1800395f3:	a8 04                	test   $0x4,%al
1800395f5:	74 36                	je     0x18003962d
1800395f7:	48 8b 8b 60 01 00 00 	mov    0x160(%rbx),%rcx
1800395fe:	4c 8d 45 e0          	lea    -0x20(%rbp),%r8
180039602:	83 65 f0 00          	andl   $0x0,-0x10(%rbp)
180039606:	4c 8b 4b 68          	mov    0x68(%rbx),%r9
18003960a:	c7 45 e0 04 00 00 00 	movl   $0x4,-0x20(%rbp)
180039611:	4c 89 7d e8          	mov    %r15,-0x18(%rbp)
180039615:	48 8b 01             	mov    (%rcx),%rax
180039618:	4c 89 44 24 20       	mov    %r8,0x20(%rsp)
18003961d:	45 33 c0             	xor    %r8d,%r8d
180039620:	48 8b 40 60          	mov    0x60(%rax),%rax
180039624:	41 8d 50 04          	lea    0x4(%r8),%edx
180039628:	ff d0                	call   *%rax
18003962a:	0f 1f 00             	nopl   (%rax)
18003962d:	4c 8d 5c 24 50       	lea    0x50(%rsp),%r11
180039632:	8b c7                	mov    %edi,%eax
180039634:	49 8b 5b 20          	mov    0x20(%r11),%rbx
180039638:	49 8b 73 28          	mov    0x28(%r11),%rsi
18003963c:	49 8b 7b 38          	mov    0x38(%r11),%rdi
180039640:	49 8b e3             	mov    %r11,%rsp
180039643:	41 5f                	pop    %r15
180039645:	41 5e                	pop    %r14
180039647:	5d                   	pop    %rbp
180039648:	c3                   	ret
180039649:	cc                   	int3
18003964a:	cc                   	int3
18003964b:	cc                   	int3
18003964c:	4c 8b dc             	mov    %rsp,%r11
18003964f:	49 89 5b 08          	mov    %rbx,0x8(%r11)
180039653:	49 89 6b 10          	mov    %rbp,0x10(%r11)
180039657:	49 89 73 18          	mov    %rsi,0x18(%r11)
18003965b:	49 89 7b 20          	mov    %rdi,0x20(%r11)
18003965f:	41 56                	push   %r14
180039661:	48 83 ec 50          	sub    $0x50,%rsp
180039665:	8b aa a0 00 00 00    	mov    0xa0(%rdx),%ebp
18003966b:	0f 57 c0             	xorps  %xmm0,%xmm0
18003966e:	8b 41 2c             	mov    0x2c(%rcx),%eax
180039671:	48 8b f2             	mov    %rdx,%rsi
180039674:	ba 04 00 00 00       	mov    $0x4,%edx
180039679:	45 8a f0             	mov    %r8b,%r14b
18003967c:	48 8b d9             	mov    %rcx,%rbx
18003967f:	0f 11 44 24 30       	movups %xmm0,0x30(%rsp)
180039684:	0f 11 44 24 40       	movups %xmm0,0x40(%rsp)
180039689:	84 c2                	test   %al,%dl
18003968b:	74 33                	je     0x1800396c0
18003968d:	48 8b 89 60 01 00 00 	mov    0x160(%rcx),%rcx
180039694:	4d 8d 43 d8          	lea    -0x28(%r11),%r8
180039698:	4c 8b 4b 68          	mov    0x68(%rbx),%r9
18003969c:	c7 44 24 30 06 00 00 	movl   $0x6,0x30(%rsp)
1800396a3:	00
1800396a4:	49 89 73 e0          	mov    %rsi,-0x20(%r11)
1800396a8:	83 64 24 40 00       	andl   $0x0,0x40(%rsp)
1800396ad:	48 8b 01             	mov    (%rcx),%rax
1800396b0:	4d 89 43 c8          	mov    %r8,-0x38(%r11)
1800396b4:	45 33 c0             	xor    %r8d,%r8d
1800396b7:	48 8b 40 60          	mov    0x60(%rax),%rax
1800396bb:	ff d0                	call   *%rax
1800396bd:	0f 1f 00             	nopl   (%rax)
1800396c0:	f7 46 3c 00 00 00 04 	testl  $0x4000000,0x3c(%rsi)
1800396c7:	74 30                	je     0x1800396f9
1800396c9:	48 83 bb 50 01 00 00 	cmpq   $0x0,0x150(%rbx)
1800396d0:	00
1800396d1:	74 26                	je     0x1800396f9
1800396d3:	48 8d bb f8 00 00 00 	lea    0xf8(%rbx),%rdi
1800396da:	48 8b 1f             	mov    (%rdi),%rbx
1800396dd:	eb 15                	jmp    0x1800396f4
1800396df:	48 8d 8b f8 fe ff ff 	lea    -0x108(%rbx),%rcx
1800396e6:	45 8a c6             	mov    %r14b,%r8b
1800396e9:	48 8b d6             	mov    %rsi,%rdx
1800396ec:	e8 5b ff ff ff       	call   0x18003964c
1800396f1:	48 8b 1b             	mov    (%rbx),%rbx
1800396f4:	48 3b df             	cmp    %rdi,%rbx
1800396f7:	75 e6                	jne    0x1800396df
1800396f9:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
1800396fe:	8b c5                	mov    %ebp,%eax
180039700:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
180039705:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
18003970a:	48 8b 7c 24 78       	mov    0x78(%rsp),%rdi
18003970f:	48 83 c4 50          	add    $0x50,%rsp
180039713:	41 5e                	pop    %r14
180039715:	c3                   	ret
180039716:	cc                   	int3
180039717:	cc                   	int3
180039718:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
18003971d:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
180039722:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
180039727:	55                   	push   %rbp
180039728:	56                   	push   %rsi
180039729:	57                   	push   %rdi
18003972a:	41 54                	push   %r12
18003972c:	41 55                	push   %r13
18003972e:	41 56                	push   %r14
180039730:	41 57                	push   %r15
180039732:	48 83 ec 20          	sub    $0x20,%rsp
180039736:	48 8b 6a 70          	mov    0x70(%rdx),%rbp
18003973a:	4d 85 c0             	test   %r8,%r8
18003973d:	74 0a                	je     0x180039749
18003973f:	be 02 00 00 c0       	mov    $0xc0000002,%esi
180039744:	e9 81 01 00 00       	jmp    0x1800398ca
180039749:	b9 e0 00 00 00       	mov    $0xe0,%ecx
18003974e:	e8 c1 d1 00 00       	call   0x180046914
180039753:	48 85 c0             	test   %rax,%rax
180039756:	74 0d                	je     0x180039765
180039758:	48 8b c8             	mov    %rax,%rcx
18003975b:	e8 08 d8 00 00       	call   0x180046f68
180039760:	48 8b d8             	mov    %rax,%rbx
180039763:	eb 02                	jmp    0x180039767
180039765:	33 db                	xor    %ebx,%ebx
180039767:	48 85 db             	test   %rbx,%rbx
18003976a:	75 0a                	jne    0x180039776
18003976c:	be 9a 00 00 c0       	mov    $0xc000009a,%esi
180039771:	e9 54 01 00 00       	jmp    0x1800398ca
180039776:	48 8b cd             	mov    %rbp,%rcx
180039779:	e8 9a d5 00 00       	call   0x180046d18
18003977e:	45 33 c0             	xor    %r8d,%r8d
180039781:	44 8b f0             	mov    %eax,%r14d
180039784:	48 8d 4b 60          	lea    0x60(%rbx),%rcx
180039788:	44 8b c8             	mov    %eax,%r9d
18003978b:	41 8d 50 03          	lea    0x3(%r8),%edx
18003978f:	e8 08 d4 00 00       	call   0x180046b9c
180039794:	8b f0                	mov    %eax,%esi
180039796:	85 c0                	test   %eax,%eax
180039798:	0f 88 14 01 00 00    	js     0x1800398b2
18003979e:	48 8b 4d 18          	mov    0x18(%rbp),%rcx
1800397a2:	45 8b c6             	mov    %r14d,%r8d
1800397a5:	48 8b 7b 68          	mov    0x68(%rbx),%rdi
1800397a9:	33 d2                	xor    %edx,%edx
1800397ab:	48 8b 45 08          	mov    0x8(%rbp),%rax
1800397af:	48 89 44 24 70       	mov    %rax,0x70(%rsp)
1800397b4:	44 8b 61 0c          	mov    0xc(%rcx),%r12d
1800397b8:	44 8b 69 10          	mov    0x10(%rcx),%r13d
1800397bc:	4c 03 e1             	add    %rcx,%r12
1800397bf:	44 8b 79 08          	mov    0x8(%rcx),%r15d
1800397c3:	48 8b cf             	mov    %rdi,%rcx
1800397c6:	e8 b5 c4 0f 00       	call   0x180135c80
1800397cb:	48 8b 4c 24 70       	mov    0x70(%rsp),%rcx
1800397d0:	41 b8 1c 00 00 00    	mov    $0x1c,%r8d
1800397d6:	44 89 07             	mov    %r8d,(%rdi)
1800397d9:	8b 01                	mov    (%rcx),%eax
1800397db:	89 47 04             	mov    %eax,0x4(%rdi)
1800397de:	44 89 7f 08          	mov    %r15d,0x8(%rdi)
1800397e2:	45 85 ed             	test   %r13d,%r13d
1800397e5:	74 39                	je     0x180039820
1800397e7:	8b 49 08             	mov    0x8(%rcx),%ecx
1800397ea:	33 d2                	xor    %edx,%edx
1800397ec:	44 89 6f 10          	mov    %r13d,0x10(%rdi)
1800397f0:	44 8d 49 1b          	lea    0x1b(%rcx),%r9d
1800397f4:	41 8b c1             	mov    %r9d,%eax
1800397f7:	f7 f1                	div    %ecx
1800397f9:	44 2b ca             	sub    %edx,%r9d
1800397fc:	44 89 4f 0c          	mov    %r9d,0xc(%rdi)
180039800:	4d 85 e4             	test   %r12,%r12
180039803:	74 1b                	je     0x180039820
180039805:	41 8b c9             	mov    %r9d,%ecx
180039808:	45 8b c5             	mov    %r13d,%r8d
18003980b:	48 03 cf             	add    %rdi,%rcx
18003980e:	49 8b d4             	mov    %r12,%rdx
180039811:	e8 aa c1 0f 00       	call   0x1801359c0
180039816:	44 8b 7f 08          	mov    0x8(%rdi),%r15d
18003981a:	41 b8 1c 00 00 00    	mov    $0x1c,%r8d
180039820:	4c 8b 4d 38          	mov    0x38(%rbp),%r9
180039824:	4c 8b 55 40          	mov    0x40(%rbp),%r10
180039828:	41 f6 c7 01          	test   $0x1,%r15b
18003982c:	75 52                	jne    0x180039880
18003982e:	8b 57 18             	mov    0x18(%rdi),%edx
180039831:	85 d2                	test   %edx,%edx
180039833:	75 1a                	jne    0x18003984f
180039835:	8b 4f 10             	mov    0x10(%rdi),%ecx
180039838:	85 c9                	test   %ecx,%ecx
18003983a:	74 07                	je     0x180039843
18003983c:	44 8b 47 0c          	mov    0xc(%rdi),%r8d
180039840:	44 03 c1             	add    %ecx,%r8d
180039843:	41 8b c0             	mov    %r8d,%eax
180039846:	48 83 c0 07          	add    $0x7,%rax
18003984a:	83 e0 f8             	and    $0xfffffff8,%eax
18003984d:	eb 05                	jmp    0x180039854
18003984f:	8b 47 14             	mov    0x14(%rdi),%eax
180039852:	03 c2                	add    %edx,%eax
180039854:	44 2b f0             	sub    %eax,%r14d
180039857:	41 83 fe 10          	cmp    $0x10,%r14d
18003985b:	72 23                	jb     0x180039880
18003985d:	8b 4f 14             	mov    0x14(%rdi),%ecx
180039860:	85 c9                	test   %ecx,%ecx
180039862:	75 05                	jne    0x180039869
180039864:	89 47 14             	mov    %eax,0x14(%rdi)
180039867:	8b c8                	mov    %eax,%ecx
180039869:	48 03 cf             	add    %rdi,%rcx
18003986c:	48 8b c2             	mov    %rdx,%rax
18003986f:	48 83 e0 f0          	and    $0xfffffffffffffff0,%rax
180039873:	4c 89 14 08          	mov    %r10,(%rax,%rcx,1)
180039877:	4c 89 4c 08 08       	mov    %r9,0x8(%rax,%rcx,1)
18003987c:	83 47 18 10          	addl   $0x10,0x18(%rdi)
180039880:	48 8b 45 30          	mov    0x30(%rbp),%rax
180039884:	48 8b d3             	mov    %rbx,%rdx
180039887:	48 8b 4c 24 68       	mov    0x68(%rsp),%rcx
18003988c:	48 89 43 70          	mov    %rax,0x70(%rbx)
180039890:	48 8b 45 40          	mov    0x40(%rbp),%rax
180039894:	48 89 43 78          	mov    %rax,0x78(%rbx)
180039898:	48 8b 44 24 60       	mov    0x60(%rsp),%rax
18003989d:	48 89 83 d8 00 00 00 	mov    %rax,0xd8(%rbx)
1800398a4:	c6 83 98 00 00 00 0e 	movb   $0xe,0x98(%rbx)
1800398ab:	e8 fc d7 00 00       	call   0x1800470ac
1800398b0:	33 db                	xor    %ebx,%ebx
1800398b2:	48 85 db             	test   %rbx,%rbx
1800398b5:	74 13                	je     0x1800398ca
1800398b7:	48 8b 03             	mov    (%rbx),%rax
1800398ba:	ba 01 00 00 00       	mov    $0x1,%edx
1800398bf:	48 8b cb             	mov    %rbx,%rcx
1800398c2:	48 8b 00             	mov    (%rax),%rax
1800398c5:	ff d0                	call   *%rax
1800398c7:	0f 1f 00             	nopl   (%rax)
1800398ca:	48 8b 5c 24 78       	mov    0x78(%rsp),%rbx
1800398cf:	8b c6                	mov    %esi,%eax
1800398d1:	48 83 c4 20          	add    $0x20,%rsp
1800398d5:	41 5f                	pop    %r15
1800398d7:	41 5e                	pop    %r14
1800398d9:	41 5d                	pop    %r13
1800398db:	41 5c                	pop    %r12
1800398dd:	5f                   	pop    %rdi
1800398de:	5e                   	pop    %rsi
1800398df:	5d                   	pop    %rbp
1800398e0:	c3                   	ret
1800398e1:	cc                   	int3
1800398e2:	cc                   	int3
1800398e3:	cc                   	int3
1800398e4:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1800398e9:	48 89 7c 24 10       	mov    %rdi,0x10(%rsp)
1800398ee:	48 8b 42 10          	mov    0x10(%rdx),%rax
1800398f2:	45 33 d2             	xor    %r10d,%r10d
1800398f5:	44 8b 9a a0 00 00 00 	mov    0xa0(%rdx),%r11d
1800398fc:	48 8b fa             	mov    %rdx,%rdi
1800398ff:	4c 8b 48 70          	mov    0x70(%rax),%r9
180039903:	45 85 db             	test   %r11d,%r11d
180039906:	79 15                	jns    0x18003991d
180039908:	41 81 fb 05 00 00 80 	cmp    $0x80000005,%r11d
18003990f:	0f 85 a1 00 00 00    	jne    0x1800399b6
180039915:	41 c6 41 58 01       	movb   $0x1,0x58(%r9)
18003991a:	45 8b da             	mov    %r10d,%r11d
18003991d:	49 8b 49 28          	mov    0x28(%r9),%rcx
180039921:	41 8b d2             	mov    %r10d,%edx
180039924:	49 8b 41 08          	mov    0x8(%r9),%rax
180039928:	8b 59 1c             	mov    0x1c(%rcx),%ebx
18003992b:	48 03 d9             	add    %rcx,%rbx
18003992e:	44 39 50 18          	cmp    %r10d,0x18(%rax)
180039932:	74 13                	je     0x180039947
180039934:	8b 48 14             	mov    0x14(%rax),%ecx
180039937:	44 8d 41 23          	lea    0x23(%rcx),%r8d
18003993b:	41 8b c0             	mov    %r8d,%eax
18003993e:	f7 f1                	div    %ecx
180039940:	41 03 51 20          	add    0x20(%r9),%edx
180039944:	41 2b d0             	sub    %r8d,%edx
180039947:	48 8b 47 68          	mov    0x68(%rdi),%rax
18003994b:	44 8d 42 f0          	lea    -0x10(%rdx),%r8d
18003994f:	41 c1 e8 05          	shr    $0x5,%r8d
180039953:	8b 50 1c             	mov    0x1c(%rax),%edx
180039956:	48 03 d0             	add    %rax,%rdx
180039959:	8b 02                	mov    (%rdx),%eax
18003995b:	89 03                	mov    %eax,(%rbx)
18003995d:	8b 42 08             	mov    0x8(%rdx),%eax
180039960:	89 43 08             	mov    %eax,0x8(%rbx)
180039963:	44 39 52 04          	cmp    %r10d,0x4(%rdx)
180039967:	76 3d                	jbe    0x1800399a6
180039969:	8b 43 04             	mov    0x4(%rbx),%eax
18003996c:	41 3b c0             	cmp    %r8d,%eax
18003996f:	73 30                	jae    0x1800399a1
180039971:	48 c1 e0 05          	shl    $0x5,%rax
180039975:	41 8b ca             	mov    %r10d,%ecx
180039978:	41 ff c2             	inc    %r10d
18003997b:	48 c1 e1 05          	shl    $0x5,%rcx
18003997f:	0f 10 44 11 10       	movups 0x10(%rcx,%rdx,1),%xmm0
180039984:	0f 11 44 18 10       	movups %xmm0,0x10(%rax,%rbx,1)
180039989:	0f 10 4c 11 20       	movups 0x20(%rcx,%rdx,1),%xmm1
18003998e:	0f 11 4c 18 20       	movups %xmm1,0x20(%rax,%rbx,1)
180039993:	ff 43 04             	incl   0x4(%rbx)
180039996:	8b 43 04             	mov    0x4(%rbx),%eax
180039999:	44 3b 52 04          	cmp    0x4(%rdx),%r10d
18003999d:	72 cd                	jb     0x18003996c
18003999f:	eb 05                	jmp    0x1800399a6