

.intel_syntax noprefix

.global pe_create_PE_header
.global bin_init

.extern RunLineQueue
.extern AddLineQueueX
.extern _atoow
.extern SortSegments
.extern CreateIntSegment
.extern GetFNamePart
.extern LstNL
.extern LstPrintf
.extern SymTables
.extern LclAlloc
.extern Mangle
.extern CreateVariable
.extern tfprintf
.extern ConvertSectionName
.extern asmerr
.extern Options
.extern ModuleInfo
.extern Parse_Pass
.extern WriteError
.extern SymFind
.extern tstrcmp
.extern tstrncpy
.extern tstrcat
.extern tstrcpy
.extern tstrrchr
.extern tstrchr
.extern tstrlen
.extern tmemicmp
.extern tmemcmp
.extern tmemcpy
.extern qsort
.extern ftell
.extern fseek
.extern fwrite
.extern fclose
.extern fopen
.extern time


.SECTION .text
	.ALIGN	16

$_001:	push	rsi
	push	rdi
	push	rbx
	push	rbp
	mov	rbp, rsp
	sub	rsp, 40
	mov	rsi, rcx
	mov	rbx, rdx
	mov	rdi, qword ptr [rsi+0x78]
	cmp	dword ptr [rdi+0x48], 5
	jnz	$_002
	imul	eax, dword ptr [rdi+0x58], 16
	mov	dword ptr [rdi+0xC], eax
	jmp	$_019

	jmp	$_003

$_002:	test	byte ptr [rdi+0x1C], 0x02
	jz	$_003
	jmp	$_019

$_003:	cmp	byte ptr [rbx], 0
	jz	$_004
	cmp	byte ptr [r14+0xB], 0
	jz	$_004
	mov	eax, dword ptr [rdi+0x8]
	mov	dword ptr [rbx+0x2C], eax
	jmp	$_005

$_004:	cmp	byte ptr [rbx], 0
	jnz	$_005
	cmp	dword ptr [rbx+0x2C], 0
	jz	$_005
	mov	eax, dword ptr [rbx+0x2C]
	add	dword ptr [rbx+0x4], eax
	mov	dword ptr [rbx+0x2C], 0
$_005:	mov	edx, 1
	mov	cl, byte ptr [rbx+0x1]
	cmp	cl, byte ptr [rdi+0x1F]
	jnc	$_006
	mov	cl, byte ptr [rdi+0x1F]
$_006:	shl	edx, cl
	lea	eax, [rdx-0x1]
	neg	edx
	add	eax, dword ptr [rbx+0x4]
	and	eax, edx
	sub	eax, dword ptr [rbx+0x4]
	test	byte ptr [rdi+0x1C], 0x80
	jnz	$_007
	add	dword ptr [rbx+0x4], eax
$_007:	mov	rdx, qword ptr [rdi]
	cmp	byte ptr [r14+0xB], 2
	jz	$_008
	cmp	byte ptr [r14+0xB], 3
	jnz	$_009
$_008:	mov	ecx, dword ptr [rbx+0x1C]
	mov	eax, dword ptr [rsi+0x60]
	add	dword ptr [rbx+0x1C], eax
	jmp	$_012

$_009:	test	rdx, rdx
	jnz	$_010
	mov	ecx, dword ptr [rbx+0x4]
	sub	ecx, dword ptr [rbx+0x8]
	jmp	$_012

$_010:	cmp	dword ptr [rdx+0x60], 0
	jnz	$_011
	mov	ecx, dword ptr [rbx+0x4]
	sub	ecx, dword ptr [rbx+0x8]
	mov	dword ptr [rdx+0x30], ecx
	or	byte ptr [rdx+0x11], 0x08
	xor	ecx, ecx
	jmp	$_012

$_011:	mov	ecx, dword ptr [rdx+0x60]
	add	ecx, eax
$_012:	mov	dword ptr [rdi+0xC], ecx
	cmp	byte ptr [rbx], 0
	jnz	$_013
	test	rdx, rdx
	jz	$_013
	cmp	rdx, qword ptr [r14+0x40]
	jz	$_013
	mov	dword ptr [rdi+0x8], 0
$_013:	mov	eax, dword ptr [rbx+0x4]
	mov	dword ptr [rdi+0x38], eax
	mov	eax, dword ptr [rsi+0x60]
	sub	eax, dword ptr [rdi+0x8]
	cmp	byte ptr [r14+0xB], 0
	jnz	$_016
	add	dword ptr [rbx+0x4], eax
	cmp	byte ptr [rbx], 0
	jz	$_014
	mov	eax, dword ptr [rdi+0x8]
	mov	dword ptr [rbx+0x18], eax
$_014:	cmp	dword ptr [rbx+0xC], -1
	jnz	$_015
	mov	dword ptr [rbx+0xC], ecx
	mov	qword ptr [rbx+0x10], rsi
$_015:	jmp	$_017

$_016:	cmp	dword ptr [rdi+0x48], 3
	jz	$_017
	add	dword ptr [rbx+0x4], eax
$_017:	test	rdx, rdx
	jz	$_018
	add	ecx, dword ptr [rsi+0x60]
	mov	dword ptr [rdx+0x60], ecx
	cmp	ecx, 65536
	jbe	$_018
	cmp	byte ptr [rdx+0x48], 0
	jnz	$_018
	mov	rdx, qword ptr [rdx+0x8]
	mov	ecx, 8000
	call	asmerr@PLT
$_018:	mov	byte ptr [rbx], 0
$_019:	leave
	pop	rbx
	pop	rdi
	pop	rsi
	ret

$_020:
	mov	qword ptr [rsp+0x8], rcx
	push	rsi
	push	rdi
	push	rbx
	push	rbp
	mov	rbp, rsp
	sub	rsp, 40
	mov	dword ptr [rbp-0x4], 0
	mov	rsi, qword ptr [SymTables+0x20+rip]
$_021:	test	rsi, rsi
	je	$_035
	mov	rdi, qword ptr [rsi+0x78]
	cmp	dword ptr [rdi+0x48], 5
	jnz	$_022
	jmp	$_034

$_022:	mov	rbx, qword ptr [rdi+0x28]
$_023:	test	rbx, rbx
	je	$_034
	jmp	$_032

$_024:	mov	rcx, qword ptr [rbx+0x30]
	test	rcx, rcx
	jz	$_025
	mov	rcx, qword ptr [rcx+0x40]
	test	rcx, rcx
	jz	$_025
	cmp	qword ptr [rcx+0x78], 0
	jz	$_025
	mov	rax, qword ptr [rcx+0x78]
	cmp	dword ptr [rax+0x48], 5
	je	$_033
$_025:	inc	dword ptr [rbp-0x4]
	cmp	qword ptr [rbp+0x28], 0
	jz	$_031
	mov	ecx, dword ptr [rdi+0xC]
	mov	eax, ecx
	and	ecx, 0x0F
	add	ecx, dword ptr [rbx+0x14]
	shr	eax, 4
	mov	rdx, qword ptr [rdi]
	test	rdx, rdx
	jz	$_026
	mov	edx, dword ptr [rdx+0x30]
	and	edx, 0x0F
	add	ecx, edx
	mov	rdx, qword ptr [rdi]
	mov	edx, dword ptr [rdx+0x30]
	shr	edx, 4
	add	eax, edx
$_026:	cmp	byte ptr [rbx+0x18], 9
	jnz	$_027
	add	ecx, 2
	jmp	$_028

$_027:	cmp	byte ptr [rbx+0x18], 10
	jnz	$_028
	add	ecx, 4
$_028:	jmp	$_030

$_029:	sub	ecx, 16
	inc	eax
$_030:	cmp	ecx, 65536
	jnc	$_029
	mov	rdx, qword ptr [rbp+0x28]
	mov	word ptr [rdx], cx
	mov	word ptr [rdx+0x2], ax
	add	qword ptr [rbp+0x28], 4
$_031:	jmp	$_033

$_032:	cmp	byte ptr [rbx+0x18], 10
	je	$_024
	cmp	byte ptr [rbx+0x18], 9
	je	$_024
	cmp	byte ptr [rbx+0x18], 8
	je	$_024
$_033:	mov	rbx, qword ptr [rbx+0x8]
	jmp	$_023

$_034:	mov	rsi, qword ptr [rsi+0x80]
	jmp	$_021

$_035:
	mov	eax, dword ptr [rbp-0x4]
	leave
	pop	rbx
	pop	rdi
	pop	rsi
	ret

$_036:
	mov	qword ptr [rsp+0x8], rcx
	push	rsi
	push	rdi
	push	rbp
	mov	rbp, rsp
	sub	rsp, 48
	mov	dword ptr [rbp-0x4], 1
	mov	rsi, qword ptr [SymTables+0x20+rip]
	xor	eax, eax
$_037:	test	rsi, rsi
	jz	$_045
	mov	rdi, qword ptr [rsi+0x78]
	cmp	dword ptr [rdi+0x48], 5
	jz	$_038
	test	byte ptr [rdi+0x1C], 0x02
	jz	$_039
$_038:	jmp	$_044

$_039:	cmp	dword ptr [rbp+0x20], 0
	jnz	$_042
	cmp	dword ptr [rdi+0x18], 0
	jnz	$_042
	mov	rcx, qword ptr [rsi+0x80]
$_040:	test	rcx, rcx
	jz	$_041
	mov	rdx, qword ptr [rcx+0x78]
	cmp	dword ptr [rdx+0x18], 0
	jnz	$_041
	mov	rcx, qword ptr [rcx+0x80]
	jmp	$_040

$_041:	test	rcx, rcx
	jz	$_045
$_042:	mov	eax, dword ptr [rsi+0x60]
	add	eax, dword ptr [rdi+0x38]
	cmp	dword ptr [rbp-0x4], 0
	jz	$_043
	cmp	byte ptr [r14+0xB], 0
	jnz	$_043
	sub	eax, dword ptr [rdi+0x8]
$_043:	mov	dword ptr [rbp-0x4], 0
$_044:	mov	rsi, qword ptr [rsi+0x80]
	jmp	$_037

$_045:
	leave
	pop	rdi
	pop	rsi
	ret

$_046:
	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, 88
	mov	rsi, rcx
	mov	rdi, qword ptr [rsi+0x78]
	cmp	dword ptr [rdi+0x48], 5
	jnz	$_047
	xor	eax, eax
	jmp	$_101

$_047:	mov	rbx, qword ptr [rdi+0x28]
$_048:	test	rbx, rbx
	je	$_100
	mov	eax, dword ptr [rbx+0x14]
	sub	eax, dword ptr [rdi+0x8]
	add	rax, qword ptr [rdi+0x10]
	mov	rcx, qword ptr [rbx+0x30]
	mov	qword ptr [rbp-0x20], rax
	test	rcx, rcx
	je	$_071
	cmp	qword ptr [rcx+0x40], 0
	jnz	$_049
	test	byte ptr [rcx+0x10], 0x80
	je	$_071
$_049:	test	byte ptr [rcx+0x10], 0x80
	jz	$_050
	mov	rsi, qword ptr [rbx+0x20]
	mov	dword ptr [rbp-0x14], 0
	jmp	$_051

$_050:	mov	rsi, qword ptr [rcx+0x40]
	mov	eax, dword ptr [rcx+0x30]
	mov	dword ptr [rbp-0x14], eax
$_051:	mov	qword ptr [rbp-0x28], rsi
	mov	rsi, qword ptr [rsi+0x78]
	mov	al, byte ptr [rbx+0x18]
	jmp	$_069

$_052:	mov	eax, dword ptr [rbx+0x10]
	add	eax, dword ptr [rbp-0x14]
	add	eax, dword ptr [rsi+0xC]
	mov	rdx, qword ptr [rbp+0x30]
	sub	eax, dword ptr [rdx+0x18]
	mov	dword ptr [rbp-0x4], eax
	jmp	$_070

$_053:	mov	eax, dword ptr [rbx+0x10]
	add	eax, dword ptr [rbp-0x14]
	sub	eax, dword ptr [rsi+0x8]
	mov	dword ptr [rbp-0x4], eax
	mov	rcx, qword ptr [rbp-0x28]
	mov	edx, 36
	mov	rcx, qword ptr [rcx+0x8]
	call	tstrchr@PLT
	test	rax, rax
	jz	$_056
	mov	rcx, qword ptr [rbp-0x28]
	sub	rax, qword ptr [rcx+0x8]
	mov	rdx, qword ptr [SymTables+0x20+rip]
$_054:	test	rdx, rdx
	jz	$_056
	cmp	eax, dword ptr [rdx+0x14]
	jnz	$_055
	push	rsi
	push	rdi
	mov	rcx, qword ptr [rbp-0x28]
	mov	rdi, qword ptr [rdx+0x8]
	mov	rsi, qword ptr [rcx+0x8]
	mov	ecx, eax
	repe cmpsb
	pop	rdi
	pop	rsi
	jnz	$_055
	mov	eax, dword ptr [rbx+0x10]
	add	eax, dword ptr [rbp-0x14]
	add	eax, dword ptr [rsi+0xC]
	mov	rcx, qword ptr [rdx+0x78]
	sub	eax, dword ptr [rcx+0xC]
	mov	dword ptr [rbp-0x4], eax
	jmp	$_056

$_055:	mov	rdx, qword ptr [rdx+0x80]
	jmp	$_054

$_056:	jmp	$_070

$_057:	mov	eax, dword ptr [rsi+0xC]
	add	eax, dword ptr [rbp-0x14]
	mov	dword ptr [rbp-0x4], eax
	jmp	$_070

$_058:	cmp	byte ptr [r14+0xB], 2
	jnz	$_060
	cmp	qword ptr [rsi], 0
	jnz	$_059
	mov	rax, qword ptr [r14+0x40]
	mov	qword ptr [rsi], rax
$_059:	mov	rax, qword ptr [r14+0x40]
	cmp	qword ptr [rsi], rax
	jnz	$_060
	cmp	byte ptr [rbx+0x20], 0
	jnz	$_060
	mov	byte ptr [rbx+0x20], 1
$_060:	mov	rcx, qword ptr [rsi]
	test	rcx, rcx
	jz	$_064
	cmp	byte ptr [rbx+0x20], 0
	jz	$_064
	mov	eax, dword ptr [rcx+0x30]
	and	eax, 0x0F
	add	eax, dword ptr [rsi+0xC]
	add	eax, dword ptr [rbx+0x10]
	add	eax, dword ptr [rbp-0x14]
	mov	dword ptr [rbp-0x4], eax
	cmp	byte ptr [r14+0xB], 2
	jz	$_061
	cmp	byte ptr [r14+0xB], 3
	jnz	$_063
$_061:	mov	rcx, qword ptr [rbp+0x30]
	cmp	byte ptr [rdi+0x1D], 2
	jnz	$_062
	mov	eax, dword ptr [rbp-0x4]
	add	rax, qword ptr [rcx+0x20]
	mov	qword ptr [rbp-0x10], rax
$_062:	mov	eax, dword ptr [rcx+0x20]
	add	dword ptr [rbp-0x4], eax
$_063:	jmp	$_068

$_064:	mov	eax, dword ptr [rbx+0x10]
	add	eax, dword ptr [rbp-0x14]
	cmp	byte ptr [rbx+0x20], 1
	jnz	$_065
	add	eax, dword ptr [rsi+0xC]
	jmp	$_067

$_065:	xor	edx, edx
	test	rcx, rcx
	jz	$_066
	mov	edx, dword ptr [rcx+0x30]
	and	edx, 0x0F
$_066:	mov	ecx, dword ptr [rsi+0xC]
	and	ecx, 0x0F
	add	eax, edx
	add	eax, ecx
$_067:	mov	dword ptr [rbp-0x4], eax
$_068:	jmp	$_070

$_069:	cmp	al, 12
	je	$_052
	cmp	al, 13
	je	$_053
	cmp	al, 1
	je	$_057
	cmp	al, 2
	je	$_057
	cmp	al, 3
	je	$_057
	jmp	$_058

$_070:	jmp	$_077

$_071:	mov	qword ptr [rbp-0x28], 0
	mov	dword ptr [rbp-0x4], 0
	cmp	qword ptr [rbx+0x30], 0
	jnz	$_072
	mov	eax, dword ptr [rbx+0x10]
	mov	dword ptr [rbp-0x4], eax
$_072:	cmp	byte ptr [rbx+0x20], 0
	jnz	$_077
	mov	rcx, qword ptr [SymTables+0x20+rip]
