

.intel_syntax noprefix

.global CondPrepare
.global CondAsmDirective
.global ErrorDirective
.global CondCheckOpen
.global GetIfNestLevel
.global SetIfNestLevel
.global CondInit
.global CurrIfState

.extern SearchNameInStruct
.extern TextItemError
.extern LstWriteSrcLine
.extern EvalOperand
.extern asmerr
.extern MacroLevel
.extern Options
.extern Parse_Pass
.extern SymFindID
.extern SymFind
.extern tstricmp
.extern tstrcmp
.extern tstrcpy


.SECTION .text
	.ALIGN	16

CondPrepare:
	mov	qword ptr [rsp+0x8], rcx
	push	rbp
	mov	rbp, rsp
	sub	rsp, 32
	mov	eax, ecx
	jmp	$_011

	cmp	dword ptr [CurrIfState+rip], 0
	jz	$_001
	inc	dword ptr [falseblocknestlevel+rip]
	jmp	LC000F

$_001:	cmp	dword ptr [blocknestlevel+rip], 30
	jnz	$_002
	mov	ecx, 1007
	call	asmerr@PLT
	jmp	LC000F

$_002:	mov	ecx, dword ptr [blocknestlevel+rip]
	mov	eax, 1
	shl	eax, cl
	not	eax
	and	dword ptr [elseoccured+rip], eax
	inc	dword ptr [blocknestlevel+rip]
	jmp	LC000F

	cmp	dword ptr [blocknestlevel+rip], 0
	jz	$_006
	cmp	dword ptr [falseblocknestlevel+rip], 0
	jg	LC000F
	mov	ecx, dword ptr [blocknestlevel+rip]
	dec	ecx
	mov	eax, 1
	shl	eax, cl
	test	dword ptr [elseoccured+rip], eax
	jz	$_003
	mov	ecx, 2142
	call	asmerr@PLT
	jmp	LC000F

$_003:	mov	eax, 2
	cmp	dword ptr [CurrIfState+rip], 1
	jnz	$_004
	mov	eax, 0
$_004:	mov	dword ptr [CurrIfState+rip], eax
	cmp	dword ptr [rbp+0x10], 549
	jnz	$_005
	mov	ecx, dword ptr [blocknestlevel+rip]
	dec	ecx
	mov	eax, 1
	shl	eax, cl
	or	dword ptr [elseoccured+rip], eax
$_005:	jmp	$_007

$_006:	mov	ecx, 1007
	call	asmerr@PLT
$_007:	jmp	LC000F

	cmp	dword ptr [blocknestlevel+rip], 0
	jz	$_009
	cmp	dword ptr [falseblocknestlevel+rip], 0
	jle	$_008
	dec	dword ptr [falseblocknestlevel+rip]
	jmp	LC000F

$_008:	dec	dword ptr [blocknestlevel+rip]
	mov	dword ptr [CurrIfState+rip], 0
	jmp	$_010

$_009:	mov	ecx, 1007
	call	asmerr@PLT
$_010:	jmp	LC000F

$_011:
	cmp	eax, 537
	jl	LC000F
	cmp	eax, 562
	jg	LC000F
	lea	r11, [LC0027+rip]
	movzx	r10, word ptr [r11+rax*2-0x432]
	lea	r11, [LC000F+rip]
	sub	r11, r10
	jmp	r11

LC000F:
	leave
	ret

$_012:
	push	rbp
	mov	rbp, rsp
	sub	rsp, 32
	xor	eax, eax
	cmp	byte ptr [rcx], 0
	jz	$_013
	call	SymFind@PLT
	test	rax, rax
	jz	$_013
	movzx	eax, byte ptr [rax+0x10]
	and	eax, 0x01
$_013:	leave
	ret

$_014:
	cmp	byte ptr [rcx], 0
	jz	$_016
	movzx	eax, byte ptr [rcx]
	test	byte ptr [r15+rax], 0x08
	jnz	$_015
	xor	eax, eax
	jmp	$_017

$_015:	inc	rcx
	jmp	$_014

$_016:	mov	eax, 1
$_017:	ret

$_018:
	push	rbp
	mov	rbp, rsp
	sub	rsp, 32
	test	r8d, r8d
	jz	$_019
	call	tstrcmp@PLT
	jmp	$_020

