18008658f:	44 2b c1             	sub    %ecx,%r8d
180086592:	33 d2                	xor    %edx,%edx
180086594:	48 03 cf             	add    %rdi,%rcx
180086597:	e8 e4 f6 0a 00       	call   0x180135c80
18008659c:	41 81 3e 68 65 61 64 	cmpl   $0x64616568,(%r14)
1800865a3:	75 26                	jne    0x1800865cb
1800865a5:	41 83 7e 0c 0c       	cmpl   $0xc,0xc(%r14)
1800865aa:	72 1f                	jb     0x1800865cb
1800865ac:	b8 ba af b0 b1       	mov    $0xb1b0afba,%eax
1800865b1:	2b 44 24 34          	sub    0x34(%rsp),%eax
1800865b5:	0f c8                	bswap  %eax
1800865b7:	89 44 24 34          	mov    %eax,0x34(%rsp)
1800865bb:	3b 47 08             	cmp    0x8(%rdi),%eax
1800865be:	0f 85 14 03 00 00    	jne    0x1800868d8
1800865c4:	33 db                	xor    %ebx,%ebx
1800865c6:	89 5f 08             	mov    %ebx,0x8(%rdi)
1800865c9:	eb 02                	jmp    0x1800865cd
1800865cb:	33 db                	xor    %ebx,%ebx
1800865cd:	41 8b d7             	mov    %r15d,%edx
1800865d0:	48 8b cf             	mov    %rdi,%rcx
1800865d3:	e8 bc f8 ff ff       	call   0x180085e94
1800865d8:	41 3b 46 04          	cmp    0x4(%r14),%eax
1800865dc:	0f 85 f6 02 00 00    	jne    0x1800868d8
1800865e2:	41 8b 06             	mov    (%r14),%eax
1800865e5:	3d 68 65 61 64       	cmp    $0x64616568,%eax
1800865ea:	75 3b                	jne    0x180086627
1800865ec:	41 83 7e 0c 0c       	cmpl   $0xc,0xc(%r14)
1800865f1:	72 3b                	jb     0x18008662e
1800865f3:	41 b8 00 ff 00 00    	mov    $0xff00,%r8d
1800865f9:	ba ba af b0 b1       	mov    $0xb1b0afba,%edx
1800865fe:	2b 55 83             	sub    -0x7d(%rbp),%edx
180086601:	89 57 08             	mov    %edx,0x8(%rdi)
180086604:	8b ca                	mov    %edx,%ecx
180086606:	c1 e1 10             	shl    $0x10,%ecx
180086609:	8b c2                	mov    %edx,%eax
18008660b:	41 23 c0             	and    %r8d,%eax
18008660e:	c1 ea 08             	shr    $0x8,%edx
180086611:	0b c8                	or     %eax,%ecx
180086613:	41 23 d0             	and    %r8d,%edx
180086616:	0f b6 47 0b          	movzbl 0xb(%rdi),%eax
18008661a:	c1 e1 08             	shl    $0x8,%ecx
18008661d:	0b ca                	or     %edx,%ecx
18008661f:	0b c8                	or     %eax,%ecx
180086621:	89 4f 08             	mov    %ecx,0x8(%rdi)
180086624:	41 8b 06             	mov    (%r14),%eax
180086627:	3d 44 53 49 47       	cmp    $0x47495344,%eax
18008662c:	74 27                	je     0x180086655
18008662e:	48 8b 45 6f          	mov    0x6f(%rbp),%rax
180086632:	39 58 08             	cmp    %ebx,0x8(%rax)
180086635:	0f 85 45 fd ff ff    	jne    0x180086380
18008663b:	48 8b 5d a7          	mov    -0x59(%rbp),%rbx
18008663f:	45 8b c7             	mov    %r15d,%r8d
180086642:	48 8b cb             	mov    %rbx,%rcx
180086645:	48 8b d7             	mov    %rdi,%rdx
180086648:	e8 ef a1 f9 ff       	call   0x18002083c
18008664d:	45 33 db             	xor    %r11d,%r11d
180086650:	e9 03 02 00 00       	jmp    0x180086858
180086655:	41 83 7e 0c 14       	cmpl   $0x14,0xc(%r14)
18008665a:	0f 82 78 02 00 00    	jb     0x1800868d8
180086660:	8b 0f                	mov    (%rdi),%ecx
180086662:	41 bf 00 ff 00 00    	mov    $0xff00,%r15d
180086668:	8b d1                	mov    %ecx,%edx
18008666a:	8b c1                	mov    %ecx,%eax
18008666c:	41 23 c7             	and    %r15d,%eax
18008666f:	c1 e9 08             	shr    $0x8,%ecx
180086672:	41 23 cf             	and    %r15d,%ecx
180086675:	c1 e2 10             	shl    $0x10,%edx
180086678:	0b d0                	or     %eax,%edx
18008667a:	bb 01 00 00 00       	mov    $0x1,%ebx
18008667f:	0f b6 47 03          	movzbl 0x3(%rdi),%eax
180086683:	c1 e2 08             	shl    $0x8,%edx
180086686:	0b d1                	or     %ecx,%edx
180086688:	0f b6 4f 05          	movzbl 0x5(%rdi),%ecx
18008668c:	0b d0                	or     %eax,%edx
18008668e:	0f b7 47 04          	movzwl 0x4(%rdi),%eax
180086692:	66 c1 e0 08          	shl    $0x8,%ax
180086696:	66 0b c8             	or     %ax,%cx
180086699:	89 17                	mov    %edx,(%rdi)
18008669b:	0f b7 47 06          	movzwl 0x6(%rdi),%eax
18008669f:	44 0f b7 c1          	movzwl %cx,%r8d
1800866a3:	66 89 4f 04          	mov    %cx,0x4(%rdi)
1800866a7:	0f b6 4f 07          	movzbl 0x7(%rdi),%ecx
1800866ab:	66 c1 e0 08          	shl    $0x8,%ax
1800866af:	66 0b c8             	or     %ax,%cx
1800866b2:	66 89 4f 06          	mov    %cx,0x6(%rdi)
1800866b6:	3b d3                	cmp    %ebx,%edx
1800866b8:	0f 85 1a 02 00 00    	jne    0x1800868d8
1800866be:	41 8b 46 0c          	mov    0xc(%r14),%eax
1800866c2:	4b 8d 0c 40          	lea    (%r8,%r8,2),%rcx
1800866c6:	48 8d 0c 8d 08 00 00 	lea    0x8(,%rcx,4),%rcx
1800866cd:	00
1800866ce:	48 3b c8             	cmp    %rax,%rcx
1800866d1:	0f 87 01 02 00 00    	ja     0x1800868d8
1800866d7:	45 33 db             	xor    %r11d,%r11d
1800866da:	45 8b cb             	mov    %r11d,%r9d
1800866dd:	66 45 3b d8          	cmp    %r8w,%r11w
1800866e1:	0f 83 21 01 00 00    	jae    0x180086808
1800866e7:	41 8b c1             	mov    %r9d,%eax
1800866ea:	4c 8d 14 40          	lea    (%rax,%rax,2),%r10
1800866ee:	42 8b 4c 97 08       	mov    0x8(%rdi,%r10,4),%ecx
1800866f3:	8b d1                	mov    %ecx,%edx
1800866f5:	c1 e2 10             	shl    $0x10,%edx
1800866f8:	8b c1                	mov    %ecx,%eax
1800866fa:	41 23 c7             	and    %r15d,%eax
1800866fd:	c1 e9 08             	shr    $0x8,%ecx
180086700:	0b d0                	or     %eax,%edx
180086702:	41 23 cf             	and    %r15d,%ecx
180086705:	42 0f b6 44 97 0b    	movzbl 0xb(%rdi,%r10,4),%eax
18008670b:	c1 e2 08             	shl    $0x8,%edx
18008670e:	0b d1                	or     %ecx,%edx
180086710:	42 8b 4c 97 0c       	mov    0xc(%rdi,%r10,4),%ecx
180086715:	0b d0                	or     %eax,%edx
180086717:	8b c1                	mov    %ecx,%eax
180086719:	41 23 c7             	and    %r15d,%eax
18008671c:	42 89 54 97 08       	mov    %edx,0x8(%rdi,%r10,4)
180086721:	8b d1                	mov    %ecx,%edx
180086723:	c1 e9 08             	shr    $0x8,%ecx
180086726:	c1 e2 10             	shl    $0x10,%edx
180086729:	41 23 cf             	and    %r15d,%ecx
18008672c:	0b d0                	or     %eax,%edx
18008672e:	42 0f b6 44 97 0f    	movzbl 0xf(%rdi,%r10,4),%eax
180086734:	c1 e2 08             	shl    $0x8,%edx
180086737:	0b d1                	or     %ecx,%edx
180086739:	42 8b 4c 97 10       	mov    0x10(%rdi,%r10,4),%ecx
18008673e:	0b d0                	or     %eax,%edx
180086740:	44 8b c1             	mov    %ecx,%r8d
180086743:	41 c1 e0 10          	shl    $0x10,%r8d
180086747:	8b c1                	mov    %ecx,%eax
180086749:	41 23 c7             	and    %r15d,%eax
18008674c:	c1 e9 08             	shr    $0x8,%ecx
18008674f:	44 0b c0             	or     %eax,%r8d
180086752:	42 89 54 97 0c       	mov    %edx,0xc(%rdi,%r10,4)
180086757:	42 0f b6 44 97 13    	movzbl 0x13(%rdi,%r10,4),%eax
18008675d:	41 23 cf             	and    %r15d,%ecx
180086760:	41 c1 e0 08          	shl    $0x8,%r8d
180086764:	44 0b c1             	or     %ecx,%r8d
180086767:	44 0b c0             	or     %eax,%r8d
18008676a:	46 89 44 97 10       	mov    %r8d,0x10(%rdi,%r10,4)
18008676f:	41 8d 04 10          	lea    (%r8,%rdx,1),%eax
180086773:	41 3b c0             	cmp    %r8d,%eax
180086776:	0f 86 5c 01 00 00    	jbe    0x1800868d8
18008677c:	41 3b 46 0c          	cmp    0xc(%r14),%eax
180086780:	0f 87 52 01 00 00    	ja     0x1800868d8
180086786:	83 fa 08             	cmp    $0x8,%edx
180086789:	0f 82 49 01 00 00    	jb     0x1800868d8
18008678f:	0f b7 47 04          	movzwl 0x4(%rdi),%eax
180086793:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
180086797:	48 8d 0c 8d 08 00 00 	lea    0x8(,%rcx,4),%rcx
18008679e:	00
18008679f:	4c 3b c1             	cmp    %rcx,%r8
1800867a2:	0f 82 30 01 00 00    	jb     0x1800868d8
1800867a8:	41 8b 4c 38 04       	mov    0x4(%r8,%rdi,1),%ecx
1800867ad:	8b d1                	mov    %ecx,%edx
1800867af:	c1 e2 10             	shl    $0x10,%edx
1800867b2:	8b c1                	mov    %ecx,%eax
1800867b4:	41 23 c7             	and    %r15d,%eax
1800867b7:	c1 e9 08             	shr    $0x8,%ecx
1800867ba:	0b d0                	or     %eax,%edx
1800867bc:	41 23 cf             	and    %r15d,%ecx
1800867bf:	41 0f b6 44 38 07    	movzbl 0x7(%r8,%rdi,1),%eax
1800867c5:	c1 e2 08             	shl    $0x8,%edx
1800867c8:	0b d1                	or     %ecx,%edx
1800867ca:	0b d0                	or     %eax,%edx
1800867cc:	41 89 54 38 04       	mov    %edx,0x4(%r8,%rdi,1)
1800867d1:	66 45 3b 1c 38       	cmp    (%r8,%rdi,1),%r11w
1800867d6:	0f 85 fc 00 00 00    	jne    0x1800868d8
1800867dc:	66 45 3b 5c 38 02    	cmp    0x2(%r8,%rdi,1),%r11w
1800867e2:	0f 85 f0 00 00 00    	jne    0x1800868d8
1800867e8:	42 8b 44 97 0c       	mov    0xc(%rdi,%r10,4),%eax
1800867ed:	83 e8 08             	sub    $0x8,%eax
1800867f0:	3b c2                	cmp    %edx,%eax
1800867f2:	0f 82 e0 00 00 00    	jb     0x1800868d8
1800867f8:	0f b7 47 04          	movzwl 0x4(%rdi),%eax
1800867fc:	44 03 cb             	add    %ebx,%r9d
1800867ff:	44 3b c8             	cmp    %eax,%r9d
180086802:	0f 82 df fe ff ff    	jb     0x1800866e7
180086808:	0f b7 47 06          	movzwl 0x6(%rdi),%eax
18008680c:	66 89 44 24 30       	mov    %ax,0x30(%rsp)
180086811:	66 44 3b 5f 04       	cmp    0x4(%rdi),%r11w
180086816:	74 3c                	je     0x180086854
180086818:	8b 5f 10             	mov    0x10(%rdi),%ebx
18008681b:	48 03 df             	add    %rdi,%rbx
18008681e:	8b 4b 04             	mov    0x4(%rbx),%ecx
180086821:	e8 2a 36 01 00       	call   0x180099e50
180086826:	4c 8b e0             	mov    %rax,%r12
180086829:	48 85 c0             	test   %rax,%rax
18008682c:	0f 84 92 fc ff ff    	je     0x1800864c4
180086832:	44 8b 43 04          	mov    0x4(%rbx),%r8d
180086836:	48 8d 53 08          	lea    0x8(%rbx),%rdx
18008683a:	48 8b c8             	mov    %rax,%rcx
18008683d:	e8 7e f1 0a 00       	call   0x1801359c0
180086842:	44 8b 7b 04          	mov    0x4(%rbx),%r15d
180086846:	45 33 db             	xor    %r11d,%r11d
180086849:	48 8b 5d a7          	mov    -0x59(%rbp),%rbx
18008684d:	44 89 7c 24 38       	mov    %r15d,0x38(%rsp)
180086852:	eb 09                	jmp    0x18008685d
180086854:	48 8b 5d a7          	mov    -0x59(%rbp),%rbx
180086858:	44 8b 7c 24 38       	mov    0x38(%rsp),%r15d
18008685d:	0f b7 4e 04          	movzwl 0x4(%rsi),%ecx
180086861:	41 ff c5             	inc    %r13d
180086864:	44 3b e9             	cmp    %ecx,%r13d
180086867:	73 08                	jae    0x180086871
180086869:	4d 8b ce             	mov    %r14,%r9
18008686c:	e9 8b fc ff ff       	jmp    0x1800864fc
180086871:	41 8b 46 0c          	mov    0xc(%r14),%eax
180086875:	41 03 46 08          	add    0x8(%r14),%eax
180086879:	48 39 45 f7          	cmp    %rax,-0x9(%rbp)
18008687d:	75 59                	jne    0x1800868d8
18008687f:	41 81 3e 44 53 49 47 	cmpl   $0x47495344,(%r14)
180086886:	75 50                	jne    0x1800868d8
180086888:	48 8b 45 6f          	mov    0x6f(%rbp),%rax
18008688c:	66 c1 44 24 30 08    	rolw   $0x8,0x30(%rsp)
180086892:	44 39 58 08          	cmp    %r11d,0x8(%rax)
180086896:	0f 85 e4 fa ff ff    	jne    0x180086380
18008689c:	41 b8 02 00 00 00    	mov    $0x2,%r8d
1800868a2:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
1800868a7:	48 8b cb             	mov    %rbx,%rcx
1800868aa:	e8 8d 9f f9 ff       	call   0x18002083c
1800868af:	8b 4d 67             	mov    0x67(%rbp),%ecx
1800868b2:	48 8d 55 f7          	lea    -0x9(%rbp),%rdx
1800868b6:	e8 ad 24 fe ff       	call   0x180068d68
1800868bb:	33 c9                	xor    %ecx,%ecx
1800868bd:	8b d8                	mov    %eax,%ebx
1800868bf:	85 c0                	test   %eax,%eax
1800868c1:	78 1a                	js     0x1800868dd
1800868c3:	48 8b 45 77          	mov    0x77(%rbp),%rax
1800868c7:	8b d9                	mov    %ecx,%ebx
1800868c9:	4c 89 20             	mov    %r12,(%rax)
1800868cc:	44 8b e1             	mov    %ecx,%r12d
1800868cf:	48 8b 45 7f          	mov    0x7f(%rbp),%rax
1800868d3:	44 89 38             	mov    %r15d,(%rax)
1800868d6:	eb 05                	jmp    0x1800868dd
1800868d8:	bb c4 02 00 c0       	mov    $0xc00002c4,%ebx
1800868dd:	48 8b ce             	mov    %rsi,%rcx
1800868e0:	e8 17 37 01 00       	call   0x180099ffc
1800868e5:	4d 85 e4             	test   %r12,%r12
1800868e8:	74 08                	je     0x1800868f2
1800868ea:	49 8b cc             	mov    %r12,%rcx
1800868ed:	e8 0a 37 01 00       	call   0x180099ffc
1800868f2:	48 85 ff             	test   %rdi,%rdi
1800868f5:	74 08                	je     0x1800868ff
1800868f7:	48 8b cf             	mov    %rdi,%rcx
1800868fa:	e8 fd 36 01 00       	call   0x180099ffc
1800868ff:	8b c3                	mov    %ebx,%eax
180086901:	48 81 c4 d8 00 00 00 	add    $0xd8,%rsp
180086908:	41 5f                	pop    %r15
18008690a:	41 5e                	pop    %r14
18008690c:	41 5d                	pop    %r13
18008690e:	41 5c                	pop    %r12
180086910:	5f                   	pop    %rdi
180086911:	5e                   	pop    %rsi
180086912:	5b                   	pop    %rbx
180086913:	5d                   	pop    %rbp
180086914:	c3                   	ret
180086915:	cc                   	int3
180086916:	cc                   	int3
180086917:	cc                   	int3
180086918:	40 55                	rex push %rbp
18008691a:	53                   	push   %rbx
18008691b:	56                   	push   %rsi
18008691c:	57                   	push   %rdi
18008691d:	41 56                	push   %r14
18008691f:	48 8d 6c 24 c9       	lea    -0x37(%rsp),%rbp
180086924:	48 81 ec 90 00 00 00 	sub    $0x90,%rsp
18008692b:	8b f9                	mov    %ecx,%edi
18008692d:	4c 8d 45 77          	lea    0x77(%rbp),%r8
180086931:	45 33 f6             	xor    %r14d,%r14d
180086934:	48 8d 55 07          	lea    0x7(%rbp),%rdx
180086938:	b9 0c 80 00 00       	mov    $0x800c,%ecx
18008693d:	4c 89 75 7f          	mov    %r14,0x7f(%rbp)
180086941:	4c 89 75 07          	mov    %r14,0x7(%rbp)
180086945:	e8 66 09 01 00       	call   0x1800972b0
18008694a:	8b d8                	mov    %eax,%ebx
18008694c:	85 c0                	test   %eax,%eax
18008694e:	0f 88 d2 00 00 00    	js     0x180086a26
180086954:	48 8b 75 07          	mov    0x7(%rbp),%rsi
180086958:	4c 8d 4d 6f          	lea    0x6f(%rbp),%r9
18008695c:	48 8b d6             	mov    %rsi,%rdx
18008695f:	4c 8d 45 7f          	lea    0x7f(%rbp),%r8
180086963:	8b cf                	mov    %edi,%ecx
180086965:	e8 62 f5 ff ff       	call   0x180085ecc
18008696a:	8b d8                	mov    %eax,%ebx
18008696c:	85 c0                	test   %eax,%eax
18008696e:	0f 88 b2 00 00 00    	js     0x180086a26
180086974:	44 39 75 6f          	cmp    %r14d,0x6f(%rbp)
180086978:	75 0a                	jne    0x180086984
18008697a:	bb c4 02 00 c0       	mov    $0xc00002c4,%ebx
18008697f:	e9 a2 00 00 00       	jmp    0x180086a26
180086984:	8b 4d 77             	mov    0x77(%rbp),%ecx
180086987:	e8 c4 34 01 00       	call   0x180099e50
18008698c:	48 8b f8             	mov    %rax,%rdi
18008698f:	48 85 c0             	test   %rax,%rax
180086992:	75 0a                	jne    0x18008699e
180086994:	bb 17 00 00 c0       	mov    $0xc0000017,%ebx
180086999:	e9 88 00 00 00       	jmp    0x180086a26
18008699e:	44 39 76 08          	cmp    %r14d,0x8(%rsi)
1800869a2:	74 07                	je     0x1800869ab
1800869a4:	bb 02 00 00 c0       	mov    $0xc0000002,%ebx
1800869a9:	eb 73                	jmp    0x180086a1e
1800869ab:	48 8d 4e 10          	lea    0x10(%rsi),%rcx
1800869af:	48 8b d7             	mov    %rdi,%rdx
1800869b2:	e8 05 9f f9 ff       	call   0x1800208bc
1800869b7:	48 8b 45 7f          	mov    0x7f(%rbp),%rax
1800869bb:	4c 8d 4d 0f          	lea    0xf(%rbp),%r9
1800869bf:	4c 89 74 24 50       	mov    %r14,0x50(%rsp)
1800869c4:	48 8d 0d d1 0e 0c 00 	lea    0xc0ed1(%rip),%rcx        # 0x18014789c
1800869cb:	4c 89 74 24 48       	mov    %r14,0x48(%rsp)
1800869d0:	0f 57 c0             	xorps  %xmm0,%xmm0
1800869d3:	4c 89 74 24 40       	mov    %r14,0x40(%rsp)
1800869d8:	45 33 c0             	xor    %r8d,%r8d
1800869db:	c7 44 24 38 01 00 00 	movl   $0x1,0x38(%rsp)
1800869e2:	00
1800869e3:	33 d2                	xor    %edx,%edx
1800869e5:	c7 44 24 30 65 01 00 	movl   $0x165,0x30(%rsp)
1800869ec:	00
1800869ed:	48 89 45 0f          	mov    %rax,0xf(%rbp)
1800869f1:	8b 45 6f             	mov    0x6f(%rbp),%eax
1800869f4:	48 89 7c 24 28       	mov    %rdi,0x28(%rsp)
1800869f9:	c7 44 24 20 0c 80 00 	movl   $0x800c,0x20(%rsp)
180086a00:	00
180086a01:	f3 0f 7f 45 1b       	movdqu %xmm0,0x1b(%rbp)
180086a06:	4c 89 75 2b          	mov    %r14,0x2b(%rbp)
180086a0a:	44 89 75 33          	mov    %r14d,0x33(%rbp)
180086a0e:	89 45 17             	mov    %eax,0x17(%rbp)
180086a11:	e8 c2 c4 ff ff       	call   0x180082ed8
180086a16:	85 c0                	test   %eax,%eax
180086a18:	8b d8                	mov    %eax,%ebx
180086a1a:	41 0f 49 de          	cmovns %r14d,%ebx
180086a1e:	48 8b cf             	mov    %rdi,%rcx
180086a21:	e8 d6 35 01 00       	call   0x180099ffc
180086a26:	48 8b 4d 7f          	mov    0x7f(%rbp),%rcx
180086a2a:	48 85 c9             	test   %rcx,%rcx
180086a2d:	74 05                	je     0x180086a34
180086a2f:	e8 c8 35 01 00       	call   0x180099ffc
180086a34:	8b c3                	mov    %ebx,%eax
180086a36:	48 81 c4 90 00 00 00 	add    $0x90,%rsp
180086a3d:	41 5e                	pop    %r14
180086a3f:	5f                   	pop    %rdi
180086a40:	5e                   	pop    %rsi
180086a41:	5b                   	pop    %rbx
180086a42:	5d                   	pop    %rbp
180086a43:	c3                   	ret
180086a44:	cc                   	int3
180086a45:	cc                   	int3
180086a46:	cc                   	int3
180086a47:	cc                   	int3
180086a48:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180086a4d:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
180086a52:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
180086a57:	57                   	push   %rdi