180048539:	e8 9e b3 ff ff       	call   0x1800438dc
18004853e:	48 8b f8             	mov    %rax,%rdi
180048541:	48 85 c0             	test   %rax,%rax
180048544:	75 16                	jne    0x18004855c
180048546:	8b d6                	mov    %esi,%edx
180048548:	48 8b cb             	mov    %rbx,%rcx
18004854b:	e8 dc fc ff ff       	call   0x18004822c
180048550:	eb 4f                	jmp    0x1800485a1
180048552:	bd 16 00 e7 c0       	mov    $0xc0e70016,%ebp
180048557:	e9 c6 00 00 00       	jmp    0x180048622
18004855c:	0f b7 40 14          	movzwl 0x14(%rax),%eax
180048560:	66 39 47 16          	cmp    %ax,0x16(%rdi)
180048564:	74 31                	je     0x180048597
180048566:	8b 57 18             	mov    0x18(%rdi),%edx
180048569:	45 33 c0             	xor    %r8d,%r8d
18004856c:	49 8b cc             	mov    %r12,%rcx
18004856f:	e8 ac b3 ff ff       	call   0x180043920
180048574:	48 8b 0f             	mov    (%rdi),%rcx
180048577:	48 39 79 08          	cmp    %rdi,0x8(%rcx)
18004857b:	75 2f                	jne    0x1800485ac
18004857d:	48 8b 47 08          	mov    0x8(%rdi),%rax
180048581:	48 39 38             	cmp    %rdi,(%rax)
180048584:	75 26                	jne    0x1800485ac
180048586:	48 89 08             	mov    %rcx,(%rax)
180048589:	48 89 41 08          	mov    %rax,0x8(%rcx)
18004858d:	48 8b cf             	mov    %rdi,%rcx
180048590:	e8 c7 e3 ff ff       	call   0x18004695c
180048595:	eb af                	jmp    0x180048546
180048597:	ff 8b 98 00 00 00    	decl   0x98(%rbx)
18004859d:	44 8d 76 01          	lea    0x1(%rsi),%r14d
1800485a1:	41 03 f5             	add    %r13d,%esi
1800485a4:	3b 73 48             	cmp    0x48(%rbx),%esi
1800485a7:	e9 6c ff ff ff       	jmp    0x180048518
1800485ac:	b9 03 00 00 00       	mov    $0x3,%ecx
1800485b1:	cd 29                	int    $0x29
1800485b3:	48 8d bb c8 00 00 00 	lea    0xc8(%rbx),%rdi
1800485ba:	44 89 73 4c          	mov    %r14d,0x4c(%rbx)
1800485be:	48 8b cf             	mov    %rdi,%rcx
1800485c1:	48 8d 54 24 70       	lea    0x70(%rsp),%rdx
1800485c6:	e8 39 b5 ff ff       	call   0x180043b04
1800485cb:	eb 22                	jmp    0x1800485ef
1800485cd:	0f b7 48 12          	movzwl 0x12(%rax),%ecx
1800485d1:	f6 c1 03             	test   $0x3,%cl
1800485d4:	74 0c                	je     0x1800485e2
1800485d6:	ba fc ff 00 00       	mov    $0xfffc,%edx
1800485db:	66 23 ca             	and    %dx,%cx
1800485de:	66 89 48 12          	mov    %cx,0x12(%rax)
1800485e2:	48 8d 54 24 70       	lea    0x70(%rsp),%rdx
1800485e7:	48 8b cf             	mov    %rdi,%rcx
1800485ea:	e8 1d b6 ff ff       	call   0x180043c0c
1800485ef:	48 85 c0             	test   %rax,%rax
1800485f2:	75 d9                	jne    0x1800485cd
1800485f4:	0f b7 43 28          	movzwl 0x28(%rbx),%eax
1800485f8:	66 41 3b c5          	cmp    %r13w,%ax
1800485fc:	74 24                	je     0x180048622
1800485fe:	8b c8                	mov    %eax,%ecx
180048600:	83 e9 02             	sub    $0x2,%ecx
180048603:	74 0a                	je     0x18004860f
180048605:	41 2b cd             	sub    %r13d,%ecx
180048608:	74 4b                	je     0x180048655
18004860a:	41 3b cd             	cmp    %r13d,%ecx
18004860d:	75 08                	jne    0x180048617
18004860f:	48 8b 43 30          	mov    0x30(%rbx),%rax
180048613:	48 89 43 38          	mov    %rax,0x38(%rbx)
180048617:	8b 43 4c             	mov    0x4c(%rbx),%eax
18004861a:	89 43 48             	mov    %eax,0x48(%rbx)
18004861d:	66 44 89 6b 28       	mov    %r13w,0x28(%rbx)
180048622:	41 83 3f 03          	cmpl   $0x3,(%r15)
180048626:	75 09                	jne    0x180048631
180048628:	49 8b 4f 08          	mov    0x8(%r15),%rcx
18004862c:	e8 2b e3 ff ff       	call   0x18004695c
180048631:	41 83 27 00          	andl   $0x0,(%r15)
180048635:	8b c5                	mov    %ebp,%eax
180048637:	49 83 67 08 00       	andq   $0x0,0x8(%r15)
18004863c:	48 8b 9c 24 80 00 00 	mov    0x80(%rsp),%rbx
180048643:	00
180048644:	48 83 c4 30          	add    $0x30,%rsp
180048648:	41 5f                	pop    %r15
18004864a:	41 5e                	pop    %r14
18004864c:	41 5d                	pop    %r13
18004864e:	41 5c                	pop    %r12
180048650:	5f                   	pop    %rdi
180048651:	5e                   	pop    %rsi
180048652:	5d                   	pop    %rbp
180048653:	c3                   	ret
180048654:	cc                   	int3
180048655:	48 8b 43 38          	mov    0x38(%rbx),%rax
180048659:	48 89 43 30          	mov    %rax,0x30(%rbx)
18004865d:	eb b8                	jmp    0x180048617
18004865f:	cc                   	int3
180048660:	40 53                	rex push %rbx
180048662:	48 83 ec 20          	sub    $0x20,%rsp
180048666:	33 d2                	xor    %edx,%edx
180048668:	48 8b d9             	mov    %rcx,%rbx
18004866b:	e8 28 00 00 00       	call   0x180048698
180048670:	48 8b 8b b0 00 00 00 	mov    0xb0(%rbx),%rcx
180048677:	48 85 c9             	test   %rcx,%rcx
18004867a:	74 14                	je     0x180048690
18004867c:	e8 db e2 ff ff       	call   0x18004695c
180048681:	48 83 a3 b0 00 00 00 	andq   $0x0,0xb0(%rbx)
180048688:	00
180048689:	83 a3 a8 00 00 00 00 	andl   $0x0,0xa8(%rbx)
180048690:	48 83 c4 20          	add    $0x20,%rsp
180048694:	5b                   	pop    %rbx
180048695:	c3                   	ret
180048696:	cc                   	int3
180048697:	cc                   	int3
180048698:	48 8b c4             	mov    %rsp,%rax
18004869b:	48 89 58 10          	mov    %rbx,0x10(%rax)
18004869f:	48 89 68 18          	mov    %rbp,0x18(%rax)
1800486a3:	48 89 70 20          	mov    %rsi,0x20(%rax)
1800486a7:	57                   	push   %rdi
1800486a8:	41 56                	push   %r14
1800486aa:	41 57                	push   %r15
1800486ac:	48 83 ec 20          	sub    $0x20,%rsp
1800486b0:	48 83 60 08 00       	andq   $0x0,0x8(%rax)
1800486b5:	48 8d a9 c8 00 00 00 	lea    0xc8(%rcx),%rbp
1800486bc:	44 8a fa             	mov    %dl,%r15b
1800486bf:	4c 8b f1             	mov    %rcx,%r14
1800486c2:	48 8b cd             	mov    %rbp,%rcx
1800486c5:	48 8d 50 08          	lea    0x8(%rax),%rdx
1800486c9:	e8 36 b4 ff ff       	call   0x180043b04
1800486ce:	eb 32                	jmp    0x180048702
1800486d0:	0f b7 47 12          	movzwl 0x12(%rdi),%eax
1800486d4:	45 84 ff             	test   %r15b,%r15b
1800486d7:	74 4b                	je     0x180048724
1800486d9:	a8 01                	test   $0x1,%al
1800486db:	75 4b                	jne    0x180048728
1800486dd:	48 8b 54 24 40       	mov    0x40(%rsp),%rdx
1800486e2:	45 33 c0             	xor    %r8d,%r8d
1800486e5:	48 8b cd             	mov    %rbp,%rcx
1800486e8:	e8 33 b2 ff ff       	call   0x180043920
1800486ed:	48 8b cf             	mov    %rdi,%rcx
1800486f0:	e8 67 e2 ff ff       	call   0x18004695c
1800486f5:	48 8d 54 24 40       	lea    0x40(%rsp),%rdx
1800486fa:	48 8b cd             	mov    %rbp,%rcx
1800486fd:	e8 0a b5 ff ff       	call   0x180043c0c
180048702:	48 8b f8             	mov    %rax,%rdi
180048705:	48 85 c0             	test   %rax,%rax
180048708:	75 c6                	jne    0x1800486d0
18004870a:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
18004870f:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
180048714:	48 8b 74 24 58       	mov    0x58(%rsp),%rsi
180048719:	48 83 c4 20          	add    $0x20,%rsp
18004871d:	41 5f                	pop    %r15
18004871f:	41 5e                	pop    %r14
180048721:	5f                   	pop    %rdi
180048722:	c3                   	ret
180048723:	cc                   	int3
180048724:	a8 02                	test   $0x2,%al
180048726:	74 b5                	je     0x1800486dd
180048728:	8b 77 18             	mov    0x18(%rdi),%esi
18004872b:	83 fe ff             	cmp    $0xffffffff,%esi
18004872e:	74 34                	je     0x180048764
180048730:	8b d6                	mov    %esi,%edx
180048732:	49 8b ce             	mov    %r14,%rcx
180048735:	e8 d6 f9 ff ff       	call   0x180048110
18004873a:	8b d6                	mov    %esi,%edx
18004873c:	49 8b ce             	mov    %r14,%rcx
18004873f:	8b 58 04             	mov    0x4(%rax),%ebx
180048742:	e8 e5 fa ff ff       	call   0x18004822c
180048747:	41 8b 86 94 00 00 00 	mov    0x94(%r14),%eax
18004874e:	3b c6                	cmp    %esi,%eax
180048750:	0f 43 c6             	cmovae %esi,%eax
180048753:	8b f3                	mov    %ebx,%esi
180048755:	41 89 86 94 00 00 00 	mov    %eax,0x94(%r14)
18004875c:	83 fb ff             	cmp    $0xffffffff,%ebx
18004875f:	75 cf                	jne    0x180048730
180048761:	8b 77 18             	mov    0x18(%rdi),%esi
180048764:	8b d6                	mov    %esi,%edx
180048766:	e9 77 ff ff ff       	jmp    0x1800486e2
18004876b:	cc                   	int3
18004876c:	48 8b c4             	mov    %rsp,%rax
18004876f:	48 89 58 10          	mov    %rbx,0x10(%rax)
180048773:	48 89 68 18          	mov    %rbp,0x18(%rax)
180048777:	48 89 70 20          	mov    %rsi,0x20(%rax)
18004877b:	57                   	push   %rdi
18004877c:	41 54                	push   %r12
18004877e:	41 55                	push   %r13
180048780:	41 56                	push   %r14
180048782:	41 57                	push   %r15
180048784:	48 83 ec 20          	sub    $0x20,%rsp
180048788:	44 0f b7 52 04       	movzwl 0x4(%rdx),%r10d
18004878d:	4d 8b e0             	mov    %r8,%r12
180048790:	4c 8b ea             	mov    %rdx,%r13
180048793:	45 33 f6             	xor    %r14d,%r14d
180048796:	44 89 70 08          	mov    %r14d,0x8(%rax)
18004879a:	48 8b d9             	mov    %rcx,%rbx
18004879d:	0f b7 41 1c          	movzwl 0x1c(%rcx),%eax
1800487a1:	8b 89 98 00 00 00    	mov    0x98(%rcx),%ecx
1800487a7:	66 83 e8 10          	sub    $0x10,%ax
1800487ab:	44 0f b7 c8          	movzwl %ax,%r9d
1800487af:	41 8d 42 08          	lea    0x8(%r10),%eax
1800487b3:	2b 8b 9c 00 00 00    	sub    0x9c(%rbx),%ecx
1800487b9:	44 0f b7 c0          	movzwl %ax,%r8d
1800487bd:	41 ff c8             	dec    %r8d
1800487c0:	45 03 c1             	add    %r9d,%r8d
1800487c3:	41 8b c0             	mov    %r8d,%eax
1800487c6:	99                   	cltd
1800487c7:	41 f7 f9             	idiv   %r9d
1800487ca:	44 2b c2             	sub    %edx,%r8d
1800487cd:	41 8b c0             	mov    %r8d,%eax
1800487d0:	99                   	cltd
1800487d1:	41 f7 f9             	idiv   %r9d
1800487d4:	0f b7 e8             	movzwl %ax,%ebp
1800487d7:	3b e9                	cmp    %ecx,%ebp
1800487d9:	76 0a                	jbe    0x1800487e5
1800487db:	b8 01 00 38 c0       	mov    $0xc0380001,%eax
1800487e0:	e9 a7 00 00 00       	jmp    0x18004888c
1800487e5:	b8 00 40 00 00       	mov    $0x4000,%eax
1800487ea:	66 44 3b d0          	cmp    %ax,%r10w
1800487ee:	76 0a                	jbe    0x1800487fa
1800487f0:	b8 01 00 00 c0       	mov    $0xc0000001,%eax
1800487f5:	e9 92 00 00 00       	jmp    0x18004888c
1800487fa:	8b bb 94 00 00 00    	mov    0x94(%rbx),%edi
180048800:	85 ff                	test   %edi,%edi
180048802:	75 0c                	jne    0x180048810
180048804:	33 d2                	xor    %edx,%edx
180048806:	b8 00 02 00 00       	mov    $0x200,%eax
18004880b:	f7 73 1c             	divl   0x1c(%rbx)
18004880e:	8b f8                	mov    %eax,%edi
180048810:	33 f6                	xor    %esi,%esi
180048812:	4c 8d 7c 24 50       	lea    0x50(%rsp),%r15
180048817:	85 ed                	test   %ebp,%ebp
180048819:	74 49                	je     0x180048864
18004881b:	8b d7                	mov    %edi,%edx
18004881d:	48 8b cb             	mov    %rbx,%rcx
180048820:	e8 eb f8 ff ff       	call   0x180048110
180048825:	48 85 c0             	test   %rax,%rax
180048828:	75 34                	jne    0x18004885e
18004882a:	8b d7                	mov    %edi,%edx
18004882c:	48 8b cb             	mov    %rbx,%rcx
18004882f:	e8 24 f9 ff ff       	call   0x180048158
180048834:	48 85 c0             	test   %rax,%rax
180048837:	74 71                	je     0x1800488aa
180048839:	41 89 3f             	mov    %edi,(%r15)
18004883c:	8d 4f 01             	lea    0x1(%rdi),%ecx
18004883f:	44 8b 74 24 50       	mov    0x50(%rsp),%r14d
180048844:	4c 8d 78 04          	lea    0x4(%rax),%r15
180048848:	44 89 30             	mov    %r14d,(%rax)
18004884b:	8b 43 4c             	mov    0x4c(%rbx),%eax
18004884e:	3b c1                	cmp    %ecx,%eax
180048850:	89 8b 94 00 00 00    	mov    %ecx,0x94(%rbx)
180048856:	0f 46 c1             	cmovbe %ecx,%eax
180048859:	ff c6                	inc    %esi
18004885b:	89 43 4c             	mov    %eax,0x4c(%rbx)
18004885e:	ff c7                	inc    %edi
180048860:	3b f5                	cmp    %ebp,%esi
180048862:	72 b7                	jb     0x18004881b
180048864:	4d 8b cc             	mov    %r12,%r9
180048867:	4d 8b c5             	mov    %r13,%r8
18004886a:	41 8b d6             	mov    %r14d,%edx
18004886d:	48 8b cb             	mov    %rbx,%rcx
180048870:	e8 bb 00 00 00       	call   0x180048930
180048875:	85 c0                	test   %eax,%eax
180048877:	78 13                	js     0x18004888c
180048879:	49 8b 0c 24          	mov    (%r12),%rcx
18004887d:	ba 02 00 00 00       	mov    $0x2,%edx
180048882:	66 89 51 12          	mov    %dx,0x12(%rcx)
180048886:	01 ab 9c 00 00 00    	add    %ebp,0x9c(%rbx)
18004888c:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
180048891:	48 8b 6c 24 60       	mov    0x60(%rsp),%rbp
180048896:	48 8b 74 24 68       	mov    0x68(%rsp),%rsi
18004889b:	48 83 c4 20          	add    $0x20,%rsp
18004889f:	41 5f                	pop    %r15
1800488a1:	41 5e                	pop    %r14
1800488a3:	41 5d                	pop    %r13
1800488a5:	41 5c                	pop    %r12
1800488a7:	5f                   	pop    %rdi
1800488a8:	c3                   	ret
1800488a9:	cc                   	int3
1800488aa:	b8 9a 00 00 c0       	mov    $0xc000009a,%eax
1800488af:	eb db                	jmp    0x18004888c
1800488b1:	cc                   	int3
1800488b2:	cc                   	int3
1800488b3:	cc                   	int3
1800488b4:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1800488b9:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
1800488be:	57                   	push   %rdi
1800488bf:	48 83 ec 20          	sub    $0x20,%rsp
1800488c3:	49 8b f9             	mov    %r9,%rdi
1800488c6:	49 8b f0             	mov    %r8,%rsi
1800488c9:	48 8b d9             	mov    %rcx,%rbx
1800488cc:	e8 5f 00 00 00       	call   0x180048930
1800488d1:	44 8b d0             	mov    %eax,%r10d
1800488d4:	85 c0                	test   %eax,%eax
1800488d6:	78 44                	js     0x18004891c
1800488d8:	48 8b 17             	mov    (%rdi),%rdx
1800488db:	b8 01 00 00 00       	mov    $0x1,%eax
1800488e0:	66 89 42 12          	mov    %ax,0x12(%rdx)
1800488e4:	0f b7 4e 04          	movzwl 0x4(%rsi),%ecx
1800488e8:	0f b7 53 1c          	movzwl 0x1c(%rbx),%edx
1800488ec:	66 83 c1 08          	add    $0x8,%cx
1800488f0:	66 83 ea 10          	sub    $0x10,%dx
1800488f4:	44 0f b7 c1          	movzwl %cx,%r8d
1800488f8:	44 0f b7 ca          	movzwl %dx,%r9d
1800488fc:	41 ff c8             	dec    %r8d
1800488ff:	45 03 c1             	add    %r9d,%r8d
180048902:	41 8b c0             	mov    %r8d,%eax
180048905:	99                   	cltd
180048906:	41 f7 f9             	idiv   %r9d
180048909:	44 2b c2             	sub    %edx,%r8d
18004890c:	41 8b c0             	mov    %r8d,%eax
18004890f:	99                   	cltd
180048910:	41 f7 f9             	idiv   %r9d
180048913:	0f b7 c8             	movzwl %ax,%ecx
180048916:	01 8b a0 00 00 00    	add    %ecx,0xa0(%rbx)
18004891c:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
180048921:	41 8b c2             	mov    %r10d,%eax
180048924:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
180048929:	48 83 c4 20          	add    $0x20,%rsp
18004892d:	5f                   	pop    %rdi
18004892e:	c3                   	ret
18004892f:	cc                   	int3
180048930:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180048935:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
18004893a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
18004893f:	57                   	push   %rdi
180048940:	41 56                	push   %r14
180048942:	41 57                	push   %r15
180048944:	48 83 ec 20          	sub    $0x20,%rsp
180048948:	45 0f b7 50 04       	movzwl 0x4(%r8),%r10d
18004894d:	45 33 ff             	xor    %r15d,%r15d
180048950:	4c 8b f1             	mov    %rcx,%r14
180048953:	8b ea                	mov    %edx,%ebp
180048955:	b9 ff 3f 00 00       	mov    $0x3fff,%ecx
18004895a:	49 8b f1             	mov    %r9,%rsi
18004895d:	49 8b f8             	mov    %r8,%rdi
180048960:	41 8b df             	mov    %r15d,%ebx
180048963:	41 8d 42 ff          	lea    -0x1(%r10),%eax
180048967:	66 3b c1             	cmp    %cx,%ax
18004896a:	77 5c                	ja     0x1800489c8
18004896c:	49 8d 4a 20          	lea    0x20(%r10),%rcx
180048970:	e8 9f df ff ff       	call   0x180046914
180048975:	48 8b d8             	mov    %rax,%rbx
180048978:	48 85 c0             	test   %rax,%rax
18004897b:	74 0f                	je     0x18004898c
18004897d:	83 48 18 ff          	orl    $0xffffffff,0x18(%rax)
180048981:	44 89 78 10          	mov    %r15d,0x10(%rax)
180048985:	66 44 89 78 14       	mov    %r15w,0x14(%rax)
18004898a:	eb 03                	jmp    0x18004898f
18004898c:	49 8b df             	mov    %r15,%rbx
18004898f:	48 85 db             	test   %rbx,%rbx
180048992:	75 07                	jne    0x18004899b
180048994:	bf 9a 00 00 c0       	mov    $0xc000009a,%edi
180048999:	eb 3f                	jmp    0x1800489da
18004899b:	8b 07                	mov    (%rdi),%eax
18004899d:	49 8d 8e c8 00 00 00 	lea    0xc8(%r14),%rcx
1800489a4:	89 43 10             	mov    %eax,0x10(%rbx)
1800489a7:	48 8b d5             	mov    %rbp,%rdx