
.intel_syntax noprefix

.global myltoa
.global RunMacro
.global ExpandText
.global ExpandLineItems
.global ExpandLiterals
.global ExpandClass
.global ExpandLine
.global MacroLocals
.global MacroLevel

.extern GetResWName
.extern SearchInStruct
.extern CurrProc
.extern ProcStatus
.extern _flttostr
.extern EvalOperand
.extern LstWriteSrcLine
.extern SetIfNestLevel
.extern GetIfNestLevel
.extern TextItemError
.extern fill_placeholders
.extern Tokenize
.extern PopInputStatus
.extern PushInputStatus
.extern SetLineNumber
.extern PushMacro
.extern GetTextLine
.extern WriteCodeLabel
.extern PreprocessLine
.extern WritePreprocessedLine
.extern ParseLine
.extern MemFree
.extern MemAlloc
.extern tsprintf
.extern DelayExpand
.extern asmerr
.extern Options
.extern StringBuffer
.extern SymFindID
.extern SymFind
.extern tstrcat
.extern tstrcpy
.extern tstrlen
.extern tmemicmp


.SECTION .text
	.ALIGN	16

myltoa:
	mov	qword ptr [rsp+0x10], rdx
	push	rsi
	push	rdi
	push	rbx
	push	rbp
	mov	rbp, rsp
	sub	rsp, 104
	mov	rdi, rdx
	mov	rax, rcx
	test	r9d, r9d
	jz	$_001
	mov	byte ptr [rdi], 45
	inc	rdi
	neg	rax
	jmp	$_002

$_001:	test	rax, rax
	jnz	$_002
	mov	word ptr [rdi], 48
	mov	eax, 1
	jmp	$_007

$_002:	lea	rsi, [rbp-0x1]
$_003:	test	rax, rax
	jz	$_005
	xor	edx, edx
	div	r8
	add	dl, 48
	cmp	dl, 57
	jbe	$_004
	add	dl, 7
$_004:	mov	byte ptr [rsi], dl
	dec	rsi
	jmp	$_003

$_005:	inc	rsi
	cmp	dword ptr [rbp+0x48], 0
	jz	$_006
	cmp	byte ptr [rsi], 57
	jbe	$_006
	mov	byte ptr [rdi], 48
	inc	rdi
$_006:	lea	rcx, [rbp]
	sub	rcx, rsi
	rep movsb
	mov	byte ptr [rdi], 0
	mov	rax, rdi
	sub	rax, qword ptr [rbp+0x30]
$_007:	leave
	pop	rbx
	pop	rdi
	pop	rsi
	ret

$_008:
	mov	qword ptr [rsp+0x8], rcx
	push	rbp
	mov	rbp, rsp
	sub	rsp, 48
	mov	byte ptr [rbp-0x1], 0
	mov	ecx, dword ptr [r14+0x234]
	cmp	ecx, 2048
	jbe	$_009
	mov	byte ptr [rbp-0x1], 1
	call	MemAlloc@PLT
	jmp	$_010

$_009:	mov	eax, ecx
	add	eax, 15
	and	eax, 0xFFFFFFF0
	sub	rsp, rax
	lea	rax, [rsp+0x20]
$_010:	mov	qword ptr [rbp-0x10], rax
	jmp	$_012

$_011:	xor	r9d, r9d
	mov	r8, qword ptr [rbp+0x10]
	xor	edx, edx
	mov	rcx, qword ptr [rbp-0x10]
	call	Tokenize@PLT
$_012:	mov	rcx, qword ptr [rbp-0x10]
	call	GetTextLine@PLT
	test	rax, rax
	jnz	$_011
	cmp	byte ptr [rbp-0x1], 0
	jz	$_013
	mov	rcx, qword ptr [rbp-0x10]
	call	MemFree@PLT
$_013:	leave
	ret

RunMacro:
	mov	qword ptr [rsp+0x8], rcx
	mov	qword ptr [rsp+0x10], rdx
	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, 424
	mov	rax, qword ptr [r14+0x1E0]
	sub	rax, qword ptr [StringBuffer+rip]
	mov	qword ptr [rbp-0x10], rax
	mov	dword ptr [rbp-0x18], 0
	cmp	dword ptr [rbp+0x30], 1
	jle	$_014
	inc	dword ptr [rbp-0x18]
$_014:	mov	dword ptr [rbp-0x28], -1
	cmp	dword ptr [MacroLevel+rip], 100
	jnz	$_015
	mov	ecx, 2123
	call	asmerr@PLT
	jmp	$_151

$_015:	mov	dword ptr [rbp-0x13C], 0
	mov	qword ptr [rbp-0xD8], 0
	mov	rsi, qword ptr [rbp+0x28]
	mov	rdi, qword ptr [rsi+0x78]
	mov	qword ptr [rbp-0x48], rdi
	imul	ebx, dword ptr [rbp+0x30], 32
	add	rbx, qword ptr [rbp+0x38]
	mov	dword ptr [rbp-0x2C], 0
	test	byte ptr [rsi+0x48], 0x02
	jz	$_017
	cmp	byte ptr [rbx], 40
	jnz	$_016
	inc	dword ptr [rbp+0x30]
	add	rbx, 32
	mov	dword ptr [rbp-0x2C], 41
	mov	dword ptr [rbp-0x28], 1
$_016:	mov	rax, qword ptr [rbp+0x40]
	mov	byte ptr [rax], 0
$_017:	test	byte ptr [rsi+0x48], 0x10
	jz	$_024
	cmp	dword ptr [rbp-0x28], 0
	jle	$_022
$_018:	cmp	dword ptr [rbp-0x28], 0
	jz	$_021
	cmp	byte ptr [rbx], 0
	jz	$_021
	cmp	byte ptr [rbx], 40
	jnz	$_019
	inc	dword ptr [rbp-0x28]
	jmp	$_020

$_019:	cmp	byte ptr [rbx], 41
	jnz	$_020
	dec	dword ptr [rbp-0x28]
$_020:	inc	dword ptr [rbp+0x30]
	add	rbx, 32
	jmp	$_018

$_021:	jmp	$_023

$_022:	mov	eax, dword ptr [r14+0x64]
	mov	dword ptr [rbp+0x30], eax
$_023:	mov	eax, dword ptr [rbp+0x30]
	jmp	$_151

$_024:	cmp	word ptr [rdi], 0
	jz	$_027
	movzx	eax, word ptr [rdi]
	mov	ecx, dword ptr [r14+0x234]
	mov	edx, ecx
	add	ecx, ecx
	lea	ecx, [rcx+rax*8]
	cmp	edx, 2048
	jnz	$_025
	mov	eax, ecx
	add	eax, 15
	and	eax, 0xFFFFFFF0
	sub	rsp, rax
	lea	rax, [rsp+0x30]
	jmp	$_026

$_025:	mov	dword ptr [rbp-0x13C], 1
	call	MemAlloc@PLT
$_026:	mov	qword ptr [rbp-0xD8], rax
	movzx	ecx, word ptr [rdi]
	lea	rax, [rax+rcx*8]
	mov	qword ptr [rbp-0x40], rax
	mov	qword ptr [rbp-0x8], rax
$_027:	mov	rbx, qword ptr [rbp+0x38]
	mov	dword ptr [rbp-0x1C], 0
	test	byte ptr [rsi+0x48], 0x04
	jz	$_030
	test	byte ptr [rbp+0x48], 0x01
	jz	$_028
	mov	rcx, qword ptr [rbx+0x10]
	call	tstrlen@PLT
	mov	dword ptr [rbp-0x14], eax
	mov	ecx, dword ptr [rbp-0x1C]
	mov	rdx, qword ptr [rbp-0xD8]
	mov	rdi, qword ptr [rbp-0x8]
	mov	qword ptr [rdx+rcx*8], rdi
	mov	ecx, dword ptr [rbp-0x14]
	inc	ecx
	mov	rsi, qword ptr [rbx+0x10]
	rep movsb
	mov	edx, dword ptr [rbp-0x14]
	mov	rax, qword ptr [rbp-0x8]
	add	edx, 8
	and	edx, 0xFFFFFFF8
	add	rax, rdx
	mov	qword ptr [rbp-0x8], rax
	jmp	$_029

$_028:	mov	ecx, dword ptr [rbp-0x1C]
	mov	rdx, qword ptr [rbp-0xD8]
	lea	rax, [DS0000+rip]
	mov	qword ptr [rdx+rcx*8], rax
$_029:	inc	dword ptr [rbp-0x1C]
$_030:	mov	rax, qword ptr [rbp+0x50]
	mov	dword ptr [rax], 0
	imul	eax, dword ptr [r14+0x64], 32
	mov	dword ptr [rbx+rax+0x4], 0
	imul	eax, dword ptr [rbp+0x30], 32
	add	rbx, rax
	mov	dword ptr [rbp-0x24], 0
	mov	dword ptr [rbp-0x20], 0
$_031:	mov	rsi, qword ptr [rbp+0x28]
	mov	rdi, qword ptr [rbp-0x48]
	movzx	ecx, word ptr [rdi]
	cmp	dword ptr [rbp-0x1C], ecx
	jge	$_109
	imul	ebx, dword ptr [rbp+0x30], 32
	add	rbx, qword ptr [rbp+0x38]
	cmp	byte ptr [rbx], 44
	jnz	$_032
	cmp	dword ptr [rbp-0x20], 0
	jz	$_032
	inc	dword ptr [rbp+0x30]
	add	rbx, 32
$_032:	mov	dword ptr [rbp-0x20], 1
	dec	ecx
	cmp	byte ptr [rbx], 0
	jz	$_033
	mov	eax, dword ptr [rbp-0x2C]
	cmp	byte ptr [rbx], al
	jz	$_033
	cmp	byte ptr [rbx], 44
	jnz	$_036
	test	byte ptr [rsi+0x48], 0x01
	jz	$_033
	cmp	dword ptr [rbp-0x1C], ecx
	jz	$_036
$_033:	imul	eax, dword ptr [rbp-0x1C], 16
	mov	rcx, qword ptr [rdi+0x8]
	add	rcx, rax
	cmp	byte ptr [rcx+0x8], 0
	jz	$_034
	mov	ecx, 2125
	call	asmerr@PLT
	mov	dword ptr [rbp+0x30], eax
	jmp	$_149

$_034:	cmp	dword ptr [rbp-0x24], 0
	jnz	$_035
	imul	edx, dword ptr [rbp-0x1C], 8
	add	rdx, qword ptr [rbp-0xD8]
	mov	rax, qword ptr [rcx]
	mov	qword ptr [rdx], rax
$_035:	jmp	$_108

$_036:	mov	dword ptr [rbp-0x11C], 0
	mov	dword ptr [rbp-0x120], 0
	mov	eax, dword ptr [r14+0x64]
	mov	dword ptr [rbp-0x124], eax
	mov	rdx, qword ptr [rbp-0x8]
	mov	byte ptr [rdx], 0
	mov	qword ptr [rbp-0x38], rdx
$_037:	imul	ebx, dword ptr [rbp+0x30], 32
	add	rbx, qword ptr [rbp+0x38]
	cmp	byte ptr [rbx], 0
	jz	$_038
	cmp	byte ptr [rbx], 44
	jnz	$_039
$_038:	cmp	dword ptr [rbp-0x11C], 0
	je	$_099
$_039:	cmp	byte ptr [rbx], 0
	jnz	$_042
	mov	eax, dword ptr [rbx+0x4]
	mov	dword ptr [rbp+0x30], eax
	imul	ebx, eax, 32
	add	rbx, qword ptr [rbp+0x38]
	dec	dword ptr [rbp-0x11C]
	cmp	byte ptr [rbx+0x1], 60
	jnz	$_040
	mov	dword ptr [rbp-0x120], 0
	jmp	$_041

$_040:	mov	rax, qword ptr [rbp-0x38]
	inc	qword ptr [rbp-0x38]
	mov	byte ptr [rax], 125
$_041:	jmp	$_098

$_042:	cmp	byte ptr [rbx], 37
	jne	$_078
	inc	dword ptr [rbp+0x30]
	add	rbx, 32
	jmp	$_044

$_043:	inc	dword ptr [rbp+0x30]
	add	rbx, 32
$_044:	cmp	byte ptr [rbx], 37
	jz	$_043
	mov	eax, dword ptr [rbp+0x30]
	mov	dword ptr [rbp-0x14], eax
	mov	dword ptr [rbp-0x130], 1
	cmp	byte ptr [rbx], 8
	jnz	$_046
	mov	rcx, rbx
	call	SymFindID@PLT
	mov	qword ptr [rbp-0x58], rax
	test	rax, rax
	jz	$_046
	test	byte ptr [rax+0x10], 0x01
	jz	$_046
	cmp	byte ptr [rax+0x1D], 10
	jz	$_045
	cmp	byte ptr [rax+0x1D], 9
	jnz	$_046
	test	byte ptr [rax+0x48], 0x02
	jz	$_046
	cmp	byte ptr [rbx+0x20], 40
	jnz	$_046
$_045:	mov	dword ptr [rbp-0x130], 0
$_046:	mov	dword ptr [rbp-0x12C], 0
$_047:	imul	ebx, dword ptr [rbp-0x14], 32
	add	rbx, qword ptr [rbp+0x38]
	cmp	byte ptr [rbx], 0
	je	$_060
	cmp	byte ptr [rbx], 44
	je	$_060
	mov	rcx, qword ptr [rbx+0x10]
	movzx	edx, byte ptr [r14]
	and	edx, 0x04
	shr	edx, 2
	movzx	eax, byte ptr [rcx]
	cmp	al, 46
	jnz	$_048
	test	dl, dl
	jnz	$_049
$_048:	test	byte ptr [r15+rax], 0x40
	jz	$_055
$_049:	cmp	byte ptr [rbx+0x20], 40
	jnz	$_054
	add	dword ptr [rbp-0x14], 2
	add	rbx, 64
	mov	ecx, 1
$_050:	test	ecx, ecx
	jz	$_053
	cmp	byte ptr [rbx], 0
	jz	$_053
	cmp	byte ptr [rbx], 40
	jnz	$_051
	inc	ecx
	jmp	$_052

