
.intel_syntax noprefix

.global ForDirective

.extern RunLineQueue
.extern AddLineQueueX
.extern AddLineQueue
.extern ExpandCStrings
.extern ExpandHllProc
.extern EvaluateHllExpression
.extern GetLabelStr
.extern GetCurrOffset
.extern LstWrite
.extern Tokenize
.extern LclDup
.extern LclAlloc
.extern tsprintf
.extern asmerr
.extern tstrcat
.extern tstrcpy
.extern tstrrchr
.extern tstrlen


.SECTION .text
	.ALIGN	16

$_001:	push	rbx
	push	rbp
	mov	rbp, rsp
	sub	rsp, 40
	mov	rbx, rcx
	call	tstrlen@PLT
	test	rax, rax
	jz	$_003
	mov	ecx, eax
	add	rcx, rbx
$_002:	dec	rcx
	cmp	byte ptr [rcx], 32
	ja	$_003
	mov	byte ptr [rcx], 0
	dec	eax
	jz	$_003
	jmp	$_002

$_003:
	leave
	pop	rbx
	ret

$_004:
	push	rbx
	push	rbp
	mov	rbp, rsp
	mov	al, byte ptr [rcx]
	jmp	$_006

$_005:	inc	rcx
	mov	al, byte ptr [rcx]
$_006:	cmp	al, 32
	jz	$_005
	cmp	al, 9
	jz	$_005
	mov	rbx, rcx
	xor	edx, edx
$_007:	mov	al, byte ptr [rcx]
	jmp	$_017

$_008:	jmp	$_019

$_009:	inc	edx
	jmp	$_018

$_010:	dec	edx
	jmp	$_018

$_011:	test	edx, edx
	jnz	$_018
	mov	byte ptr [rcx], dl
	mov	al, byte ptr [rcx-0x1]
	cmp	al, 32
	jz	$_012
	cmp	al, 9
	jnz	$_013
$_012:	mov	byte ptr [rcx-0x1], dl
$_013:	inc	rcx
	mov	al, byte ptr [rcx]
	jmp	$_015

$_014:	inc	rcx
	mov	al, byte ptr [rcx]
$_015:	cmp	al, 32
	jz	$_014
	cmp	al, 9
	jz	$_014
	mov	rdx, rbx
	cmp	byte ptr [rdx], 0
	jnz	$_016
	test	al, al
	jz	$_016
	mov	rbx, rcx
	xor	edx, edx
	jmp	$_007

$_016:	jmp	$_019

$_017:	cmp	al, 0
	jz	$_008
	cmp	al, 40
	jz	$_009
	cmp	al, 41
	jz	$_010
	cmp	al, 44
	jz	$_011
$_018:	inc	rcx
	jmp	$_007

$_019:
	mov	rdx, rbx
	movzx	eax, byte ptr [rdx]
	leave
	pop	rbx
	ret

$_020:
	push	rsi
	push	rdi
	push	rbx
	push	rbp
	mov	rbp, rsp
	sub	rsp, 72
	mov	rdi, rcx
	mov	rbx, rdx
	mov	rdx, qword ptr [rbx+0x10]
	mov	cl, byte ptr [rbx]
	mov	ch, byte ptr [rbx+0x20]
	mov	eax, dword ptr [rdx]
	mov	byte ptr [rbp-0x1], 0
	cmp	cl, 91
	jnz	$_021
	inc	byte ptr [rbp-0x1]
$_021:	xor	esi, esi
	jmp	$_025

$_022:	inc	rdx
	mov	esi, 754
	jmp	$_027

$_023:	mov	rdx, qword ptr [rbx+0x58]
	mov	esi, 773
	jmp	$_027

$_024:	mov	rdx, qword ptr [rbx+0x58]
	mov	esi, 772
	jmp	$_027

$_025:	cmp	al, 126
	jz	$_022
	cmp	cl, 45
	jnz	$_026
	cmp	ch, 45
	jz	$_023
$_026:	cmp	cl, 43
	jnz	$_027
	cmp	ch, 43
	jz	$_024
$_027:	test	esi, esi
	jz	$_028
	mov	r9, rdx
	mov	r8d, esi
	lea	rdx, [DS0000+rip]
	mov	rcx, rdi
	call	tsprintf@PLT
	jmp	$_072

