

.intel_syntax noprefix

.global init_win64
.global CollectLinkOption
.global CollectLinkObject
.global ParseCmdline
.global CmdlineFini
.global Options
.global DefaultDir

.extern banner_printed
.extern cp_logo
.extern GetFNamePart
.extern MemDup
.extern MemFree
.extern MemAlloc
.extern tprintf
.extern write_options
.extern asmerr
.extern undef_name
.extern define_name
.extern tstrcat
.extern tstrcpy
.extern tstrlen
.extern tgetenv
.extern exit
.extern rewind
.extern ftell
.extern fseek
.extern fread
.extern fclose
.extern fopen


.SECTION .text
	.ALIGN	16

$_001:	push	rbp
	mov	rbp, rsp
	sub	rsp, 32
	jmp	$_002

	lea	rdx, [DS0001+rip]
	lea	rcx, [DS0000+rip]
	call	define_name@PLT
	lea	rdx, [DS0001+rip]
	lea	rcx, [DS0002+rip]
	call	define_name@PLT
	lea	rdx, [DS0001+rip]
	lea	rcx, [DS0003+rip]
	call	define_name@PLT
	lea	rdx, [DS0001+rip]
	lea	rcx, [DS0004+rip]
	call	define_name@PLT
	lea	rdx, [DS0001+rip]
	lea	rcx, [DS0005+rip]
	call	define_name@PLT
	lea	rdx, [DS0001+rip]
	lea	rcx, [DS0006+rip]
	call	define_name@PLT
	lea	rdx, [DS0001+rip]
	lea	rcx, [DS0007+rip]
	call	define_name@PLT
	lea	rdx, [DS0001+rip]
	lea	rcx, [DS0008+rip]
	call	define_name@PLT
	lea	rdx, [DS0001+rip]
	lea	rcx, [DS0009+rip]
	call	define_name@PLT
	lea	rdx, [DS0001+rip]
	lea	rcx, [DS000A+rip]
	call	define_name@PLT
	jmp	LC000D

$_002:
	cmp	ecx, 10
	ja	LC000D
	lea	r11, [LC000E+rip]
	movzx	r10, byte ptr [r11+rcx]
	lea	r11, [LC000D+rip]
	sub	r11, r10
	jmp	r11

LC000D:
	leave
	ret

$_003:
	push	rbp
	mov	rbp, rsp
	sub	rsp, 32
	lea	rax, [cpu_option+rip]
	mov	al, byte ptr [rax+rcx]
	and	byte ptr [Options+0xA8+rip], 0x20
	or	byte ptr [Options+0xA8+rip], al
	test	edx, edx
	jz	$_004
	cmp	al, 2
	jc	$_004
	or	byte ptr [Options+0xA8+rip], 0x40
$_004:	call	$_001
	leave
	ret

init_win64:
	sub	rsp, 40
	mov	edx, 1
	mov	ecx, 10
	call	$_003
	lea	rdx, [DS0001+rip]
	lea	rcx, [DS000B+rip]
	call	define_name@PLT
	mov	dword ptr [Options+0x90+rip], 3
	mov	dword ptr [Options+0x98+rip], 7
	or	byte ptr [Options+0x2+rip], 0x01
	lea	rdx, [DS0001+rip]
	lea	rcx, [DS000C+rip]
	call	define_name@PLT
	mov	dword ptr [Options+0x8C+rip], 3
	mov	dword ptr [Options+0x94+rip], 2
	mov	dword ptr [Options+0x9C+rip], 3
	add	rsp, 40
	ret

$_005:
	mov	rax, qword ptr [rcx+0x8]
	test	rax, rax
	jz	$_008
	mov	rdx, rax
$_006:	test	rdx, rdx
	jz	$_007
	mov	qword ptr [rcx], rdx
	mov	rdx, qword ptr [rcx+0x10]
	add	rcx, 8
	jmp	$_006

$_007:	mov	qword ptr [rcx], rdx
$_008:	ret

$_009:
	push	rbp
	mov	rbp, rsp
	sub	rsp, 32
	mov	rax, rdx
	mov	rdx, qword ptr [rcx]
	cmp	byte ptr [rax], 0
	jnz	$_010
	call	$_005
	jmp	$_011

$_010:	cmp	byte ptr [rax], 61
	jnz	$_011
	inc	rax
$_011:	test	rax, rax
	jz	$_012
	cmp	byte ptr [rax], 0
	jnz	$_013
$_012:	lea	rdx, [rdx-0x3]
	mov	ecx, 1023
	call	asmerr@PLT
$_013:	leave
	ret

$_014:
	xor	eax, eax
	xor	edx, edx
	mov	al, byte ptr [rcx]
$_015:	cmp	al, 48
	jc	$_016
	cmp	al, 57
	ja	$_016
	imul	edx, edx, 10
	sub	al, 48
	add	edx, eax
	inc	rcx
	mov	al, byte ptr [rcx]
	jmp	$_015

$_016:
	mov	dword ptr [OptValue+rip], edx
	mov	rax, rcx
	ret

$_017:
	mov	qword ptr [rsp+0x8], rcx
	mov	qword ptr [rsp+0x10], rdx
	push	rsi
	push	rbp
	mov	rbp, rsp
	sub	rsp, 40
	mov	rcx, qword ptr [rbp+0x20]
	call	tstrlen@PLT
	lea	ecx, [rax+0x10]
	call	MemAlloc@PLT
	mov	rsi, rax
	mov	qword ptr [rsi], 0
	mov	rdx, qword ptr [rbp+0x20]
	lea	rcx, [rsi+0x8]
	call	tstrcpy@PLT
	mov	ecx, dword ptr [rbp+0x18]
	lea	rdx, [Options+rip]
	mov	rax, qword ptr [rdx+rcx*8+0x50]
	test	rax, rax
	jz	$_020
$_018:	cmp	qword ptr [rax], 0
	jz	$_019
	mov	rax, qword ptr [rax]
	jmp	$_018

$_019:	mov	qword ptr [rax], rsi
	jmp	$_021

$_020:	mov	qword ptr [rdx+rcx*8+0x50], rsi
$_021:	leave
	pop	rsi
	ret

$_022:
	push	rsi
	push	rdi
	push	rbx
	push	rbp
	mov	rbp, rsp
	sub	rsp, 296
	mov	rsi, rdx
	mov	ebx, ecx
	cmp	byte ptr [rsi], 61
	jnz	$_023
	inc	rsi
$_023:	mov	rcx, rsi
	call	GetFNamePart@PLT
	mov	rdi, rax
	lea	rdx, [DefaultDir+rip]
	cmp	byte ptr [rdi], 0
	jnz	$_026
	cmp	rbx, 4
	jnc	$_025
	cmp	byte ptr [rsi], 0
	jz	$_025
	mov	rcx, qword ptr [rdx+rbx*8]
	mov	rdi, rdx
	test	rcx, rcx
	jz	$_024
	call	MemFree@PLT
$_024:	mov	rcx, rsi
	call	MemDup@PLT
	mov	qword ptr [rdi+rbx*8], rax
$_025:	jmp	$_028

$_026:	mov	byte ptr [rbp-0x104], 0
	mov	rdx, qword ptr [rdx+rbx*8]
	cmp	rsi, rdi
	jnz	$_027
	cmp	ebx, 4
	jnc	$_027
	test	rdx, rdx
	jz	$_027
	lea	rcx, [rbp-0x104]
	call	tstrcpy@PLT
