// File: /workspace/github_c_makefile_star2_O3/Openvario[P]sensord/configfile_parser.c
// Function: cfgfile_parser
int cfgfile_parser(FILE *fp, t_ms5611 *static_sensor, t_ms5611 *tek_sensor, t_ams5915 *dynamic_sensor, t_ads1110 *voltage_sensor, t_ds2482 *temp_sensor, t_config *config)
{
	char line[70];
	char tmp[20],tmp2[20];
	float data;

	// is config file used ??
	if (fp)
	{
		// read whole config file
		while (! feof(fp))
		{
			// get line from config file
			if (fgets(line, 70, fp)!=NULL) {
				//fprintf(stderr, "getting line: '%69s'\n", line);

				// check if line is comment
				if((!(line[0] == '#')) && (!(line[0] == '\n')))
				{

					// get first config tag
					sscanf(line, "%19s", tmp);

					// check for output of POV_E sentence
					if (strcmp(tmp,"output_POV_E") == 0)
					{
						config->output_POV_E = 1;
						//fprintf(stderr, "OUTput POV_E enabled !! \n");
					}

					// check for output of POV_P_Q sentence
					if (strcmp(tmp,"output_POV_P_Q") == 0)
					{
						config->output_POV_P_Q = 1;
						//fprintf(stderr, "OUTput POV_P_Q enabled !! \n");
					}

					// check for output of POV_V sentence
					if (strcmp(tmp,"output_POV_V") == 0)
					{
						config->output_POV_V= 1;
						//fprintf(stderr, "OUTput POV_V enabled !! \n");
					}

					// check for output of POV_T sentence
					if (strcmp(tmp,"output_POV_T") == 0)
					{
						config->output_POV_T = 1;
						//fprintf(stderr, "OUTput POV_T enabled !! \n");
					}

				       // check for output of POV_H sentence
					if (strcmp(tmp,"output_POV_H") == 0)
					{
						config->output_POV_H = 1;
						//fprintf(stderr, "OUTput POV_H enabled !! \n");
					}

					// check for static_sensor
					if (strcmp(tmp,"static_sensor") == 0)
					{
						// get config data for static sensor
						sscanf(line, "%19s %f %f %hhx %hhu", tmp, &static_sensor->offset, &static_sensor->linearity, &static_sensor->address, &static_sensor->bus);
						static_sensor->offset*=16;
					}

					// check for temp_sensor_type
					if (strcmp(tmp,"temp_sensor_type") == 0)
					{
						// get config data for temp sensor type
						sscanf(line, "%19s %19s", tmp, tmp2);
						char *s = tmp2;
						while (*s) {
							*s = toupper((unsigned char) *s);
							s++;
						}
						if (!strcmp(tmp2,"AUTO")) temp_sensor->sensor_type=AUTO;
						else if (!strcmp(tmp2,"HTU21D")) temp_sensor->sensor_type=HTU21D;
							else if (!strcmp(tmp2,"HTU31D")) temp_sensor->sensor_type=HTU31D;
								else if (!strcmp(tmp2,"SHT85")) temp_sensor->sensor_type=SHT85;
									else if (!strcmp(tmp2,"SHT4X")) temp_sensor->sensor_type=SHT4X;
										else if (!strcmp(tmp2,"SI7021")) temp_sensor->sensor_type=SI7021;
											else if (!strcmp(tmp2,"DS18B20")) temp_sensor->sensor_type=DS18B20;
												else if (!strcmp(tmp2,"AM2321")) temp_sensor->sensor_type=AM2321;
													else fprintf(stderr, "Invalid sensor type.  Supported types are: auto, htu21d, htu31d, sht4x, sht85, si7021, ds18b20, and am2321 !!\n");
					}

					if (strcmp(tmp,"static_comp") == 0)
					{
						// get compensation data for static sensor
						sscanf(line, "%19s %lf %lf %lf",tmp, &static_sensor->comp2, &static_sensor->comp1, &static_sensor->comp0);
					}

					if (strcmp(tmp,"static_Pcomp") == 0)
					{
						// get pressure compensation data for static sensor
						sscanf(line, "%19s %lf %lf %lf",tmp, &static_sensor->Pcomp2, &static_sensor->Pcomp1, &static_sensor->Pcomp0);
					}

					// check for tek_sensor
					if (strcmp(tmp,"tek_sensor") == 0)
					{
						// get config data for tek sensor
						sscanf(line, "%19s %f %f %hhx %hhu", tmp, &tek_sensor->offset, &tek_sensor->linearity, &tek_sensor->address, &tek_sensor->bus);
						tek_sensor->offset*=16;
					}

					if (strcmp(tmp,"tek_comp") == 0)
					{
						// get compensation data for tek sensor
						sscanf (line, "%19s %lf %lf %lf",tmp, &tek_sensor->comp2, &tek_sensor->comp1, &tek_sensor->comp0);
					}

					if (strcmp(tmp,"tek_Pcomp") == 0)
					{
						// get pressure compensation data for tek sensor
						sscanf(line, "%19s %lf %lf %lf",tmp, &tek_sensor->Pcomp2, &tek_sensor->Pcomp1, &tek_sensor->Pcomp0);
					}

					// check for glitch watchdog_timing
					if (strcmp(tmp,"glitch_timing") == 0)
					{
						// get config data for glitch watchdog timer
						sscanf(line, "%19s %lf %lf %lf", tmp, &config->timing_log, &config->timing_mult, &config->timing_off);
					}

					// check for dynamic_sensor
					if (strcmp(tmp,"dynamic_sensor") == 0)
					{
						// get config data for dynamic sensor
						sscanf(line, "%19s %f %f", tmp, &dynamic_sensor->offset, &dynamic_sensor->linearity);
					}

					// check for vario config
					if (strcmp(tmp,"vario_config") == 0)
					{
						// get config data for dynamic sensor
						sscanf(line, "%19s %f", tmp, &config->vario_x_accel);
					}

					// check for voltage sensor config
					if (strcmp(tmp,"voltage_config") == 0)
					{
						// get config data for dynamic sensor
						sscanf(line, "%19s %f %f", tmp, &voltage_sensor->scale,&voltage_sensor->offset);
						voltage_sensor->scale=1.0/voltage_sensor->scale;
					}

					// check for temperature sensor config
					if (strcmp(tmp,"temp_databits") == 0) {
						// get config data for temperature sensor
						sscanf(line,"%19s %d",tmp, &temp_sensor->databits);
					}

					// check for temperature sensor sample rate
					if (strcmp(tmp,"temp_rate") == 0) {
						// get config data for temperature sensor sample rate
						sscanf (line,"%19s %f",tmp, &data);
						temp_sensor->rollover=((int)(round(80.0/data)));
						temp_sensor->maxrollover=temp_sensor->rollover+40;
						if (temp_sensor->maxrollover<100) temp_sensor->maxrollover=100;
					}

				}
			}

		}
		return(1);
	}
	else
	{
		// no config file used
		return (0);
	}
}