$_019:	call	tstricmp@PLT
$_020:	leave
	ret

CondAsmDirective:
	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, 168
	cmp	dword ptr [CurrIfState+rip], 0
	jz	$_023
	cmp	dword ptr [rbp+0x28], 0
	jnz	$_021
	test	byte ptr [r14], 0x10
	jz	$_022
$_021:	call	LstWriteSrcLine@PLT
$_022:	xor	eax, eax
	jmp	$_095

$_023:	test	byte ptr [r14], 0x08
	jz	$_025
	cmp	dword ptr [MacroLevel+rip], 0
	jz	$_024
	cmp	dword ptr [r14+0x1CC], 2
	jz	$_024
	test	byte ptr [r14], 0x10
	jz	$_025
$_024:	call	LstWriteSrcLine@PLT
$_025:	imul	ebx, dword ptr [rbp+0x28], 32
	add	rbx, qword ptr [rbp+0x30]
	mov	eax, dword ptr [rbx+0x4]
	inc	dword ptr [rbp+0x28]
	add	rbx, 32
	mov	dword ptr [rbp-0x6C], eax
	add	eax, eax
	mov	eax, dword ptr [r12+rax*8+0x4]
	jmp	$_092

$_026:	mov	byte ptr [rsp+0x20], 2
	lea	r9, [rbp-0x68]
	mov	r8d, dword ptr [r14+0x64]
	mov	rdx, qword ptr [rbp+0x30]
	lea	rcx, [rbp+0x28]
	call	EvalOperand@PLT
	cmp	eax, -1
	jnz	$_027
	mov	dword ptr [rbp-0x2C], 0
	mov	dword ptr [rbp-0x68], 0
	mov	eax, dword ptr [r14+0x64]
	mov	dword ptr [rbp+0x28], eax
$_027:	imul	ebx, dword ptr [rbp+0x28], 32
	add	rbx, qword ptr [rbp+0x30]
	cmp	dword ptr [rbp-0x2C], 0
	jnz	$_028
	jmp	$_030

$_028:	cmp	dword ptr [rbp-0x2C], 1
	jnz	$_029
	test	byte ptr [rbp-0x28], 0x01
	jnz	$_029
	mov	rdx, qword ptr [rbp-0x18]
	mov	eax, dword ptr [rdx+0x30]
	add	dword ptr [rbp-0x68], eax
	mov	ecx, 8013
	call	asmerr@PLT
	jmp	$_030

$_029:	mov	ecx, 2026
	call	asmerr@PLT
	jmp	$_095

$_030:	mov	esi, 1
	cmp	dword ptr [rbp-0x6C], 537
	jz	$_031
	cmp	dword ptr [rbp-0x6C], 550
	jnz	$_033
$_031:	cmp	dword ptr [rbp-0x68], 0
	jz	$_032
	mov	esi, 0
$_032:	jmp	$_034

$_033:	cmp	dword ptr [rbp-0x68], 0
	jnz	$_034
	mov	esi, 0
$_034:	jmp	$_093

$_035:	mov	rsi, qword ptr [rbx+0x10]
	cmp	byte ptr [rbx], 9
	jnz	$_036
	cmp	byte ptr [rbx+0x1], 60
	jz	$_039
$_036:	mov	rcx, rsi
	call	SymFind@PLT
	test	eax, eax
	jnz	$_037
	cmp	byte ptr [rbx], 8
	jnz	$_037
	mov	rdx, rsi
	mov	ecx, 2006
	call	asmerr@PLT
	jmp	$_038

$_037:	mov	ecx, 2051
	call	asmerr@PLT
$_038:	mov	rax, -1
	jmp	$_095

$_039:	add	rbx, 32
	cmp	byte ptr [rbx], 44
	jz	$_040
	mov	rdx, qword ptr [rbx+0x18]
	mov	ecx, 2008
	call	asmerr@PLT
	jmp	$_095

$_040:	add	rbx, 32
	mov	rdi, qword ptr [rbx+0x10]
	cmp	byte ptr [rbx], 9
	jnz	$_041
	cmp	byte ptr [rbx+0x1], 60
	jz	$_044
