180045499:	44 8b 70 58          	mov    0x58(%rax),%r14d
18004549d:	45 85 f6             	test   %r14d,%r14d
1800454a0:	0f 84 88 00 00 00    	je     0x18004552e
1800454a6:	b9 e0 00 00 00       	mov    $0xe0,%ecx
1800454ab:	e8 64 14 00 00       	call   0x180046914
1800454b0:	48 85 c0             	test   %rax,%rax
1800454b3:	74 0d                	je     0x1800454c2
1800454b5:	48 8b c8             	mov    %rax,%rcx
1800454b8:	e8 ab 1a 00 00       	call   0x180046f68
1800454bd:	48 8b d8             	mov    %rax,%rbx
1800454c0:	eb 02                	jmp    0x1800454c4
1800454c2:	33 db                	xor    %ebx,%ebx
1800454c4:	48 85 db             	test   %rbx,%rbx
1800454c7:	0f 84 88 00 00 00    	je     0x180045555
1800454cd:	45 33 c0             	xor    %r8d,%r8d
1800454d0:	48 8d 4b 60          	lea    0x60(%rbx),%rcx
1800454d4:	45 8b cc             	mov    %r12d,%r9d
1800454d7:	41 8d 50 03          	lea    0x3(%r8),%edx
1800454db:	e8 bc 16 00 00       	call   0x180046b9c
1800454e0:	8b f8                	mov    %eax,%edi
1800454e2:	85 c0                	test   %eax,%eax
1800454e4:	0f 88 e0 00 00 00    	js     0x1800455ca
1800454ea:	48 8b 4d 40          	mov    0x40(%rbp),%rcx
1800454ee:	48 89 4b 78          	mov    %rcx,0x78(%rbx)
1800454f2:	44 89 a3 80 00 00 00 	mov    %r12d,0x80(%rbx)
1800454f9:	89 b3 88 00 00 00    	mov    %esi,0x88(%rbx)
1800454ff:	c6 83 98 00 00 00 03 	movb   $0x3,0x98(%rbx)
180045506:	48 8b 4d 10          	mov    0x10(%rbp),%rcx
18004550a:	48 8b 91 60 01 00 00 	mov    0x160(%rcx),%rdx
180045511:	49 8b cf             	mov    %r15,%rcx
180045514:	48 89 93 d8 00 00 00 	mov    %rdx,0xd8(%rbx)
18004551b:	48 8b d3             	mov    %rbx,%rdx
18004551e:	e8 89 1b 00 00       	call   0x1800470ac
180045523:	ff c6                	inc    %esi
180045525:	41 3b f6             	cmp    %r14d,%esi
180045528:	0f 82 78 ff ff ff    	jb     0x1800454a6
18004552e:	33 f6                	xor    %esi,%esi
180045530:	45 85 f6             	test   %r14d,%r14d
180045533:	0f 84 a9 00 00 00    	je     0x1800455e2
180045539:	b9 e0 00 00 00       	mov    $0xe0,%ecx
18004553e:	e8 d1 13 00 00       	call   0x180046914
180045543:	48 85 c0             	test   %rax,%rax
180045546:	74 17                	je     0x18004555f
180045548:	48 8b c8             	mov    %rax,%rcx
18004554b:	e8 18 1a 00 00       	call   0x180046f68
180045550:	48 8b d8             	mov    %rax,%rbx
180045553:	eb 0c                	jmp    0x180045561
180045555:	bf 9a 00 00 c0       	mov    $0xc000009a,%edi
18004555a:	e9 83 00 00 00       	jmp    0x1800455e2
18004555f:	33 db                	xor    %ebx,%ebx
180045561:	48 85 db             	test   %rbx,%rbx
180045564:	74 5f                	je     0x1800455c5
180045566:	45 33 c0             	xor    %r8d,%r8d
180045569:	48 8d 4b 60          	lea    0x60(%rbx),%rcx
18004556d:	45 8b cc             	mov    %r12d,%r9d
180045570:	41 8d 50 03          	lea    0x3(%r8),%edx
180045574:	e8 23 16 00 00       	call   0x180046b9c
180045579:	8b f8                	mov    %eax,%edi
18004557b:	85 c0                	test   %eax,%eax
18004557d:	78 4b                	js     0x1800455ca
18004557f:	48 8b 45 48          	mov    0x48(%rbp),%rax
180045583:	48 8b d3             	mov    %rbx,%rdx
180045586:	48 89 43 78          	mov    %rax,0x78(%rbx)
18004558a:	44 89 a3 80 00 00 00 	mov    %r12d,0x80(%rbx)
180045591:	89 b3 88 00 00 00    	mov    %esi,0x88(%rbx)
180045597:	c6 83 98 00 00 00 03 	movb   $0x3,0x98(%rbx)
18004559e:	48 8b 45 10          	mov    0x10(%rbp),%rax
1800455a2:	48 8b 88 60 01 00 00 	mov    0x160(%rax),%rcx
1800455a9:	48 89 8b d8 00 00 00 	mov    %rcx,0xd8(%rbx)
1800455b0:	49 8b cf             	mov    %r15,%rcx
1800455b3:	e8 f4 1a 00 00       	call   0x1800470ac
1800455b8:	ff c6                	inc    %esi
1800455ba:	41 3b f6             	cmp    %r14d,%esi
1800455bd:	0f 82 76 ff ff ff    	jb     0x180045539
1800455c3:	eb 1d                	jmp    0x1800455e2
1800455c5:	bf 9a 00 00 c0       	mov    $0xc000009a,%edi
1800455ca:	48 85 db             	test   %rbx,%rbx
1800455cd:	74 13                	je     0x1800455e2
1800455cf:	48 8b 03             	mov    (%rbx),%rax
1800455d2:	ba 01 00 00 00       	mov    $0x1,%edx
1800455d7:	48 8b cb             	mov    %rbx,%rcx
1800455da:	48 8b 00             	mov    (%rax),%rax
1800455dd:	ff d0                	call   *%rax
1800455df:	0f 1f 00             	nopl   (%rax)
1800455e2:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1800455e7:	8b c7                	mov    %edi,%eax
1800455e9:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
1800455ee:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
1800455f3:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
1800455f8:	48 83 c4 20          	add    $0x20,%rsp
1800455fc:	41 5f                	pop    %r15
1800455fe:	41 5e                	pop    %r14
180045600:	41 5c                	pop    %r12
180045602:	c3                   	ret
180045603:	cc                   	int3
180045604:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180045609:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
18004560e:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
180045613:	57                   	push   %rdi
180045614:	41 54                	push   %r12
180045616:	41 55                	push   %r13
180045618:	41 56                	push   %r14
18004561a:	41 57                	push   %r15
18004561c:	48 83 ec 20          	sub    $0x20,%rsp
180045620:	8b b2 a0 00 00 00    	mov    0xa0(%rdx),%esi
180045626:	4c 8d 7a 18          	lea    0x18(%rdx),%r15
18004562a:	49 8b 1f             	mov    (%r15),%rbx
18004562d:	45 32 f6             	xor    %r14b,%r14b
180045630:	4c 8b 69 28          	mov    0x28(%rcx),%r13
180045634:	48 8b e9             	mov    %rcx,%rbp
180045637:	49 3b df             	cmp    %r15,%rbx
18004563a:	0f 84 9c 00 00 00    	je     0x1800456dc
180045640:	8b 43 78             	mov    0x78(%rbx),%eax
180045643:	85 c0                	test   %eax,%eax
180045645:	78 7e                	js     0x1800456c5
180045647:	48 8b 7b 40          	mov    0x40(%rbx),%rdi
18004564b:	48 b8 53 50 41 43 45 	movabs $0x5452444543415053,%rax
180045652:	44 52 54
180045655:	48 39 07             	cmp    %rax,(%rdi)
180045658:	75 66                	jne    0x1800456c0
18004565a:	8b 47 10             	mov    0x10(%rdi),%eax
18004565d:	3d fd 03 00 00       	cmp    $0x3fd,%eax
180045662:	77 5c                	ja     0x1800456c0
180045664:	44 8b 5f 14          	mov    0x14(%rdi),%r11d
180045668:	44 8d 24 c5 18 00 00 	lea    0x18(,%rax,8),%r12d
18004566f:	00
180045670:	83 67 14 00          	andl   $0x0,0x14(%rdi)
180045674:	45 8b c4             	mov    %r12d,%r8d
180045677:	48 8b d7             	mov    %rdi,%rdx
18004567a:	e8 05 e8 fe ff       	call   0x180033e84
18004567f:	89 47 14             	mov    %eax,0x14(%rdi)
180045682:	44 3b d8             	cmp    %eax,%r11d
180045685:	74 07                	je     0x18004568e
180045687:	be 3f 00 00 c0       	mov    $0xc000003f,%esi
18004568c:	eb 37                	jmp    0x1800456c5
18004568e:	45 84 f6             	test   %r14b,%r14b
180045691:	74 0a                	je     0x18004569d
180045693:	49 8b 45 08          	mov    0x8(%r13),%rax
180045697:	48 39 47 08          	cmp    %rax,0x8(%rdi)
18004569b:	76 1e                	jbe    0x1800456bb
18004569d:	45 8b c4             	mov    %r12d,%r8d
1800456a0:	48 8b d7             	mov    %rdi,%rdx
1800456a3:	49 8b cd             	mov    %r13,%rcx
1800456a6:	e8 15 03 0f 00       	call   0x1801359c0
1800456ab:	48 8b 45 40          	mov    0x40(%rbp),%rax
1800456af:	33 c9                	xor    %ecx,%ecx
1800456b1:	48 39 43 50          	cmp    %rax,0x50(%rbx)
1800456b5:	0f 95 c1             	setne  %cl
1800456b8:	89 4d 34             	mov    %ecx,0x34(%rbp)
1800456bb:	41 b6 01             	mov    $0x1,%r14b
1800456be:	eb 05                	jmp    0x1800456c5
1800456c0:	be 32 00 00 c0       	mov    $0xc0000032,%esi
1800456c5:	48 8b 1b             	mov    (%rbx),%rbx
1800456c8:	49 3b df             	cmp    %r15,%rbx
1800456cb:	0f 85 6f ff ff ff    	jne    0x180045640
1800456d1:	45 84 f6             	test   %r14b,%r14b
1800456d4:	74 06                	je     0x1800456dc
1800456d6:	83 75 34 01          	xorl   $0x1,0x34(%rbp)
1800456da:	33 f6                	xor    %esi,%esi
1800456dc:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
1800456e1:	8b c6                	mov    %esi,%eax
1800456e3:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
1800456e8:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
1800456ed:	48 83 c4 20          	add    $0x20,%rsp
1800456f1:	41 5f                	pop    %r15
1800456f3:	41 5e                	pop    %r14
1800456f5:	41 5d                	pop    %r13
1800456f7:	41 5c                	pop    %r12
1800456f9:	5f                   	pop    %rdi
1800456fa:	c3                   	ret
1800456fb:	cc                   	int3
1800456fc:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180045701:	57                   	push   %rdi
180045702:	48 83 ec 20          	sub    $0x20,%rsp
180045706:	8b da                	mov    %edx,%ebx
180045708:	48 8b f9             	mov    %rcx,%rdi
18004570b:	e8 1c 00 00 00       	call   0x18004572c
180045710:	f6 c3 01             	test   $0x1,%bl
180045713:	74 08                	je     0x18004571d
180045715:	48 8b cf             	mov    %rdi,%rcx
180045718:	e8 3f 12 00 00       	call   0x18004695c
18004571d:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
180045722:	48 8b c7             	mov    %rdi,%rax
180045725:	48 83 c4 20          	add    $0x20,%rsp
180045729:	5f                   	pop    %rdi
18004572a:	c3                   	ret
18004572b:	cc                   	int3
18004572c:	48 8b c4             	mov    %rsp,%rax
18004572f:	48 89 58 08          	mov    %rbx,0x8(%rax)
180045733:	48 89 68 10          	mov    %rbp,0x10(%rax)
180045737:	48 89 70 18          	mov    %rsi,0x18(%rax)
18004573b:	48 89 78 20          	mov    %rdi,0x20(%rax)
18004573f:	41 56                	push   %r14
180045741:	48 83 ec 20          	sub    $0x20,%rsp
180045745:	48 8d 05 04 dc 0f 00 	lea    0xfdc04(%rip),%rax        # 0x180143350
18004574c:	48 8b f9             	mov    %rcx,%rdi
18004574f:	4c 8d 71 28          	lea    0x28(%rcx),%r14
180045753:	48 89 01             	mov    %rax,(%rcx)
180045756:	49 8b 1e             	mov    (%r14),%rbx
180045759:	eb 37                	jmp    0x180045792
18004575b:	83 7b 14 00          	cmpl   $0x0,0x14(%rbx)
18004575f:	75 2e                	jne    0x18004578f
180045761:	33 f6                	xor    %esi,%esi
180045763:	39 77 44             	cmp    %esi,0x44(%rdi)
180045766:	76 27                	jbe    0x18004578f
180045768:	48 8b 4c f3 18       	mov    0x18(%rbx,%rsi,8),%rcx
18004576d:	48 85 c9             	test   %rcx,%rcx
180045770:	74 16                	je     0x180045788
180045772:	48 8b 01             	mov    (%rcx),%rax
180045775:	ba 01 00 00 00       	mov    $0x1,%edx
18004577a:	48 8b 00             	mov    (%rax),%rax
18004577d:	ff d0                	call   *%rax
18004577f:	0f 1f 00             	nopl   (%rax)
180045782:	48 83 64 f3 18 00    	andq   $0x0,0x18(%rbx,%rsi,8)
180045788:	ff c6                	inc    %esi
18004578a:	3b 77 44             	cmp    0x44(%rdi),%esi
18004578d:	72 d9                	jb     0x180045768
18004578f:	48 8b 1b             	mov    (%rbx),%rbx
180045792:	49 3b de             	cmp    %r14,%rbx
180045795:	75 c4                	jne    0x18004575b
180045797:	48 8d 4f 20          	lea    0x20(%rdi),%rcx
18004579b:	e8 7c e0 ff ff       	call   0x18004381c
1800457a0:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1800457a5:	48 8d 05 84 dc 0f 00 	lea    0xfdc84(%rip),%rax        # 0x180143430
1800457ac:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
1800457b1:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
1800457b6:	48 89 07             	mov    %rax,(%rdi)
1800457b9:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
1800457be:	48 83 c4 20          	add    $0x20,%rsp
1800457c2:	41 5e                	pop    %r14
1800457c4:	c3                   	ret
1800457c5:	cc                   	int3
1800457c6:	cc                   	int3
1800457c7:	cc                   	int3
1800457c8:	48 8b c4             	mov    %rsp,%rax
1800457cb:	48 89 58 08          	mov    %rbx,0x8(%rax)
1800457cf:	48 89 68 18          	mov    %rbp,0x18(%rax)
1800457d3:	48 89 70 20          	mov    %rsi,0x20(%rax)
1800457d7:	89 50 10             	mov    %edx,0x10(%rax)
1800457da:	57                   	push   %rdi
1800457db:	41 54                	push   %r12
1800457dd:	41 55                	push   %r13
1800457df:	41 56                	push   %r14
1800457e1:	41 57                	push   %r15
1800457e3:	48 83 ec 30          	sub    $0x30,%rsp
1800457e7:	45 33 ed             	xor    %r13d,%r13d
1800457ea:	4c 8d 79 28          	lea    0x28(%rcx),%r15
1800457ee:	49 8b 3f             	mov    (%r15),%rdi
1800457f1:	45 33 f6             	xor    %r14d,%r14d
1800457f4:	45 33 c0             	xor    %r8d,%r8d
1800457f7:	48 8b e9             	mov    %rcx,%rbp
1800457fa:	49 3b ff             	cmp    %r15,%rdi
1800457fd:	0f 84 8f 00 00 00    	je     0x180045892
180045803:	83 7f 14 00          	cmpl   $0x0,0x14(%rdi)
180045807:	75 7c                	jne    0x180045885
180045809:	33 f6                	xor    %esi,%esi
18004580b:	39 75 44             	cmp    %esi,0x44(%rbp)
18004580e:	76 75                	jbe    0x180045885
180045810:	4c 8b 64 f7 18       	mov    0x18(%rdi,%rsi,8),%r12
180045815:	4d 85 e4             	test   %r12,%r12
180045818:	74 64                	je     0x18004587e
18004581a:	49 8b 44 24 10       	mov    0x10(%r12),%rax
18004581f:	49 8b cc             	mov    %r12,%rcx
180045822:	49 2b c5             	sub    %r13,%rax
180045825:	4c 03 f0             	add    %rax,%r14
180045828:	49 8b 04 24          	mov    (%r12),%rax
18004582c:	48 8b 40 50          	mov    0x50(%rax),%rax
180045830:	ff d0                	call   *%rax
180045832:	0f 1f 00             	nopl   (%rax)
180045835:	49 8b 1c 24          	mov    (%r12),%rbx
180045839:	4c 8b e8             	mov    %rax,%r13
18004583c:	4d 03 6c 24 10       	add    0x10(%r12),%r13
180045841:	49 8b cc             	mov    %r12,%rcx
180045844:	48 8b 43 50          	mov    0x50(%rbx),%rax
180045848:	ff d0                	call   *%rax
18004584a:	0f 1f 00             	nopl   (%rax)
18004584d:	48 8b 8c 24 80 00 00 	mov    0x80(%rsp),%rcx
180045854:	00
180045855:	4c 8b c8             	mov    %rax,%r9
180045858:	48 8b 43 60          	mov    0x60(%rbx),%rax
18004585c:	45 33 c0             	xor    %r8d,%r8d
18004585f:	8b 54 24 68          	mov    0x68(%rsp),%edx
180045863:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
180045868:	49 8b cc             	mov    %r12,%rcx
18004586b:	ff d0                	call   *%rax
18004586d:	0f 1f 00             	nopl   (%rax)
180045870:	44 8b c0             	mov    %eax,%r8d
180045873:	85 c0                	test   %eax,%eax
180045875:	78 29                	js     0x1800458a0
180045877:	3d 02 00 e7 00       	cmp    $0xe70002,%eax
18004587c:	74 0f                	je     0x18004588d
18004587e:	ff c6                	inc    %esi
180045880:	3b 75 44             	cmp    0x44(%rbp),%esi
180045883:	72 8b                	jb     0x180045810
180045885:	48 8b 3f             	mov    (%rdi),%rdi
180045888:	e9 6d ff ff ff       	jmp    0x1800457fa
18004588d:	45 33 c0             	xor    %r8d,%r8d
180045890:	eb 0e                	jmp    0x1800458a0
180045892:	48 8b 45 08          	mov    0x8(%rbp),%rax
180045896:	48 8b 48 68          	mov    0x68(%rax),%rcx
18004589a:	49 2b cd             	sub    %r13,%rcx
18004589d:	4c 03 f1             	add    %rcx,%r14
1800458a0:	48 8b 84 24 88 00 00 	mov    0x88(%rsp),%rax
1800458a7:	00
1800458a8:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
1800458ad:	48 8b 6c 24 70       	mov    0x70(%rsp),%rbp
1800458b2:	48 8b 74 24 78       	mov    0x78(%rsp),%rsi
1800458b7:	4c 89 30             	mov    %r14,(%rax)
1800458ba:	41 8b c0             	mov    %r8d,%eax
1800458bd:	48 83 c4 30          	add    $0x30,%rsp
1800458c1:	41 5f                	pop    %r15
1800458c3:	41 5e                	pop    %r14
1800458c5:	41 5d                	pop    %r13
1800458c7:	41 5c                	pop    %r12
1800458c9:	5f                   	pop    %rdi
1800458ca:	c3                   	ret
1800458cb:	cc                   	int3
1800458cc:	48 8b c4             	mov    %rsp,%rax
1800458cf:	48 89 58 08          	mov    %rbx,0x8(%rax)
1800458d3:	48 89 68 10          	mov    %rbp,0x10(%rax)
1800458d7:	48 89 70 18          	mov    %rsi,0x18(%rax)
1800458db:	48 89 78 20          	mov    %rdi,0x20(%rax)
1800458df:	41 56                	push   %r14
1800458e1:	48 83 ec 20          	sub    $0x20,%rsp
1800458e5:	48 8d 71 28          	lea    0x28(%rcx),%rsi
1800458e9:	4c 8b f2             	mov    %rdx,%r14
1800458ec:	48 8b 1e             	mov    (%rsi),%rbx
1800458ef:	48 8b e9             	mov    %rcx,%rbp
1800458f2:	eb 30                	jmp    0x180045924
1800458f4:	83 7b 14 00          	cmpl   $0x0,0x14(%rbx)
1800458f8:	75 27                	jne    0x180045921
1800458fa:	33 ff                	xor    %edi,%edi
1800458fc:	39 7d 44             	cmp    %edi,0x44(%rbp)
1800458ff:	76 20                	jbe    0x180045921
180045901:	48 8b 4c fb 18       	mov    0x18(%rbx,%rdi,8),%rcx
180045906:	48 85 c9             	test   %rcx,%rcx
180045909:	74 0f                	je     0x18004591a
18004590b:	48 8b 01             	mov    (%rcx),%rax
18004590e:	49 8b d6             	mov    %r14,%rdx
180045911:	48 8b 40 70          	mov    0x70(%rax),%rax
180045915:	ff d0                	call   *%rax
180045917:	0f 1f 00             	nopl   (%rax)
18004591a:	ff c7                	inc    %edi
18004591c:	3b 7d 44             	cmp    0x44(%rbp),%edi
18004591f:	72 e0                	jb     0x180045901
180045921:	48 8b 1b             	mov    (%rbx),%rbx
180045924:	48 3b de             	cmp    %rsi,%rbx
180045927:	75 cb                	jne    0x1800458f4
180045929:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18004592e:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp