// File: /workspace/github_c_makefile_star2_O2/intel[P]pf-bb-config/vrb1/vrb1_cfg_parser.c
// Function: vrb1_handler
static int
vrb1_handler(void *user, const char *section,
	    const char *name, const char *value)
{
	struct vrb1_conf *vrb1_conf = (struct vrb1_conf *) user;
	int ret = 1, index;

	if (!strcmp(section, MODE) && !strcmp(name, PFMODE)) {
		if (!strcmp(value, ZERO))
			vrb1_conf->pf_mode_en = false;
		else if (!strcmp(value, ONE))
			vrb1_conf->pf_mode_en = true;
		else
			ret = 0;
	} else if (!strcmp(section, LLR_SIGN) &&
			!strcmp(name, INPUT_POS_LLR_1_BIT)) {
		if (!strcmp(value, ZERO))
			vrb1_conf->input_pos_llr_1_bit = false;
		else if (!strcmp(value, ONE))
			vrb1_conf->input_pos_llr_1_bit = true;
		else
			ret = 0;
	} else if (!strcmp(section, LLR_SIGN) &&
			!strcmp(name, OUTPUT_POS_LLR_1_BIT)) {
		if (!strcmp(value, ZERO))
			vrb1_conf->output_pos_llr_1_bit = false;
		else if (!strcmp(value, ONE))
			vrb1_conf->output_pos_llr_1_bit = true;
		else
			ret = 0;
	} else if (!strcmp(section, VFBUNDLES) &&
			!strcmp(name, NUMVF_BUNDLES)) {
		ret = parse_number16(value, &vrb1_conf->num_vf_bundles);
	} else if (!strcmp(section, MAXQSIZE) &&
			!strcmp(name, MAX_QUEUE_SIZE)) {
		/* MAX_QUEUE_SIZE is not used. Keep it for parsing purposes */
	} else if (!strcmp(section, QUL4G) && !strcmp(name, NUM_QGROUPS)) {
		ret = parse_number16(value, &vrb1_conf->q_ul_4g.num_qgroups);
	} else if (!strcmp(section, QUL4G) &&
			!strcmp(name, NUM_AQS_PER_GROUPS)) {
		ret = parse_number16(value,
				&vrb1_conf->q_ul_4g.num_aqs_per_groups);
	} else if (!strcmp(section, QUL4G) && !strcmp(name, AQ_DEPTH_LOG2)) {
		ret = parse_number16(value,
				&vrb1_conf->q_ul_4g.aq_depth_log2);
	} else if (!strcmp(section, QDL4G) && !strcmp(name, NUM_QGROUPS)) {
		ret = parse_number16(value, &vrb1_conf->q_dl_4g.num_qgroups);
	} else if (!strcmp(section, QDL4G) &&
			!strcmp(name, NUM_AQS_PER_GROUPS)) {
		ret = parse_number16(value,
				&vrb1_conf->q_dl_4g.num_aqs_per_groups);
	} else if (!strcmp(section, QDL4G) && !strcmp(name, AQ_DEPTH_LOG2)) {
		ret = parse_number16(value,
				&vrb1_conf->q_dl_4g.aq_depth_log2);
	} else if (!strcmp(section, QUL5G) && !strcmp(name, NUM_QGROUPS)) {
		ret = parse_number16(value, &vrb1_conf->q_ul_5g.num_qgroups);
	} else if (!strcmp(section, QUL5G) &&
			!strcmp(name, NUM_AQS_PER_GROUPS)) {
		ret = parse_number16(value,
				&vrb1_conf->q_ul_5g.num_aqs_per_groups);
	} else if (!strcmp(section, QUL5G) && !strcmp(name, AQ_DEPTH_LOG2)) {
		ret = parse_number16(value,
				&vrb1_conf->q_ul_5g.aq_depth_log2);
	} else if (!strcmp(section, QDL5G) && !strcmp(name, NUM_QGROUPS)) {
		ret = parse_number16(value, &vrb1_conf->q_dl_5g.num_qgroups);
	} else if (!strcmp(section, QDL5G) &&
			!strcmp(name, NUM_AQS_PER_GROUPS)) {
		ret = parse_number16(value,
				&vrb1_conf->q_dl_5g.num_aqs_per_groups);
	} else if (!strcmp(section, QDL5G) && !strcmp(name, AQ_DEPTH_LOG2)) {
		ret = parse_number16(value,
				&vrb1_conf->q_dl_5g.aq_depth_log2);
	} else if (!strcmp(section, QFFT) && !strcmp(name, NUM_QGROUPS)) {
		ret = parse_number16(value, &vrb1_conf->q_fft.num_qgroups);
	} else if (!strcmp(section, QFFT) &&
			!strcmp(name, NUM_AQS_PER_GROUPS)) {
		ret = parse_number16(value,
				&vrb1_conf->q_fft.num_aqs_per_groups);
	} else if (!strcmp(section, QFFT) && !strcmp(name, AQ_DEPTH_LOG2)) {
		ret = parse_number16(value,
				&vrb1_conf->q_fft.aq_depth_log2);
	} else if (strstr(section, ARBUL4G) &&
			!strcmp(name, ROUND_ROBIN_WEIGHT)) {
		index = parse_item_no(section, ARBUL4G);
		ret = parse_number16(value,
			&vrb1_conf->arb_ul_4g[index].round_robin_weight);
	} else if (strstr(section, ARBUL4G) && !strcmp(name, GBR_THRSH1)) {
		index = parse_item_no(section, ARBUL4G);
		ret = parse_number32(value,
				&vrb1_conf->arb_ul_4g[index].gbr_threshold1);
	} else if (strstr(section, ARBUL4G) && !strcmp(name, GBR_THRSH2)) {
		index = parse_item_no(section, ARBUL4G);
		ret = parse_number32(value,
				&vrb1_conf->arb_ul_4g[index].gbr_threshold2);
	} else if (strstr(section, ARBDL4G) &&
			!strcmp(name, ROUND_ROBIN_WEIGHT)) {
		index = parse_item_no(section, ARBDL4G);
		ret = parse_number16(value,
			&vrb1_conf->arb_dl_4g[index].round_robin_weight);
	} else if (strstr(section, ARBDL4G) && !strcmp(name, GBR_THRSH1)) {
		index = parse_item_no(section, ARBDL4G);
		ret = parse_number32(value,
				&vrb1_conf->arb_dl_4g[index].gbr_threshold1);
	} else if (strstr(section, ARBDL4G) && !strcmp(name, GBR_THRSH2)) {
		index = parse_item_no(section, ARBDL4G);
		ret = parse_number32(value,
				&vrb1_conf->arb_dl_4g[index].gbr_threshold2);
	} else if (strstr(section, ARBUL5G) &&
			!strcmp(name, ROUND_ROBIN_WEIGHT)) {
		index = parse_item_no(section, ARBUL5G);
		ret = parse_number16(value,
			&vrb1_conf->arb_ul_5g[index].round_robin_weight);
	} else if (strstr(section, ARBUL5G) && !strcmp(name, GBR_THRSH1)) {
		index = parse_item_no(section, ARBUL5G);
		ret = parse_number32(value,
				&vrb1_conf->arb_ul_5g[index].gbr_threshold1);
	} else if (strstr(section, ARBUL5G) && !strcmp(name, GBR_THRSH2)) {
		index = parse_item_no(section, ARBUL5G);
		ret = parse_number32(value,
				&vrb1_conf->arb_ul_5g[index].gbr_threshold2);
	} else if (strstr(section, ARBDL5G) &&
			!strcmp(name, ROUND_ROBIN_WEIGHT)) {
		index = parse_item_no(section, ARBDL5G);
		ret = parse_number16(value,
			&vrb1_conf->arb_dl_5g[index].round_robin_weight);
	} else if (strstr(section, ARBDL5G) && !strcmp(name, GBR_THRSH1)) {
		index = parse_item_no(section, ARBDL5G);
		ret = parse_number32(value,
				&vrb1_conf->arb_dl_5g[index].gbr_threshold1);
	} else if (strstr(section, ARBDL5G) && !strcmp(name, GBR_THRSH2)) {
		index = parse_item_no(section, ARBDL5G);
		ret = parse_number32(value,
				&vrb1_conf->arb_dl_5g[index].gbr_threshold2);
	} else if (strstr(section, ARBFFT) &&
			!strcmp(name, ROUND_ROBIN_WEIGHT)) {
		index = parse_item_no(section, ARBFFT);
		ret = parse_number16(value,
			&vrb1_conf->arb_fft[index].round_robin_weight);
	} else if (strstr(section, ARBFFT) && !strcmp(name, GBR_THRSH1)) {
		index = parse_item_no(section, ARBFFT);
		ret = parse_number32(value,
				&vrb1_conf->arb_fft[index].gbr_threshold1);
	} else if (strstr(section, ARBFFT) && !strcmp(name, GBR_THRSH2)) {
		index = parse_item_no(section, ARBFFT);
		ret = parse_number32(value,
				&vrb1_conf->arb_fft[index].gbr_threshold2);
	} else {
		printf("ERROR: section (%s) or name (%s) is not valid\n",
			section, name);
		ret = 0;
	}

	if (ret != 1)
		printf("ERROR: Conversion of value (%s) failed\n", value);


	return ret;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rcx, %rbx
movq %rdx, %r12
movq %rsi, %r15
movq %rdi, %r14
leaq 0x8f8e(%rip), %rsi      # 0x1bbe3
movq %r15, %rdi
callq 0xd200
pushq $0x1
popq %rbp
testl %eax, %eax
jne 0x12c7b
leaq 0x8f7d(%rip), %rsi      # 0x1bbe8
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0x12fda
leaq 0x8f71(%rip), %rsi      # 0x1bbf3
movq %r15, %rdi
callq 0xd200
testl %eax, %eax
je 0x12f32
leaq 0x8f8c(%rip), %rsi      # 0x1bc25
movq %r15, %rdi
callq 0xd200
testl %eax, %eax
jne 0x12cbc
leaq 0x8f83(%rip), %rsi      # 0x1bc2f
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0x130cd
leaq 0x8f7b(%rip), %rsi      # 0x1bc3e
movq %r15, %rdi
callq 0xd200
testl %eax, %eax
jne 0x12ce6
leaq 0x8f71(%rip), %rsi      # 0x1bc47
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0x13289
leaq 0x8f69(%rip), %rsi      # 0x1bc56
movq %r15, %rdi
callq 0xd200
testl %eax, %eax
je 0x12f8c
leaq 0x8f85(%rip), %rsi      # 0x1bc89
movq %r15, %rdi
callq 0xd200
testl %eax, %eax
je 0x13005
leaq 0x8f74(%rip), %rsi      # 0x1bc8f
movq %r15, %rdi
callq 0xd200
testl %eax, %eax
je 0x1307f
leaq 0x8f63(%rip), %rsi      # 0x1bc95
movq %r15, %rdi
callq 0xd200
testl %eax, %eax
je 0x130df
leaq 0x9c87(%rip), %rsi      # 0x1c9d0
movq %r15, %rdi
callq 0xd200
testl %eax, %eax
je 0x13136
leaq 0x8f3b(%rip), %rsi      # 0x1bc9b
movq %r15, %rdi
callq 0xd430
testq %rax, %rax
je 0x12db2
leaq 0x8f2f(%rip), %rsi      # 0x1bca3
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0x131e9
leaq 0x8f2b(%rip), %rsi      # 0x1bcb6
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0x13217
leaq 0x8f23(%rip), %rsi      # 0x1bcc5
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0x1329a
leaq 0x8f1b(%rip), %rsi      # 0x1bcd4
movq %r15, %rdi
callq 0xd430
testq %rax, %rax
je 0x12e0b
leaq 0x8ed6(%rip), %rsi      # 0x1bca3
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0x13239
leaq 0x8ed2(%rip), %rsi      # 0x1bcb6
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0x132bc
leaq 0x8eca(%rip), %rsi      # 0x1bcc5
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0x13306
leaq 0x8eca(%rip), %rsi      # 0x1bcdc
movq %r15, %rdi
callq 0xd430
testq %rax, %rax
je 0x12e64
leaq 0x8e7d(%rip), %rsi      # 0x1bca3
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0x132e1
leaq 0x8e79(%rip), %rsi      # 0x1bcb6
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0x1332b
leaq 0x8e71(%rip), %rsi      # 0x1bcc5
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0x13372
leaq 0x8e79(%rip), %rsi      # 0x1bce4
movq %r15, %rdi
callq 0xd430
testq %rax, %rax
je 0x12ebd
leaq 0x8e24(%rip), %rsi      # 0x1bca3
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0x13350
leaq 0x8e20(%rip), %rsi      # 0x1bcb6
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0x13397
leaq 0x8e18(%rip), %rsi      # 0x1bcc5
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0x133e4
leaq 0x9b11(%rip), %rsi      # 0x1c9d5
movq %r15, %rdi
callq 0xd430
testq %rax, %rax
je 0x12f16
leaq 0x8dcb(%rip), %rsi      # 0x1bca3
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0x133bc
leaq 0x8dc7(%rip), %rsi      # 0x1bcb6
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0x13406
leaq 0x8dbf(%rip), %rsi      # 0x1bcc5
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0x13428
leaq 0x8dcf(%rip), %rdi      # 0x1bcec
xorl %r13d, %r13d
movq %r15, %rsi
movq %r12, %rdx
xorl %eax, %eax
callq 0xd160
jmp 0x13275
leaq 0x8cc3(%rip), %rsi      # 0x1bbfc
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0x13053
leaq 0x8cc0(%rip), %rsi      # 0x1bc10
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
jne 0x12c92
movzbl (%rbx), %eax
xorl %r13d, %r13d
cmpl $0x31, %eax
je 0x131cf
cmpl $0x30, %eax
jne 0x13275
cmpb $0x0, 0x1(%rbx)
jne 0x13275
movb $0x0, 0x2(%r14)
jmp 0x13289
leaq 0x8cc9(%rip), %rsi      # 0x1bc5c
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0x130d6
leaq 0x8cbe(%rip), %rsi      # 0x1bc68
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0x13197
leaq 0x8cba(%rip), %rsi      # 0x1bc7b
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
jne 0x12cfd
addq $0xa, %r14
jmp 0x13262
movzbl (%rbx), %eax
xorl %r13d, %r13d
cmpl $0x31, %eax
je 0x13184
cmpl $0x30, %eax
jne 0x13275
cmpb $0x0, 0x1(%rbx)
jne 0x13275
movb $0x0, (%r14)
jmp 0x13289
leaq 0x8c50(%rip), %rsi      # 0x1bc5c
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0x1312d
leaq 0x8c45(%rip), %rsi      # 0x1bc68
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0x131bd
leaq 0x8c41(%rip), %rsi      # 0x1bc7b
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
jne 0x12d14
addq $0x10, %r14
jmp 0x13262
movzbl (%rbx), %eax
xorl %r13d, %r13d
cmpl $0x31, %eax
je 0x131a0
cmpl $0x30, %eax
jne 0x13275
cmpb $0x0, 0x1(%rbx)
jne 0x13275
movb $0x0, 0x1(%r14)
jmp 0x13289
leaq 0x8bd6(%rip), %rsi      # 0x1bc5c
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0x131b4
leaq 0x8bcb(%rip), %rsi      # 0x1bc68
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0x131e3
leaq 0x8bc7(%rip), %rsi      # 0x1bc7b
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
jne 0x12d2b
addq $0x16, %r14
jmp 0x13262
addq $0x4, %r14
jmp 0x13262
addq $0x6, %r14
jmp 0x13262
leaq 0x8b76(%rip), %rsi      # 0x1bc5c
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0x131c6
leaq 0x8b6b(%rip), %rsi      # 0x1bc68
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0x13211
leaq 0x8b67(%rip), %rsi      # 0x1bc7b
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
jne 0x12d42
addq $0x1c, %r14
jmp 0x13262
addq $0xc, %r14
jmp 0x13262
leaq 0x8b1f(%rip), %rsi      # 0x1bc5c
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0x1320b
leaq 0x8b14(%rip), %rsi      # 0x1bc68
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0x1325e
leaq 0x8b10(%rip), %rsi      # 0x1bc7b
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
jne 0x12d59
addq $0x22, %r14
jmp 0x13262
cmpb $0x0, 0x1(%rbx)
jne 0x13275
movb $0x1, (%r14)
jmp 0x13289
addq $0x8, %r14
jmp 0x13262
cmpb $0x0, 0x1(%rbx)
jne 0x13275
movb $0x1, 0x1(%r14)
jmp 0x13289
addq $0x12, %r14
jmp 0x13262
addq $0xe, %r14
jmp 0x13262
addq $0x18, %r14
jmp 0x13262
cmpb $0x0, 0x1(%rbx)
jne 0x13275
movb $0x1, 0x2(%r14)
jmp 0x13289
addq $0x14, %r14
jmp 0x13262
leaq 0x8aab(%rip), %rsi      # 0x1bc9b
movq %r15, %rdi
callq 0x134a3
movl %eax, %eax
imulq $0xc, %rax, %rax
leaq (%r14,%rax), %rsi
addq $0x24, %rsi
jmp 0x133dc
addq $0x1e, %r14
jmp 0x13262
addq $0x1a, %r14
jmp 0x13262
leaq 0x8a7d(%rip), %rsi      # 0x1bc9b
movq %r15, %rdi
callq 0x134a3
movl %eax, %eax
imulq $0xc, %rax, %rax
leaq (%r14,%rax), %rsi
addq $0x28, %rsi
jmp 0x13448
leaq 0x8a94(%rip), %rsi      # 0x1bcd4
movq %r15, %rdi
callq 0x134a3
movl %eax, %eax
imulq $0xc, %rax, %rax
leaq (%r14,%rax), %rsi
addq $0xe4, %rsi
jmp 0x133dc
addq $0x20, %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0x13455
movl %eax, %r13d
cmpl $0x1, %eax
je 0x13289
leaq 0x8a9f(%rip), %rdi      # 0x1bd1b
movq %rbx, %rsi
xorl %eax, %eax
callq 0xd160
movl %r13d, %ebp
movl %ebp, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x89fa(%rip), %rsi      # 0x1bc9b
movq %r15, %rdi
callq 0x134a3
movl %eax, %eax
imulq $0xc, %rax, %rax
leaq (%r14,%rax), %rsi
addq $0x2c, %rsi
jmp 0x13448
leaq 0x8a11(%rip), %rsi      # 0x1bcd4
movq %r15, %rdi
callq 0x134a3
movl %eax, %eax
imulq $0xc, %rax, %rax
leaq (%r14,%rax), %rsi
addq $0xe8, %rsi
jmp 0x13448
leaq 0x89f4(%rip), %rsi      # 0x1bcdc
movq %r15, %rdi
callq 0x134a3
movl %eax, %eax
imulq $0xc, %rax, %rax
leaq (%r14,%rax), %rsi
addq $0x1a4, %rsi            # imm = 0x1A4
jmp 0x133dc
leaq 0x89c7(%rip), %rsi      # 0x1bcd4
movq %r15, %rdi
callq 0x134a3
movl %eax, %eax
imulq $0xc, %rax, %rax
leaq (%r14,%rax), %rsi
addq $0xec, %rsi
jmp 0x13448
leaq 0x89aa(%rip), %rsi      # 0x1bcdc
movq %r15, %rdi
callq 0x134a3
movl %eax, %eax
imulq $0xc, %rax, %rax
leaq (%r14,%rax), %rsi
addq $0x1a8, %rsi            # imm = 0x1A8
jmp 0x13448
leaq 0x898d(%rip), %rsi      # 0x1bce4
movq %r15, %rdi
callq 0x134a3
movl %eax, %eax
imulq $0xc, %rax, %rax
leaq (%r14,%rax), %rsi
addq $0x264, %rsi            # imm = 0x264
jmp 0x133dc
leaq 0x8963(%rip), %rsi      # 0x1bcdc
movq %r15, %rdi
callq 0x134a3
movl %eax, %eax
imulq $0xc, %rax, %rax
leaq (%r14,%rax), %rsi
addq $0x1ac, %rsi            # imm = 0x1AC
jmp 0x13448
leaq 0x8946(%rip), %rsi      # 0x1bce4
movq %r15, %rdi
callq 0x134a3
movl %eax, %eax
imulq $0xc, %rax, %rax
leaq (%r14,%rax), %rsi
addq $0x268, %rsi            # imm = 0x268
jmp 0x13448
leaq 0x9612(%rip), %rsi      # 0x1c9d5
movq %r15, %rdi
callq 0x134a3
movl %eax, %eax
imulq $0xc, %rax, %rax
leaq (%r14,%rax), %rsi
addq $0x324, %rsi            # imm = 0x324
movq %rbx, %rdi
jmp 0x13268
leaq 0x88f9(%rip), %rsi      # 0x1bce4
movq %r15, %rdi
callq 0x134a3
movl %eax, %eax
imulq $0xc, %rax, %rax
leaq (%r14,%rax), %rsi
addq $0x26c, %rsi            # imm = 0x26C
jmp 0x13448
leaq 0x95c8(%rip), %rsi      # 0x1c9d5
movq %r15, %rdi
callq 0x134a3
movl %eax, %eax
imulq $0xc, %rax, %rax
leaq (%r14,%rax), %rsi
addq $0x328, %rsi            # imm = 0x328
jmp 0x13448
leaq 0x95a6(%rip), %rsi      # 0x1c9d5
movq %r15, %rdi
callq 0x134a3
movl %eax, %eax
imulq $0xc, %rax, %rax
leaq (%r14,%rax), %rsi
addq $0x32c, %rsi            # imm = 0x32C
movq %rbx, %rdi
callq 0x13512
jmp 0x1326d