$_073:	test	rcx, rcx
	jz	$_077
	mov	rdx, qword ptr [rcx+0x78]
	movzx	eax, word ptr [rbx+0x22]
	cmp	dword ptr [rdx+0x44], eax
	jnz	$_076
	cmp	qword ptr [rdx], 0
	jz	$_075
	mov	eax, dword ptr [rdx+0xC]
	add	dword ptr [rbp-0x4], eax
	cmp	byte ptr [r14+0xB], 2
	jnz	$_075
	mov	rcx, qword ptr [rbp+0x30]
	cmp	byte ptr [rdi+0x1D], 2
	jnz	$_074
	mov	eax, dword ptr [rbp-0x4]
	add	rax, qword ptr [rcx+0x20]
	mov	qword ptr [rbp-0x10], rax
$_074:	mov	eax, dword ptr [rcx+0x20]
	add	dword ptr [rbp-0x4], eax
$_075:	jmp	$_077

$_076:	mov	rcx, qword ptr [rcx+0x80]
	jmp	$_073

$_077:	mov	rcx, qword ptr [rbp-0x20]
	mov	eax, dword ptr [rbp-0x4]
	movzx	edx, byte ptr [rbx+0x18]
	jmp	$_098

	sub	eax, dword ptr [rbx+0x14]
	sub	eax, dword ptr [rdi+0xC]
	dec	eax
	add	byte ptr [rcx], al
	jmp	$_099

	sub	eax, dword ptr [rbx+0x14]
	sub	eax, dword ptr [rdi+0xC]
	sub	eax, 2
	add	word ptr [rcx], ax
	jmp	$_099

	cmp	byte ptr [rdi+0x1D], 2
	jnz	$_078
	movzx	edx, byte ptr [rbx+0x1A]
	sub	edx, 4
	add	dword ptr [rbx+0x14], edx
$_078:	sub	eax, dword ptr [rbx+0x14]
	sub	eax, dword ptr [rdi+0xC]
	sub	eax, 4
	add	dword ptr [rcx], eax
	jmp	$_099

	mov	byte ptr [rcx], al
	jmp	$_099

	mov	word ptr [rcx], ax
	jmp	$_099

	mov	dword ptr [rcx], eax
	jmp	$_099

	cmp	byte ptr [r14+0xB], 2
	jnz	$_079
	cmp	byte ptr [rdi+0x1D], 2
	jz	$_080
$_079:	cmp	byte ptr [r14+0xB], 3
	jnz	$_081
$_080:	mov	rax, qword ptr [rbp-0x10]
$_081:	mov	qword ptr [rcx], rax
	jmp	$_099

	mov	al, ah
	mov	byte ptr [rcx], al
	jmp	$_099

	mov	rax, qword ptr [rbx+0x30]
	test	rax, rax
	jz	$_082
	cmp	byte ptr [rax+0x1D], 3
	jnz	$_082
	mov	rdx, qword ptr [rax+0x78]
	cmp	dword ptr [rdx+0x48], 5
	jnz	$_082
	mov	edx, dword ptr [rdx+0x58]
	mov	word ptr [rcx], dx
	jmp	$_099

$_082:	cmp	byte ptr [r14+0xB], 1
	jnz	$_088
	cmp	byte ptr [rax+0x1D], 4
	jnz	$_083
	mov	qword ptr [rbp-0x28], rax
	mov	rsi, qword ptr [rax+0x78]
	mov	edx, dword ptr [rax+0x30]
	shr	edx, 4
	mov	word ptr [rcx], dx
	jmp	$_087

$_083:	cmp	byte ptr [rax+0x1D], 3
	jnz	$_085
	mov	qword ptr [rbp-0x28], rax
	mov	rsi, qword ptr [rax+0x78]
	mov	edx, dword ptr [rsi+0xC]
	cmp	qword ptr [rsi], 0
	jz	$_084
	mov	rax, qword ptr [rsi]
	add	edx, dword ptr [rax+0x30]
$_084:	shr	edx, 4
	mov	word ptr [rcx], dx
	jmp	$_087

$_085:	cmp	byte ptr [rbx+0x20], 1
	jnz	$_086
	mov	rax, qword ptr [rsi]
	mov	eax, dword ptr [rax+0x30]
	shr	eax, 4
	mov	word ptr [rcx], ax
	jmp	$_087

$_086:	mov	eax, dword ptr [rsi+0xC]
	shr	eax, 4
	mov	word ptr [rcx], ax
$_087:	jmp	$_099

$_088:	mov	eax, dword ptr [rbp-0x4]
	cmp	qword ptr [rbp-0x28], 0
	jz	$_089
	cmp	dword ptr [rsi+0x48], 5
	jnz	$_089
	mov	word ptr [rcx], ax
	mov	eax, dword ptr [rsi+0x58]
	mov	word ptr [rcx+0x2], ax
	jmp	$_099

$_089:	cmp	byte ptr [r14+0xB], 1
	jnz	$_093
	mov	word ptr [rcx], ax
	add	rcx, 2
	cmp	byte ptr [rbx+0x20], 1
	jnz	$_090
	mov	rax, qword ptr [rsi]
	mov	eax, dword ptr [rax+0x30]
	shr	eax, 4
	mov	word ptr [rcx], ax
	jmp	$_092

$_090:	mov	eax, dword ptr [rsi+0xC]
	cmp	qword ptr [rsi], 0
	jz	$_091
	mov	rdx, qword ptr [rsi]
	add	eax, dword ptr [rdx+0x30]
$_091:	shr	eax, 4
	mov	word ptr [rcx], ax
$_092:	jmp	$_099

$_093:	mov	eax, dword ptr [rbp-0x4]
	cmp	qword ptr [rbp-0x28], 0
	jz	$_094
	cmp	dword ptr [rsi+0x48], 5
	jnz	$_094
	mov	dword ptr [rcx], eax
	mov	eax, dword ptr [rsi+0x58]
	mov	word ptr [rcx+0x4], ax
	jmp	$_099

$_094:	cmp	byte ptr [r14+0xB], 1
	jnz	LC008E
	mov	dword ptr [rcx], eax
	cmp	byte ptr [rbx+0x20], 1
	jnz	$_095
	mov	rax, qword ptr [rsi]
	mov	eax, dword ptr [rax+0x30]
	shr	eax, 4
	mov	word ptr [rcx+0x4], ax
	jmp	$_097

$_095:	mov	eax, dword ptr [rsi+0xC]
	cmp	qword ptr [rsi], 0
	jz	$_096
	mov	rdx, qword ptr [rsi]
	add	eax, dword ptr [rdx+0x30]
$_096:	shr	eax, 4
	mov	word ptr [rcx+0x4], ax
$_097:	jmp	$_099

LC008E: mov	rcx, qword ptr [r14+0x1B8]
	lea	rdx, [rcx+0xA]
	mov	rcx, qword ptr [rbp+0x28]
	mov	eax, dword ptr [rbx+0x14]
	mov	dword ptr [rsp+0x20], eax
	mov	r9, qword ptr [rcx+0x8]
	movzx	r8d, byte ptr [rbx+0x18]
	mov	ecx, 3008
	call	asmerr@PLT
	jmp	$_099

$_098:	cmp	edx, 1
	jl	LC008E
	cmp	edx, 13
	jg	LC008E
	lea	r11, [LC008F+rip]
	movzx	r10, word ptr [r11+rdx*2-0x2]
	lea	r11, [LC008E+rip]
	sub	r11, r10
	jmp	r11

$_099:	mov	rbx, qword ptr [rbx+0x8]
	jmp	$_048

$_100:	xor	eax, eax
$_101:	leave
	pop	rbx
	pop	rdi
	pop	rsi
	ret

$_102:
	sub	rsp, 40
	cmp	dword ptr [Parse_Pass+rip], 0
	jnz	$_103
	lea	rcx, [DS0000+rip]
	call	SymFind@PLT
	test	rax, rax
	jnz	$_103
	or	byte ptr [r14+0x358], 0x01
$_103:	test	byte ptr [r14+0x358], 0x01
	jz	$_104
	lea	r9, [DS0002+rip]
	lea	r8, [DS0003+rip]
	lea	rdx, [DS0002+rip]
	lea	rcx, [DS0001+rip]
	call	AddLineQueueX@PLT
	call	RunLineQueue@PLT
	lea	rcx, [DS0000+rip]
	call	SymFind@PLT
	test	rax, rax
	jz	$_104
	cmp	byte ptr [rax+0x1D], 3
	jnz	$_104
	mov	rcx, qword ptr [rax+0x78]
	mov	dword ptr [rcx+0x48], 6
$_104:	add	rsp, 40
	ret

set_file_flags:
	push	rsi
	push	rdi
	push	rbp
	mov	rbp, rsp
	sub	rsp, 32
	mov	rsi, rcx
	mov	rdi, rdx
	lea	rcx, [DS0004+rip]
	call	SymFind@PLT
	test	rax, rax
	jz	$_106
	mov	rcx, qword ptr [rax+0x78]
	mov	rdx, qword ptr [rcx+0x10]
	movzx	eax, word ptr [rdx+0x16]
	test	rdi, rdi
	jz	$_105
	mov	eax, dword ptr [rdi]
	mov	word ptr [rdx+0x16], ax
$_105:	mov	dword ptr [rsi+0x30], eax
$_106:	leave
	pop	rdi
	pop	rsi
	ret

pe_create_PE_header:
	push	rsi
	push	rdi
	push	rbx
	sub	rsp, 48
	cmp	dword ptr [Parse_Pass+rip], 0
	jne	$_114
	cmp	byte ptr [r14+0x15], 7
	jz	$_107
	mov	ecx, 3002
	call	asmerr@PLT
$_107:	movzx	eax, byte ptr [Options+0xB5+rip]
	cmp	byte ptr [r14+0x5], 2
	jnz	$_108
	mov	ebx, 264
	lea	rdi, [pe64def+rip]
	mov	word ptr [rdi+0x5C], ax
	jmp	$_109

$_108:	mov	ebx, 248
	lea	rdi, [pe32def+rip]
	mov	word ptr [rdi+0x5C], ax
$_109:	test	byte ptr [Options+0x6+rip], 0x80
	jz	$_110
	or	byte ptr [rdi+0x17], 0x20
$_110:	lea	rcx, [DS0004+rip]
	call	SymFind@PLT
	test	rax, rax
	jnz	$_111
	mov	dword ptr [rsp+0x20], 1
	movzx	r9d, byte ptr [r14+0x5]
	mov	r8d, 2
	lea	rdx, [DS0005+rip]
	lea	rcx, [DS0004+rip]
	call	CreateIntSegment@PLT
	mov	dword ptr [rax+0x60], ebx
	mov	rsi, qword ptr [rax+0x78]
	mov	rcx, qword ptr [r14+0x40]
	mov	qword ptr [rsi], rcx
	mov	byte ptr [rsi+0x5C], 2
	mov	byte ptr [rsi+0x1E], 64
	or	byte ptr [rsi+0x1C], 0x01
	mov	dword ptr [rsi+0x18], ebx
	jmp	$_113

$_111:	cmp	dword ptr [rax+0x60], ebx
	jge	$_112
	mov	dword ptr [rax+0x60], ebx
$_112:	mov	rsi, qword ptr [rax+0x78]
	or	byte ptr [rsi+0x1C], 0x10
	mov	dword ptr [rsi+0x8], 0
$_113:	mov	dword ptr [rsi+0x48], 6
	mov	ecx, ebx
	call	LclAlloc@PLT
	mov	qword ptr [rsi+0x10], rax
	mov	r8d, ebx
	mov	rdx, rdi
	mov	rcx, rax
	call	tmemcpy@PLT
	mov	rbx, rax
	lea	rcx, [rbx+0x8]
	movzx	ebx, word ptr [rdi+0x16]
	mov	rdi, rcx
	call	time@PLT
	mov	edx, ebx
	lea	rcx, [DS0006+rip]
	call	CreateVariable@PLT
	test	rax, rax
	jz	$_114
	or	byte ptr [rax+0x10], 0x08
	lea	rcx, [set_file_flags@PLT+rip]
	mov	qword ptr [rax+0x68], rcx
$_114:	add	rsp, 48
	pop	rbx
	pop	rdi
	pop	rsi
	ret

$_115:
	xor	eax, eax
	cmp	byte ptr [rcx], 95
	jz	$_116
	cmp	byte ptr [rcx], 46
	jnz	$_117
$_116:	cmp	byte ptr [rcx+0x5], 36
	jnz	$_117
	mov	ecx, dword ptr [rcx+0x1]
	or	ecx, 0x20202020
	cmp	ecx, 1954047348
	sete	al
$_117:	ret

$_118:
	push	rsi
	push	rdi
	push	rbx
	push	rbp
	mov	rbp, rsp
	sub	rsp, 72
	mov	dword ptr [rbp-0xC], 0
	cmp	dword ptr [Parse_Pass+rip], 0
	jne	$_138
	lea	rcx, [DS0007+rip]
	call	SymFind@PLT
	test	rax, rax
	jz	$_119
	mov	rdi, rax
	mov	rsi, qword ptr [rdi+0x78]
	jmp	$_120

$_119:	mov	dword ptr [rbp-0xC], 1
	mov	dword ptr [rsp+0x20], 1
	movzx	r9d, byte ptr [r14+0x5]
	mov	r8d, 2
	lea	rdx, [DS0005+rip]
	lea	rcx, [DS0007+rip]
	call	CreateIntSegment@PLT
	mov	rdi, rax
	mov	rsi, qword ptr [rdi+0x78]
	mov	rax, qword ptr [r14+0x40]
	mov	qword ptr [rsi], rax
	mov	byte ptr [rsi+0x5C], 2
$_120:	mov	dword ptr [rsi+0x48], 6
	cmp	dword ptr [rbp-0xC], 0
	jnz	$_121
	jmp	$_138

$_121:	mov	qword ptr [rbp-0x8], rdi
	mov	rdi, qword ptr [SymTables+0x20+rip]
$_122:	test	rdi, rdi
	je	$_131
	mov	rsi, qword ptr [rdi+0x78]
	mov	dword ptr [rsi+0x4C], 11
	cmp	dword ptr [rsi+0x48], 2
	jnz	$_126
	test	byte ptr [rsi+0x1C], 0x01
	jnz	$_123
	cmp	byte ptr [rsi+0x1E], 64
	jnz	$_124
$_123:	mov	dword ptr [rsi+0x48], 8
	jmp	$_125

$_124:	cmp	qword ptr [rsi+0x50], 0
	jz	$_125
	mov	rcx, qword ptr [rsi+0x50]
	lea	rdx, [DS0008+rip]
	mov	rcx, qword ptr [rcx+0x8]
	call	tstrcmp@PLT
	test	eax, eax
	jnz	$_125
	mov	dword ptr [rsi+0x48], 8
$_125:	jmp	$_130

$_126:	cmp	dword ptr [rsi+0x48], 0
	jnz	$_130
	mov	rbx, qword ptr [rdi+0x8]
	mov	r8d, 5
	lea	rdx, [DS0009+rip]
	mov	rcx, rbx
	call	tmemcmp@PLT
	test	eax, eax
	jnz	$_129
	cmp	byte ptr [rbx+0x5], 0
	jz	$_127
	cmp	byte ptr [rbx+0x5], 36
	jnz	$_128
$_127:	mov	dword ptr [rsi+0x48], 10
$_128:	jmp	$_130

$_129:	lea	rdx, [DS000A+rip]
	mov	rcx, rbx
	call	tstrcmp@PLT
	test	eax, eax
	jnz	$_130
	mov	dword ptr [rsi+0x48], 9
$_130:	mov	rdi, qword ptr [rdi+0x80]
	jmp	$_122

$_131:	mov	ebx, 1
	xor	esi, esi
$_132:	cmp	ebx, 10
	jnc	$_137
	mov	rdi, qword ptr [SymTables+0x20+rip]
$_133:	test	rdi, rdi
	jz	$_136
	mov	rdx, qword ptr [rdi+0x78]
	test	byte ptr [rdx+0x1C], 0x02
	jnz	$_135
	mov	rcx, qword ptr [rdi+0x8]
	call	$_115
	lea	rcx, [flat_order+rip]
	mov	ecx, dword ptr [rcx+rbx*4]
	mov	ah, byte ptr [ModuleInfo+0x5+rip]
	cmp	ecx, 7
	jnz	$_134
	cmp	dword ptr [rdx+0x48], 1
	jnz	$_134
	cmp	byte ptr [rdx+0x1D], ah
	jz	$_134
	test	al, al
	jnz	$_134
	jmp	$_135

