// File: /workspace/github_c_makefile_star2_O3/stetre[P]moonassimp/src/bitfields.c
// Function: moonassimp_checkpostprocessflags
unsigned int checkpostprocessflags(lua_State *L, int arg)
/* Accepts an integer or a list of strings starting from index=arg */
    {
    unsigned int flags = 0;
    const char *s;
    
    if(lua_type(L, arg) == LUA_TNUMBER)
        return (unsigned int)luaL_checkinteger(L, arg);

    if(lua_isnone(L, arg))
        return luaL_argerror(L, arg, "missing flags");

    while(lua_isstring(L, arg))
        {
        s = lua_tostring(L, arg++);
#define CASE(CODE,str) if((strcmp(s, str)==0)) do { flags |= CODE; goto done; } while(0)
        CASE(0, "none");
        CASE(aiProcess_CalcTangentSpace,"calc tangent space");
        CASE(aiProcess_JoinIdenticalVertices,"join identical vertices");
        CASE(aiProcess_MakeLeftHanded,"make left handed");
        CASE(aiProcess_Triangulate,"triangulate");
        CASE(aiProcess_RemoveComponent,"remove component");
        CASE(aiProcess_GenNormals,"gen normals");
        CASE(aiProcess_GenSmoothNormals,"gen smooth normals");
        CASE(aiProcess_SplitLargeMeshes,"split large meshes");
        CASE(aiProcess_PreTransformVertices,"pre transform vertices");
        CASE(aiProcess_LimitBoneWeights,"limit bone weights");
        CASE(aiProcess_ValidateDataStructure,"validate data structure");
        CASE(aiProcess_ImproveCacheLocality,"improve cache locality");
        CASE(aiProcess_RemoveRedundantMaterials,"remove redundant materials");
        CASE(aiProcess_FixInfacingNormals,"fix infacing normals");
        CASE(aiProcess_SortByPType,"sort by p type");
        CASE(aiProcess_FindDegenerates,"find degenerates");
        CASE(aiProcess_FindInvalidData,"find invalid data");
        CASE(aiProcess_GenUVCoords,"gen uv coords");
        CASE(aiProcess_TransformUVCoords,"transform uv coords");
        CASE(aiProcess_FindInstances,"find instances");
        CASE(aiProcess_OptimizeMeshes ,"optimize meshes");
        CASE(aiProcess_OptimizeGraph ,"optimize graph");
        CASE(aiProcess_FlipUVs,"flip uvs");
        CASE(aiProcess_FlipWindingOrder ,"flip winding order");
        CASE(aiProcess_SplitByBoneCount ,"split by bone count");
        CASE(aiProcess_Debone ,"debone");
#undef CASE
        return (unsigned int)luaL_argerror(L, --arg, badvalue(L,s));
        done: ;
        }
    return flags;
    }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %esi, %ebx