$_051:	cmp	byte ptr [rbx], 41
	jnz	$_052
	dec	ecx
$_052:	inc	dword ptr [rbp-0x14]
	add	rbx, 32
	jmp	$_050

$_053:	dec	dword ptr [rbp-0x14]
$_054:	jmp	$_059

$_055:	cmp	dword ptr [rbp-0x2C], 41
	jnz	$_057
	cmp	byte ptr [rbx], 40
	jnz	$_056
	inc	dword ptr [rbp-0x12C]
	jmp	$_057

$_056:	cmp	byte ptr [rbx], 41
	jnz	$_057
	cmp	dword ptr [rbp-0x12C], 0
	jz	$_060
	dec	dword ptr [rbp-0x12C]
$_057:	cmp	byte ptr [rbx], 9
	jnz	$_058
	cmp	byte ptr [rbx+0x1], 0
	jz	$_060
$_058:	cmp	byte ptr [rbx], 46
	jz	$_059
	cmp	byte ptr [rbx], 38
	jz	$_059
	cmp	byte ptr [rbx], 37
	jz	$_059
	inc	dword ptr [rbp-0x130]
$_059:	inc	dword ptr [rbp-0x14]
	jmp	$_047

$_060:	mov	eax, dword ptr [rbp+0x30]
	cmp	dword ptr [rbp-0x14], eax
	jnz	$_061
	dec	dword ptr [rbp+0x30]
	jmp	$_098

$_061:	mov	rcx, qword ptr [rbx+0x18]
	imul	ebx, dword ptr [rbp+0x30], 32
	add	rbx, qword ptr [rbp+0x38]
	mov	rsi, qword ptr [rbx+0x18]
	sub	rcx, rsi
	jmp	$_063

$_062:	dec	ecx
$_063:	movzx	eax, byte ptr [rsi+rcx-0x1]
	test	byte ptr [r15+rax], 0x08
	jnz	$_062
	mov	dword ptr [rbp-0x12C], ecx
	mov	rdi, qword ptr [rbp-0x38]
	rep movsb
	mov	byte ptr [rdi], 0
	xor	r8d, r8d
	mov	rdx, qword ptr [rbp+0x38]
	mov	rcx, qword ptr [rbp-0x38]
	call	ExpandText
	cmp	eax, -1
	jnz	$_064
	mov	dword ptr [rbp+0x30], eax
	mov	rax, qword ptr [rbp-0x10]
	add	rax, qword ptr [StringBuffer+rip]
	mov	qword ptr [r14+0x1E0], rax
	jmp	$_149

$_064:	mov	eax, dword ptr [rbp-0x14]
	mov	dword ptr [rbp+0x30], eax
	dec	dword ptr [rbp+0x30]
	cmp	dword ptr [rbp-0x130], 0
	je	$_077
	mov	edx, dword ptr [r14+0x64]
	inc	edx
	mov	r9d, 1
	mov	r8, qword ptr [rbp+0x38]
	mov	rcx, qword ptr [rbp-0x38]
	call	Tokenize@PLT
	mov	dword ptr [rbp-0x128], eax
	mov	eax, dword ptr [r14+0x64]
	mov	dword ptr [rbp-0x14], eax
	inc	dword ptr [rbp-0x14]
	mov	byte ptr [rsp+0x20], 2
	lea	r9, [rbp-0xC0]
	mov	r8d, dword ptr [rbp-0x128]
	mov	rdx, qword ptr [rbp+0x38]
	lea	rcx, [rbp-0x14]
	call	EvalOperand@PLT
	cmp	eax, -1
	jnz	$_065
	mov	dword ptr [rbp-0xC0], 0
	mov	dword ptr [rbp-0xBC], 0
	jmp	$_067

$_065:	cmp	dword ptr [rbp-0x84], 0
	jz	$_067
	cmp	dword ptr [rbp-0x84], 3
	jnz	$_066
	cmp	byte ptr [rbp-0x7C], 47
	jz	$_067
$_066:	mov	ecx, 2026
	call	asmerr@PLT
	mov	dword ptr [rbp-0xC0], 0
	mov	dword ptr [rbp-0xBC], 0
$_067:	cmp	dword ptr [rbp-0x84], 0
	jnz	$_068
	xor	eax, eax
	cmp	dword ptr [rbp-0xBC], 0
	setl	al
	mov	dword ptr [rsp+0x20], 0
	mov	r9d, eax
	movzx	r8d, byte ptr [r14+0x8]
	mov	rdx, qword ptr [r14+0x1E0]
	mov	rcx, qword ptr [rbp-0xC0]
	call	myltoa
	jmp	$_075

$_068:	cmp	dword ptr [rbp-0x84], 3
	jne	$_075
	cmp	byte ptr [rbp-0x7C], 47
	jne	$_075
	cmp	dword ptr [rbp-0xC0], 16
	jnz	$_069
	cmp	dword ptr [rbp-0xB4], 0
	jnz	$_069
	lea	rdx, [DS0001+rip]
	mov	rcx, qword ptr [r14+0x1E0]
	call	tstrcpy@PLT
	jmp	$_075

$_069:	cmp	byte ptr [r14+0x29], 120
	jnz	$_070
	mov	r9, qword ptr [rbp-0xC0]
	mov	r8, qword ptr [rbp-0xB8]
	lea	rdx, [DS0002+rip]
	mov	rcx, qword ptr [r14+0x1E0]
	call	tsprintf@PLT
	jmp	$_075

$_070:	mov	dword ptr [rbp-0x164], 101
	mov	dword ptr [rbp-0x160], 3
	mov	eax, dword ptr [r14+0x1C8]
	mov	dword ptr [rbp-0x170], eax
	mov	eax, dword ptr [r14+0x234]
	mov	dword ptr [rbp-0x144], eax
	cmp	byte ptr [r14+0x29], 101
	jnz	$_071
	mov	dword ptr [rbp-0x16C], 1
	mov	dword ptr [rbp-0x168], 4096
	jmp	$_073

$_071:	cmp	byte ptr [r14+0x29], 103
	jnz	$_072
	mov	dword ptr [rbp-0x16C], 1
	mov	dword ptr [rbp-0x168], 16384
	jmp	$_073

$_072:	mov	dword ptr [rbp-0x16C], 0
	mov	dword ptr [rbp-0x168], 8192
$_073:	mov	rsi, qword ptr [r14+0x1E0]
	inc	rsi
	mov	r9d, 2097152
	mov	r8, rsi
	lea	rdx, [rbp-0x170]
	lea	rcx, [rbp-0xC0]
	call	_flttostr@PLT
	cmp	dword ptr [rbp-0x15C], -1
	jnz	$_074
	mov	byte ptr [rsi-0x1], 45
	jmp	$_075

$_074:	mov	rdx, rsi
	mov	rcx, qword ptr [r14+0x1E0]
	call	tstrcpy@PLT
$_075:	mov	eax, dword ptr [rbp-0x128]
	cmp	dword ptr [rbp-0x14], eax
	jz	$_076
	imul	ebx, dword ptr [rbp-0x14], 32
	add	rbx, qword ptr [rbp+0x38]
	mov	rdx, qword ptr [rbx+0x18]
	mov	rcx, qword ptr [r14+0x1E0]
	call	tstrcat@PLT
$_076:	mov	rdx, qword ptr [r14+0x1E0]
	mov	rcx, qword ptr [rbp-0x38]
	call	tstrcpy@PLT
$_077:	mov	rcx, qword ptr [rbp-0x38]
	call	tstrlen@PLT
	add	qword ptr [rbp-0x38], rax
	jmp	$_098

$_078:	imul	ebx, dword ptr [rbp+0x30], 32
	add	rbx, qword ptr [rbp+0x38]
	cmp	byte ptr [rbx], 9
	jnz	$_079
	cmp	byte ptr [rbx+0x1], 123
	jnz	$_079
	mov	rcx, qword ptr [rbx+0x10]
	mov	ebx, dword ptr [rbp+0x30]
	mov	rax, qword ptr [rbp-0x38]
	inc	qword ptr [rbp-0x38]
	mov	byte ptr [rax], 123
	inc	dword ptr [rbp-0x11C]
	mov	eax, dword ptr [r14+0x64]
	mov	dword ptr [rbp+0x30], eax
	mov	r9d, 3
	mov	r8, qword ptr [rbp+0x38]
	lea	edx, [rax+0x1]
	call	Tokenize@PLT
	mov	dword ptr [r14+0x64], eax
	imul	eax, eax, 32
	add	rax, qword ptr [rbp+0x38]
	mov	dword ptr [rax+0x4], ebx
	jmp	$_098

$_079:	cmp	dword ptr [rbp-0x120], 0
	jne	$_089
	cmp	dword ptr [rbp-0x28], 0
	jle	$_081
	cmp	byte ptr [rbx], 40
	jnz	$_080
	inc	dword ptr [rbp-0x28]
	jmp	$_081

$_080:	cmp	byte ptr [rbx], 41
	jnz	$_081
	dec	dword ptr [rbp-0x28]
	je	$_099
$_081:	cmp	byte ptr [rbx], 9
	jne	$_084
	cmp	byte ptr [rbx+0x1], 60
	jne	$_084
	cmp	dword ptr [rbp-0x120], 0
	jne	$_084
	mov	rsi, qword ptr [rbx+0x18]
	inc	rsi
	mov	rcx, qword ptr [rbx+0x38]
	sub	rcx, rsi
	mov	edx, ecx
	mov	rdi, qword ptr [r14+0x1E0]
	rep movsb
	mov	rdi, qword ptr [r14+0x1E0]
	jmp	$_083

$_082:	dec	edx
$_083:	cmp	byte ptr [rdi+rdx-0x1], 62
	jnz	$_082
	mov	byte ptr [rdi+rdx-0x1], 0
	mov	rax, rdi
	add	edx, 8
	and	edx, 0xFFFFFFF8
	add	rax, rdx
	mov	qword ptr [r14+0x1E0], rax
	inc	dword ptr [rbp-0x11C]
	mov	dword ptr [rbp-0x120], 1
	mov	ebx, dword ptr [rbp+0x30]
	mov	eax, dword ptr [r14+0x64]
	mov	dword ptr [rbp+0x30], eax
	mov	r9d, 1
	mov	r8, qword ptr [rbp+0x38]
	lea	edx, [rax+0x1]
	mov	rcx, rdi
	call	Tokenize@PLT
	mov	dword ptr [r14+0x64], eax
	imul	eax, eax, 32
	add	rax, qword ptr [rbp+0x38]
	mov	dword ptr [rax+0x4], ebx
	imul	ebx, dword ptr [rbp+0x30], 32
	add	rbx, qword ptr [rbp+0x38]
	mov	rcx, qword ptr [rbx+0x38]
	sub	rcx, rdi
	mov	rsi, rdi
	mov	rdi, qword ptr [rbp-0x38]
	rep movsb
	mov	qword ptr [rbp-0x38], rdi
	jmp	$_098

$_084:	cmp	byte ptr [rbx], 8
	jne	$_089
	mov	rcx, rbx
	call	SymFindID@PLT
	test	rax, rax
	je	$_089
	mov	qword ptr [rbp-0x58], rax
	cmp	byte ptr [rax+0x1D], 9
	jne	$_087
	test	byte ptr [rax+0x10], 0x01
	je	$_087
	test	byte ptr [rax+0x48], 0x02
	je	$_087
	cmp	byte ptr [rbx+0x20], 40
	jne	$_087
	inc	dword ptr [rbp+0x30]
	lea	rax, [rbp-0x134]
	mov	qword ptr [rsp+0x28], rax
	mov	dword ptr [rsp+0x20], 0
	mov	r9, qword ptr [rbp-0x38]
	mov	r8, qword ptr [rbp+0x38]
	mov	edx, dword ptr [rbp+0x30]
	mov	rcx, qword ptr [rbp-0x58]
	call	RunMacro
	mov	dword ptr [rbp+0x30], eax
	cmp	dword ptr [rbp+0x30], 0
	jge	$_085
	mov	rax, qword ptr [rbp-0x10]
	add	rax, qword ptr [StringBuffer+rip]
	mov	qword ptr [r14+0x1E0], rax
	jmp	$_149

$_085:	mov	rcx, qword ptr [rbp-0x38]
	call	tstrlen@PLT
	add	qword ptr [rbp-0x38], rax
	imul	ebx, dword ptr [rbp+0x30], 32
	add	rbx, qword ptr [rbp+0x38]
	cmp	byte ptr [rbx], 0
	jz	$_086
	cmp	byte ptr [rbx], 44
	jz	$_086
	mov	rsi, qword ptr [rbx-0x8]
	inc	rsi
	mov	rcx, qword ptr [rbx+0x18]
	sub	rcx, rsi
	mov	rdi, qword ptr [rbp-0x38]
	rep movsb
	mov	qword ptr [rbp-0x38], rdi
$_086:	dec	dword ptr [rbp+0x30]
	sub	rbx, 32
	jmp	$_098

	jmp	$_089

$_087:	cmp	byte ptr [rax+0x1D], 10
	jnz	$_089
	test	byte ptr [rax+0x10], 0x01
	jz	$_089
	mov	ecx, dword ptr [rbp-0x1C]
	mov	edx, 1
	shl	edx, cl
	mov	rdi, qword ptr [rbp-0x48]
	mov	rsi, qword ptr [rbp+0x28]
	test	byte ptr [rsi+0x10], 0x08
	jz	$_089
	test	word ptr [rdi+0x2], dx
	jz	$_089
	mov	rdx, qword ptr [rax+0x30]
	mov	rcx, qword ptr [rbp-0x38]
	call	tstrcpy@PLT
	xor	r9d, r9d
	xor	r8d, r8d
	mov	rdx, qword ptr [rbp+0x38]
	mov	rcx, qword ptr [rbp-0x38]
	call	$_199
	mov	rcx, qword ptr [rbp-0x38]
	call	tstrlen@PLT
	add	qword ptr [rbp-0x38], rax
	cmp	byte ptr [rbx+0x20], 0
	jz	$_088
	cmp	byte ptr [rbx+0x20], 44
	jz	$_088
	mov	rdx, qword ptr [rbp-0x58]
	mov	esi, dword ptr [rdx+0x14]
	add	rsi, qword ptr [rbx+0x18]
	mov	rcx, qword ptr [rbx+0x38]
	sub	rcx, rsi
	mov	rdi, qword ptr [rbp-0x38]
	rep movsb
	mov	qword ptr [rbp-0x38], rdi
