
.intel_syntax noprefix

.global EqualSgnDirective
.global CreateVariable
.global CreateConstant
.global EquDirective

.extern ParseOperator
.extern EvalOperator
.extern _atoow
.extern EmitConstError
.extern EvalOperand
.extern LstWrite
.extern SaveVariableState
.extern StoreLine
.extern StoreState
.extern SetTextMacro
.extern ExpandLineItems
.extern sym_ext2int
.extern sym_remove_table
.extern SymTables
.extern BackPatch
.extern NameSpace_
.extern asmerr
.extern Options
.extern Parse_Pass
.extern SymFind
.extern SymGCreate
.extern SymCreate


.SECTION .text
	.ALIGN	16

$_001:	push	rdi
	push	rbp
	mov	rbp, rsp
	sub	rsp, 40
	mov	byte ptr [rcx+0x1D], 1
	or	byte ptr [rcx+0x10], 0x01
	or	byte ptr [rcx+0x11], 0x80
	and	byte ptr [rcx+0x10], 0xFD
	test	byte ptr [rdx+0x40], 0x08
	jz	$_002
	or	byte ptr [rcx+0x1C], 0x02
$_002:	cmp	dword ptr [rdx+0x3C], 0
	jz	$_003
	cmp	dword ptr [rdx+0x3C], 3
	jnz	$_006
	cmp	qword ptr [rdx+0x10], 0
	jnz	$_006
$_003:	test	byte ptr [rdx+0x40], 0x20
	jz	$_004
	or	byte ptr [rcx+0x13], 0x80
$_004:	mov	rax, qword ptr [rdx]
	mov	qword ptr [rcx+0x30], rax
	mov	al, byte ptr [rdx+0x44]
	mov	byte ptr [rcx+0x1E], al
	cmp	al, 47
	jnz	$_005
	test	byte ptr [Options+0x6+rip], 0x10
	jnz	$_005
	mov	rax, qword ptr [rdx+0x8]
	mov	qword ptr [rcx+0x38], rax
$_005:	mov	dword ptr [rcx+0x60], 0
	mov	qword ptr [rcx+0x40], 0
	jmp	$_012

$_006:	mov	rdi, qword ptr [rdx+0x50]
	test	byte ptr [rdi+0x10], 0x02
	jz	$_007
	or	byte ptr [rcx+0x10], 0x02
	mov	al, byte ptr [rdi+0x1F]
	mov	byte ptr [rcx+0x1F], al
	mov	rax, qword ptr [rdi+0x78]
	mov	qword ptr [rcx+0x78], rax
$_007:	mov	al, byte ptr [rdx+0x44]
	mov	byte ptr [rcx+0x1E], al
	cmp	byte ptr [rdi+0x1E], 196
	jnz	$_008
	test	byte ptr [rdx+0x40], 0x02
	jnz	$_008
	mov	al, byte ptr [rdi+0x1E]
	mov	byte ptr [rcx+0x1E], al
	mov	rax, qword ptr [rdi+0x28]
	mov	qword ptr [rcx+0x28], rax
$_008:	mov	dword ptr [rcx+0x60], 0
	mov	rax, qword ptr [rdi+0x40]
	mov	qword ptr [rcx+0x40], rax
	mov	eax, dword ptr [rdi+0x30]
	add	eax, dword ptr [rdx]
	test	byte ptr [rcx+0x10], 0x80
	jz	$_010
	mov	dword ptr [rcx+0x30], eax
	cmp	dword ptr [Parse_Pass+rip], 1
	jnz	$_009
	test	byte ptr [rcx+0x12], 0x40
	jz	$_009
	or	byte ptr [r14+0x370], 0x01
$_009:	jmp	$_012

$_010:	mov	edx, dword ptr [rcx+0x30]
	mov	dword ptr [rcx+0x30], eax
	cmp	dword ptr [Parse_Pass+rip], 0
	jnz	$_011
	call	BackPatch@PLT
	jmp	$_012

$_011:	cmp	eax, edx
	jz	$_012
	or	byte ptr [r14+0x370], 0x01
$_012:	leave
	pop	rdi
	ret

