// File: /workspace/github_c_makefile_star2_O0/schroeder-lvb[P]sissm/src/api.c
// Function: apiInitAuth
void apiInitAuth( void )
{
    int i, count;
    char varImg[256];
    cfsPtr cP ;

    cP = cfsCreate( sissmGetConfigPath() );

    // read the AUTH related permission block
    //
    strlcpy( rootguids,       cfsFetchStr( cP, "sissm.rootguids", ""),      API_LINE_STRING_MAX );
    strlcpy( rootname,        cfsFetchStr( cP, "sissm.rootname",  ""),      API_LINE_STRING_MAX );

    strlcpy( everyoneCmds,    cfsFetchStr( cP, "sissm.everyonecmds", "" ),  API_CMDS_STRING_MAX );
    strlcpy( everyoneMacros,  cfsFetchStr( cP, "sissm.everyonemcrs", "" ),  API_CMDS_STRING_MAX );
    strlcpy( everyoneAttr,    cfsFetchStr( cP, "sissm.everyoneattr", "" ),  API_LINE_STRING_MAX );

    strlcpy( soloAdminCmds,   cfsFetchStr( cP, "sissm.soloadmincmds", "" ), API_CMDS_STRING_MAX );
    strlcpy( soloAdminMacros, cfsFetchStr( cP, "sissm.soloadminmcrs", "" ), API_CMDS_STRING_MAX );
    strlcpy( soloAdminAttr,   cfsFetchStr( cP, "sissm.soloadminattr", "" ), API_LINE_STRING_MAX );

    for (i=0; i<API_MAX_GROUPS; i++) {
        snprintf( varImg, 256, "sissm.groupname[%d]", i);
            strlcpy( groups[i].groupname, cfsFetchStr( cP, varImg, "" ), API_LINE_STRING_MAX );
        snprintf( varImg, 256, "sissm.groupcmds[%d]", i);
            strlcpy( groups[i].groupcmds, cfsFetchStr( cP, varImg, "" ), API_CMDS_STRING_MAX );
        snprintf( varImg, 256, "sissm.groupmcrs[%d]", i);
            strlcpy( groups[i].groupmacros, cfsFetchStr( cP, varImg, "" ), API_CMDS_STRING_MAX );
        snprintf( varImg, 256, "sissm.groupattr[%d]", i);
            strlcpy( groups[i].groupattr, cfsFetchStr( cP, varImg, "" ), API_LINE_STRING_MAX );
        snprintf( varImg, 256, "sissm.groupguid[%d]", i);
            strlcpy( groups[i].groupguid, cfsFetchStr( cP, varImg, "" ), API_LINE_STRING_MAX );

        if (( 0 != strlen( groups[i].groupguid ) ) && ( 0 != strlen( groups[i].groupname ) )) {
            count = apiIdListRead( groups[i].groupguid, groups[i].groupIdList );
            logPrintf(LOG_LEVEL_INFO, "api", "Read Group List ::%s:: count %d", groups[i].groupname, count );
        }
    }
    cfsDestroy( cP );

    return;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x140, %rsp            # imm = 0x140
callq 0x8a90
movq %rax, %rdi
callq 0x9370
movq %rax, -0x118(%rbp)
movq -0x118(%rbp), %rdi
leaq 0x10231(%rip), %rsi     # 0x2610e
leaq 0xd82d(%rip), %rdx      # 0x23711
callq 0x9430
movq %rax, %rsi
leaq 0xe38cd(%rip), %rdi     # 0xf97c0
movl $0x100, %edx            # imm = 0x100
callq 0x11bc0
movq -0x118(%rbp), %rdi
leaq 0x10213(%rip), %rsi     # 0x2611e
leaq 0xd7ff(%rip), %rdx      # 0x23711
callq 0x9430
movq %rax, %rsi
leaq 0xe399f(%rip), %rdi     # 0xf98c0
movl $0x100, %edx            # imm = 0x100
callq 0x11bc0
movq -0x118(%rbp), %rdi
leaq 0x101f4(%rip), %rsi     # 0x2612d
leaq 0xd7d1(%rip), %rdx      # 0x23711
callq 0x9430
movq %rax, %rsi
leaq 0xe3a71(%rip), %rdi     # 0xf99c0
movl $0x200, %edx            # imm = 0x200
callq 0x11bc0
movq -0x118(%rbp), %rdi
leaq 0x101d9(%rip), %rsi     # 0x26140
leaq 0xd7a3(%rip), %rdx      # 0x23711
callq 0x9430
movq %rax, %rsi
leaq 0xe3c43(%rip), %rdi     # 0xf9bc0
movl $0x200, %edx            # imm = 0x200
callq 0x11bc0
movq -0x118(%rbp), %rdi
leaq 0x101be(%rip), %rsi     # 0x26153
leaq 0xd775(%rip), %rdx      # 0x23711
callq 0x9430
movq %rax, %rsi
leaq 0xe3e15(%rip), %rdi     # 0xf9dc0
movl $0x100, %edx            # imm = 0x100
callq 0x11bc0
movq -0x118(%rbp), %rdi
leaq 0x101a3(%rip), %rsi     # 0x26166
leaq 0xd747(%rip), %rdx      # 0x23711
callq 0x9430
movq %rax, %rsi
leaq 0xe3ee7(%rip), %rdi     # 0xf9ec0
movl $0x200, %edx            # imm = 0x200
callq 0x11bc0
movq -0x118(%rbp), %rdi
leaq 0x10189(%rip), %rsi     # 0x2617a
leaq 0xd719(%rip), %rdx      # 0x23711
callq 0x9430
movq %rax, %rsi
leaq 0xe40b9(%rip), %rdi     # 0xfa0c0
movl $0x200, %edx            # imm = 0x200
callq 0x11bc0
movq -0x118(%rbp), %rdi
leaq 0x1016f(%rip), %rsi     # 0x2618e
leaq 0xd6eb(%rip), %rdx      # 0x23711
callq 0x9430
movq %rax, %rsi
leaq 0xe428b(%rip), %rdi     # 0xfa2c0
movl $0x100, %edx            # imm = 0x100
callq 0x11bc0
movl $0x0, -0x4(%rbp)
cmpl $0x6, -0x4(%rbp)
jge 0x16341
leaq -0x110(%rbp), %rdi
movl -0x4(%rbp), %ecx
movl $0x100, %esi            # imm = 0x100
leaq 0x1013c(%rip), %rdx     # 0x261a2
movb $0x0, %al
callq 0x8180
movslq -0x4(%rbp), %rcx
leaq 0xe4348(%rip), %rax     # 0xfa3c0
imulq $0x10700, %rcx, %rcx    # imm = 0x10700
addq %rcx, %rax
movq %rax, -0x140(%rbp)
movq -0x118(%rbp), %rdi
leaq -0x110(%rbp), %rsi
leaq 0xd673(%rip), %rdx      # 0x23711
callq 0x9430
movq -0x140(%rbp), %rdi
movq %rax, %rsi
movl $0x100, %edx            # imm = 0x100
callq 0x11bc0
leaq -0x110(%rbp), %rdi
movl -0x4(%rbp), %ecx
movl $0x100, %esi            # imm = 0x100
leaq 0x100e9(%rip), %rdx     # 0x261b6
movb $0x0, %al
callq 0x8180
movslq -0x4(%rbp), %rcx
leaq 0xe42e1(%rip), %rax     # 0xfa3c0
imulq $0x10700, %rcx, %rcx    # imm = 0x10700
addq %rcx, %rax
addq $0x100, %rax            # imm = 0x100
movq %rax, -0x138(%rbp)
movq -0x118(%rbp), %rdi
leaq -0x110(%rbp), %rsi
leaq 0xd606(%rip), %rdx      # 0x23711
callq 0x9430
movq -0x138(%rbp), %rdi
movq %rax, %rsi
movl $0x200, %edx            # imm = 0x200
callq 0x11bc0
leaq -0x110(%rbp), %rdi
movl -0x4(%rbp), %ecx
movl $0x100, %esi            # imm = 0x100
leaq 0x10090(%rip), %rdx     # 0x261ca
movb $0x0, %al
callq 0x8180
movslq -0x4(%rbp), %rcx
leaq 0xe4274(%rip), %rax     # 0xfa3c0
imulq $0x10700, %rcx, %rcx    # imm = 0x10700
addq %rcx, %rax
addq $0x300, %rax            # imm = 0x300
movq %rax, -0x130(%rbp)
movq -0x118(%rbp), %rdi
leaq -0x110(%rbp), %rsi
leaq 0xd599(%rip), %rdx      # 0x23711
callq 0x9430
movq -0x130(%rbp), %rdi
movq %rax, %rsi
movl $0x200, %edx            # imm = 0x200
callq 0x11bc0
leaq -0x110(%rbp), %rdi
movl -0x4(%rbp), %ecx
movl $0x100, %esi            # imm = 0x100
leaq 0x10037(%rip), %rdx     # 0x261de
movb $0x0, %al
callq 0x8180
movslq -0x4(%rbp), %rcx
leaq 0xe4207(%rip), %rax     # 0xfa3c0
imulq $0x10700, %rcx, %rcx    # imm = 0x10700
addq %rcx, %rax
addq $0x500, %rax            # imm = 0x500
movq %rax, -0x128(%rbp)
movq -0x118(%rbp), %rdi
leaq -0x110(%rbp), %rsi
leaq 0xd52c(%rip), %rdx      # 0x23711
callq 0x9430
movq -0x128(%rbp), %rdi
movq %rax, %rsi
movl $0x100, %edx            # imm = 0x100
callq 0x11bc0
leaq -0x110(%rbp), %rdi
movl -0x4(%rbp), %ecx
movl $0x100, %esi            # imm = 0x100
leaq 0xffde(%rip), %rdx      # 0x261f2
movb $0x0, %al
callq 0x8180
movslq -0x4(%rbp), %rcx
leaq 0xe419a(%rip), %rax     # 0xfa3c0
imulq $0x10700, %rcx, %rcx    # imm = 0x10700
addq %rcx, %rax
addq $0x600, %rax            # imm = 0x600
movq %rax, -0x120(%rbp)
movq -0x118(%rbp), %rdi
leaq -0x110(%rbp), %rsi
leaq 0xd4bf(%rip), %rdx      # 0x23711
callq 0x9430
movq -0x120(%rbp), %rdi
movq %rax, %rsi
movl $0x100, %edx            # imm = 0x100
callq 0x11bc0
movslq -0x4(%rbp), %rax
leaq 0xe414a(%rip), %rdi     # 0xfa3c0
imulq $0x10700, %rax, %rax    # imm = 0x10700
addq %rax, %rdi
addq $0x600, %rdi            # imm = 0x600
callq 0x8110
movq %rax, %rcx
xorl %eax, %eax
cmpq %rcx, %rax
je 0x16331
movslq -0x4(%rbp), %rax
leaq 0xe411b(%rip), %rdi     # 0xfa3c0
imulq $0x10700, %rax, %rax    # imm = 0x10700
addq %rax, %rdi
callq 0x8110
movq %rax, %rcx
xorl %eax, %eax
cmpq %rcx, %rax
je 0x16331
movslq -0x4(%rbp), %rax
leaq 0xe40f7(%rip), %rdi     # 0xfa3c0
imulq $0x10700, %rax, %rax    # imm = 0x10700
addq %rax, %rdi
addq $0x600, %rdi            # imm = 0x600
movslq -0x4(%rbp), %rax
leaq 0xe40db(%rip), %rsi     # 0xfa3c0
imulq $0x10700, %rax, %rax    # imm = 0x10700
addq %rax, %rsi
addq $0x700, %rsi            # imm = 0x700
callq 0x14990
movl %eax, -0x8(%rbp)
movslq -0x4(%rbp), %rax
leaq 0xe40b7(%rip), %rcx     # 0xfa3c0
imulq $0x10700, %rax, %rax    # imm = 0x10700
addq %rax, %rcx
movl -0x8(%rbp), %r8d
movl $0x2, %edi
leaq 0xfb74(%rip), %rsi      # 0x25e97
leaq 0xfedc(%rip), %rdx      # 0x26206
movb $0x0, %al
callq 0x21bf0
jmp 0x16333
movl -0x4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
jmp 0x16046
movq -0x118(%rbp), %rdi
callq 0x93f0
addq $0x140, %rsp            # imm = 0x140
popq %rbp
retq
nopw %cs:(%rax,%rax)