$_041:	mov	rcx, rdi
	call	SymFind@PLT
	cmp	byte ptr [rbx], 8
	jnz	$_042
	test	eax, eax
	jnz	$_042
	mov	rdx, rdi
	mov	ecx, 2006
	call	asmerr@PLT
	jmp	$_043

$_042:	mov	ecx, 2051
	call	asmerr@PLT
$_043:	mov	rax, -1
	jmp	$_095

$_044:	add	rbx, 32
	mov	eax, dword ptr [rbp-0x6C]
	jmp	$_057

$_045:	mov	r8d, 1
	mov	rdx, rdi
	mov	rcx, rsi
	call	$_018
	test	rax, rax
	jz	$_046
	mov	esi, 0
	jmp	$_047

$_046:	mov	esi, 1
$_047:	jmp	$_058

$_048:	xor	r8d, r8d
	mov	rdx, rdi
	mov	rcx, rsi
	call	$_018
	test	rax, rax
	jz	$_049
	mov	esi, 0
	jmp	$_050

$_049:	mov	esi, 1
$_050:	jmp	$_058

$_051:	mov	r8d, 1
	mov	rdx, rdi
	mov	rcx, rsi
	call	$_018
	test	rax, rax
	jnz	$_052
	mov	esi, 0
	jmp	$_053

$_052:	mov	esi, 1
$_053:	jmp	$_058

$_054:	xor	r8d, r8d
	mov	rdx, rdi
	mov	rcx, rsi
	call	$_018
	test	rax, rax
	jnz	$_055
	mov	esi, 0
	jmp	$_056

$_055:	mov	esi, 1
$_056:	jmp	$_058

$_057:	cmp	eax, 541
	je	$_045
	cmp	eax, 554
	je	$_045
	cmp	eax, 542
	je	$_048
	cmp	eax, 555
	je	$_048
	cmp	eax, 543
	jz	$_051
	cmp	eax, 556
	jz	$_051
	jmp	$_054

$_058:	jmp	$_093

$_059:	mov	rsi, qword ptr [rbx+0x10]
	cmp	byte ptr [rbx], 9
	jnz	$_060
	cmp	byte ptr [rbx+0x1], 60
	jz	$_063
$_060:	mov	rcx, rsi
	call	SymFind@PLT
	cmp	byte ptr [rbx], 8
	jnz	$_061
	test	rax, rax
	jnz	$_061
	mov	rdx, rsi
	mov	ecx, 2006
	call	asmerr@PLT
	jmp	$_062

$_061:	mov	ecx, 2051
	call	asmerr@PLT
$_062:	mov	rax, -1
	jmp	$_095

$_063:	add	rbx, 32
	cmp	dword ptr [rbp-0x6C], 545
	jz	$_064
	cmp	dword ptr [rbp-0x6C], 558
	jnz	$_067
$_064:	mov	rcx, rsi
	call	$_014
	test	rax, rax
	jz	$_065
	mov	esi, 0
	jmp	$_066

$_065:	mov	esi, 1
$_066:	jmp	$_069

$_067:	mov	rcx, rsi
	call	$_014
	test	rax, rax
	jnz	$_068
	mov	esi, 0
	jmp	$_069

$_068:	mov	esi, 1
$_069:	jmp	$_093

$_070:	mov	esi, 0
	jmp	$_093

$_071:	test	byte ptr [r14+0x3], 0x08
	jnz	$_072
	mov	ecx, 2061
	call	asmerr@PLT
	jmp	$_093

$_072:	mov	esi, 0
	jmp	$_093

$_073:	mov	esi, 1
	mov	al, byte ptr [rbx]
	test	al, al
	jnz	$_074
	jmp	$_084

$_074:	cmp	al, 8
	jnz	$_081
	mov	rcx, rbx
	call	SymFindID@PLT
	test	byte ptr [Options+0x6+rip], 0x10
	jnz	$_079
	cmp	byte ptr [rbx+0x20], 46
	jnz	$_079
	test	rax, rax
	jz	$_079
	cmp	byte ptr [rax+0x1D], 7
	jz	$_075
	cmp	qword ptr [rax+0x28], 0
	jz	$_079
$_075:	add	rbx, 32
	cmp	byte ptr [rax+0x1D], 7
	jz	$_076
	mov	rax, qword ptr [rax+0x28]