$_028:	xor	eax, eax
	mov	ecx, 1
$_029:	cmp	ecx, dword ptr [r14+0x64]
	jge	$_044
	imul	esi, ecx, 32
	add	rsi, rbx
	mov	dl, byte ptr [rsi]
	jmp	$_041

$_030:	inc	byte ptr [rbp-0x1]
	jmp	$_043

$_031:	dec	byte ptr [rbp-0x1]
$_032:	jmp	$_043

$_033:	mov	rax, qword ptr [rsi+0x18]
	mov	dl, byte ptr [rax]
	mov	dh, byte ptr [rsi+0x20]
	mov	rcx, qword ptr [rsi+0x38]
	jmp	$_044

$_034:	mov	rdx, qword ptr [rsi+0x10]
	mov	edx, dword ptr [rdx]
	jmp	$_040

$_035:	mov	rax, qword ptr [rsi+0x18]
	mov	rcx, qword ptr [rsi+0x38]
	jmp	$_044

$_036:	mov	rax, qword ptr [rsi+0x18]
	lea	rcx, [rax+0x3]
	cmp	byte ptr [rcx], 0
	jnz	$_037
	mov	rcx, qword ptr [rsi+0x38]
$_037:	jmp	$_044

$_038:	mov	rax, qword ptr [rsi+0x18]
	lea	rcx, [rax+0x2]
	cmp	byte ptr [rcx], 0
	jnz	$_039
	mov	rcx, qword ptr [rsi+0x38]
$_039:	jmp	$_044

$_040:	cmp	dl, 0
	jz	$_035
	cmp	dl, 62
	jz	$_036
	cmp	dl, 60
	jz	$_036
	cmp	dl, 124
	jz	$_038
	cmp	dl, 126
	jz	$_038
	cmp	dl, 94
	jz	$_038
	jmp	$_043

$_041:	cmp	dl, 91
	je	$_030
	cmp	dl, 93
	je	$_031
	cmp	byte ptr [rbp-0x1], 0
	jne	$_032
	cmp	dl, 43
	je	$_033
	cmp	dl, 45
	je	$_033
	cmp	dl, 38
	je	$_033
	cmp	dword ptr [rsi+0x4], 620
	jnz	$_042
	cmp	byte ptr [rsi+0x1], 48
	je	$_033
$_042:	cmp	dl, 9
	je	$_034
$_043:	inc	ecx
	jmp	$_029

$_044:	test	eax, eax
	jnz	$_045
	mov	rdx, qword ptr [rbx+0x18]
	mov	ecx, 2008
	call	asmerr@PLT
	xor	eax, eax
	jmp	$_072

$_045:	jmp	$_070

$_046:	mov	edx, dword ptr [rbx+0x4]
	movzx	eax, byte ptr [r14+0x14]
	and	eax, 0x9F
	test	eax, 0x80
	jz	$_047
	mov	eax, 128
	jmp	$_048

$_047:	cmp	eax, 6
	jc	$_048
	mov	eax, 6
$_048:	cmp	eax, 6
	jc	$_049
	mov	qword ptr [rsp+0x38], rcx
	mov	dword ptr [rsp+0x30], edx
	mov	dword ptr [rsp+0x28], 896
	mov	dword ptr [rsp+0x20], edx
	mov	r9d, edx
	mov	r8d, 834
	lea	rdx, [DS0001+rip]
	mov	rcx, rdi
	call	tsprintf@PLT
	jmp	$_050

$_049:	mov	dword ptr [rsp+0x38], 416
	mov	qword ptr [rsp+0x30], rcx
	mov	dword ptr [rsp+0x28], edx
	mov	dword ptr [rsp+0x20], 779
	mov	r9d, edx
	mov	r8d, 409
	lea	rdx, [DS0002+rip]
	mov	rcx, rdi
	call	tsprintf@PLT
$_050:	jmp	$_072

$_051:	mov	byte ptr [rax], 0
	cmp	dh, 38
	jnz	$_052
	mov	rax, qword ptr [rsi+0x58]
	mov	qword ptr [rsp+0x20], rax
	mov	r9d, dword ptr [rbx+0x4]
	mov	r8d, 808
	lea	rdx, [DS0001+0xA+rip]
	mov	rcx, rdi
	call	tsprintf@PLT
	jmp	$_057