movq %rdi, %r14
callq 0x68d0
cmpl $0x3, %eax
jne 0x7ae7
movq %r14, %rdi
movl %ebx, %esi
callq 0x6440
movq %rax, %r15
jmp 0x7e99
movq %r14, %rdi
movl %ebx, %esi
callq 0x68d0
cmpl $-0x1, %eax
je 0x7eab
movq %r14, %rdi
movl %ebx, %esi
callq 0x69b0
xorl %r15d, %r15d
testl %eax, %eax
je 0x7e99
leaq 0x871b(%rip), %r12      # 0x10231
leaq 0x8786(%rip), %r13      # 0x102a3
movq %r14, %rdi
movl %ebx, %esi
xorl %edx, %edx
callq 0x61e0
movq %rax, %rbp
movq %rax, %rdi
movq %r12, %rsi
callq 0x6420
testl %eax, %eax
je 0x7e85
movq %rbp, %rdi
movq %r13, %rsi
callq 0x6420
testl %eax, %eax
je 0x7d9d
movq %rbp, %rdi
leaq 0x875a(%rip), %rsi      # 0x102b6
callq 0x6420
testl %eax, %eax
je 0x7da6
movq %rbp, %rdi
leaq 0x875b(%rip), %rsi      # 0x102ce
callq 0x6420
testl %eax, %eax
je 0x7daf
movq %rbp, %rdi
leaq 0x8755(%rip), %rsi      # 0x102df
callq 0x6420
testl %eax, %eax
je 0x7db8
movq %rbp, %rdi
leaq 0x874a(%rip), %rsi      # 0x102eb
callq 0x6420
testl %eax, %eax
je 0x7dc1
movq %rbp, %rdi
leaq 0x8744(%rip), %rsi      # 0x102fc
callq 0x6420
testl %eax, %eax
je 0x7dca
movq %rbp, %rdi
leaq 0x8739(%rip), %rsi      # 0x10308
callq 0x6420
testl %eax, %eax
je 0x7dd3
movq %rbp, %rdi
leaq 0x8735(%rip), %rsi      # 0x1031b
callq 0x6420
testl %eax, %eax
je 0x7ddc
movq %rbp, %rdi
leaq 0x8731(%rip), %rsi      # 0x1032e
callq 0x6420
testl %eax, %eax
je 0x7de8
movq %rbp, %rdi
leaq 0x8731(%rip), %rsi      # 0x10345
callq 0x6420
testl %eax, %eax
je 0x7df4
movq %rbp, %rdi
leaq 0x872d(%rip), %rsi      # 0x10358
callq 0x6420
testl %eax, %eax
je 0x7e00
movq %rbp, %rdi
leaq 0x872e(%rip), %rsi      # 0x10370
callq 0x6420
testl %eax, %eax
je 0x7e09
movq %rbp, %rdi
leaq 0x872e(%rip), %rsi      # 0x10387
callq 0x6420
testl %eax, %eax
je 0x7e12
movq %rbp, %rdi
leaq 0x8732(%rip), %rsi      # 0x103a2
callq 0x6420
testl %eax, %eax
je 0x7e1b
movq %rbp, %rdi
leaq 0x8730(%rip), %rsi      # 0x103b7
callq 0x6420
testl %eax, %eax
je 0x7e24
movq %rbp, %rdi
leaq 0x8728(%rip), %rsi      # 0x103c6
callq 0x6420
testl %eax, %eax
je 0x7e2d
movq %rbp, %rdi
leaq 0x8722(%rip), %rsi      # 0x103d7
callq 0x6420
testl %eax, %eax
je 0x7e36
movq %rbp, %rdi
leaq 0x871d(%rip), %rsi      # 0x103e9
callq 0x6420
testl %eax, %eax
je 0x7e3f
movq %rbp, %rdi
leaq 0x8714(%rip), %rsi      # 0x103f7
callq 0x6420
testl %eax, %eax
je 0x7e48
movq %rbp, %rdi
leaq 0x8711(%rip), %rsi      # 0x1040b
callq 0x6420
testl %eax, %eax
je 0x7e51
movq %rbp, %rdi
leaq 0x8709(%rip), %rsi      # 0x1041a
callq 0x6420
testl %eax, %eax
je 0x7e5a
movq %rbp, %rdi
leaq 0x8702(%rip), %rsi      # 0x1042a
callq 0x6420
testl %eax, %eax
je 0x7e63
movq %rbp, %rdi
leaq 0x86fa(%rip), %rsi      # 0x10439
callq 0x6420
testl %eax, %eax
je 0x7e6c
movq %rbp, %rdi
leaq 0x86ec(%rip), %rsi      # 0x10442
callq 0x6420
testl %eax, %eax
je 0x7e75
movq %rbp, %rdi
leaq 0x86e8(%rip), %rsi      # 0x10455
callq 0x6420
testl %eax, %eax
je 0x7e7e
movq %rbp, %rdi
leaq 0x86e5(%rip), %rsi      # 0x10469
callq 0x6420
testl %eax, %eax
jne 0x7eca
orl $0x4000000, %r15d       # imm = 0x4000000
jmp 0x7e85
orl $0x1, %r15d
jmp 0x7e85
orl $0x2, %r15d
jmp 0x7e85
orl $0x4, %r15d
jmp 0x7e85
orl $0x8, %r15d
jmp 0x7e85
orl $0x10, %r15d
jmp 0x7e85
orl $0x20, %r15d
jmp 0x7e85
orl $0x40, %r15d
jmp 0x7e85
orl $0x80, %r15d
jmp 0x7e85
orl $0x100, %r15d           # imm = 0x100
jmp 0x7e85
orl $0x200, %r15d           # imm = 0x200
jmp 0x7e85
orl $0x400, %r15d           # imm = 0x400
jmp 0x7e85
orl $0x800, %r15d           # imm = 0x800
jmp 0x7e85
orl $0x1000, %r15d          # imm = 0x1000
jmp 0x7e85
orl $0x2000, %r15d          # imm = 0x2000
jmp 0x7e85
orl $0x8000, %r15d          # imm = 0x8000
jmp 0x7e85
orl $0x10000, %r15d         # imm = 0x10000
jmp 0x7e85
orl $0x20000, %r15d         # imm = 0x20000
jmp 0x7e85
orl $0x40000, %r15d         # imm = 0x40000
jmp 0x7e85
orl $0x80000, %r15d         # imm = 0x80000
jmp 0x7e85
orl $0x100000, %r15d        # imm = 0x100000
jmp 0x7e85
orl $0x200000, %r15d        # imm = 0x200000
jmp 0x7e85
orl $0x400000, %r15d        # imm = 0x400000
jmp 0x7e85
orl $0x800000, %r15d        # imm = 0x800000
jmp 0x7e85
orl $0x1000000, %r15d       # imm = 0x1000000
jmp 0x7e85
orl $0x2000000, %r15d       # imm = 0x2000000
incl %ebx
movq %r14, %rdi
movl %ebx, %esi
callq 0x69b0
testl %eax, %eax
jne 0x7b1d
movl %r15d, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x83e3(%rip), %rdx      # 0x10295
movq %r14, %rdi
movl %ebx, %esi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x61c0
leaq 0x834d(%rip), %rsi      # 0x1021e
movq %r14, %rdi
movq %rbp, %rdx
xorl %eax, %eax
callq 0x63d0
movq %r14, %rdi
movl %ebx, %esi
movq %rax, %rdx
jmp 0x7eb7