$_013:
	mov	qword ptr [rsp+0x8], rcx
	push	rsi
	push	rdi
	push	rbx
	push	rbp
	mov	rbp, rsp
	sub	rsp, 280
	mov	dword ptr [rbp-0x14], 2
	mov	rbx, rcx
	mov	rax, qword ptr [rbx+0x10]
	mov	qword ptr [rbp-0x10], rax
	add	rbx, 64
	cmp	byte ptr [rbx], 10
	jnz	$_017
	cmp	byte ptr [rbx+0x20], 0
	jnz	$_017
	mov	dword ptr [rbp-0x40], 0
	mov	r9d, dword ptr [rbx+0x4]
	movsx	r8d, byte ptr [rbx+0x1]
	mov	rdx, qword ptr [rbx+0x10]
	lea	rcx, [rbp-0x80]
	call	_atoow@PLT
$_014:	mov	dword ptr [rbp-0x44], 0
	mov	byte ptr [rbp-0x3C], 192
	mov	rax, qword ptr [rbp-0x78]
	test	rax, rax
	jnz	$_015
	movzx	ecx, byte ptr [r14+0x4]
	lea	rsi, [minintvalues+rip]
	lea	rdi, [maxintvalues+rip]
	mov	rdx, qword ptr [rbp-0x80]
	cmp	rdx, qword ptr [rsi+rcx*8]
	setl	al
	cmp	rdx, qword ptr [rdi+rcx*8]
	setg	ah
$_015:	test	rax, rax
	jz	$_016
	call	EmitConstError@PLT
	xor	eax, eax
	jmp	$_043

$_016:	jmp	$_029

$_017:	mov	byte ptr [rsp+0x20], 0
	lea	r9, [rbp-0x80]
	mov	r8d, dword ptr [r14+0x64]
	mov	rdx, qword ptr [rbp+0x28]
	lea	rcx, [rbp-0x14]
	call	EvalOperand@PLT
	cmp	eax, -1
	je	$_043
	imul	ebx, dword ptr [rbp-0x14], 32
	add	rbx, qword ptr [rbp+0x28]
	cmp	byte ptr [rbx], 0
	jz	$_018
	mov	rdx, qword ptr [rbx+0x10]
	mov	ecx, 2008
	call	asmerr@PLT
	xor	eax, eax
	jmp	$_043

$_018:	mov	rcx, qword ptr [rbp-0x30]
	cmp	dword ptr [rbp-0x44], 0
	jz	$_019
	cmp	dword ptr [rbp-0x44], 1
	jnz	$_020
	test	byte ptr [rbp-0x40], 0x01
	jnz	$_020
$_019:	test	rcx, rcx
	je	$_026
	cmp	byte ptr [rcx+0x1D], 1
	je	$_026
$_020:	test	rcx, rcx
	jz	$_022
	cmp	byte ptr [rcx+0x1D], 0
	jnz	$_022
	test	byte ptr [rbp-0x40], 0x01
	jnz	$_022
	cmp	dword ptr [StoreState+rip], 0
	jnz	$_021
	cmp	dword ptr [Parse_Pass+rip], 0
	jnz	$_021
	mov	rcx, qword ptr [r14+0x1D8]
	call	StoreLine@PLT
$_021:	jmp	$_025

$_022:	test	rcx, rcx
	jnz	$_023
	cmp	dword ptr [rbp-0x44], 3
	jnz	$_023
	test	byte ptr [Options+0x6+rip], 0x10
	jnz	$_023
	mov	byte ptr [rbp-0x3C], 47
	mov	dword ptr [rbp-0x44], 0
	mov	qword ptr [rbp-0x70], 0
	jmp	$_029

	jmp	$_025

$_023:	mov	dword ptr [rbp-0x14], 0
	mov	byte ptr [rsp+0x20], 0
	lea	r9, [rbp-0xE8]
	mov	r8d, 1
	mov	rdx, qword ptr [rbp+0x28]
	lea	rcx, [rbp-0x14]
	call	EvalOperand@PLT
	cmp	eax, -1
	jz	$_024
	mov	rcx, qword ptr [rbp+0x28]
	add	rcx, 32
	mov	r8, rcx
	lea	rdx, [rbp-0x80]
	lea	rcx, [rbp-0xE8]
	call	EvalOperator@PLT
	cmp	eax, -1
	jz	$_024
	mov	rdx, qword ptr [rbp-0xA0]
	mov	rcx, qword ptr [rbp+0x28]
	call	ParseOperator@PLT
	cmp	eax, -1
	jz	$_024
	mov	rax, qword ptr [rbp-0x98]
	jmp	$_043