$_052:	cmp	byte ptr [rcx], 126
	jnz	$_053
	inc	rcx
	mov	rax, qword ptr [rbx+0x18]
	mov	qword ptr [rsp+0x30], rax
	mov	dword ptr [rsp+0x28], 754
	mov	qword ptr [rsp+0x20], rcx
	mov	r9, qword ptr [rbx+0x18]
	mov	r8d, 779
	lea	rdx, [DS0003+rip]
	mov	rcx, rdi
	call	tsprintf@PLT
	jmp	$_057

$_053:	mov	rsi, qword ptr [rsi+0x30]
	movzx	esi, word ptr [rsi]
	mov	eax, dword ptr [rbx+0x4]
	cmp	dh, 10
	jnz	$_056
	cmp	esi, 48
	jnz	$_056
	cmp	eax, 1
	jc	$_054
	cmp	eax, 24
	jbe	$_055
$_054:	cmp	byte ptr [r14+0x4], 2
	jnz	$_056
	cmp	eax, 91
	jc	$_056
	cmp	eax, 194
	ja	$_056
$_055:	mov	dword ptr [rsp+0x20], eax
	mov	r9d, eax
	mov	r8d, 684
	lea	rdx, [DS0004+rip]
	mov	rcx, rdi
	call	tsprintf@PLT
	jmp	$_057

$_056:	mov	qword ptr [rsp+0x20], rcx
	mov	r9, qword ptr [rbx+0x18]
	mov	r8d, 779
	lea	rdx, [DS0005+rip]
	mov	rcx, rdi
	call	tsprintf@PLT
$_057:	jmp	$_072

$_058:	cmp	dh, 61
	jne	$_071
	mov	byte ptr [rax], 0
	mov	qword ptr [rsp+0x20], rcx
	mov	r9, qword ptr [rbx+0x18]
	mov	r8d, 679
	lea	rdx, [DS0005+rip]
	mov	rcx, rdi
	call	tsprintf@PLT
	jmp	$_072

$_059:	cmp	dh, 61
	jne	$_071
	mov	byte ptr [rax], 0
	mov	rax, qword ptr [rbx+0x18]
	mov	qword ptr [rsp+0x30], rax
	mov	dword ptr [rsp+0x28], 754
	mov	qword ptr [rsp+0x20], rcx
	mov	r9, qword ptr [rbx+0x18]
	mov	r8d, 779
	lea	rdx, [DS0003+rip]
	mov	rcx, rdi
	call	tsprintf@PLT
	jmp	$_072

$_060:	cmp	dh, 61
	jne	$_071
	mov	byte ptr [rax], 0
	mov	qword ptr [rsp+0x20], rcx
	mov	r9, qword ptr [rbx+0x18]
	mov	r8d, 684
	lea	rdx, [DS0005+rip]
	mov	rcx, rdi
	call	tsprintf@PLT
	jmp	$_072

$_061:	cmp	byte ptr [rsi+0x21], 48
	jne	$_071
	mov	byte ptr [rax], 0
	mov	rax, qword ptr [rsi+0x58]
	mov	qword ptr [rsp+0x20], rax
	mov	r9, qword ptr [rbx+0x18]
	mov	r8d, 682
	lea	rdx, [DS0005+rip]
	mov	rcx, rdi
	call	tsprintf@PLT
	jmp	$_072

$_062:	shr	edx, 8
	cmp	dl, 62
	jne	$_071
	cmp	dh, 61
	jne	$_071
	mov	byte ptr [rax], 0
	mov	qword ptr [rsp+0x20], rcx
	mov	r9, qword ptr [rbx+0x18]
	mov	r8d, 693
	lea	rdx, [DS0005+rip]
	mov	rcx, rdi
	call	tsprintf@PLT
	jmp	$_072

$_063:	shr	edx, 8
	cmp	dl, 60
	jne	$_071
	cmp	dh, 61
	jne	$_071
	mov	byte ptr [rax], 0
	mov	qword ptr [rsp+0x20], rcx
	mov	r9, qword ptr [rbx+0x18]
	mov	r8d, 692
	lea	rdx, [DS0005+rip]
	mov	rcx, rdi
	call	tsprintf@PLT
	jmp	$_072

