180030659:	48 85 c9             	test   %rcx,%rcx
18003065c:	75 05                	jne    0x180030663
18003065e:	48 f7 da             	neg    %rdx
180030661:	eb 39                	jmp    0x18003069c
180030663:	48 81 fa 10 03 00 00 	cmp    $0x310,%rdx
18003066a:	74 07                	je     0x180030673
18003066c:	b8 0d 00 00 c0       	mov    $0xc000000d,%eax
180030671:	eb 30                	jmp    0x1800306a3
180030673:	f6 c3 03             	test   $0x3,%bl
180030676:	75 f4                	jne    0x18003066c
180030678:	83 39 40             	cmpl   $0x40,(%rcx)
18003067b:	77 ef                	ja     0x18003066c
18003067d:	48 8d 41 08          	lea    0x8(%rcx),%rax
180030681:	c7 44 24 20 40 00 00 	movl   $0x40,0x20(%rsp)
180030688:	00
180030689:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
18003068e:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
180030693:	e8 3c f3 ff ff       	call   0x18002f9d4
180030698:	2b 03                	sub    (%rbx),%eax
18003069a:	f7 d8                	neg    %eax
18003069c:	1b c0                	sbb    %eax,%eax
18003069e:	25 0d 00 00 c0       	and    $0xc000000d,%eax
1800306a3:	48 83 c4 30          	add    $0x30,%rsp
1800306a7:	5b                   	pop    %rbx
1800306a8:	c3                   	ret
1800306a9:	cc                   	int3
1800306aa:	cc                   	int3
1800306ab:	cc                   	int3
1800306ac:	45 33 c0             	xor    %r8d,%r8d
1800306af:	4c 8b ca             	mov    %rdx,%r9
1800306b2:	4c 8b d1             	mov    %rcx,%r10
1800306b5:	48 85 c9             	test   %rcx,%rcx
1800306b8:	75 12                	jne    0x1800306cc
1800306ba:	49 f7 d9             	neg    %r9
1800306bd:	45 1b c0             	sbb    %r8d,%r8d
1800306c0:	41 81 e0 0d 00 00 c0 	and    $0xc000000d,%r8d
1800306c7:	e9 88 00 00 00       	jmp    0x180030754
1800306cc:	49 83 f9 04          	cmp    $0x4,%r9
1800306d0:	72 7c                	jb     0x18003074e
1800306d2:	41 f6 c2 03          	test   $0x3,%r10b
1800306d6:	75 76                	jne    0x18003074e
1800306d8:	44 8b 19             	mov    (%rcx),%r11d
1800306db:	b8 0c 00 00 00       	mov    $0xc,%eax
1800306e0:	49 f7 e3             	mul    %r11
1800306e3:	48 8b c8             	mov    %rax,%rcx
1800306e6:	48 85 d2             	test   %rdx,%rdx
1800306e9:	75 63                	jne    0x18003074e
1800306eb:	48 83 c0 04          	add    $0x4,%rax
1800306ef:	48 3b c1             	cmp    %rcx,%rax
1800306f2:	72 5a                	jb     0x18003074e
1800306f4:	49 3b c1             	cmp    %r9,%rax
1800306f7:	77 55                	ja     0x18003074e
1800306f9:	41 8b d0             	mov    %r8d,%edx
1800306fc:	45 85 db             	test   %r11d,%r11d
1800306ff:	74 53                	je     0x180030754
180030701:	4d 8d 4a 08          	lea    0x8(%r10),%r9
180030705:	85 d2                	test   %edx,%edx
180030707:	74 26                	je     0x18003072f
180030709:	8d 42 ff             	lea    -0x1(%rdx),%eax
18003070c:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
180030710:	41 8b 41 fc          	mov    -0x4(%r9),%eax
180030714:	41 39 44 8a 04       	cmp    %eax,0x4(%r10,%rcx,4)
180030719:	77 33                	ja     0x18003074e
18003071b:	72 12                	jb     0x18003072f
18003071d:	41 8b 44 8a 08       	mov    0x8(%r10,%rcx,4),%eax
180030722:	41 8b 09             	mov    (%r9),%ecx
180030725:	83 e0 0f             	and    $0xf,%eax
180030728:	83 e1 0f             	and    $0xf,%ecx
18003072b:	3b c1                	cmp    %ecx,%eax
18003072d:	76 1f                	jbe    0x18003074e
18003072f:	41 8b 01             	mov    (%r9),%eax
180030732:	83 e0 30             	and    $0x30,%eax
180030735:	a9 cf ff ff ff       	test   $0xffffffcf,%eax
18003073a:	75 12                	jne    0x18003074e
18003073c:	83 f8 30             	cmp    $0x30,%eax
18003073f:	74 0d                	je     0x18003074e
180030741:	ff c2                	inc    %edx
180030743:	49 83 c1 0c          	add    $0xc,%r9
180030747:	41 3b d3             	cmp    %r11d,%edx
18003074a:	73 08                	jae    0x180030754
18003074c:	eb b7                	jmp    0x180030705
18003074e:	41 b8 0d 00 00 c0    	mov    $0xc000000d,%r8d
180030754:	41 8b c0             	mov    %r8d,%eax
180030757:	c3                   	ret
180030758:	cc                   	int3
180030759:	cc                   	int3
18003075a:	cc                   	int3
18003075b:	cc                   	int3
18003075c:	45 33 c0             	xor    %r8d,%r8d
18003075f:	4c 8b ca             	mov    %rdx,%r9
180030762:	48 85 c9             	test   %rcx,%rcx
180030765:	75 12                	jne    0x180030779
180030767:	49 f7 d9             	neg    %r9
18003076a:	45 1b c0             	sbb    %r8d,%r8d
18003076d:	41 81 e0 0d 00 00 c0 	and    $0xc000000d,%r8d
180030774:	e9 87 00 00 00       	jmp    0x180030800
180030779:	49 83 f9 04          	cmp    $0x4,%r9
18003077d:	72 7b                	jb     0x1800307fa
18003077f:	f6 c1 03             	test   $0x3,%cl
180030782:	75 76                	jne    0x1800307fa
180030784:	44 8b 19             	mov    (%rcx),%r11d
180030787:	b8 10 00 00 00       	mov    $0x10,%eax
18003078c:	49 f7 e3             	mul    %r11
18003078f:	4c 8b d0             	mov    %rax,%r10
180030792:	48 85 d2             	test   %rdx,%rdx
180030795:	75 63                	jne    0x1800307fa
180030797:	48 83 c0 04          	add    $0x4,%rax
18003079b:	49 3b c2             	cmp    %r10,%rax
18003079e:	72 5a                	jb     0x1800307fa
1800307a0:	49 3b c1             	cmp    %r9,%rax
1800307a3:	77 55                	ja     0x1800307fa
1800307a5:	45 8b c8             	mov    %r8d,%r9d
1800307a8:	45 85 db             	test   %r11d,%r11d
1800307ab:	74 53                	je     0x180030800
1800307ad:	48 8d 51 0c          	lea    0xc(%rcx),%rdx
1800307b1:	45 85 c9             	test   %r9d,%r9d
1800307b4:	74 36                	je     0x1800307ec
1800307b6:	8b 42 f8             	mov    -0x8(%rdx),%eax
1800307b9:	45 8d 51 ff          	lea    -0x1(%r9),%r10d
1800307bd:	4d 03 d2             	add    %r10,%r10
1800307c0:	42 39 44 d1 04       	cmp    %eax,0x4(%rcx,%r10,8)
1800307c5:	77 33                	ja     0x1800307fa
1800307c7:	72 23                	jb     0x1800307ec
1800307c9:	0f b7 42 fc          	movzwl -0x4(%rdx),%eax
1800307cd:	66 42 39 44 d1 08    	cmp    %ax,0x8(%rcx,%r10,8)
1800307d3:	77 25                	ja     0x1800307fa
1800307d5:	72 15                	jb     0x1800307ec
1800307d7:	8b 02                	mov    (%rdx),%eax
1800307d9:	42 39 44 d1 0c       	cmp    %eax,0xc(%rcx,%r10,8)
1800307de:	77 1a                	ja     0x1800307fa
1800307e0:	72 0a                	jb     0x1800307ec
1800307e2:	8b 42 04             	mov    0x4(%rdx),%eax
1800307e5:	42 39 44 d1 10       	cmp    %eax,0x10(%rcx,%r10,8)
1800307ea:	73 0e                	jae    0x1800307fa
1800307ec:	41 ff c1             	inc    %r9d
1800307ef:	48 83 c2 10          	add    $0x10,%rdx
1800307f3:	45 3b cb             	cmp    %r11d,%r9d
1800307f6:	73 08                	jae    0x180030800
1800307f8:	eb b7                	jmp    0x1800307b1
1800307fa:	41 b8 0d 00 00 c0    	mov    $0xc000000d,%r8d
180030800:	41 8b c0             	mov    %r8d,%eax
180030803:	c3                   	ret
180030804:	cc                   	int3
180030805:	cc                   	int3
180030806:	cc                   	int3
180030807:	cc                   	int3
180030808:	48 8b c4             	mov    %rsp,%rax
18003080b:	48 89 58 08          	mov    %rbx,0x8(%rax)
18003080f:	48 89 68 10          	mov    %rbp,0x10(%rax)
180030813:	48 89 70 18          	mov    %rsi,0x18(%rax)
180030817:	48 89 78 20          	mov    %rdi,0x20(%rax)
18003081b:	41 55                	push   %r13
18003081d:	41 56                	push   %r14
18003081f:	41 57                	push   %r15
180030821:	45 33 c9             	xor    %r9d,%r9d
180030824:	4d 8b f8             	mov    %r8,%r15
180030827:	8b da                	mov    %edx,%ebx
180030829:	45 8b d1             	mov    %r9d,%r10d
18003082c:	66 44 39 09          	cmp    %r9w,(%rcx)
180030830:	0f 84 7d 01 00 00    	je     0x1800309b3
180030836:	f6 01 01             	testb  $0x1,(%rcx)
180030839:	0f 85 74 01 00 00    	jne    0x1800309b3
18003083f:	0f b7 11             	movzwl (%rcx),%edx
180030842:	45 0f b7 f1          	movzwl %r9w,%r14d
180030846:	d1 ea                	shr    $1,%edx
180030848:	4c 8b 41 08          	mov    0x8(%rcx),%r8
18003084c:	74 21                	je     0x18003086f
18003084e:	83 cf ff             	or     $0xffffffff,%edi
180030851:	45 0f b7 30          	movzwl (%r8),%r14d
180030855:	03 d7                	add    %edi,%edx
180030857:	49 83 c0 02          	add    $0x2,%r8
18003085b:	66 41 83 fe 20       	cmp    $0x20,%r14w
180030860:	77 12                	ja     0x180030874
180030862:	85 d2                	test   %edx,%edx
180030864:	75 eb                	jne    0x180030851
180030866:	45 8b f1             	mov    %r9d,%r14d
180030869:	41 0f b7 c9          	movzwl %r9w,%ecx
18003086d:	eb 2c                	jmp    0x18003089b
18003086f:	83 cf ff             	or     $0xffffffff,%edi
180030872:	8b d7                	mov    %edi,%edx
180030874:	41 8d 46 d5          	lea    -0x2b(%r14),%eax
180030878:	41 bb fd ff 00 00    	mov    $0xfffd,%r11d
18003087e:	41 0f b7 ce          	movzwl %r14w,%ecx
180030882:	66 41 85 c3          	test   %ax,%r11w
180030886:	75 13                	jne    0x18003089b
180030888:	85 d2                	test   %edx,%edx
18003088a:	74 0c                	je     0x180030898
18003088c:	41 0f b7 08          	movzwl (%r8),%ecx
180030890:	03 d7                	add    %edi,%edx
180030892:	49 83 c0 02          	add    $0x2,%r8
180030896:	eb 03                	jmp    0x18003089b
180030898:	41 8b c9             	mov    %r9d,%ecx
18003089b:	49 8b f0             	mov    %r8,%rsi
18003089e:	8b ea                	mov    %edx,%ebp
1800308a0:	41 bd 30 00 00 00    	mov    $0x30,%r13d
1800308a6:	85 db                	test   %ebx,%ebx
1800308a8:	75 67                	jne    0x180030911
1800308aa:	41 8d 5d da          	lea    -0x26(%r13),%ebx
1800308ae:	45 8b d9             	mov    %r9d,%r11d
1800308b1:	66 41 3b cd          	cmp    %r13w,%cx
1800308b5:	0f 85 e7 00 00 00    	jne    0x1800309a2
1800308bb:	85 d2                	test   %edx,%edx
1800308bd:	74 49                	je     0x180030908
1800308bf:	41 0f b7 00          	movzwl (%r8),%eax
1800308c3:	03 d7                	add    %edi,%edx
1800308c5:	49 83 c0 02          	add    $0x2,%r8
1800308c9:	66 83 f8 78          	cmp    $0x78,%ax
1800308cd:	75 0a                	jne    0x1800308d9
1800308cf:	41 8d 5d e0          	lea    -0x20(%r13),%ebx
1800308d3:	45 8d 5d d4          	lea    -0x2c(%r13),%r11d
1800308d7:	eb 27                	jmp    0x180030900
1800308d9:	66 83 f8 6f          	cmp    $0x6f,%ax
1800308dd:	75 0b                	jne    0x1800308ea
1800308df:	bb 08 00 00 00       	mov    $0x8,%ebx
1800308e4:	44 8d 5b fb          	lea    -0x5(%rbx),%r11d
1800308e8:	eb 16                	jmp    0x180030900
1800308ea:	66 83 f8 62          	cmp    $0x62,%ax
1800308ee:	75 0b                	jne    0x1800308fb
1800308f0:	bb 02 00 00 00       	mov    $0x2,%ebx
1800308f5:	44 8d 5b ff          	lea    -0x1(%rbx),%r11d
1800308f9:	eb 05                	jmp    0x180030900
1800308fb:	8b d5                	mov    %ebp,%edx
1800308fd:	4c 8b c6             	mov    %rsi,%r8
180030900:	85 d2                	test   %edx,%edx
180030902:	0f 85 90 00 00 00    	jne    0x180030998
180030908:	41 0f b7 c9          	movzwl %r9w,%ecx
18003090c:	e9 91 00 00 00       	jmp    0x1800309a2
180030911:	83 fb 02             	cmp    $0x2,%ebx
180030914:	74 26                	je     0x18003093c
180030916:	83 fb 08             	cmp    $0x8,%ebx
180030919:	74 19                	je     0x180030934
18003091b:	83 fb 0a             	cmp    $0xa,%ebx
18003091e:	74 0f                	je     0x18003092f
180030920:	83 fb 10             	cmp    $0x10,%ebx
180030923:	0f 85 8a 00 00 00    	jne    0x1800309b3
180030929:	44 8d 5b f4          	lea    -0xc(%rbx),%r11d
18003092d:	eb 73                	jmp    0x1800309a2
18003092f:	45 8b d9             	mov    %r9d,%r11d
180030932:	eb 6e                	jmp    0x1800309a2
180030934:	41 bb 03 00 00 00    	mov    $0x3,%r11d
18003093a:	eb 66                	jmp    0x1800309a2
18003093c:	41 bb 01 00 00 00    	mov    $0x1,%r11d
180030942:	eb 5e                	jmp    0x1800309a2
180030944:	0f b7 c1             	movzwl %cx,%eax
180030947:	66 41 2b c5          	sub    %r13w,%ax
18003094b:	66 83 f8 09          	cmp    $0x9,%ax
18003094f:	77 08                	ja     0x180030959
180030951:	0f b7 c1             	movzwl %cx,%eax
180030954:	41 2b c5             	sub    %r13d,%eax
180030957:	eb 20                	jmp    0x180030979
180030959:	8d 41 bf             	lea    -0x41(%rcx),%eax
18003095c:	66 83 f8 05          	cmp    $0x5,%ax
180030960:	77 08                	ja     0x18003096a
180030962:	0f b7 c1             	movzwl %cx,%eax
180030965:	83 e8 37             	sub    $0x37,%eax
180030968:	eb 0f                	jmp    0x180030979
18003096a:	8d 41 9f             	lea    -0x61(%rcx),%eax
18003096d:	66 83 f8 05          	cmp    $0x5,%ax
180030971:	77 34                	ja     0x1800309a7
180030973:	0f b7 c1             	movzwl %cx,%eax
180030976:	83 e8 57             	sub    $0x57,%eax
180030979:	3b c3                	cmp    %ebx,%eax
18003097b:	73 2a                	jae    0x1800309a7
18003097d:	45 85 db             	test   %r11d,%r11d
180030980:	75 09                	jne    0x18003098b
180030982:	44 0f af d3          	imul   %ebx,%r10d
180030986:	44 03 d0             	add    %eax,%r10d
180030989:	eb 09                	jmp    0x180030994
18003098b:	41 8b cb             	mov    %r11d,%ecx
18003098e:	41 d3 e2             	shl    %cl,%r10d
180030991:	44 0b d0             	or     %eax,%r10d
180030994:	85 d2                	test   %edx,%edx
180030996:	74 0f                	je     0x1800309a7
180030998:	41 0f b7 08          	movzwl (%r8),%ecx
18003099c:	03 d7                	add    %edi,%edx
18003099e:	49 83 c0 02          	add    $0x2,%r8
1800309a2:	66 85 c9             	test   %cx,%cx
1800309a5:	75 9d                	jne    0x180030944
1800309a7:	66 41 83 fe 2d       	cmp    $0x2d,%r14w
1800309ac:	75 0b                	jne    0x1800309b9
1800309ae:	41 f7 da             	neg    %r10d
1800309b1:	eb 06                	jmp    0x1800309b9
1800309b3:	41 b9 0d 00 00 c0    	mov    $0xc000000d,%r9d
1800309b9:	48 8b 5c 24 20       	mov    0x20(%rsp),%rbx
1800309be:	41 8b c1             	mov    %r9d,%eax
1800309c1:	48 8b 6c 24 28       	mov    0x28(%rsp),%rbp
1800309c6:	48 8b 74 24 30       	mov    0x30(%rsp),%rsi
1800309cb:	48 8b 7c 24 38       	mov    0x38(%rsp),%rdi
1800309d0:	45 89 17             	mov    %r10d,(%r15)
1800309d3:	41 5f                	pop    %r15
1800309d5:	41 5e                	pop    %r14
1800309d7:	41 5d                	pop    %r13
1800309d9:	c3                   	ret
1800309da:	cc                   	int3
1800309db:	cc                   	int3
1800309dc:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1800309e1:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1800309e6:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
1800309eb:	57                   	push   %rdi
1800309ec:	48 81 ec 90 00 00 00 	sub    $0x90,%rsp
1800309f3:	48 8b 05 76 bf 13 00 	mov    0x13bf76(%rip),%rax        # 0x18016c970
1800309fa:	48 33 c4             	xor    %rsp,%rax
1800309fd:	48 89 84 24 80 00 00 	mov    %rax,0x80(%rsp)
180030a04:	00
180030a05:	49 8b f0             	mov    %r8,%rsi
180030a08:	44 8b c2             	mov    %edx,%r8d
180030a0b:	44 8b d9             	mov    %ecx,%r11d
180030a0e:	85 d2                	test   %edx,%edx
180030a10:	74 3e                	je     0x180030a50
180030a12:	b8 01 00 00 00       	mov    $0x1,%eax
180030a17:	83 fa 02             	cmp    $0x2,%edx
180030a1a:	74 27                	je     0x180030a43
180030a1c:	83 fa 08             	cmp    $0x8,%edx
180030a1f:	74 1b                	je     0x180030a3c
180030a21:	83 fa 0a             	cmp    $0xa,%edx
180030a24:	74 30                	je     0x180030a56
180030a26:	83 fa 10             	cmp    $0x10,%edx
180030a29:	74 0a                	je     0x180030a35
180030a2b:	b8 0d 00 00 c0       	mov    $0xc000000d,%eax
180030a30:	e9 c2 00 00 00       	jmp    0x180030af7
180030a35:	b9 04 00 00 00       	mov    $0x4,%ecx
180030a3a:	eb 09                	jmp    0x180030a45
180030a3c:	b9 03 00 00 00       	mov    $0x3,%ecx
180030a41:	eb 02                	jmp    0x180030a45
180030a43:	8b c8                	mov    %eax,%ecx
180030a45:	44 8b c8             	mov    %eax,%r9d
180030a48:	41 d3 e1             	shl    %cl,%r9d
180030a4b:	44 2b c8             	sub    %eax,%r9d
180030a4e:	eb 0b                	jmp    0x180030a5b
180030a50:	41 b8 0a 00 00 00    	mov    $0xa,%r8d
180030a56:	33 c9                	xor    %ecx,%ecx
180030a58:	45 33 c9             	xor    %r9d,%r9d
180030a5b:	4c 8d 54 24 79       	lea    0x79(%rsp),%r10
180030a60:	85 c9                	test   %ecx,%ecx
180030a62:	74 0b                	je     0x180030a6f
180030a64:	41 8b d1             	mov    %r9d,%edx
180030a67:	41 23 d3             	and    %r11d,%edx
180030a6a:	41 d3 eb             	shr    %cl,%r11d
180030a6d:	eb 0b                	jmp    0x180030a7a
180030a6f:	41 8b c3             	mov    %r11d,%eax
180030a72:	33 d2                	xor    %edx,%edx
180030a74:	41 f7 f0             	div    %r8d
180030a77:	44 8b d8             	mov    %eax,%r11d
180030a7a:	8b c2                	mov    %edx,%eax
180030a7c:	49 ff ca             	dec    %r10
180030a7f:	48 8d 15 c2 b0 11 00 	lea    0x11b0c2(%rip),%rdx        # 0x18014bb48
180030a86:	8a 04 10             	mov    (%rax,%rdx,1),%al
180030a89:	41 88 02             	mov    %al,(%r10)
180030a8c:	45 85 db             	test   %r11d,%r11d
180030a8f:	75 cf                	jne    0x180030a60