// File: /workspace/github_c_makefile_star2_O3/j-hoppe[P]tu58fs/main.c
// Function: main
int main(int argc, char *argv[]) {

	error_clear();
	ferr = stdout; // ferr in Eclipse console not visible?

	tu58images_init();

	parse_commandline(argc, argv);
	// returns only if everything is OK
	// Std options already executed

	// some debug info
	if (opt_debug) {
		info(version);
		info(copyright);
	}

	// some warnings
	check_capabilities();

	// give some info
	info("Using serial port %s at %d baud with %d%c%d format.", opt_serial_port,
			opt_serial_speed, opt_serial_bitcount, opt_serial_parity, opt_serial_stopbits);

	if (drive_count == 0) {
		info("No simulated drives were specified, emulator not started.");
	} else {
		// emulation: must have opened at least one unit

		if (opt_mrspen)
			info("MRSP mode enabled (NOT fully tested - use with caution)");

		// setup serial and console ports
		serial_devinit(&tu58_serial, opt_serial_port, opt_serial_speed, opt_serial_bitcount,
				opt_serial_parity, opt_serial_stopbits);
		coninit(0); // normal without echo

		// start thread with tu58 emulator
		run_emulator();

		// restore serial and console ports
		conrestore();
		serial_devrestore(&tu58_serial);

		// write back unsaved files and close
		tu58images_closeall();
	}

	// boot loader?
	if (opt_boot_monitor == monitor_showcode) {
		bootloader_show_code(stdout, opt_boot_address);
	} else if (opt_boot_monitor != monitor_none) {
		int res;
		serial_device_t monitor_serial; // PDP-11 console
		serial_devinit(&monitor_serial, opt_serial_port, opt_serial_speed, opt_serial_bitcount,
				opt_serial_parity, opt_serial_stopbits);
		coninit(1); // host console, raw: no processing of PDP-11 I/O

		// download, and echo to console
		res = bootloader_download(&monitor_serial, opt_boot_monitor, opt_boot_address);
		if (!res)
			res = bootloader_go(&monitor_serial, opt_boot_monitor, opt_boot_address);
		// no error

		if (opt_boot_keep) {
			if (res) {
				run_teletype(&monitor_serial, opt_boot_monitor,
						"PDP-11 does not respond. Use this teletype session to verify console prompt.");
			} else
				// interactive tty terminal on PDP-11 monitor port
				run_teletype(&monitor_serial, opt_boot_monitor, NULL);
		}

		// restore serial and console ports
		conrestore();
		serial_devrestore(&monitor_serial);
	}
	return 0 ;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x2568, %rsp           # imm = 0x2568
movq %rsi, %rbx
movl %edi, %ebp
callq 0x9f68
movq 0x18498(%rip), %r13     # 0x1bfd0
movq (%r13), %rax
leaq 0x1a6ed(%rip), %rcx     # 0x1e230
movq %rax, (%rcx)
callq 0x66b4
leaq 0x18f3e(%rip), %r14     # 0x1ca90
movq %r14, %rdi
movl $0x1, %esi
callq 0x50f0
movl $0x0, 0x18f27(%rip)     # 0x1ca90
xorps %xmm0, %xmm0
movups %xmm0, 0x18(%rsp)
movups %xmm0, 0x8(%rsp)
leaq 0xf32e(%rip), %rax      # 0x12eab
movq %rax, (%rsp)
leaq 0x13165(%rip), %rsi     # 0x16ced
leaq 0xf317(%rip), %rdx      # 0x12ea6
xorl %r12d, %r12d
movq %r14, %rdi
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x5116
xorps %xmm0, %xmm0
movups %xmm0, 0x18(%rsp)
movups %xmm0, 0x8(%rsp)
leaq 0xf309(%rip), %rax      # 0x12ebf
movq %rax, (%rsp)
leaq 0x12bbd(%rip), %rsi     # 0x1677e
leaq 0xf2ef(%rip), %rdx      # 0x12eb7
movq %r14, %rdi
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x5116
xorps %xmm0, %xmm0
movups %xmm0, 0x18(%rsp)
movups %xmm0, 0x8(%rsp)
leaq 0xf2f4(%rip), %rax      # 0x12ee0
movq %rax, (%rsp)
leaq 0xf2df(%rip), %rsi      # 0x12ed6
leaq 0xf2dc(%rip), %rdx      # 0x12eda
movq %r14, %rdi
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x5116
xorps %xmm0, %xmm0
movups %xmm0, 0x18(%rsp)
movups %xmm0, 0x8(%rsp)
leaq 0xf2e6(%rip), %rax      # 0x12f08
movq %rax, (%rsp)
leaq 0x13461(%rip), %rsi     # 0x1708e
leaq 0xf2cc(%rip), %rdx      # 0x12f00
movq %r14, %rdi
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x5116
xorps %xmm0, %xmm0
movups %xmm0, 0x18(%rsp)
movups %xmm0, 0x8(%rsp)
leaq 0xf2d8(%rip), %rax      # 0x12f30
movq %rax, (%rsp)
leaq 0x11496(%rip), %rsi     # 0x150f9
leaq 0xf2c1(%rip), %rdx      # 0x12f2b
movq %r14, %rdi
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x5116
xorps %xmm0, %xmm0
movups %xmm0, 0x18(%rsp)
movups %xmm0, 0x8(%rsp)
leaq 0xf2d2(%rip), %rax      # 0x12f60
movq %rax, (%rsp)
leaq 0x133cd(%rip), %rsi     # 0x17066
leaq 0xf2b9(%rip), %rdx      # 0x12f59
movq %r14, %rdi
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x5116
xorps %xmm0, %xmm0
movups %xmm0, 0x18(%rsp)
movups %xmm0, 0x8(%rsp)
leaq 0xf2d2(%rip), %rax      # 0x12f96
movq %rax, (%rsp)
leaq 0x11bd1(%rip), %rsi     # 0x158a0
leaq 0xf2bc(%rip), %rdx      # 0x12f92
movq %r14, %rdi
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x5116
xorps %xmm0, %xmm0
movups %xmm0, 0x18(%rsp)
movups %xmm0, 0x8(%rsp)
leaq 0xf2e0(%rip), %rax      # 0x12fda
movq %rax, (%rsp)
leaq 0xf2c7(%rip), %rsi      # 0x12fcc
leaq 0xf2c3(%rip), %rdx      # 0x12fcf
movq %r14, %rdi
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x5116
xorps %xmm0, %xmm0
movups %xmm0, 0x18(%rsp)
movups %xmm0, 0x8(%rsp)
leaq 0xf2f1(%rip), %rax      # 0x13021
movq %rax, (%rsp)
leaq 0x1018e(%rip), %rsi     # 0x13ec9
leaq 0xf2ce(%rip), %rdx      # 0x13010
leaq 0xf2ce(%rip), %rcx      # 0x13017
movq %r14, %rdi
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x5116
xorps %xmm0, %xmm0
movups %xmm0, 0x18(%rsp)
movups %xmm0, 0x8(%rsp)
leaq 0xf335(%rip), %rax      # 0x130a0
movq %rax, (%rsp)
leaq 0x132f4(%rip), %rsi     # 0x1706a
leaq 0xf314(%rip), %rcx      # 0x13091
leaq 0xf316(%rip), %r9       # 0x1309a
movq %r14, %rdi
movq %rcx, %rdx
xorl %r8d, %r8d
callq 0x5116
xorps %xmm0, %xmm0
movups %xmm0, 0x18(%rsp)
leaq 0xf44c(%rip), %rax      # 0x131ed
movq %rax, 0x10(%rsp)
leaq 0xf43c(%rip), %rax      # 0x131e9
movq %rax, 0x8(%rsp)
leaq 0xf32a(%rip), %rax      # 0x130e3
movq %rax, (%rsp)
leaq 0xf308(%rip), %rsi      # 0x130cc
leaq 0x100f9(%rip), %rdx     # 0x13ec4
leaq 0xf2fc(%rip), %rcx      # 0x130ce
leaq 0xf306(%rip), %r9       # 0x130df
movq %r14, %rdi
xorl %r8d, %r8d
callq 0x5116
xorps %xmm0, %xmm0
movups %xmm0, 0x18(%rsp)
movups %xmm0, 0x8(%rsp)
leaq 0xf43c(%rip), %rax      # 0x13234
movq %rax, (%rsp)
leaq 0xf490(%rip), %rsi      # 0x13293
leaq 0xf417(%rip), %rdx      # 0x13221
leaq 0xf415(%rip), %rcx      # 0x13226
movq %r14, %rdi
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x5116
xorps %xmm0, %xmm0
movups %xmm0, 0x18(%rsp)
movups %xmm0, 0x8(%rsp)
leaq 0xf462(%rip), %rax      # 0x13295
movq %rax, (%rsp)
leaq 0xf44f(%rip), %rsi      # 0x1328d
leaq 0xf44b(%rip), %rdx      # 0x13290
movq %r14, %rdi
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x5116
xorps %xmm0, %xmm0
movups %xmm0, 0x18(%rsp)
movups %xmm0, 0x8(%rsp)
leaq 0xf4b6(%rip), %rax      # 0x1331f
movq %rax, (%rsp)
leaq 0xe2b1(%rip), %rsi      # 0x12125
leaq 0xf49f(%rip), %rdx      # 0x1331a
movq %r14, %rdi
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x5116
xorps %xmm0, %xmm0
movups %xmm0, 0x18(%rsp)
leaq 0xf5ee(%rip), %rax      # 0x13488
movq %rax, 0x10(%rsp)
leaq 0xf5de(%rip), %rax      # 0x13484
movq %rax, 0x8(%rsp)
leaq 0xf49f(%rip), %rax      # 0x13351
movq %rax, (%rsp)
leaq 0xf9e3(%rip), %rsi      # 0x138a0
leaq 0x1258e(%rip), %rcx     # 0x16452
movq %r14, %rdi
movq %rcx, %rdx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x5116
xorps %xmm0, %xmm0
movups %xmm0, 0x18(%rsp)
leaq 0xf748(%rip), %rax      # 0x1362c
movq %rax, 0x10(%rsp)
leaq 0xf72d(%rip), %rax      # 0x1361d
movq %rax, 0x8(%rsp)
leaq 0xf5d0(%rip), %rax      # 0x134cc
movq %rax, (%rsp)
leaq 0x12171(%rip), %rsi     # 0x16078
leaq 0x112e4(%rip), %rdx     # 0x151f2
leaq 0xf597(%rip), %rcx      # 0x134ac
movq %r14, %rdi
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x5116
xorps %xmm0, %xmm0
movups %xmm0, 0x18(%rsp)
leaq 0xf839(%rip), %rax      # 0x1376b
movq %rax, 0x10(%rsp)
leaq 0xf810(%rip), %rax      # 0x1374e
movq %rax, 0x8(%rsp)
leaq 0xf73b(%rip), %rax      # 0x13685
movq %rax, (%rsp)
leaq 0xf6ff(%rip), %rsi      # 0x13654
leaq 0xf6fb(%rip), %rdx      # 0x13657
leaq 0xf701(%rip), %rcx      # 0x13664
movq %r14, %rdi
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x5116
xorps %xmm0, %xmm0
movups %xmm0, 0x18(%rsp)
movups %xmm0, 0x8(%rsp)
leaq 0xf818(%rip), %rax      # 0x1379d
movq %rax, (%rsp)
leaq 0x124f1(%rip), %rsi     # 0x16481
leaq 0xf7fa(%rip), %rdx      # 0x13791
leaq 0xfdd9(%rip), %rcx      # 0x13d77
leaq 0x11b34(%rip), %r9      # 0x15ad9
movq %r14, %rdi
xorl %r8d, %r8d
callq 0x5116
callq 0xbcf1
leaq 0xf824(%rip), %rsi      # 0x137e0
leaq 0x2160(%rsp), %r15
movq %r15, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0x3530
xorps %xmm0, %xmm0
movups %xmm0, 0x18(%rsp)
movups %xmm0, 0x8(%rsp)
movq %r15, (%rsp)
leaq 0xf8b9(%rip), %rsi      # 0x138a2
leaq 0xf8b5(%rip), %rdx      # 0x138a5
leaq 0xf8b5(%rip), %rcx      # 0x138ac
movq %r14, %rdi
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x5116
callq 0xbcf1
leaq 0xf8b7(%rip), %rsi      # 0x138c8
movq %r15, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0x3530
xorps %xmm0, %xmm0
movups %xmm0, 0x18(%rsp)
movups %xmm0, 0x8(%rsp)
movq %r15, (%rsp)
leaq 0xf964(%rip), %rsi      # 0x1399a
leaq 0xf86a(%rip), %rdx      # 0x138a7
leaq 0xf959(%rip), %rcx      # 0x1399d
movq %r14, %rdi
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x5116
xorps %xmm0, %xmm0
movups %xmm0, 0x18(%rsp)
movups %xmm0, 0x8(%rsp)
leaq 0xf965(%rip), %rax      # 0x139cb
movq %rax, (%rsp)
leaq 0xf948(%rip), %rdx      # 0x139b9
leaq 0xf946(%rip), %rcx      # 0x139be
leaq 0xf947(%rip), %r8       # 0x139c6
movq %r14, %rdi
movq %rdx, %rsi
xorl %r9d, %r9d
callq 0x5116
xorps %xmm0, %xmm0
movups %xmm0, 0x18(%rsp)
movups %xmm0, 0x8(%rsp)
leaq 0xfcde(%rip), %rax      # 0x13d7f
movq %rax, (%rsp)
leaq 0xfcba(%rip), %rsi      # 0x13d66
leaq 0xfcb6(%rip), %rdx      # 0x13d69
leaq 0xfcb8(%rip), %rcx      # 0x13d72
movq %r14, %rdi
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x5116
cmpl $0x1, %ebp
jle 0x4f1b
movl %r12d, 0x19b90(%rip)    # 0x1dc68
movb $0x0, 0x18881(%rip)     # 0x1c960
movl %r12d, 0x189a2(%rip)    # 0x1ca88
leaq 0x189a3(%rip), %rdi     # 0x1ca90
movl %ebp, %esi
movq %rbx, %rdx
callq 0x580b
testl %eax, %eax
jle 0x4b71
leaq 0x1898a(%rip), %rbx     # 0x1ca90
leaq 0xed99(%rip), %r14      # 0x12ea6
leaq 0xeda3(%rip), %r15      # 0x12eb7
leaq 0xedbf(%rip), %r12      # 0x12eda
leaq 0xedde(%rip), %r13      # 0x12f00
leaq 0x181f7(%rip), %rbp     # 0x1c320
movq $0x0, 0x40(%rsp)
movl $0x0, 0x3c(%rsp)
movq %rbx, %rdi
movq %r14, %rsi
callq 0x53af
testl %eax, %eax
jne 0x4f1b
movq %rbx, %rdi
movq %r15, %rsi
callq 0x53af
testl %eax, %eax
je 0x416b
movq %rbp, %rdi
xorl %eax, %eax
callq 0xa10f
jmp 0x4299
movq %rbx, %rdi
movq %r12, %rsi
callq 0x53af
testl %eax, %eax
je 0x4189
movl $0x1, 0x188f0(%rip)     # 0x1ca74
jmp 0x4299
movq %rbx, %rdi
movq %r13, %rsi
callq 0x53af
testl %eax, %eax
je 0x41a7
movl $0x1, 0x188c2(%rip)     # 0x1ca64
jmp 0x4299
movq %rbx, %rdi
leaq 0xed7a(%rip), %rsi      # 0x12f2b
callq 0x53af
testl %eax, %eax
je 0x41c9
movl $0x1, 0x188a8(%rip)     # 0x1ca6c
jmp 0x4299
movq %rbx, %rdi
leaq 0xed86(%rip), %rsi      # 0x12f59
callq 0x53af
testl %eax, %eax
je 0x41eb
movl $0x1, 0x1888a(%rip)     # 0x1ca70
jmp 0x4299
movq %rbx, %rdi
leaq 0xed9d(%rip), %rsi      # 0x12f92
callq 0x53af
testl %eax, %eax
je 0x420d
movl $0x1, 0x18870(%rip)     # 0x1ca78
jmp 0x4299
movq %rbx, %rdi
leaq 0xf57a(%rip), %rsi      # 0x13791
callq 0x53af
movq %rbx, %rdi
testl %eax, %eax
je 0x423f
leaq 0xfb4d(%rip), %rsi      # 0x13d77
leaq 0x1884f(%rip), %rdx     # 0x1ca80
callq 0x5b99
testl %eax, %eax
jns 0x4299
jmp 0x4f20
leaq 0xed89(%rip), %rsi      # 0x12fcf
callq 0x53af
testl %eax, %eax
je 0x425b
movl $0x1, 0x18823(%rip)     # 0x1ca7c
jmp 0x4299
movq %rbx, %rdi
leaq 0xedab(%rip), %rsi      # 0x13010
callq 0x53af
movq %rbx, %rdi
testl %eax, %eax
je 0x42ae
leaq 0xed9f(%rip), %rsi      # 0x13017
leaq 0x187e9(%rip), %rdx     # 0x1ca68
callq 0x5b99
testl %eax, %eax
js 0x4f20
cmpl $0x3, 0x187d5(%rip)     # 0x1ca68
jge 0x4f6b
movq %rbx, %rdi
callq 0x5438
testl %eax, %eax
jg 0x413a
jmp 0x4b6a
leaq 0xeddc(%rip), %rsi      # 0x13091
callq 0x53af
movq %rbx, %rdi
testl %eax, %eax
je 0x42d4
leaq 0xedc9(%rip), %rsi      # 0x13091
leaq 0x18791(%rip), %rdx     # 0x1ca60
jmp 0x4231
leaq 0xfbe9(%rip), %rsi      # 0x13ec4
callq 0x53af
movq %rbx, %rdi
testl %eax, %eax
je 0x4337
leaq 0xede0(%rip), %rsi      # 0x130ce
leaq 0x160(%rsp), %rdx
movl $0x50, %ecx
callq 0x59fb
testl %eax, %eax
js 0x4f20
leaq 0x160(%rsp), %rdi
leaq 0x17fe9(%rip), %rsi     # 0x1c300
leaq 0x17fe6(%rip), %rdx     # 0x1c304
leaq 0x17fe3(%rip), %rcx     # 0x1c308
callq 0x85ed
testl %eax, %eax
je 0x4299
jmp 0x4f74
leaq 0xeee3(%rip), %rsi      # 0x13221
callq 0x53af
movq %rbx, %rdi
testl %eax, %eax
je 0x4367
leaq 0xeed5(%rip), %rsi      # 0x13226
leaq 0x18608(%rip), %rdx     # 0x1c960
movl $0x100, %ecx            # imm = 0x100
callq 0x59fb
jmp 0x4236
leaq 0xef22(%rip), %rsi      # 0x13290
callq 0x53af
testl %eax, %eax
je 0x4384
movl $0x1, 0x3c(%rsp)
jmp 0x4299
movq %rbx, %rdi
leaq 0xef8c(%rip), %rsi      # 0x1331a
callq 0x53af
testl %eax, %eax
je 0x43a4
movl $0x2, 0x3c(%rsp)
jmp 0x4299
movq %rbx, %rdi
leaq 0x120a4(%rip), %rsi     # 0x16452
callq 0x53af
movq %rbx, %rdi
testl %eax, %eax
je 0x445b
leaq 0x1208d(%rip), %rsi     # 0x16452
leaq 0x160(%rsp), %rdx
movl $0x100, %ecx            # imm = 0x100
callq 0x59fb
testl %eax, %eax
js 0x4f20
leaq 0x160(%rsp), %rdi
leaq 0xfadd(%rip), %rsi      # 0x13ecb
callq 0x3060
testl %eax, %eax
je 0x452a
leaq 0x160(%rsp), %rdi
callq 0x3190
movq %rax, 0x40(%rsp)
callq 0x3030
movq (%rax), %rax
movq 0x40(%rsp), %rcx
decl %ecx
movslq %ecx, %rcx
addq %rsp, %rcx
addq $0x160, %rcx            # imm = 0x160
movq %rcx, 0x30(%rsp)
movsbq (%rcx), %rcx
movl (%rax,%rcx,4), %eax
cmpl $0x4b, %eax
je 0x4538
movl $0x1, %ecx
movq %rcx, 0x40(%rsp)
cmpl $0x4d, %eax
jne 0x454a
movl $0x100000, %eax         # imm = 0x100000
jmp 0x453d
leaq 0x10d90(%rip), %rsi     # 0x151f2
callq 0x53af
testl %eax, %eax
jne 0x4482
movq %rbx, %rdi
leaq 0xf1e2(%rip), %rsi      # 0x13657
callq 0x53af
testl %eax, %eax
je 0x4670
movq %rbx, %rdi
leaq 0xf1cb(%rip), %rsi      # 0x13657
callq 0x53af
movl %eax, 0x30(%rsp)
movq %rbx, %rdi
leaq 0xfa3f(%rip), %rsi      # 0x13ede
leaq 0x1160(%rsp), %rdx
callq 0x5b99
testl %eax, %eax
js 0x4f20
cmpl $0x8, 0x1160(%rsp)
jae 0x4f7d
movq %rbx, %rdi
leaq 0xfa2f(%rip), %rsi      # 0x13efb
leaq 0x160(%rsp), %rdx
movl $0x1000, %ecx           # imm = 0x1000
callq 0x59fb
testl %eax, %eax
js 0x4f20
callq 0x3030
movq (%rax), %rax
movsbq 0x160(%rsp), %rcx
movl (%rax,%rcx,4), %eax
cmpl $0x43, %eax
je 0x458e
cmpl $0x52, %eax
je 0x45a0
cmpl $0x57, %eax
jne 0x4f90
movl $0x0, 0x50(%rsp)
movl $0x0, 0x48(%rsp)
jmp 0x45b0
movq $0x0, 0x40(%rsp)
jmp 0x4299
movl $0x400, %eax            # imm = 0x400
movq %rax, 0x40(%rsp)
movq 0x30(%rsp), %rax
movb $0x0, (%rax)
leaq 0x160(%rsp), %rdi
leaq 0x1160(%rsp), %rsi
xorl %edx, %edx
callq 0x3330
movq 0x40(%rsp), %rcx
imull %eax, %ecx
movq %rcx, 0x40(%rsp)
testl %ecx, %ecx
je 0x4f99
movq 0x30(%rsp), %rax
cmpq %rax, 0x1160(%rsp)
je 0x4299
jmp 0x4f99
movl $0x0, 0x48(%rsp)
movl $0x1, 0x50(%rsp)
jmp 0x45b0
movl $0x1, 0x48(%rsp)
movl $0x0, 0x50(%rsp)
cmpl $0x0, 0x30(%rsp)
je 0x45e7
movq %rbx, %rdi
leaq 0x1082b(%rip), %rsi     # 0x14dec
leaq 0x160(%rsp), %rdx
movl $0x1000, %ecx           # imm = 0x1000
callq 0x59fb
testl %eax, %eax
js 0x4f20
cmpl $0x0, 0x3c(%rsp)
jne 0x460b
jmp 0x4fae
movq %rbx, %rdi
leaq 0xeed2(%rip), %rsi      # 0x134c3
leaq 0x160(%rsp), %rdx
movl $0x1000, %ecx           # imm = 0x1000
callq 0x59fb
testl %eax, %eax
js 0x4f20
movl 0x1160(%rsp), %edi
movq 0x40(%rsp), %rsi
callq 0x66d4
movl 0x1160(%rsp), %edi
callq 0x6710
movq %rax, %rdi
movl 0x30(%rsp), %esi
movl 0x48(%rsp), %edx
movl 0x50(%rsp), %ecx
leaq 0x160(%rsp), %r8
movl 0x3c(%rsp), %r9d
callq 0x7ae5
testl %eax, %eax
js 0x4f20
movl 0x1160(%rsp), %edi
callq 0x6710
movq %rax, %rdi
callq 0x7e3a
incl 0x195fd(%rip)           # 0x1dc68
jmp 0x4299
movq %rbx, %rdi
leaq 0xf22b(%rip), %rsi      # 0x138a5
callq 0x53af
movq %rbx, %rdi
testl %eax, %eax
je 0x483c
leaq 0xee32(%rip), %rsi      # 0x134c3
leaq 0x160(%rsp), %rdx
movl $0x1000, %ecx           # imm = 0x1000
callq 0x59fb
testl %eax, %eax
js 0x4f20
movq %rbx, %rdi
leaq 0xf8a0(%rip), %rsi      # 0x13f55
leaq 0x1160(%rsp), %rdx
movl $0x1000, %ecx           # imm = 0x1000
callq 0x59fb
testl %eax, %eax
js 0x4f20
movq %rbx, %rdi
leaq 0xf2d5(%rip), %rsi      # 0x139ae
leaq 0x60(%rsp), %rdx
movl $0x100, %ecx            # imm = 0x100
callq 0x59fb
testl %eax, %eax
js 0x4f20
leaq 0x60(%rsp), %rdi
callq 0xbca3
movl %eax, 0x30(%rsp)
cmpl $0x0, 0x3c(%rsp)
je 0x4fae
cmpl $0x0, 0x30(%rsp)
je 0x4fa2
cmpl $0x0, 0x40(%rsp)
setne %al
cmpl $0x1, 0x30(%rsp)
setne %cl
andb %al, %cl
cmpb $0x1, %cl
je 0x4fba
movl 0x30(%rsp), %edi
movl $0xff, %esi
movq 0x40(%rsp), %rdx
callq 0x79d8
movq %rax, 0x50(%rsp)
movq %rax, %rdi
xorl %esi, %esi
xorl %edx, %edx
xorl %ecx, %ecx
leaq 0x160(%rsp), %r8
movl 0x3c(%rsp), %r9d
callq 0x7ae5
testl %eax, %eax
je 0x4774
leaq 0xf833(%rip), %rdi      # 0x13fa0
xorl %eax, %eax
callq 0xa2d7
movq 0x50(%rsp), %rax
movq 0x118(%rax), %rcx
movl 0x110(%rax), %r8d
movq 0xf8(%rax), %r9
movl 0x3c(%rsp), %edi
movl 0x30(%rsp), %esi
xorl %edx, %edx
callq 0xb66f
movq %rax, 0x30(%rsp)
movq %rax, %rdi
callq 0xb7b1
testl %eax, %eax
je 0x47bc
leaq 0xf7fd(%rip), %rdi      # 0x13fb2
xorl %eax, %eax
callq 0xa2d7
xorl %edi, %edi
leaq 0x1160(%rsp), %rsi
movq 0x30(%rsp), %rdx
callq 0x934d
movq %rax, 0x48(%rsp)
movq %rax, %rdi
movl $0x1, %esi
movl $0x1, %edx
xorl %ecx, %ecx
callq 0x8c78
testl %eax, %eax
je 0x47fb
leaq 0xf7d6(%rip), %rdi      # 0x13fca
xorl %eax, %eax
callq 0xa2d7
movq 0x48(%rsp), %rdi
callq 0x8f9b
leaq 0x19a24(%rip), %rax     # 0x1e230
movq (%rax), %rsi
movq 0x30(%rsp), %rdi
callq 0xbbcd
leaq 0xf7c1(%rip), %rdi      # 0x13fe1
leaq 0x160(%rsp), %rsi
leaq 0x1160(%rsp), %rdx
xorl %eax, %eax
callq 0xa10f
jmp 0x4a0f
leaq 0xf064(%rip), %rsi      # 0x138a7
callq 0x53af
movq %rbx, %rdi
testl %eax, %eax
je 0x4a32
leaq 0xec69(%rip), %rsi      # 0x134c3
leaq 0x160(%rsp), %rdx
movl $0x1000, %ecx           # imm = 0x1000
callq 0x59fb
testl %eax, %eax
js 0x4f20
movq %rbx, %rdi
leaq 0xf6d7(%rip), %rsi      # 0x13f55
leaq 0x1160(%rsp), %rdx
movl $0x1000, %ecx           # imm = 0x1000
callq 0x59fb
testl %eax, %eax
js 0x4f20
movq %rbx, %rdi
leaq 0xf10c(%rip), %rsi      # 0x139ae
leaq 0x60(%rsp), %rdx
movl $0x100, %ecx            # imm = 0x100
callq 0x59fb
testl %eax, %eax
js 0x4f20
leaq 0x60(%rsp), %rdi
callq 0xbca3
testl %eax, %eax
je 0x4fa2
cmpl $0x0, 0x3c(%rsp)
je 0x4fae
movl %eax, %edx
cmpl $0x0, 0x40(%rsp)
sete %al
cmpl $0x1, %edx
sete %cl
orb %al, %cl
je 0x4fba
movl %edx, %edi
movl %edx, 0x30(%rsp)
movl $0xff, %esi
movq 0x40(%rsp), %rdx
callq 0x79d8
movq 0x118(%rax), %rcx
movq %rax, 0x50(%rsp)
movl 0x110(%rax), %r8d
movl 0x3c(%rsp), %edi
movl 0x30(%rsp), %esi
xorl %edx, %edx
xorl %r9d, %r9d
callq 0xb66f
xorl %edi, %edi
leaq 0x1160(%rsp), %rsi
movq %rax, 0x30(%rsp)
movq %rax, %rdx
callq 0x934d
movq %rax, 0x48(%rsp)
movq %rax, %rdi
xorl %esi, %esi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x8c78
testl %eax, %eax
je 0x4964
leaq 0xf66d(%rip), %rdi      # 0x13fca
xorl %eax, %eax
callq 0xa2d7
movq 0x48(%rsp), %rdi
callq 0x90c4
testl %eax, %eax
je 0x4980
leaq 0xf697(%rip), %rdi      # 0x14010
xorl %eax, %eax
callq 0xa2d7
movq 0x30(%rsp), %rdi
callq 0xbb46
testl %eax, %eax
je 0x499c
leaq 0xf694(%rip), %rdi      # 0x14029
xorl %eax, %eax
callq 0xa2d7
leaq 0x1988d(%rip), %rax     # 0x1e230
movq (%rax), %rsi
movq 0x30(%rsp), %rdi
callq 0xbbcd
leaq 0x160(%rsp), %rdi
leaq 0x1276a(%rip), %rsi     # 0x17129
callq 0x34b0
movq %rax, 0x58(%rsp)
testq %rax, %rax
jne 0x49e4
leaq 0xf66d(%rip), %rdi      # 0x14042
leaq 0x160(%rsp), %rsi
xorl %eax, %eax
callq 0xa2d7
movq 0x50(%rsp), %rax
movq 0x118(%rax), %rdi
movl 0x110(%rax), %edx
movl $0x1, %esi
movq 0x58(%rsp), %rcx
callq 0x3550
movq 0x58(%rsp), %rdi
callq 0x3150
movq 0x30(%rsp), %rdi
callq 0xb724
movq 0x48(%rsp), %rdi
callq 0x939e
movq 0x50(%rsp), %rdi
callq 0x8391
jmp 0x4299
leaq 0xef80(%rip), %rsi      # 0x139b9
callq 0x53af
movq %rbx, %rdi
testl %eax, %eax
je 0x4af8
leaq 0xef6e(%rip), %rsi      # 0x139be
leaq 0x160(%rsp), %rdx
movl $0x100, %ecx            # imm = 0x100
callq 0x59fb
testl %eax, %eax
js 0x4f20
leaq 0xf5e8(%rip), %rdi      # 0x14059
leaq 0x160(%rsp), %rsi
callq 0x3060
testl %eax, %eax
je 0x4b22
leaq 0xf5d1(%rip), %rdi      # 0x1405e
leaq 0x160(%rsp), %rsi
callq 0x3060
testl %eax, %eax
je 0x4b3b
leaq 0xf5b9(%rip), %rdi      # 0x14062
leaq 0x160(%rsp), %rsi
callq 0x3060
testl %eax, %eax
je 0x4b42
leaq 0xf5a3(%rip), %rdi      # 0x14068
leaq 0x160(%rsp), %rsi
callq 0x3060
testl %eax, %eax
je 0x4b49
leaq 0xf591(%rip), %rdi      # 0x1406e
leaq 0x160(%rsp), %rsi
callq 0x3060
movl $0x5, %ecx
testl %eax, %eax
je 0x4b4e
jmp 0x4fc6
leaq 0xf26a(%rip), %rsi      # 0x13d69
callq 0x53af
testl %eax, %eax
je 0x4299
movq %rbx, %rdi
leaq 0xf25c(%rip), %rsi      # 0x13d72
leaq 0x17f67(%rip), %rdx     # 0x1ca84
jmp 0x4231
movl $0x1, 0x17f5c(%rip)     # 0x1ca88
movl $0x0, 0x17f56(%rip)     # 0x1ca8c
jmp 0x4299
movl $0x2, %ecx
jmp 0x4b4e
movl $0x3, %ecx
jmp 0x4b4e
movl $0x4, %ecx
movl %ecx, 0x17f34(%rip)     # 0x1ca88
movq %rbx, %rdi
leaq 0xee68(%rip), %rsi      # 0x139c6
leaq 0x17f27(%rip), %rdx     # 0x1ca8c
jmp 0x4231
movq 0x1745f(%rip), %r13     # 0x1bfd0
leal 0x3(%rax), %ecx
cmpl $0x1, %ecx
jbe 0x4f20
testl %eax, %eax
js 0x4f29
cmpl $0x0, 0x17ee8(%rip)     # 0x1ca74
je 0x4baa
leaq 0x1778b(%rip), %rdi     # 0x1c320
xorl %eax, %eax
callq 0xa10f
leaq 0x177dd(%rip), %rdi     # 0x1c380
xorl %eax, %eax
callq 0xa10f
movl 0x190b8(%rip), %eax     # 0x1dc68
testl %eax, %eax
jle 0x4bd1
cmpl $0x0, 0x17ecd(%rip)     # 0x1ca88
je 0x4bd1
leaq 0xf51e(%rip), %rdi      # 0x140e2
xorl %eax, %eax
callq 0xa2d7
movl 0x19097(%rip), %eax     # 0x1dc68
testl %eax, %eax
setg %cl
movb 0x17d84(%rip), %al      # 0x1c960
testb %al, %al
sete %dl
andb %cl, %dl
cmpb $0x1, %dl
jne 0x4bfc
leaq 0xf527(%rip), %rdi      # 0x14116
xorl %eax, %eax
callq 0xa2d7
movb 0x17d64(%rip), %al      # 0x1c960
cmpl $0x2, 0x17e85(%rip)     # 0x1ca88
jb 0x4c17
testb %al, %al
jne 0x4c17
leaq 0xf53c(%rip), %rdi      # 0x1414c
xorl %eax, %eax
callq 0xa2d7
cmpl $0x0, 0x1904a(%rip)     # 0x1dc68
jle 0x4c37
cmpl $0x8, 0x176d9(%rip)     # 0x1c300
je 0x4c37
leaq 0xf558(%rip), %rdi      # 0x14188
xorl %eax, %eax
callq 0xa2d7
xorl %edi, %edi
callq 0x6710
testq %rax, %rax
je 0x4c73
cmpl $0x1, 0x10c(%rax)
jne 0x4c73
movq 0xe8(%rax), %rcx
movl 0xf0(%rax), %edx
imull 0x18(%rcx), %edx
cmpl %edx, 0x110(%rax)
je 0x4c73
leaq 0xf554(%rip), %rdi      # 0x141c0
xorl %eax, %eax
callq 0xa1f3
movl $0x2, %ebx
leaq 0xf578(%rip), %r14      # 0x141f7
movl %ebx, %edi
callq 0x6710
testq %rax, %rax
je 0x4ca0
cmpl $0x2, 0x10c(%rax)
jne 0x4ca0
movq %r14, %rdi
movl %ebx, %esi
xorl %eax, %eax
callq 0xa1f3
incl %ebx
cmpl $0x8, %ebx
jne 0x4c7f
leaq 0xf585(%rip), %rbx      # 0x14233
xorl %r14d, %r14d
xorl %ebp, %ebp
movl %ebp, %edi
callq 0x6710
testq %rax, %rax
je 0x4cde
movl 0x10c(%rax), %eax
testl %r14d, %r14d
je 0x4cdb
cmpl %eax, %r14d
je 0x4cde
movq %rbx, %rdi
xorl %eax, %eax
callq 0xa2d7
jmp 0x4cde
movl %eax, %r14d
incl %ebp
cmpl $0x8, %ebp
jne 0x4cb3
leaq 0xf577(%rip), %rbx      # 0x14263
xorl %r14d, %r14d
xorl %ebp, %ebp
movl %ebp, %edi
callq 0x6710
testq %rax, %rax
je 0x4d25
cmpl $0x2, 0x10c(%rax)
jne 0x4d25
movl 0x110(%rax), %eax
testl %r14d, %r14d
je 0x4d22
cmpl %eax, %r14d
je 0x4d25
movq %rbx, %rdi
xorl %eax, %eax
callq 0xa1f3
jmp 0x4d25
movl %eax, %r14d
incl %ebp
cmpl $0x8, %ebp
jne 0x4cf1
xorl %edi, %edi
callq 0x6710
testq %rax, %rax
je 0x4d6e
cmpl $0x2, 0x10c(%rax)
jne 0x4d6e
movq 0xe8(%rax), %rcx
movl 0xf0(%rax), %edx
imull 0x18(%rcx), %edx
cmpl %edx, 0x110(%rax)
je 0x4d6e
cmpl $0x0, 0x3c(%rax)
jne 0x4d6e
leaq 0xf52d(%rip), %rdi      # 0x14294
xorl %eax, %eax
callq 0xa1f3
movl 0x17cec(%rip), %edx     # 0x1ca60
movl 0x17586(%rip), %ecx     # 0x1c300
movsbl 0x17582(%rip), %r8d     # 0x1c304
movl 0x1757f(%rip), %r9d     # 0x1c308
leaq 0xd4fa(%rip), %rdi      # 0x1228a
leaq 0x17bc9(%rip), %rsi     # 0x1c960
xorl %eax, %eax
callq 0xa10f
cmpl $0x0, 0x18ec3(%rip)     # 0x1dc68
je 0x4e0f
cmpl $0x0, 0x17cbe(%rip)     # 0x1ca6c
je 0x4dbe
leaq 0xd541(%rip), %rdi      # 0x122f8
xorl %eax, %eax
callq 0xa10f
movl 0x17c9c(%rip), %edx     # 0x1ca60
movl 0x17536(%rip), %ecx     # 0x1c300
movsbl 0x17532(%rip), %r8d     # 0x1c304
movl 0x1752f(%rip), %r9d     # 0x1c308
leaq 0x190e8(%rip), %rbx     # 0x1dec8
leaq 0x17b79(%rip), %rsi     # 0x1c960
movq %rbx, %rdi
callq 0x867d
xorl %edi, %edi
callq 0x8989
callq 0x38a7
callq 0x8a6e
movq %rbx, %rdi
callq 0x8966
callq 0x671f
jmp 0x4e1d
leaq 0xd4a8(%rip), %rdi      # 0x122be
xorl %eax, %eax
callq 0xa10f
movl 0x17c65(%rip), %eax     # 0x1ca88
testl %eax, %eax
je 0x4ef5
cmpl $0x1, %eax
jne 0x4e44
movq (%r13), %rdi
movl 0x174d6(%rip), %esi     # 0x1c310
callq 0x11310
jmp 0x4ef5
movl 0x17c16(%rip), %edx     # 0x1ca60
movl 0x174b0(%rip), %ecx     # 0x1c300
movsbl 0x174ac(%rip), %r8d     # 0x1c304
movl 0x174a9(%rip), %r9d     # 0x1c308
leaq 0x17afa(%rip), %rsi     # 0x1c960
leaq 0x160(%rsp), %rbx
movq %rbx, %rdi
callq 0x867d
movl $0x1, %edi
callq 0x8989
movl 0x17c02(%rip), %esi     # 0x1ca88
movl 0x17484(%rip), %edx     # 0x1c310
movq %rbx, %rdi
callq 0x11389
testl %eax, %eax
je 0x4ea3
cmpl $0x0, 0x17bed(%rip)     # 0x1ca8c
jne 0x4ec9
jmp 0x4ee3
movl 0x17bdf(%rip), %esi     # 0x1ca88
movl 0x17461(%rip), %edx     # 0x1c310
leaq 0x160(%rsp), %rdi
callq 0x1143b
cmpl $0x0, 0x17bc9(%rip)     # 0x1ca8c
je 0x4ee3
testl %eax, %eax
je 0x4f09
movl 0x17bb9(%rip), %esi     # 0x1ca88
leaq 0xd45a(%rip), %rdx      # 0x12330
leaq 0x160(%rsp), %rdi
callq 0x114bc
callq 0x8a6e
leaq 0x160(%rsp), %rdi
callq 0x8966
xorl %eax, %eax
addq $0x2568, %rsp           # imm = 0x2568
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl 0x17b79(%rip), %esi     # 0x1ca88
leaq 0x160(%rsp), %rdi
xorl %edx, %edx
jmp 0x4ede
callq 0x36dc
xorl %edi, %edi
xorl %eax, %eax
callq 0x4fdc
leaq 0x19300(%rip), %rbx     # 0x1e230
movq (%rbx), %rcx
leaq 0xf186(%rip), %rdi      # 0x140c0
movl $0x21, %esi
movl $0x1, %edx
callq 0x3550
movq (%rbx), %rdi
leaq 0x10e89(%rip), %rsi     # 0x15ddc
leaq 0x181ba(%rip), %rdx     # 0x1d114
xorl %eax, %eax
callq 0x3310
movl $0x1, %edi
callq 0x3540
leaq 0xef3b(%rip), %rdi      # 0x13ead
jmp 0x4f22
leaq 0xef41(%rip), %rdi      # 0x13ebc
jmp 0x4f22
leaq 0xef5f(%rip), %rdi      # 0x13ee3
movl $0x8, %esi
xorl %eax, %eax
callq 0x4fdc
leaq 0xef76(%rip), %rdi      # 0x13f0d
jmp 0x4f22
leaq 0xef2f(%rip), %rdi      # 0x13ecf
jmp 0x4f22
leaq 0xefb4(%rip), %rdi      # 0x13f5d
jmp 0x4f22
leaq 0xef82(%rip), %rdi      # 0x13f37
jmp 0x4f22
leaq 0xefac(%rip), %rdi      # 0x13f6d
jmp 0x4f22
leaq 0xf0a6(%rip), %rdi      # 0x14073
leaq 0x160(%rsp), %rsi
xorl %eax, %eax
callq 0x4fdc