$_076:	mov	rcx, rax
	xor	r9d, r9d
	xor	r8d, r8d
	mov	rdx, qword ptr [rbx+0x10]
	call	SearchNameInStruct@PLT
	test	rax, rax
	jz	$_077
	cmp	byte ptr [rbx+0x20], 46
	jz	$_075
$_077:	test	rax, rax
	jz	$_078
	mov	esi, 0
$_078:	jmp	$_080

$_079:	mov	rcx, qword ptr [rbx+0x10]
	call	$_012
	test	rax, rax
	jz	$_080
	mov	esi, 0
$_080:	add	rbx, 32
	jmp	$_084

$_081:	cmp	al, 7
	jnz	$_083
	cmp	dword ptr [rbx+0x4], 340
	jnz	$_083
	mov	rax, qword ptr [r14+0x40]
	test	rax, rax
	jz	$_082
	test	byte ptr [rax+0x10], 0x01
	jz	$_082
	mov	esi, 0
$_082:	add	rbx, 32
	jmp	$_084

$_083:	cmp	al, 2
	jnz	$_084
	cmp	byte ptr [rbx+0x20], 0
	jnz	$_084
	mov	esi, 0
	add	rbx, 32
$_084:	cmp	byte ptr [rbx], 0
	jz	$_087
	jmp	$_086

$_085:	add	rbx, 32
$_086:	cmp	byte ptr [rbx], 0
	jnz	$_085
$_087:	cmp	dword ptr [rbp-0x6C], 548
	jz	$_088
	cmp	dword ptr [rbp-0x6C], 561
	jnz	$_090
$_088:	test	esi, esi
	jnz	$_089
	mov	esi, 1
	jmp	$_090

$_089:	mov	esi, 0
$_090:	jmp	$_093

$_091:	mov	esi, 0
	jmp	$_093

$_092:	cmp	eax, 1
	je	$_026
	cmp	eax, 2
	je	$_035
	cmp	eax, 3
	je	$_059
	cmp	eax, 5
	je	$_070
	cmp	eax, 6
	je	$_071
	cmp	eax, 4
	je	$_073
	jmp	$_091

$_093:	cmp	byte ptr [rbx], 0
	jz	$_094
	mov	rdx, qword ptr [rbx+0x10]
	mov	ecx, 2008
	call	asmerr@PLT
	jmp	$_095

$_094:	mov	dword ptr [CurrIfState+rip], esi
	xor	eax, eax
$_095:	leave
	pop	rbx
	pop	rdi
	pop	rsi
	ret

$_096:
	mov	qword ptr [rsp+0x8], rcx
	mov	qword ptr [rsp+0x10], rdx
	push	rbx
	push	rbp
	mov	rbp, rsp
	sub	rsp, 40
	imul	ebx, dword ptr [rbp+0x18], 32
	add	rbx, qword ptr [rbp+0x20]
	mov	rcx, qword ptr [r14+0x1E0]
	mov	byte ptr [rcx], 0
	cmp	dword ptr [rbp+0x18], 0
	jz	$_099
	cmp	byte ptr [rbx], 9
	jnz	$_097
	cmp	byte ptr [rbx+0x1], 60
	jz	$_098
$_097:	mov	rcx, rbx
	call	TextItemError@PLT
	jmp	$_099

$_098:	mov	rdx, qword ptr [rbx+0x10]
	call	tstrcpy@PLT
$_099:	mov	rax, qword ptr [r14+0x1E0]
	leave
	pop	rbx
	ret

ErrorDirective:
	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, 184
	imul	ebx, dword ptr [rbp+0x28], 32
	add	rbx, qword ptr [rbp+0x30]
	mov	edi, dword ptr [rbx+0x4]
	inc	dword ptr [rbp+0x28]
	add	rbx, 32
	mov	eax, edi
	add	eax, eax
	mov	eax, dword ptr [r12+rax*8+0x4]
	jmp	$_150

$_100:	mov	byte ptr [rsp+0x20], 0
	lea	r9, [rbp-0x68]
	mov	r8d, dword ptr [r14+0x64]
	mov	rdx, qword ptr [rbp+0x30]
	lea	rcx, [rbp+0x28]
	call	EvalOperand@PLT
	cmp	eax, -1
	je	$_153
	mov	rdx, qword ptr [rbp-0x18]
	cmp	dword ptr [rbp-0x2C], 0
	jnz	$_101
	jmp	$_103