$_024:	mov	ecx, 2026
	call	asmerr@PLT
$_025:	xor	eax, eax
	jmp	$_043

$_026:	cmp	dword ptr [rbp-0x78], 0
	jnz	$_027
	cmp	dword ptr [rbp-0x74], 0
	jz	$_028
$_027:	call	EmitConstError@PLT
	xor	eax, eax
	jmp	$_043

$_028:	cmp	qword ptr [rbp-0x70], 0
	jz	$_029
	jmp	$_014

$_029:	mov	rcx, qword ptr [rbp-0x10]
	call	SymFind@PLT
	mov	rdi, rax
	test	rdi, rdi
	jz	$_030
	cmp	byte ptr [rdi+0x1D], 0
	jnz	$_034
$_030:	test	rdi, rdi
	jnz	$_031
	mov	rcx, qword ptr [rbp-0x10]
	call	SymGCreate@PLT
	mov	rdi, rax
	jmp	$_032

$_031:	mov	rdx, rdi
	lea	rcx, [SymTables+rip]
	call	sym_remove_table@PLT
	or	byte ptr [rdi+0x12], 0x40
$_032:	and	byte ptr [rdi+0x11], 0xDF
	cmp	dword ptr [StoreState+rip], 0
	jz	$_033
	or	byte ptr [rdi+0x11], 0x20
$_033:	jmp	$_040

$_034:	cmp	byte ptr [rdi+0x1D], 2
	jnz	$_036
	test	byte ptr [rdi+0x4B], 0x02
	jz	$_036
	cmp	byte ptr [rdi+0x1E], 192
	jnz	$_036
	mov	rcx, rdi
	call	sym_ext2int@PLT
	and	byte ptr [rdi+0x11], 0xDF
	cmp	dword ptr [StoreState+rip], 0
	jz	$_035
	or	byte ptr [rdi+0x11], 0x20
$_035:	jmp	$_040

$_036:	cmp	byte ptr [rdi+0x1D], 1
	jnz	$_037
	test	byte ptr [rdi+0x10], 0x80
	jnz	$_038
	mov	eax, dword ptr [rdi+0x30]
	cmp	dword ptr [rbp-0x80], eax
	jnz	$_037
	mov	eax, dword ptr [rdi+0x34]
	cmp	dword ptr [rbp-0x7C], eax
	jz	$_038
$_037:	mov	rdx, qword ptr [rdi+0x8]
	mov	ecx, 2005
	call	asmerr@PLT
	xor	eax, eax
	jmp	$_043

$_038:	test	byte ptr [rdi+0x10], 0x80
	jnz	$_039
	mov	rax, rdi
	jmp	$_043

$_039:	cmp	dword ptr [StoreState+rip], 0
	jz	$_040
	test	byte ptr [rdi+0x11], 0x20
	jnz	$_040
	mov	rcx, rdi
	call	SaveVariableState@PLT
$_040:	or	byte ptr [rdi+0x10], 0x80
	test	byte ptr [rdi+0x10], 0x08
	jz	$_041
	cmp	qword ptr [rdi+0x68], 0
	jz	$_041
	lea	rdx, [rbp-0x80]
	mov	rcx, rdi
	call	qword ptr [rdi+0x68]
	jmp	$_042

$_041:	lea	rdx, [rbp-0x80]
	mov	rcx, rdi
	call	$_001
$_042:	mov	rax, rdi
$_043:	leave
	pop	rbx
	pop	rdi
	pop	rsi
	ret

EqualSgnDirective:
	push	rbp
	mov	rbp, rsp
	sub	rsp, 32
	cmp	byte ptr [rdx], 8
	jz	$_044
	mov	rdx, qword ptr [rdx+0x10]
	mov	ecx, 2008
	call	asmerr@PLT
	jmp	$_047

$_044:	mov	rcx, rdx
	call	$_013
	test	rax, rax
	jz	$_046
	test	byte ptr [r14], 0x08
	jz	$_045
	mov	r8, rax
	xor	edx, edx
	mov	ecx, 2
	call	LstWrite@PLT
$_045:	xor	eax, eax
	jmp	$_047

$_046:	mov	rax, -1
$_047:	leave
	ret