$_134:	cmp	ecx, dword ptr [rdx+0x48]
	jnz	$_135
	cmp	dword ptr [rdi+0x60], 0
	jz	$_135
	inc	esi
	jmp	$_136

$_135:	mov	rdi, qword ptr [rdi+0x80]
	jmp	$_133

$_136:	inc	ebx
	jmp	$_132

$_137:	test	esi, esi
	jz	$_138
	mov	rdi, qword ptr [rbp-0x8]
	imul	ebx, esi, 40
	mov	dword ptr [rdi+0x60], ebx
	mov	rsi, qword ptr [rdi+0x78]
	lea	ecx, [rbx+0x28]
	call	LclAlloc@PLT
	mov	qword ptr [rsi+0x10], rax
$_138:	leave
	pop	rbx
	pop	rdi
	pop	rsi
	ret

compare_exp:
	push	rbp
	mov	rbp, rsp
	sub	rsp, 32
	mov	rcx, rdi
	mov	rdx, rsi
	mov	rdx, qword ptr [rdx]
	mov	rcx, qword ptr [rcx]
	call	tstrcmp@PLT
	leave
	ret

$_139:
	push	rsi
	push	rdi
	push	rbx
	push	rbp
	mov	rbp, rsp
	sub	rsp, 168
	mov	rdi, qword ptr [r14+0x238]
	xor	ebx, ebx
$_140:	test	rdi, rdi
	jz	$_142
	mov	rdx, qword ptr [rdi+0x8]
	test	byte ptr [rdx+0x10], 0x20
	jz	$_141
	inc	ebx
$_141:	mov	rdi, qword ptr [rdi]
	jmp	$_140

$_142:
	test	ebx, ebx
	je	$_159
	lea	rdi, [rbp-0x4]
	call	time@PLT
	lea	rsi, [r14+0x74]
	mov	ecx, 303
	mov	qword ptr [rsp+0x80], rsi
	mov	dword ptr [rsp+0x78], ecx
	mov	qword ptr [rsp+0x70], rsi
	mov	dword ptr [rsp+0x68], ecx
	mov	qword ptr [rsp+0x60], rsi
	mov	dword ptr [rsp+0x58], ecx
	mov	dword ptr [rsp+0x50], ebx
	mov	dword ptr [rsp+0x48], ebx
	mov	qword ptr [rsp+0x40], rsi
	mov	dword ptr [rsp+0x38], ecx
	mov	eax, dword ptr [rbp-0x4]
	mov	dword ptr [rsp+0x30], eax
	lea	rax, [DS000D+rip]
	mov	qword ptr [rsp+0x28], rax
	mov	dword ptr [rsp+0x20], 274
	mov	r9d, 613
	lea	r8, [DS000C+rip]
	mov	edx, 625
	lea	rcx, [DS000B+rip]
	call	AddLineQueueX@PLT
	mov	qword ptr [rbp-0x10], rsi
	mov	dword ptr [rbp-0x8], ebx
	imul	ecx, ebx, 16
	mov	eax, ecx
	add	eax, 15
	and	eax, 0xFFFFFFF0
	sub	rsp, rax
	lea	rax, [rsp+0x90]
	mov	qword ptr [rbp-0x18], rax
	mov	rsi, rax
	mov	rdi, qword ptr [r14+0x238]
	xor	ebx, ebx
$_143:	test	rdi, rdi
	jz	$_145
	mov	rdx, qword ptr [rdi+0x8]
	test	byte ptr [rdx+0x10], 0x20
	jz	$_144
	mov	rax, qword ptr [rdx+0x8]
	mov	qword ptr [rsi], rax
	mov	dword ptr [rsi+0x8], ebx
	inc	ebx
	add	rsi, 16
$_144:	mov	rdi, qword ptr [rdi]
	jmp	$_143

$_145:	lea	rcx, [compare_exp@PLT+rip]
	mov	edx, 16
	movsxd	rsi, dword ptr [rbp-0x8]
	mov	rdi, qword ptr [rbp-0x18]
	call	qsort@PLT
	mov	r9d, 274
	mov	r8d, 608
	mov	rdx, qword ptr [rbp-0x10]
	lea	rcx, [DS000E+rip]
	call	AddLineQueueX@PLT
	mov	rdi, qword ptr [r14+0x238]
$_146:	test	rdi, rdi
	jz	$_148
	mov	rdx, qword ptr [rdi+0x8]
	test	byte ptr [rdx+0x10], 0x20
	jz	$_147
	mov	r8, qword ptr [rdi+0x8]
	mov	edx, 303
	lea	rcx, [DS000F+rip]
	call	AddLineQueueX@PLT
$_147:	mov	rdi, qword ptr [rdi]
	jmp	$_146

$_148:	mov	r9d, 274
	mov	r8d, 608
	mov	rdx, qword ptr [rbp-0x10]
	lea	rcx, [DS0010+rip]
	call	AddLineQueueX@PLT
	mov	rsi, qword ptr [rbp-0x18]
	xor	ebx, ebx
$_149:	cmp	ebx, dword ptr [rbp-0x8]
	jge	$_150
	mov	r8, qword ptr [rsi]
	mov	edx, 303
	lea	rcx, [DS0011+rip]
	call	AddLineQueueX@PLT
	inc	ebx
	add	rsi, 16
	jmp	$_149

$_150:	mov	r9d, 271
	mov	r8d, 608
	mov	rdx, qword ptr [rbp-0x10]
	lea	rcx, [DS0012+rip]
	call	AddLineQueueX@PLT
	mov	rsi, qword ptr [rbp-0x18]
	xor	ebx, ebx
$_151:	cmp	ebx, dword ptr [rbp-0x8]
	jge	$_152
	mov	edx, dword ptr [rsi+0x8]
	lea	rcx, [DS0013+rip]
	call	AddLineQueueX@PLT
	inc	ebx
	add	rsi, 16
	jmp	$_151

$_152:	mov	rbx, qword ptr [r14+0x210]
	mov	rcx, rbx
	call	tstrlen@PLT
	add	rbx, rax
$_153:	cmp	rbx, qword ptr [r14+0x210]
	jbe	$_154
	cmp	byte ptr [rbx], 47
	jz	$_154
	cmp	byte ptr [rbx], 92
	jz	$_154
	cmp	byte ptr [rbx], 58
	jz	$_154
	dec	rbx
	jmp	$_153

$_154:	mov	r8, rbx
	mov	rdx, qword ptr [rbp-0x10]
	lea	rcx, [DS0014+rip]
	call	AddLineQueueX@PLT
	mov	rsi, qword ptr [r14+0x238]
$_155:	test	rsi, rsi
	jz	$_158
	mov	rdi, qword ptr [rsi+0x8]
	test	byte ptr [rdi+0x10], 0x20
	jz	$_157
	mov	rdx, qword ptr [r14+0x1E0]
	mov	rcx, rdi
	call	Mangle@PLT
	mov	rcx, qword ptr [r14+0x1E0]
	test	byte ptr [Options+0x5+rip], 0x08
	jz	$_156
	mov	rcx, qword ptr [rdi+0x8]
$_156:	mov	r8, rcx
	mov	rdx, qword ptr [rdi+0x8]
	lea	rcx, [DS0015+rip]
	call	AddLineQueueX@PLT
$_157:	mov	rsi, qword ptr [rsi]
	jmp	$_155

$_158:	mov	r8d, 614
	lea	rdx, [DS000C+rip]
	lea	rcx, [DS0016+rip]
	call	AddLineQueueX@PLT
	call	RunLineQueue@PLT
$_159:	leave
	pop	rbx
	pop	rdi
	pop	rsi
	ret

$_160:
	push	rsi
	push	rdi
	push	rbx
	push	rbp
	mov	rbp, rsp
	sub	rsp, 440
	mov	dword ptr [rbp-0x4], 0
	mov	dword ptr [rbp-0x8], 278
	lea	rax, [DS0017+rip]
	mov	qword ptr [rbp-0x10], rax
	cmp	byte ptr [r14+0x5], 2
	jz	$_161
	mov	dword ptr [rbp-0x8], 274
	lea	rax, [DS0018+rip]
	mov	qword ptr [rbp-0x10], rax
$_161:	mov	rbx, qword ptr [r14+0x298]
$_162:	test	rbx, rbx
	je	$_182
	mov	rdi, qword ptr [SymTables+0x10+rip]
$_163:	test	rdi, rdi
	jz	$_165
	test	byte ptr [rdi+0x12], 0x08
	jz	$_164
	test	byte ptr [rdi+0x10], 0x10
	jz	$_164
	cmp	rbx, qword ptr [rdi+0x60]
	jnz	$_164
	or	byte ptr [rdi+0x12], 0x10
	inc	dword ptr [rbx+0x8]
$_164:	mov	rdi, qword ptr [rdi+0x80]
	jmp	$_163

$_165:	cmp	dword ptr [rbx+0x8], 0
	je	$_181
	cmp	dword ptr [rbp-0x4], 0
	jnz	$_167
	mov	dword ptr [rbp-0x4], 585
	cmp	byte ptr [r14+0x5], 2
	jz	$_166
	mov	dword ptr [rbp-0x4], 583
$_166:	mov	edx, 625
	lea	rcx, [DS0019+rip]
	call	AddLineQueueX@PLT
$_167:	lea	rdx, [rbx+0xC]
	lea	rcx, [rbp-0x90]
	call	tstrcpy@PLT
	mov	rsi, rax
	jmp	$_169

$_168:	mov	byte ptr [rax], 95
$_169:	mov	edx, 46
	mov	rcx, rsi
	call	tstrchr@PLT
	test	rax, rax
	jnz	$_168
	jmp	$_171

$_170:	mov	byte ptr [rax], 95
$_171:	mov	edx, 45
	mov	rcx, rsi
	call	tstrchr@PLT
	test	rax, rax
	jnz	$_170
	lea	rcx, [DS001A+rip]
	lea	rdx, [DS000D+rip]
	mov	edi, 303
	mov	eax, dword ptr [rbp-0x8]
	mov	dword ptr [rsp+0x98], eax
	mov	dword ptr [rsp+0x90], 608
	mov	qword ptr [rsp+0x88], rsi
	mov	qword ptr [rsp+0x80], rdx
	mov	rax, qword ptr [rbp-0x10]
	mov	qword ptr [rsp+0x78], rax
	mov	dword ptr [rsp+0x70], 613
	mov	qword ptr [rsp+0x68], rcx
	mov	dword ptr [rsp+0x60], 614
	mov	qword ptr [rsp+0x58], rcx
	mov	qword ptr [rsp+0x50], rsi
	mov	dword ptr [rsp+0x48], edi
	mov	qword ptr [rsp+0x40], rsi
	mov	dword ptr [rsp+0x38], edi
	mov	qword ptr [rsp+0x30], rsi
	mov	dword ptr [rsp+0x28], edi
	mov	qword ptr [rsp+0x20], rdx
	mov	r9d, 274
	mov	r8d, 613
	mov	rdx, rcx
	lea	rcx, [DS001B+rip]
	call	AddLineQueueX@PLT
	mov	rdi, qword ptr [SymTables+0x10+rip]
$_172:	test	rdi, rdi
	jz	$_174
	test	byte ptr [rdi+0x12], 0x10
	jz	$_173
	cmp	rbx, qword ptr [rdi+0x60]
	jnz	$_173
	mov	r9, qword ptr [rdi+0x8]
	mov	r8d, 303
	mov	edx, dword ptr [rbp-0x4]
	lea	rcx, [DS001C+rip]
	call	AddLineQueueX@PLT
$_173:	mov	rdi, qword ptr [rdi+0x80]
	jmp	$_172

$_174:	mov	eax, dword ptr [rbp-0x8]
	mov	dword ptr [rsp+0x50], eax
	mov	dword ptr [rsp+0x48], 608
	mov	qword ptr [rsp+0x40], rsi
	lea	rax, [DS000D+rip]
	mov	qword ptr [rsp+0x38], rax
	mov	rax, qword ptr [rbp-0x10]
	mov	qword ptr [rsp+0x30], rax
	mov	dword ptr [rsp+0x28], 613
	lea	rax, [DS001A+rip]
	mov	qword ptr [rsp+0x20], rax
	mov	r9d, 614
	lea	r8, [DS001A+rip]
	mov	edx, dword ptr [rbp-0x4]
	lea	rcx, [DS001D+rip]
	call	AddLineQueueX@PLT
	mov	rdi, qword ptr [SymTables+0x10+rip]
$_175:	test	rdi, rdi
	je	$_177
	test	byte ptr [rdi+0x12], 0x10
	je	$_176
	cmp	rbx, qword ptr [rdi+0x60]
	jne	$_176
	mov	rdx, qword ptr [r14+0x2A0]
	lea	rcx, [rbp-0x110]
	call	tstrcpy@PLT
	mov	rcx, rax
	call	tstrlen@PLT
	lea	rdx, [rbp+rax-0x110]
	mov	rcx, rdi
	call	Mangle@PLT
	mov	rax, qword ptr [rdi+0x8]
	mov	qword ptr [rsp+0x20], rax
	mov	r9d, 303
	mov	r8d, dword ptr [rbp-0x4]
	lea	rdx, [rbp-0x110]
	lea	rcx, [DS001E+rip]
	call	AddLineQueueX@PLT
	cmp	byte ptr [rdi+0x1D], 1
	jz	$_176
	call	RunLineQueue@PLT
	lea	rcx, [rbp-0x110]
	call	SymFind@PLT
	mov	rcx, rax
	mov	byte ptr [rdi+0x1D], 1
	mov	al, byte ptr [rcx+0x1E]
	mov	byte ptr [rdi+0x1E], al
	mov	rax, qword ptr [rcx+0x40]
	mov	qword ptr [rdi+0x40], rax
	mov	eax, dword ptr [rcx+0x30]
	mov	dword ptr [rdi+0x30], eax
	or	byte ptr [rdi+0x12], 0x20
$_176:	mov	rdi, qword ptr [rdi+0x80]
	jmp	$_175

$_177:	lea	rax, [DS000D+rip]
	mov	qword ptr [rsp+0x38], rax
	mov	dword ptr [rsp+0x30], 271
	mov	dword ptr [rsp+0x28], 613
	lea	rax, [DS001A+rip]
	mov	qword ptr [rsp+0x20], rax
	mov	r9d, 614
	lea	r8, [DS001A+rip]
	mov	edx, dword ptr [rbp-0x4]
	lea	rcx, [DS001F+rip]
	call	AddLineQueueX@PLT
	mov	rdi, qword ptr [SymTables+0x10+rip]
$_178:	test	rdi, rdi
	jz	$_180
	test	byte ptr [rdi+0x12], 0x10
	jz	$_179
	cmp	rbx, qword ptr [rdi+0x60]
	jnz	$_179
	mov	r8, qword ptr [rdi+0x8]
	mov	rdx, qword ptr [rdi+0x8]
	lea	rcx, [DS0020+rip]
	call	AddLineQueueX@PLT
$_179:	mov	rdi, qword ptr [rdi+0x80]
	jmp	$_178

$_180:	mov	dword ptr [rsp+0x20], 614
	lea	r9, [DS001A+rip]
	lea	r8, [rbx+0xC]
	mov	rdx, rsi
	lea	rcx, [DS0021+rip]
	call	AddLineQueueX@PLT
$_181:	mov	rbx, qword ptr [rbx]
	jmp	$_162

$_182:
	cmp	qword ptr [r14+0x2B0], 0
	jz	$_183
	mov	dword ptr [rsp+0x30], 614
	lea	rax, [DS001A+rip]
	mov	qword ptr [rsp+0x28], rax
	lea	rax, [DS000D+rip]
	mov	qword ptr [rsp+0x20], rax
	mov	r9d, 274
	mov	r8d, 613
	lea	rdx, [DS001A+rip]
	lea	rcx, [DS0022+rip]
	call	AddLineQueueX@PLT
	call	RunLineQueue@PLT
$_183:	leave
	pop	rbx
	pop	rdi
	pop	rsi
	ret

$_184:
	mov	eax, 4294967295
	jmp	$_186

$_185:	shr	ecx, 1
	inc	eax
$_186:	test	ecx, ecx
	jnz	$_185
	ret