$_027:	mov	rdx, rsi
	lea	rcx, [rbp-0x104]
	call	tstrcat@PLT
	lea	rdx, [Options+rip]
	lea	rdi, [rdx+rbx*8+0x10]
	mov	rcx, qword ptr [rdi]
	call	MemFree@PLT
	lea	rcx, [rbp-0x104]
	call	MemDup@PLT
	mov	qword ptr [rdi], rax
$_028:	leave
	pop	rbx
	pop	rdi
	pop	rsi
	ret

$_029:
	push	rsi
	push	rdi
	push	rbp
	mov	rbp, rsp
	sub	rsp, 32
	mov	rdi, rdx
	movzx	eax, byte ptr [rdi]
	cmp	al, 46
	jz	$_030
	test	byte ptr [r15+rax], 0x44
	jnz	$_030
	xor	eax, eax
$_030:	test	al, al
	jz	$_031
	lea	rax, [Options+rip]
	lea	rsi, [rax+rcx*8+0x10]
	mov	rcx, qword ptr [rsi]
	call	MemFree@PLT
	mov	rcx, rdi
	call	MemDup@PLT
	mov	qword ptr [rsi], rax
	jmp	$_032

$_031:	mov	ecx, 4018
	call	asmerr@PLT
$_032:	leave
	pop	rdi
	pop	rsi
	ret

$_033:
	mov	qword ptr [rsp+0x8], rcx
	push	rsi
	push	rdi
	push	rbx
	push	rbp
	mov	rbp, rsp
	sub	rsp, 56
	lea	rsi, [DS000D+rip]
	mov	rdi, rcx
	call	fopen@PLT
	mov	qword ptr [rbp-0x8], rax
	test	rax, rax
	jnz	$_034
	mov	rdx, qword ptr [rbp+0x28]
	mov	ecx, 1000
	call	asmerr@PLT
	xor	eax, eax
	jmp	$_036

$_034:	mov	qword ptr [rbp-0x10], 0
	mov	edx, 2
	xor	esi, esi
	mov	rdi, qword ptr [rbp-0x8]
	call	fseek@PLT
	test	rax, rax
	jnz	$_035
	mov	rdi, qword ptr [rbp-0x8]
	call	ftell@PLT
	test	rax, rax
	jz	$_035
	mov	rbx, rax
	lea	ecx, [rax+0x1]
	call	MemAlloc@PLT
	mov	qword ptr [rbp-0x10], rax
	mov	byte ptr [rax+rbx], 0
	mov	rdi, qword ptr [rbp-0x8]
	call	rewind@PLT
	mov	rcx, qword ptr [rbp-0x8]
	mov	edx, ebx
	mov	esi, 1
	mov	rdi, qword ptr [rbp-0x10]
	call	fread@PLT
$_035:	mov	rdi, qword ptr [rbp-0x8]
	call	fclose@PLT
	mov	rax, qword ptr [rbp-0x10]
$_036:	leave
	pop	rbx
	pop	rdi
	pop	rsi
	ret

$_037:
	mov	qword ptr [rsp+0x18], r8
	mov	qword ptr [rsp+0x20], r9
	push	rsi
	push	rdi
	push	rbx
	push	rbp
	mov	rbp, rsp
	sub	rsp, 40
	mov	dword ptr [rbp-0x4], 0
	mov	rsi, rdx
	mov	rdi, rcx
$_038:	mov	al, byte ptr [rsi]
	cmp	al, 34
	jnz	$_043
	inc	rsi
$_039:	cmp	dword ptr [rbp+0x38], 0
	jz	$_042
	cmp	byte ptr [rsi], 0
	jz	$_042
	mov	eax, dword ptr [rsi]
	cmp	al, 34
	jnz	$_040
	inc	rsi
	jmp	$_042

$_040:	cmp	al, 92
	jnz	$_041
	cmp	ah, 34
	jnz	$_041
	inc	rsi
$_041:	movsb
	dec	dword ptr [rbp+0x38]
	jmp	$_039

$_042:	jmp	$_048

$_043:	cmp	dword ptr [rbp+0x38], 0
	jz	$_048
	mov	al, byte ptr [rsi]
	test	al, al
	jz	$_048
	cmp	al, 13
	jz	$_048
	cmp	al, 10
	jz	$_048
	cmp	al, 32
	jz	$_044
	cmp	al, 9
	jnz	$_045
$_044:	cmp	byte ptr [rbp+0x40], 64
	jnz	$_048
$_045:	cmp	byte ptr [rbp+0x40], 0
	jnz	$_046
	cmp	al, 45
	jnz	$_046
	cmp	eax, 1818585133
	jnz	$_048
$_046:	cmp	al, 61
	jnz	$_047
	cmp	byte ptr [rbp+0x40], 36
	jnz	$_047
	cmp	dword ptr [rbp-0x4], 0
	jnz	$_047
	mov	dword ptr [rbp-0x4], 1
	movsb
	mov	al, byte ptr [rsi]
	cmp	al, 34
	jnz	$_047
	jmp	$_038

$_047:	movsb
	dec	dword ptr [rbp+0x38]
	jmp	$_043

$_048:
	mov	byte ptr [rdi], 0
	mov	rax, rsi
	leave
	pop	rbx
	pop	rdi
	pop	rsi
	ret

$_049:
	mov	qword ptr [rsp+0x10], rdx
	push	rbx
	push	rbp
	mov	rbp, rsp
	sub	rsp, 40
	mov	rbx, rcx
	mov	rcx, rbx
	call	tstrlen@PLT
	lea	ecx, [rax+0x10]
	call	MemAlloc@PLT
	mov	rdx, qword ptr [rbp+0x20]
	mov	rcx, qword ptr [rdx]
	test	rcx, rcx
	jz	$_052
$_050:	cmp	qword ptr [rcx], 0
	jz	$_051
	mov	rcx, qword ptr [rcx]
	jmp	$_050

$_051:	mov	qword ptr [rcx], rax
	jmp	$_053

$_052:	mov	qword ptr [rdx], rax
$_053:	mov	qword ptr [rax], 0
	mov	rdx, rbx
	lea	rcx, [rax+0x8]
	call	tstrcpy@PLT
	leave
	pop	rbx
	ret

CollectLinkOption:
	push	rbp
	mov	rbp, rsp
	sub	rsp, 32
	lea	rdx, [Options+0x78+rip]
	call	$_049
	leave
	ret

CollectLinkObject:
	push	rbp
	mov	rbp, rsp
	sub	rsp, 32
	lea	rdx, [Options+0x80+rip]
	call	$_049
	leave
	ret

$_054:
	mov	qword ptr [rsp+0x8], rcx
	push	rsi
	push	rdi
	push	rbx
	push	rbp
	mov	rbp, rsp
	sub	rsp, 56
	mov	rsi, rcx
	mov	rdi, rdx
	mov	rbx, qword ptr [rsi]
	mov	eax, dword ptr [rbx]
	cmp	al, 48
	jc	$_057
	cmp	al, 57
	ja	$_057
	mov	rcx, rbx
	call	$_014
	mov	rbx, rax
	cmp	dword ptr [OptValue+rip], 11
	jge	$_056
	xor	r9d, r9d
	mov	r8d, 16
	mov	rdx, rbx
	mov	rcx, rdi
	call	$_037
	mov	rbx, rax
	mov	qword ptr [rsi], rbx
	xor	edx, edx
	cmp	byte ptr [rdi+0x1], 112
	jnz	$_055
	inc	edx