CreateVariable:
	mov	qword ptr [rsp+0x8], rcx
	mov	qword ptr [rsp+0x10], rdx
	push	rdi
	push	rbp
	mov	rbp, rsp
	sub	rsp, 40
	mov	rcx, qword ptr [rbp+0x18]
	call	SymFind@PLT
	mov	rdi, rax
	test	rdi, rdi
	jnz	$_049
	mov	rcx, qword ptr [rbp+0x18]
	call	SymGCreate@PLT
	mov	rdi, rax
	and	byte ptr [rdi+0x11], 0xDF
	cmp	dword ptr [StoreState+rip], 0
	jz	$_048
	or	byte ptr [rdi+0x11], 0x20
$_048:	jmp	$_053

$_049:	cmp	byte ptr [rdi+0x1D], 0
	jnz	$_051
	mov	rdx, rdi
	lea	rcx, [SymTables+rip]
	call	sym_remove_table@PLT
	or	byte ptr [rdi+0x12], 0x40
	and	byte ptr [rdi+0x11], 0xDF
	cmp	dword ptr [StoreState+rip], 0
	jz	$_050
	or	byte ptr [rdi+0x11], 0x20
$_050:	jmp	$_053

$_051:	test	byte ptr [rdi+0x11], 0x80
	jnz	$_052
	mov	rdx, qword ptr [rbp+0x18]
	mov	ecx, 2005
	call	asmerr@PLT
	xor	eax, eax
	jmp	$_054

$_052:	mov	dword ptr [rdi+0x34], 0
	cmp	dword ptr [StoreState+rip], 0
	jz	$_053
	test	byte ptr [rdi+0x11], 0x20
	jnz	$_053
	mov	rcx, rdi
	call	SaveVariableState@PLT
$_053:	or	byte ptr [rdi+0x10], 0x01
	or	byte ptr [rdi+0x10], 0x80
	or	byte ptr [rdi+0x11], 0x80
	mov	byte ptr [rdi+0x1D], 1
	mov	eax, dword ptr [rbp+0x20]
	mov	dword ptr [rdi+0x30], eax
	mov	rax, rdi
$_054:	leave
	pop	rdi
	ret

CreateConstant:
	push	rsi
	push	rdi
	push	rbx
	push	rbp
	mov	rbp, rsp
	sub	rsp, 2232
	mov	rbx, rcx
	cmp	byte ptr [rbx], 3
	jnz	$_055
	cmp	dword ptr [rbx+0x4], 621
	jnz	$_055
	mov	rax, qword ptr [rbx+0x30]
	jmp	$_056

$_055:	mov	rdx, qword ptr [rbx+0x10]
	mov	rax, qword ptr [rbx+0x10]
	call	NameSpace_@PLT
$_056:	mov	qword ptr [rbp-0x8], rax
	mov	dword ptr [rbp-0xC], 2
	mov	dword ptr [rbp-0x1C], 0
	mov	rcx, qword ptr [rbp-0x8]
	call	SymFind@PLT
	mov	rdi, rax
	lea	rsi, [rbx+0x40]
	jmp	$_064

$_057:	xor	eax, eax
	mov	qword ptr [rbp-0x88], rax
	mov	qword ptr [rbp-0x80], rax
	mov	qword ptr [rbp-0x38], rax
	dec	dword ptr [rbp-0xC]
	jmp	$_070

$_058:	xor	r9d, r9d
	mov	r8, qword ptr [rbp-0x8]
	mov	rdx, rdi
	mov	rcx, rbx
	call	SetTextMacro@PLT
	jmp	$_092

$_059:	jmp	$_068

$_060:	mov	r9, qword ptr [rsi+0x18]
	mov	r8, qword ptr [rbp-0x8]
	mov	rdx, rdi
	mov	rcx, rbx
	call	SetTextMacro@PLT
	jmp	$_092

$_061:	mov	rdx, qword ptr [rbp-0x8]
	mov	ecx, 2005
	call	asmerr@PLT
	xor	eax, eax
	jmp	$_092

$_062:	mov	eax, dword ptr [Parse_Pass+rip]
	cmp	byte ptr [rdi+0x4A], al
	jnz	$_063
	mov	dword ptr [rbp-0x1C], 1
$_063:	mov	byte ptr [rdi+0x4A], al
	jmp	$_068

$_064:	cmp	dword ptr [rbx+0x4], 621
	jnz	$_065
	cmp	byte ptr [rsi], 0
	je	$_057
$_065:	cmp	byte ptr [rsi], 9
	jnz	$_066
	cmp	byte ptr [rsi+0x1], 60
	jz	$_058