$_064:	cmp	dh, 43
	jnz	$_065
	mov	byte ptr [rax], 0
	mov	r9, qword ptr [rbx+0x18]
	mov	r8d, 772
	lea	rdx, [DS0003+0xA+rip]
	mov	rcx, rdi
	call	tsprintf@PLT
	jmp	$_072

	jmp	$_066

$_065:	cmp	byte ptr [rsi+0x21], 48
	jnz	$_066
	mov	byte ptr [rax], 0
	mov	rax, qword ptr [rsi+0x58]
	mov	qword ptr [rsp+0x20], rax
	mov	r9, qword ptr [rbx+0x18]
	mov	r8d, 678
	lea	rdx, [DS0005+rip]
	mov	rcx, rdi
	call	tsprintf@PLT
	jmp	$_072

$_066:	jmp	$_071

$_067:	cmp	dh, 45
	jnz	$_068
	mov	byte ptr [rax], 0
	mov	r9, qword ptr [rbx+0x18]
	mov	r8d, 773
	lea	rdx, [DS0003+0xA+rip]
	mov	rcx, rdi
	call	tsprintf@PLT
	jmp	$_072

	jmp	$_069

$_068:	cmp	byte ptr [rsi+0x21], 48
	jnz	$_069
	mov	byte ptr [rax], 0
	mov	rax, qword ptr [rsi+0x58]
	mov	qword ptr [rsp+0x20], rax
	mov	r9, qword ptr [rbx+0x18]
	mov	r8d, 683
	lea	rdx, [DS0005+rip]
	mov	rcx, rdi
	call	tsprintf@PLT
	jmp	$_072

$_069:	jmp	$_071

$_070:	cmp	dl, 0
	je	$_046
	cmp	dl, 61
	je	$_051
	cmp	dl, 124
	je	$_058
	cmp	dl, 126
	je	$_059
	cmp	dl, 94
	je	$_060
	cmp	dl, 38
	je	$_061
	cmp	dl, 62
	je	$_062
	cmp	dl, 60
	je	$_063
	cmp	dl, 43
	je	$_064
	cmp	dl, 45
	je	$_067
$_071:	mov	rdx, qword ptr [rsi+0x18]
	mov	ecx, 2008
	call	asmerr@PLT
	xor	eax, eax
$_072:	leave
	pop	rbx
	pop	rdi
	pop	rsi
	ret

$_073:
	mov	qword ptr [rsp+0x8], rcx
	mov	qword ptr [rsp+0x18], r8
	push	rsi
	push	rdi
	push	rbx
	push	rbp
	mov	rbp, rsp
	sub	rsp, 4136
	mov	rdi, rdx
	lea	rsi, [rbp-0x800]
	jmp	$_076

$_074:	mov	rbx, rcx
	mov	rdi, rdx
	mov	rdx, rdi
	lea	rcx, [rbp-0x1000]
	call	tstrcpy@PLT
	xor	r9d, r9d
	mov	r8, qword ptr [rbp+0x38]
	xor	edx, edx
	mov	rcx, rax
	call	Tokenize@PLT
	mov	dword ptr [r14+0x64], eax
	mov	r8, qword ptr [rbp+0x38]
	xor	edx, edx
	mov	rcx, rsi
	call	ExpandHllProc@PLT
	cmp	eax, -1
	jz	$_077
	cmp	byte ptr [rsi], 0
	jz	$_075
	mov	rdx, rsi
	mov	rcx, qword ptr [rbp+0x28]
	call	tstrcat@PLT
	lea	rdx, [DS0006+rip]
	mov	rcx, rax
	call	tstrcat@PLT
	mov	byte ptr [rsi], 0
$_075:	mov	rdx, qword ptr [rbp+0x38]
	mov	rcx, rsi
	call	$_020
	test	rax, rax
	jz	$_077
	mov	rdx, rsi
	mov	rcx, qword ptr [rbp+0x28]
	call	tstrcat@PLT
	lea	rdx, [DS0006+rip]
	mov	rcx, rax
	call	tstrcat@PLT
	mov	rdi, rbx
$_076:	mov	rcx, rdi
	call	$_004
	test	rax, rax
	jne	$_074