$_055:	mov	ecx, dword ptr [OptValue+rip]
	call	$_003
	jmp	$_221

$_056:	mov	rbx, qword ptr [rsi]
$_057:	cmp	al, 68
	jnz	$_058
	mov	r9d, 36
	mov	r8d, 256
	lea	rdx, [rbx+0x1]
	mov	rcx, rdi
	call	$_037
	mov	qword ptr [rsi], rax
	mov	rdx, rdi
	mov	ecx, 1
	call	$_017
	jmp	$_221

$_058:	cmp	al, 73
	jnz	$_059
	mov	r9d, 64
	mov	r8d, 256
	lea	rdx, [rbx+0x1]
	mov	rcx, rdi
	call	$_037
	mov	qword ptr [rsi], rax
	mov	rdx, rdi
	mov	ecx, 2
	call	$_017
	jmp	$_221

$_059:	xor	r9d, r9d
	mov	r8d, 16
	mov	rdx, rbx
	mov	rcx, rdi
	call	$_037
	mov	qword ptr [rsi], rax
	mov	eax, dword ptr [rdi]
	test	ah, ah
	jnz	$_060
	and	eax, 0xFF
	jmp	$_061

$_060:	test	eax, 0xFF0000
	jnz	$_061
	and	eax, 0xFFFF
$_061:	jmp	$_186

$_062:	mov	eax, dword ptr [rdi+0x4]
	cmp	al, 58
	jnz	$_063
	test	ah, ah
	jnz	$_064
$_063:	mov	rdx, rdi
	mov	ecx, 4018
	call	asmerr@PLT
	jmp	$_221

$_064:	mov	eax, dword ptr [rdi+0x5]
	xor	ebx, ebx
	jmp	$_075

$_065:	lea	rcx, [DS000E+rip]
	call	undef_name@PLT
	mov	eax, dword ptr [rdi+0x8]
	cmp	eax, 825110577
	jnz	$_066
	lea	rdx, [DS0001+rip]
	lea	rcx, [DS000E+rip]
	call	define_name@PLT
	jmp	$_068

$_066:	cmp	eax, 841887793
	jnz	$_067
	lea	rdx, [DS000F+rip]
	lea	rcx, [DS000E+rip]
	call	define_name@PLT
	jmp	$_068

$_067:	mov	rdx, rdi
	mov	ecx, 4018
	call	asmerr@PLT
	jmp	$_221

$_068:	lea	rdx, [DS0001+rip]
	lea	rcx, [DS0010+rip]
	call	define_name@PLT
	lea	rdx, [DS0001+rip]
	lea	rcx, [DS0011+rip]
	call	define_name@PLT
	lea	rdx, [DS0001+rip]
	lea	rcx, [DS0012+rip]
	call	define_name@PLT
	lea	rdx, [DS0001+rip]
	lea	rcx, [DS0013+rip]
	call	define_name@PLT
	lea	rdx, [DS0001+rip]
	lea	rcx, [DS0014+rip]
	call	define_name@PLT
	inc	ebx
$_069:	lea	rdx, [DS0001+rip]
	lea	rcx, [DS0015+rip]
	call	define_name@PLT
	inc	ebx
$_070:	lea	rdx, [DS0001+rip]
	lea	rcx, [DS0016+rip]
	call	define_name@PLT
	inc	ebx
$_071:	lea	rdx, [DS0001+rip]
	lea	rcx, [DS0002+rip]
	call	define_name@PLT
	inc	ebx
$_072:	lea	rdx, [DS0001+rip]
	lea	rcx, [DS0003+rip]
	call	define_name@PLT
	inc	ebx
	jmp	$_076

$_073:	lea	rdx, [DS0001+rip]
	lea	rcx, [DS0017+rip]
	call	define_name@PLT
	jmp	$_076

$_074:	mov	rdx, rdi
	mov	ecx, 4018
	call	asmerr@PLT
	jmp	$_221

	jmp	$_076

$_075:	cmp	eax, 827872833
	je	$_065
	cmp	eax, 894981697
	je	$_068
	cmp	eax, 844650049
	je	$_069
	cmp	eax, 5789249
	je	$_070
	cmp	eax, 843404115
	je	$_071
	cmp	eax, 4543315
	jz	$_072
	cmp	eax, 842219849
	jz	$_073
	jmp	$_074

$_076:	mov	byte ptr [Options+0xB7+rip], bl
	jmp	$_221

$_077:	or	byte ptr [Options+0x2+rip], 0x02
	jmp	$_221

$_078:	cmp	dword ptr [Options+0x90+rip], 3
	jnz	$_079
	or	byte ptr [Options+0xB6+rip], 0x02
$_079:	jmp	$_221

$_080:	or	byte ptr [Options+0x7+rip], 0x04
	and	byte ptr [Options+0x7+rip], 0xF7
	jmp	$_221

$_081:	mov	dword ptr [Options+0x8C+rip], 2
	mov	dword ptr [Options+0x90+rip], 0
	jmp	$_221

$_082:	or	byte ptr [Options+0x7+rip], 0x04
	or	byte ptr [Options+0x5+rip], 0x20
$_083:	or	byte ptr [Options+0x4+rip], 0x01
$_084:	mov	byte ptr [banner_printed+rip], 1
	jmp	$_221

$_085:	or	byte ptr [Options+0x7+rip], 0x04
	mov	dword ptr [Options+0x8C+rip], 0
	mov	dword ptr [Options+0x90+rip], 0
	jmp	$_221

$_086:	or	byte ptr [Options+rip], 0x01
	and	byte ptr [Options+rip], 0xFD
	jmp	$_221

$_087:	or	byte ptr [Options+0x1+rip], 0x10
	jmp	$_221

$_088:	and	byte ptr [Options+rip], 0xFE
	or	byte ptr [Options+rip], 0x02
	jmp	$_221

$_089:	and	byte ptr [Options+rip], 0xFE
	and	byte ptr [Options+rip], 0xFD
	jmp	$_221

$_090:	or	byte ptr [Options+rip], 0x04
	jmp	$_221

$_091:	or	byte ptr [Options+0x1+rip], 0x04
	jmp	$_221

$_092:	or	byte ptr [Options+0x4+rip], 0x08
	jmp	$_221

$_093:	mov	edx, 1
	mov	ecx, 10
	call	$_003
	lea	rdx, [DS0001+rip]
	lea	rcx, [DS000C+rip]
	call	define_name@PLT
	lea	rdx, [DS0001+rip]
	lea	rcx, [DS000B+rip]
	call	define_name@PLT
	or	byte ptr [Options+0x2+rip], 0x01
	mov	dword ptr [Options+0x98+rip], 7
	mov	dword ptr [Options+0x8C+rip], 3
	mov	dword ptr [Options+0x90+rip], 3
	mov	dword ptr [Options+0x94+rip], 2
	mov	dword ptr [Options+0x9C+rip], 3
	jmp	$_221

$_094:	mov	rbx, qword ptr [rsi]
	jmp	$_096

$_095:	inc	rbx
$_096:	cmp	byte ptr [rbx], 0
	jnz	$_095
	mov	qword ptr [rsi], rbx
	jmp	$_221

