180107589:	44 8b 64 24 30       	mov    0x30(%rsp),%r12d
18010758e:	4c 8b fa             	mov    %rdx,%r15
180107591:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
180107596:	49 8b c0             	mov    %r8,%rax
180107599:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
18010759e:	49 2b c5             	sub    %r13,%rax
1801075a1:	48 2b ea             	sub    %rdx,%rbp
1801075a4:	4c 8b f0             	mov    %rax,%r14
1801075a7:	45 8a 47 03          	mov    0x3(%r15),%r8b
1801075ab:	49 8d 1c 2f          	lea    (%r15,%rbp,1),%rbx
1801075af:	8b 0b                	mov    (%rbx),%ecx
1801075b1:	41 8b 17             	mov    (%r15),%edx
1801075b4:	e8 9f fd ff ff       	call   0x180107358
1801075b9:	42 89 04 33          	mov    %eax,(%rbx,%r14,1)
1801075bd:	4c 03 fe             	add    %rsi,%r15
1801075c0:	8b 47 04             	mov    0x4(%rdi),%eax
1801075c3:	41 ff c4             	inc    %r12d
1801075c6:	44 3b e0             	cmp    %eax,%r12d
1801075c9:	72 dc                	jb     0x1801075a7
1801075cb:	4c 8b bc 24 b0 00 00 	mov    0xb0(%rsp),%r15
1801075d2:	00
1801075d3:	48 8b ac 24 b8 00 00 	mov    0xb8(%rsp),%rbp
1801075da:	00
1801075db:	44 8b 64 24 28       	mov    0x28(%rsp),%r12d
1801075e0:	48 8b 54 24 48       	mov    0x48(%rsp),%rdx
1801075e5:	4c 8b 44 24 50       	mov    0x50(%rsp),%r8
1801075ea:	44 8b 4c 24 20       	mov    0x20(%rsp),%r9d
1801075ef:	8b c8                	mov    %eax,%ecx
1801075f1:	8b 45 04             	mov    0x4(%rbp),%eax
1801075f4:	41 0f af c4          	imul   %r12d,%eax
1801075f8:	48 03 d0             	add    %rax,%rdx
1801075fb:	41 8b 47 04          	mov    0x4(%r15),%eax
1801075ff:	41 0f af c4          	imul   %r12d,%eax
180107603:	48 89 54 24 48       	mov    %rdx,0x48(%rsp)
180107608:	4c 03 e8             	add    %rax,%r13
18010760b:	8b c1                	mov    %ecx,%eax
18010760d:	41 0f af c4          	imul   %r12d,%eax
180107611:	4c 03 c0             	add    %rax,%r8
180107614:	8b c1                	mov    %ecx,%eax
180107616:	41 83 c1 ff          	add    $0xffffffff,%r9d
18010761a:	4c 89 44 24 50       	mov    %r8,0x50(%rsp)
18010761f:	44 89 4c 24 20       	mov    %r9d,0x20(%rsp)
180107624:	0f 85 50 ff ff ff    	jne    0x18010757a
18010762a:	8b 74 24 24          	mov    0x24(%rsp),%esi
18010762e:	4c 8b b4 24 c8 00 00 	mov    0xc8(%rsp),%r14
180107635:	00
180107636:	eb 0c                	jmp    0x180107644
180107638:	be 9a 00 00 c0       	mov    $0xc000009a,%esi
18010763d:	eb 09                	jmp    0x180107648
18010763f:	be 0d 00 00 c0       	mov    $0xc000000d,%esi
180107644:	85 f6                	test   %esi,%esi
180107646:	79 15                	jns    0x18010765d
180107648:	49 83 3e 00          	cmpq   $0x0,(%r14)
18010764c:	75 18                	jne    0x180107666
18010764e:	48 85 ff             	test   %rdi,%rdi
180107651:	74 0a                	je     0x18010765d
180107653:	48 8b cf             	mov    %rdi,%rcx
180107656:	e8 e5 04 00 00       	call   0x180107b40
18010765b:	33 ff                	xor    %edi,%edi
18010765d:	49 83 3e 00          	cmpq   $0x0,(%r14)
180107661:	75 03                	jne    0x180107666
180107663:	49 89 3e             	mov    %rdi,(%r14)
180107666:	48 8b 9c 24 c0 00 00 	mov    0xc0(%rsp),%rbx
18010766d:	00
18010766e:	8b c6                	mov    %esi,%eax
180107670:	48 83 c4 70          	add    $0x70,%rsp
180107674:	41 5f                	pop    %r15
180107676:	41 5e                	pop    %r14
180107678:	41 5d                	pop    %r13
18010767a:	41 5c                	pop    %r12
18010767c:	5f                   	pop    %rdi
18010767d:	5e                   	pop    %rsi
18010767e:	5d                   	pop    %rbp
18010767f:	c3                   	ret
180107680:	cc                   	int3
180107681:	cc                   	int3
180107682:	cc                   	int3
180107683:	cc                   	int3
180107684:	48 8b c4             	mov    %rsp,%rax
180107687:	48 89 58 08          	mov    %rbx,0x8(%rax)
18010768b:	48 89 68 10          	mov    %rbp,0x10(%rax)
18010768f:	48 89 70 18          	mov    %rsi,0x18(%rax)
180107693:	48 89 78 20          	mov    %rdi,0x20(%rax)
180107697:	41 54                	push   %r12
180107699:	41 56                	push   %r14
18010769b:	41 57                	push   %r15
18010769d:	48 83 ec 20          	sub    $0x20,%rsp
1801076a1:	44 8b 51 04          	mov    0x4(%rcx),%r10d
1801076a5:	48 8b d9             	mov    %rcx,%rbx
1801076a8:	44 8b 71 08          	mov    0x8(%rcx),%r14d
1801076ac:	4c 8b e2             	mov    %rdx,%r12
1801076af:	8b 4a 04             	mov    0x4(%rdx),%ecx
1801076b2:	8b 3a                	mov    (%rdx),%edi
1801076b4:	41 8b 71 04          	mov    0x4(%r9),%esi
1801076b8:	41 8b 68 04          	mov    0x4(%r8),%ebp
1801076bc:	41 c1 ee 03          	shr    $0x3,%r14d
1801076c0:	41 3b ca             	cmp    %r10d,%ecx
1801076c3:	41 0f 43 ca          	cmovae %r10d,%ecx
1801076c7:	41 0f af ce          	imul   %r14d,%ecx
1801076cb:	3b 3b                	cmp    (%rbx),%edi
1801076cd:	0f 43 3b             	cmovae (%rbx),%edi
1801076d0:	0f af 72 04          	imul   0x4(%rdx),%esi
1801076d4:	41 0f af ea          	imul   %r10d,%ebp
1801076d8:	41 03 31             	add    (%r9),%esi
1801076db:	41 03 28             	add    (%r8),%ebp
1801076de:	41 0f af f6          	imul   %r14d,%esi
1801076e2:	41 0f af ee          	imul   %r14d,%ebp
1801076e6:	48 03 72 18          	add    0x18(%rdx),%rsi
1801076ea:	48 03 6b 18          	add    0x18(%rbx),%rbp
1801076ee:	85 ff                	test   %edi,%edi
1801076f0:	74 2c                	je     0x18010771e
1801076f2:	44 8b f9             	mov    %ecx,%r15d
1801076f5:	4d 8b c7             	mov    %r15,%r8
1801076f8:	48 8b d6             	mov    %rsi,%rdx
1801076fb:	48 8b cd             	mov    %rbp,%rcx
1801076fe:	e8 bd e2 02 00       	call   0x1801359c0
180107703:	41 8b 44 24 04       	mov    0x4(%r12),%eax
180107708:	41 0f af c6          	imul   %r14d,%eax
18010770c:	48 03 f0             	add    %rax,%rsi
18010770f:	41 8b c6             	mov    %r14d,%eax
180107712:	0f af 43 04          	imul   0x4(%rbx),%eax
180107716:	48 03 e8             	add    %rax,%rbp
180107719:	83 c7 ff             	add    $0xffffffff,%edi
18010771c:	75 d7                	jne    0x1801076f5
18010771e:	83 63 10 ef          	andl   $0xffffffef,0x10(%rbx)
180107722:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
180107727:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
18010772c:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
180107731:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
180107736:	48 83 c4 20          	add    $0x20,%rsp
18010773a:	41 5f                	pop    %r15
18010773c:	41 5e                	pop    %r14
18010773e:	41 5c                	pop    %r12
180107740:	c3                   	ret
180107741:	cc                   	int3
180107742:	cc                   	int3
180107743:	cc                   	int3
180107744:	48 8b c4             	mov    %rsp,%rax
180107747:	48 89 58 10          	mov    %rbx,0x10(%rax)
18010774b:	48 89 70 18          	mov    %rsi,0x18(%rax)
18010774f:	57                   	push   %rdi
180107750:	48 83 ec 70          	sub    $0x70,%rsp
180107754:	33 db                	xor    %ebx,%ebx
180107756:	48 8b f2             	mov    %rdx,%rsi
180107759:	48 89 58 08          	mov    %rbx,0x8(%rax)
18010775d:	8b 05 6d e2 08 00    	mov    0x8e26d(%rip),%eax        # 0x1801959d0
180107763:	44 8d 4b 01          	lea    0x1(%rbx),%r9d
180107767:	83 f8 04             	cmp    $0x4,%eax
18010776a:	75 05                	jne    0x180107771
18010776c:	8d 53 18             	lea    0x18(%rbx),%edx
18010776f:	eb 10                	jmp    0x180107781
180107771:	83 f8 05             	cmp    $0x5,%eax
180107774:	41 8b d1             	mov    %r9d,%edx
180107777:	41 b8 20 00 00 00    	mov    $0x20,%r8d
18010777d:	41 0f 44 d0          	cmove  %r8d,%edx
180107781:	33 ff                	xor    %edi,%edi
180107783:	39 51 08             	cmp    %edx,0x8(%rcx)
180107786:	74 3d                	je     0x1801077c5
180107788:	f7 05 9e e2 08 00 00 	testl  $0xc00,0x8e29e(%rip)        # 0x180195a30
18010778f:	0c 00 00
180107792:	74 0f                	je     0x1801077a3
180107794:	48 8d 44 24 20       	lea    0x20(%rsp),%rax
180107799:	48 89 84 24 80 00 00 	mov    %rax,0x80(%rsp)
1801077a0:	00
1801077a1:	eb 03                	jmp    0x1801077a6
1801077a3:	45 33 c9             	xor    %r9d,%r9d
1801077a6:	4c 8d 84 24 80 00 00 	lea    0x80(%rsp),%r8
1801077ad:	00
1801077ae:	e8 fd 03 00 00       	call   0x180107bb0
1801077b3:	85 c0                	test   %eax,%eax
1801077b5:	78 31                	js     0x1801077e8
1801077b7:	48 8b 9c 24 80 00 00 	mov    0x80(%rsp),%rbx
1801077be:	00
1801077bf:	48 8b cb             	mov    %rbx,%rcx
1801077c2:	48 8b fb             	mov    %rbx,%rdi
1801077c5:	48 8b d6             	mov    %rsi,%rdx
1801077c8:	e8 2b 06 00 00       	call   0x180107df8
1801077cd:	8b f0                	mov    %eax,%esi
1801077cf:	48 85 ff             	test   %rdi,%rdi
1801077d2:	74 12                	je     0x1801077e6
1801077d4:	48 8d 44 24 20       	lea    0x20(%rsp),%rax
1801077d9:	48 3b f8             	cmp    %rax,%rdi
1801077dc:	74 08                	je     0x1801077e6
1801077de:	48 8b cb             	mov    %rbx,%rcx
1801077e1:	e8 5a 03 00 00       	call   0x180107b40
1801077e6:	8b c6                	mov    %esi,%eax
1801077e8:	4c 8d 5c 24 70       	lea    0x70(%rsp),%r11
1801077ed:	49 8b 5b 18          	mov    0x18(%r11),%rbx
1801077f1:	49 8b 73 20          	mov    0x20(%r11),%rsi
1801077f5:	49 8b e3             	mov    %r11,%rsp
1801077f8:	5f                   	pop    %rdi
1801077f9:	c3                   	ret
1801077fa:	cc                   	int3
1801077fb:	cc                   	int3
1801077fc:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180107801:	8b 41 04             	mov    0x4(%rcx),%eax
180107804:	0f af 01             	imul   (%rcx),%eax
180107807:	4c 8b 41 18          	mov    0x18(%rcx),%r8
18010780b:	89 54 24 10          	mov    %edx,0x10(%rsp)
18010780f:	85 c0                	test   %eax,%eax
180107811:	74 38                	je     0x18010784b
180107813:	44 8a 54 24 13       	mov    0x13(%rsp),%r10b
180107818:	44 8a 5c 24 12       	mov    0x12(%rsp),%r11b
18010781d:	8a 5c 24 11          	mov    0x11(%rsp),%bl
180107821:	44 8b c8             	mov    %eax,%r9d
180107824:	45 88 58 02          	mov    %r11b,0x2(%r8)
180107828:	41 88 58 01          	mov    %bl,0x1(%r8)
18010782c:	41 88 10             	mov    %dl,(%r8)
18010782f:	8b 41 08             	mov    0x8(%rcx),%eax
180107832:	83 f8 20             	cmp    $0x20,%eax
180107835:	75 07                	jne    0x18010783e
180107837:	45 88 50 03          	mov    %r10b,0x3(%r8)
18010783b:	8b 41 08             	mov    0x8(%rcx),%eax
18010783e:	48 c1 e8 03          	shr    $0x3,%rax
180107842:	4c 03 c0             	add    %rax,%r8
180107845:	49 83 e9 01          	sub    $0x1,%r9
180107849:	75 d9                	jne    0x180107824
18010784b:	83 61 10 ef          	andl   $0xffffffef,0x10(%rcx)
18010784f:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
180107854:	c3                   	ret
180107855:	cc                   	int3
180107856:	cc                   	int3
180107857:	cc                   	int3
180107858:	44 8b 51 02          	mov    0x2(%rcx),%r10d
18010785c:	4c 8b c9             	mov    %rcx,%r9
18010785f:	41 83 fa 30          	cmp    $0x30,%r10d
180107863:	72 2e                	jb     0x180107893
180107865:	b8 42 4d 00 00       	mov    $0x4d42,%eax
18010786a:	66 39 01             	cmp    %ax,(%rcx)
18010786d:	75 24                	jne    0x180107893
18010786f:	33 c9                	xor    %ecx,%ecx
180107871:	41 39 49 1e          	cmp    %ecx,0x1e(%r9)
180107875:	75 1c                	jne    0x180107893
180107877:	48 85 d2             	test   %rdx,%rdx
18010787a:	74 0d                	je     0x180107889
18010787c:	41 8b 41 12          	mov    0x12(%r9),%eax
180107880:	89 02                	mov    %eax,(%rdx)
180107882:	41 8b 41 16          	mov    0x16(%r9),%eax
180107886:	89 42 04             	mov    %eax,0x4(%rdx)
180107889:	4d 85 c0             	test   %r8,%r8
18010788c:	74 0a                	je     0x180107898
18010788e:	45 89 10             	mov    %r10d,(%r8)
180107891:	eb 05                	jmp    0x180107898
180107893:	b9 0d 00 00 c0       	mov    $0xc000000d,%ecx
180107898:	8b c1                	mov    %ecx,%eax
18010789a:	c3                   	ret
18010789b:	cc                   	int3
18010789c:	4c 8b dc             	mov    %rsp,%r11
18010789f:	49 89 5b 08          	mov    %rbx,0x8(%r11)
1801078a3:	49 89 6b 10          	mov    %rbp,0x10(%r11)
1801078a7:	49 89 73 18          	mov    %rsi,0x18(%r11)
1801078ab:	57                   	push   %rdi
1801078ac:	41 54                	push   %r12
1801078ae:	41 55                	push   %r13
1801078b0:	41 56                	push   %r14
1801078b2:	41 57                	push   %r15
1801078b4:	48 83 ec 30          	sub    $0x30,%rsp
1801078b8:	33 f6                	xor    %esi,%esi
1801078ba:	4c 8b e2             	mov    %rdx,%r12
1801078bd:	83 79 02 30          	cmpl   $0x30,0x2(%rcx)
1801078c1:	48 8b f9             	mov    %rcx,%rdi
1801078c4:	49 89 73 20          	mov    %rsi,0x20(%r11)
1801078c8:	0f 82 d4 00 00 00    	jb     0x1801079a2
1801078ce:	b8 42 4d 00 00       	mov    $0x4d42,%eax
1801078d3:	66 39 01             	cmp    %ax,(%rcx)
1801078d6:	0f 85 c6 00 00 00    	jne    0x1801079a2
1801078dc:	39 71 1e             	cmp    %esi,0x1e(%rcx)
1801078df:	0f 85 bd 00 00 00    	jne    0x1801079a2
1801078e5:	0f b7 51 1c          	movzwl 0x1c(%rcx),%edx
1801078e9:	8d 42 e8             	lea    -0x18(%rdx),%eax
1801078ec:	a9 f7 ff ff ff       	test   $0xfffffff7,%eax
1801078f1:	0f 85 a4 00 00 00    	jne    0x18010799b
1801078f7:	83 79 0e 28          	cmpl   $0x28,0xe(%rcx)
1801078fb:	0f 85 9a 00 00 00    	jne    0x18010799b
180107901:	8b 41 12             	mov    0x12(%rcx),%eax
180107904:	4d 8d 43 20          	lea    0x20(%r11),%r8
180107908:	89 44 24 20          	mov    %eax,0x20(%rsp)
18010790c:	8b 41 16             	mov    0x16(%rcx),%eax
18010790f:	49 8d 4b c8          	lea    -0x38(%r11),%rcx
180107913:	89 44 24 24          	mov    %eax,0x24(%rsp)
180107917:	e8 ac 00 00 00       	call   0x1801079c8
18010791c:	8b d8                	mov    %eax,%ebx
18010791e:	85 c0                	test   %eax,%eax
180107920:	78 68                	js     0x18010798a
180107922:	4c 8b 74 24 78       	mov    0x78(%rsp),%r14
180107927:	8d 46 04             	lea    0x4(%rsi),%eax
18010792a:	41 8b 16             	mov    (%r14),%edx
18010792d:	45 8b 46 08          	mov    0x8(%r14),%r8d
180107931:	41 c1 e8 03          	shr    $0x3,%r8d
180107935:	45 0f af 46 04       	imul   0x4(%r14),%r8d
18010793a:	8d 6a ff             	lea    -0x1(%rdx),%ebp
18010793d:	41 0f af e8          	imul   %r8d,%ebp
180107941:	41 8b c8             	mov    %r8d,%ecx
180107944:	83 e1 03             	and    $0x3,%ecx
180107947:	2b c1                	sub    %ecx,%eax
180107949:	49 03 6e 18          	add    0x18(%r14),%rbp
18010794d:	f7 d9                	neg    %ecx
18010794f:	45 1b c9             	sbb    %r9d,%r9d
180107952:	48 83 c7 36          	add    $0x36,%rdi
180107956:	44 23 c8             	and    %eax,%r9d
180107959:	85 d2                	test   %edx,%edx
18010795b:	74 22                	je     0x18010797f
18010795d:	45 8b f8             	mov    %r8d,%r15d
180107960:	47 8d 2c 01          	lea    (%r9,%r8,1),%r13d
180107964:	4d 8b c7             	mov    %r15,%r8
180107967:	48 8b d7             	mov    %rdi,%rdx
18010796a:	48 8b cd             	mov    %rbp,%rcx
18010796d:	e8 4e e0 02 00       	call   0x1801359c0
180107972:	49 2b ef             	sub    %r15,%rbp
180107975:	49 03 fd             	add    %r13,%rdi
180107978:	ff c6                	inc    %esi
18010797a:	41 3b 36             	cmp    (%r14),%esi
18010797d:	72 e5                	jb     0x180107964
18010797f:	41 83 66 10 ef       	andl   $0xffffffef,0x10(%r14)
180107984:	4d 89 34 24          	mov    %r14,(%r12)
180107988:	eb 1d                	jmp    0x1801079a7
18010798a:	48 8b 4c 24 78       	mov    0x78(%rsp),%rcx
18010798f:	48 85 c9             	test   %rcx,%rcx
180107992:	74 13                	je     0x1801079a7
180107994:	e8 a7 01 00 00       	call   0x180107b40
180107999:	eb 0c                	jmp    0x1801079a7
18010799b:	bb bb 00 00 c0       	mov    $0xc00000bb,%ebx
1801079a0:	eb 05                	jmp    0x1801079a7
1801079a2:	bb 0d 00 00 c0       	mov    $0xc000000d,%ebx
1801079a7:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
1801079ac:	8b c3                	mov    %ebx,%eax
1801079ae:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
1801079b3:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
1801079b8:	48 83 c4 30          	add    $0x30,%rsp
1801079bc:	41 5f                	pop    %r15
1801079be:	41 5e                	pop    %r14
1801079c0:	41 5d                	pop    %r13
1801079c2:	41 5c                	pop    %r12
1801079c4:	5f                   	pop    %rdi
1801079c5:	c3                   	ret
1801079c6:	cc                   	int3
1801079c7:	cc                   	int3
1801079c8:	4c 8b dc             	mov    %rsp,%r11
1801079cb:	49 89 5b 10          	mov    %rbx,0x10(%r11)
1801079cf:	55                   	push   %rbp
1801079d0:	56                   	push   %rsi
1801079d1:	57                   	push   %rdi
1801079d2:	41 54                	push   %r12
1801079d4:	41 55                	push   %r13
1801079d6:	41 56                	push   %r14
1801079d8:	41 57                	push   %r15
1801079da:	48 83 ec 40          	sub    $0x40,%rsp
1801079de:	48 8b f1             	mov    %rcx,%rsi
1801079e1:	4d 8b e8             	mov    %r8,%r13
1801079e4:	33 c9                	xor    %ecx,%ecx