$_077:	mov	rax, qword ptr [rbp+0x28]
	movzx	eax, byte ptr [rax]
	leave
	pop	rbx
	pop	rdi
	pop	rsi
	ret

ForDirective:
	mov	qword ptr [rsp+0x8], rcx
	mov	qword ptr [rsp+0x10], rdx
	push	rsi
	push	rdi
	push	rbx
	push	rbp
	mov	rbp, rsp
	sub	rsp, 6232
	mov	dword ptr [rbp-0x4], 0
	mov	rbx, rdx
	lea	rdi, [rbp-0x828]
	imul	eax, dword ptr [rbp+0x28], 32
	mov	eax, dword ptr [rbx+rax+0x4]
	mov	dword ptr [rbp-0x8], eax
	inc	dword ptr [rbp+0x28]
	cmp	eax, 494
	jne	$_084
	mov	rsi, qword ptr [r14+0x2E0]
	test	rsi, rsi
	jnz	$_078
	mov	ecx, 1011
	call	asmerr@PLT
	jmp	$_111

$_078:	mov	rdx, qword ptr [rsi]
	mov	rcx, qword ptr [r14+0x2E8]
	mov	qword ptr [r14+0x2E0], rdx
	mov	qword ptr [rsi], rcx
	mov	qword ptr [r14+0x2E8], rsi
	cmp	dword ptr [rsi+0x28], 6
	jz	$_079
	mov	ecx, 1011
	call	asmerr@PLT
	jmp	$_111

$_079:	mov	eax, dword ptr [rsi+0x10]
	test	eax, eax
	jz	$_080
	mov	rdx, rdi
	mov	ecx, eax
	call	GetLabelStr@PLT
	lea	r8, [DS0008+rip]
	mov	rdx, rax
	lea	rcx, [DS0007+rip]
	call	AddLineQueueX@PLT
$_080:	cmp	qword ptr [rsi+0x20], 0
	jz	$_081
	mov	rcx, qword ptr [rsi+0x20]
	call	AddLineQueue@PLT
$_081:	mov	rdx, rdi
	mov	ecx, dword ptr [rsi+0x18]
	call	GetLabelStr@PLT
	mov	rdx, rax
	lea	rcx, [DS0009+rip]
	call	AddLineQueueX@PLT
	mov	eax, dword ptr [rsi+0x14]
	test	eax, eax
	jz	$_082
	mov	rdx, rdi
	mov	ecx, eax
	call	GetLabelStr@PLT
	lea	r8, [DS0008+rip]
	mov	rdx, rax
	lea	rcx, [DS0007+rip]
	call	AddLineQueueX@PLT
$_082:	imul	eax, dword ptr [rbp+0x28], 32
	add	rbx, rax
	cmp	byte ptr [rbx], 0
	jz	$_083
	cmp	dword ptr [rbp-0x4], 0
	jnz	$_083
	mov	rdx, qword ptr [rbx+0x18]
	mov	ecx, 2008
	call	asmerr@PLT
	mov	dword ptr [rbp-0x4], eax
$_083:	jmp	$_108

$_084:	mov	rsi, qword ptr [r14+0x2E8]
	test	rsi, rsi
	jnz	$_085
	mov	ecx, 56
	call	LclAlloc@PLT
	mov	rsi, rax
$_085:	mov	rcx, qword ptr [rbp+0x30]
	call	ExpandCStrings@PLT
	xor	eax, eax
	mov	dword ptr [rsi+0x30], eax
	mov	dword ptr [rsi+0x14], eax
	cmp	dword ptr [rbp-0x8], 493
	jnz	$_086
	or	byte ptr [rsi+0x32], 0x04
$_086:	mov	dword ptr [rsi+0x28], 6
	inc	dword ptr [r14+0x36C]
	mov	eax, dword ptr [r14+0x36C]
	mov	dword ptr [rsi+0x18], eax
	inc	dword ptr [r14+0x36C]
	mov	eax, dword ptr [r14+0x36C]
	mov	dword ptr [rsi+0x10], eax
	inc	dword ptr [r14+0x36C]
	mov	eax, dword ptr [r14+0x36C]
	mov	dword ptr [rsi+0x14], eax
	imul	eax, dword ptr [rbp+0x28], 32
	add	rbx, rax
	cmp	byte ptr [rbx], 40
	jnz	$_087
	inc	dword ptr [rbp+0x28]
	add	rbx, 32