$_097:	mov	dword ptr [Options+0x8C+rip], 3
	mov	dword ptr [Options+0x90+rip], 0
	lea	rdx, [DS0001+rip]
	lea	rcx, [DS000C+rip]
	call	define_name@PLT
	jmp	$_221

$_098:	mov	dword ptr [Options+0x8+rip], 0
	jmp	$_221

$_099:	mov	dword ptr [Options+0x8+rip], 1
	jmp	$_221

$_100:	mov	byte ptr [Options+0xA8+rip], 32
	jmp	$_221

$_101:	mov	byte ptr [Options+0xA8+rip], 34
	jmp	$_221

$_102:	mov	byte ptr [Options+0xA8+rip], 35
	jmp	$_221

$_103:	and	byte ptr [Options+0xA8+rip], 0xDF
	or	byte ptr [Options+0x2+rip], 0x08
	jmp	$_221

$_104:	and	byte ptr [Options+0x1+rip], 0xFE
	or	byte ptr [Options+rip], 0x80
	lea	rcx, [DS0018+rip]
	call	undef_name@PLT
	lea	rdx, [DS000F+rip]
	lea	rcx, [DS0018+rip]
	call	define_name@PLT
	jmp	$_221

$_105:	and	byte ptr [Options+0x1+rip], 0xFE
	or	byte ptr [Options+rip], 0x40
	test	byte ptr [Options+rip], 0x80
	jnz	$_106
	lea	rcx, [DS0018+rip]
	call	undef_name@PLT
	lea	rdx, [DS0001+rip]
	lea	rcx, [DS0018+rip]
	call	define_name@PLT
$_106:	jmp	$_221

$_107:	and	byte ptr [Options+rip], 0xBF
	and	byte ptr [Options+rip], 0x7F
	lea	rcx, [DS0018+rip]
	call	undef_name@PLT
	or	byte ptr [Options+0x1+rip], 0x01
	jmp	$_221

$_108:	mov	rbx, qword ptr [rsi]
	mov	eax, dword ptr [rbx]
	jmp	$_110

$_109:	inc	rbx
$_110:	cmp	byte ptr [rbx], 0
	jnz	$_109
	mov	qword ptr [rsi], rbx
	cmp	eax, 1667854381
	jnz	$_111
	and	byte ptr [Options+rip], 0xBF
	and	byte ptr [Options+rip], 0x7F
	lea	rcx, [DS0018+rip]
	call	undef_name@PLT
	jmp	$_112

$_111:	or	byte ptr [Options+0x1+rip], 0x02
$_112:	jmp	$_221

$_113:	mov	byte ptr [Options+0xA9+rip], 3
	jmp	$_221

$_114:	mov	dword ptr [Options+0x94+rip], 4
	jmp	$_221

$_115:	mov	dword ptr [Options+0x94+rip], 1
	jmp	$_221

$_116:	or	byte ptr [Options+0x7+rip], 0x01
	jmp	$_221

$_117:	mov	dword ptr [Options+0x94+rip], 7
	jmp	$_221

$_118:	mov	dword ptr [Options+0x94+rip], 2
	jmp	$_221

$_119:	mov	dword ptr [Options+0x94+rip], 8
	jmp	$_221

$_120:	mov	dword ptr [Options+0x94+rip], 9
	jmp	$_221

$_121:	mov	dword ptr [Options+0x94+rip], 3
	lea	rdx, [DS0001+rip]
	lea	rcx, [DS0019+rip]
	call	define_name@PLT
	jmp	$_221

$_122:	call	write_options@PLT
	xor	edi, edi
	call	exit@PLT
$_123:	or	byte ptr [Options+0xB6+rip], 0x01
	jmp	$_221

$_124:	mov	byte ptr [Options+0xB8+rip], 2
	jmp	$_221

$_125:	mov	byte ptr [Options+0xB8+rip], 1
	jmp	$_221

$_126:	or	byte ptr [Options+0x2+rip], 0x80
	jmp	$_221

$_127:	or	byte ptr [Options+0x3+rip], 0x01
	jmp	$_221

$_128:	mov	byte ptr [Options+0xAD+rip], 1
	jmp	$_221

$_129:	mov	r9d, 7
	mov	r8d, 39
	mov	edx, 2
	lea	rcx, [cp_logo+rip]
	call	tprintf@PLT
	lea	rcx, [DS001A+rip]
	call	tprintf@PLT
	xor	edi, edi
	call	exit@PLT
$_130:	mov	dword ptr [Options+0x8C+rip], 0
	mov	dword ptr [Options+0x90+rip], 1
	or	byte ptr [Options+0x7+rip], 0x04
	jmp	$_221

$_131:	mov	dword ptr [Options+0x98+rip], 3
	lea	rdx, [DS0001+rip]
	lea	rcx, [DS001B+rip]
	call	define_name@PLT
	jmp	$_221

$_132:	mov	dword ptr [Options+0x98+rip], 7
	lea	rdx, [DS0001+rip]
	lea	rcx, [DS001C+rip]
	call	define_name@PLT
	jmp	$_221

$_133:	mov	dword ptr [Options+0x98+rip], 6
	lea	rdx, [DS0001+rip]
	lea	rcx, [DS001D+rip]
	call	define_name@PLT
	jmp	$_221

$_134:	mov	dword ptr [Options+0x98+rip], 5
	lea	rdx, [DS0001+rip]
	lea	rcx, [DS001E+rip]
	call	define_name@PLT
	jmp	$_221

$_135:	mov	dword ptr [Options+0x98+rip], 4
	lea	rdx, [DS0001+rip]
	lea	rcx, [DS001F+rip]
	call	define_name@PLT
	jmp	$_221

$_136:	mov	dword ptr [Options+0x98+rip], 2
	lea	rdx, [DS0001+rip]
	lea	rcx, [DS0020+rip]
	call	define_name@PLT
	jmp	$_221

$_137:	mov	dword ptr [Options+0x98+rip], 1
	lea	rdx, [DS0001+rip]
	lea	rcx, [DS0021+rip]
	call	define_name@PLT
	jmp	$_221

$_138:	lea	rdx, [DS0001+rip]
	lea	rcx, [DS0022+rip]
	call	define_name@PLT
$_139:	lea	rdx, [DS0001+rip]
	lea	rcx, [DS0023+rip]
	call	define_name@PLT
	test	byte ptr [Options+0x7+rip], 0x04
	jnz	$_140
	or	byte ptr [Options+0x7+rip], 0x08
$_140:	jmp	$_221

$_141:	lea	rdx, [DS0001+rip]
	lea	rcx, [DS0022+rip]
	call	define_name@PLT
$_142:	lea	rdx, [DS0001+rip]
	lea	rcx, [DS0023+rip]
	call	define_name@PLT
	lea	rdx, [DS0001+rip]
	lea	rcx, [DS0024+rip]
	call	define_name@PLT
	lea	rdx, [DS0001+rip]
	lea	rcx, [DS0025+rip]
	call	define_name@PLT
	jmp	$_105

$_143:	or	byte ptr [Options+0x7+rip], 0x02
	jmp	$_221

$_144:	or	byte ptr [Options+0x2+rip], 0x10
	lea	rdx, [DS0001+rip]
	lea	rcx, [DS0026+rip]
	call	define_name@PLT
	jmp	$_221

$_145:	mov	dword ptr [Options+0x8C+rip], 1
	mov	dword ptr [Options+0x90+rip], 0
	jmp	$_221