$_187:
	mov	rcx, qword ptr [rcx+0x78]
	mov	eax, 3221225536
	jmp	$_194

$_188:	mov	eax, 1610612768
	jmp	$_196

$_189:	mov	eax, 3221225600
	jmp	$_196

$_190:	mov	eax, 3221225600
	jmp	$_196

$_191:	mov	eax, 1073741888
	jmp	$_196

$_192:	mov	rdx, qword ptr [rcx+0x50]
	mov	rdx, qword ptr [rdx+0x8]
	cmp	dword ptr [rdx], 1397641027
	jnz	$_193
	cmp	word ptr [rdx+0x4], 84
	jnz	$_193
	mov	eax, 1073741888
$_193:	jmp	$_196

$_194:	cmp	dword ptr [rcx+0x48], 1
	jz	$_188
	cmp	dword ptr [rcx+0x48], 3
	jz	$_189
	cmp	byte ptr [rcx+0x5C], 5
	jnz	$_195
	cmp	dword ptr [rcx+0x18], 0
	jz	$_190
$_195:	test	byte ptr [rcx+0x1C], 0x01
	jnz	$_191
	cmp	qword ptr [rcx+0x50], 0
	jnz	$_192
$_196:	cmp	byte ptr [rcx+0x1E], 0
	jz	$_197
	and	eax, 0x1FFFFFF
	mov	dl, byte ptr [rcx+0x1E]
	and	edx, 0xFE
	shl	edx, 24
	or	eax, edx
$_197:	ret

$_198:
	mov	qword ptr [rsp+0x8], rcx
	push	rsi
	push	rdi
	push	rbx
	push	rbp
	mov	rbp, rsp
	sub	rsp, 88
	mov	dword ptr [rbp-0x4], 0
	mov	dword ptr [rbp-0x8], 0
	mov	dword ptr [rbp-0x10], -1
	mov	rdi, qword ptr [SymTables+0x20+rip]
$_199:	test	rdi, rdi
	jz	$_206
	mov	rsi, qword ptr [rdi+0x78]
	cmp	dword ptr [rsi+0x48], 6
	jz	$_205
	mov	rbx, qword ptr [rsi+0x28]
$_200:	test	rbx, rbx
	jz	$_205
	jmp	$_203

$_201:	mov	eax, dword ptr [rbx+0x14]
	and	eax, 0xFFFFF000
	add	eax, dword ptr [rsi+0xC]
	cmp	eax, dword ptr [rbp-0x10]
	jz	$_202
	mov	dword ptr [rbp-0x10], eax
	inc	dword ptr [rbp-0x8]
	test	byte ptr [rbp-0x4], 0x01
	jz	$_202
	inc	dword ptr [rbp-0x4]
$_202:	inc	dword ptr [rbp-0x4]
	jmp	$_204

$_203:	cmp	byte ptr [rbx+0x18], 5
	jz	$_201
	cmp	byte ptr [rbx+0x18], 6
	jz	$_201
	cmp	byte ptr [rbx+0x18], 7
	jz	$_201
$_204:	mov	rbx, qword ptr [rbx+0x8]
	jmp	$_200

$_205:	mov	rdi, qword ptr [rdi+0x80]
	jmp	$_199

$_206:
	imul	ecx, dword ptr [rbp-0x8], 8
	imul	eax, dword ptr [rbp-0x4], 2
	add	ecx, eax
	mov	rdi, qword ptr [rbp+0x28]
	mov	rsi, qword ptr [rdi+0x78]
	mov	dword ptr [rdi+0x60], ecx
	call	LclAlloc@PLT
	mov	qword ptr [rsi+0x10], rax
	mov	qword ptr [rbp-0x30], rax
	mov	dword ptr [rax], -1
	add	rax, 8
	mov	qword ptr [rbp-0x38], rax
	mov	rdi, qword ptr [SymTables+0x20+rip]
$_207:	test	rdi, rdi
	je	$_219
	mov	rsi, qword ptr [rdi+0x78]
	cmp	dword ptr [rsi+0x48], 6
	je	$_218
	mov	rbx, qword ptr [rsi+0x28]
$_208:	test	rbx, rbx
	je	$_218
	xor	ecx, ecx
	mov	al, byte ptr [rbx+0x18]
	jmp	$_212

$_209:	mov	ecx, 2
	jmp	$_213

$_210:	mov	ecx, 3
	jmp	$_213

$_211:	mov	ecx, 10
	jmp	$_213

$_212:	cmp	al, 5
	jz	$_209
	cmp	al, 6
	jz	$_210
	cmp	al, 7
	jz	$_211
$_213:	test	ecx, ecx
	jz	$_217
	mov	dword ptr [rbp-0xC], ecx
	mov	eax, dword ptr [rbx+0x14]
	and	eax, 0xFFFFF000
	add	eax, dword ptr [rsi+0xC]
	mov	rdx, qword ptr [rbp-0x30]
	mov	rcx, qword ptr [rbp-0x38]
	cmp	eax, dword ptr [rdx]
	jz	$_216
	cmp	dword ptr [rdx], -1
	jz	$_215
	test	byte ptr [rdx+0x4], 0x02
	jz	$_214
	mov	word ptr [rcx], 0
	add	rcx, 2
	add	dword ptr [rdx+0x4], 2
$_214:	mov	rdx, rcx
	add	rcx, 8
$_215:	mov	dword ptr [rdx], eax
	mov	dword ptr [rdx+0x4], 8
$_216:	add	dword ptr [rdx+0x4], 2
	mov	qword ptr [rbp-0x30], rdx
	mov	eax, dword ptr [rbx+0x14]
	and	eax, 0xFFF
	mov	edx, dword ptr [rbp-0xC]
	shl	edx, 12
	or	eax, edx
	mov	word ptr [rcx], ax
	add	rcx, 2
	mov	qword ptr [rbp-0x38], rcx
$_217:	mov	rbx, qword ptr [rbx+0x8]
	jmp	$_208

$_218:	mov	rdi, qword ptr [rdi+0x80]
	jmp	$_207

$_219:
	leave
	pop	rbx
	pop	rdi
	pop	rsi
	ret

$_220:
	push	rsi
	push	rdi
	push	rbx
	push	rbp
	mov	rbp, rsp
	sub	rsp, 312
	mov	rbx, rcx
	add	rbx, 16
	mov	rcx, qword ptr [r14+0x208]
	call	GetFNamePart@PLT
	mov	rdx, rax
	lea	rcx, [rbp-0x110]
	call	tstrcpy@PLT
	mov	edx, 46
	mov	rcx, rax
	call	tstrrchr@PLT
	test	rax, rax
	jz	$_221
	mov	byte ptr [rax], 0
$_221:	lea	rdx, [DS0023+rip]
	lea	rcx, [rbp-0x110]
	call	tstrcat@PLT
	lea	rsi, [DS0024+rip]
	mov	rdi, rax
	call	fopen@PLT
	test	rax, rax
	jz	$_224
	mov	qword ptr [rbp-0x10], rax
	mov	edx, 34
	mov	rcx, rbx
	call	tstrrchr@PLT
	mov	qword ptr [rbp-0x8], rax
	test	rax, rax
	jz	$_222
	mov	byte ptr [rax], 0
$_222:	mov	r8, rbx
	lea	rdx, [DS0025+rip]
	mov	rcx, qword ptr [rbp-0x10]
	call	tfprintf@PLT
	mov	rax, qword ptr [rbp-0x8]
	test	rax, rax
	jz	$_223
	mov	byte ptr [rax], 34
	lea	rbx, [rax+0x1]
$_223:	mov	rdi, qword ptr [rbp-0x10]
	call	fclose@PLT
$_224:	mov	rax, rbx
	leave
	pop	rbx
	pop	rdi
	pop	rsi
	ret

$_225:
	mov	qword ptr [rsp+0x18], r8
	push	rsi
	push	rdi
	push	rbx
	push	rbp
	mov	rbp, rsp
	sub	rsp, 184
	mov	rbx, rcx
	mov	rsi, rdx
	jmp	$_253

$_226:	lodsb
	dec	dword ptr [rbp+0x38]
	cmp	al, 45
	jz	$_227
	cmp	al, 47
	jne	$_253
$_227:	lodsd
	sub	dword ptr [rbp+0x38], 4
	or	eax, 0x20202020
	jmp	$_252

$_228:	lodsb
	dec	dword ptr [rbp+0x38]
	cmp	al, 58
	jnz	$_231
	mov	eax, dword ptr [rsi]
	mov	ecx, 10
	cmp	al, 48
	jnz	$_229
	cmp	ah, 120
	jnz	$_229
	lodsw
	sub	dword ptr [rbp+0x38], 2
	mov	ecx, 16
$_229:	mov	r9d, dword ptr [rbp+0x38]
	mov	r8d, ecx
	lea	rdx, [rbp-0x10]
	mov	rcx, rsi
	call	_atoow@PLT
	mov	eax, dword ptr [rbp-0x10]
	mov	ecx, eax
	or	ecx, dword ptr [rbp-0xC]
	mov	edx, dword ptr [rbp-0x8]
	or	edx, dword ptr [rbp-0x4]
	test	ecx, ecx
	jz	$_231
	test	edx, edx
	jnz	$_231
	test	eax, 0xFFF
	jnz	$_231
	mov	edx, dword ptr [rbp-0xC]
	cmp	byte ptr [r14+0x5], 2
	jnz	$_230
	mov	dword ptr [rbx+0x30], eax
	mov	dword ptr [rbx+0x34], edx
	jmp	$_231

$_230:	test	edx, edx
	jnz	$_231
	cmp	eax, 4294963200
	ja	$_231
	mov	dword ptr [rbx+0x34], eax
$_231:	jmp	$_253

$_232:	lodsw
	dec	dword ptr [rbp+0x38]
	or	al, 0x20
	cmp	al, 121
	jnz	$_235
	cmp	ah, 58
	jnz	$_235
	lea	rdi, [rbp-0x90]
$_233:	cmp	dword ptr [rbp+0x38], 0
	jle	$_234
	lodsb
	test	al, al
	jz	$_234
	cmp	al, 32
	jz	$_234
	stosb
	dec	dword ptr [rbp+0x38]
	jmp	$_233

$_234:	xor	eax, eax
	stosb
	lea	rcx, [rbp-0x90]
	call	SymFind@PLT
	test	rax, rax
	jz	$_235
	mov	qword ptr [r14+0x2C8], rax
$_235:	jmp	$_253

$_236:	lodsb
	dec	dword ptr [rbp+0x38]
	or	al, 0x20
	cmp	al, 100
	jnz	$_238
	lodsb
	dec	dword ptr [rbp+0x38]
	cmp	al, 58
	jnz	$_237
	and	word ptr [rbx+0x16], 0xFFFE
	jmp	$_238

$_237:	or	byte ptr [rbx+0x16], 0x01
$_238:	jmp	$_253

$_239:	mov	r8d, 13
	lea	rdx, [DS0026+rip]
	mov	rcx, rsi
	call	tmemicmp@PLT
	test	eax, eax
	jnz	$_241
	sub	dword ptr [rbp+0x38], 13
	add	rsi, 13
	mov	r8d, 3
	lea	rdx, [DS0027+rip]
	mov	rcx, rsi
	call	tmemicmp@PLT
	test	eax, eax
	jnz	$_240
	sub	dword ptr [rbp+0x38], 3
	add	rsi, 3
	and	word ptr [rbx+0x16], 0xFFDF
	jmp	$_241

$_240:	or	byte ptr [rbx+0x16], 0x20
$_241:	jmp	$_253

$_242:	mov	dword ptr [rbp-0x94], 0
	mov	r8d, 6
	lea	rdx, [DS0028+rip]
	mov	rcx, rsi
	call	tmemicmp@PLT
	test	eax, eax
	jne	$_245
	sub	dword ptr [rbp+0x38], 6
	add	rsi, 6
	mov	r8d, 7
	lea	rdx, [DS0029+rip]
	mov	rcx, rsi
	call	tmemicmp@PLT
	test	eax, eax
	jnz	$_243
	sub	dword ptr [rbp+0x38], 7
	add	rsi, 7
	mov	dword ptr [rbp-0x94], 2
	jmp	$_245

$_243:	mov	r8d, 7
	lea	rdx, [DS002A+rip]
	mov	rcx, rsi
	call	tmemicmp@PLT
	test	eax, eax
	jnz	$_244
	sub	dword ptr [rbp+0x38], 7
	add	rsi, 7
	mov	dword ptr [rbp-0x94], 3
	jmp	$_245

$_244:	mov	r8d, 6
	lea	rdx, [DS002B+rip]
	mov	rcx, rsi
	call	tmemicmp@PLT
	test	eax, eax
	jnz	$_245
	sub	dword ptr [rbp+0x38], 6
	add	rsi, 6
	mov	dword ptr [rbp-0x94], 1
$_245:	cmp	dword ptr [rbp-0x94], 0
	jz	$_247
	mov	eax, dword ptr [rbp-0x94]
	cmp	byte ptr [r14+0x5], 2
	jnz	$_246
	mov	word ptr [rbx+0x5C], ax
	jmp	$_247

$_246:	mov	word ptr [rbx+0x5C], ax
$_247:	jmp	$_253

$_248:	mov	rcx, rsi
	call	$_220
	sub	rax, rsi
	sub	dword ptr [rbp+0x38], eax
	add	rsi, rax
	jmp	$_253

$_249:	and	eax, 0xFFFFFF
	cmp	eax, 7105636
	jnz	$_250
	or	byte ptr [rbx+0x17], 0x20
	jmp	$_251

$_250:	lea	rdx, [rsi-0x5]
	mov	ecx, 4018
	call	asmerr@PLT
$_251:	jmp	$_253

$_252:	cmp	eax, 1702060386
	je	$_228
	cmp	eax, 1920233061
	je	$_232
	cmp	eax, 1702390118
	je	$_236
	cmp	eax, 1735549292
	je	$_239
	cmp	eax, 1935832435
	je	$_242
	cmp	eax, 1768841581
	jz	$_248
	jmp	$_249

$_253:
	cmp	dword ptr [rbp+0x38], 3
	jg	$_226
	leave
	pop	rbx
	pop	rdi
	pop	rsi
	ret

$_254:
	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, 40
	mov	rdi, qword ptr [SymTables+0x20+rip]
	mov	ebx, 4294967295
$_255:	test	rdi, rdi
	jz	$_259
	mov	rsi, qword ptr [rdi+0x78]
	mov	rdx, qword ptr [rbp+0x28]
	cmp	dword ptr [rsi+0x4C], 11
	jz	$_256
	cmp	dword ptr [rsi+0x4C], ebx
	jz	$_257
$_256:	mov	ebx, dword ptr [rsi+0x4C]
	mov	eax, dword ptr [rbp+0x38]
	mov	byte ptr [rdx+0x1], al
	mov	eax, dword ptr [rbp+0x30]
	jmp	$_258

$_257:	mov	eax, 1
	mov	cl, byte ptr [rsi+0x1F]
	shl	eax, cl
	mov	byte ptr [rdx+0x1], 0
$_258:	lea	ecx, [rax-0x1]
	neg	eax
	add	ecx, dword ptr [rdx+0x1C]
	and	eax, ecx
	mov	dword ptr [rdx+0x1C], eax
	mov	rcx, rdi
	call	$_001
	mov	rdi, qword ptr [rdi+0x80]
	jmp	$_255

$_259:
	leave
	pop	rbx
	pop	rdi
	pop	rsi
	ret

$_260:
	mov	qword ptr [rsp+0x8], rcx
	push	rsi
	push	rdi
	push	rbx
	push	rbp
	mov	rbp, rsp
	sub	rsp, 440
	mov	dword ptr [rbp-0x14], 0
	mov	dword ptr [rbp-0x18], 0
	mov	dword ptr [rbp-0x1C], 0
	mov	dword ptr [rbp-0x20], 0
	mov	dword ptr [rbp-0x24], 0
	mov	dword ptr [rbp-0x28], 0
	mov	qword ptr [rbp-0x48], 0
	lea	rcx, [DS0000+rip]
	call	SymFind@PLT
	mov	qword ptr [rbp-0x30], rax
	mov	rsi, qword ptr [rax+0x78]
	lea	rcx, [DS0004+rip]
	call	SymFind@PLT
	mov	qword ptr [rbp-0x38], rax
	lea	rcx, [DS0007+rip]
	call	SymFind@PLT
	mov	qword ptr [rbp-0x40], rax
	mov	rax, qword ptr [r14+0x40]
	mov	qword ptr [rsi], rax
	mov	rax, qword ptr [rbp-0x38]
	mov	rsi, qword ptr [rax+0x78]
	mov	rcx, qword ptr [rsi+0x10]
	mov	qword ptr [rbp-0x50], rcx
	mov	rdi, qword ptr [r14+0x288]