$_087:	mov	rdx, qword ptr [rbx+0x18]
	mov	rcx, rdi
	call	tstrcpy@PLT
	xor	ecx, ecx
	mov	rdx, rbx
$_088:	cmp	byte ptr [rbx], 0
	jz	$_093
	cmp	byte ptr [rbx], 58
	jz	$_089
	cmp	byte ptr [rbx], 13
	jnz	$_092
$_089:	cmp	byte ptr [rbx], 13
	jz	$_090
	cmp	byte ptr [rbx-0x20], 2
	jnz	$_090
	mov	eax, dword ptr [rbx-0x1C]
	add	eax, eax
	test	byte ptr [r12+rax*8+0x3], 0x0C
	jz	$_090
	cmp	byte ptr [rbx+0x20], 91
	jz	$_092
	cmp	byte ptr [rbx+0x20], 8
	jz	$_092
$_090:	mov	rcx, qword ptr [rbx+0x18]
	sub	rcx, qword ptr [rdx+0x18]
	add	rcx, rdi
	mov	byte ptr [rcx], 0
	cmp	byte ptr [rbx], 13
	jnz	$_091
	mov	qword ptr [rbp-0x10], rcx
	inc	rcx
	jmp	$_100

$_091:	add	rbx, 32
	mov	rax, qword ptr [rbx+0x18]
	sub	rax, qword ptr [rdx+0x18]
	add	rax, rdi
	mov	qword ptr [rbp-0x10], rax
	inc	ecx
	jmp	$_093

$_092:	add	rbx, 32
	jmp	$_088

$_093:	test	ecx, ecx
	jnz	$_094
	mov	ecx, 2206
	call	asmerr@PLT
	jmp	$_111

$_094:	xor	ecx, ecx
$_095:	cmp	byte ptr [rbx], 0
	jz	$_098
	cmp	byte ptr [rbx], 58
	jnz	$_097
	cmp	byte ptr [rbx-0x20], 2
	jnz	$_096
	mov	eax, dword ptr [rbx-0x1C]
	add	eax, eax
	test	byte ptr [r12+rax*8+0x3], 0x0C
	jz	$_096
	cmp	byte ptr [rbx+0x20], 91
	jz	$_097
	cmp	byte ptr [rbx+0x20], 8
	jz	$_097
$_096:	mov	rcx, qword ptr [rbx+0x18]
	jmp	$_098

$_097:	add	rbx, 32
	jmp	$_095

$_098:	test	rcx, rcx
	jnz	$_099
	mov	ecx, 2206
	call	asmerr@PLT
	jmp	$_111

$_099:	sub	rcx, qword ptr [rdx+0x18]
	add	rcx, rdi
$_100:	mov	byte ptr [rcx], 0
	mov	rax, qword ptr [rbx+0x38]
	sub	rax, qword ptr [rdx+0x18]
	add	rax, rdi
	mov	qword ptr [rbp-0x18], rax
	mov	rbx, rdx
	mov	rcx, rax
	call	$_001
	mov	rcx, qword ptr [rbp-0x10]
	call	$_001
	cmp	byte ptr [rbx-0x20], 40
	jnz	$_101
	mov	edx, 41
	mov	rcx, qword ptr [rbp-0x18]
	call	tstrrchr@PLT
	test	rax, rax
	jz	$_101
	mov	byte ptr [rax], 0
	mov	rcx, qword ptr [rbp-0x18]
	call	$_001
$_101:	lea	rbx, [rbp-0x1028]
	mov	byte ptr [rbx], 0
	mov	r8, qword ptr [rbp+0x30]
	mov	rdx, rdi
	mov	rcx, rbx
	call	$_073
	test	rax, rax
	jz	$_102
	mov	rcx, rbx
	call	AddLineQueue@PLT
$_102:	lea	rdx, [rbp-0x28]
	mov	ecx, dword ptr [rsi+0x18]
	call	GetLabelStr@PLT
	lea	r8, [DS0008+rip]
	mov	rdx, rax
	lea	rcx, [DS0007+rip]
	call	AddLineQueueX@PLT
	mov	byte ptr [rbx], 0
	mov	qword ptr [rsi+0x20], 0
	mov	r8, qword ptr [rbp+0x30]
	mov	rdx, qword ptr [rbp-0x18]
	mov	rcx, rbx
	call	$_073
	test	rax, rax
	jz	$_103
	mov	rcx, rbx
	call	LclDup@PLT
	mov	qword ptr [rsi+0x20], rax
