14002c50e:	e8 8d ce fd ff       	call   0x1400093a0
14002c513:	4c 8d 9c 24 20 01 00 	lea    0x120(%rsp),%r11
14002c51a:	00
14002c51b:	49 8b 5b 18          	mov    0x18(%r11),%rbx
14002c51f:	49 8b 73 20          	mov    0x20(%r11),%rsi
14002c523:	49 8b e3             	mov    %r11,%rsp
14002c526:	5f                   	pop    %rdi
14002c527:	c3                   	ret
14002c528:	0f b7 11             	movzwl (%rcx),%edx
14002c52b:	4c 8d 41 02          	lea    0x2(%rcx),%r8
14002c52f:	45 33 d2             	xor    %r10d,%r10d
14002c532:	45 8b ca             	mov    %r10d,%r9d
14002c535:	eb 37                	jmp    0x14002c56e
14002c537:	8d 42 9f             	lea    -0x61(%rdx),%eax
14002c53a:	66 83 f8 05          	cmp    $0x5,%ax
14002c53e:	77 07                	ja     0x14002c547
14002c540:	b8 d9 ff 00 00       	mov    $0xffd9,%eax
14002c545:	eb 0e                	jmp    0x14002c555
14002c547:	8d 42 bf             	lea    -0x41(%rdx),%eax
14002c54a:	66 83 f8 05          	cmp    $0x5,%ax
14002c54e:	77 08                	ja     0x14002c558
14002c550:	b8 f9 ff 00 00       	mov    $0xfff9,%eax
14002c555:	66 03 d0             	add    %ax,%dx
14002c558:	41 c1 e1 04          	shl    $0x4,%r9d
14002c55c:	41 83 c1 d0          	add    $0xffffffd0,%r9d
14002c560:	0f b7 ca             	movzwl %dx,%ecx
14002c563:	41 0f b7 10          	movzwl (%r8),%edx
14002c567:	44 03 c9             	add    %ecx,%r9d
14002c56a:	49 83 c0 02          	add    $0x2,%r8
14002c56e:	66 85 d2             	test   %dx,%dx
14002c571:	75 c4                	jne    0x14002c537
14002c573:	41 8b c1             	mov    %r9d,%eax
14002c576:	c3                   	ret
14002c577:	cc                   	int3
14002c578:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
14002c57d:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14002c582:	57                   	push   %rdi
14002c583:	48 83 ec 20          	sub    $0x20,%rsp
14002c587:	33 f6                	xor    %esi,%esi
14002c589:	48 8b fa             	mov    %rdx,%rdi
14002c58c:	48 8b d9             	mov    %rcx,%rbx
14002c58f:	48 85 c9             	test   %rcx,%rcx
14002c592:	74 53                	je     0x14002c5e7
14002c594:	66 39 31             	cmp    %si,(%rcx)
14002c597:	74 4e                	je     0x14002c5e7
14002c599:	48 8d 15 d8 53 01 00 	lea    0x153d8(%rip),%rdx        # 0x140041978
14002c5a0:	e8 bb 53 00 00       	call   0x140031960
14002c5a5:	85 c0                	test   %eax,%eax
14002c5a7:	74 3e                	je     0x14002c5e7
14002c5a9:	48 8d 15 e0 53 01 00 	lea    0x153e0(%rip),%rdx        # 0x140041990
14002c5b0:	48 8b cb             	mov    %rbx,%rcx
14002c5b3:	e8 a8 53 00 00       	call   0x140031960
14002c5b8:	85 c0                	test   %eax,%eax
14002c5ba:	75 21                	jne    0x14002c5dd
14002c5bc:	8b 4f 08             	mov    0x8(%rdi),%ecx
14002c5bf:	44 8d 4e 02          	lea    0x2(%rsi),%r9d
14002c5c3:	4c 8d 44 24 30       	lea    0x30(%rsp),%r8
14002c5c8:	ba 0b 00 00 20       	mov    $0x2000000b,%edx
14002c5cd:	ff 15 5d fb 00 00    	call   *0xfb5d(%rip)        # 0x14003c130
14002c5d3:	85 c0                	test   %eax,%eax
14002c5d5:	74 2d                	je     0x14002c604
14002c5d7:	8b 44 24 30          	mov    0x30(%rsp),%eax
14002c5db:	eb 39                	jmp    0x14002c616
14002c5dd:	48 8b cb             	mov    %rbx,%rcx
14002c5e0:	e8 8b 9a fe ff       	call   0x140016070
14002c5e5:	eb 2f                	jmp    0x14002c616
14002c5e7:	8b 4f 08             	mov    0x8(%rdi),%ecx
14002c5ea:	4c 8d 44 24 30       	lea    0x30(%rsp),%r8
14002c5ef:	41 b9 02 00 00 00    	mov    $0x2,%r9d
14002c5f5:	ba 04 10 00 20       	mov    $0x20001004,%edx
14002c5fa:	ff 15 30 fb 00 00    	call   *0xfb30(%rip)        # 0x14003c130
14002c600:	85 c0                	test   %eax,%eax
14002c602:	75 04                	jne    0x14002c608
14002c604:	33 c0                	xor    %eax,%eax
14002c606:	eb 0e                	jmp    0x14002c616
14002c608:	8b 44 24 30          	mov    0x30(%rsp),%eax
14002c60c:	85 c0                	test   %eax,%eax
14002c60e:	75 06                	jne    0x14002c616
14002c610:	ff 15 c2 fa 00 00    	call   *0xfac2(%rip)        # 0x14003c0d8
14002c616:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
14002c61b:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
14002c620:	48 83 c4 20          	add    $0x20,%rsp
14002c624:	5f                   	pop    %rdi
14002c625:	c3                   	ret
14002c626:	cc                   	int3
14002c627:	cc                   	int3
14002c628:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
14002c62d:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14002c632:	57                   	push   %rdi
14002c633:	48 83 ec 20          	sub    $0x20,%rsp
14002c637:	8b f2                	mov    %edx,%esi
14002c639:	8b d9                	mov    %ecx,%ebx
14002c63b:	e8 68 46 ff ff       	call   0x140020ca8
14002c640:	8b cb                	mov    %ebx,%ecx
14002c642:	4c 8d 44 24 30       	lea    0x30(%rsp),%r8
14002c647:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
14002c64d:	41 b9 02 00 00 00    	mov    $0x2,%r9d
14002c653:	0f ba e9 0a          	bts    $0xa,%ecx
14002c657:	ba 01 00 00 20       	mov    $0x20000001,%edx
14002c65c:	48 8b f8             	mov    %rax,%rdi
14002c65f:	ff 15 cb fa 00 00    	call   *0xfacb(%rip)        # 0x14003c130
14002c665:	33 d2                	xor    %edx,%edx
14002c667:	85 c0                	test   %eax,%eax
14002c669:	74 5e                	je     0x14002c6c9
14002c66b:	3b 5c 24 30          	cmp    0x30(%rsp),%ebx
14002c66f:	74 51                	je     0x14002c6c2
14002c671:	85 f6                	test   %esi,%esi
14002c673:	74 4d                	je     0x14002c6c2
14002c675:	4c 8b 97 98 00 00 00 	mov    0x98(%rdi),%r10
14002c67c:	44 8b ca             	mov    %edx,%r9d
14002c67f:	45 0f b7 02          	movzwl (%r10),%r8d
14002c683:	49 8d 4a 02          	lea    0x2(%r10),%rcx
14002c687:	41 8d 40 bf          	lea    -0x41(%r8),%eax
14002c68b:	66 83 f8 19          	cmp    $0x19,%ax
14002c68f:	76 0c                	jbe    0x14002c69d
14002c691:	66 41 83 e8 61       	sub    $0x61,%r8w
14002c696:	66 41 83 f8 19       	cmp    $0x19,%r8w
14002c69b:	77 0d                	ja     0x14002c6aa
14002c69d:	44 0f b7 01          	movzwl (%rcx),%r8d
14002c6a1:	41 ff c1             	inc    %r9d
14002c6a4:	48 83 c1 02          	add    $0x2,%rcx
14002c6a8:	eb dd                	jmp    0x14002c687
14002c6aa:	48 83 c8 ff          	or     $0xffffffffffffffff,%rax
14002c6ae:	48 ff c0             	inc    %rax
14002c6b1:	66 41 39 14 42       	cmp    %dx,(%r10,%rax,2)
14002c6b6:	75 f6                	jne    0x14002c6ae
14002c6b8:	44 3b c8             	cmp    %eax,%r9d
14002c6bb:	0f 95 c2             	setne  %dl
14002c6be:	8b c2                	mov    %edx,%eax
14002c6c0:	eb 09                	jmp    0x14002c6cb
14002c6c2:	b8 01 00 00 00       	mov    $0x1,%eax
14002c6c7:	eb 02                	jmp    0x14002c6cb
14002c6c9:	33 c0                	xor    %eax,%eax
14002c6cb:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
14002c6d0:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
14002c6d5:	48 83 c4 20          	add    $0x20,%rsp
14002c6d9:	5f                   	pop    %rdi
14002c6da:	c3                   	ret
14002c6db:	cc                   	int3
14002c6dc:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14002c6e1:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14002c6e6:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14002c6eb:	57                   	push   %rdi
14002c6ec:	41 56                	push   %r14
14002c6ee:	41 57                	push   %r15
14002c6f0:	48 83 ec 20          	sub    $0x20,%rsp
14002c6f4:	33 ff                	xor    %edi,%edi
14002c6f6:	4d 8b f8             	mov    %r8,%r15
14002c6f9:	8b da                	mov    %edx,%ebx
14002c6fb:	48 8b e9             	mov    %rcx,%rbp
14002c6fe:	85 d2                	test   %edx,%edx
14002c700:	78 30                	js     0x14002c732
14002c702:	49 8b 0f             	mov    (%r15),%rcx
14002c705:	8d 04 1f             	lea    (%rdi,%rbx,1),%eax
14002c708:	99                   	cltd
14002c709:	2b c2                	sub    %edx,%eax
14002c70b:	d1 f8                	sar    $1,%eax
14002c70d:	48 63 f0             	movslq %eax,%rsi
14002c710:	4c 8b f6             	mov    %rsi,%r14
14002c713:	49 c1 e6 04          	shl    $0x4,%r14
14002c717:	49 8b 14 2e          	mov    (%r14,%rbp,1),%rdx
14002c71b:	e8 bc 03 ff ff       	call   0x14001cadc
14002c720:	85 c0                	test   %eax,%eax
14002c722:	74 29                	je     0x14002c74d
14002c724:	79 05                	jns    0x14002c72b
14002c726:	8d 5e ff             	lea    -0x1(%rsi),%ebx
14002c729:	eb 03                	jmp    0x14002c72e
14002c72b:	8d 7e 01             	lea    0x1(%rsi),%edi
14002c72e:	3b fb                	cmp    %ebx,%edi
14002c730:	7e d0                	jle    0x14002c702
14002c732:	32 c0                	xor    %al,%al
14002c734:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14002c739:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
14002c73e:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
14002c743:	48 83 c4 20          	add    $0x20,%rsp
14002c747:	41 5f                	pop    %r15
14002c749:	41 5e                	pop    %r14
14002c74b:	5f                   	pop    %rdi
14002c74c:	c3                   	ret
14002c74d:	48 8d 45 08          	lea    0x8(%rbp),%rax
14002c751:	49 03 c6             	add    %r14,%rax
14002c754:	49 89 07             	mov    %rax,(%r15)
14002c757:	b0 01                	mov    $0x1,%al
14002c759:	eb d9                	jmp    0x14002c734
14002c75b:	cc                   	int3
14002c75c:	40 55                	rex push %rbp
14002c75e:	53                   	push   %rbx
14002c75f:	56                   	push   %rsi
14002c760:	57                   	push   %rdi
14002c761:	41 54                	push   %r12
14002c763:	41 56                	push   %r14
14002c765:	41 57                	push   %r15
14002c767:	48 8b ec             	mov    %rsp,%rbp
14002c76a:	48 83 ec 40          	sub    $0x40,%rsp
14002c76e:	48 8b 05 4b 1a 02 00 	mov    0x21a4b(%rip),%rax        # 0x14004e1c0
14002c775:	48 33 c4             	xor    %rsp,%rax
14002c778:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
14002c77c:	49 8b f8             	mov    %r8,%rdi
14002c77f:	4c 8b fa             	mov    %rdx,%r15
14002c782:	4c 8b f1             	mov    %rcx,%r14
14002c785:	e8 1e 45 ff ff       	call   0x140020ca8
14002c78a:	48 8b f0             	mov    %rax,%rsi
14002c78d:	33 c0                	xor    %eax,%eax
14002c78f:	48 89 45 e0          	mov    %rax,-0x20(%rbp)
14002c793:	89 45 e8             	mov    %eax,-0x18(%rbp)
14002c796:	e8 0d 45 ff ff       	call   0x140020ca8
14002c79b:	48 8d 4d e0          	lea    -0x20(%rbp),%rcx
14002c79f:	45 33 e4             	xor    %r12d,%r12d
14002c7a2:	48 8d 9e a0 00 00 00 	lea    0xa0(%rsi),%rbx
14002c7a9:	48 89 88 a0 03 00 00 	mov    %rcx,0x3a0(%rax)
14002c7b0:	49 8d 86 80 00 00 00 	lea    0x80(%r14),%rax
14002c7b7:	4c 89 b6 98 00 00 00 	mov    %r14,0x98(%rsi)
14002c7be:	48 89 03             	mov    %rax,(%rbx)
14002c7c1:	48 85 c0             	test   %rax,%rax
14002c7c4:	74 1d                	je     0x14002c7e3
14002c7c6:	66 44 39 20          	cmp    %r12w,(%rax)
14002c7ca:	74 17                	je     0x14002c7e3
14002c7cc:	8b 15 7e 47 01 00    	mov    0x1477e(%rip),%edx        # 0x140040f50
14002c7d2:	48 8d 0d 07 46 01 00 	lea    0x14607(%rip),%rcx        # 0x140040de0
14002c7d9:	ff ca                	dec    %edx
14002c7db:	4c 8b c3             	mov    %rbx,%r8
14002c7de:	e8 f9 fe ff ff       	call   0x14002c6dc
14002c7e3:	44 89 65 e0          	mov    %r12d,-0x20(%rbp)
14002c7e7:	48 8b 86 98 00 00 00 	mov    0x98(%rsi),%rax
14002c7ee:	48 85 c0             	test   %rax,%rax
14002c7f1:	74 79                	je     0x14002c86c
14002c7f3:	66 44 39 20          	cmp    %r12w,(%rax)
14002c7f7:	74 73                	je     0x14002c86c
14002c7f9:	48 8b 03             	mov    (%rbx),%rax
14002c7fc:	48 85 c0             	test   %rax,%rax
14002c7ff:	74 11                	je     0x14002c812
14002c801:	66 44 39 20          	cmp    %r12w,(%rax)
14002c805:	74 0b                	je     0x14002c812
14002c807:	48 8d 4d e0          	lea    -0x20(%rbp),%rcx
14002c80b:	e8 60 f8 ff ff       	call   0x14002c070
14002c810:	eb 09                	jmp    0x14002c81b
14002c812:	48 8d 4d e0          	lea    -0x20(%rbp),%rcx
14002c816:	e8 25 f9 ff ff       	call   0x14002c140
14002c81b:	44 39 65 e0          	cmp    %r12d,-0x20(%rbp)
14002c81f:	0f 85 bd 00 00 00    	jne    0x14002c8e2
14002c825:	8b 15 a5 45 01 00    	mov    0x145a5(%rip),%edx        # 0x140040dd0
14002c82b:	4c 8d 86 98 00 00 00 	lea    0x98(%rsi),%r8
14002c832:	ff ca                	dec    %edx
14002c834:	48 8d 0d 85 41 01 00 	lea    0x14185(%rip),%rcx        # 0x1400409c0
14002c83b:	e8 9c fe ff ff       	call   0x14002c6dc
14002c840:	84 c0                	test   %al,%al
14002c842:	0f 84 90 00 00 00    	je     0x14002c8d8
14002c848:	48 8b 03             	mov    (%rbx),%rax
14002c84b:	48 85 c0             	test   %rax,%rax
14002c84e:	74 11                	je     0x14002c861
14002c850:	66 44 39 20          	cmp    %r12w,(%rax)
14002c854:	74 0b                	je     0x14002c861
14002c856:	48 8d 4d e0          	lea    -0x20(%rbp),%rcx
14002c85a:	e8 11 f8 ff ff       	call   0x14002c070
14002c85f:	eb 77                	jmp    0x14002c8d8
14002c861:	48 8d 4d e0          	lea    -0x20(%rbp),%rcx
14002c865:	e8 d6 f8 ff ff       	call   0x14002c140
14002c86a:	eb 6c                	jmp    0x14002c8d8
14002c86c:	48 8b 03             	mov    (%rbx),%rax
14002c86f:	48 85 c0             	test   %rax,%rax
14002c872:	74 51                	je     0x14002c8c5
14002c874:	66 44 39 20          	cmp    %r12w,(%rax)
14002c878:	74 4b                	je     0x14002c8c5
14002c87a:	e8 29 44 ff ff       	call   0x140020ca8
14002c87f:	48 8b d0             	mov    %rax,%rdx
14002c882:	48 83 c9 ff          	or     $0xffffffffffffffff,%rcx
14002c886:	48 8b 80 a0 00 00 00 	mov    0xa0(%rax),%rax
14002c88d:	48 ff c1             	inc    %rcx
14002c890:	66 44 39 24 48       	cmp    %r12w,(%rax,%rcx,2)
14002c895:	75 f6                	jne    0x14002c88d
14002c897:	48 83 f9 03          	cmp    $0x3,%rcx
14002c89b:	41 8b c4             	mov    %r12d,%eax
14002c89e:	48 8d 0d e3 f6 ff ff 	lea    -0x91d(%rip),%rcx        # 0x14002bf88
14002c8a5:	0f 94 c0             	sete   %al
14002c8a8:	89 82 b4 00 00 00    	mov    %eax,0xb4(%rdx)
14002c8ae:	ba 01 00 00 00       	mov    $0x1,%edx
14002c8b3:	ff 15 5f f8 00 00    	call   *0xf85f(%rip)        # 0x14003c118
14002c8b9:	f6 45 e0 04          	testb  $0x4,-0x20(%rbp)
14002c8bd:	75 19                	jne    0x14002c8d8
14002c8bf:	44 89 65 e0          	mov    %r12d,-0x20(%rbp)
14002c8c3:	eb 13                	jmp    0x14002c8d8
14002c8c5:	c7 45 e0 04 01 00 00 	movl   $0x104,-0x20(%rbp)
14002c8cc:	ff 15 4e f8 00 00    	call   *0xf84e(%rip)        # 0x14003c120
14002c8d2:	89 45 e8             	mov    %eax,-0x18(%rbp)
14002c8d5:	89 45 e4             	mov    %eax,-0x1c(%rbp)
14002c8d8:	44 39 65 e0          	cmp    %r12d,-0x20(%rbp)
14002c8dc:	0f 84 db 00 00 00    	je     0x14002c9bd
14002c8e2:	49 8d 86 00 01 00 00 	lea    0x100(%r14),%rax
14002c8e9:	49 f7 de             	neg    %r14
14002c8ec:	48 8d 55 e0          	lea    -0x20(%rbp),%rdx
14002c8f0:	48 1b c9             	sbb    %rcx,%rcx
14002c8f3:	48 23 c8             	and    %rax,%rcx
14002c8f6:	e8 7d fc ff ff       	call   0x14002c578
14002c8fb:	8b d8                	mov    %eax,%ebx
14002c8fd:	85 c0                	test   %eax,%eax
14002c8ff:	0f 84 b8 00 00 00    	je     0x14002c9bd
14002c905:	0f b7 cb             	movzwl %bx,%ecx
14002c908:	ff 15 d2 f7 00 00    	call   *0xf7d2(%rip)        # 0x14003c0e0
14002c90e:	85 c0                	test   %eax,%eax
14002c910:	0f 84 a7 00 00 00    	je     0x14002c9bd
14002c916:	8b 4d e4             	mov    -0x1c(%rbp),%ecx
14002c919:	ba 01 00 00 00       	mov    $0x1,%edx
14002c91e:	ff 15 04 f8 00 00    	call   *0xf804(%rip)        # 0x14003c128
14002c924:	85 c0                	test   %eax,%eax
14002c926:	0f 84 91 00 00 00    	je     0x14002c9bd
14002c92c:	4d 85 ff             	test   %r15,%r15
14002c92f:	74 03                	je     0x14002c934
14002c931:	41 89 1f             	mov    %ebx,(%r15)
14002c934:	8b 4d e4             	mov    -0x1c(%rbp),%ecx
14002c937:	48 8d 96 f0 02 00 00 	lea    0x2f0(%rsi),%rdx
14002c93e:	45 33 c9             	xor    %r9d,%r9d
14002c941:	41 8d 71 55          	lea    0x55(%r9),%esi
14002c945:	44 8b c6             	mov    %esi,%r8d
14002c948:	e8 3f 6f ff ff       	call   0x14002388c
14002c94d:	48 85 ff             	test   %rdi,%rdi
14002c950:	74 64                	je     0x14002c9b6
14002c952:	8b 4d e4             	mov    -0x1c(%rbp),%ecx
14002c955:	48 8d 97 20 01 00 00 	lea    0x120(%rdi),%rdx
14002c95c:	45 33 c9             	xor    %r9d,%r9d
14002c95f:	44 8b c6             	mov    %esi,%r8d
14002c962:	e8 25 6f ff ff       	call   0x14002388c
14002c967:	8b 4d e4             	mov    -0x1c(%rbp),%ecx
14002c96a:	be 40 00 00 00       	mov    $0x40,%esi
14002c96f:	44 8b ce             	mov    %esi,%r9d
14002c972:	4c 8b c7             	mov    %rdi,%r8
14002c975:	ba 01 10 00 00       	mov    $0x1001,%edx
14002c97a:	ff 15 b0 f7 00 00    	call   *0xf7b0(%rip)        # 0x14003c130
14002c980:	85 c0                	test   %eax,%eax
14002c982:	74 39                	je     0x14002c9bd
14002c984:	8b 4d e8             	mov    -0x18(%rbp),%ecx
14002c987:	4c 8d 87 80 00 00 00 	lea    0x80(%rdi),%r8
14002c98e:	44 8b ce             	mov    %esi,%r9d
14002c991:	ba 02 10 00 00       	mov    $0x1002,%edx
14002c996:	ff 15 94 f7 00 00    	call   *0xf794(%rip)        # 0x14003c130
14002c99c:	85 c0                	test   %eax,%eax
14002c99e:	74 1d                	je     0x14002c9bd
14002c9a0:	48 8d 97 00 01 00 00 	lea    0x100(%rdi),%rdx
14002c9a7:	8b cb                	mov    %ebx,%ecx
14002c9a9:	44 8d 4e ca          	lea    -0x36(%rsi),%r9d
14002c9ad:	44 8d 46 d0          	lea    -0x30(%rsi),%r8d
14002c9b1:	e8 be 9b fe ff       	call   0x140016574
14002c9b6:	b8 01 00 00 00       	mov    $0x1,%eax
14002c9bb:	eb 02                	jmp    0x14002c9bf
14002c9bd:	33 c0                	xor    %eax,%eax
14002c9bf:	48 8b 4d f0          	mov    -0x10(%rbp),%rcx
14002c9c3:	48 33 cc             	xor    %rsp,%rcx
14002c9c6:	e8 d5 c9 fd ff       	call   0x1400093a0
14002c9cb:	48 83 c4 40          	add    $0x40,%rsp
14002c9cf:	41 5f                	pop    %r15
14002c9d1:	41 5e                	pop    %r14