$_261:	test	rdi, rdi
	jz	$_262
	lea	rcx, [rdi+0x8]
	call	tstrlen@PLT
	mov	r8d, eax
	lea	rdx, [rdi+0x8]
	mov	rcx, qword ptr [rbp-0x50]
	call	$_225
	mov	rdi, qword ptr [rdi]
	jmp	$_261

$_262:
	mov	rdi, qword ptr [SymTables+0x20+rip]
$_263:	test	rdi, rdi
	jz	$_265
	mov	rsi, qword ptr [rdi+0x78]
	test	byte ptr [rsi+0x1C], 0x02
	jz	$_264
	lea	rdx, [DS002C+rip]
	mov	rcx, qword ptr [rdi+0x8]
	call	tstrcmp@PLT
	test	rax, rax
	jnz	$_264
	mov	r8d, dword ptr [rsi+0x18]
	mov	rdx, qword ptr [rsi+0x10]
	mov	rcx, qword ptr [rbp-0x50]
	call	$_225
$_264:	mov	rdi, qword ptr [rdi+0x80]
	jmp	$_263

$_265:
	mov	rcx, qword ptr [rbp-0x50]
	movzx	eax, word ptr [rcx+0x16]
	mov	dword ptr [rbp-0x10], eax
	test	eax, 0x1
	jnz	$_266
	mov	dword ptr [rsp+0x20], 1
	movzx	r9d, byte ptr [r14+0x5]
	mov	r8d, 2
	lea	rdx, [DS002D+rip]
	lea	rcx, [DS000A+rip]
	call	CreateIntSegment@PLT
	mov	qword ptr [rbp-0x48], rax
	test	rax, rax
	jz	$_266
	mov	rsi, qword ptr [rax+0x78]
	mov	dword ptr [rax+0x60], 8
	mov	rax, qword ptr [r14+0x40]
	mov	qword ptr [rsi], rax
	mov	byte ptr [rsi+0x5C], 2
	mov	dword ptr [rsi+0x48], 9
	mov	byte ptr [rsi+0x1E], 66
	mov	dword ptr [rsi+0x18], 8
	mov	rdx, qword ptr [rbp-0x40]
	mov	rsi, qword ptr [rdx+0x78]
	mov	edi, dword ptr [rdx+0x60]
	add	dword ptr [rdx+0x60], 40
	add	rdi, qword ptr [rsi+0x10]
	mov	ecx, 40
	xor	eax, eax
	rep stosb
$_266:	lea	rdx, [flat_order+rip]
	xor	ebx, ebx
$_267:	cmp	ebx, 10
	jnc	$_272
	mov	rdi, qword ptr [SymTables+0x20+rip]
$_268:	test	rdi, rdi
	jz	$_271
	mov	rsi, qword ptr [rdi+0x78]
	mov	eax, dword ptr [rdx+rbx*4]
	cmp	dword ptr [rsi+0x48], eax
	jnz	$_270
	mov	rcx, qword ptr [rdi+0x8]
	call	$_115
	mov	ecx, ebx
	mov	ah, byte ptr [ModuleInfo+0x5+rip]
	cmp	dword ptr [rsi+0x48], 1
	jnz	$_269
	cmp	byte ptr [rsi+0x1D], ah
	jz	$_269
	test	al, al
	jnz	$_269
	inc	ecx
$_269:	mov	dword ptr [rsi+0x4C], ecx
$_270:	mov	rdi, qword ptr [rdi+0x80]
	jmp	$_268

$_271:	inc	ebx
	jmp	$_267

$_272:
	mov	ecx, 2
	call	SortSegments@PLT
	mov	rax, qword ptr [rbp-0x50]
	cmp	byte ptr [r14+0x5], 2
	jnz	$_273
	mov	eax, dword ptr [rax+0x3C]
	jmp	$_274

$_273:	mov	eax, dword ptr [rax+0x3C]
$_274:	mov	ecx, eax
	call	$_184
	mov	dword ptr [rbp-0x8], eax
	mov	rax, qword ptr [rbp-0x50]
	cmp	byte ptr [r14+0x5], 2
	jnz	$_275
	mov	eax, dword ptr [rax+0x38]
	jmp	$_276

$_275:	mov	eax, dword ptr [rax+0x38]
$_276:	mov	dword ptr [rbp-0xC], eax
	mov	rbx, qword ptr [rbp+0x28]
	mov	r8d, dword ptr [rbp-0x8]
	mov	edx, eax
	mov	rcx, rbx
	call	$_254
	mov	rcx, qword ptr [rbp-0x48]
	test	rcx, rcx
	jz	$_278
	call	$_198
	mov	rcx, qword ptr [rbp-0x48]
	mov	eax, dword ptr [rcx+0x60]
	cmp	eax, 8
	jle	$_277
	mov	rsi, qword ptr [rcx+0x78]
	add	eax, dword ptr [rsi+0xC]
	mov	dword ptr [rbx+0x1C], eax
	jmp	$_278

$_277:	mov	rdx, qword ptr [rbp-0x40]
	sub	dword ptr [rdx+0x60], 40
	mov	dword ptr [rbx+0x1C], 0
	mov	dword ptr [rbx+0x4], 0
	mov	byte ptr [rbx+0x1], 0
	mov	byte ptr [rbx], 1
	mov	r8d, dword ptr [rbp-0x8]
	mov	edx, dword ptr [rbp-0xC]
	mov	rcx, rbx
	call	$_254
$_278:	mov	eax, dword ptr [rbx+0x1C]
	mov	dword ptr [rbp-0x28], eax
	mov	rax, qword ptr [rbp-0x30]
	mov	rcx, qword ptr [rbp-0x38]
	cmp	dword ptr [rax+0x60], 64
	jl	$_279
	mov	rsi, qword ptr [rax+0x78]
	mov	rdx, qword ptr [rsi+0x10]
	mov	rsi, qword ptr [rcx+0x78]
	mov	eax, dword ptr [rsi+0x38]
	cmp	word ptr [rdx], 23117
	jnz	$_279
	cmp	word ptr [rdx+0x8], 4
	jc	$_279
	mov	dword ptr [rdx+0x3C], eax
$_279:	mov	rsi, qword ptr [rcx+0x78]
	mov	rdx, qword ptr [rsi+0x10]
	lea	rcx, [rdx+0x4]
	mov	qword ptr [rbp-0x58], rcx
	mov	rdi, qword ptr [rbp-0x40]
	mov	eax, dword ptr [rdi+0x60]
	mov	ecx, 40
	cdq
	div	ecx
	mov	rcx, qword ptr [rbp-0x58]
	mov	word ptr [rcx+0x2], ax
	mov	rax, qword ptr [rbp-0x50]
	cmp	byte ptr [r14+0x5], 2
	jnz	$_280
	mov	eax, dword ptr [rax+0x3C]
	jmp	$_281

$_280:	mov	eax, dword ptr [rax+0x3C]
$_281:	mov	dword ptr [rbx+0x28], eax
	mov	rsi, qword ptr [rdi+0x78]
	mov	rax, qword ptr [rsi+0x10]
	mov	qword ptr [rbp-0x60], rax
	mov	rdi, qword ptr [SymTables+0x20+rip]
	mov	ebx, 4294967295
$_282:	test	rdi, rdi
	je	$_295
	mov	rsi, qword ptr [rdi+0x78]
	cmp	dword ptr [rsi+0x48], 6
	je	$_294
	cmp	dword ptr [rdi+0x60], 0
	je	$_294
	test	byte ptr [rsi+0x1C], 0x02
	jz	$_283
	jmp	$_294

$_283:	cmp	dword ptr [rsi+0x4C], ebx
	jz	$_286
	mov	ebx, dword ptr [rsi+0x4C]
	mov	rax, qword ptr [rsi+0x60]
	test	rax, rax
	jnz	$_284
	lea	r8, [rbp-0x168]
	xor	edx, edx
	mov	rcx, rdi
	call	ConvertSectionName@PLT
$_284:	mov	qword ptr [rbp-0x70], rax
	mov	rcx, qword ptr [rbp-0x60]
	mov	r8d, 8
	mov	rdx, qword ptr [rbp-0x70]

	call	tstrncpy@PLT
	mov	rcx, qword ptr [rbp-0x60]
	cmp	dword ptr [rsi+0x48], 3
	jz	$_285
	mov	eax, dword ptr [rsi+0x38]
	mov	dword ptr [rcx+0x14], eax
$_285:	mov	eax, dword ptr [rsi+0xC]
	mov	dword ptr [rcx+0xC], eax
	cmp	dword ptr [rbp-0x24], 0
	jnz	$_286
	mov	eax, dword ptr [rsi+0x38]
	mov	dword ptr [rbp-0x24], eax
$_286:	mov	rcx, rdi
	call	$_187
	mov	rcx, qword ptr [rbp-0x60]
	or	dword ptr [rcx+0x24], eax
	mov	eax, dword ptr [rdi+0x60]
	cmp	dword ptr [rsi+0x48], 3
	jz	$_287
	add	dword ptr [rcx+0x10], eax
$_287:	mov	edx, dword ptr [rsi+0xC]
	sub	edx, dword ptr [rcx+0xC]
	add	eax, edx
	mov	dword ptr [rcx+0x8], eax
	mov	rdx, qword ptr [rdi+0x80]
	test	rdx, rdx
	jz	$_288
	mov	rdx, qword ptr [rdx+0x78]
$_288:	test	rdx, rdx
	jz	$_289
	cmp	dword ptr [rdx+0x4C], ebx
	jz	$_293
$_289:	mov	rax, qword ptr [rbp+0x28]
	mov	eax, dword ptr [rax+0x28]
	dec	eax
	add	dword ptr [rcx+0x10], eax
	not	eax
	and	dword ptr [rcx+0x10], eax
	test	byte ptr [rcx+0x27], 0x20
	jz	$_291
	cmp	dword ptr [rbp-0x14], 0
	jnz	$_290
	mov	eax, dword ptr [rcx+0xC]
	mov	dword ptr [rbp-0x14], eax
$_290:	mov	eax, dword ptr [rcx+0x10]
	add	dword ptr [rbp-0x1C], eax
$_291:	test	byte ptr [rcx+0x24], 0x40
	jz	$_293
	cmp	dword ptr [rbp-0x18], 0
	jnz	$_292
	mov	eax, dword ptr [rcx+0xC]
	mov	dword ptr [rbp-0x18], eax
$_292:	mov	eax, dword ptr [rcx+0x10]
	add	dword ptr [rbp-0x20], eax
$_293:	test	rdx, rdx
	jz	$_294
	cmp	dword ptr [rdx+0x4C], ebx
	jz	$_294
	add	qword ptr [rbp-0x60], 40
$_294:	mov	rdi, qword ptr [rdi+0x80]
	jmp	$_282

$_295:
	cmp	qword ptr [r14+0x2C8], 0
	jz	$_298
	mov	rax, qword ptr [r14+0x2C8]
	mov	rdx, qword ptr [rax+0x40]
	mov	rsi, qword ptr [rdx+0x78]
	mov	ecx, dword ptr [rsi+0xC]
	add	ecx, dword ptr [rax+0x30]
	mov	rax, qword ptr [rbp-0x50]
	cmp	byte ptr [r14+0x5], 2
	jnz	$_296
	mov	dword ptr [rax+0x28], ecx
	jmp	$_297

$_296:	mov	dword ptr [rax+0x28], ecx
$_297:	jmp	$_299

$_298:	mov	ecx, 8003
	call	asmerr@PLT
$_299:	mov	rcx, qword ptr [rbp-0x50]
	cmp	byte ptr [r14+0x5], 2
	jnz	$_300
	mov	eax, dword ptr [rcx+0x38]
	dec	eax
	mov	edx, eax
	not	edx
	add	eax, dword ptr [rbp-0x28]
	and	eax, edx
	mov	dword ptr [rbp-0x28], eax
	mov	eax, dword ptr [rbp-0x1C]
	mov	dword ptr [rcx+0x1C], eax
	mov	eax, dword ptr [rbp-0x14]
	mov	dword ptr [rcx+0x2C], eax
	mov	eax, dword ptr [rbp-0x28]
	mov	dword ptr [rcx+0x50], eax
	mov	eax, dword ptr [rbp-0x24]
	mov	dword ptr [rcx+0x54], eax
	lea	rax, [rcx+0x88]
	mov	qword ptr [rbp-0x68], rax
	jmp	$_301

$_300:	mov	eax, dword ptr [rcx+0x38]
	dec	eax
	mov	edx, eax
	not	edx
	add	eax, dword ptr [rbp-0x28]
	and	eax, edx
	mov	dword ptr [rbp-0x28], eax
	mov	eax, dword ptr [rbp-0x1C]
	mov	dword ptr [rcx+0x1C], eax
	mov	eax, dword ptr [rbp-0x20]
	mov	dword ptr [rcx+0x20], eax
	mov	eax, dword ptr [rbp-0x14]
	mov	dword ptr [rcx+0x2C], eax
	mov	eax, dword ptr [rbp-0x18]
	mov	dword ptr [rcx+0x30], eax
	mov	eax, dword ptr [rbp-0x28]
	mov	dword ptr [rcx+0x50], eax
	mov	eax, dword ptr [rbp-0x24]
	mov	dword ptr [rcx+0x54], eax
	lea	rax, [rcx+0x78]
	mov	qword ptr [rbp-0x68], rax
$_301:	lea	rcx, [DS000C+rip]
	call	SymFind@PLT
	test	rax, rax
	jz	$_302
	mov	rsi, qword ptr [rax+0x78]
	mov	rcx, qword ptr [rbp-0x68]
	mov	eax, dword ptr [rax+0x60]
	mov	dword ptr [rcx+0x4], eax
	mov	eax, dword ptr [rsi+0xC]
	mov	dword ptr [rcx], eax
$_302:	lea	rcx, [DS002E+rip]
	call	SymFind@PLT
	test	rax, rax
	jz	$_303
	mov	rdi, rax
	lea	rcx, [DS002F+rip]
	call	SymFind@PLT
	mov	qword ptr [rbp-0x170], rax
	lea	rcx, [DS0030+rip]
	call	SymFind@PLT
	mov	qword ptr [rbp-0x178], rax
	mov	rcx, qword ptr [rbp-0x170]
	mov	rsi, qword ptr [rcx+0x78]
	mov	eax, dword ptr [rsi+0xC]
	add	eax, dword ptr [rcx+0x60]
	mov	rsi, qword ptr [rdi+0x78]
	sub	eax, dword ptr [rsi+0xC]
	mov	rdx, qword ptr [rbp-0x68]
	mov	dword ptr [rdx+0xC], eax
	mov	eax, dword ptr [rsi+0xC]
	mov	dword ptr [rdx+0x8], eax
	mov	rcx, qword ptr [rbp-0x178]
	mov	rsi, qword ptr [rcx+0x78]
	mov	eax, dword ptr [rsi+0xC]
	mov	dword ptr [rdx+0x60], eax
	mov	eax, dword ptr [rcx+0x60]
	mov	dword ptr [rdx+0x64], eax
$_303:	lea	rcx, [DS0009+rip]
	call	SymFind@PLT
	test	rax, rax
	jz	$_304
	mov	rsi, qword ptr [rax+0x78]
	mov	rdx, qword ptr [rbp-0x68]
	mov	eax, dword ptr [rax+0x60]
	mov	dword ptr [rdx+0x14], eax
	mov	eax, dword ptr [rsi+0xC]
	mov	dword ptr [rdx+0x10], eax
$_304:	lea	rcx, [DS000A+rip]
	call	SymFind@PLT
	test	rax, rax
	jz	$_305
	cmp	dword ptr [rax+0x60], 0
	jz	$_305
	mov	rsi, qword ptr [rax+0x78]
	mov	rdx, qword ptr [rbp-0x68]
	mov	eax, dword ptr [rax+0x60]
	mov	dword ptr [rdx+0x2C], eax
	mov	eax, dword ptr [rsi+0xC]
	mov	dword ptr [rdx+0x28], eax