$_101:	cmp	dword ptr [rbp-0x2C], 1
	jnz	$_102
	test	byte ptr [rbp-0x28], 0x01
	jnz	$_102
	test	rdx, rdx
	jz	$_102
	cmp	byte ptr [rdx+0x1D], 0
	jnz	$_102
	jmp	$_103

$_102:	mov	ecx, 2026
	call	asmerr@PLT
	jmp	$_153

$_103:	imul	ebx, dword ptr [rbp+0x28], 32
	add	rbx, qword ptr [rbp+0x30]
	xor	ecx, ecx
	cmp	byte ptr [rbx], 44
	jnz	$_104
	cmp	byte ptr [rbx+0x20], 0
	jz	$_104
	mov	ecx, dword ptr [rbp+0x28]
	inc	ecx
	add	rbx, 64
$_104:	cmp	dword ptr [Parse_Pass+rip], 0
	je	$_151
	xor	esi, esi
	cmp	edi, 527
	jnz	$_105
	cmp	dword ptr [rbp-0x68], 0
	jz	$_105
	mov	esi, 2054
	jmp	$_106

$_105:	cmp	edi, 526
	jnz	$_106
	cmp	dword ptr [rbp-0x68], 0
	jnz	$_106
	mov	esi, 2053
$_106:	test	esi, esi
	jz	$_107
	mov	rdx, qword ptr [rbp+0x30]
	call	$_096
	mov	r8, rax
	mov	edx, dword ptr [rbp-0x68]
	mov	ecx, esi
	call	asmerr@PLT
$_107:	jmp	$_151

$_108:	cmp	byte ptr [rbx], 8
	jz	$_109
	mov	rdx, qword ptr [rbx+0x10]
	mov	ecx, 2008
	call	asmerr@PLT
	jmp	$_153

$_109:	add	rbx, 32
	cmp	byte ptr [rbx], 46
	jz	$_109
	cmp	byte ptr [rbx], 8
	jz	$_109
	cmp	byte ptr [rbx], 44
	jnz	$_110
	cmp	byte ptr [rbx+0x20], 0
	jz	$_110
	add	rbx, 64
$_110:	cmp	dword ptr [Parse_Pass+rip], 0
	je	$_151
	mov	dword ptr [rbp-0x6C], edi
	imul	edi, dword ptr [rbp+0x28], 32
	add	rdi, qword ptr [rbp+0x30]
	mov	rcx, qword ptr [rdi+0x10]
	call	SymFind@PLT
	mov	qword ptr [rbp-0x88], rax
	test	byte ptr [Options+0x6+rip], 0x10
	jnz	$_117
	cmp	byte ptr [rdi+0x20], 46
	jnz	$_117
	test	rax, rax
	jz	$_117
	cmp	byte ptr [rax+0x1D], 7
	jz	$_111
	cmp	qword ptr [rax+0x28], 0
	jz	$_117
$_111:	mov	rsi, rdi
$_112:	add	rsi, 64
	cmp	byte ptr [rax+0x1D], 7
	jz	$_113
	mov	rax, qword ptr [rax+0x28]
$_113:	mov	rcx, rax
	xor	r9d, r9d
	xor	r8d, r8d
	mov	rdx, qword ptr [rsi+0x10]
	call	SearchNameInStruct@PLT
	test	rax, rax
	jz	$_114
	cmp	byte ptr [rsi+0x20], 46
	jz	$_112
$_114:	cmp	byte ptr [rsi], 8
	jnz	$_115
	add	rsi, 32
	jmp	$_116

$_115:	cmp	byte ptr [rsi], 0
	jz	$_116
	cmp	byte ptr [rsi], 44
	jz	$_116
	mov	rdx, qword ptr [rsi+0x10]
	mov	ecx, 2008
	call	asmerr@PLT
	jmp	$_153

$_116:	mov	rcx, qword ptr [rsi+0x18]
	mov	rsi, qword ptr [rdi+0x18]
	sub	rcx, rsi
	jmp	$_118

$_117:	mov	rsi, qword ptr [rdi+0x10]
	mov	rcx, qword ptr [rdi+0x38]
	sub	rcx, qword ptr [rdi+0x18]