$_088:	jmp	$_098

$_089:	mov	rcx, qword ptr [rbx+0x38]
	sub	rcx, qword ptr [rbx+0x18]
	cmp	dword ptr [rbp-0x11C], 0
	jnz	$_093
	cmp	byte ptr [rbx+0x20], 44
	jz	$_090
	mov	eax, dword ptr [rbp-0x2C]
	cmp	byte ptr [rbx+0x20], al
	jnz	$_093
$_090:	mov	rdx, qword ptr [rbx+0x18]
	jmp	$_092

$_091:	dec	rcx
$_092:	movzx	eax, byte ptr [rdx+rcx-0x1]
	test	byte ptr [r15+rax], 0x08
	jnz	$_091
$_093:	mov	rdi, qword ptr [rbp-0x38]
	mov	rsi, qword ptr [rbx+0x18]
	cmp	byte ptr [rbx], 9
	jnz	$_097
	cmp	byte ptr [rbx+0x1], 0
	jnz	$_097
	add	rcx, rsi
$_094:	cmp	rsi, rcx
	jnc	$_096
	cmp	byte ptr [rsi], 33
	jnz	$_095
	inc	rsi
$_095:	movsb
	jmp	$_094

$_096:	mov	qword ptr [rbp-0x38], rdi
	jmp	$_098

$_097:	rep movsb
	mov	qword ptr [rbp-0x38], rdi
$_098:	inc	dword ptr [rbp+0x30]
	jmp	$_037

$_099:	mov	rax, qword ptr [rbp-0x38]
	mov	byte ptr [rax], 0
	mov	eax, dword ptr [rbp-0x124]
	mov	dword ptr [r14+0x64], eax
	mov	rax, qword ptr [rbp-0x10]
	add	rax, qword ptr [StringBuffer+rip]
	mov	qword ptr [r14+0x1E0], rax
	mov	rdi, qword ptr [rbp-0x48]
	mov	rsi, qword ptr [rbp+0x28]
	movzx	eax, word ptr [rdi]
	dec	eax
	mov	rdx, qword ptr [rbp-0x8]
	test	byte ptr [rsi+0x48], 0x01
	jz	$_106
	cmp	dword ptr [rbp-0x1C], eax
	jnz	$_106
	cmp	dword ptr [rbp-0x24], 0
	jnz	$_100
	mov	rax, qword ptr [rbp-0xD8]
	mov	ecx, dword ptr [rbp-0x1C]
	mov	qword ptr [rax+rcx*8], rdx
$_100:	mov	rax, qword ptr [rbp-0x38]
	test	byte ptr [rsi+0x10], 0x08
	jz	$_101
	sub	rax, qword ptr [rbp-0x8]
	mov	edx, eax
	mov	rax, qword ptr [rbp-0x8]
	add	edx, 8
	and	edx, 0xFFFFFFF8
	add	rax, rdx
$_101:	mov	qword ptr [rbp-0x8], rax
	cmp	byte ptr [rbx], 44
	jnz	$_105
	inc	dword ptr [rbp+0x30]
	add	rbx, 32
	mov	rdx, rax
	test	byte ptr [rsi+0x48], 0x02
	jz	$_102
	mov	eax, dword ptr [rbp-0x2C]
	cmp	byte ptr [rbx], al
	jz	$_104
$_102:	dec	dword ptr [rbp-0x1C]
	test	byte ptr [rsi+0x10], 0x08
	jnz	$_103
	mov	byte ptr [rdx], 44
	inc	rdx
	inc	qword ptr [rbp-0x8]
$_103:	mov	byte ptr [rdx], 0
$_104:	mov	dword ptr [rbp-0x20], 0
$_105:	inc	dword ptr [rbp-0x24]
	jmp	$_108

$_106:	cmp	byte ptr [rdx], 0
	jz	$_107
	mov	rax, rdx
	mov	rcx, qword ptr [rbp-0xD8]
	mov	edx, dword ptr [rbp-0x1C]
	mov	qword ptr [rcx+rdx*8], rax
	mov	rdx, qword ptr [rbp-0x38]
	sub	rdx, rax
	add	edx, 8
	and	edx, 0xFFFFFFF8
	add	rax, rdx
	mov	qword ptr [rbp-0x8], rax
	jmp	$_108

$_107:	mov	rdx, qword ptr [rbp-0xD8]
	mov	ecx, dword ptr [rbp-0x1C]
	lea	rax, [DS0002+0xA+rip]
	mov	qword ptr [rdx+rcx*8], rax
$_108:	inc	dword ptr [rbp-0x1C]
	jmp	$_031

$_109:	cmp	dword ptr [rbp-0x28], 0
	jl	$_114
	cmp	byte ptr [rbx], 41
	jz	$_113
	mov	eax, dword ptr [rbp+0x30]
	mov	dword ptr [rbp-0x14], eax
$_110:	mov	eax, dword ptr [r14+0x64]
	cmp	dword ptr [rbp+0x30], eax
	jge	$_111
	cmp	byte ptr [rbx], 41
	jz	$_111
	inc	dword ptr [rbp+0x30]
	add	rbx, 32
	jmp	$_110

$_111:	mov	eax, dword ptr [r14+0x64]
	cmp	dword ptr [rbp+0x30], eax
	jnz	$_112
	mov	ecx, 2157
	call	asmerr@PLT
	mov	dword ptr [rbp+0x30], eax
	jmp	$_149

	jmp	$_113

$_112:	imul	eax, dword ptr [rbp-0x14], 32
	add	rax, qword ptr [rbp+0x38]
	mov	r8, qword ptr [rax+0x18]
	mov	rdx, qword ptr [rsi+0x8]
	mov	ecx, 4006
	call	asmerr@PLT
$_113:	inc	dword ptr [rbp+0x30]
	add	rbx, 32
	jmp	$_115

$_114:	cmp	byte ptr [rbx], 0
	jz	$_115
	test	byte ptr [rbp+0x48], 0x04
	jnz	$_115
	mov	r8, qword ptr [rbx+0x18]
	mov	rdx, qword ptr [rsi+0x8]
	mov	ecx, 4006
	call	asmerr@PLT
$_115:	test	byte ptr [rsi+0x10], 0x08
	jz	$_116
	cmp	qword ptr [rsi+0x30], 0
	jz	$_116
	mov	eax, dword ptr [rbp-0x24]
	mov	dword ptr [rbp-0xC8], eax
	mov	r8, qword ptr [rbp+0x38]
	mov	rdx, qword ptr [rbp+0x40]
	lea	rcx, [rbp-0xF0]
	call	qword ptr [rsi+0x30]
	mov	rax, qword ptr [rbp+0x50]
	mov	dword ptr [rax], 1
	jmp	$_149

$_116:	mov	eax, dword ptr [MacroLocals+rip]
	mov	dword ptr [rbp-0xE0], eax
	movzx	eax, word ptr [rdi+0x2]
	add	dword ptr [MacroLocals+rip], eax
	mov	rax, qword ptr [rdi+0x10]
	mov	qword ptr [rbp-0xE8], rax
	mov	qword ptr [rbp-0xF0], 0
	movzx	eax, word ptr [rdi]
	mov	dword ptr [rbp-0xC8], eax
	cmp	qword ptr [rbp-0xE8], 0
	je	$_149
	mov	rax, qword ptr [rsi+0x8]
	test	byte ptr [rsi+0x48], 0x02
	jnz	$_117
	cmp	byte ptr [rax], 0
	jz	$_117
	call	LstWriteSrcLine@PLT
$_117:	test	byte ptr [rbp+0x48], 0x02
	jnz	$_118
	lea	rcx, [rbp-0x110]
	call	PushInputStatus@PLT
	mov	qword ptr [rbp+0x38], rax
$_118:	mov	qword ptr [rbp-0xD0], rsi
	lea	rcx, [rbp-0xF0]
	call	PushMacro@PLT
	inc	dword ptr [MacroLevel+rip]
	call	GetIfNestLevel@PLT
	mov	dword ptr [rbp-0x114], eax
	mov	dword ptr [rbp-0x118], 0
	jmp	$_147

$_119:	mov	rcx, qword ptr [rbp+0x38]
	call	PreprocessLine@PLT
	test	rax, rax
	je	$_147
	mov	rbx, qword ptr [rbp+0x38]
	cmp	byte ptr [rbx], 58
	jnz	$_122
	cmp	byte ptr [rbx+0x20], 8
	jz	$_120
	mov	rdx, qword ptr [rbx+0x18]
	mov	ecx, 2008
	call	asmerr@PLT
	jmp	$_121

$_120:	cmp	byte ptr [rbx+0x40], 0
	jz	$_121
	mov	rdx, qword ptr [rbx+0x58]
	mov	ecx, 2008
	call	asmerr@PLT
$_121:	jmp	$_147

$_122:	cmp	byte ptr [rbx], 3
	jne	$_146
	cmp	dword ptr [rbx+0x4], 571
	jz	$_123
	cmp	dword ptr [rbx+0x4], 503
	jne	$_135
$_123:	test	byte ptr [r14], 0x08
	jz	$_124
	cmp	dword ptr [r14+0x1CC], 2
	jnz	$_124
	call	LstWriteSrcLine@PLT
$_124:	cmp	byte ptr [rbx+0x20], 0
	je	$_133
	cmp	byte ptr [rbx+0x20], 9
	jnz	$_125
	cmp	byte ptr [rbx+0x21], 60
	jz	$_126
$_125:	lea	rcx, [rbx+0x20]
	call	TextItemError@PLT
	jmp	$_133

$_126:	cmp	dword ptr [r14+0x64], 2
	jle	$_127
	mov	rdx, qword ptr [rbx+0x58]
	mov	ecx, 2008
	call	asmerr@PLT
	jmp	$_133

$_127:	cmp	qword ptr [rbp+0x40], 0
	jz	$_133
	mov	rdi, qword ptr [rbp+0x40]
	mov	rdx, qword ptr [rbp-0xF0]
	mov	rax, qword ptr [rbx+0x38]
	sub	rax, qword ptr [r14+0x1D8]
	mov	al, byte ptr [rdx+rax+0x9]
	cmp	dword ptr [rbp-0x18], 0
	jnz	$_128
	cmp	dword ptr [rbx+0x4], 503
	jnz	$_128
	mov	rax, qword ptr [rbp+0x40]
	mov	byte ptr [rax], 0
	jmp	$_133

$_128:	cmp	byte ptr [rdx+0x8], 0
	jnz	$_129
	cmp	al, 60
	jz	$_130
$_129:	mov	ecx, dword ptr [rbx+0x24]
	inc	ecx
	mov	rsi, qword ptr [rbx+0x30]
	rep movsb
	jmp	$_133

$_130:	mov	rsi, qword ptr [rbx+0x38]
	inc	rsi
	mov	rcx, qword ptr [rbx+0x58]
	sub	rcx, rsi
	rep movsb
	dec	rdi
	jmp	$_132

$_131:	dec	rdi
$_132:	cmp	byte ptr [rdi], 62
	jnz	$_131
	mov	byte ptr [rdi], 0
$_133:	cmp	dword ptr [rbp-0x118], 0
	jz	$_134
	mov	qword ptr [rbp-0xF0], 0
	xor	ecx, ecx
	call	SetLineNumber@PLT
	mov	ecx, dword ptr [rbp-0x114]
	call	SetIfNestLevel@PLT
$_134:	mov	rcx, qword ptr [rbp+0x38]
	call	$_008
	mov	rax, qword ptr [rbp+0x50]
	mov	dword ptr [rax], 1
	jmp	$_148

	jmp	$_146

$_135:	cmp	dword ptr [rbx+0x4], 573
	jne	$_146
	cmp	byte ptr [rbx+0x20], 0
	je	$_144
	mov	rcx, qword ptr [rbx+0x30]
	call	tstrlen@PLT
	mov	dword ptr [rbp-0x138], eax
	mov	dword ptr [rbp-0x14], 1
	mov	rdi, qword ptr [rbp-0xE8]
$_136:	test	rdi, rdi
	je	$_141
	lea	rsi, [rdi+0x9]
	cmp	byte ptr [rsi], 58
	jnz	$_140
	cmp	byte ptr [rdi+0x8], 0
	jz	$_137
	mov	rax, qword ptr [rbp-0xD8]
	mov	qword ptr [rsp+0x20], rax
	mov	r9d, dword ptr [rbp-0xE0]
	mov	r8d, dword ptr [rbp-0xC8]
	mov	rdx, rsi
	mov	rcx, qword ptr [r14+0x1E0]
	call	fill_placeholders@PLT
	mov	rsi, qword ptr [r14+0x1E0]
$_137:	inc	rsi
	jmp	$_139

$_138:	inc	rsi
$_139:	movzx	eax, byte ptr [rsi]
	test	byte ptr [r15+rax], 0x08
	jnz	$_138
	mov	r8d, dword ptr [rbp-0x138]
	mov	rdx, qword ptr [rbx+0x30]
	mov	rcx, rsi
	call	tmemicmp@PLT
	test	eax, eax
	jnz	$_140
	mov	ecx, dword ptr [rbp-0x138]
	movzx	eax, byte ptr [rsi+rcx]
	test	byte ptr [r15+rax], 0x44
	jz	$_141
$_140:	mov	rdi, qword ptr [rdi]
	inc	dword ptr [rbp-0x14]
	jmp	$_136

$_141:	test	rdi, rdi
	jnz	$_142
	mov	rdx, qword ptr [rbx+0x30]
	mov	ecx, 2147
	call	asmerr@PLT
	jmp	$_143