$_305:	lea	rcx, [DS0031+rip]
	call	SymFind@PLT
	test	rax, rax
	jz	$_306
	mov	rsi, qword ptr [rax+0x78]
	mov	rdx, qword ptr [rbp-0x68]
	mov	eax, dword ptr [rax+0x60]
	mov	dword ptr [rdx+0x4C], eax
	mov	eax, dword ptr [rsi+0xC]
	mov	dword ptr [rdx+0x48], eax
$_306:	cmp	byte ptr [r14+0x5], 2
	jnz	$_311
	lea	rcx, [DS0032+rip]
	call	SymFind@PLT
	test	rax, rax
	jz	$_307
	mov	rsi, qword ptr [rax+0x78]
	mov	rdx, qword ptr [rbp-0x68]
	mov	eax, dword ptr [rax+0x60]
	mov	dword ptr [rdx+0x1C], eax
	mov	eax, dword ptr [rsi+0xC]
	mov	dword ptr [rdx+0x18], eax
$_307:	mov	rcx, qword ptr [rbp-0x50]
	mov	rax, qword ptr [rcx+0x30]
	cmp	eax, -1
	jnz	$_310
	movabs	rax, 0x140000000
	test	byte ptr [rbp-0xF], 0x20
	jz	$_308
	movabs	rax, 0x180000000
	jmp	$_309

$_308:	test	byte ptr [rcx+0x16], 0x20
	jnz	$_309
	mov	eax, 4194304
$_309:	mov	qword ptr [rcx+0x30], rax
$_310:	mov	rcx, qword ptr [rbp+0x28]
	mov	qword ptr [rcx+0x20], rax
	jmp	$_316

$_311:	mov	rcx, qword ptr [rbp-0x50]
	cmp	dword ptr [rcx+0x34], -1
	jnz	$_313
	mov	eax, 4194304
	test	byte ptr [rbp-0xF], 0x20
	jz	$_312
	mov	eax, 268435456
$_312:	mov	dword ptr [rcx+0x34], eax
$_313:	mov	rcx, qword ptr [rbp+0x28]
	mov	rax, qword ptr [rbp-0x50]
	cmp	byte ptr [r14+0x5], 2
	jnz	$_314
	mov	rax, qword ptr [rax+0x30]
	jmp	$_315

$_314:	mov	eax, dword ptr [rax+0x34]
$_315:	mov	dword ptr [rcx+0x20], eax
$_316:	leave
	pop	rbx
	pop	rdi
	pop	rsi
	ret

pe_enddirhook:
	sub	rsp, 8
	call	$_102
	call	$_139
	cmp	qword ptr [r14+0x298], 0
	jz	$_317
	call	$_160
$_317:	call	$_118
	xor	eax, eax
	add	rsp, 8
	ret

bin_write_module:
	push	rsi
	push	rdi
	push	rbx
	push	rbp
	mov	rbp, rsp
	sub	rsp, 184
	mov	qword ptr [rbp-0x38], 0
	xor	eax, eax
	push	rdi
	push	rcx
	lea	rdi, [rbp-0x70]
	mov	ecx, 48
	rep stosb
	pop	rcx
	pop	rdi
	mov	byte ptr [rbp-0x79], 0
	mov	byte ptr [rbp-0x70], 1
	mov	rdi, qword ptr [SymTables+0x20+rip]
$_318:	test	rdi, rdi
	jz	$_320
	mov	rsi, qword ptr [rdi+0x78]
	mov	dword ptr [rsi+0xC], 0
	cmp	byte ptr [rsi+0x5C], 5
	jnz	$_319
	mov	dword ptr [rsi+0x48], 4
$_319:	mov	rdi, qword ptr [rdi+0x80]
	jmp	$_318

$_320:
	xor	eax, eax
	cmp	byte ptr [r14+0xB], 1
	jnz	$_321
	xor	ecx, ecx
	call	$_020
	mov	word ptr [rbp-0x2A], ax
	shl	eax, 2
	movzx	edx, word ptr [r14+0x2C]
	add	eax, edx
	movzx	edx, word ptr [r14+0x2E]
	dec	edx
	add	eax, edx
	not	edx
	and	eax, edx
$_321:	mov	dword ptr [rbp-0x68], eax
	mov	dword ptr [rbp-0x6C], eax
	test	eax, eax
	jz	$_322
	mov	ecx, eax
	call	LclAlloc@PLT
	mov	qword ptr [rbp-0x40], rax
$_322:	mov	dword ptr [rbp-0x64], -1
	mov	dword ptr [rbp-0x54], 0
	cmp	byte ptr [r14+0xB], 2
	jz	$_323
	cmp	byte ptr [r14+0xB], 3
	jnz	$_325
$_323:	cmp	byte ptr [r14+0x15], 0
	jnz	$_324
	mov	ecx, 2013
	call	asmerr@PLT
	jmp	$_387

$_324:	lea	rcx, [rbp-0x70]
	call	$_260
	jmp	$_334

$_325:	cmp	byte ptr [r14+0x19], 1
	jnz	$_331
	xor	ebx, ebx
$_326:	cmp	ebx, 6
	jnc	$_330
	mov	rdi, qword ptr [SymTables+0x20+rip]
$_327:	test	rdi, rdi
	jz	$_329
	mov	rsi, qword ptr [rdi+0x78]
	lea	rcx, [dosseg_order+rip]
	mov	eax, dword ptr [rcx+rbx*4]
	cmp	dword ptr [rsi+0x48], eax
	jnz	$_328
	lea	rdx, [rbp-0x70]
	mov	rcx, rdi
	call	$_001
$_328:	mov	rdi, qword ptr [rdi+0x80]
	jmp	$_327

$_329:	inc	ebx
	jmp	$_326

$_330:	xor	ecx, ecx
	call	SortSegments@PLT
	jmp	$_334

$_331:	cmp	byte ptr [r14+0x19], 2
	jnz	$_332
	mov	ecx, 1
	call	SortSegments@PLT
$_332:	mov	rdi, qword ptr [SymTables+0x20+rip]
$_333:	test	rdi, rdi
	jz	$_334
	lea	rdx, [rbp-0x70]
	mov	rcx, rdi
	call	$_001
	mov	rdi, qword ptr [rdi+0x80]
	jmp	$_333

$_334:	mov	rdi, qword ptr [SymTables+0x20+rip]
$_335:	test	rdi, rdi
	jz	$_337
	lea	rdx, [rbp-0x70]
	mov	rcx, rdi
	call	$_046
	mov	rsi, qword ptr [rdi+0x78]
	cmp	qword ptr [rbp-0x38], 0
	jnz	$_336
	cmp	byte ptr [rsi+0x5C], 5
	jnz	$_336
	mov	qword ptr [rbp-0x38], rdi
$_336:	mov	rdi, qword ptr [rdi+0x80]
	jmp	$_335

$_337:	cmp	dword ptr [r14+0x35C], 0
	jz	$_338
	mov	rax, -1
	jmp	$_387

$_338:	cmp	byte ptr [r14+0xB], 0
	jnz	$_340
	cmp	qword ptr [r14+0x2C8], 0
	jz	$_340
	mov	rax, qword ptr [r14+0x2C8]
	cmp	dword ptr [rbp-0x64], -1
	jz	$_339
	mov	rax, qword ptr [rax+0x40]
	cmp	qword ptr [rbp-0x60], rax
	jz	$_340
$_339:	mov	ecx, 3003
	call	asmerr@PLT
	jmp	$_387

$_340:	xor	ecx, ecx
	call	$_036
	mov	dword ptr [rbp-0x10], eax
	cmp	byte ptr [r14+0xB], 1
	jne	$_356
	mov	rdi, qword ptr [rbp-0x40]
	mov	word ptr [rdi], 23117
	mov	ecx, 512
	mov	eax, dword ptr [rbp-0x10]
	cdq
	div	ecx
	mov	word ptr [rdi+0x2], dx
	test	edx, edx
	jz	$_341
	inc	eax
$_341:	mov	word ptr [rdi+0x4], ax
	mov	ax, word ptr [rbp-0x2A]
	mov	word ptr [rdi+0x6], ax
	mov	eax, dword ptr [rbp-0x68]
	shr	eax, 4
	mov	word ptr [rdi+0x8], ax
	mov	ecx, 1
	call	$_036
	sub	eax, dword ptr [rbp-0x10]
	mov	dword ptr [rbp-0x1C], eax
	mov	edx, eax
	shr	eax, 4
	and	edx, 0x0F
	jz	$_342
	inc	eax
$_342:	mov	word ptr [rdi+0xA], ax
	cmp	ax, word ptr [r14+0x30]
	jnc	$_343
	mov	ax, word ptr [r14+0x30]
	mov	word ptr [rdi+0xA], ax
$_343:	mov	ax, word ptr [r14+0x32]
	mov	word ptr [rdi+0xC], ax
	cmp	ax, word ptr [rdi+0xA]
	jnc	$_344
	mov	ax, word ptr [rdi+0xA]
	mov	word ptr [rdi+0xC], ax
$_344:	cmp	qword ptr [rbp-0x38], 0
	jz	$_347
	mov	rcx, qword ptr [rbp-0x38]
	mov	rsi, qword ptr [rcx+0x78]
	mov	eax, dword ptr [rsi+0xC]
	cmp	qword ptr [rsi], 0
	jz	$_345
	mov	rdx, qword ptr [rsi]
	add	eax, dword ptr [rdx+0x30]
$_345:	xor	edx, edx
	test	eax, 0xF
	jz	$_346
	inc	edx
$_346:	shr	eax, 4
	add	eax, edx
	mov	word ptr [rdi+0xE], ax
	mov	eax, dword ptr [rcx+0x60]
	mov	word ptr [rdi+0x10], ax
	jmp	$_348

$_347:	mov	ecx, 8004
	call	asmerr@PLT
$_348:
	mov	word ptr [rdi+0x12], 0
	cmp	qword ptr [r14+0x2C8], 0
	jz	$_354
	mov	rcx, qword ptr [r14+0x2C8]
	mov	rdx, qword ptr [rcx+0x40]
	mov	rsi, qword ptr [rdx+0x78]
	cmp	qword ptr [rsi], 0
	jz	$_349
	mov	rax, qword ptr [rsi]
	mov	eax, dword ptr [rax+0x30]
	mov	ebx, eax
	mov	edx, eax
	shr	edx, 4
	and	eax, 0x0F
	add	eax, dword ptr [rsi+0xC]
	add	eax, dword ptr [rcx+0x30]
	mov	word ptr [rdi+0x14], ax
	mov	word ptr [rdi+0x16], dx
	jmp	$_350

$_349:	mov	eax, dword ptr [rsi+0xC]
	mov	ebx, eax
	mov	edx, eax
	shr	edx, 4
	and	eax, 0x0F
	add	eax, dword ptr [rcx+0x30]
	mov	word ptr [rdi+0x14], ax
	mov	word ptr [rdi+0x16], dx
$_350:	cmp	ebx, 1048576
	jnc	$_351
	cmp	dword ptr [rcx+0x30], 65536
	jl	$_352
$_351:	mov	ecx, 3003
	call	asmerr@PLT
	jmp	$_387

$_352:	cmp	byte ptr [rsi+0x1D], 0
	jbe	$_353
	mov	ecx, 7009
	call	asmerr@PLT
$_353:	jmp	$_355

$_354:	mov	ecx, 8003
	call	asmerr@PLT
$_355:	mov	ax, word ptr [r14+0x2C]
	mov	word ptr [rdi+0x18], ax
	add	rax, qword ptr [rbp-0x40]
	mov	rcx, rax
	call	$_020
$_356:	cmp	qword ptr [r14+0x1F8], 0
	jz	$_357
	mov	edx, 2
	xor	esi, esi
	mov	rdi, qword ptr [r14+0x1F8]
	call	fseek@PLT
	call	LstNL@PLT
	call	LstNL@PLT
	lea	rcx, [DS0033+rip]
	call	LstPrintf@PLT
	call	LstNL@PLT
	call	LstNL@PLT
	lea	rcx, [DS0034+rip]
	call	LstPrintf@PLT
	call	LstNL@PLT
	lea	rcx, [DS0035+rip]
	call	LstPrintf@PLT
	call	LstNL@PLT
$_357:	cmp	dword ptr [rbp-0x68], 0
	jz	$_359
	mov	rcx, qword ptr [r14+0x1F0]
	mov	edx, dword ptr [rbp-0x68]
	mov	esi, 1
	mov	rdi, qword ptr [rbp-0x40]
	call	fwrite@PLT
	cmp	eax, dword ptr [rbp-0x68]
	jz	$_358
	call	WriteError@PLT
$_358:	mov	qword ptr [rsp+0x28], 0
	mov	eax, dword ptr [rbp-0x68]
	mov	dword ptr [rsp+0x20], eax
	xor	r9d, r9d
	xor	r8d, r8d
	lea	rdx, [DS0037+rip]
	lea	rcx, [DS0036+rip]
	call	LstPrintf@PLT
	call	LstNL@PLT
$_359:	mov	rdi, qword ptr [SymTables+0x20+rip]
	mov	dword ptr [rbp-0x18], 1
$_360:	test	rdi, rdi
	je	$_379
	mov	rsi, qword ptr [rdi+0x78]
	cmp	dword ptr [rsi+0x48], 5
	je	$_378
	cmp	byte ptr [r14+0xB], 2
	jz	$_361
	cmp	byte ptr [r14+0xB], 3
	jnz	$_364
$_361:	cmp	dword ptr [rsi+0x48], 3
	jz	$_362
	test	byte ptr [rsi+0x1C], 0x02
	jz	$_364
$_362:	xor	eax, eax
	test	byte ptr [rsi+0x1C], 0x02
	jz	$_363
	jmp	$_378

$_363:	jmp	$_365

$_364:	mov	eax, dword ptr [rdi+0x60]
	cmp	dword ptr [rbp-0x18], 0
	jz	$_365
	cmp	byte ptr [r14+0xB], 0
	jnz	$_365
	sub	eax, dword ptr [rsi+0x8]
$_365:	mov	dword ptr [rbp-0xC], eax
	cmp	dword ptr [rbp-0x18], 0
	jnz	$_366
	mov	eax, dword ptr [rdi+0x60]
$_366:	mov	dword ptr [rbp-0x30], eax
	cmp	dword ptr [rsi+0x18], 0
	jnz	$_369
	mov	rdx, qword ptr [rdi+0x80]
$_367:	test	rdx, rdx
	jz	$_368
	mov	rcx, qword ptr [rdx+0x78]
	cmp	dword ptr [rcx+0x18], 0
	jnz	$_368
	mov	rdx, qword ptr [rdx+0x80]
	jmp	$_367

$_368:	test	rdx, rdx
	jnz	$_369
	mov	dword ptr [rbp-0xC], edx
	mov	dword ptr [rsi+0x38], edx
$_369:	mov	ecx, dword ptr [rsi+0xC]
	cmp	dword ptr [rbp-0x18], 0
	jz	$_370
	add	ecx, dword ptr [rsi+0x8]
$_370:	mov	eax, dword ptr [rbp-0x30]
	mov	dword ptr [rsp+0x28], eax
	mov	eax, dword ptr [rbp-0xC]
	mov	dword ptr [rsp+0x20], eax
	mov	r9d, ecx
	mov	r8d, dword ptr [rsi+0x38]
	mov	rdx, qword ptr [rdi+0x8]
	lea	rcx, [DS0036+rip]
	call	LstPrintf@PLT
	call	LstNL@PLT
	cmp	dword ptr [rbp-0xC], 0
	je	$_377
	mov	qword ptr [rbp-0x8], rdi
	mov	ebx, dword ptr [rsi+0x8]
	mov	rax, qword ptr [rsi+0x10]
	mov	qword ptr [rbp-0x78], rax
	xor	edx, edx
	mov	esi, dword ptr [rsi+0x38]
	mov	rdi, qword ptr [r14+0x1F0]
	call	fseek@PLT
	cmp	qword ptr [rbp-0x78], 0
	jz	$_375
	test	ebx, ebx
	jz	$_373
	cmp	dword ptr [rbp-0x18], 0
	jz	$_371
	cmp	byte ptr [r14+0xB], 0
	jz	$_373
