// File: /workspace/github_c_makefile_star2_O2/niuyuling[P]CProxy/conf.c
// Function: set_var_val_lineEnd
static char *set_var_val_lineEnd(char *content, char **var, char **val_begin, char **val_end)
{
    char *p, *pn, *lineEnd;
    ;
    int val_len;

    while (1) {
        if (content == NULL)
            return NULL;

        for (; *content == ' ' || *content == '\t' || *content == '\r' || *content == '\n'; content++) ;
        if (*content == '\0')
            return NULL;
        *var = content;
        pn = strchr(content, '\n');
        p = strchr(content, '=');
        if (p == NULL) {
            if (pn) {
                content = pn + 1;
                continue;
            } else
                return NULL;
        }
        content = p;
        //将变量以\0结束
        for (p--; *p == ' ' || *p == '\t'; p--) ;
        *(p + 1) = '\0';
        //值的首地址
        for (content++; *content == ' ' || *content == '\t'; content++) ;
        if (*content == '\0')
            return NULL;
        //双引号引起来的值支持换行
        if (*content == '"') {
            *val_begin = content + 1;
            *val_end = strstr(*val_begin, "\";");
            if (*val_end != NULL)
                break;
        } else
            *val_begin = content;
        *val_end = strchr(content, ';');
        if (pn && *val_end > pn) {
            content = pn + 1;
            continue;
        }
        break;
    }

    if (*val_end) {
        **val_end = '\0';
        val_len = *val_end - *val_begin;
        lineEnd = *val_end;
    } else {
        val_len = strlen(*val_begin);
        *val_end = lineEnd = *val_begin + val_len;
    }
    string_pretreatment(*val_begin, &val_len);
    *val_end = *val_begin + val_len;
    //printf("var[%s]\nbegin[%s]\n\n", *var, *val_begin);
    return lineEnd;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rcx, %r15
movq %rdx, 0x8(%rsp)
movq %rsi, %r12
movq %rdi, %rbx
pushq $0xa
popq %rsi
movabsq $0x100002600, %rbp      # imm = 0x100002600
testq %rbx, %rbx
je 0x820f
movzbl (%rbx), %eax
cmpq $0x20, %rax
ja 0x8163
btq %rax, %rbp
jae 0x815a
incq %rbx
jmp 0x8146
testq %rax, %rax
je 0x820f
movq %rbx, (%r12)
movq %rbx, %rdi
movl %esi, %r13d
callq 0x2160
movq %rax, %r14
movq %rbx, %rdi
pushq $0x3d
popq %rsi
callq 0x2160
movq %rax, %rbx
testq %rax, %rax
je 0x81da
movq %rax, %rcx
decq %rax
movzbl -0x1(%rcx), %edx
cmpl $0x9, %edx
je 0x8188
cmpl $0x20, %edx
je 0x8188
movb $0x0, (%rcx)
incq %rbx
movzbl (%rbx), %eax
cmpl $0x9, %eax
je 0x819f
cmpl $0x20, %eax
je 0x819f
testl %eax, %eax
je 0x820f
cmpl $0x22, %eax
jne 0x81e1
leaq 0x1(%rbx), %rdi
movq 0x8(%rsp), %rax
movq %rdi, (%rax)
leaq 0x1362(%rip), %rsi      # 0x952d
callq 0x2540
movq %rax, (%r15)
testq %rax, %rax
je 0x81e9
jmp 0x8225
testq %r14, %r14
jne 0x8201
jmp 0x820f
movq 0x8(%rsp), %rax
movq %rbx, (%rax)
movq %rbx, %rdi
pushq $0x3b
popq %rsi
callq 0x2160
movq %rax, (%r15)
testq %r14, %r14
je 0x8220
cmpq %r14, %rax
jbe 0x8220
incq %r14
movq %r14, %rbx
movl %r13d, %esi
jmp 0x813d
xorl %eax, %eax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
testq %rax, %rax
je 0x823d
movb $0x0, (%rax)
movq (%r15), %r12
movq 0x8(%rsp), %rax
movq (%rax), %r14
movq %r12, 0x10(%rsp)
subq %r14, %r12
jmp 0x8261
movq 0x8(%rsp), %r14
movq (%r14), %rbx
movq %rbx, %rdi
callq 0x2140
movq %rax, %r12
movslq %r12d, %rax
addq %rbx, %rax
movq %rax, 0x10(%rsp)
movq %rax, (%r15)
movq (%r14), %r14
pushq $0xa
popq %rbx
movq %r14, %rdi
movl %ebx, %esi
callq 0x2160
testq %rax, %rax
je 0x829a
decl %r12d
movq %rax, %rsi
incq %rsi
movzbl (%rsi), %ecx
cmpq $0x20, %rcx
ja 0x8290
btq %rcx, %rbp
jae 0x8290
decl %r12d
jmp 0x8279
movq %rax, %rdi
callq 0x2080
jmp 0x8264
movq %r15, 0x18(%rsp)
xorl %r15d, %r15d
movq %r14, 0x20(%rsp)
cmpq $0x9, %r15
je 0x8312
leaq 0x3adc(%rip), %rax      # 0xbd90
movq (%rax,%r15,8), %rbx
movq %r14, %rdi
movq %rbx, %rsi
callq 0x2540
movq %rax, %r14
testq %rax, %rax
je 0x8308
cmpb $0x5c, -0x1(%r14)
jne 0x82d7
decq %r14
jmp 0x82e5
leaq 0x1267(%rip), %rax      # 0x9545
movb (%r15,%rax), %al
movb %al, (%r14)
leaq 0x1(%r14), %rbp
leaq 0x2(%r14), %r13
movq %r13, %rdi
callq 0x2140
movq %rbp, %rdi
movq %r13, %rsi
movq %rax, %rdx
callq 0x2430
decl %r12d
jmp 0x82b8
incq %r15
movq 0x20(%rsp), %r14
jmp 0x82a7
movslq %r12d, %rax
movq 0x8(%rsp), %rcx
addq (%rcx), %rax
movq 0x18(%rsp), %rcx
movq %rax, (%rcx)
movq 0x10(%rsp), %rax
jmp 0x8211