1800545a9:	45 8b d9             	mov    %r9d,%r11d
1800545ac:	4d 8b 2f             	mov    (%r15),%r13
1800545af:	49 8b 6f 08          	mov    0x8(%r15),%rbp
1800545b3:	83 e9 01             	sub    $0x1,%ecx
1800545b6:	0f 84 94 01 00 00    	je     0x180054750
1800545bc:	83 e9 01             	sub    $0x1,%ecx
1800545bf:	74 1a                	je     0x1800545db
1800545c1:	83 e9 01             	sub    $0x1,%ecx
1800545c4:	0f 84 86 01 00 00    	je     0x180054750
1800545ca:	83 f9 01             	cmp    $0x1,%ecx
1800545cd:	0f 85 cc 01 00 00    	jne    0x18005479f
1800545d3:	40 8a c6             	mov    %sil,%al
1800545d6:	e9 77 01 00 00       	jmp    0x180054752
1800545db:	41 8b 50 20          	mov    0x20(%r8),%edx
1800545df:	8d 42 ff             	lea    -0x1(%rdx),%eax
1800545e2:	83 f8 01             	cmp    $0x1,%eax
1800545e5:	0f 87 b4 01 00 00    	ja     0x18005479f
1800545eb:	49 8b 48 30          	mov    0x30(%r8),%rcx
1800545ef:	48 39 8d e0 00 00 00 	cmp    %rcx,0xe0(%rbp)
1800545f6:	72 db                	jb     0x1800545d3
1800545f8:	83 fa 02             	cmp    $0x2,%edx
1800545fb:	74 7d                	je     0x18005467a
1800545fd:	49 8b 45 08          	mov    0x8(%r13),%rax
180054601:	4d 8b c4             	mov    %r12,%r8
180054604:	4d 2b 46 28          	sub    0x28(%r14),%r8
180054608:	41 8b 7e 38          	mov    0x38(%r14),%edi
18005460c:	49 8b d8             	mov    %r8,%rbx
18005460f:	4c 8b 90 50 01 00 00 	mov    0x150(%rax),%r10
180054616:	49 8b c3             	mov    %r11,%rax
180054619:	49 8b 52 50          	mov    0x50(%r10),%rdx
18005461d:	ff 42 0c             	incl   0xc(%rdx)
180054620:	48 01 42 38          	add    %rax,0x38(%rdx)
180054624:	48 29 42 48          	sub    %rax,0x48(%rdx)
180054628:	4d 85 c0             	test   %r8,%r8
18005462b:	74 04                	je     0x180054631
18005462d:	49 8d 1c 38          	lea    (%r8,%rdi,1),%rbx
180054631:	4d 8b 52 08          	mov    0x8(%r10),%r10
180054635:	42 8d 04 1f          	lea    (%rdi,%r11,1),%eax
180054639:	4d 85 c0             	test   %r8,%r8
18005463c:	c7 44 24 28 05 00 00 	movl   $0x5,0x28(%rsp)
180054643:	00
180054644:	41 0f 45 c3          	cmovne %r11d,%eax
180054648:	33 d2                	xor    %edx,%edx
18005464a:	45 8b 4a 7c          	mov    0x7c(%r10),%r9d
18005464e:	41 f7 f1             	div    %r9d
180054651:	33 d2                	xor    %edx,%edx
180054653:	44 8b c0             	mov    %eax,%r8d
180054656:	48 8b c3             	mov    %rbx,%rax
180054659:	49 f7 f1             	div    %r9
18005465c:	44 89 44 24 20       	mov    %r8d,0x20(%rsp)
180054661:	49 8d 52 18          	lea    0x18(%r10),%rdx
180054665:	4c 8b c8             	mov    %rax,%r9
180054668:	45 33 c0             	xor    %r8d,%r8d
18005466b:	8b c1                	mov    %ecx,%eax
18005466d:	b9 37 08 00 00       	mov    $0x837,%ecx
180054672:	4c 03 c8             	add    %rax,%r9
180054675:	e8 fe 24 ff ff       	call   0x180046b78
18005467a:	49 8b 4e 10          	mov    0x10(%r14),%rcx
18005467e:	4d 8b c3             	mov    %r11,%r8
180054681:	41 8b 56 18          	mov    0x18(%r14),%edx
180054685:	49 3b cc             	cmp    %r12,%rcx
180054688:	0f 83 a8 00 00 00    	jae    0x180054736
18005468e:	49 8b c4             	mov    %r12,%rax
180054691:	48 2b c1             	sub    %rcx,%rax
180054694:	48 2b d0             	sub    %rax,%rdx
180054697:	41 89 46 18          	mov    %eax,0x18(%r14)
18005469b:	49 3b d3             	cmp    %r11,%rdx
18005469e:	0f 86 ac 00 00 00    	jbe    0x180054750
1800546a4:	41 8a 4d 2a          	mov    0x2a(%r13),%cl
1800546a8:	4d 03 c4             	add    %r12,%r8
1800546ab:	4c 8b 4d 78          	mov    0x78(%rbp),%r9
1800546af:	41 2b d3             	sub    %r11d,%edx
1800546b2:	8b 85 84 00 00 00    	mov    0x84(%rbp),%eax
1800546b8:	49 d3 e9             	shr    %cl,%r9
1800546bb:	49 8b 4d 40          	mov    0x40(%r13),%rcx
1800546bf:	89 44 24 20          	mov    %eax,0x20(%rsp)
1800546c3:	e8 78 69 00 00       	call   0x18005b040
1800546c8:	48 8b c8             	mov    %rax,%rcx
1800546cb:	48 85 c0             	test   %rax,%rax
1800546ce:	75 0a                	jne    0x1800546da
1800546d0:	be 9a 00 00 c0       	mov    $0xc000009a,%esi
1800546d5:	e9 28 02 00 00       	jmp    0x180054902
1800546da:	41 8b 7e 20          	mov    0x20(%r14),%edi
1800546de:	89 78 20             	mov    %edi,0x20(%rax)
1800546e1:	49 8b 46 28          	mov    0x28(%r14),%rax
1800546e5:	48 89 41 28          	mov    %rax,0x28(%rcx)
1800546e9:	49 8b 5e 30          	mov    0x30(%r14),%rbx
1800546ed:	48 89 59 30          	mov    %rbx,0x30(%rcx)
1800546f1:	41 8b 46 3c          	mov    0x3c(%r14),%eax
1800546f5:	89 41 3c             	mov    %eax,0x3c(%rcx)
1800546f8:	41 8b 46 38          	mov    0x38(%r14),%eax
1800546fc:	89 41 38             	mov    %eax,0x38(%rcx)
1800546ff:	41 8a 4d 2a          	mov    0x2a(%r13),%cl
180054703:	48 8b 55 78          	mov    0x78(%rbp),%rdx
180054707:	48 d3 ea             	shr    %cl,%rdx
18005470a:	49 8b 4d 40          	mov    0x40(%r13),%rcx
18005470e:	48 83 c1 10          	add    $0x10,%rcx
180054712:	e8 c5 f1 fe ff       	call   0x1800438dc
180054717:	83 ff 01             	cmp    $0x1,%edi
18005471a:	48 8b d0             	mov    %rax,%rdx
18005471d:	41 8a 47 20          	mov    0x20(%r15),%al
180054721:	4c 8b c3             	mov    %rbx,%r8
180054724:	41 0f 94 c1          	sete   %r9b
180054728:	88 44 24 20          	mov    %al,0x20(%rsp)
18005472c:	49 8b cd             	mov    %r13,%rcx
18005472f:	e8 2c e0 ff ff       	call   0x180052760
180054734:	eb 5b                	jmp    0x180054791
180054736:	4c 2b c1             	sub    %rcx,%r8
180054739:	4d 03 c4             	add    %r12,%r8
18005473c:	4c 3b c2             	cmp    %rdx,%r8
18005473f:	73 2f                	jae    0x180054770
180054741:	4a 8d 04 01          	lea    (%rcx,%r8,1),%rax
180054745:	41 2b d0             	sub    %r8d,%edx
180054748:	49 89 46 10          	mov    %rax,0x10(%r14)
18005474c:	41 89 56 18          	mov    %edx,0x18(%r14)
180054750:	b0 01                	mov    $0x1,%al
180054752:	45 8b 47 24          	mov    0x24(%r15),%r8d
180054756:	84 c0                	test   %al,%al
180054758:	74 4f                	je     0x1800547a9
18005475a:	45 85 c0             	test   %r8d,%r8d
18005475d:	75 04                	jne    0x180054763
18005475f:	4d 89 67 28          	mov    %r12,0x28(%r15)
180054763:	43 8d 04 18          	lea    (%r8,%r11,1),%eax
180054767:	41 89 47 24          	mov    %eax,0x24(%r15)
18005476b:	e9 92 01 00 00       	jmp    0x180054902
180054770:	49 8b 06             	mov    (%r14),%rax
180054773:	4c 39 70 08          	cmp    %r14,0x8(%rax)
180054777:	75 1f                	jne    0x180054798
180054779:	49 8b 4e 08          	mov    0x8(%r14),%rcx
18005477d:	4c 39 31             	cmp    %r14,(%rcx)
180054780:	75 16                	jne    0x180054798
180054782:	48 89 01             	mov    %rax,(%rcx)
180054785:	48 89 48 08          	mov    %rcx,0x8(%rax)
180054789:	49 8b ce             	mov    %r14,%rcx
18005478c:	e8 27 cf 00 00       	call   0x1800616b8
180054791:	44 8b 5c 24 78       	mov    0x78(%rsp),%r11d
180054796:	eb b8                	jmp    0x180054750
180054798:	b9 03 00 00 00       	mov    $0x3,%ecx
18005479d:	cd 29                	int    $0x29
18005479f:	be 0d 00 00 c0       	mov    $0xc000000d,%esi
1800547a4:	e9 59 01 00 00       	jmp    0x180054902
1800547a9:	45 85 c0             	test   %r8d,%r8d
1800547ac:	0f 84 48 01 00 00    	je     0x1800548fa
1800547b2:	49 8b 45 08          	mov    0x8(%r13),%rax
1800547b6:	4d 8b 5f 28          	mov    0x28(%r15),%r11
1800547ba:	4c 2b 9d e8 00 00 00 	sub    0xe8(%rbp),%r11
1800547c1:	8b bd fc 00 00 00    	mov    0xfc(%rbp),%edi
1800547c7:	44 8b cf             	mov    %edi,%r9d
1800547ca:	4c 8b 90 50 01 00 00 	mov    0x150(%rax),%r10
1800547d1:	4c 2b 5d 78          	sub    0x78(%rbp),%r11
1800547d5:	44 8b b5 f0 00 00 00 	mov    0xf0(%rbp),%r14d
1800547dc:	48 8b 8d e0 00 00 00 	mov    0xe0(%rbp),%rcx
1800547e3:	49 8b 52 50          	mov    0x50(%r10),%rdx
1800547e7:	41 83 e9 02          	sub    $0x2,%r9d
1800547eb:	74 1e                	je     0x18005480b
1800547ed:	41 83 e9 01          	sub    $0x1,%r9d
1800547f1:	74 0f                	je     0x180054802
1800547f3:	41 83 f9 01          	cmp    $0x1,%r9d
1800547f7:	75 18                	jne    0x180054811
1800547f9:	ff 42 08             	incl   0x8(%rdx)
1800547fc:	4c 01 42 30          	add    %r8,0x30(%rdx)
180054800:	eb 0f                	jmp    0x180054811
180054802:	ff 42 04             	incl   0x4(%rdx)
180054805:	4c 01 42 28          	add    %r8,0x28(%rdx)
180054809:	eb 06                	jmp    0x180054811
18005480b:	ff 02                	incl   (%rdx)
18005480d:	4c 01 42 20          	add    %r8,0x20(%rdx)
180054811:	4c 01 42 48          	add    %r8,0x48(%rdx)
180054815:	49 8b db             	mov    %r11,%rbx
180054818:	4d 85 db             	test   %r11,%r11
18005481b:	74 04                	je     0x180054821
18005481d:	4b 8d 1c 33          	lea    (%r11,%r14,1),%rbx
180054821:	4d 8b 52 08          	mov    0x8(%r10),%r10
180054825:	43 8d 04 06          	lea    (%r14,%r8,1),%eax
180054829:	4d 85 db             	test   %r11,%r11
18005482c:	89 7c 24 28          	mov    %edi,0x28(%rsp)
180054830:	41 0f 45 c0          	cmovne %r8d,%eax
180054834:	33 d2                	xor    %edx,%edx
180054836:	45 8b 4a 7c          	mov    0x7c(%r10),%r9d
18005483a:	41 f7 f1             	div    %r9d
18005483d:	33 d2                	xor    %edx,%edx
18005483f:	44 8b c0             	mov    %eax,%r8d
180054842:	48 8b c3             	mov    %rbx,%rax
180054845:	49 f7 f1             	div    %r9
180054848:	44 89 44 24 20       	mov    %r8d,0x20(%rsp)
18005484d:	49 8d 52 18          	lea    0x18(%r10),%rdx
180054851:	4c 8b c8             	mov    %rax,%r9
180054854:	45 33 c0             	xor    %r8d,%r8d
180054857:	8b c1                	mov    %ecx,%eax
180054859:	b9 35 08 00 00       	mov    $0x835,%ecx
18005485e:	4c 03 c8             	add    %rax,%r9
180054861:	e8 12 23 ff ff       	call   0x180046b78
180054866:	41 8a 4d 2a          	mov    0x2a(%r13),%cl
18005486a:	4c 8b 4d 78          	mov    0x78(%rbp),%r9
18005486e:	8b 85 84 00 00 00    	mov    0x84(%rbp),%eax
180054874:	4d 8b 47 28          	mov    0x28(%r15),%r8
180054878:	41 8b 57 24          	mov    0x24(%r15),%edx
18005487c:	49 d3 e9             	shr    %cl,%r9
18005487f:	49 8b 4d 40          	mov    0x40(%r13),%rcx
180054883:	89 44 24 20          	mov    %eax,0x20(%rsp)
180054887:	e8 b4 67 00 00       	call   0x18005b040
18005488c:	48 8b d0             	mov    %rax,%rdx
18005488f:	48 85 c0             	test   %rax,%rax
180054892:	0f 84 38 fe ff ff    	je     0x1800546d0
180054898:	c7 40 20 01 00 00 00 	movl   $0x1,0x20(%rax)
18005489f:	48 8b 4d 78          	mov    0x78(%rbp),%rcx
1800548a3:	48 2b 8d e8 00 00 00 	sub    0xe8(%rbp),%rcx
1800548aa:	48 89 48 28          	mov    %rcx,0x28(%rax)
1800548ae:	48 8b 9d e0 00 00 00 	mov    0xe0(%rbp),%rbx
1800548b5:	48 89 58 30          	mov    %rbx,0x30(%rax)
1800548b9:	41 8b 47 1c          	mov    0x1c(%r15),%eax
1800548bd:	89 42 3c             	mov    %eax,0x3c(%rdx)
1800548c0:	8b 85 f0 00 00 00    	mov    0xf0(%rbp),%eax
1800548c6:	89 42 38             	mov    %eax,0x38(%rdx)
1800548c9:	41 8a 4d 2a          	mov    0x2a(%r13),%cl
1800548cd:	48 8b 55 78          	mov    0x78(%rbp),%rdx
1800548d1:	48 d3 ea             	shr    %cl,%rdx
1800548d4:	49 8b 4d 40          	mov    0x40(%r13),%rcx
1800548d8:	48 83 c1 10          	add    $0x10,%rcx
1800548dc:	e8 fb ef fe ff       	call   0x1800438dc
1800548e1:	41 8a 57 20          	mov    0x20(%r15),%dl
1800548e5:	41 b1 01             	mov    $0x1,%r9b
1800548e8:	88 54 24 20          	mov    %dl,0x20(%rsp)
1800548ec:	4c 8b c3             	mov    %rbx,%r8
1800548ef:	48 8b d0             	mov    %rax,%rdx
1800548f2:	49 8b cd             	mov    %r13,%rcx
1800548f5:	e8 66 de ff ff       	call   0x180052760
1800548fa:	49 89 77 28          	mov    %rsi,0x28(%r15)
1800548fe:	41 89 77 24          	mov    %esi,0x24(%r15)
180054902:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
180054907:	8b c6                	mov    %esi,%eax
180054909:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
18005490e:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
180054913:	48 83 c4 30          	add    $0x30,%rsp
180054917:	41 5f                	pop    %r15
180054919:	41 5e                	pop    %r14
18005491b:	41 5d                	pop    %r13
18005491d:	41 5c                	pop    %r12
18005491f:	5f                   	pop    %rdi
180054920:	c3                   	ret
180054921:	cc                   	int3
180054922:	cc                   	int3
180054923:	cc                   	int3
180054924:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
180054929:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
18005492e:	55                   	push   %rbp
18005492f:	56                   	push   %rsi
180054930:	57                   	push   %rdi
180054931:	41 54                	push   %r12
180054933:	41 55                	push   %r13
180054935:	41 56                	push   %r14
180054937:	41 57                	push   %r15
180054939:	48 83 ec 30          	sub    $0x30,%rsp
18005493d:	44 8b ba 84 00 00 00 	mov    0x84(%rdx),%r15d
180054944:	33 db                	xor    %ebx,%ebx
180054946:	44 8b a2 a8 00 00 00 	mov    0xa8(%rdx),%r12d
18005494d:	45 32 ed             	xor    %r13b,%r13b
180054950:	45 33 f6             	xor    %r14d,%r14d
180054953:	33 ed                	xor    %ebp,%ebp
180054955:	48 8b fa             	mov    %rdx,%rdi
180054958:	48 8b f1             	mov    %rcx,%rsi
18005495b:	38 59 2b             	cmp    %bl,0x2b(%rcx)
18005495e:	0f 86 f6 01 00 00    	jbe    0x180054b5a
180054964:	0f a3 af 8c 00 00 00 	bt     %ebp,0x8c(%rdi)
18005496b:	73 75                	jae    0x1800549e2
18005496d:	44 8b c5             	mov    %ebp,%r8d
180054970:	41 8b d7             	mov    %r15d,%edx
180054973:	48 8b ce             	mov    %rsi,%rcx
180054976:	e8 99 cb ff ff       	call   0x180051514
18005497b:	84 c0                	test   %al,%al
18005497d:	74 05                	je     0x180054984
18005497f:	41 fe c5             	inc    %r13b
180054982:	eb 5e                	jmp    0x1800549e2
180054984:	41 8b d7             	mov    %r15d,%edx
180054987:	48 8b ce             	mov    %rsi,%rcx
18005498a:	e8 c1 c9 ff ff       	call   0x180051350
18005498f:	0f b7 08             	movzwl (%rax),%ecx
180054992:	f6 c1 40             	test   $0x40,%cl
180054995:	74 1f                	je     0x1800549b6
180054997:	8b 87 80 00 00 00    	mov    0x80(%rdi),%eax
18005499d:	48 8b ce             	mov    %rsi,%rcx
1800549a0:	4c 8b 4f 78          	mov    0x78(%rdi),%r9
1800549a4:	c7 44 24 28 01 00 00 	movl   $0x1,0x28(%rsp)
1800549ab:	00
1800549ac:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1800549b1:	e8 aa 0d 00 00       	call   0x180055760
1800549b6:	44 8b c5             	mov    %ebp,%r8d
1800549b9:	41 8b d7             	mov    %r15d,%edx
1800549bc:	48 8b ce             	mov    %rsi,%rcx
1800549bf:	e8 8c c9 ff ff       	call   0x180051350
1800549c4:	8a 48 02             	mov    0x2(%rax),%cl
1800549c7:	80 e1 0f             	and    $0xf,%cl
1800549ca:	80 f9 02             	cmp    $0x2,%cl
1800549cd:	75 13                	jne    0x1800549e2
1800549cf:	41 b1 03             	mov    $0x3,%r9b
1800549d2:	c6 44 24 20 01       	movb   $0x1,0x20(%rsp)
1800549d7:	48 8b ce             	mov    %rsi,%rcx
1800549da:	e8 2d 11 00 00       	call   0x180055b0c
1800549df:	44 8b f0             	mov    %eax,%r14d
1800549e2:	0f b6 4e 2b          	movzbl 0x2b(%rsi),%ecx
1800549e6:	ff c5                	inc    %ebp
1800549e8:	3b e9                	cmp    %ecx,%ebp
1800549ea:	0f 82 74 ff ff ff    	jb     0x180054964
1800549f0:	45 85 f6             	test   %r14d,%r14d
1800549f3:	0f 88 6d 01 00 00    	js     0x180054b66
1800549f9:	45 84 ed             	test   %r13b,%r13b
1800549fc:	0f 84 58 01 00 00    	je     0x180054b5a
180054a02:	48 8b 06             	mov    (%rsi),%rax
180054a05:	41 b8 01 00 00 00    	mov    $0x1,%r8d
180054a0b:	4c 8b 4f 78          	mov    0x78(%rdi),%r9
180054a0f:	41 8b d7             	mov    %r15d,%edx
180054a12:	41 d3 e0             	shl    %cl,%r8d
180054a15:	48 8b ce             	mov    %rsi,%rcx
180054a18:	41 ff c8             	dec    %r8d
180054a1b:	48 8b 80 90 00 00 00 	mov    0x90(%rax),%rax
180054a22:	ff d0                	call   *%rax
180054a24:	0f 1f 00             	nopl   (%rax)
180054a27:	89 44 24 70          	mov    %eax,0x70(%rsp)
180054a2b:	0f b6 46 2b          	movzbl 0x2b(%rsi),%eax
180054a2f:	44 3b e0             	cmp    %eax,%r12d
180054a32:	0f 83 2e 01 00 00    	jae    0x180054b66
180054a38:	44 0f a3 a7 8c 00 00 	bt     %r12d,0x8c(%rdi)
180054a3f:	00
180054a40:	0f 83 f8 00 00 00    	jae    0x180054b3e
180054a46:	45 8b c4             	mov    %r12d,%r8d
180054a49:	41 8b d7             	mov    %r15d,%edx
180054a4c:	48 8b ce             	mov    %rsi,%rcx
180054a4f:	e8 c0 ca ff ff       	call   0x180051514
180054a54:	84 c0                	test   %al,%al
180054a56:	0f 84 e2 00 00 00    	je     0x180054b3e
180054a5c:	48 8b ac 24 80 00 00 	mov    0x80(%rsp),%rbp
180054a63:	00
180054a64:	48 85 ed             	test   %rbp,%rbp
180054a67:	75 54                	jne    0x180054abd
180054a69:	b9 e0 00 00 00       	mov    $0xe0,%ecx
180054a6e:	e8 a1 1e ff ff       	call   0x180046914
180054a73:	48 85 c0             	test   %rax,%rax
180054a76:	74 0d                	je     0x180054a85
180054a78:	48 8b c8             	mov    %rax,%rcx
180054a7b:	e8 e8 24 ff ff       	call   0x180046f68
180054a80:	48 8b d8             	mov    %rax,%rbx
180054a83:	eb 02                	jmp    0x180054a87
180054a85:	33 db                	xor    %ebx,%ebx
180054a87:	48 85 db             	test   %rbx,%rbx
180054a8a:	0f 84 c2 00 00 00    	je     0x180054b52
180054a90:	44 8b 8f 80 00 00 00 	mov    0x80(%rdi),%r9d
180054a97:	41 80 fd 01          	cmp    $0x1,%r13b
180054a9b:	48 8b d7             	mov    %rdi,%rdx
180054a9e:	48 8b cb             	mov    %rbx,%rcx
180054aa1:	0f 97 c0             	seta   %al