$_118:	mov	rdi, qword ptr [r14+0x1E0]
	rep movsb
	mov	byte ptr [rdi], 0
	mov	rax, qword ptr [rbp-0x88]
	test	rax, rax
	jz	$_119
	cmp	byte ptr [rax+0x1D], 0
	jnz	$_119
	xor	eax, eax
$_119:	cmp	dword ptr [rbp-0x6C], 534
	jnz	$_120
	test	rax, rax
	jz	$_120
	mov	rdx, qword ptr [r14+0x1E0]
	mov	ecx, 2056
	call	asmerr@PLT
	jmp	$_121

$_120:	cmp	dword ptr [rbp-0x6C], 535
	jnz	$_121
	test	rax, rax
	jnz	$_121
	mov	rdx, qword ptr [r14+0x1E0]
	mov	ecx, 2055
	call	asmerr@PLT
$_121:	jmp	$_151

$_122:	mov	rsi, qword ptr [rbx+0x10]
	cmp	byte ptr [rbx], 9
	jnz	$_123
	cmp	byte ptr [rbx+0x1], 60
	jz	$_124
$_123:	mov	rcx, rbx
	call	TextItemError@PLT
	jmp	$_153

$_124:	inc	dword ptr [rbp+0x28]
	add	rbx, 32
	xor	ecx, ecx
	cmp	byte ptr [rbx], 44
	jnz	$_125
	cmp	byte ptr [rbx+0x20], 0
	jz	$_125
	mov	ecx, dword ptr [rbp+0x28]
	inc	ecx
	add	rbx, 64
$_125:	cmp	dword ptr [Parse_Pass+rip], 0
	je	$_151
	mov	dword ptr [rbp-0x7C], ecx
	xor	edx, edx
	mov	rcx, rsi
	call	$_014
	cmp	edi, 532
	jnz	$_126
	test	rax, rax
	jz	$_126
	mov	edx, 2057
	jmp	$_127

$_126:	mov	rcx, rsi
	call	$_014
	cmp	edi, 533
	jnz	$_127
	test	rax, rax
	jnz	$_127
	mov	edx, 2058
$_127:	test	edx, edx
	jz	$_128
	mov	edi, edx
	mov	rdx, qword ptr [rbp+0x30]
	mov	ecx, dword ptr [rbp-0x7C]
	call	$_096
	mov	r8, rax
	mov	rdx, rsi
	mov	ecx, edi
	call	asmerr@PLT
$_128:	jmp	$_151

$_129:	mov	rsi, qword ptr [rbx+0x10]
	cmp	byte ptr [rbx], 9
	jnz	$_130
	cmp	byte ptr [rbx+0x1], 60
	jz	$_131
$_130:	mov	rcx, rbx
	call	TextItemError@PLT
	jmp	$_153

$_131:	inc	dword ptr [rbp+0x28]
	add	rbx, 32
	cmp	byte ptr [rbx], 44
	jz	$_132
	mov	rdx, qword ptr [rbx+0x18]
	mov	ecx, 2008
	call	asmerr@PLT
	jmp	$_153

$_132:	inc	dword ptr [rbp+0x28]
	add	rbx, 32
	mov	rdx, qword ptr [rbx+0x10]
	cmp	byte ptr [rbx], 9
	jnz	$_133
	cmp	byte ptr [rbx+0x1], 60
	jz	$_134
$_133:	mov	rcx, rbx
	call	TextItemError@PLT
	jmp	$_153

$_134:	inc	dword ptr [rbp+0x28]
	add	rbx, 32
	xor	ecx, ecx
	cmp	byte ptr [rbx], 44
	jnz	$_135
	cmp	byte ptr [rbx+0x20], 0
	jz	$_135
	mov	ecx, dword ptr [rbp+0x28]
	inc	ecx
	add	rbx, 64
$_135:	cmp	dword ptr [Parse_Pass+rip], 0
	je	$_151
	mov	dword ptr [rbp-0x7C], ecx
	mov	eax, edi
	xor	edi, edi
	mov	qword ptr [rbp-0x78], rdx
	jmp	$_144

$_136:	mov	r8d, 1
	mov	rcx, rsi
	call	$_018
	test	rax, rax
	jz	$_137
	mov	edi, 2060