$_142:	mov	qword ptr [rbp-0xF0], rdi
	mov	ecx, dword ptr [rbp-0x14]
	call	SetLineNumber@PLT
	mov	ecx, dword ptr [rbp-0x114]
	call	SetIfNestLevel@PLT
	inc	dword ptr [rbp-0x118]
	jmp	$_147

$_143:	jmp	$_145

$_144:	mov	rdx, qword ptr [rbx+0x18]
	mov	ecx, 2008
	call	asmerr@PLT
$_145:	mov	rcx, qword ptr [rbp+0x38]
	call	$_008
	jmp	$_148

$_146:	mov	rcx, qword ptr [rbp+0x38]
	call	ParseLine@PLT
	test	byte ptr [Options+0x5+rip], 0x20
	jz	$_147
	mov	rcx, qword ptr [r14+0x1D8]
	call	WritePreprocessedLine@PLT
$_147:	mov	rcx, qword ptr [r14+0x1D8]
	call	GetTextLine@PLT
	test	rax, rax
	jne	$_119
$_148:	dec	dword ptr [MacroLevel+rip]
	test	byte ptr [rbp+0x48], 0x02
	jnz	$_149
	lea	rcx, [rbp-0x110]
	call	PopInputStatus@PLT
$_149:	cmp	dword ptr [rbp-0x13C], 0
	jz	$_150
	mov	rcx, qword ptr [rbp-0xD8]
	call	MemFree@PLT
$_150:	mov	eax, dword ptr [rbp+0x30]
$_151:	leave
	pop	rbx
	pop	rdi
	pop	rsi
	ret

$_152:
	mov	qword ptr [rsp+0x10], rdx
	mov	qword ptr [rsp+0x18], r8
	mov	qword ptr [rsp+0x20], r9
	push	rbx
	push	rbp
	mov	rbp, rsp
	mov	rbx, rcx
	movsxd	rax, dword ptr [rbp+0x28]
	imul	rcx, rax, 32
	mov	edx, dword ptr [rbp+0x20]
	cmp	eax, 0
	jle	$_155
	imul	eax, dword ptr [rbp+0x30], 32
	add	rbx, rax
$_153:	cmp	dword ptr [rbp+0x30], edx
	jl	$_154
	mov	rax, qword ptr [rbx]
	mov	qword ptr [rbx+rcx], rax
	mov	rax, qword ptr [rbx+0x8]
	mov	qword ptr [rbx+rcx+0x8], rax
	mov	rax, qword ptr [rbx+0x10]
	mov	qword ptr [rbx+rcx+0x10], rax
	mov	rax, qword ptr [rbx+0x18]
	mov	qword ptr [rbx+rcx+0x18], rax
	dec	dword ptr [rbp+0x30]
	sub	rbx, 32
	jmp	$_153

$_154:	jmp	$_157

$_155:	cmp	eax, 0
	jge	$_157
	sub	edx, eax
	imul	eax, edx, 32
	add	rbx, rax
$_156:	cmp	edx, dword ptr [rbp+0x30]
	jg	$_157
	mov	rax, qword ptr [rbx]
	mov	qword ptr [rbx+rcx], rax
	mov	rax, qword ptr [rbx+0x8]
	mov	qword ptr [rbx+rcx+0x8], rax
	mov	rax, qword ptr [rbx+0x10]
	mov	qword ptr [rbx+rcx+0x10], rax
	mov	rax, qword ptr [rbx+0x18]
	mov	qword ptr [rbx+rcx+0x18], rax
	inc	edx
	add	rbx, 32
	jmp	$_156

$_157:
	leave
	pop	rbx
	ret

ExpandText:
	mov	qword ptr [rsp+0x8], rcx
	mov	qword ptr [rsp+0x10], rdx
	mov	qword ptr [rsp+0x18], r8
	push	rsi
	push	rdi
	push	rbx
	push	rbp
	mov	rbp, rsp
	sub	rsp, 280
	mov	dword ptr [rbp-0xC], 0
	mov	eax, dword ptr [r14+0x64]
	mov	dword ptr [rbp-0xC0], eax
	mov	byte ptr [rbp-0xC1], 0
	mov	byte ptr [rbp-0xC2], 0
	mov	rax, qword ptr [r14+0x1E0]
	sub	rax, qword ptr [StringBuffer+rip]
	mov	qword ptr [rbp-0xE8], rax
	mov	ecx, dword ptr [r14+0x234]
	mov	qword ptr [rbp-0xE0], rcx
	add	ecx, ecx
	call	MemAlloc@PLT
	mov	qword ptr [rbp-0xD8], rax
	add	qword ptr [rbp-0xE0], rax
	mov	rdi, rax
	mov	rax, qword ptr [rbp+0x28]
	mov	qword ptr [rbp-0xB8], rax
	mov	dword ptr [rbp-0x4], 0
$_158:	cmp	dword ptr [rbp-0x4], 0
	jl	$_192
	mov	eax, dword ptr [rbp-0x4]
	mov	rsi, qword ptr [rbp+rax*8-0xB8]
	jmp	$_190

$_159:	movzx	edx, byte ptr [r14]
	and	edx, 0x04
	shr	edx, 2
	movsx	eax, byte ptr [rsi]
	cmp	al, 46
	jnz	$_160
	test	dl, dl
	jnz	$_161
$_160:	test	byte ptr [r15+rax], 0x40
	je	$_186
$_161:	cmp	dword ptr [rbp+0x38], 0
	jnz	$_162
	cmp	byte ptr [rbp-0xC1], 0
	jne	$_186
$_162:	mov	qword ptr [rbp-0xD0], rdi
$_163:	stosb
	inc	rsi
	movsx	eax, byte ptr [rsi]
	test	byte ptr [r15+rax], 0x44
	jnz	$_163
	mov	byte ptr [rdi], 0
	mov	rcx, qword ptr [rbp-0xD0]
	call	SymFind@PLT
	mov	qword ptr [rbp-0x18], rax
	test	rax, rax
	je	$_185
	test	byte ptr [rax+0x10], 0x01
	je	$_185
	cmp	byte ptr [rax+0x1D], 10
	jne	$_169
	mov	rdx, qword ptr [rbp-0xD0]
	cmp	byte ptr [rbp-0xC1], 0
	jz	$_164
	cmp	byte ptr [rdx-0x1], 38
	jz	$_164
	cmp	byte ptr [rsi], 38
	jne	$_190
$_164:	cmp	dword ptr [rbp+0x38], 0
	jz	$_167
	cmp	byte ptr [rdx-0x1], 38
	jnz	$_165
	dec	rdx
$_165:	cmp	byte ptr [rsi], 38
	jnz	$_166
	inc	rsi
$_166:	jmp	$_168

$_167:	cmp	rdx, qword ptr [rbp-0xD8]
	jbe	$_168
	cmp	byte ptr [rdx-0x1], 37
	jnz	$_168
	dec	rdx
$_168:	mov	rdi, rdx
	mov	qword ptr [rbp-0xD0], rdx
	mov	dword ptr [rbp-0xC], 1
	mov	eax, dword ptr [rbp-0x4]
	inc	dword ptr [rbp-0x4]
	mov	qword ptr [rbp+rax*8-0xB8], rsi
	mov	rsi, qword ptr [rbp-0xE0]
	mov	rax, qword ptr [rbp-0x18]
	mov	rdx, qword ptr [rax+0x30]
	mov	rcx, rsi
	call	tstrcpy@PLT
	mov	rcx, rax
	call	tstrlen@PLT
	mov	edx, eax
	mov	rax, rsi
	add	edx, 8
	and	edx, 0xFFFFFFF8
	add	rax, rdx
	mov	qword ptr [rbp-0xE0], rax
	jmp	$_184

$_169:	cmp	byte ptr [rax+0x1D], 9
	jne	$_183
	test	byte ptr [rax+0x48], 0x02
	je	$_183
	mov	rcx, rsi
	jmp	$_171

$_170:	inc	rcx
$_171:	movzx	eax, byte ptr [rcx]
	test	byte ptr [r15+rax], 0x08
	jnz	$_170
	cmp	al, 40
	jne	$_182
	mov	eax, dword ptr [r14+0x64]
	mov	dword ptr [rbp-0x10], eax
	inc	dword ptr [rbp-0x10]
	mov	r9d, 1
	mov	r8, qword ptr [rbp+0x30]
	mov	edx, dword ptr [rbp-0x10]
	call	Tokenize@PLT
	mov	dword ptr [r14+0x64], eax
	mov	edx, dword ptr [rbp-0x10]
	imul	ecx, edx, 32
	add	rcx, qword ptr [r14+0x1D0]
	xor	eax, eax
$_172:	cmp	edx, dword ptr [r14+0x64]
	jge	$_175
	cmp	byte ptr [rcx], 40
	jnz	$_173
	inc	eax
	jmp	$_174

$_173:	cmp	byte ptr [rcx], 41
	jnz	$_174
	dec	eax
	jnz	$_174
	add	rcx, 32
	jmp	$_175

$_174:	inc	edx
	add	rcx, 32
	jmp	$_172

$_175:	mov	rdx, qword ptr [rbp-0xD0]
	cmp	byte ptr [rbp-0xC1], 0
	jz	$_176
	cmp	byte ptr [rdx-0x1], 38
	jz	$_176
	cmp	byte ptr [rcx], 38
	jz	$_176
	mov	eax, dword ptr [rbp-0xC0]
	mov	dword ptr [r14+0x64], eax
	jmp	$_190

$_176:	cmp	dword ptr [rbp+0x38], 0
	jz	$_178
	cmp	byte ptr [rdx-0x1], 38
	jnz	$_177
	dec	qword ptr [rbp-0xD0]
$_177:	jmp	$_179

$_178:	cmp	rdx, qword ptr [rbp-0xD8]
	jbe	$_179
	cmp	byte ptr [rdx-0x1], 37
	jnz	$_179
	dec	qword ptr [rbp-0xD0]
$_179:	lea	rax, [rbp-0x8]
	mov	qword ptr [rsp+0x28], rax
	mov	dword ptr [rsp+0x20], 0
	mov	r9, rdi
	mov	r8, qword ptr [r14+0x1D0]
	mov	edx, dword ptr [rbp-0x10]
	mov	rcx, qword ptr [rbp-0x18]
	call	RunMacro
	mov	dword ptr [rbp-0xC], eax
	mov	ecx, dword ptr [rbp-0xC0]
	mov	dword ptr [r14+0x64], ecx
	mov	rcx, qword ptr [rbp-0xE8]
	add	rcx, qword ptr [StringBuffer+rip]
	mov	qword ptr [r14+0x1E0], rcx
	cmp	eax, -1
	jnz	$_180
	mov	rcx, qword ptr [rbp-0xD8]
	call	MemFree@PLT
	mov	eax, dword ptr [rbp-0xC]
	jmp	$_198

$_180:	imul	ebx, eax, 32
	add	rbx, qword ptr [r14+0x1D0]
	mov	rsi, qword ptr [rbx-0x8]
	mov	rcx, qword ptr [rbx-0x10]
	call	tstrlen@PLT
	add	rsi, rax
	cmp	dword ptr [rbp+0x38], 0
	jz	$_181
	cmp	byte ptr [rsi], 38
	jnz	$_181
	inc	rsi
$_181:	mov	eax, dword ptr [rbp-0x4]
	inc	dword ptr [rbp-0x4]
	mov	qword ptr [rbp+rax*8-0xB8], rsi
	mov	rcx, rdi
	call	tstrlen@PLT
	mov	rsi, rdi
	mov	rdi, qword ptr [rbp-0xE0]
	lea	rcx, [rax+0x1]
	rep movsb
	mov	rsi, qword ptr [rbp-0xE0]
	mov	edx, eax
	mov	rax, rsi
	add	edx, 8
	and	edx, 0xFFFFFFF8
	add	rax, rdx
	mov	qword ptr [rbp-0xE0], rax
	mov	rdi, qword ptr [rbp-0xD0]
	mov	dword ptr [rbp-0xC], 1
$_182:	jmp	$_184

$_183:	cmp	byte ptr [rax+0x1D], 9
	jnz	$_184
	mov	byte ptr [rbp-0xC2], 1
$_184:	cmp	dword ptr [rbp-0x4], 20
	jnz	$_185
	mov	ecx, 2123
	call	asmerr@PLT
	jmp	$_191

$_185:	jmp	$_190

$_186:	mov	al, byte ptr [rsi]
	cmp	al, 34
	jz	$_187
	cmp	al, 39
	jnz	$_189
$_187:	cmp	byte ptr [rbp-0xC1], 0
	jnz	$_188
	mov	byte ptr [rbp-0xC1], al
	jmp	$_189

$_188:	cmp	al, byte ptr [rbp-0xC1]
	jnz	$_189
	mov	byte ptr [rbp-0xC1], 0
$_189:	movsb
$_190:	cmp	byte ptr [rsi], 0
	jne	$_159
$_191:	dec	dword ptr [rbp-0x4]
	jmp	$_158

$_192:	xor	eax, eax
	stosb
	mov	rax, qword ptr [rbp-0xE8]
	add	rax, qword ptr [StringBuffer+rip]
	mov	qword ptr [r14+0x1E0], rax
	cmp	dword ptr [rbp-0xC], 1
	jnz	$_193
	mov	rcx, rdi
	mov	rsi, qword ptr [rbp-0xD8]
	sub	rcx, rsi
	mov	rdi, qword ptr [rbp+0x28]
	rep movsb
$_193:	mov	rcx, qword ptr [rbp-0xD8]
	call	MemFree@PLT
	cmp	dword ptr [rbp+0x38], 0
	jz	$_197
	mov	rbx, qword ptr [r14+0x1D0]
	cmp	dword ptr [rbp-0xC], 1
	jnz	$_194
	mov	r9d, 1
	mov	r8, rbx
	xor	edx, edx
	mov	rcx, qword ptr [rbx+0x18]
	call	Tokenize@PLT
	mov	dword ptr [r14+0x64], eax
$_194:	cmp	dword ptr [rbp-0xC], 1
	jz	$_195
	cmp	byte ptr [rbp-0xC2], 0
	jz	$_197
