18009082c:	48 85 c9             	test   %rcx,%rcx
18009082f:	74 0f                	je     0x180090840
180090831:	49 8b c6             	mov    %r14,%rax
180090834:	8b d6                	mov    %esi,%edx
180090836:	ff d0                	call   *%rax
180090838:	0f 1f 00             	nopl   (%rax)
18009083b:	85 c0                	test   %eax,%eax
18009083d:	0f 48 d8             	cmovs  %eax,%ebx
180090840:	ff c6                	inc    %esi
180090842:	48 83 c7 08          	add    $0x8,%rdi
180090846:	3b f5                	cmp    %ebp,%esi
180090848:	72 df                	jb     0x180090829
18009084a:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
18009084f:	8b c3                	mov    %ebx,%eax
180090851:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
180090856:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
18009085b:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
180090860:	48 83 c4 20          	add    $0x20,%rsp
180090864:	41 5e                	pop    %r14
180090866:	c3                   	ret
180090867:	cc                   	int3
180090868:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
18009086d:	57                   	push   %rdi
18009086e:	48 83 ec 30          	sub    $0x30,%rsp
180090872:	48 8b d9             	mov    %rcx,%rbx
180090875:	48 85 c9             	test   %rcx,%rcx
180090878:	75 07                	jne    0x180090881
18009087a:	bb 0d 00 00 c0       	mov    $0xc000000d,%ebx
18009087f:	eb 4d                	jmp    0x1800908ce
180090881:	b9 00 04 00 00       	mov    $0x400,%ecx
180090886:	89 4c 24 40          	mov    %ecx,0x40(%rsp)
18009088a:	e8 c1 95 00 00       	call   0x180099e50
18009088f:	48 8b f8             	mov    %rax,%rdi
180090892:	48 85 c0             	test   %rax,%rax
180090895:	75 07                	jne    0x18009089e
180090897:	bb 17 00 00 c0       	mov    $0xc0000017,%ebx
18009089c:	eb 30                	jmp    0x1800908ce
18009089e:	4c 8d 4c 24 40       	lea    0x40(%rsp),%r9
1800908a3:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
1800908a8:	4c 8d 05 51 15 0c 00 	lea    0xc1551(%rip),%r8        # 0x180151e00
1800908af:	ba 16 00 00 00       	mov    $0x16,%edx
1800908b4:	48 8b cb             	mov    %rbx,%rcx
1800908b7:	e8 20 00 00 00       	call   0x1800908dc
1800908bc:	f7 d8                	neg    %eax
1800908be:	1b db                	sbb    %ebx,%ebx
1800908c0:	81 e3 c0 00 00 c0    	and    $0xc00000c0,%ebx
1800908c6:	48 8b cf             	mov    %rdi,%rcx
1800908c9:	e8 2e 97 00 00       	call   0x180099ffc
1800908ce:	8b c3                	mov    %ebx,%eax
1800908d0:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
1800908d5:	48 83 c4 30          	add    $0x30,%rsp
1800908d9:	5f                   	pop    %rdi
1800908da:	c3                   	ret
1800908db:	cc                   	int3
1800908dc:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1800908e1:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1800908e6:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
1800908eb:	55                   	push   %rbp
1800908ec:	41 54                	push   %r12
1800908ee:	41 55                	push   %r13
1800908f0:	41 56                	push   %r14
1800908f2:	41 57                	push   %r15
1800908f4:	48 8b ec             	mov    %rsp,%rbp
1800908f7:	48 83 ec 30          	sub    $0x30,%rsp
1800908fb:	45 33 e4             	xor    %r12d,%r12d
1800908fe:	44 8b f2             	mov    %edx,%r14d
180090901:	c7 45 f0 00 c4 00 00 	movl   $0xc400,-0x10(%rbp)
180090908:	49 8b d9             	mov    %r9,%rbx
18009090b:	66 c7 45 f4 00 0a    	movw   $0xa00,-0xc(%rbp)
180090911:	4d 8b f8             	mov    %r8,%r15
180090914:	44 89 65 f6          	mov    %r12d,-0xa(%rbp)
180090918:	48 85 c9             	test   %rcx,%rcx
18009091b:	75 0a                	jne    0x180090927
18009091d:	b8 0d 00 00 c0       	mov    $0xc000000d,%eax
180090922:	e9 97 01 00 00       	jmp    0x180090abe
180090927:	41 8b 39             	mov    (%r9),%edi
18009092a:	41 8d 76 08          	lea    0x8(%r14),%esi
18009092e:	33 d2                	xor    %edx,%edx
180090930:	41 bd 00 00 03 00    	mov    $0x30000,%r13d
180090936:	41 8b cd             	mov    %r13d,%ecx
180090939:	48 81 c6 40 00 03 00 	add    $0x30040,%rsi
180090940:	44 8d 42 40          	lea    0x40(%rdx),%r8d
180090944:	e8 37 53 0a 00       	call   0x180135c80
180090949:	66 83 c7 04          	add    $0x4,%di
18009094d:	66 44 89 24 25 42 00 	mov    %r12w,0x30042
180090954:	03 00
180090956:	66 89 3c 25 44 00 03 	mov    %di,0x30044
18009095d:	00
18009095e:	41 8d 46 08          	lea    0x8(%r14),%eax
180090962:	66 89 04 25 40 00 03 	mov    %ax,0x30040
180090969:	00
18009096a:	66 44 89 24 25 46 00 	mov    %r12w,0x30046
180090971:	03 00
180090973:	45 85 f6             	test   %r14d,%r14d
180090976:	74 0f                	je     0x180090987
180090978:	4d 8b c6             	mov    %r14,%r8
18009097b:	41 8d 4d 48          	lea    0x48(%r13),%ecx
18009097f:	49 8b d7             	mov    %r15,%rdx
180090982:	e8 39 50 0a 00       	call   0x1801359c0
180090987:	66 8b 04 25 44 00 03 	mov    0x30044,%ax
18009098e:	00
18009098f:	49 8b d5             	mov    %r13,%rdx
180090992:	66 89 06             	mov    %ax,(%rsi)
180090995:	48 8b c6             	mov    %rsi,%rax
180090998:	66 44 89 66 02       	mov    %r12w,0x2(%rsi)
18009099d:	48 c1 e8 04          	shr    $0x4,%rax
1800909a1:	0f b7 c0             	movzwl %ax,%eax
1800909a4:	89 04 25 28 00 03 00 	mov    %eax,0x30028
1800909ab:	8b c6                	mov    %esi,%eax
1800909ad:	83 e0 0f             	and    $0xf,%eax
1800909b0:	41 c7 45 00 1a 00 00 	movl   $0x1a,0x0(%r13)
1800909b7:	00
1800909b8:	89 04 25 1c 00 03 00 	mov    %eax,0x3001c
1800909bf:	48 8b 05 da 45 11 00 	mov    0x1145da(%rip),%rax        # 0x1801a4fa0
1800909c6:	c7 04 25 04 00 03 00 	movl   $0xbb02,0x30004
1800909cd:	02 bb 00 00
1800909d1:	c7 04 25 30 00 03 00 	movl   $0x3004,0x30030
1800909d8:	04 30 00 00
1800909dc:	44 89 24 25 20 00 03 	mov    %r12d,0x30020
1800909e3:	00
1800909e4:	48 c7 04 25 08 00 03 	movq   $0x41504354,0x30008
1800909eb:	00 54 43 50 41
1800909f0:	44 89 24 25 10 00 03 	mov    %r12d,0x30010
1800909f7:	00
1800909f8:	44 89 24 25 3c 00 03 	mov    %r12d,0x3003c
1800909ff:	00
180090a00:	8b 08                	mov    (%rax),%ecx
180090a02:	e8 09 34 0a 00       	call   0x180133e10
180090a07:	8b 0c 25 04 00 03 00 	mov    0x30004,%ecx
180090a0e:	0f b7 c1             	movzwl %cx,%eax
180090a11:	85 c0                	test   %eax,%eax
180090a13:	74 58                	je     0x180090a6d
180090a15:	83 e8 01             	sub    $0x1,%eax
180090a18:	74 18                	je     0x180090a32
180090a1a:	83 e8 01             	sub    $0x1,%eax
180090a1d:	74 4e                	je     0x180090a6d
180090a1f:	83 f8 01             	cmp    $0x1,%eax
180090a22:	0f 85 91 00 00 00    	jne    0x180090ab9
180090a28:	b8 02 00 00 c0       	mov    $0xc0000002,%eax
180090a2d:	e9 8c 00 00 00       	jmp    0x180090abe
180090a32:	c1 e9 10             	shr    $0x10,%ecx
180090a35:	83 3b 0a             	cmpl   $0xa,(%rbx)
180090a38:	72 2c                	jb     0x180090a66
180090a3a:	f2 0f 10 45 f0       	movsd  -0x10(%rbp),%xmm0
180090a3f:	0f b7 c1             	movzwl %cx,%eax
180090a42:	88 4d f9             	mov    %cl,-0x7(%rbp)
180090a45:	48 8b 4d 50          	mov    0x50(%rbp),%rcx
180090a49:	66 c1 e8 08          	shr    $0x8,%ax
180090a4d:	88 45 f8             	mov    %al,-0x8(%rbp)
180090a50:	0f b7 45 f8          	movzwl -0x8(%rbp),%eax
180090a54:	f2 0f 11 01          	movsd  %xmm0,(%rcx)
180090a58:	66 89 41 08          	mov    %ax,0x8(%rcx)
180090a5c:	c7 03 0a 00 00 00    	movl   $0xa,(%rbx)
180090a62:	33 c0                	xor    %eax,%eax
180090a64:	eb 58                	jmp    0x180090abe
180090a66:	b8 85 01 00 c0       	mov    $0xc0000185,%eax
180090a6b:	eb 51                	jmp    0x180090abe
180090a6d:	0f b7 06             	movzwl (%rsi),%eax
180090a70:	66 85 c0             	test   %ax,%ax
180090a73:	74 44                	je     0x180090ab9
180090a75:	44 89 65 30          	mov    %r12d,0x30(%rbp)
180090a79:	66 83 f8 04          	cmp    $0x4,%ax
180090a7d:	72 3a                	jb     0x180090ab9
180090a7f:	66 83 e8 04          	sub    $0x4,%ax
180090a83:	66 89 45 30          	mov    %ax,0x30(%rbp)
180090a87:	8b 7d 30             	mov    0x30(%rbp),%edi
180090a8a:	8b 03                	mov    (%rbx),%eax
180090a8c:	3b f8                	cmp    %eax,%edi
180090a8e:	73 04                	jae    0x180090a94
180090a90:	89 3b                	mov    %edi,(%rbx)
180090a92:	8b c7                	mov    %edi,%eax
180090a94:	85 c0                	test   %eax,%eax
180090a96:	74 10                	je     0x180090aa8
180090a98:	48 8b 4d 50          	mov    0x50(%rbp),%rcx
180090a9c:	48 8d 56 04          	lea    0x4(%rsi),%rdx
180090aa0:	44 8b c0             	mov    %eax,%r8d
180090aa3:	e8 18 4f 0a 00       	call   0x1801359c0
180090aa8:	85 ff                	test   %edi,%edi
180090aaa:	74 b6                	je     0x180090a62
180090aac:	48 8b cf             	mov    %rdi,%rcx
180090aaf:	33 c0                	xor    %eax,%eax
180090ab1:	48 8d 7e 04          	lea    0x4(%rsi),%rdi
180090ab5:	f3 aa                	rep stos %al,%es:(%rdi)
180090ab7:	eb a9                	jmp    0x180090a62
180090ab9:	b8 01 00 00 c0       	mov    $0xc0000001,%eax
180090abe:	48 8b 5c 24 68       	mov    0x68(%rsp),%rbx
180090ac3:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
180090ac8:	48 8b 7c 24 78       	mov    0x78(%rsp),%rdi
180090acd:	48 83 c4 30          	add    $0x30,%rsp
180090ad1:	41 5f                	pop    %r15
180090ad3:	41 5e                	pop    %r14
180090ad5:	41 5d                	pop    %r13
180090ad7:	41 5c                	pop    %r12
180090ad9:	5d                   	pop    %rbp
180090ada:	c3                   	ret
180090adb:	cc                   	int3
180090adc:	40 53                	rex push %rbx
180090ade:	48 83 ec 20          	sub    $0x20,%rsp
180090ae2:	8b da                	mov    %edx,%ebx
180090ae4:	48 85 c9             	test   %rcx,%rcx
180090ae7:	75 0a                	jne    0x180090af3
180090ae9:	b8 0d 00 00 c0       	mov    $0xc000000d,%eax
180090aee:	e9 9f 00 00 00       	jmp    0x180090b92
180090af3:	33 d2                	xor    %edx,%edx
180090af5:	b9 00 00 03 00       	mov    $0x30000,%ecx
180090afa:	44 8d 42 40          	lea    0x40(%rdx),%r8d
180090afe:	e8 7d 51 0a 00       	call   0x180135c80
180090b03:	33 c0                	xor    %eax,%eax
180090b05:	ba 00 00 03 00       	mov    $0x30000,%edx
180090b0a:	a3 40 00 03 00 00 00 	movabs %eax,0x30040
180090b11:	00 00
180090b13:	b8 04 30 00 00       	mov    $0x3004,%eax
180090b18:	83 24 25 20 00 03 00 	andl   $0x0,0x30020
180090b1f:	00
180090b20:	83 24 25 1c 00 03 00 	andl   $0x0,0x3001c
180090b27:	00
180090b28:	83 24 25 3c 00 03 00 	andl   $0x0,0x3003c
180090b2f:	00
180090b30:	89 04 25 30 00 03 00 	mov    %eax,0x30030
180090b37:	89 04 25 28 00 03 00 	mov    %eax,0x30028
180090b3e:	48 8b 05 5b 44 11 00 	mov    0x11445b(%rip),%rax        # 0x1801a4fa0
180090b45:	c7 04 25 00 00 03 00 	movl   $0x1a,0x30000
180090b4c:	1a 00 00 00
180090b50:	c7 04 25 04 00 03 00 	movl   $0xbb07,0x30004
180090b57:	07 bb 00 00
180090b5b:	c7 04 25 08 00 03 00 	movl   $0x41504354,0x30008
180090b62:	54 43 50 41
180090b66:	c7 04 25 0c 00 03 00 	movl   $0x4,0x3000c
180090b6d:	04 00 00 00
180090b71:	89 1c 25 10 00 03 00 	mov    %ebx,0x30010
180090b78:	8b 08                	mov    (%rax),%ecx
180090b7a:	e8 91 32 0a 00       	call   0x180133e10
180090b7f:	8b 04 25 04 00 03 00 	mov    0x30004,%eax
180090b86:	83 e0 fd             	and    $0xfffffffd,%eax
180090b89:	f7 d8                	neg    %eax
180090b8b:	1b c0                	sbb    %eax,%eax
180090b8d:	25 85 01 00 c0       	and    $0xc0000185,%eax
180090b92:	48 83 c4 20          	add    $0x20,%rsp
180090b96:	5b                   	pop    %rbx
180090b97:	c3                   	ret
180090b98:	cc                   	int3
180090b99:	cc                   	int3
180090b9a:	cc                   	int3
180090b9b:	cc                   	int3
180090b9c:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
180090ba1:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
180090ba6:	55                   	push   %rbp
180090ba7:	56                   	push   %rsi
180090ba8:	57                   	push   %rdi
180090ba9:	41 54                	push   %r12
180090bab:	41 55                	push   %r13
180090bad:	41 56                	push   %r14
180090baf:	41 57                	push   %r15
180090bb1:	48 8b ec             	mov    %rsp,%rbp
180090bb4:	48 83 ec 40          	sub    $0x40,%rsp
180090bb8:	33 f6                	xor    %esi,%esi
180090bba:	33 ff                	xor    %edi,%edi
180090bbc:	45 33 f6             	xor    %r14d,%r14d
180090bbf:	48 89 75 f8          	mov    %rsi,-0x8(%rbp)
180090bc3:	48 89 7d f0          	mov    %rdi,-0x10(%rbp)
180090bc7:	4d 8b e8             	mov    %r8,%r13
180090bca:	48 85 c9             	test   %rcx,%rcx
180090bcd:	75 0a                	jne    0x180090bd9
180090bcf:	bb 0d 00 00 c0       	mov    $0xc000000d,%ebx
180090bd4:	e9 95 01 00 00       	jmp    0x180090d6e
180090bd9:	4d 85 ed             	test   %r13,%r13
180090bdc:	74 f1                	je     0x180090bcf
180090bde:	33 d2                	xor    %edx,%edx
180090be0:	bb 00 00 03 00       	mov    $0x30000,%ebx
180090be5:	8b cb                	mov    %ebx,%ecx
180090be7:	44 8d 42 40          	lea    0x40(%rdx),%r8d
180090beb:	e8 90 50 0a 00       	call   0x180135c80
180090bf0:	48 8b 05 a9 43 11 00 	mov    0x1143a9(%rip),%rax        # 0x1801a4fa0
180090bf7:	8b d3                	mov    %ebx,%edx
180090bf9:	c7 04 25 00 00 03 00 	movl   $0x1a,0x30000
180090c00:	1a 00 00 00
180090c04:	c7 04 25 04 00 03 00 	movl   $0xbb00,0x30004
180090c0b:	00 bb 00 00
180090c0f:	8b 08                	mov    (%rax),%ecx
180090c11:	e8 fa 31 0a 00       	call   0x180133e10
180090c16:	39 34 25 04 00 03 00 	cmp    %esi,0x30004
180090c1d:	0f 85 1f 01 00 00    	jne    0x180090d42
180090c23:	81 3c 25 08 00 03 00 	cmpl   $0x41504354,0x30008
180090c2a:	54 43 50 41
180090c2e:	0f 85 0e 01 00 00    	jne    0x180090d42
180090c34:	66 81 3c 25 0c 00 03 	cmpw   $0x102,0x3000c
180090c3b:	00 02 01
180090c3e:	0f 82 fe 00 00 00    	jb     0x180090d42
180090c44:	44 8b 24 25 1c 00 03 	mov    0x3001c,%r12d
180090c4b:	00
180090c4c:	45 85 e4             	test   %r12d,%r12d
180090c4f:	0f 84 e6 00 00 00    	je     0x180090d3b
180090c55:	44 8b 3c 25 20 00 03 	mov    0x30020,%r15d
180090c5c:	00
180090c5d:	45 85 ff             	test   %r15d,%r15d
180090c60:	0f 84 d5 00 00 00    	je     0x180090d3b
180090c66:	45 3b fc             	cmp    %r12d,%r15d
180090c69:	0f 86 cc 00 00 00    	jbe    0x180090d3b
180090c6f:	41 8b c7             	mov    %r15d,%eax
180090c72:	41 2b c4             	sub    %r12d,%eax
180090c75:	3d 00 00 04 00       	cmp    $0x40000,%eax
180090c7a:	0f 87 bb 00 00 00    	ja     0x180090d3b
180090c80:	21 75 44             	and    %esi,0x44(%rbp)
180090c83:	48 8d 4d f8          	lea    -0x8(%rbp),%rcx
180090c87:	21 74 24 20          	and    %esi,0x20(%rsp)
180090c8b:	45 33 c9             	xor    %r9d,%r9d
180090c8e:	44 89 7d 40          	mov    %r15d,0x40(%rbp)
180090c92:	48 8b 55 40          	mov    0x40(%rbp),%rdx
180090c96:	45 8d 41 20          	lea    0x20(%r9),%r8d
180090c9a:	e8 81 98 00 00       	call   0x18009a520
180090c9f:	48 8b 75 f8          	mov    -0x8(%rbp),%rsi
180090ca3:	8b d8                	mov    %eax,%ebx
180090ca5:	85 c0                	test   %eax,%eax
180090ca7:	0f 85 9a 00 00 00    	jne    0x180090d47
180090cad:	8b 46 1c             	mov    0x1c(%rsi),%eax
180090cb0:	45 8d 77 20          	lea    0x20(%r15),%r14d
180090cb4:	41 2b c4             	sub    %r12d,%eax
180090cb7:	44 03 f0             	add    %eax,%r14d
180090cba:	b8 00 00 04 00       	mov    $0x40000,%eax
180090cbf:	44 3b f0             	cmp    %eax,%r14d
180090cc2:	77 7e                	ja     0x180090d42
180090cc4:	39 46 1c             	cmp    %eax,0x1c(%rsi)
180090cc7:	77 79                	ja     0x180090d42
180090cc9:	45 33 c0             	xor    %r8d,%r8d
180090ccc:	8d 53 20             	lea    0x20(%rbx),%edx
180090ccf:	48 8b ce             	mov    %rsi,%rcx
180090cd2:	e8 95 9b 00 00       	call   0x18009a86c
180090cd7:	21 5c 24 20          	and    %ebx,0x20(%rsp)
180090cdb:	48 8d 4d f0          	lea    -0x10(%rbp),%rcx
180090cdf:	44 89 65 40          	mov    %r12d,0x40(%rbp)
180090ce3:	45 33 c9             	xor    %r9d,%r9d
180090ce6:	48 8b 55 40          	mov    0x40(%rbp),%rdx
180090cea:	45 8b c6             	mov    %r14d,%r8d
180090ced:	41 8b fe             	mov    %r14d,%edi
180090cf0:	e8 2b 98 00 00       	call   0x18009a520
180090cf5:	8b d8                	mov    %eax,%ebx
180090cf7:	85 c0                	test   %eax,%eax
180090cf9:	75 3a                	jne    0x180090d35
180090cfb:	48 8b 4d 58          	mov    0x58(%rbp),%rcx
180090cff:	45 39 75 00          	cmp    %r14d,0x0(%r13)
180090d03:	72 15                	jb     0x180090d1a
180090d05:	44 8b c7             	mov    %edi,%r8d
180090d08:	48 8b 7d f0          	mov    -0x10(%rbp),%rdi
180090d0c:	48 8b d7             	mov    %rdi,%rdx
180090d0f:	e8 ac 4c 0a 00       	call   0x1801359c0
180090d14:	45 89 75 00          	mov    %r14d,0x0(%r13)
180090d18:	eb 41                	jmp    0x180090d5b
180090d1a:	48 8b 7d f0          	mov    -0x10(%rbp),%rdi
180090d1e:	45 8b 45 00          	mov    0x0(%r13),%r8d
180090d22:	48 8b d7             	mov    %rdi,%rdx