$_137:	jmp	$_145

$_138:	xor	r8d, r8d
	mov	rcx, rsi
	call	$_018
	test	rax, rax
	jz	$_139
	mov	edi, 2060
$_139:	jmp	$_145

$_140:	mov	r8d, 1
	mov	rcx, rsi
	call	$_018
	test	rax, rax
	jnz	$_141
	mov	edi, 2059
$_141:	jmp	$_145

$_142:	xor	r8d, r8d
	mov	rcx, rsi
	call	$_018
	test	rax, rax
	jnz	$_143
	mov	edi, 2059
$_143:	jmp	$_145

$_144:	cmp	eax, 528
	jz	$_136
	cmp	eax, 529
	jz	$_138
	cmp	eax, 530
	jz	$_140
	jmp	$_142

$_145:	test	edi, edi
	jz	$_146
	mov	rdx, qword ptr [rbp+0x30]
	mov	ecx, dword ptr [rbp-0x7C]
	call	$_096
	mov	r9, rax
	mov	r8, qword ptr [rbp-0x78]
	mov	rdx, rsi
	mov	ecx, edi
	call	asmerr@PLT
$_146:	jmp	$_151

$_147:	test	byte ptr [r14+0x3], 0x08
	jnz	$_148
	mov	ecx, 2061
	call	asmerr@PLT
	jmp	$_153

$_148:	xor	ecx, ecx
	cmp	byte ptr [rbx], 0
	jz	$_149
	mov	ecx, dword ptr [rbp+0x28]
	add	rbx, 32
$_149:	cmp	dword ptr [Parse_Pass+rip], 0
	jz	$_151
	mov	rdx, qword ptr [rbp+0x30]
	call	$_096
	mov	rdx, rax
	mov	ecx, 2052
	call	asmerr@PLT
	jmp	$_151

$_150:	cmp	eax, 1
	je	$_100
	cmp	eax, 4
	je	$_108
	cmp	eax, 3
	je	$_122
	cmp	eax, 2
	je	$_129
	cmp	eax, 6
	jz	$_147
	cmp	eax, 5
	jz	$_148
	jmp	$_148

$_151:	cmp	byte ptr [rbx], 0
	jz	$_152
	mov	rdx, qword ptr [rbx+0x18]
	mov	ecx, 2008
	call	asmerr@PLT
	jmp	$_153

$_152:	xor	eax, eax
$_153:	leave
	pop	rbx
	pop	rdi
	pop	rsi
	ret

CondCheckOpen:
	sub	rsp, 40
	cmp	dword ptr [blocknestlevel+rip], 0
	jle	$_154
	lea	rdx, [DS0000+rip]
	mov	ecx, 1010
	call	asmerr@PLT
$_154:	add	rsp, 40
	ret

GetIfNestLevel:
	mov	eax, dword ptr [blocknestlevel+rip]
	ret

SetIfNestLevel:
	mov	qword ptr [rsp+0x8], rcx
	push	rbp
	mov	rbp, rsp
	mov	eax, dword ptr [rbp+0x10]
	mov	dword ptr [blocknestlevel+rip], eax
	leave
	ret

CondInit:
	xor	eax, eax
	mov	dword ptr [CurrIfState+rip], eax
	mov	dword ptr [blocknestlevel+rip], eax
	mov	dword ptr [falseblocknestlevel+rip], eax
	ret


.SECTION .data
	.ALIGN	16

CurrIfState:
	.int   0x00000000

blocknestlevel:
	.int   0x00000000

falseblocknestlevel:
	.int   0x00000000

elseoccured:
	.int   0x00000000

LC0027:
	.byte  0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01
	.byte  0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01
	.byte  0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01
	.byte  0xE4, 0x00, 0xE4, 0x00, 0xE4, 0x00, 0xE4, 0x00
	.byte  0xE4, 0x00, 0xE4, 0x00, 0xE4, 0x00, 0xE4, 0x00
	.byte  0xE4, 0x00, 0xE4, 0x00, 0xE4, 0x00, 0xE4, 0x00
	.byte  0xE4, 0x00, 0x63, 0x00

DS0000:
	.byte  0x69, 0x66, 0x2D, 0x65, 0x6C, 0x73, 0x65, 0x00


.att_syntax prefix