$_066:	test	rdi, rdi
	jz	$_059
	cmp	byte ptr [rdi+0x1D], 0
	jz	$_059
	cmp	byte ptr [rdi+0x1D], 2
	jnz	$_067
	test	byte ptr [rdi+0x4B], 0x02
	jz	$_067
	test	byte ptr [rdi+0x10], 0x02
	je	$_059
$_067:	cmp	byte ptr [rdi+0x1D], 10
	je	$_060
	test	byte ptr [rdi+0x11], 0x80
	jz	$_061
	jmp	$_062

$_068:	cmp	byte ptr [rsi], 10
	jne	$_073
	cmp	dword ptr [r14+0x64], 3
	jne	$_073
	mov	rax, qword ptr [rsi+0x10]
	mov	qword ptr [rbp-0x18], rax
$_069:	mov	r9d, dword ptr [rsi+0x4]
	movsx	r8d, byte ptr [rsi+0x1]
	mov	rdx, qword ptr [rsi+0x10]
	lea	rcx, [rbp-0x88]
	call	_atoow@PLT
$_070:	mov	dword ptr [rbp-0x50], -2
	mov	dword ptr [rbp-0x4C], 0
	mov	byte ptr [rbp-0x44], 192
	mov	dword ptr [rbp-0x48], 0
	mov	rax, qword ptr [rbp-0x80]
	mov	dword ptr [rbp-0x10], 0
	inc	dword ptr [rbp-0xC]
	test	rax, rax
	jnz	$_071
	movzx	ecx, byte ptr [r14+0x4]
	mov	rdx, qword ptr [rbp-0x88]
	lea	r8, [minintvalues+rip]
	cmp	rdx, qword ptr [r8+rcx*8]
	setl	al
	lea	r8, [maxintvalues+rip]
	cmp	rdx, qword ptr [r8+rcx*8]
	setg	ah
$_071:	test	rax, rax
	jz	$_072
	mov	r9, qword ptr [rbp-0x18]
	mov	r8, qword ptr [rbp-0x8]
	mov	rdx, rdi
	mov	rcx, rbx
	call	SetTextMacro@PLT
	jmp	$_092

$_072:	jmp	$_077

$_073:	mov	rax, qword ptr [rsi+0x18]
	mov	qword ptr [rbp-0x18], rax
	cmp	dword ptr [Parse_Pass+rip], 0
	jne	$_076
	mov	rdx, rdi
	mov	rdi, rax
	xor	eax, eax
	mov	ecx, 4294967295
	repne scasb
	not	ecx
	cmp	ecx, 2048
	jc	$_074
	mov	rdx, qword ptr [rbx+0x10]
	mov	ecx, 2008
	call	asmerr@PLT
	xor	eax, eax
	jmp	$_092

$_074:	mov	rax, rsi
	lea	rdi, [rbp-0x888]
	mov	rsi, qword ptr [rbp-0x18]
	rep movsb
	mov	rsi, rax
	mov	rdi, rdx
	mov	dword ptr [rsp+0x20], 1
	xor	r9d, r9d
	mov	r8, rbx
	mov	edx, 2
	mov	rcx, qword ptr [rbp-0x18]
	call	ExpandLineItems@PLT
	test	rax, rax
	jz	$_075
	lea	rax, [rbp-0x888]
	mov	qword ptr [rbp-0x18], rax
$_075:	cmp	byte ptr [rsi], 10
	jnz	$_076
	cmp	dword ptr [r14+0x64], 3
	jnz	$_076
	jmp	$_069

$_076:	mov	byte ptr [rsp+0x20], 3
	lea	r9, [rbp-0x88]
	mov	r8d, dword ptr [r14+0x64]
	mov	rdx, rbx
	lea	rcx, [rbp-0xC]
	call	EvalOperand@PLT
	mov	dword ptr [rbp-0x10], eax
	cmp	qword ptr [rbp-0x78], 0
	jz	$_077
	cmp	dword ptr [rbp-0x4C], 0
	jnz	$_077
	dec	dword ptr [rbp-0xC]
	jmp	$_070