$_371:	sub	dword ptr [rbp-0xC], ebx
$_372:	test	ebx, ebx
	jz	$_373
	mov	rcx, qword ptr [r14+0x1F0]
	mov	edx, 1
	mov	esi, 1
	lea	rdi, [rbp-0x79]
	call	fwrite@PLT
	dec	ebx
	jmp	$_372

$_373:	mov	rcx, qword ptr [r14+0x1F0]
	mov	edx, dword ptr [rbp-0xC]
	mov	esi, 1
	mov	rdi, qword ptr [rbp-0x78]
	call	fwrite@PLT
	cmp	eax, dword ptr [rbp-0xC]
	jz	$_374
	call	WriteError@PLT
$_374:	jmp	$_376

$_375:	cmp	dword ptr [rbp-0xC], 0
	jz	$_376
	mov	rcx, qword ptr [r14+0x1F0]
	mov	edx, 1
	mov	esi, 1
	lea	rdi, [rbp-0x79]
	call	fwrite@PLT
	dec	dword ptr [rbp-0xC]
	jmp	$_375

$_376:	mov	rdi, qword ptr [rbp-0x8]
$_377:	mov	dword ptr [rbp-0x18], 0
$_378:	mov	rdi, qword ptr [rdi+0x80]
	jmp	$_360

$_379:	cmp	byte ptr [r14+0xB], 2
	jz	$_380
	cmp	byte ptr [r14+0xB], 3
	jnz	$_382
$_380:	mov	rdi, qword ptr [r14+0x1F0]
	call	ftell@PLT
	mov	ecx, eax
	mov	eax, dword ptr [rbp-0x48]
	dec	eax
	test	eax, ecx
	jz	$_382
	lea	ebx, [rax+0x1]
	and	eax, ecx
	sub	ebx, eax
$_381:	test	ebx, ebx
	jz	$_382
	mov	rcx, qword ptr [r14+0x1F0]
	mov	edx, 1
	mov	esi, 1
	lea	rdi, [rbp-0x79]
	call	fwrite@PLT
	dec	ebx
	jmp	$_381

$_382:	lea	rcx, [DS0035+rip]
	call	LstPrintf@PLT
	call	LstNL@PLT
	cmp	byte ptr [r14+0xB], 1
	jnz	$_383
	mov	eax, dword ptr [rbp-0x10]
	sub	eax, dword ptr [rbp-0x68]
	add	dword ptr [rbp-0x1C], eax
	jmp	$_386

$_383:	cmp	byte ptr [r14+0xB], 2
	jz	$_384
	cmp	byte ptr [r14+0xB], 3
	jnz	$_385
$_384:	mov	eax, dword ptr [rbp-0x54]
	mov	dword ptr [rbp-0x1C], eax
	jmp	$_386

$_385:	mov	ecx, 1
	call	$_036
	mov	dword ptr [rbp-0x1C], eax
$_386:	mov	r9d, dword ptr [rbp-0x1C]
	mov	r8d, dword ptr [rbp-0x10]
	lea	rdx, [DS0039+rip]
	lea	rcx, [DS0038+rip]
	call	LstPrintf@PLT
	call	LstNL@PLT
	xor	eax, eax
$_387:	leave
	pop	rbx
	pop	rdi
	pop	rsi
	ret

bin_check_external:
	sub	rsp, 40
	mov	rdx, qword ptr [SymTables+0x10+rip]
$_388:	test	rdx, rdx
	jz	$_391
	test	byte ptr [rdx+0x4B], 0x02
	jz	$_389
	test	byte ptr [rdx+0x10], 0x10
	jz	$_390
$_389:	test	byte ptr [rdx+0x11], 0x02
	jnz	$_390
	test	byte ptr [rdx+0x12], 0x08
	jnz	$_390
	mov	rdx, qword ptr [rdx+0x8]
	mov	ecx, 2014
	call	asmerr@PLT
	jmp	$_392

$_390:	mov	rdx, qword ptr [rdx+0x80]
	jmp	$_388

$_391:	xor	eax, eax
$_392:	add	rsp, 40
	ret

bin_init:
	lea	rax, [bin_write_module@PLT+rip]
	mov	qword ptr [r14+0x340], rax
	lea	rax, [bin_check_external@PLT+rip]
	mov	qword ptr [r14+0x350], rax
	mov	al, byte ptr [r14+0xB]
	jmp	$_395

$_393:	lea	rdx, [r14+0x2C]
	lea	rax, [mzdata+rip]
	mov	ecx, 8
	xchg	rdi, rdx
	xchg	rsi, rax
	rep movsb
	mov	rsi, rax
	mov	rdi, rdx
	jmp	$_396

$_394:	lea	rax, [pe_enddirhook@PLT+rip]
	mov	qword ptr [r14+0x348], rax
	jmp	$_396

$_395:	cmp	al, 1
	jz	$_393
	cmp	al, 2
	jz	$_394
	cmp	al, 3
	jz	$_394
$_396:	ret


.SECTION .data
	.ALIGN	16

mzdata:
	.byte  0x1E, 0x00, 0x10, 0x00, 0x00, 0x00, 0xFF, 0xFF

dosseg_order:
	.byte  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte  0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
	.byte  0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00

flat_order:
	.byte  0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte  0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
	.byte  0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
	.byte  0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
	.byte  0x0A, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00

pe32def:
	.byte  0x50, 0x45, 0x00, 0x00, 0x4C, 0x01, 0x00, 0x00
	.byte  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte  0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x0F, 0x01
	.byte  0x0B, 0x01, 0x05, 0x01, 0x00, 0x00, 0x00, 0x00
	.byte  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte  0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
	.byte  0x00, 0x10, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00
	.byte  0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte  0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte  0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
	.byte  0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0x00
	.byte  0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0x00
	.byte  0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00
	.byte  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00

pe64def:
	.byte  0x50, 0x45, 0x00, 0x00, 0x64, 0x86, 0x00, 0x00
	.byte  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte  0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x26, 0x00
	.byte  0x0B, 0x02, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte  0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00
	.byte  0x00, 0x10, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00
	.byte  0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte  0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte  0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x60, 0x81
	.byte  0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte  0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte  0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte  0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte  0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00
	.byte  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00

LC008F:
	.byte  0xB9, 0x01, 0xAA, 0x01, 0x99, 0x01, 0x79, 0x01
	.byte  0x72, 0x01, 0x6A, 0x01, 0x63, 0x01, 0x3A, 0x01
	.byte  0xAC, 0x00, 0x51, 0x00, 0x43, 0x01, 0x6A, 0x01
	.byte  0x6A, 0x01

DS0000:
	.byte  0x2E, 0x68, 0x64, 0x72, 0x24, 0x31, 0x00

DS0001:
	.byte  0x6F, 0x70, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x64
	.byte  0x6F, 0x74, 0x6E, 0x61, 0x6D, 0x65, 0x0A, 0x49
	.byte  0x4D, 0x41, 0x47, 0x45, 0x5F, 0x44, 0x4F, 0x53
	.byte  0x5F, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x20
	.byte  0x53, 0x54, 0x52, 0x55, 0x43, 0x0A, 0x65, 0x5F
	.byte  0x6D, 0x61, 0x67, 0x69, 0x63, 0x20, 0x64, 0x77
	.byte  0x20, 0x3F, 0x0A, 0x65, 0x5F, 0x63, 0x62, 0x6C
	.byte  0x70, 0x20, 0x64, 0x77, 0x20, 0x3F, 0x0A, 0x65
	.byte  0x5F, 0x63, 0x70, 0x20, 0x64, 0x77, 0x20, 0x3F
	.byte  0x0A, 0x65, 0x5F, 0x63, 0x72, 0x6C, 0x63, 0x20
	.byte  0x64, 0x77, 0x20, 0x3F, 0x0A, 0x65, 0x5F, 0x63
	.byte  0x70, 0x61, 0x72, 0x68, 0x64, 0x72, 0x20, 0x64
	.byte  0x77, 0x20, 0x3F, 0x0A, 0x65, 0x5F, 0x6D, 0x69
	.byte  0x6E, 0x61, 0x6C, 0x6C, 0x6F, 0x63, 0x20, 0x64
	.byte  0x77, 0x20, 0x3F, 0x0A, 0x65, 0x5F, 0x6D, 0x61
	.byte  0x78, 0x61, 0x6C, 0x6C, 0x6F, 0x63, 0x20, 0x64
	.byte  0x77, 0x20, 0x3F, 0x0A, 0x65, 0x5F, 0x73, 0x73
	.byte  0x20, 0x64, 0x77, 0x20, 0x3F, 0x0A, 0x65, 0x5F
	.byte  0x73, 0x70, 0x20, 0x64, 0x77, 0x20, 0x3F, 0x0A
	.byte  0x65, 0x5F, 0x63, 0x73, 0x75, 0x6D, 0x20, 0x64
	.byte  0x77, 0x20, 0x3F, 0x0A, 0x65, 0x5F, 0x69, 0x70
	.byte  0x20, 0x64, 0x77, 0x20, 0x3F, 0x0A, 0x65, 0x5F
	.byte  0x63, 0x73, 0x20, 0x64, 0x77, 0x20, 0x3F, 0x0A
	.byte  0x65, 0x5F, 0x6C, 0x66, 0x61, 0x72, 0x6C, 0x63
	.byte  0x20, 0x64, 0x77, 0x20, 0x3F, 0x0A, 0x65, 0x5F
	.byte  0x6F, 0x76, 0x6E, 0x6F, 0x20, 0x64, 0x77, 0x20
	.byte  0x3F, 0x0A, 0x65, 0x5F, 0x72, 0x65, 0x73, 0x20
	.byte  0x64, 0x77, 0x20, 0x34, 0x20, 0x64, 0x75, 0x70
	.byte  0x28, 0x3F, 0x29, 0x0A, 0x65, 0x5F, 0x6F, 0x65
	.byte  0x6D, 0x69, 0x64, 0x20, 0x64, 0x77, 0x20, 0x3F
	.byte  0x0A, 0x65, 0x5F, 0x6F, 0x65, 0x6D, 0x69, 0x6E
	.byte  0x66, 0x6F, 0x20, 0x64, 0x77, 0x20, 0x3F, 0x0A
	.byte  0x65, 0x5F, 0x72, 0x65, 0x73, 0x32, 0x20, 0x64
	.byte  0x77, 0x20, 0x31, 0x30, 0x20, 0x64, 0x75, 0x70
	.byte  0x28, 0x3F, 0x29, 0x0A, 0x65, 0x5F, 0x6C, 0x66
	.byte  0x61, 0x6E, 0x65, 0x77, 0x20, 0x64, 0x64, 0x20
	.byte  0x3F, 0x0A, 0x49, 0x4D, 0x41, 0x47, 0x45, 0x5F
	.byte  0x44, 0x4F, 0x53, 0x5F, 0x48, 0x45, 0x41, 0x44
	.byte  0x45, 0x52, 0x20, 0x45, 0x4E, 0x44, 0x53, 0x0A
	.byte  0x25, 0x73, 0x31, 0x20, 0x73, 0x65, 0x67, 0x6D
	.byte  0x65, 0x6E, 0x74, 0x20, 0x55, 0x53, 0x45, 0x31
	.byte  0x36, 0x20, 0x77, 0x6F, 0x72, 0x64, 0x20, 0x25
	.byte  0x73, 0x0A, 0x49, 0x4D, 0x41, 0x47, 0x45, 0x5F
	.byte  0x44, 0x4F, 0x53, 0x5F, 0x48, 0x45, 0x41, 0x44
	.byte  0x45, 0x52, 0x20, 0x7B, 0x30, 0x78, 0x35, 0x41
	.byte  0x34, 0x44, 0x2C, 0x30, 0x78, 0x36, 0x38, 0x2C
	.byte  0x31, 0x2C, 0x30, 0x2C, 0x34, 0x2C, 0x30, 0x2C
	.byte  0x2D, 0x31, 0x2C, 0x30, 0x2C, 0x30, 0x78, 0x42
	.byte  0x38, 0x2C, 0x30, 0x2C, 0x30, 0x2C, 0x30, 0x2C
	.byte  0x30, 0x78, 0x34, 0x30, 0x7D, 0x0A, 0x70, 0x75
	.byte  0x73, 0x68, 0x20, 0x63, 0x73, 0x0A, 0x70, 0x6F
	.byte  0x70, 0x20, 0x64, 0x73, 0x0A, 0x6D, 0x6F, 0x76
	.byte  0x20, 0x64, 0x78, 0x2C, 0x40, 0x46, 0x2D, 0x34
	.byte  0x30, 0x68, 0x0A, 0x6D, 0x6F, 0x76, 0x20, 0x61
	.byte  0x68, 0x2C, 0x39, 0x0A, 0x69, 0x6E, 0x74, 0x20
	.byte  0x32, 0x31, 0x68, 0x0A, 0x6D, 0x6F, 0x76, 0x20
	.byte  0x61, 0x78, 0x2C, 0x34, 0x43, 0x30, 0x31, 0x68
	.byte  0x0A, 0x69, 0x6E, 0x74, 0x20, 0x32, 0x31, 0x68
	.byte  0x0A, 0x40, 0x40, 0x3A, 0x0A, 0x64, 0x62, 0x20
	.byte  0x27, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73
	.byte  0x20, 0x61, 0x20, 0x50, 0x45, 0x20, 0x65, 0x78
	.byte  0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6C, 0x65
	.byte  0x27, 0x2C, 0x31, 0x33, 0x2C, 0x31, 0x30, 0x2C
	.byte  0x27, 0x24, 0x27, 0x0A, 0x25, 0x73, 0x31, 0x20
	.byte  0x65, 0x6E, 0x64, 0x73, 0x00

DS0002:
	.byte  0x2E, 0x68, 0x64, 0x72, 0x24, 0x00

DS0003:
	.byte  0x72, 0x65, 0x61, 0x64, 0x20, 0x70, 0x75, 0x62
	.byte  0x6C, 0x69, 0x63, 0x20, 0x27, 0x48, 0x44, 0x52
	.byte  0x27, 0x00

DS0004:
	.byte  0x2E, 0x68, 0x64, 0x72, 0x24, 0x32, 0x00

DS0005:
	.byte  0x48, 0x44, 0x52, 0x00

DS0006:
	.byte  0x40, 0x70, 0x65, 0x5F, 0x66, 0x69, 0x6C, 0x65
	.byte  0x5F, 0x66, 0x6C, 0x61, 0x67, 0x73, 0x00

DS0007:
	.byte  0x2E, 0x68, 0x64, 0x72, 0x24, 0x33, 0x00

DS0008:
	.byte  0x43, 0x4F, 0x4E, 0x53, 0x54, 0x00

DS0009:
	.byte  0x2E, 0x72, 0x73, 0x72, 0x63, 0x00

DS000A:
	.byte  0x2E, 0x72, 0x65, 0x6C, 0x6F, 0x63, 0x00

DS000B:
	.byte  0x25, 0x72, 0x20, 0x44, 0x4F, 0x54, 0x4E, 0x41
	.byte  0x4D, 0x45, 0x0A, 0x25, 0x73, 0x20, 0x25, 0x72
	.byte  0x20, 0x25, 0x72, 0x20, 0x25, 0x73, 0x0A, 0x44
	.byte  0x44, 0x20, 0x30, 0x2C, 0x20, 0x30, 0x25, 0x78
	.byte  0x68, 0x2C, 0x20, 0x30, 0x2C, 0x20, 0x25, 0x72
	.byte  0x20, 0x40, 0x25, 0x73, 0x5F, 0x6E, 0x61, 0x6D
	.byte  0x65, 0x2C, 0x20, 0x31, 0x2C, 0x20, 0x25, 0x75
	.byte  0x2C, 0x20, 0x25, 0x75, 0x2C, 0x20, 0x25, 0x72
	.byte  0x20, 0x40, 0x25, 0x73, 0x5F, 0x66, 0x75, 0x6E
	.byte  0x63, 0x2C, 0x20, 0x25, 0x72, 0x20, 0x40, 0x25
	.byte  0x73, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x73, 0x2C
	.byte  0x20, 0x25, 0x72, 0x20, 0x40, 0x25, 0x73, 0x5F
	.byte  0x6E, 0x61, 0x6D, 0x65, 0x6F, 0x72, 0x64, 0x00

DS000C:
	.byte  0x2E, 0x65, 0x64, 0x61, 0x74, 0x61, 0x00