$_195:	mov	rcx, rbx
	call	DelayExpand@PLT
	test	rax, rax
	jz	$_196
	mov	dword ptr [rbp-0xC], 0
	jmp	$_197

$_196:	mov	rdx, rbx
	mov	rcx, qword ptr [rbx+0x18]
	call	ExpandLine
	mov	dword ptr [rbp-0xC], eax
$_197:	mov	eax, dword ptr [rbp-0xC]
$_198:	leave
	pop	rbx
	pop	rdi
	pop	rsi
	ret

$_199:
	mov	qword ptr [rsp+0x8], rcx
	mov	qword ptr [rsp+0x10], rdx
	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, 88
	mov	eax, dword ptr [r14+0x64]
	mov	dword ptr [rbp-0x4], eax
	mov	dword ptr [rbp-0x1C], 0
	mov	byte ptr [rbp-0x1D], 1
	cmp	dword ptr [rbp+0x40], 20
	jl	$_200
	mov	ecx, 2123
	call	asmerr@PLT
	jmp	$_213

$_200:	mov	byte ptr [rbp-0x1E], 0
	mov	ecx, dword ptr [r14+0x234]
	cmp	ecx, 2048
	jbe	$_201
	mov	byte ptr [rbp-0x1E], 1
	call	MemAlloc@PLT
	jmp	$_202

$_201:	mov	eax, ecx
	add	eax, 15
	and	eax, 0xFFFFFFF0
	sub	rsp, rax
	lea	rax, [rsp+0x30]
$_202:	mov	qword ptr [rbp-0x28], rax
	jmp	$_210

$_203:	mov	eax, dword ptr [rbp-0x4]
	mov	dword ptr [rbp-0x8], eax
	inc	dword ptr [rbp-0x8]
	mov	r9d, 1
	mov	r8, qword ptr [rbp+0x30]
	mov	edx, dword ptr [rbp-0x8]
	mov	rcx, qword ptr [rbp+0x28]
	call	Tokenize@PLT
	mov	dword ptr [r14+0x64], eax
	mov	byte ptr [rbp-0x1D], 0
$_204:	mov	eax, dword ptr [r14+0x64]
	cmp	dword ptr [rbp-0x8], eax
	jge	$_210
	imul	ebx, dword ptr [rbp-0x8], 32
	add	rbx, qword ptr [rbp+0x30]
	cmp	byte ptr [rbx], 8
	jne	$_209
	mov	rcx, rbx
	call	SymFindID@PLT
	mov	qword ptr [rbp-0x18], rax
	test	rax, rax
	je	$_207
	cmp	byte ptr [rax+0x1D], 9
	jne	$_207
	test	byte ptr [rax+0x10], 0x01
	je	$_207
	test	byte ptr [rax+0x48], 0x02
	je	$_207
	cmp	byte ptr [rbx+0x20], 40
	jne	$_207
	cmp	dword ptr [rbp+0x38], 0
	jne	$_207
	mov	rcx, qword ptr [rbx+0x18]
	sub	rcx, qword ptr [rbp+0x28]
	mov	rdi, qword ptr [rbp-0x28]
	mov	rsi, qword ptr [rbp+0x28]
	rep movsb
	mov	edx, dword ptr [rbp-0x8]
	inc	edx
	lea	rax, [rbp-0x10]
	mov	qword ptr [rsp+0x28], rax
	mov	dword ptr [rsp+0x20], 0
	mov	r9, rdi
	mov	r8, qword ptr [rbp+0x30]
	mov	rcx, qword ptr [rbp-0x18]
	call	RunMacro
	cmp	eax, 0
	jge	$_205
	mov	dword ptr [rbp-0x1C], -1
	jmp	$_211

$_205:	imul	ebx, eax, 32
	add	rbx, qword ptr [rbp+0x30]
	mov	rdx, qword ptr [rbx+0x18]
	cmp	eax, dword ptr [rbp-0x8]
	jle	$_206
	cmp	byte ptr [rdx-0x1], 32
	jnz	$_206
	dec	rdx
$_206:	mov	dword ptr [rbp-0x8], eax
	mov	rcx, rdi
	call	tstrcat@PLT
	mov	rdx, qword ptr [rbp-0x28]
	mov	rcx, qword ptr [rbp+0x28]
	call	tstrcpy@PLT
	mov	byte ptr [rbp-0x1D], 1
	jmp	$_210

	jmp	$_209

$_207:	test	rax, rax
	jz	$_209
	cmp	byte ptr [rax+0x1D], 10
	jnz	$_209
	test	byte ptr [rax+0x10], 0x01
	jz	$_209
	mov	rsi, qword ptr [rbp+0x28]
	mov	rdi, qword ptr [rbp-0x28]
	mov	rcx, qword ptr [rbx+0x18]
	sub	rcx, rsi
	rep movsb
	mov	rdx, qword ptr [rax+0x30]
	mov	rcx, rdi
	call	tstrcpy@PLT
	mov	ecx, dword ptr [rbp+0x40]
	inc	ecx
	mov	r9d, ecx
	mov	r8d, dword ptr [rbp+0x38]
	mov	rdx, qword ptr [rbp+0x30]
	mov	rcx, rdi
	call	$_199
	cmp	eax, -1
	jnz	$_208
	mov	dword ptr [rbp-0x1C], eax
	jmp	$_211

$_208:	mov	rax, qword ptr [rbp-0x18]
	mov	edx, dword ptr [rax+0x14]
	add	rdx, qword ptr [rbx+0x18]
	mov	rcx, rdi
	call	tstrcat@PLT
	mov	rdx, qword ptr [rbp-0x28]
	mov	rcx, qword ptr [rbp+0x28]
	call	tstrcpy@PLT
	mov	byte ptr [rbp-0x1D], 1
	jmp	$_210

$_209:	inc	dword ptr [rbp-0x8]
	jmp	$_204

$_210:	cmp	byte ptr [rbp-0x1D], 1
	je	$_203
$_211:	cmp	byte ptr [rbp-0x1E], 0
	jz	$_212
	mov	rcx, qword ptr [rbp-0x28]
	call	MemFree@PLT
$_212:	mov	eax, dword ptr [rbp-0x4]
	mov	dword ptr [r14+0x64], eax
	mov	eax, dword ptr [rbp-0x1C]
$_213:	leave
	pop	rbx
	pop	rdi
	pop	rsi
	ret

$_214:
	mov	qword ptr [rsp+0x8], rcx
	mov	qword ptr [rsp+0x10], rdx
	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, 72
	mov	dword ptr [rbp-0x1C], 0
	mov	byte ptr [rbp-0x1D], 0
	mov	ecx, dword ptr [r14+0x234]
	cmp	ecx, 2048
	jbe	$_215
	mov	byte ptr [rbp-0x1D], 1
	call	MemAlloc@PLT
	jmp	$_216

$_215:	mov	eax, ecx
	add	eax, 15
	and	eax, 0xFFFFFFF0
	sub	rsp, rax
	lea	rax, [rsp+0x20]
$_216:	mov	qword ptr [rbp-0x28], rax
	imul	ebx, dword ptr [rbp+0x30], 32
	add	rbx, qword ptr [rbp+0x38]
	mov	esi, dword ptr [rbp+0x40]
	add	rsi, qword ptr [rbx+0x18]
	mov	rcx, rsi
	call	tstrlen@PLT
	inc	rax
	mov	dword ptr [rbp-0x18], eax
	mov	rdi, qword ptr [rbp-0x28]
	mov	ecx, eax
	rep movsb
	mov	rdi, qword ptr [rbx+0x18]
	mov	rcx, qword ptr [rbp+0x28]
	call	tstrlen@PLT
	mov	dword ptr [rbp-0x14], eax
	cmp	dword ptr [rbp+0x50], 0
	jz	$_220
	add	dword ptr [rbp-0x14], 2
	mov	rsi, qword ptr [rbp+0x28]
	mov	al, byte ptr [rsi]
$_217:	test	al, al
	jz	$_220
	cmp	al, 60
	jz	$_218
	cmp	al, 62
	jz	$_218
	cmp	al, 33
	jnz	$_219
$_218:	inc	dword ptr [rbp-0x14]
$_219:	inc	rsi
	mov	al, byte ptr [rsi]
	jmp	$_217

$_220:
	mov	eax, dword ptr [rbp+0x40]
	cmp	dword ptr [rbp-0x14], eax
	jbe	$_221
	mov	eax, dword ptr [rbp+0x48]
	add	eax, dword ptr [rbp-0x14]
	sub	eax, dword ptr [rbp+0x40]
	add	eax, dword ptr [rbp-0x18]
	cmp	eax, dword ptr [r14+0x234]
	jc	$_221
	mov	ecx, 2039
	call	asmerr@PLT
	mov	dword ptr [rbp-0x1C], eax
	jmp	$_229

$_221:	cmp	dword ptr [rbp+0x50], 0
	jz	$_226
	mov	byte ptr [rdi], 60
	inc	rdi
	mov	rsi, qword ptr [rbp+0x28]
$_222:	cmp	byte ptr [rsi], 0
	jz	$_225
	mov	al, byte ptr [rsi]
	cmp	al, 60
	jz	$_223
	cmp	al, 62
	jz	$_223
	cmp	al, 33
	jnz	$_224
$_223:	mov	byte ptr [rdi], 33
	inc	rdi
$_224:	mov	byte ptr [rdi], al
	inc	rdi
	inc	rsi
	jmp	$_222

$_225:	mov	byte ptr [rdi], 62
	inc	rdi
	jmp	$_227

$_226:	mov	ecx, dword ptr [rbp-0x14]
	mov	rsi, qword ptr [rbp+0x28]
	rep movsb
$_227:	mov	ecx, dword ptr [rbp-0x18]
	mov	rsi, qword ptr [rbp-0x28]
	rep movsb
	mov	ecx, dword ptr [rbp+0x30]
	inc	ecx
	add	rbx, 32
	mov	eax, dword ptr [rbp+0x40]
	mov	edx, dword ptr [rbp-0x14]
$_228:	cmp	ecx, dword ptr [r14+0x64]
	jg	$_229
	sub	qword ptr [rbx+0x18], rax
	add	qword ptr [rbx+0x18], rdx
	inc	ecx
	add	rbx, 32
	jmp	$_228

$_229:
	cmp	byte ptr [rbp-0x1D], 0
	jz	$_230
	mov	rcx, qword ptr [rbp-0x28]
	call	MemFree@PLT
$_230:	mov	eax, dword ptr [rbp-0x1C]
	leave
	pop	rbx
	pop	rdi
	pop	rsi
	ret

$_231:
	mov	qword ptr [rsp+0x8], rcx
	mov	qword ptr [rsp+0x10], rdx
	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, 200
	mov	eax, dword ptr [rdx]
	mov	dword ptr [rbp-0xC], eax
	mov	eax, dword ptr [rbp+0x48]
	mov	dword ptr [rbp-0x14], eax
	mov	byte ptr [rbp-0x15], 0
	mov	dword ptr [rbp-0x8C], 0
$_232:	mov	eax, dword ptr [rbp+0x40]
	cmp	dword ptr [rbp-0xC], eax
	jge	$_272
	imul	ebx, dword ptr [rbp-0xC], 32
	add	rbx, qword ptr [rbp+0x38]
	cmp	byte ptr [rbx], 44
	je	$_272
	cmp	byte ptr [rbx], 37
	jnz	$_233
	cmp	dword ptr [rbp-0x14], 0
	jz	$_233
	cmp	byte ptr [rbp-0x15], 0
	jnz	$_233
	mov	byte ptr [rbp-0x15], 1
	mov	dword ptr [rbp-0x14], 0
	mov	dword ptr [rbp+0x50], 0
	mov	eax, dword ptr [rbp-0xC]
	mov	dword ptr [rbp-0x4], eax
	jmp	$_271

$_233:	cmp	byte ptr [rbx], 2
	jnz	$_239
	cmp	dword ptr [rbp-0xC], 2
	jle	$_239
	cmp	byte ptr [rbx-0x20], 40
	jnz	$_239
	cmp	dword ptr [rbx-0x3C], 517
	jnz	$_239
	cmp	byte ptr [r14+0x4], 0
	jnz	$_239
	mov	al, byte ptr [r14+0x15]
	cmp	al, 3
	jz	$_234
	cmp	al, 5
	jz	$_234
	cmp	al, 6
	jnz	$_237
$_234:	mov	edx, 25
	mov	ecx, dword ptr [rbx+0x4]
	cmp	ecx, 9
	jnz	$_235
	mov	edx, 11
	jmp	$_236

$_235:	cmp	ecx, 15
	jnz	$_236
	mov	edx, 28
$_236:	mov	r9d, ecx
	mov	r8d, edx
	lea	rdx, [DS0003+rip]
	mov	rcx, qword ptr [rbp+0x58]
	call	tsprintf@PLT
	jmp	$_238

$_237:	mov	rdx, qword ptr [rbx+0x10]
	mov	rcx, qword ptr [rbp+0x58]
	call	tstrcpy@PLT
$_238:	jmp	$_269

$_239:	cmp	byte ptr [rbx], 8
	jne	$_271
	mov	rcx, rbx
	call	SymFindID@PLT
	mov	rsi, rax
	test	rsi, rsi
	je	$_271
	cmp	byte ptr [rsi+0x1D], 9
	jne	$_257
	mov	ecx, dword ptr [rbp-0xC]
	mov	edi, ecx
	test	byte ptr [rsi+0x48], 0x02
	je	$_248
	cmp	byte ptr [rbx+0x20], 40
	jne	$_271
	inc	dword ptr [rbp-0xC]
	add	rbx, 32
	cmp	dword ptr [rbp+0x50], 1
	jnz	$_244
	inc	dword ptr [rbp-0xC]
	add	rbx, 32
	mov	ecx, 1
$_240:	mov	eax, dword ptr [rbp+0x40]
	cmp	dword ptr [rbp-0xC], eax
	jge	$_243
	cmp	byte ptr [rbx], 40
	jnz	$_241
	inc	ecx
	jmp	$_242

$_241:	cmp	byte ptr [rbx], 41
	jnz	$_242
	dec	ecx
	jz	$_243