$_103:	mov	rdi, qword ptr [rbp-0x10]
	mov	byte ptr [rbx], 0
	jmp	$_106

$_104:	mov	qword ptr [rbp-0x18], rcx
	mov	rdi, rdx
	lea	rdx, [DS000A+rip]
	lea	rcx, [rbp-0x1828]
	call	tstrcpy@PLT
	mov	rdx, rdi
	mov	rcx, rax
	call	tstrcat@PLT
	xor	r9d, r9d
	mov	r8, qword ptr [rbp+0x30]
	xor	edx, edx
	mov	rcx, rax
	call	Tokenize@PLT
	mov	dword ptr [r14+0x64], eax
	mov	dword ptr [rbp+0x28], 1
	mov	qword ptr [rsp+0x28], rbx
	mov	dword ptr [rsp+0x20], 0
	mov	r9d, 1
	mov	r8, qword ptr [rbp+0x30]
	lea	rdx, [rbp+0x28]
	mov	rcx, rsi
	call	EvaluateHllExpression@PLT
	mov	dword ptr [rbp-0x4], eax
	test	eax, eax
	jnz	$_105
	mov	rcx, rbx
	call	AddLineQueue@PLT
$_105:	mov	rdi, qword ptr [rbp-0x18]
$_106:	mov	rcx, rdi
	call	$_004
	test	rax, rax
	jne	$_104
	cmp	rsi, qword ptr [r14+0x2E8]
	jnz	$_107
	mov	rax, qword ptr [rsi]
	mov	qword ptr [r14+0x2E8], rax
$_107:	mov	rax, qword ptr [r14+0x2E0]
	mov	qword ptr [rsi], rax
	mov	qword ptr [r14+0x2E0], rsi
$_108:	test	byte ptr [r14], 0x08
	jz	$_109
	call	GetCurrOffset@PLT
	xor	r8d, r8d
	mov	edx, eax
	mov	ecx, 4
	call	LstWrite@PLT
$_109:	cmp	qword ptr [r14+0x2B0], 0
	jz	$_110
	call	RunLineQueue@PLT
$_110:	mov	eax, dword ptr [rbp-0x4]
$_111:	leave
	pop	rbx
	pop	rdi
	pop	rsi
	ret


.SECTION .data
	.ALIGN	16

DS0000:
	.byte  0x25, 0x72, 0x20, 0x25, 0x73, 0x00

DS0001:
	.byte  0x25, 0x72, 0x20, 0x25, 0x72, 0x2C, 0x20, 0x25
	.byte  0x72, 0x0A, 0x25, 0x72, 0x20, 0x25, 0x72, 0x2C
	.byte  0x20, 0x25, 0x73, 0x00

DS0002:
	.byte  0x25, 0x72, 0x20, 0x25, 0x72, 0x0A, 0x25, 0x72
	.byte  0x20, 0x25, 0x72, 0x2C, 0x20, 0x25, 0x73, 0x0A
	.byte  0x25, 0x72, 0x00

DS0003:
	.byte  0x25, 0x72, 0x20, 0x25, 0x73, 0x2C, 0x20, 0x25
	.byte  0x73, 0x0A, 0x25, 0x72, 0x20, 0x25, 0x73, 0x00

DS0004:
	.byte  0x25, 0x72, 0x20, 0x25, 0x72, 0x2C, 0x20, 0x25
	.byte  0x72, 0x00

DS0005:
	.byte  0x25, 0x72, 0x20, 0x25, 0x73, 0x2C, 0x20, 0x25
	.byte  0x73, 0x00

DS0006:
	.byte  0x0A, 0x00

DS0007:
	.byte  0x25, 0x73, 0x25, 0x73, 0x00

DS0008:
	.byte  0x3A, 0x00

DS0009:
	.byte  0x6A, 0x6D, 0x70, 0x20, 0x25, 0x73, 0x00

DS000A:
	.byte  0x2E, 0x69, 0x66, 0x20, 0x00


.att_syntax prefix
