// File: /workspace/github_c_makefile_star2_O0/aremmell[P]libsir/src/sirinternal.c
// Function: sir_init_sanity
bool _sir_init_sanity(const sirinit* si) {
    if (!_sir_validptr(si))
        return false;

    bool levelcheck = true;
    _sir_eqland(levelcheck, _sir_validlevels(si->d_stdout.levels));
    _sir_eqland(levelcheck, _sir_validlevels(si->d_stderr.levels));

    bool regcheck = true;
    _sir_eqland(regcheck, SIRL_NONE == si->d_stdout.levels);
    _sir_eqland(regcheck, SIRL_NONE == si->d_stderr.levels);

#if !defined(SIR_NO_SYSTEM_LOGGERS)
    _sir_eqland(levelcheck, _sir_validlevels(si->d_syslog.levels));
    _sir_eqland(regcheck, SIRL_NONE == si->d_syslog.levels);
#endif

    if (regcheck)
        _sir_selflog("warning: no level registrations set!");

    bool optscheck = true;
    _sir_eqland(optscheck, _sir_validopts(si->d_stdout.opts));
    _sir_eqland(optscheck, _sir_validopts(si->d_stderr.opts));

#if !defined(SIR_NO_SYSTEM_LOGGERS)
    _sir_eqland(optscheck, _sir_validopts(si->d_syslog.opts));
#endif

    return levelcheck && optscheck;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq 0x18(%rsp), %rdi
movl $0x1, %esi
leaq 0x7da5(%rip), %rdx      # 0x1117f
leaq 0x7cb5(%rip), %rcx      # 0x11096
movl $0x11e, %r8d            # imm = 0x11E
callq 0x8f70
testb $0x1, %al
jne 0x93fa
movb $0x0, 0x27(%rsp)
jmp 0x9639
movb $0x1, 0x17(%rsp)
movq 0x18(%rsp), %rax
leaq 0x7d74(%rip), %rsi      # 0x1117f
leaq 0x7c84(%rip), %rdx      # 0x11096
movl $0x122, %ecx            # imm = 0x122
movzwl (%rax), %edi
callq 0x7da0
movb %al, %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, 0x14(%rsp)
jne 0x942e
jmp 0x9436
movb 0x17(%rsp), %al
movb %al, 0x14(%rsp)
movb 0x14(%rsp), %al
andb $0x1, %al
movb %al, 0x17(%rsp)
movq 0x18(%rsp), %rax
leaq 0x7d33(%rip), %rsi      # 0x1117f
leaq 0x7c43(%rip), %rdx      # 0x11096
movl $0x123, %ecx            # imm = 0x123
movzwl 0x8(%rax), %edi
callq 0x7da0
movb %al, %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, 0x13(%rsp)
jne 0x9470
jmp 0x9478
movb 0x17(%rsp), %al
movb %al, 0x13(%rsp)
movb 0x13(%rsp), %al
andb $0x1, %al
movb %al, 0x17(%rsp)
movb $0x1, 0x16(%rsp)
movq 0x18(%rsp), %rax
movzwl (%rax), %edx
xorl %eax, %eax
xorl %ecx, %ecx
cmpl %edx, %ecx
movb %al, 0x12(%rsp)
jne 0x94a3
movb 0x16(%rsp), %al
movb %al, 0x12(%rsp)
movb 0x12(%rsp), %al
andb $0x1, %al
movb %al, 0x16(%rsp)
movq 0x18(%rsp), %rax
movzwl 0x8(%rax), %edx
xorl %eax, %eax
xorl %ecx, %ecx
cmpl %edx, %ecx
movb %al, 0x11(%rsp)
jne 0x94ca
movb 0x16(%rsp), %al
movb %al, 0x11(%rsp)
movb 0x11(%rsp), %al
andb $0x1, %al
movb %al, 0x16(%rsp)
movq 0x18(%rsp), %rax
leaq 0x7c9f(%rip), %rsi      # 0x1117f
leaq 0x7baf(%rip), %rdx      # 0x11096
movl $0x12a, %ecx            # imm = 0x12A
movzwl 0x10(%rax), %edi
callq 0x7da0
movb %al, %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, 0x10(%rsp)
jne 0x9504
jmp 0x950c
movb 0x17(%rsp), %al
movb %al, 0x10(%rsp)
movb 0x10(%rsp), %al
andb $0x1, %al
movb %al, 0x17(%rsp)
movq 0x18(%rsp), %rax
movzwl 0x10(%rax), %edx
xorl %eax, %eax
xorl %ecx, %ecx
cmpl %edx, %ecx
movb %al, 0xf(%rsp)
jne 0x9533
movb 0x16(%rsp), %al
movb %al, 0xf(%rsp)
movb 0xf(%rsp), %al
andb $0x1, %al
movb %al, 0x16(%rsp)
testb $0x1, 0x16(%rsp)
je 0x9552
leaq 0x7c45(%rip), %rdi      # 0x11190
movb $0x0, %al
callq 0x9730
movb $0x1, 0x15(%rsp)
movq 0x18(%rsp), %rax
movl 0x4(%rax), %edi
leaq 0x7c19(%rip), %rsi      # 0x1117f
leaq 0x7b29(%rip), %rdx      # 0x11096
movl $0x132, %ecx            # imm = 0x132
callq 0x7ed0
movb %al, %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, 0xe(%rsp)
jne 0x9586
jmp 0x958e
movb 0x15(%rsp), %al
movb %al, 0xe(%rsp)
movb 0xe(%rsp), %al
andb $0x1, %al
movb %al, 0x15(%rsp)
movq 0x18(%rsp), %rax
movl 0xc(%rax), %edi
leaq 0x7bd8(%rip), %rsi      # 0x1117f
leaq 0x7ae8(%rip), %rdx      # 0x11096
movl $0x133, %ecx            # imm = 0x133
callq 0x7ed0
movb %al, %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, 0xd(%rsp)
jne 0x95c7
jmp 0x95cf
movb 0x15(%rsp), %al
movb %al, 0xd(%rsp)
movb 0xd(%rsp), %al
andb $0x1, %al
movb %al, 0x15(%rsp)
movq 0x18(%rsp), %rax
movl 0x14(%rax), %edi
leaq 0x7b97(%rip), %rsi      # 0x1117f
leaq 0x7aa7(%rip), %rdx      # 0x11096
movl $0x136, %ecx            # imm = 0x136
callq 0x7ed0
movb %al, %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, 0xc(%rsp)
jne 0x9608
jmp 0x9610
movb 0x15(%rsp), %al
movb %al, 0xc(%rsp)
movb 0xc(%rsp), %al
andb $0x1, %al
movb %al, 0x15(%rsp)
xorl %eax, %eax
testb $0x1, 0x17(%rsp)
movb %al, 0xb(%rsp)
je 0x962f
movb 0x15(%rsp), %al
movb %al, 0xb(%rsp)
movb 0xb(%rsp), %al
andb $0x1, %al
movb %al, 0x27(%rsp)
movb 0x27(%rsp), %al
andb $0x1, %al
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)