$_242:	inc	dword ptr [rbp-0xC]
	add	rbx, 32
	jmp	$_240

$_243:	dec	dword ptr [rbp-0xC]
	sub	rbx, 32
	jmp	$_271

$_244:	xor	edx, edx
	cmp	edi, 1
	jnz	$_245
	mov	edx, 1
$_245:	lea	rax, [rbp-0x1C]
	mov	qword ptr [rsp+0x28], rax
	mov	dword ptr [rsp+0x20], edx
	mov	r9, qword ptr [rbp+0x58]
	mov	r8, qword ptr [rbp+0x38]
	mov	edx, dword ptr [rbp-0xC]
	mov	rcx, rsi
	call	RunMacro
	mov	dword ptr [rbp-0xC], eax
	cmp	eax, -1
	je	$_278
	imul	ebx, dword ptr [rbp-0xC], 32
	add	rbx, qword ptr [rbp+0x38]
	test	edi, edi
	jz	$_246
	cmp	dword ptr [rbp-0x14], 0
	jnz	$_246
	xor	r9d, r9d
	mov	r8d, dword ptr [rbp+0x50]
	mov	rdx, qword ptr [rbp+0x38]
	mov	rcx, qword ptr [rbp+0x58]
	call	$_199
	cmp	eax, -1
	je	$_278
$_246:	imul	ecx, edi, 32
	mov	rax, qword ptr [rbx-0x8]
	inc	rax
	add	rcx, qword ptr [rbp+0x38]
	sub	rax, qword ptr [rcx+0x18]
	mov	dword ptr [rbp-0x10], eax
	mov	edx, edi
	inc	edx
	mov	ecx, edx
	sub	ecx, dword ptr [rbp-0xC]
	mov	r9d, dword ptr [r14+0x64]
	mov	r8d, ecx
	mov	rcx, qword ptr [rbp+0x38]
	call	$_152
	mov	eax, edi
	inc	eax
	sub	eax, dword ptr [rbp-0xC]
	add	dword ptr [r14+0x64], eax
	mov	eax, dword ptr [rbp+0x40]
	cmp	dword ptr [r14+0x64], eax
	jge	$_247
	mov	eax, dword ptr [r14+0x64]
	mov	dword ptr [rbp+0x40], eax
$_247:	imul	ecx, edi, 32
	add	rcx, qword ptr [rbp+0x38]
	mov	rdx, qword ptr [rcx+0x18]
	sub	rdx, qword ptr [rbp+0x28]
	mov	eax, dword ptr [rbp-0x14]
	mov	dword ptr [rsp+0x28], eax
	mov	dword ptr [rsp+0x20], edx
	mov	r9d, dword ptr [rbp-0x10]
	mov	r8, qword ptr [rbp+0x38]
	mov	edx, edi
	mov	rcx, qword ptr [rbp+0x58]
	call	$_214
	cmp	eax, -1
	je	$_278
	mov	dword ptr [rbp-0x8C], 1
	mov	dword ptr [rbp-0xC], edi
	jmp	$_256

$_248:	mov	edx, dword ptr [rbp-0xC]
	mov	rcx, qword ptr [rbp+0x38]
	test	edx, edx
	jz	$_250
	cmp	edx, 2
	jnz	$_249
	cmp	byte ptr [rcx+0x20], 58
	jz	$_250
	cmp	byte ptr [rcx+0x20], 13
	jz	$_250
$_249:	cmp	edx, 1
	jnz	$_251
	test	byte ptr [rsi+0x48], 0x04
	jz	$_251
$_250:	jmp	$_252

$_251:	jmp	$_271

$_252:	cmp	edx, 2
	jnz	$_253
	mov	rdx, qword ptr [rbp+0x38]
	mov	rcx, qword ptr [rbp+0x28]
	call	WriteCodeLabel@PLT
	cmp	eax, -1
	je	$_278
	mov	edx, dword ptr [rbp-0xC]
$_253:	mov	ecx, 2
	cmp	edx, 1
	jnz	$_254
	or	ecx, 0x01
$_254:	inc	edx
	lea	rax, [rbp-0x1C]
	mov	qword ptr [rsp+0x28], rax
	mov	dword ptr [rsp+0x20], ecx
	xor	r9d, r9d
	mov	r8, qword ptr [rbp+0x38]
	mov	rcx, rsi
	call	RunMacro
	cmp	eax, -1
	jnz	$_255
	jmp	$_278

$_255:	mov	rax, -2
	jmp	$_278

$_256:	jmp	$_271

$_257:	cmp	byte ptr [rsi+0x1D], 10
	jne	$_267
	cmp	byte ptr [rbx-0x20], 46
	jnz	$_264
	mov	ecx, dword ptr [rbp-0xC]
	sub	ecx, 2
	lea	rdx, [rbx-0x40]
	jmp	$_259

$_258:	sub	ecx, 2
	lea	rdx, [rdx-0x40]
$_259:	cmp	byte ptr [rdx-0x20], 46
	jz	$_258
	cmp	byte ptr [rdx], 93
	jnz	$_263
	xor	eax, eax
$_260:	cmp	rdx, qword ptr [rbp+0x38]
	jbe	$_263
	cmp	byte ptr [rdx], 91
	jnz	$_261
	dec	eax
	jz	$_263
	jmp	$_262

$_261:	cmp	byte ptr [rdx], 93
	jnz	$_262
	inc	eax
$_262:	sub	rdx, 32
	dec	ecx
	jmp	$_260

$_263:	mov	dword ptr [rbp-0x8], ecx
	cmp	dword ptr [r14+0x58], 0
	jnz	$_264
	mov	byte ptr [rsp+0x20], 1
	lea	r9, [rbp-0x88]
	mov	r8d, dword ptr [r14+0x64]
	mov	rdx, qword ptr [rbp+0x38]
	lea	rcx, [rbp-0x8]
	call	EvalOperand@PLT
	cmp	eax, -1
	jz	$_264
	cmp	dword ptr [rbp-0x4C], 1
	jnz	$_264
	cmp	qword ptr [rbp-0x30], 0
	jne	$_271
$_264:	mov	rdx, qword ptr [rsi+0x30]
	mov	rcx, qword ptr [rbp+0x58]
	call	tstrcpy@PLT
	xor	r9d, r9d
	mov	r8d, dword ptr [rbp+0x50]
	mov	rdx, qword ptr [rbp+0x38]
	mov	rcx, qword ptr [rbp+0x58]
	call	$_199
	cmp	eax, -1
	jnz	$_265
	jmp	$_278

$_265:	mov	rcx, qword ptr [rbx+0x10]
	call	tstrlen@PLT
	mov	edx, eax
	mov	rcx, qword ptr [rbx+0x18]
	sub	rcx, qword ptr [rbp+0x28]
	mov	eax, dword ptr [rbp-0x14]
	mov	dword ptr [rsp+0x28], eax
	mov	dword ptr [rsp+0x20], ecx
	mov	r9d, edx
	mov	r8, qword ptr [rbp+0x38]
	mov	edx, dword ptr [rbp-0xC]
	mov	rcx, qword ptr [rbp+0x58]
	call	$_214
	cmp	eax, -1
	jnz	$_266
	jmp	$_278

$_266:	mov	dword ptr [rbp-0x8C], 1
	jmp	$_271

$_267:	cmp	byte ptr [rsi+0x1D], 5
	jne	$_271
	cmp	dword ptr [rbp-0xC], 2
	jle	$_271
	cmp	byte ptr [rbx-0x20], 40
	jne	$_271
	cmp	dword ptr [rbx-0x3C], 517
	jne	$_271
	test	byte ptr [rsi+0x11], 0x10
	jz	$_268
	movzx	ecx, byte ptr [rsi+0x58]
	mov	rdx, qword ptr [rbp+0x58]
	call	GetResWName@PLT
	jmp	$_269

$_268:	mov	rdx, qword ptr [rbx+0x10]
	mov	rcx, qword ptr [rbp+0x58]
	call	tstrcpy@PLT
$_269:	sub	rbx, 64
	sub	dword ptr [rbp-0xC], 2
	mov	rcx, qword ptr [rbx+0x98]
	mov	rdx, rcx
	sub	rdx, qword ptr [rbx+0x18]
	sub	rcx, qword ptr [rbp+0x28]
	mov	eax, dword ptr [rbp-0x14]
	mov	dword ptr [rsp+0x28], eax
	mov	dword ptr [rsp+0x20], ecx
	mov	r9d, edx
	mov	r8, qword ptr [rbp+0x38]
	mov	edx, dword ptr [rbp-0xC]
	mov	rcx, qword ptr [rbp+0x58]
	call	$_214
	cmp	eax, -1
	jnz	$_270
	jmp	$_278

$_270:	mov	dword ptr [rbp-0x8C], 1
	mov	r9d, 1
	mov	r8, qword ptr [rbp+0x38]
	xor	edx, edx
	mov	rcx, qword ptr [rbp+0x28]
	call	Tokenize@PLT
	mov	dword ptr [r14+0x64], eax
	mov	dword ptr [rbp+0x40], eax
$_271:	inc	dword ptr [rbp-0xC]
	jmp	$_232

$_272:	mov	ecx, dword ptr [rbp-0xC]
	mov	rax, qword ptr [rbp+0x30]
	mov	dword ptr [rax], ecx
	cmp	byte ptr [rbp-0x15], 0
	je	$_277
	mov	eax, dword ptr [r14+0x64]
	mov	dword ptr [rbp-0x90], eax
	mov	rbx, qword ptr [rbp+0x38]
	mov	edx, dword ptr [rbp-0x4]
	lea	rax, [rdx+0x1]
	cmp	eax, dword ptr [rbp-0xC]
	jnz	$_273
	mov	dword ptr [rbp-0x88], 0
	mov	dword ptr [rbp-0xC], edx
	jmp	$_276

$_273:	mov	dword ptr [rbp-0xC], edx
	inc	edx
	imul	ecx, ecx, 32
	imul	edx, edx, 32
	mov	rcx, qword ptr [rbx+rcx+0x18]
	mov	rsi, qword ptr [rbx+rdx+0x18]
	mov	rdi, qword ptr [rbp+0x58]
	sub	rcx, rsi
	rep movsb
	mov	byte ptr [rdi], 0
	mov	edi, dword ptr [rbp-0x90]
	inc	edi
	mov	r9d, 1
	mov	r8, qword ptr [rbp+0x38]
	mov	edx, edi
	mov	rcx, qword ptr [rbp+0x58]
	call	Tokenize@PLT
	mov	dword ptr [r14+0x64], eax
	mov	dword ptr [rbp-0x8], edi
	mov	byte ptr [rsp+0x20], 2
	lea	r9, [rbp-0x88]
	mov	r8d, dword ptr [r14+0x64]
	mov	rdx, qword ptr [rbp+0x38]
	lea	rcx, [rbp-0x8]
	call	EvalOperand@PLT
	cmp	eax, -1
	jnz	$_274
	mov	dword ptr [rbp-0x88], 0
	jmp	$_275

$_274:	cmp	dword ptr [rbp-0x4C], 0
	jz	$_275
	mov	ecx, 2026
	call	asmerr@PLT
	mov	dword ptr [rbp-0x88], 0
$_275:	mov	eax, dword ptr [rbp-0x90]
	mov	dword ptr [r14+0x64], eax
$_276:	mov	dword ptr [rbp-0x84], 0
	mov	dword ptr [rsp+0x20], 0
	xor	r9d, r9d
	movzx	r8d, byte ptr [r14+0x8]
	mov	rdx, qword ptr [r14+0x1E0]
	mov	rcx, qword ptr [rbp-0x88]
	call	myltoa
	mov	rsi, qword ptr [rbp+0x30]
	mov	esi, dword ptr [rsi]
	imul	eax, esi, 32
	imul	edx, dword ptr [rbp-0xC], 32
	mov	rdi, qword ptr [rbx+rax+0x18]
	sub	rdi, qword ptr [rbx+rdx+0x18]
	add	rbx, rdx
	mov	rax, qword ptr [r14+0x1E0]
	mov	qword ptr [rbx+0x10], rax
	mov	eax, dword ptr [rbp-0xC]
	inc	eax
	mov	edx, eax
	sub	edx, esi
	mov	r9d, dword ptr [r14+0x64]
	mov	r8d, edx
	mov	edx, eax
	mov	rcx, qword ptr [rbp+0x38]
	call	$_152
	mov	eax, dword ptr [rbp-0xC]
	inc	eax
	sub	eax, esi
	add	dword ptr [r14+0x64], eax
	mov	rcx, qword ptr [rbx+0x18]
	sub	rcx, qword ptr [rbp+0x28]
	mov	eax, dword ptr [rbp+0x48]
	mov	dword ptr [rsp+0x28], eax
	mov	dword ptr [rsp+0x20], ecx
	mov	r9d, edi
	mov	r8, qword ptr [rbp+0x38]
	mov	edx, dword ptr [rbp-0xC]
	mov	rcx, qword ptr [r14+0x1E0]
	call	$_214
	cmp	eax, -1
	jz	$_278
	mov	dword ptr [rbp-0x8C], 1
$_277:	mov	eax, dword ptr [rbp-0x8C]
$_278:	leave
	pop	rbx
	pop	rdi
	pop	rsi
	ret

ExpandLineItems:
	mov	qword ptr [rsp+0x8], rcx
	mov	qword ptr [rsp+0x10], rdx
	mov	qword ptr [rsp+0x18], r8
	mov	qword ptr [rsp+0x20], r9
	push	rsi
	push	rdi
	push	rbp
	mov	rbp, rsp
	sub	rsp, 80
	mov	byte ptr [rbp-0x5], 0
	mov	ecx, dword ptr [r14+0x234]
	cmp	ecx, 2048
	jbe	$_279
	mov	byte ptr [rbp-0x5], 1
	call	MemAlloc@PLT
	jmp	$_280

$_279:	mov	eax, ecx
	add	eax, 15
	and	eax, 0xFFFFFFF0
	sub	rsp, rax
	lea	rax, [rsp+0x40]