$_146:	mov	byte ptr [Options+0xB5+rip], 3
	lea	rdx, [DS0001+rip]
	lea	rcx, [DS0027+rip]
	call	define_name@PLT
$_147:	lea	rcx, [DS000C+rip]
	call	undef_name@PLT
	cmp	dword ptr [Options+0x90+rip], 3
	jz	$_148
	mov	dword ptr [Options+0x90+rip], 2
$_148:	mov	dword ptr [Options+0x8C+rip], 0
	lea	rdx, [DS0001+rip]
	lea	rcx, [DS0028+rip]
	call	define_name@PLT
	or	byte ptr [Options+0x7+rip], 0x04
	or	byte ptr [Options+0x2+rip], 0x40
	jmp	$_221

$_149:	mov	byte ptr [Options+0xB5+rip], 2
	lea	rdx, [DS0001+rip]
	lea	rcx, [DS0029+rip]
	call	define_name@PLT
	jmp	$_147

$_150:	or	byte ptr [Options+0x6+rip], 0x80
	or	byte ptr [Options+0x5+rip], 0x08
	lea	rdx, [DS0001+rip]
	lea	rcx, [DS002A+rip]
	call	define_name@PLT
	jmp	$_147

$_151:	or	byte ptr [Options+0x4+rip], 0x10
	jmp	$_221

$_152:	jmp	$_221

$_153:	or	byte ptr [Options+0x6+rip], 0x02
	jmp	$_221

$_154:	or	byte ptr [Options+rip], 0x20
	jmp	$_221

$_155:	or	byte ptr [Options+0x6+rip], 0x01
	jmp	$_221

$_156:	or	byte ptr [Options+0xB6+rip], 0x04
	jmp	$_221

$_157:	or	byte ptr [Options+rip], 0x10
	jmp	$_221

$_158:	or	byte ptr [Options+0x6+rip], 0x08
	jmp	$_221

$_159:	mov	byte ptr [Options+0xAC+rip], 0
	jmp	$_221

$_160:	or	byte ptr [Options+0x1+rip], 0x20
	lea	rdx, [DS0001+rip]
	lea	rcx, [DS002B+rip]
	call	define_name@PLT
	jmp	$_221

$_161:	or	byte ptr [Options+0x4+rip], 0x04
	jmp	$_221

$_162:	call	init_win64
	jmp	$_221

$_163:	lea	rdx, [DS0001+rip]
	lea	rcx, [DS002C+rip]
	call	define_name@PLT
	or	byte ptr [Options+0x4+rip], 0x02
	mov	byte ptr [Options+0xAA+rip], 4
	or	byte ptr [Options+0x4+rip], 0x80
	mov	byte ptr [Options+0xAB+rip], 2
	or	byte ptr [Options+0x2+rip], 0x20
	jmp	$_221

$_164:	or	byte ptr [Options+0x6+rip], 0x20
	jmp	$_221

$_165:	and	byte ptr [Options+0x5+rip], 0xFB
	jmp	$_221

$_166:	or	byte ptr [Options+0x5+rip], 0x04
	jmp	$_221

$_167:	or	byte ptr [Options+0x6+rip], 0x04
	jmp	$_221

$_168:	mov	dword ptr [Options+0x9C+rip], 0
	jmp	$_221

$_169:	mov	dword ptr [Options+0x9C+rip], 1
	jmp	$_221

$_170:	or	byte ptr [Options+0x1+rip], 0x08
	jmp	$_221

$_171:	or	byte ptr [Options+0x4+rip], 0x02
	jmp	$_221

$_172:	or	byte ptr [Options+0x4+rip], 0x20
	jmp	$_221

$_173:	or	byte ptr [Options+0x4+rip], 0x40
	jmp	$_221

$_174:	or	byte ptr [Options+0x4+rip], 0x80
	jmp	$_221

$_175:	or	byte ptr [Options+0x5+rip], 0x01
	jmp	$_221

$_176:	or	byte ptr [Options+0x5+rip], 0x02
	jmp	$_221

$_177:	or	byte ptr [Options+0x6+rip], 0x10
	jmp	$_221

$_178:	or	byte ptr [Options+0x5+rip], 0x40
$_179:	or	byte ptr [Options+0x6+rip], 0x40
	jmp	$_221

$_180:	mov	byte ptr [Options+0xAE+rip], 1
	jmp	$_221

$_181:	mov	byte ptr [Options+0xAE+rip], 2
	jmp	$_221

$_182:	mov	byte ptr [Options+0xAE+rip], 0
	jmp	$_221

$_183:	or	byte ptr [Options+0x5+rip], 0x80
	jmp	$_221

$_184:	or	byte ptr [Options+0x5+rip], 0x08
	jmp	$_221

$_185:	or	byte ptr [Options+0x5+rip], 0x10
	jmp	$_221

	jmp	$_187

$_186:	cmp	eax, 1751347809
	je	$_062
	cmp	eax, 1702064993
	je	$_077
	cmp	eax, 1869903201
	je	$_078
	cmp	eax, 99
	je	$_080
	cmp	eax, 1717989219
	je	$_081
	cmp	eax, 20549
	je	$_082
	cmp	eax, 113
	je	$_083
	cmp	eax, 1869377390
	je	$_084
	cmp	eax, 7235938
	je	$_085
	cmp	eax, 28739
	je	$_086
	cmp	eax, 29507
	je	$_087
	cmp	eax, 30019
	je	$_088
	cmp	eax, 30787
	je	$_089
	cmp	eax, 1853124452
	je	$_090
	cmp	eax, 1650749029
	je	$_091
	cmp	eax, 29029
	je	$_092
	cmp	eax, 912682085
	je	$_093
	cmp	eax, 1869771365
	je	$_094
	cmp	eax, 6712421
	je	$_097
	cmp	eax, 946425926
	je	$_098
	cmp	eax, 6901830
	je	$_099
	cmp	eax, 3174502
	je	$_100
	cmp	eax, 3305574
	je	$_101
	cmp	eax, 3371110
	je	$_102
	cmp	eax, 6516838
	je	$_103
	cmp	eax, 1128878182
	je	$_104
	cmp	eax, 1667854438
	je	$_105
	cmp	eax, 1953263718
	je	$_107
	cmp	eax, 7302758
	je	$_108
	cmp	eax, 1835102822
	je	$_113
	cmp	eax, 25415
	je	$_114
	cmp	eax, 25671
	je	$_115
	cmp	eax, 25927
	je	$_116
	cmp	eax, 29255
	je	$_117
	cmp	eax, 29511
	je	$_118
	cmp	eax, 30279
	je	$_119
	cmp	eax, 30535
	je	$_120
	cmp	eax, 31303
	je	$_121
	cmp	eax, 1818585133
	je	$_122
	cmp	eax, 1886152040
	je	$_122
	cmp	eax, 104
	je	$_122
	cmp	eax, 1701670760
	je	$_123
	cmp	eax, 1952736361
	je	$_124
	cmp	eax, 6579305
	je	$_125
	cmp	eax, 1868983913
	je	$_126
	cmp	eax, 6583402
	je	$_127
	cmp	eax, 1802398060
	je	$_128
	cmp	eax, 1869049708
	je	$_129
	cmp	eax, 31341
	je	$_130
	cmp	eax, 25453
	je	$_131
	cmp	eax, 26221
	je	$_132
	cmp	eax, 26733
	je	$_133
	cmp	eax, 27757
	je	$_134
	cmp	eax, 28013
	je	$_135
	cmp	eax, 29549
	je	$_136
	cmp	eax, 29805
	je	$_137
	cmp	eax, 6575181
	je	$_138
	cmp	eax, 21581
	je	$_139
	cmp	eax, 6571085
	je	$_141
	cmp	eax, 17485
	je	$_142
	cmp	eax, 1768714094
	je	$_143
	cmp	eax, 1919120237
	je	$_144
	cmp	eax, 6712687
	je	$_145
	cmp	eax, 6514032
	je	$_146
	cmp	eax, 25968
	je	$_147
	cmp	eax, 6776176
	je	$_149
	cmp	eax, 6579568
	je	$_150
	cmp	eax, 114
	je	$_151
	cmp	eax, 24915
	je	$_152
	cmp	eax, 26195
	je	$_153
	cmp	eax, 26451
	je	$_154
	cmp	eax, 28243
	je	$_155
	cmp	eax, 1667331187
	je	$_156
	cmp	eax, 30803
	je	$_157
	cmp	eax, 1701208435
	je	$_158
	cmp	eax, 119
	je	$_159
	cmp	eax, 29559
	je	$_160
	cmp	eax, 22615
	je	$_161
	cmp	eax, 913205623
	je	$_162
	cmp	eax, 14170
	je	$_163
	cmp	eax, 88
	je	$_164
	cmp	eax, 7168890
	je	$_165
	cmp	eax, 7824250
	je	$_166
	cmp	eax, 26202
	je	$_167
	cmp	eax, 3171962
	je	$_168
	cmp	eax, 3237498
	je	$_169
	cmp	eax, 26458
	je	$_170
	cmp	eax, 25690
	je	$_171
	cmp	eax, 6515834
	je	$_172
	cmp	eax, 6581370
	je	$_173
	cmp	eax, 6712442
	je	$_174
	cmp	eax, 7367802
	je	$_175
	cmp	eax, 7564410
	je	$_176
	cmp	eax, 6647386
	je	$_177
	cmp	eax, 27994
	je	$_178
	cmp	eax, 29530
	je	$_179
	cmp	eax, 3175546
	je	$_180
	cmp	eax, 3241082
	je	$_181
	cmp	eax, 3306618
	je	$_182
	cmp	eax, 3700314
	je	$_183
	cmp	eax, 6650490
	je	$_184
	cmp	eax, 7567994
	je	$_185