// Assembly:
testq %rdi, %rdi
je 0x6fca
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x178, %rsp            # imm = 0x178
movq %r9, %r12
movq %r8, %r13
movq %rcx, %r14
movq %rdx, %rbx
movq %rsi, %r15
movq %rdi, %rbp
callq 0x21e0
movl $0x1, %ecx
testl %eax, %eax
jne 0x6fd3
movl $0x90, %eax
leaq (%r15,%rax), %rcx
movq %rcx, 0x118(%rsp)
movl $0x8c, %ecx
leaq (%r15,%rcx), %rdx
movq %rdx, 0x108(%rsp)
leaq 0x4(%r15), %rdx
movq %rdx, 0x100(%rsp)
leaq 0x5(%r15), %rdx
movq %rdx, 0xf8(%rsp)
leaq 0x70(%r15), %rdx
movq %rdx, 0xf0(%rsp)
leaq 0x78(%r15), %rdx
movq %rdx, 0xe8(%rsp)
movl $0x80, %edx
leaq (%r15,%rdx), %rsi
movq %rsi, 0xd8(%rsp)
leaq 0x58(%r15), %rsi
movq %rsi, 0xd0(%rsp)
leaq 0x60(%r15), %rsi
movq %rsi, 0xc8(%rsp)
addq $0x68, %r15
movq %r15, 0x128(%rsp)
addq %rbx, %rax
movq %rax, 0x120(%rsp)
addq %rbx, %rcx
movq %rcx, 0x110(%rsp)
leaq 0x4(%rbx), %rax
movq %rax, 0xc0(%rsp)
leaq 0x5(%rbx), %rax
movq %rax, 0xb8(%rsp)
leaq 0x70(%rbx), %rax
movq %rax, 0xb0(%rsp)
addq %rbx, %rdx
movq %rdx, 0xe0(%rsp)
leaq 0x78(%rbx), %rax
movq %rax, 0xa8(%rsp)
leaq 0x58(%rbx), %rax
movq %rax, 0xa0(%rsp)
leaq 0x60(%rbx), %rax
movq %rax, 0x98(%rsp)
addq $0x68, %rbx
leaq 0x20(%r14), %rax
movq %rax, 0x90(%rsp)
addq $0x1c, %r14
movq 0x1b0(%rsp), %r15
leaq 0x10(%r15), %rax
movq %rax, 0x88(%rsp)
leaq 0x18(%r15), %rax
movq %rax, 0x80(%rsp)
leaq 0x20(%r15), %rax
movq %rax, 0x78(%rsp)
leaq 0x8(%r15), %rax
movq %rax, 0x70(%rsp)
leaq 0x4(%r13), %rax
movq %rax, 0x68(%rsp)
leaq 0x3c(%r12), %rax
movq %rax, 0x60(%rsp)
movq %rbx, 0x50(%rsp)
leaq 0x130(%rsp), %rdi
movl $0x46, %esi
movq %rbp, %rdx
callq 0x2190
testq %rax, %rax
je 0x6f5d
movzbl 0x130(%rsp), %eax
cmpl $0xa, %eax
je 0x6f5d
cmpl $0x23, %eax
je 0x6f5d
leaq 0x130(%rsp), %rdi
leaq 0x3da5(%rip), %rsi      # 0xa62c
leaq 0x10(%rsp), %rdx
xorl %eax, %eax
callq 0x2210
movq 0x10(%rsp), %rax
movabsq $0x505f74757074756f, %rdx # imm = 0x505F74757074756F
xorq %rdx, %rax
movq 0x15(%rsp), %rcx
movabsq $0x455f564f505f74, %rsi # imm = 0x455F564F505F74
xorq %rsi, %rcx
orq %rax, %rcx
jne 0x68c0
movb $0x1, (%r15)
movq 0x10(%rsp), %rax
xorq %rdx, %rax
movq 0x17(%rsp), %rcx
movabsq $0x515f505f564f50, %rsi # imm = 0x515F505F564F50
xorq %rsi, %rcx
orq %rax, %rcx
jne 0x68e4
movb $0x1, 0x1(%r15)
movq 0x10(%rsp), %rax
xorq %rdx, %rax
movq 0x15(%rsp), %rcx
movabsq $0x565f564f505f74, %rsi # imm = 0x565F564F505F74
xorq %rsi, %rcx
orq %rax, %rcx
jne 0x6908
movb $0x1, 0x2(%r15)
movq 0x10(%rsp), %rax
xorq %rdx, %rax
movq 0x15(%rsp), %rcx
movabsq $0x545f564f505f74, %rsi # imm = 0x545F564F505F74
xorq %rsi, %rcx
orq %rax, %rcx
jne 0x692c
movb $0x1, 0x3(%r15)
movq 0x10(%rsp), %rax
xorq %rdx, %rax
movq 0x15(%rsp), %rcx
movabsq $0x485f564f505f74, %rdx # imm = 0x485F564F505F74
xorq %rdx, %rcx
orq %rax, %rcx
jne 0x6950
movb $0x1, 0x4(%r15)
movq 0x10(%rsp), %rax
movabsq $0x735f636974617473, %rcx # imm = 0x735F636974617473
xorq %rcx, %rax
movq 0x16(%rsp), %rcx
movabsq $0x726f736e65735f, %rdx # imm = 0x726F736E65735F
xorq %rdx, %rcx
orq %rax, %rcx
jne 0x69ed
movq 0xf8(%rsp), %rax
movq %rax, (%rsp)
leaq 0x130(%rsp), %rdi
leaq 0x3c6d(%rip), %rsi      # 0xa601
leaq 0x10(%rsp), %rdx
movq %rbx, %r15
movq %r13, %rbx
movq %r12, %r13
movq %r14, %r12
movq 0x118(%rsp), %r14
movq %r14, %rcx
movq 0x108(%rsp), %r8
movq 0x100(%rsp), %r9
xorl %eax, %eax
callq 0x2210
movss (%r14), %xmm0
mulss 0x3bd0(%rip), %xmm0     # 0xa5a4
movss %xmm0, (%r14)
movq %r12, %r14
movq %r13, %r12
movq %rbx, %r13
movq %r15, %rbx
movq 0x1b0(%rsp), %r15
movq 0x18(%rsp), %rax
movabsq $0x657079745f726f73, %rcx # imm = 0x657079745F726F73
xorq %rcx, %rax
movq 0x10(%rsp), %rcx
movabsq $0x6e65735f706d6574, %rdx # imm = 0x6E65735F706D6574
xorq %rdx, %rcx
movzbl 0x20(%rsp), %edx
orq %rcx, %rdx
orq %rax, %rdx
jne 0x6b65
movq %r14, %rbx
movq %r13, %r14
movq %r12, %r13
leaq 0x130(%rsp), %rdi
leaq 0x3bed(%rip), %rsi      # 0xa627
leaq 0x10(%rsp), %rdx
leaq 0x30(%rsp), %rcx
xorl %eax, %eax
callq 0x2210
movb 0x30(%rsp), %r12b
testb %r12b, %r12b
je 0x6a77
callq 0x2030
leaq 0x31(%rsp), %rcx
movq (%rax), %rdx
movzbl %r12b, %esi
movb (%rdx,%rsi,4), %dl
movb %dl, -0x1(%rcx)
movb (%rcx), %r12b
incq %rcx
testb %r12b, %r12b
jne 0x6a5f
movl 0x30(%rsp), %eax
movl $0x4f545541, %ecx       # imm = 0x4F545541
xorl %ecx, %eax
movzbl 0x34(%rsp), %ecx
orl %eax, %ecx
je 0x6b4a
movl 0x30(%rsp), %eax
movl $0x32555448, %ecx       # imm = 0x32555448
xorl %ecx, %eax
movl 0x33(%rsp), %ecx
movl $0x443132, %edx         # imm = 0x443132
xorl %edx, %ecx
orl %eax, %ecx
movq %r13, %r12
je 0x6b54
movl 0x30(%rsp), %eax
movl $0x33555448, %ecx       # imm = 0x33555448
xorl %ecx, %eax
movl 0x33(%rsp), %ecx
movl $0x443133, %edx         # imm = 0x443133
xorl %edx, %ecx
orl %eax, %ecx
movq %r14, %r13
je 0x6f6f
movl 0x30(%rsp), %eax
movl $0x38544853, %ecx       # imm = 0x38544853
xorl %ecx, %eax
movzwl 0x34(%rsp), %ecx
xorl $0x35, %ecx
orl %eax, %ecx
movq %rbx, %r14
je 0x6f7a
movl 0x30(%rsp), %eax
movl $0x34544853, %ecx       # imm = 0x34544853
xorl %ecx, %eax
movzwl 0x34(%rsp), %ecx
xorl $0x58, %ecx
orl %eax, %ecx
movq 0x50(%rsp), %rbx
je 0x6f85
movl 0x30(%rsp), %eax
movl $0x30374953, %ecx       # imm = 0x30374953
xorl %ecx, %eax
movl 0x33(%rsp), %ecx
movl $0x313230, %edx         # imm = 0x313230
xorl %edx, %ecx
orl %eax, %ecx
je 0x6f90
movabsq $0x30324238315344, %rax # imm = 0x30324238315344
cmpq %rax, 0x30(%rsp)
jne 0x6f9b
movb $0x4, 0x30(%r12)
jmp 0x6b65
movq %r13, %r12
movb $0x0, 0x30(%r13)
jmp 0x6b5a
movb $0x1, 0x30(%r12)
movq %r14, %r13
movq %rbx, %r14
movq 0x50(%rsp), %rbx
movq 0x10(%rsp), %rax
movabsq $0x635f636974617473, %rcx # imm = 0x635F636974617473
xorq %rcx, %rax
movl 0x18(%rsp), %ecx
xorq $0x706d6f, %rcx         # imm = 0x706D6F
orq %rax, %rcx
jne 0x6bba
leaq 0x130(%rsp), %rdi
leaq 0x3b43(%rip), %rsi      # 0xa6d9
leaq 0x10(%rsp), %rdx
movq 0xf0(%rsp), %rcx
movq 0xe8(%rsp), %r8
movq 0xd8(%rsp), %r9
xorl %eax, %eax
callq 0x2210
movq 0x10(%rsp), %rax
movabsq $0x505f636974617473, %rcx # imm = 0x505F636974617473
xorq %rcx, %rax
movq 0x15(%rsp), %rcx
movabsq $0x706d6f63505f63, %rdx # imm = 0x706D6F63505F63
xorq %rdx, %rcx
orq %rax, %rcx
jne 0x6c16
leaq 0x130(%rsp), %rdi
leaq 0x3ae7(%rip), %rsi      # 0xa6d9
leaq 0x10(%rsp), %rdx
movq 0xd0(%rsp), %rcx
movq 0xc8(%rsp), %r8
movq 0x128(%rsp), %r9
xorl %eax, %eax
callq 0x2210
movq 0x10(%rsp), %rax
movabsq $0x736e65735f6b6574, %rcx # imm = 0x736E65735F6B6574
xorq %rcx, %rax
movq 0x13(%rsp), %rcx
movabsq $0x726f736e65735f, %rdx # imm = 0x726F736E65735F
xorq %rdx, %rcx
orq %rax, %rcx
jne 0x6cb3
movq 0xb8(%rsp), %rax
movq %rax, (%rsp)
leaq 0x130(%rsp), %rdi
leaq 0x39a7(%rip), %rsi      # 0xa601
leaq 0x10(%rsp), %rdx
movq %rbx, %r15
movq %r13, %rbx
movq %r12, %r13
movq %r14, %r12
movq 0x120(%rsp), %r14
movq %r14, %rcx
movq 0x110(%rsp), %r8
movq 0xc0(%rsp), %r9
xorl %eax, %eax
callq 0x2210
movss (%r14), %xmm0
mulss 0x390a(%rip), %xmm0     # 0xa5a4
movss %xmm0, (%r14)
movq %r12, %r14
movq %r13, %r12
movq %rbx, %r13
movq %r15, %rbx
movq 0x1b0(%rsp), %r15
movq 0x10(%rsp), %rax
movabsq $0x706d6f635f6b6574, %rcx # imm = 0x706D6F635F6B6574
xorq %rcx, %rax
movzbl 0x18(%rsp), %ecx
orq %rax, %rcx
jne 0x6d02
leaq 0x130(%rsp), %rdi
leaq 0x39fb(%rip), %rsi      # 0xa6d9
leaq 0x10(%rsp), %rdx
movq 0xb0(%rsp), %rcx
movq 0xa8(%rsp), %r8
movq 0xe0(%rsp), %r9
xorl %eax, %eax
callq 0x2210
movq 0x10(%rsp), %rax
movabsq $0x6d6f63505f6b6574, %rcx # imm = 0x6D6F63505F6B6574
xorq %rcx, %rax
movzwl 0x18(%rsp), %ecx
xorq $0x70, %rcx
orq %rax, %rcx
jne 0x6d50
leaq 0x130(%rsp), %rdi
leaq 0x39a8(%rip), %rsi      # 0xa6d9
leaq 0x10(%rsp), %rdx
movq 0xa0(%rsp), %rcx
movq 0x98(%rsp), %r8
movq %rbx, %r9
xorl %eax, %eax
callq 0x2210
movq 0x10(%rsp), %rax
movabsq $0x745f686374696c67, %rcx # imm = 0x745F686374696C67
xorq %rcx, %rax
movq 0x16(%rsp), %rcx
movabsq $0x676e696d69745f, %rdx # imm = 0x676E696D69745F
xorq %rdx, %rcx
orq %rax, %rcx
jne 0x6da9
leaq 0x130(%rsp), %rdi
leaq 0x3951(%rip), %rsi      # 0xa6d9
leaq 0x10(%rsp), %rdx
movq 0x88(%rsp), %rcx
movq 0x80(%rsp), %r8
movq 0x78(%rsp), %r9
xorl %eax, %eax
callq 0x2210
movq 0x10(%rsp), %rax
movabsq $0x5f63696d616e7964, %rcx # imm = 0x5F63696D616E7964
xorq %rcx, %rax
movq 0x17(%rsp), %rcx
movabsq $0x726f736e65735f, %rdx # imm = 0x726F736E65735F
xorq %rdx, %rcx
orq %rax, %rcx
jne 0x6df8
leaq 0x130(%rsp), %rdi
leaq 0x3951(%rip), %rsi      # 0xa732
leaq 0x10(%rsp), %rdx
movq 0x90(%rsp), %rcx
movq %r14, %r8
xorl %eax, %eax
callq 0x2210
movq 0x10(%rsp), %rax
movabsq $0x6f635f6f69726176, %rcx # imm = 0x6F635F6F69726176
xorq %rcx, %rax
movq 0x15(%rsp), %rcx
movabsq $0x6769666e6f635f, %rdx # imm = 0x6769666E6F635F
xorq %rdx, %rcx
orq %rax, %rcx
jne 0x6e4b
leaq 0x130(%rsp), %rdi
leaq 0x391a(%rip), %rsi      # 0xa74a
leaq 0x10(%rsp), %rdx
movq 0x70(%rsp), %rcx
xorl %eax, %eax
callq 0x2210
movabsq $0x6769666e6f635f, %rdx # imm = 0x6769666E6F635F
movq 0x10(%rsp), %rax
movabsq $0x5f656761746c6f76, %rcx # imm = 0x5F656761746C6F76
xorq %rcx, %rax
movq 0x17(%rsp), %rcx
xorq %rdx, %rcx
orq %rax, %rcx
jne 0x6ea1
leaq 0x130(%rsp), %rdi
leaq 0x38b9(%rip), %rsi      # 0xa732
leaq 0x10(%rsp), %rdx
movq %r13, %rcx
movq 0x68(%rsp), %r8
xorl %eax, %eax
callq 0x2210
movss 0x26f3(%rip), %xmm0     # 0x9588
divss (%r13), %xmm0
movss %xmm0, (%r13)
movq 0x10(%rsp), %rax
movabsq $0x7461645f706d6574, %rcx # imm = 0x7461645F706D6574
xorq %rcx, %rax
movq 0x16(%rsp), %rcx
movabsq $0x73746962617461, %rdx # imm = 0x73746962617461
xorq %rdx, %rcx
orq %rax, %rcx
jne 0x6eea
leaq 0x130(%rsp), %rdi
leaq 0x3896(%rip), %rsi      # 0xa76f
leaq 0x10(%rsp), %rdx
movq 0x60(%rsp), %rcx
xorl %eax, %eax
callq 0x2210
movq 0x10(%rsp), %rax
movabsq $0x7461725f706d6574, %rcx # imm = 0x7461725F706D6574
xorq %rcx, %rax
movzwl 0x18(%rsp), %ecx
xorq $0x65, %rcx
orq %rax, %rcx
jne 0x6f5d
leaq 0x130(%rsp), %rdi
leaq 0x3831(%rip), %rsi      # 0xa74a
leaq 0x10(%rsp), %rdx
leaq 0x5c(%rsp), %rcx
xorl %eax, %eax
callq 0x2210
cvtss2sd 0x5c(%rsp), %xmm1
movsd 0x3670(%rip), %xmm0     # 0xa5a8
divsd %xmm1, %xmm0
callq 0x2050
cvttsd2si %xmm0, %eax
movl %eax, 0x48(%r12)
leal 0x28(%rax), %ecx
cmpl $0x3c, %eax
movl $0x64, %eax
cmovll %eax, %ecx
movl %ecx, 0x4c(%r12)
movq %rbp, %rdi
callq 0x21e0
testl %eax, %eax
je 0x6840
jmp 0x6fce
movb $0x2, 0x30(%r12)
jmp 0x6b5d
movb $0x7, 0x30(%r12)
jmp 0x6b60
movb $0x6, 0x30(%r12)
jmp 0x6b65
movb $0x3, 0x30(%r12)
jmp 0x6b65
movl 0x30(%rsp), %eax
movl $0x33324d41, %ecx       # imm = 0x33324D41
xorl %ecx, %eax
movl 0x33(%rsp), %ecx
movl $0x313233, %edx         # imm = 0x313233
xorl %edx, %ecx
orl %eax, %ecx
jne 0x6fc0
movb $0x5, 0x30(%r12)
jmp 0x6b65
callq 0x368f
jmp 0x6b65
xorl %ecx, %ecx
jmp 0x6fe4
movl $0x1, %ecx
addq $0x178, %rsp            # imm = 0x178
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
movl %ecx, %eax
retq
nop