$_280:	mov	qword ptr [rbp-0x10], rax
	xor	esi, esi
$_281:	mov	edi, 0
	mov	eax, dword ptr [rbp+0x28]
	mov	dword ptr [rbp-0x4], eax
$_282:	mov	eax, dword ptr [r14+0x64]
	cmp	dword ptr [rbp-0x4], eax
	jge	$_285
	mov	rax, qword ptr [rbp-0x10]
	mov	qword ptr [rsp+0x30], rax
	mov	eax, dword ptr [rbp+0x40]
	mov	dword ptr [rsp+0x28], eax
	mov	eax, dword ptr [rbp+0x38]
	mov	dword ptr [rsp+0x20], eax
	mov	r9d, dword ptr [r14+0x64]
	mov	r8, qword ptr [rbp+0x30]
	lea	rdx, [rbp-0x4]
	mov	rcx, qword ptr [rbp+0x20]
	call	$_231
	cmp	eax, -1
	jz	$_287
	cmp	eax, 1
	jnz	$_283
	mov	edi, eax
$_283:	imul	eax, dword ptr [rbp-0x4], 32
	add	rax, qword ptr [rbp+0x30]
	cmp	byte ptr [rax], 44
	jnz	$_284
	inc	dword ptr [rbp-0x4]
$_284:	jmp	$_282

$_285:	test	edi, edi
	jz	$_287
	mov	r9d, 1
	mov	r8, qword ptr [rbp+0x30]
	mov	edx, dword ptr [rbp+0x28]
	mov	rcx, qword ptr [rbp+0x20]
	call	Tokenize@PLT
	mov	dword ptr [r14+0x64], eax
	cmp	esi, 20
	jnz	$_286
	mov	ecx, 2123
	call	asmerr@PLT
	jmp	$_287

$_286:	inc	esi
	jmp	$_281

$_287:
	cmp	byte ptr [rbp-0x5], 0
	jz	$_288
	mov	rcx, qword ptr [rbp-0x10]
	call	MemFree@PLT
$_288:	mov	eax, esi
	leave
	pop	rdi
	pop	rsi
	ret

ExpandLiterals:
	mov	qword ptr [rsp+0x8], rcx
	mov	qword ptr [rsp+0x10], rdx
	push	rbx
	push	rbp
	mov	rbp, rsp
	sub	rsp, 40
	xor	eax, eax
	mov	rbx, rdx
$_289:	cmp	ecx, dword ptr [r14+0x64]
	jge	$_292
	imul	edx, ecx, 32
	cmp	byte ptr [rbx+rdx], 9
	jnz	$_291
	cmp	dword ptr [rbx+rdx+0x4], 0
	jz	$_291
	cmp	byte ptr [rbx+rdx+0x1], 60
	jz	$_290
	cmp	byte ptr [rbx+rdx+0x1], 123
	jnz	$_291
$_290:	inc	eax
$_291:	inc	ecx
	jmp	$_289

$_292:
	test	eax, eax
	jz	$_293
	imul	ecx, dword ptr [rbp+0x18], 32
	add	rbx, rcx
	xor	r8d, r8d
	mov	rdx, qword ptr [rbp+0x20]
	mov	rcx, qword ptr [rbx+0x18]
	call	ExpandText
	cmp	rax, 1
	jnz	$_293
	mov	r9d, 1
	mov	r8, qword ptr [rbp+0x20]
	mov	edx, dword ptr [rbp+0x18]
	mov	rcx, qword ptr [rbx+0x18]
	call	Tokenize@PLT
$_293:	leave
	pop	rbx
	ret

ExpandClass:
	mov	qword ptr [rsp+0x8], rcx
	mov	qword ptr [rsp+0x10], rdx
	mov	qword ptr [rsp+0x18], r8
	push	rsi
	push	rdi
	push	rbx
	push	rbp
	mov	rbp, rsp
	sub	rsp, 56
	mov	rbx, r8
	mov	rax, qword ptr [r14+0x38]
	mov	rcx, qword ptr [CurrProc+rip]
	test	rcx, rcx
	je	$_302
	test	byte ptr [rcx+0x4B], 0x10
	je	$_302
	cmp	dword ptr [r14+0x64], 1
	jle	$_302
	cmp	rax, qword ptr [rcx+0x40]
	jne	$_302
	test	byte ptr [ProcStatus+rip], 0x03
	jne	$_302
	mov	rdi, qword ptr [rcx+0x38]
$_294:	cmp	byte ptr [rbx], 0
	je	$_302
	cmp	byte ptr [rbx], 8
	jne	$_301
	test	byte ptr [rbx+0x2], 0x80
	jne	$_301
	cmp	rbx, qword ptr [rbp+0x38]
	jbe	$_295
	cmp	byte ptr [rbx-0x20], 46
	je	$_301
$_295:	mov	rcx, rbx
	call	SymFindID@PLT
	mov	rsi, rax
	mov	eax, dword ptr [rbx+0x8]
	test	byte ptr [rdi+0x1C], 0x01
	jz	$_296
	mov	eax, dword ptr [rbx+0xC]
$_296:	mov	dword ptr [rsp+0x20], 0
	xor	r9d, r9d
	mov	r8d, eax
	movzx	edx, byte ptr [rbx+0x3]
	mov	rcx, rdi
	call	SearchInStruct@PLT
	test	rax, rax
	jnz	$_298
	mov	eax, dword ptr [rbx+0x8]
	test	byte ptr [rdi+0x1C], 0x01
	jz	$_297
	mov	eax, dword ptr [rbx+0xC]
$_297:	mov	dword ptr [rsp+0x20], 0
	xor	r9d, r9d
	mov	r8d, eax
	movzx	edx, byte ptr [rbx+0x3]
	mov	rcx, qword ptr [rdi+0x40]
	call	SearchInStruct@PLT
	test	rax, rax
	jz	$_298
	xor	esi, esi
$_298:	test	rax, rax
	je	$_301
	test	rsi, rsi
	jz	$_299
	mov	rdx, qword ptr [rsi+0x8]
	mov	ecx, 2004
	call	asmerr@PLT
	jmp	$_301

$_299:	mov	rax, qword ptr [rbx+0x18]
	mov	qword ptr [rsp+0x20], rax
	mov	r9, qword ptr [rdi+0x8]
	mov	r8d, dword ptr [r14+0x58]
	lea	rdx, [DS0004+rip]
	mov	rcx, qword ptr [rbp+0x28]
	call	tsprintf@PLT
	mov	rdx, qword ptr [rbp+0x28]
	mov	rcx, qword ptr [rbx+0x18]
	call	tstrcpy@PLT
	xor	r9d, r9d
	mov	r8, qword ptr [rbp+0x38]
	xor	edx, edx
	mov	rcx, qword ptr [rbp+0x30]
	call	Tokenize@PLT
	mov	dword ptr [r14+0x64], eax
	mov	esi, 192
	test	byte ptr [rbx+0x2], 0x08
	jz	$_300
	cmp	rbx, qword ptr [rbp+0x38]
	jnz	$_300
	mov	r9, qword ptr [rbx+0x18]
	mov	r8d, 609
	lea	rdx, [DS0005+rip]
	mov	rcx, qword ptr [rbp+0x28]
	call	tsprintf@PLT
	mov	rdx, qword ptr [rbp+0x28]
	mov	rcx, qword ptr [rbx+0x18]
	call	tstrcpy@PLT
	xor	r9d, r9d
	mov	r8, qword ptr [rbp+0x38]
	xor	edx, edx
	mov	rcx, qword ptr [rbp+0x30]
	call	Tokenize@PLT
	mov	dword ptr [r14+0x64], eax
	add	esi, 32
$_300:	add	rbx, rsi
$_301:	add	rbx, 32
	jmp	$_294

$_302:
	leave
	pop	rbx
	pop	rdi
	pop	rsi
	ret

ExpandLine:
	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, 136
	mov	byte ptr [rbp-0x31], 0
	mov	ecx, dword ptr [r14+0x234]
	cmp	ecx, 2048
	jbe	$_303
	mov	byte ptr [rbp-0x31], 1
	call	MemAlloc@PLT
	jmp	$_304

$_303:	mov	eax, ecx
	add	eax, 15
	and	eax, 0xFFFFFFF0
	sub	rsp, rax
	lea	rax, [rsp+0x40]
$_304:	mov	qword ptr [rbp-0x40], rax
	mov	dword ptr [rbp-0x10], 0
$_305:	cmp	dword ptr [rbp-0x10], 20
	jge	$_382
	xor	esi, esi
	mov	dword ptr [rbp-0x8], esi
	mov	dword ptr [rbp-0x4], esi
	mov	dword ptr [rbp-0x14], esi
	mov	rbx, qword ptr [rbp+0x30]
	cmp	dword ptr [r14+0x64], 2
	jle	$_310
	cmp	byte ptr [rbx+0x20], 58
	jz	$_306
	cmp	byte ptr [rbx+0x20], 13
	jnz	$_310
$_306:	cmp	byte ptr [rbx], 8
	jnz	$_307
	cmp	byte ptr [rbx+0x20], 58
	jz	$_307
	cmp	byte ptr [rbx+0x40], 8
	jz	$_308
$_307:	jmp	$_382

$_308:	lea	rcx, [rbx+0x40]
	call	SymFindID@PLT
	test	rax, rax
	jz	$_309
	cmp	byte ptr [rax+0x1D], 9
	jnz	$_309
	jmp	$_382

$_309:	cmp	byte ptr [rbx+0x40], 3
	jnz	$_310
	add	rbx, 64
$_310:	mov	rdx, qword ptr [rbp+0x30]
	cmp	byte ptr [rbx], 3
	jne	$_321
	cmp	dword ptr [r14+0x64], 1
	jnz	$_312
	cmp	dword ptr [rbx+0x4], 606
	jnz	$_312
	mov	rcx, qword ptr [CurrProc+rip]
	test	rcx, rcx
	jz	$_311
	mov	r9d, 606
	mov	r8, qword ptr [rcx+0x8]
	lea	rdx, [DS0006+rip]
	mov	rcx, qword ptr [rbp+0x28]
	call	tsprintf@PLT
	xor	r9d, r9d
	mov	r8, qword ptr [rbp+0x30]
	xor	edx, edx
	mov	rcx, qword ptr [rbp+0x28]
	call	Tokenize@PLT
	mov	dword ptr [r14+0x64], eax
$_311:	jmp	$_382

$_312:	mov	eax, dword ptr [rbx+0x4]
	add	eax, eax
	mov	eax, dword ptr [r12+rax*8]
	mov	dword ptr [rbp-0xC], eax
	test	eax, 0x2
	jz	$_319
	mov	dword ptr [rbp-0x8], -1
	cmp	byte ptr [rbx+0x1], 10
	jnz	$_318
	cmp	dword ptr [rbx+0x4], 534
	jz	$_313
	cmp	dword ptr [rbx+0x4], 535
	jnz	$_318
$_313:	test	esi, esi
	jz	$_314
	mov	rax, qword ptr [rbp-0x40]
	mov	qword ptr [rsp+0x30], rax
	mov	dword ptr [rsp+0x28], 0
	mov	dword ptr [rsp+0x20], 0
	mov	r9d, 1
	mov	r8, qword ptr [rbp+0x30]
	lea	rdx, [rbp-0x4]
	mov	rcx, qword ptr [rbp+0x28]
	call	$_231
	mov	dword ptr [rbp-0x14], eax
$_314:	jmp	$_316

$_315:	inc	esi
	add	rbx, 32
$_316:	cmp	byte ptr [rbx], 0
	jz	$_317
	cmp	byte ptr [rbx], 44
	jnz	$_315
$_317:	mov	dword ptr [rbp-0x4], esi
$_318:	jmp	$_320

$_319:	test	eax, 0x4
	jz	$_320
	mov	dword ptr [rbp-0x14], 0
	jmp	$_382

$_320:	jmp	$_343

$_321:	cmp	dword ptr [r14+0x64], 1
	jle	$_337
	cmp	byte ptr [rdx+0x20], 3
	jne	$_337
	mov	al, byte ptr [rdx+0x21]
	jmp	$_335

$_322:	mov	dword ptr [rbp-0x8], -1
	mov	dword ptr [rbp-0x4], 2
	jmp	$_336

$_323:	mov	dword ptr [rbp-0x8], 1
	mov	dword ptr [rbp-0x4], 2
	jmp	$_336

$_324:	mov	rax, qword ptr [rbp-0x40]
	mov	qword ptr [rsp+0x30], rax
	mov	dword ptr [rsp+0x28], 0
	mov	dword ptr [rsp+0x20], 0
	mov	r9d, 1
	mov	r8, qword ptr [rbp+0x30]
	lea	rdx, [rbp-0x4]
	mov	rcx, qword ptr [rbp+0x28]
	call	$_231
	mov	dword ptr [rbp-0x14], eax
	mov	dword ptr [rbp-0x8], 1
	mov	dword ptr [rbp-0x4], 2
	jmp	$_336

$_325:	mov	rax, qword ptr [rbp-0x40]
	mov	qword ptr [rsp+0x30], rax
	mov	dword ptr [rsp+0x28], 0
	mov	dword ptr [rsp+0x20], 0
	mov	r9d, 1
	mov	r8, qword ptr [rbp+0x30]
	lea	rdx, [rbp-0x4]
	mov	rcx, qword ptr [rbp+0x28]
	call	$_231
	mov	dword ptr [rbp-0x14], eax
	mov	esi, 2
	xor	eax, eax
	xor	ecx, ecx
$_326:	cmp	esi, dword ptr [r14+0x64]
	jge	$_330
	imul	ebx, esi, 32
	add	rbx, qword ptr [rbp+0x30]
	cmp	byte ptr [rbx], 40
	jnz	$_327
	inc	eax
	jmp	$_329

$_327:	cmp	byte ptr [rbx], 41
	jnz	$_328
	dec	eax
	jmp	$_329

$_328:	cmp	byte ptr [rbx], 44
	jnz	$_329
	test	eax, eax
	jnz	$_329
	inc	ecx
$_329:	inc	esi
	jmp	$_326