$_187:	mov	qword ptr [rsi], rbx
	mov	eax, dword ptr [rbx]
	cmp	al, 101
	jnz	$_188
	lea	rcx, [rbx+0x1]
	call	$_014
	mov	qword ptr [rsi], rax
	mov	eax, dword ptr [OptValue+rip]
	mov	dword ptr [Options+0xC+rip], eax
	jmp	$_221

$_188:	cmp	al, 87
	jnz	$_192
	lea	rcx, [rbx+0x1]
	call	$_014
	mov	qword ptr [rsi], rax
	cmp	dword ptr [OptValue+rip], 0
	jge	$_189
	mov	rdx, rbx
	mov	ecx, 4018
	call	asmerr@PLT
	jmp	$_191

$_189:	cmp	dword ptr [OptValue+rip], 3
	jle	$_190
	mov	rdx, rbx
	mov	ecx, 4008
	call	asmerr@PLT
	jmp	$_191

$_190:	mov	eax, dword ptr [OptValue+rip]
	mov	byte ptr [Options+0xAC+rip], al
$_191:	jmp	$_221

$_192:	and	eax, 0xFFFF
	mov	dword ptr [rbp-0x8], eax
	lea	rcx, [rbx+0x2]
	call	$_014
	mov	qword ptr [rsi], rax
	jmp	$_207

$_193:	mov	eax, dword ptr [OptValue+rip]
	mov	dword ptr [Options+0xA0+rip], eax
	or	byte ptr [Options+0x1+rip], 0x20
	lea	rdx, [DS0001+rip]
	lea	rcx, [DS002B+rip]
	call	define_name@PLT
	jmp	$_221

$_194:	xor	ecx, ecx
$_195:	mov	eax, 1
	shl	eax, cl
	inc	ecx
	cmp	eax, 4096
	jbe	$_196
	lea	rdx, [DS002D+rip]
	mov	ecx, 4008
	call	asmerr@PLT
	jmp	$_221

$_196:	cmp	eax, dword ptr [OptValue+rip]
	jnz	$_195
	dec	ecx
	mov	byte ptr [Options+0xB4+rip], cl
	jmp	$_221

$_197:	xor	ecx, ecx
$_198:	mov	eax, 1
	shl	eax, cl
	inc	ecx
	cmp	eax, 32
	jbe	$_199
	lea	rdx, [DS002E+rip]
	mov	ecx, 4008
	call	asmerr@PLT
	jmp	$_221

$_199:	cmp	eax, dword ptr [OptValue+rip]
	jnz	$_198
	dec	ecx
	mov	byte ptr [Options+0xB1+rip], cl
	jmp	$_221

$_200:	lea	rdx, [DS0001+rip]
	lea	rcx, [DS002C+rip]
	call	define_name@PLT
	or	byte ptr [Options+0x4+rip], 0x02
	mov	byte ptr [Options+0xAA+rip], 4
	or	byte ptr [Options+0x4+rip], 0x80
	mov	byte ptr [Options+0xAB+rip], 2
	mov	eax, dword ptr [OptValue+rip]
	test	eax, eax
	jz	$_206
	cmp	eax, 3
	jbe	$_205
	cmp	byte ptr [rbx+0x3], 0
	jz	$_202
	cmp	byte ptr [rbx+0x4], 0
	jz	$_201
	mov	rdx, rbx
	mov	ecx, 4018
	call	asmerr@PLT
	jmp	$_221

$_201:	movzx	eax, word ptr [rbx+0x2]
	sub	eax, 12336
	mov	byte ptr [Options+0xAB+rip], al
	shr	eax, 8
$_202:	and	byte ptr [Options+0x4+rip], 0x7F
	mov	byte ptr [Options+0xAA+rip], 1
	cmp	eax, 5
	jnz	$_203
	mov	byte ptr [Options+0xAA+rip], 2
	jmp	$_204

$_203:	cmp	eax, 4
	jz	$_204
	mov	rdx, rbx
	mov	ecx, 4018
	call	asmerr@PLT
$_204:	jmp	$_206

$_205:	mov	byte ptr [Options+0xAB+rip], al
$_206:	jmp	$_221

	jmp	$_208

$_207:	cmp	dword ptr [rbp-0x8], 29559
	je	$_193
	cmp	dword ptr [rbp-0x8], 28755
	je	$_194
	cmp	dword ptr [rbp-0x8], 28762
	je	$_197
	cmp	dword ptr [rbp-0x8], 26970
	je	$_200
$_208:	mov	r9d, 36
	mov	r8d, 256
	lea	rdx, [rbx+0x2]
	mov	rcx, rdi
	call	$_037
	mov	qword ptr [rsi], rax
	mov	eax, dword ptr [rbp-0x8]
	jmp	$_213

$_209:	mov	rdx, rdi
	mov	ecx, 7
	call	$_029
	jmp	$_221

$_210:	mov	rdx, rdi
	mov	ecx, 6
	call	$_029
	jmp	$_221

$_211:	mov	rdx, rdi
	mov	ecx, 4
	call	$_029
	jmp	$_221

