// File: /workspace/github_c_makefile_star2_O2/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 0x7ade
movq %r14, %rdi
movl %ebx, %esi
callq 0x6440
movq %rax, %r15
movl %r15d, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %r14, %rdi
movl %ebx, %esi
callq 0x68d0
cmpl $-0x1, %eax
je 0x7e7f
xorl %r15d, %r15d
leaq 0x8736(%rip), %r12      # 0x10231
leaq 0x87a1(%rip), %r13      # 0x102a3
movq %r14, %rdi
movl %ebx, %esi
callq 0x69b0
testl %eax, %eax
je 0x7acc
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 0x7e78
movq %rbp, %rdi
movq %r13, %rsi
callq 0x6420
testl %eax, %eax
je 0x7d90
movq %rbp, %rdi
leaq 0x8767(%rip), %rsi      # 0x102b6
callq 0x6420
testl %eax, %eax
je 0x7d99
movq %rbp, %rdi
leaq 0x8768(%rip), %rsi      # 0x102ce
callq 0x6420
testl %eax, %eax
je 0x7da2
movq %rbp, %rdi
leaq 0x8762(%rip), %rsi      # 0x102df
callq 0x6420
testl %eax, %eax
je 0x7dab
movq %rbp, %rdi
leaq 0x8757(%rip), %rsi      # 0x102eb
callq 0x6420
testl %eax, %eax
je 0x7db4
movq %rbp, %rdi
leaq 0x8751(%rip), %rsi      # 0x102fc
callq 0x6420
testl %eax, %eax
je 0x7dbd
movq %rbp, %rdi
leaq 0x8746(%rip), %rsi      # 0x10308
callq 0x6420
testl %eax, %eax
je 0x7dc6
movq %rbp, %rdi
leaq 0x8742(%rip), %rsi      # 0x1031b
callq 0x6420
testl %eax, %eax
je 0x7dcf
movq %rbp, %rdi
leaq 0x873e(%rip), %rsi      # 0x1032e
callq 0x6420
testl %eax, %eax
je 0x7ddb
movq %rbp, %rdi
leaq 0x873e(%rip), %rsi      # 0x10345
callq 0x6420
testl %eax, %eax
je 0x7de7
movq %rbp, %rdi
leaq 0x873a(%rip), %rsi      # 0x10358
callq 0x6420
testl %eax, %eax
je 0x7df3
movq %rbp, %rdi
leaq 0x873b(%rip), %rsi      # 0x10370
callq 0x6420
testl %eax, %eax
je 0x7dfc
movq %rbp, %rdi
leaq 0x873b(%rip), %rsi      # 0x10387
callq 0x6420
testl %eax, %eax
je 0x7e05
movq %rbp, %rdi
leaq 0x873f(%rip), %rsi      # 0x103a2
callq 0x6420
testl %eax, %eax
je 0x7e0e
movq %rbp, %rdi
leaq 0x873d(%rip), %rsi      # 0x103b7
callq 0x6420
testl %eax, %eax
je 0x7e17
movq %rbp, %rdi
leaq 0x8735(%rip), %rsi      # 0x103c6
callq 0x6420
testl %eax, %eax
je 0x7e20
movq %rbp, %rdi
leaq 0x872f(%rip), %rsi      # 0x103d7
callq 0x6420
testl %eax, %eax
je 0x7e29
movq %rbp, %rdi
leaq 0x872a(%rip), %rsi      # 0x103e9
callq 0x6420
testl %eax, %eax
je 0x7e32
movq %rbp, %rdi
leaq 0x8721(%rip), %rsi      # 0x103f7
callq 0x6420
testl %eax, %eax
je 0x7e3b
movq %rbp, %rdi
leaq 0x871e(%rip), %rsi      # 0x1040b
callq 0x6420
testl %eax, %eax
je 0x7e44
movq %rbp, %rdi
leaq 0x8716(%rip), %rsi      # 0x1041a
callq 0x6420
testl %eax, %eax
je 0x7e4d
movq %rbp, %rdi
leaq 0x870f(%rip), %rsi      # 0x1042a
callq 0x6420
testl %eax, %eax
je 0x7e56
movq %rbp, %rdi
leaq 0x8707(%rip), %rsi      # 0x10439
callq 0x6420
testl %eax, %eax
je 0x7e5f
movq %rbp, %rdi
leaq 0x86f9(%rip), %rsi      # 0x10442
callq 0x6420
testl %eax, %eax
je 0x7e68
movq %rbp, %rdi
leaq 0x86f5(%rip), %rsi      # 0x10455
callq 0x6420
testl %eax, %eax
je 0x7e71
movq %rbp, %rdi
leaq 0x86f2(%rip), %rsi      # 0x10469
callq 0x6420
testl %eax, %eax
jne 0x7e9e
orl $0x4000000, %r15d       # imm = 0x4000000
jmp 0x7e78
orl $0x1, %r15d
jmp 0x7e78
orl $0x2, %r15d
jmp 0x7e78
orl $0x4, %r15d
jmp 0x7e78
orl $0x8, %r15d
jmp 0x7e78
orl $0x10, %r15d
jmp 0x7e78
orl $0x20, %r15d
jmp 0x7e78
orl $0x40, %r15d
jmp 0x7e78
orl $0x80, %r15d
jmp 0x7e78
orl $0x100, %r15d           # imm = 0x100
jmp 0x7e78
orl $0x200, %r15d           # imm = 0x200
jmp 0x7e78
orl $0x400, %r15d           # imm = 0x400
jmp 0x7e78
orl $0x800, %r15d           # imm = 0x800
jmp 0x7e78
orl $0x1000, %r15d          # imm = 0x1000
jmp 0x7e78
orl $0x2000, %r15d          # imm = 0x2000
jmp 0x7e78
orl $0x8000, %r15d          # imm = 0x8000
jmp 0x7e78
orl $0x10000, %r15d         # imm = 0x10000
jmp 0x7e78
orl $0x20000, %r15d         # imm = 0x20000
jmp 0x7e78
orl $0x40000, %r15d         # imm = 0x40000
jmp 0x7e78
orl $0x80000, %r15d         # imm = 0x80000
jmp 0x7e78
orl $0x100000, %r15d        # imm = 0x100000
jmp 0x7e78
orl $0x200000, %r15d        # imm = 0x200000
jmp 0x7e78
orl $0x400000, %r15d        # imm = 0x400000
jmp 0x7e78
orl $0x800000, %r15d        # imm = 0x800000
jmp 0x7e78
orl $0x1000000, %r15d       # imm = 0x1000000
jmp 0x7e78
orl $0x2000000, %r15d       # imm = 0x2000000
incl %ebx
jmp 0x7b02
leaq 0x840f(%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 0x8379(%rip), %rsi      # 0x1021e
movq %r14, %rdi
movq %rbp, %rdx
xorl %eax, %eax
callq 0x63d0
movq %r14, %rdi
movl %ebx, %esi
movq %rax, %rdx
jmp 0x7e8b