$_330:	mov	eax, 3
	cmp	ecx, 1
	jbe	$_331
	mov	eax, 6
$_331:	mov	dword ptr [rbp-0x8], eax
	mov	dword ptr [rbp-0x4], 2
	jmp	$_336

$_332:	mov	rcx, rdx
	call	SymFindID@PLT
	test	rax, rax
	jz	$_333
	cmp	byte ptr [rax+0x1D], 9
	jz	$_333
	mov	rax, qword ptr [rbp-0x40]
	mov	qword ptr [rsp+0x30], rax
	mov	dword ptr [rsp+0x28], 0
	mov	dword ptr [rsp+0x20], 0
	mov	r9d, 1
	mov	r8, qword ptr [rbp+0x30]
	lea	rdx, [rbp-0x4]
	mov	rcx, qword ptr [rbp+0x28]
	call	$_231
	mov	dword ptr [rbp-0x14], eax
$_333:	mov	eax, dword ptr [r14+0x64]
	mov	dword ptr [rbp-0x4], eax
	jmp	$_336

$_334:	mov	dword ptr [rbp-0x14], 0
	jmp	$_382

$_335:	cmp	al, 5
	je	$_322
	cmp	al, 6
	je	$_323
	cmp	al, 24
	je	$_324
	cmp	al, 23
	je	$_325
	cmp	al, 4
	jz	$_332
	cmp	al, 47
	jz	$_334
$_336:	jmp	$_343

$_337:	mov	rax, qword ptr [rbp-0x40]
	mov	qword ptr [rsp+0x30], rax
	mov	dword ptr [rsp+0x28], 0
	mov	dword ptr [rsp+0x20], 0
	mov	r9d, 1
	mov	r8, qword ptr [rbp+0x30]
	lea	rdx, [rbp-0x4]
	mov	rcx, qword ptr [rbp+0x28]
	call	$_231
	mov	dword ptr [rbp-0x14], eax
	cmp	eax, -1
	jz	$_338
	cmp	eax, -2
	jnz	$_339
$_338:	jmp	$_382

$_339:	cmp	dword ptr [rbp-0x14], 1
	jnz	$_340
	xor	r9d, r9d
	mov	r8, qword ptr [rbp+0x30]
	xor	edx, edx
	mov	rcx, qword ptr [rbp+0x28]
	call	Tokenize@PLT
	mov	dword ptr [r14+0x64], eax
	jmp	$_381

$_340:	mov	rax, qword ptr [rbp+0x30]
	cmp	dword ptr [rbp-0x4], 1
	jnz	$_343
	cmp	byte ptr [rax], 8
	jnz	$_343
	cmp	byte ptr [rax+0x20], 8
	jnz	$_343
	mov	rax, qword ptr [rbp-0x40]
	mov	qword ptr [rsp+0x30], rax
	mov	dword ptr [rsp+0x28], 0
	mov	dword ptr [rsp+0x20], 0
	mov	r9d, 2
	mov	r8, qword ptr [rbp+0x30]
	lea	rdx, [rbp-0x4]
	mov	rcx, qword ptr [rbp+0x28]
	call	$_231
	mov	dword ptr [rbp-0x14], eax
	cmp	eax, -1
	jz	$_341
	cmp	eax, -2
	jnz	$_342
$_341:	jmp	$_382

$_342:	cmp	dword ptr [rbp-0x14], 1
	jnz	$_343
	xor	r9d, r9d
	mov	r8, qword ptr [rbp+0x30]
	xor	edx, edx
	mov	rcx, qword ptr [rbp+0x28]
	call	Tokenize@PLT
	mov	dword ptr [r14+0x64], eax
	jmp	$_381

$_343:	jmp	$_348

$_344:	mov	eax, dword ptr [rbp-0x8]
	and	eax, 0x01
	mov	dword ptr [rbp-0x18], eax
	cmp	dword ptr [rbp-0x8], -1
	jz	$_345
	shr	dword ptr [rbp-0x8], 1
$_345:	mov	rax, qword ptr [rbp-0x40]
	mov	qword ptr [rsp+0x30], rax
	mov	dword ptr [rsp+0x28], 0
	mov	eax, dword ptr [rbp-0x18]
	mov	dword ptr [rsp+0x20], eax
	mov	r9d, dword ptr [r14+0x64]
	mov	r8, qword ptr [rbp+0x30]
	lea	rdx, [rbp-0x4]
	mov	rcx, qword ptr [rbp+0x28]
	call	$_231
	cmp	eax, 0
	jge	$_346
	mov	dword ptr [rbp-0x14], eax
	jmp	$_382

$_346:	cmp	eax, 1
	jnz	$_347
	mov	dword ptr [rbp-0x14], 1
$_347:	imul	ebx, dword ptr [rbp-0x4], 32
	add	rbx, qword ptr [rbp+0x30]
	cmp	byte ptr [rbx], 44
	jnz	$_348
	inc	dword ptr [rbp-0x4]
$_348:	mov	eax, dword ptr [r14+0x64]
	cmp	dword ptr [rbp-0x4], eax
	jl	$_344
	cmp	dword ptr [rbp-0x14], 1
	jnz	$_349
	mov	r9d, 5
	mov	r8, qword ptr [rbp+0x30]
	xor	edx, edx
	mov	rcx, qword ptr [rbp+0x28]
	call	Tokenize@PLT
	mov	dword ptr [r14+0x64], eax
$_349:	mov	rbx, qword ptr [rbp+0x30]
	cmp	dword ptr [r14+0x64], 2
	jle	$_379
	test	byte ptr [rbx+0x2], 0x40
	je	$_379
	test	byte ptr [rbx+0x2], 0x08
	jz	$_351
	mov	esi, 609
	cmp	byte ptr [rbx], 8
	jnz	$_350
	mov	rcx, rbx
	call	SymFindID@PLT
	test	rax, rax
	jz	$_350
	cmp	byte ptr [rax+0x1D], 7
	jnz	$_350
	mov	esi, 504
$_350:	mov	r9, qword ptr [rbx+0x18]
	mov	r8d, esi
	lea	rdx, [DS0005+rip]
	mov	rcx, qword ptr [rbp-0x40]
	call	tsprintf@PLT
	mov	rdx, qword ptr [rbp-0x40]
	mov	rcx, qword ptr [rbp+0x28]
	call	tstrcpy@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
	add	rbx, 32
$_351:	cmp	byte ptr [rbx], 0
	je	$_379
	cmp	byte ptr [rbx+0x20], 13
	jne	$_378
	mov	rax, qword ptr [rbx+0x10]
	mov	qword ptr [rbp-0x28], rax
	mov	rcx, rax
	call	SymFind@PLT
	mov	qword ptr [rbp-0x30], rax
	test	rax, rax
	jz	$_355
	cmp	byte ptr [rax+0x1D], 7
	jnz	$_354
	jmp	$_353

$_352:	mov	rax, qword ptr [rax+0x28]
$_353:	cmp	qword ptr [rax+0x28], 0
	jnz	$_352
$_354:	mov	rcx, qword ptr [rax+0x8]
	mov	qword ptr [rbp-0x28], rcx
	mov	qword ptr [rbp-0x30], rax
$_355:	xor	edi, edi
	mov	ecx, dword ptr [rbx+0x64]
	cmp	byte ptr [rbx+0x60], 3
	jnz	$_358
	cmp	ecx, 605
	jz	$_356
	cmp	ecx, 604
	jnz	$_358
$_356:	inc	edi
	test	rax, rax
	jz	$_357
	test	byte ptr [rax+0x13], 0x02
	jz	$_357
	inc	edi
$_357:	jmp	$_361

$_358:	mov	al, byte ptr [rbx]
	mov	ah, byte ptr [rbx+0x40]
	cmp	al, 2
	jz	$_359
	cmp	byte ptr [rbx+0x60], 40
	jz	$_360
$_359:	cmp	al, 9
	jnc	$_361
	cmp	al, 2
	jbe	$_361
	cmp	ah, 9
	jnc	$_361
	cmp	ah, 2
	jbe	$_361
$_360:	inc	edi
$_361:	mov	dword ptr [rbp-0x1C], edi
	test	edi, edi
	jz	$_365
	mov	rdi, qword ptr [rbp-0x40]
	mov	rdx, qword ptr [rbp+0x30]
	mov	rsi, qword ptr [rdx+0x18]
	mov	rcx, qword ptr [rbx+0x18]
	sub	rcx, rsi
	rep movsb
	mov	rsi, qword ptr [rbp-0x28]
$_362:	lodsb
	stosb
	test	al, al
	jnz	$_362
	mov	byte ptr [rdi-0x1], 95
	mov	eax, dword ptr [rbx+0x4C]
	cmp	dword ptr [rbx+0xC], eax
	jnz	$_364
	mov	rsi, qword ptr [rbp-0x28]
$_363:	lodsb
	stosb
	test	al, al
	jnz	$_363
	mov	byte ptr [rdi-0x1], 32
	mov	rsi, qword ptr [rbx+0x78]
	mov	edx, 128
	jmp	$_365

$_364:	mov	rsi, qword ptr [rbx+0x58]
	mov	edx, 96
$_365:	cmp	dword ptr [rbp-0x1C], 1
	jnz	$_366
	mov	rcx, rsi
	call	tstrlen@PLT
	mov	ecx, eax
	inc	ecx
	rep movsb
	jmp	$_375

$_366:	cmp	dword ptr [rbp-0x1C], 1
	jle	$_375
$_367:	cmp	byte ptr [rbx+rdx], 0
	jz	$_368
	cmp	byte ptr [rbx+rdx], 58
	jz	$_368
	cmp	byte ptr [rbx+rdx], 9
	jz	$_368
	add	rdx, 32
	jmp	$_367

$_368:	cmp	byte ptr [rbx+rdx], 58
	jnz	$_369
	cmp	byte ptr [rbx+rdx-0x20], 8
	jnz	$_369
	sub	rdx, 32
$_369:	mov	rcx, qword ptr [rbx+rdx+0x18]
	sub	rcx, rsi
	rep movsb
	cmp	byte ptr [rdi-0x1], 32
	jnz	$_370
	dec	rdi
$_370:	mov	eax, 1768453152
	stosd
	mov	eax, 1953512051
	stosd
	mov	ax, 8306
	stosw
	mov	rcx, qword ptr [rbp-0x28]
	mov	al, byte ptr [rcx]
	jmp	$_372

$_371:	stosb
	inc	rcx
	mov	al, byte ptr [rcx]
$_372:	test	al, al
	jnz	$_371
	cmp	byte ptr [rbx+rdx], 58
	jz	$_373
	cmp	byte ptr [rbx+rdx+0x20], 58
	jnz	$_374
$_373:	mov	eax, 8236
	stosw
$_374:	mov	rcx, rsi
	call	tstrlen@PLT
	mov	ecx, eax
	inc	ecx
	rep movsb
$_375:	cmp	dword ptr [rbp-0x1C], 0
	je	$_378
	mov	rdx, qword ptr [rbp-0x40]
	mov	rcx, qword ptr [rbp+0x28]
	call	tstrcpy@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
	cmp	dword ptr [r14+0x58], 0
	jz	$_376
	cmp	dword ptr [rbp-0x1C], 2
	jnz	$_376
	cmp	byte ptr [rbx+0x20], 3
	jnz	$_376
	cmp	dword ptr [rbx+0x24], 605
	jnz	$_376
	mov	rax, qword ptr [rbp-0x30]
	mov	qword ptr [r14+0x50], rax
$_376:	cmp	dword ptr [r14+0x64], 2
	jle	$_377
	cmp	rbx, qword ptr [rbp+0x30]
	jnz	$_377
	test	byte ptr [rbx+0x2], 0x08
	jz	$_377
	cmp	byte ptr [rbx+0x20], 40
	jnz	$_377
	mov	r9, qword ptr [rbx+0x18]
	mov	r8d, 609
	lea	rdx, [DS0005+rip]
	mov	rcx, qword ptr [rbp-0x40]
	call	tsprintf@PLT
	mov	rdx, qword ptr [rbp-0x40]
	mov	rcx, qword ptr [rbp+0x28]
	call	tstrcpy@PLT
	xor	r9d, r9d
	mov	r8, rbx
	xor	edx, edx
	mov	rcx, rax
	call	Tokenize@PLT
	mov	dword ptr [r14+0x64], eax
$_377:	sub	rbx, 32
$_378:	add	rbx, 32
	jmp	$_351

$_379:	cmp	dword ptr [r14+0x58], 0
	jz	$_380
	mov	r8, qword ptr [rbp+0x30]
	mov	rdx, qword ptr [rbp+0x28]
	mov	rcx, qword ptr [rbp-0x40]
	call	ExpandClass
$_380:	cmp	dword ptr [rbp-0x14], 1
	jnz	$_382
$_381:	inc	dword ptr [rbp-0x10]
	jmp	$_305

$_382:
	cmp	byte ptr [rbp-0x31], 0
	jz	$_383
	mov	rcx, qword ptr [rbp-0x40]
	call	MemFree@PLT
$_383:	cmp	dword ptr [rbp-0x10], 20
	jnz	$_384
	mov	ecx, 2123
	call	asmerr@PLT
	jmp	$_385

$_384:	mov	eax, dword ptr [rbp-0x14]
$_385:	leave
	pop	rbx
	pop	rdi
	pop	rsi
	ret


.SECTION .data
	.ALIGN	16

MacroLocals:
	.int   0x00000000

MacroLevel:
	.int   0x00000000

DS0000:
	.byte  0x00

DS0001:
	.byte  0x31, 0x36, 0x00

DS0002:
	.byte  0x25, 0x31, 0x36, 0x6C, 0x78, 0x25, 0x31, 0x36
	.byte  0x6C, 0x78, 0x00

DS0003:
	.byte  0x25, 0x72, 0x3A, 0x3A, 0x25, 0x72, 0x00

DS0004:
	.byte  0x5B, 0x25, 0x72, 0x5D, 0x2E, 0x25, 0x73, 0x2E
	.byte  0x25, 0x73, 0x00

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

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


.att_syntax prefix