$_212:	mov	rdx, rdi
	mov	ecx, 5
	call	$_029
	jmp	$_221

	jmp	$_214

$_213:	cmp	eax, 25454
	jz	$_209
	cmp	eax, 25710
	jz	$_210
	cmp	eax, 28014
	jz	$_211
	cmp	eax, 29806
	jz	$_212
$_214:	mov	r9d, 64
	mov	r8d, 256
	lea	rdx, [rbx+0x2]
	mov	rcx, rdi
	call	$_037
	mov	qword ptr [rsi], rax
	cmp	dword ptr [rbp-0x8], 27718
	jnz	$_215
	or	byte ptr [Options+rip], 0x08
	mov	rdx, rdi
	mov	ecx, 2
	call	$_022
	jmp	$_221

$_215:	lea	rdx, [rbx+0x2]
	mov	rcx, qword ptr [rbp+0x28]
	call	$_009
	test	rax, rax
	je	$_220
	mov	r9d, 64
	mov	r8d, 256
	mov	rdx, rax
	mov	rcx, rdi
	call	$_037
	mov	qword ptr [rsi], rax
	mov	eax, dword ptr [rbp-0x8]
	cmp	eax, 27714
	jnz	$_216
	mov	rcx, rdi
	call	MemDup@PLT
	mov	qword ptr [Options+0x70+rip], rax
	jmp	$_221

$_216:	cmp	eax, 25926
	jnz	$_217
	mov	rcx, rdi
	call	MemDup@PLT
	mov	qword ptr [Options+0x68+rip], rax
	jmp	$_221

$_217:	cmp	eax, 26950
	jnz	$_218
	mov	rdx, rdi
	xor	ecx, ecx
	call	$_017
	jmp	$_221

$_218:	cmp	eax, 28486
	jnz	$_219
	mov	rdx, rdi
	mov	ecx, 1
	call	$_022
	jmp	$_221

$_219:	cmp	eax, 30534
	jnz	$_220
	mov	rdx, rdi
	mov	ecx, 3
	call	$_022
	jmp	$_221

$_220:	lea	rdx, [rbx-0x1]
	mov	ecx, 4018
	call	asmerr@PLT
$_221:	leave
	pop	rbx
	pop	rdi
	pop	rsi
	ret

ParseCmdline:
	push	rsi
	push	rdi
	push	rbx
	push	rbp
	mov	rbp, rsp
	sub	rsp, 296
	mov	rsi, rcx
	mov	rdi, rdx
	xor	ebx, ebx
$_222:	cmp	ebx, 4
	jnc	$_224
	lea	rdx, [Options+rip]
	mov	rcx, qword ptr [rdx+rbx*8+0x10]
	test	rcx, rcx
	jz	$_223
	mov	qword ptr [rdx+rbx*8+0x10], 0
	call	MemFree@PLT
$_223:	inc	ebx
	jmp	$_222

$_224:
	mov	rbx, qword ptr [rsi]
$_225:	test	rbx, rbx
	je	$_237
	mov	eax, dword ptr [rbx]
	jmp	$_235

$_226:	inc	rbx
	jmp	$_236

$_227:	mov	rcx, rsi
	call	$_005
	mov	rbx, rax
	jmp	$_236

$_228:	inc	rbx
	mov	r9d, 64
	mov	r8d, 259
	mov	rdx, rbx
	lea	rcx, [rbp-0x104]
	call	$_037
	mov	qword ptr [rsi], rax
	xor	ebx, ebx
	cmp	byte ptr [rbp-0x104], 0
	jz	$_229
	lea	rcx, [rbp-0x104]
	call	tgetenv@PLT
	mov	rbx, rax
$_229:	test	rbx, rbx
	jnz	$_230
	lea	rcx, [rbp-0x104]
	call	$_033
	mov	rbx, rax
$_230:	jmp	$_236

$_231:	cmp	byte ptr [Options+0xAD+rip], 0
	jnz	$_232
	inc	rbx
	mov	qword ptr [rsi], rbx
	lea	rdx, [rbp-0x104]
	mov	rcx, rsi
	call	$_054
	inc	dword ptr [rdi]
	mov	rbx, qword ptr [rsi]
	jmp	$_236

$_232:	mov	r9d, 64
	mov	r8d, 259
	mov	rdx, rbx
	lea	rcx, [rbp-0x104]
	call	$_037
	mov	rbx, rax
	mov	qword ptr [rsi], rbx
	cmp	byte ptr [Options+0xAD+rip], 0
	jz	$_233
	lea	rcx, [rbp-0x104]
	call	CollectLinkOption
	jmp	$_234

$_233:	lea	rcx, [rbp-0x104]
	call	MemDup@PLT
	mov	qword ptr [Options+0x10+rip], rax
	inc	dword ptr [rdi]
	jmp	$_238

$_234:	jmp	$_236

$_235:	cmp	al, 13
	je	$_226
	cmp	al, 10
	je	$_226
	cmp	al, 9
	je	$_226
	cmp	al, 32
	je	$_226
	cmp	al, 0
	je	$_227
	cmp	al, 64
	je	$_228
	cmp	al, 45
	je	$_231
	jmp	$_232

$_236:	jmp	$_225

$_237:	mov	qword ptr [rsi], rbx
	xor	eax, eax
$_238:	leave
	pop	rbx
	pop	rdi
	pop	rsi
	ret

CmdlineFini:
	push	rsi
	push	rsi
	push	rbx
	push	rbp
	mov	rbp, rsp
	sub	rsp, 56
	xor	ebx, ebx
	lea	rsi, [DefaultDir+rip]
	lea	rdi, [Options+rip]
	jmp	$_240

$_239:	xor	eax, eax
	mov	rcx, qword ptr [rsi+rbx*8]
	mov	qword ptr [rsi+rbx*8], rax
	mov	qword ptr [rdi+rbx*8+0x10], rax
	call	MemFree@PLT
	inc	ebx
$_240:	cmp	ebx, 4
	jc	$_239
	xor	ebx, ebx
	jmp	$_244

$_241:	lea	rdx, [Options+rip]
	mov	rdi, qword ptr [rdx+rbx*8+0x50]
	jmp	$_243

$_242:	mov	rsi, qword ptr [rdi]
	mov	rcx, rdi
	call	MemFree@PLT
	mov	rdi, rsi
$_243:	test	rdi, rdi
	jnz	$_242
	lea	rdx, [Options+rip]
	mov	qword ptr [rdx+rbx*8+0x50], 0
	inc	ebx
$_244:	cmp	ebx, 3
	jc	$_241
	leave
	pop	rbx
	pop	rsi
	pop	rsi
	ret


.SECTION .data
	.ALIGN	16

Options:
	.quad  0x0000000000000000
	.quad  0x0000003200000000
	.quad  0x0000000000000000
	.quad  0x0000000000000000
	.quad  0x0000000000000000
	.quad  0x0000000000000000
	.quad  0x0000000000000000
	.quad  0x0000000000000000
	.quad  0x0000000000000000
	.quad  0x0000000000000000
	.quad  0x0000000000000000
	.quad  0x0000000000000000
	.quad  0x0000000000000000
	.quad  0x0000000000000000
	.quad  0x0000000000000000
	.quad  0x0000000000000000
	.quad  0x0000000000000000
	.quad  0x0000000100000001
	.quad  0x0000000000000000
	.quad  0x0000000000000000
	.quad  0x0000000100000000
	.quad  0x0000000200000000
	.quad  0x0000030400000004
	.quad  0x0000000000000000