$_077:	imul	eax, dword ptr [rbp-0xC], 32
	mov	rcx, qword ptr [rbp-0x38]
	mov	rdx, qword ptr [rbp-0x80]
	cmp	dword ptr [rbp-0x10], -1
	je	$_091
	cmp	byte ptr [rbx+rax], 0
	jne	$_091
	cmp	dword ptr [rbp-0x50], -2
	jne	$_091
	cmp	dword ptr [rbp-0x4C], 0
	jnz	$_078
	test	rdx, rdx
	jz	$_079
$_078:	cmp	dword ptr [rbp-0x4C], 1
	jne	$_091
	test	byte ptr [rbp-0x48], 0x01
	jne	$_091
	test	rcx, rcx
	je	$_091
	cmp	byte ptr [rcx+0x1D], 1
	jne	$_091
$_079:	jmp	$_089

$_080:	mov	rcx, qword ptr [rbp-0x8]
	call	SymCreate@PLT
	mov	rdi, rax
	mov	eax, dword ptr [Parse_Pass+rip]
	mov	byte ptr [rdi+0x4A], al
	jmp	$_090

$_081:	mov	rdx, rdi
	lea	rcx, [SymTables+rip]
	call	sym_remove_table@PLT
	or	byte ptr [rdi+0x12], 0x40
	jmp	$_090

$_082:	mov	rcx, rdi
	call	sym_ext2int@PLT
	jmp	$_090

$_083:	cmp	dword ptr [rbp-0x4C], 0
	jnz	$_086
	mov	eax, dword ptr [rbp-0x88]
	cmp	dword ptr [rdi+0x30], eax
	jnz	$_084
	mov	eax, dword ptr [rbp-0x84]
	cmp	dword ptr [rdi+0x34], eax
	jz	$_085
$_084:	mov	rdx, qword ptr [rbp-0x8]
	mov	ecx, 2005
	call	asmerr@PLT
	xor	eax, eax
	jmp	$_092

$_085:	jmp	$_088

$_086:	cmp	dword ptr [rbp-0x4C], 1
	jnz	$_088
	mov	rcx, qword ptr [rbp-0x38]
	mov	edx, dword ptr [rcx+0x30]
	add	edx, dword ptr [rbp-0x88]
	cmp	dword ptr [rdi+0x30], edx
	jnz	$_087
	mov	rax, qword ptr [rcx+0x40]
	cmp	qword ptr [rdi+0x40], rax
	jz	$_088
$_087:	mov	rdx, qword ptr [rbp-0x8]
	mov	ecx, 2005
	call	asmerr@PLT
	xor	eax, eax
	jmp	$_092

$_088:	jmp	$_090

$_089:	test	rdi, rdi
	je	$_080
	cmp	byte ptr [rdi+0x1D], 0
	je	$_081
	cmp	byte ptr [rdi+0x1D], 2
	je	$_082
	cmp	dword ptr [rbp-0x1C], 0
	jne	$_083
$_090:	and	byte ptr [rdi+0x10], 0x7F
	lea	rdx, [rbp-0x88]
	mov	rcx, rdi
	call	$_001
	mov	rax, rdi
	jmp	$_092

$_091:	lea	r9, [rbp-0x888]
	mov	r8, qword ptr [rbp-0x8]
	mov	rdx, rdi
	mov	rcx, rbx
	call	SetTextMacro@PLT
$_092:	leave
	pop	rbx
	pop	rdi
	pop	rsi
	ret

EquDirective:
	push	rbp
	mov	rbp, rsp
	sub	rsp, 32
	mov	rcx, rdx
	mov	al, byte ptr [rcx]
	cmp	byte ptr [rcx], 3
	jnz	$_093
	cmp	dword ptr [rcx+0x4], 621
	jnz	$_093
	mov	al, byte ptr [rcx+0x20]
$_093:	cmp	al, 8
	jz	$_094
	mov	rdx, qword ptr [rcx+0x10]
	mov	ecx, 2008
	call	asmerr@PLT
	jmp	$_097

$_094:	call	CreateConstant
	test	rax, rax
	jz	$_096
	test	byte ptr [r14], 0x08
	jz	$_095
	mov	r8, rax
	xor	edx, edx
	mov	ecx, 2
	call	LstWrite@PLT
$_095:	xor	eax, eax
	jmp	$_097

$_096:	mov	rax, -1
$_097:	leave
	ret


.SECTION .data
	.ALIGN	16

maxintvalues:
	.byte  0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00
	.byte  0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00
	.byte  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F

minintvalues:
	.byte  0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
	.byte  0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
	.byte  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80


.att_syntax prefix