DS000D:
	.byte  0x46, 0x4C, 0x41, 0x54, 0x20, 0x72, 0x65, 0x61
	.byte  0x64, 0x20, 0x70, 0x75, 0x62, 0x6C, 0x69, 0x63
	.byte  0x20, 0x61, 0x6C, 0x69, 0x61, 0x73, 0x28, 0x27
	.byte  0x2E, 0x72, 0x64, 0x61, 0x74, 0x61, 0x27, 0x29
	.byte  0x20, 0x27, 0x44, 0x41, 0x54, 0x41, 0x27, 0x00

DS000E:
	.byte  0x40, 0x25, 0x73, 0x5F, 0x66, 0x75, 0x6E, 0x63
	.byte  0x20, 0x25, 0x72, 0x20, 0x25, 0x72, 0x00

DS000F:
	.byte  0x64, 0x64, 0x20, 0x25, 0x72, 0x20, 0x25, 0x73
	.byte  0x00

DS0010:
	.byte  0x40, 0x25, 0x73, 0x5F, 0x6E, 0x61, 0x6D, 0x65
	.byte  0x73, 0x20, 0x25, 0x72, 0x20, 0x25, 0x72, 0x00

DS0011:
	.byte  0x64, 0x64, 0x20, 0x25, 0x72, 0x20, 0x40, 0x25
	.byte  0x73, 0x00

DS0012:
	.byte  0x40, 0x25, 0x73, 0x5F, 0x6E, 0x61, 0x6D, 0x65
	.byte  0x6F, 0x72, 0x64, 0x20, 0x25, 0x72, 0x20, 0x25
	.byte  0x72, 0x00

DS0013:
	.byte  0x64, 0x77, 0x20, 0x25, 0x75, 0x00

DS0014:
	.byte  0x40, 0x25, 0x73, 0x5F, 0x6E, 0x61, 0x6D, 0x65
	.byte  0x20, 0x64, 0x62, 0x20, 0x27, 0x25, 0x73, 0x27
	.byte  0x2C, 0x30, 0x00

DS0015:
	.byte  0x40, 0x25, 0x73, 0x20, 0x64, 0x62, 0x20, 0x27
	.byte  0x25, 0x73, 0x27, 0x2C, 0x30, 0x00

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

DS0017:
	.byte  0x41, 0x4C, 0x49, 0x47, 0x4E, 0x28, 0x38, 0x29
	.byte  0x00

DS0018:
	.byte  0x41, 0x4C, 0x49, 0x47, 0x4E, 0x28, 0x34, 0x29
	.byte  0x00

DS0019:
	.byte  0x25, 0x72, 0x20, 0x64, 0x6F, 0x74, 0x6E, 0x61
	.byte  0x6D, 0x65, 0x00

DS001A:
	.byte  0x2E, 0x69, 0x64, 0x61, 0x74, 0x61, 0x24, 0x00

DS001B:
	.byte  0x25, 0x73, 0x32, 0x20, 0x25, 0x72, 0x20, 0x25
	.byte  0x72, 0x20, 0x25, 0x73, 0x0A, 0x64, 0x64, 0x20
	.byte  0x25, 0x72, 0x20, 0x40, 0x25, 0x73, 0x5F, 0x69
	.byte  0x6C, 0x74, 0x2C, 0x20, 0x30, 0x2C, 0x20, 0x30
	.byte  0x2C, 0x20, 0x25, 0x72, 0x20, 0x40, 0x25, 0x73
	.byte  0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x2C, 0x20, 0x25
	.byte  0x72, 0x20, 0x40, 0x25, 0x73, 0x5F, 0x69, 0x61
	.byte  0x74, 0x0A, 0x25, 0x73, 0x32, 0x20, 0x25, 0x72
	.byte  0x0A, 0x25, 0x73, 0x34, 0x20, 0x25, 0x72, 0x20
	.byte  0x25, 0x73, 0x20, 0x25, 0x73, 0x0A, 0x40, 0x25
	.byte  0x73, 0x5F, 0x69, 0x6C, 0x74, 0x20, 0x25, 0x72
	.byte  0x20, 0x25, 0x72, 0x00

DS001C:
	.byte  0x25, 0x72, 0x20, 0x25, 0x72, 0x20, 0x40, 0x25
	.byte  0x73, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x00

DS001D:
	.byte  0x25, 0x72, 0x20, 0x30, 0x0A, 0x25, 0x73, 0x34
	.byte  0x20, 0x25, 0x72, 0x0A, 0x25, 0x73, 0x35, 0x20
	.byte  0x25, 0x72, 0x20, 0x25, 0x73, 0x20, 0x25, 0x73
	.byte  0x0A, 0x40, 0x25, 0x73, 0x5F, 0x69, 0x61, 0x74
	.byte  0x20, 0x25, 0x72, 0x20, 0x25, 0x72, 0x00

DS001E:
	.byte  0x25, 0x73, 0x20, 0x25, 0x72, 0x20, 0x25, 0x72
	.byte  0x20, 0x40, 0x25, 0x73, 0x5F, 0x6E, 0x61, 0x6D
	.byte  0x65, 0x00

DS001F:
	.byte  0x25, 0x72, 0x20, 0x30, 0x0A, 0x25, 0x73, 0x35
	.byte  0x20, 0x25, 0x72, 0x0A, 0x25, 0x73, 0x36, 0x20
	.byte  0x25, 0x72, 0x20, 0x25, 0x72, 0x20, 0x25, 0x73
	.byte  0x00

DS0020:
	.byte  0x40, 0x25, 0x73, 0x5F, 0x6E, 0x61, 0x6D, 0x65
	.byte  0x20, 0x64, 0x77, 0x20, 0x30, 0x0A, 0x64, 0x62
	.byte  0x20, 0x27, 0x25, 0x73, 0x27, 0x2C, 0x30, 0x0A
	.byte  0x65, 0x76, 0x65, 0x6E, 0x00

DS0021:
	.byte  0x40, 0x25, 0x73, 0x5F, 0x6E, 0x61, 0x6D, 0x65
	.byte  0x20, 0x64, 0x62, 0x20, 0x27, 0x25, 0x73, 0x27
	.byte  0x2C, 0x30, 0x0A, 0x65, 0x76, 0x65, 0x6E, 0x0A
	.byte  0x25, 0x73, 0x36, 0x20, 0x25, 0x72, 0x00

DS0022:
	.byte  0x25, 0x73, 0x33, 0x20, 0x25, 0x72, 0x20, 0x25
	.byte  0x72, 0x20, 0x25, 0x73, 0x0A, 0x64, 0x64, 0x20
	.byte  0x30, 0x2C, 0x20, 0x30, 0x2C, 0x20, 0x30, 0x2C
	.byte  0x20, 0x30, 0x2C, 0x20, 0x30, 0x0A, 0x25, 0x73
	.byte  0x33, 0x20, 0x25, 0x72, 0x00

DS0023:
	.byte  0x2E, 0x65, 0x78, 0x65, 0x2E, 0x6D, 0x61, 0x6E
	.byte  0x69, 0x66, 0x65, 0x73, 0x74, 0x00

DS0024:
	.byte  0x77, 0x00

DS0025:
	.byte  0x3C, 0x3F, 0x78, 0x6D, 0x6C, 0x20, 0x76, 0x65
	.byte  0x72, 0x73, 0x69, 0x6F, 0x6E, 0x3D, 0x27, 0x31
	.byte  0x2E, 0x30, 0x27, 0x20, 0x65, 0x6E, 0x63, 0x6F
	.byte  0x64, 0x69, 0x6E, 0x67, 0x3D, 0x27, 0x55, 0x54
	.byte  0x46, 0x2D, 0x38, 0x27, 0x20, 0x73, 0x74, 0x61
	.byte  0x6E, 0x64, 0x61, 0x6C, 0x6F, 0x6E, 0x65, 0x3D
	.byte  0x27, 0x79, 0x65, 0x73, 0x27, 0x3F, 0x3E, 0x0A
	.byte  0x3C, 0x61, 0x73, 0x73, 0x65, 0x6D, 0x62, 0x6C
	.byte  0x79, 0x20, 0x78, 0x6D, 0x6C, 0x6E, 0x73, 0x3D
	.byte  0x27, 0x75, 0x72, 0x6E, 0x3A, 0x73, 0x63, 0x68
	.byte  0x65, 0x6D, 0x61, 0x73, 0x2D, 0x6D, 0x69, 0x63
	.byte  0x72, 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x2D, 0x63
	.byte  0x6F, 0x6D, 0x3A, 0x61, 0x73, 0x6D, 0x2E, 0x76
	.byte  0x31, 0x27, 0x20, 0x6D, 0x61, 0x6E, 0x69, 0x66
	.byte  0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69
	.byte  0x6F, 0x6E, 0x3D, 0x27, 0x31, 0x2E, 0x30, 0x27
	.byte  0x3E, 0x0A, 0x20, 0x20, 0x3C, 0x74, 0x72, 0x75
	.byte  0x73, 0x74, 0x49, 0x6E, 0x66, 0x6F, 0x20, 0x78
	.byte  0x6D, 0x6C, 0x6E, 0x73, 0x3D, 0x22, 0x75, 0x72
	.byte  0x6E, 0x3A, 0x73, 0x63, 0x68, 0x65, 0x6D, 0x61
	.byte  0x73, 0x2D, 0x6D, 0x69, 0x63, 0x72, 0x6F, 0x73
	.byte  0x6F, 0x66, 0x74, 0x2D, 0x63, 0x6F, 0x6D, 0x3A
	.byte  0x61, 0x73, 0x6D, 0x2E, 0x76, 0x33, 0x22, 0x3E
	.byte  0x0A, 0x20, 0x20, 0x20, 0x20, 0x3C, 0x73, 0x65
	.byte  0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x3E, 0x0A
	.byte  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3C, 0x72
	.byte  0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64
	.byte  0x50, 0x72, 0x69, 0x76, 0x69, 0x6C, 0x65, 0x67
	.byte  0x65, 0x73, 0x3E, 0x0A, 0x20, 0x20, 0x20, 0x20
	.byte  0x20, 0x20, 0x20, 0x20, 0x3C, 0x72, 0x65, 0x71
	.byte  0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x78
	.byte  0x65, 0x63, 0x75, 0x74, 0x69, 0x6F, 0x6E, 0x4C
	.byte  0x65, 0x76, 0x65, 0x6C, 0x20, 0x6C, 0x65, 0x76
	.byte  0x65, 0x6C, 0x3D, 0x27, 0x61, 0x73, 0x49, 0x6E
	.byte  0x76, 0x6F, 0x6B, 0x65, 0x72, 0x27, 0x20, 0x75
	.byte  0x69, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x3D
	.byte  0x27, 0x66, 0x61, 0x6C, 0x73, 0x65, 0x27, 0x20
	.byte  0x2F, 0x3E, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20
	.byte  0x20, 0x3C, 0x2F, 0x72, 0x65, 0x71, 0x75, 0x65
	.byte  0x73, 0x74, 0x65, 0x64, 0x50, 0x72, 0x69, 0x76
	.byte  0x69, 0x6C, 0x65, 0x67, 0x65, 0x73, 0x3E, 0x0A
	.byte  0x20, 0x20, 0x20, 0x20, 0x3C, 0x2F, 0x73, 0x65
	.byte  0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x3E, 0x0A
	.byte  0x20, 0x20, 0x3C, 0x2F, 0x74, 0x72, 0x75, 0x73
	.byte  0x74, 0x49, 0x6E, 0x66, 0x6F, 0x3E, 0x0A, 0x20
	.byte  0x20, 0x3C, 0x64, 0x65, 0x70, 0x65, 0x6E, 0x64
	.byte  0x65, 0x6E, 0x63, 0x79, 0x3E, 0x0A, 0x20, 0x20
	.byte  0x20, 0x20, 0x3C, 0x64, 0x65, 0x70, 0x65, 0x6E
	.byte  0x64, 0x65, 0x6E, 0x74, 0x41, 0x73, 0x73, 0x65
	.byte  0x6D, 0x62, 0x6C, 0x79, 0x3E, 0x0A, 0x20, 0x20
	.byte  0x20, 0x20, 0x20, 0x20, 0x3C, 0x61, 0x73, 0x73
	.byte  0x65, 0x6D, 0x62, 0x6C, 0x79, 0x49, 0x64, 0x65
	.byte  0x6E, 0x74, 0x69, 0x74, 0x79, 0x20, 0x25, 0x73
	.byte  0x20, 0x2F, 0x3E, 0x0A, 0x20, 0x20, 0x20, 0x20
	.byte  0x3C, 0x2F, 0x64, 0x65, 0x70, 0x65, 0x6E, 0x64
	.byte  0x65, 0x6E, 0x74, 0x41, 0x73, 0x73, 0x65, 0x6D
	.byte  0x62, 0x6C, 0x79, 0x3E, 0x0A, 0x20, 0x20, 0x3C
	.byte  0x2F, 0x64, 0x65, 0x70, 0x65, 0x6E, 0x64, 0x65
	.byte  0x6E, 0x63, 0x79, 0x3E, 0x0A, 0x3C, 0x2F, 0x61
	.byte  0x73, 0x73, 0x65, 0x6D, 0x62, 0x6C, 0x79, 0x3E
	.byte  0x0A, 0x00

DS0026:
	.byte  0x65, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73
	.byte  0x61, 0x77, 0x61, 0x72, 0x65, 0x00

DS0027:
	.byte  0x3A, 0x6E, 0x6F, 0x00

DS0028:
	.byte  0x79, 0x73, 0x74, 0x65, 0x6D, 0x3A, 0x00

DS0029:
	.byte  0x77, 0x69, 0x6E, 0x64, 0x6F, 0x77, 0x73, 0x00

DS002A:
	.byte  0x63, 0x6F, 0x6E, 0x73, 0x6F, 0x6C, 0x65, 0x00

DS002B:
	.byte  0x6E, 0x61, 0x74, 0x69, 0x76, 0x65, 0x00

DS002C:
	.byte  0x2E, 0x64, 0x72, 0x65, 0x63, 0x74, 0x76, 0x65
	.byte  0x00

DS002D:
	.byte  0x52, 0x45, 0x4C, 0x4F, 0x43, 0x00

DS002E:
	.byte  0x2E, 0x69, 0x64, 0x61, 0x74, 0x61, 0x24, 0x32
	.byte  0x00

DS002F:
	.byte  0x2E, 0x69, 0x64, 0x61, 0x74, 0x61, 0x24, 0x33
	.byte  0x00

DS0030:
	.byte  0x2E, 0x69, 0x64, 0x61, 0x74, 0x61, 0x24, 0x35
	.byte  0x00

DS0031:
	.byte  0x2E, 0x74, 0x6C, 0x73, 0x00

DS0032:
	.byte  0x2E, 0x70, 0x64, 0x61, 0x74, 0x61, 0x00

DS0033:
	.byte  0x42, 0x69, 0x6E, 0x61, 0x72, 0x79, 0x20, 0x4D
	.byte  0x61, 0x70, 0x3A, 0x00

DS0034:
	.byte  0x53, 0x65, 0x67, 0x6D, 0x65, 0x6E, 0x74, 0x20
	.byte  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20
	.byte  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20
	.byte  0x20, 0x50, 0x6F, 0x73, 0x28, 0x66, 0x69, 0x6C
	.byte  0x65, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x52
	.byte  0x56, 0x41, 0x20, 0x20, 0x53, 0x69, 0x7A, 0x65
	.byte  0x28, 0x66, 0x69, 0x6C, 0x29, 0x20, 0x53, 0x69
	.byte  0x7A, 0x65, 0x28, 0x6D, 0x65, 0x6D, 0x29, 0x00

DS0035:
	.byte  0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D
	.byte  0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D
	.byte  0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D
	.byte  0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D
	.byte  0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D
	.byte  0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D
	.byte  0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D
	.byte  0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x00

DS0036:
	.byte  0x25, 0x2D, 0x32, 0x34, 0x73, 0x20, 0x25, 0x38
	.byte  0x58, 0x20, 0x25, 0x38, 0x58, 0x20, 0x25, 0x39
	.byte  0x58, 0x20, 0x25, 0x39, 0x58, 0x00

DS0037:
	.byte  0x3C, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x3E
	.byte  0x00

DS0038:
	.byte  0x25, 0x2D, 0x34, 0x32, 0x73, 0x20, 0x25, 0x39
	.byte  0x58, 0x20, 0x25, 0x39, 0x58, 0x00

DS0039:
	.byte  0x20, 0x00


.att_syntax prefix