DefaultDir:
	.byte  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00

OptValue: .int	 0x00000000

cpu_option:
	.byte  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x10
	.byte  0x12, 0x13, 0x80

DS0000:
	.byte  0x5F, 0x5F, 0x50, 0x36, 0x34, 0x5F, 0x5F, 0x00

DS0001:
	.byte  0x31, 0x00

DS0002:
	.byte  0x5F, 0x5F, 0x53, 0x53, 0x45, 0x32, 0x5F, 0x5F
	.byte  0x00

DS0003:
	.byte  0x5F, 0x5F, 0x53, 0x53, 0x45, 0x5F, 0x5F, 0x00

DS0004:
	.byte  0x5F, 0x5F, 0x50, 0x36, 0x38, 0x36, 0x5F, 0x5F
	.byte  0x00

DS0005:
	.byte  0x5F, 0x5F, 0x50, 0x35, 0x38, 0x36, 0x5F, 0x5F
	.byte  0x00

DS0006:
	.byte  0x5F, 0x5F, 0x50, 0x34, 0x38, 0x36, 0x5F, 0x5F
	.byte  0x00

DS0007:
	.byte  0x5F, 0x5F, 0x50, 0x33, 0x38, 0x36, 0x5F, 0x5F
	.byte  0x00

DS0008:
	.byte  0x5F, 0x5F, 0x50, 0x32, 0x38, 0x36, 0x5F, 0x5F
	.byte  0x00

DS0009:
	.byte  0x5F, 0x5F, 0x50, 0x31, 0x38, 0x36, 0x5F, 0x5F
	.byte  0x00

DS000A:
	.byte  0x5F, 0x5F, 0x50, 0x38, 0x36, 0x5F, 0x5F, 0x00

LC000E:
	.byte  0x33, 0x46, 0x59, 0x6C, 0x7F, 0x92, 0xA5, 0xA5
	.byte  0xB8, 0xCB, 0xDE

DS000B:
	.byte  0x5F, 0x57, 0x49, 0x4E, 0x36, 0x34, 0x00

DS000C:
	.byte  0x5F, 0x5F, 0x55, 0x4E, 0x49, 0x58, 0x5F, 0x5F
	.byte  0x00

DS000D:
	.byte  0x72, 0x62, 0x00

DS000E:
	.byte  0x5F, 0x5F, 0x41, 0x56, 0x58, 0x31, 0x30, 0x5F
	.byte  0x56, 0x45, 0x52, 0x5F, 0x5F, 0x00

DS000F:
	.byte  0x32, 0x00

DS0010:
	.byte  0x5F, 0x5F, 0x41, 0x56, 0x58, 0x35, 0x31, 0x32
	.byte  0x42, 0x57, 0x5F, 0x5F, 0x00

DS0011:
	.byte  0x5F, 0x5F, 0x41, 0x56, 0x58, 0x35, 0x31, 0x32
	.byte  0x43, 0x44, 0x5F, 0x5F, 0x00

DS0012:
	.byte  0x5F, 0x5F, 0x41, 0x56, 0x58, 0x35, 0x31, 0x32
	.byte  0x44, 0x51, 0x5F, 0x5F, 0x00

DS0013:
	.byte  0x5F, 0x5F, 0x41, 0x56, 0x58, 0x35, 0x31, 0x32
	.byte  0x46, 0x5F, 0x5F, 0x00

DS0014:
	.byte  0x5F, 0x5F, 0x41, 0x56, 0x58, 0x35, 0x31, 0x32
	.byte  0x56, 0x4C, 0x5F, 0x5F, 0x00

DS0015:
	.byte  0x5F, 0x5F, 0x41, 0x56, 0x58, 0x32, 0x5F, 0x5F
	.byte  0x00

DS0016:
	.byte  0x5F, 0x5F, 0x41, 0x56, 0x58, 0x5F, 0x5F, 0x00

DS0017:
	.byte  0x5F, 0x4D, 0x5F, 0x49, 0x58, 0x38, 0x36, 0x5F
	.byte  0x46, 0x50, 0x00

DS0018:
	.byte  0x5F, 0x5F, 0x50, 0x49, 0x43, 0x5F, 0x5F, 0x00

DS0019:
	.byte  0x5F, 0x53, 0x54, 0x44, 0x43, 0x41, 0x4C, 0x4C
	.byte  0x5F, 0x53, 0x55, 0x50, 0x50, 0x4F, 0x52, 0x54
	.byte  0x45, 0x44, 0x00

DS001A:
	.byte  0x0A, 0x00

DS001B:
	.byte  0x5F, 0x5F, 0x43, 0x4F, 0x4D, 0x50, 0x41, 0x43
	.byte  0x54, 0x5F, 0x5F, 0x00

DS001C:
	.byte  0x5F, 0x5F, 0x46, 0x4C, 0x41, 0x54, 0x5F, 0x5F
	.byte  0x00

DS001D:
	.byte  0x5F, 0x5F, 0x48, 0x55, 0x47, 0x45, 0x5F, 0x5F
	.byte  0x00

DS001E:
	.byte  0x5F, 0x5F, 0x4C, 0x41, 0x52, 0x47, 0x45, 0x5F
	.byte  0x5F, 0x00

DS001F:
	.byte  0x5F, 0x5F, 0x4D, 0x45, 0x44, 0x49, 0x55, 0x4D
	.byte  0x5F, 0x5F, 0x00

DS0020:
	.byte  0x5F, 0x5F, 0x53, 0x4D, 0x41, 0x4C, 0x4C, 0x5F
	.byte  0x5F, 0x00

DS0021:
	.byte  0x5F, 0x5F, 0x54, 0x49, 0x4E, 0x59, 0x5F, 0x5F
	.byte  0x00

DS0022:
	.byte  0x5F, 0x44, 0x45, 0x42, 0x55, 0x47, 0x00

DS0023:
	.byte  0x5F, 0x4D, 0x54, 0x00

DS0024:
	.byte  0x5F, 0x44, 0x4C, 0x4C, 0x00

DS0025:
	.byte  0x5F, 0x4D, 0x53, 0x56, 0x43, 0x52, 0x54, 0x00

DS0026:
	.byte  0x5F, 0x5F, 0x4D, 0x53, 0x43, 0x52, 0x54, 0x5F
	.byte  0x5F, 0x00

DS0027:
	.byte  0x5F, 0x5F, 0x43, 0x55, 0x49, 0x5F, 0x5F, 0x00

DS0028:
	.byte  0x5F, 0x5F, 0x50, 0x45, 0x5F, 0x5F, 0x00

DS0029:
	.byte  0x5F, 0x5F, 0x47, 0x55, 0x49, 0x5F, 0x5F, 0x00

DS002A:
	.byte  0x5F, 0x5F, 0x44, 0x4C, 0x4C, 0x5F, 0x5F, 0x00

DS002B:
	.byte  0x5F, 0x55, 0x4E, 0x49, 0x43, 0x4F, 0x44, 0x45
	.byte  0x00

DS002C:
	.byte  0x5F, 0x5F, 0x44, 0x45, 0x42, 0x55, 0x47, 0x5F
	.byte  0x5F, 0x00

DS002D:
	.byte  0x2D, 0x53, 0x70, 0x00

DS002E:
	.byte  0x2D, 0x5A, 0x70, 0x00


.att_syntax prefix
