// File: /workspace/github_c_makefile_star2_O1/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 0x7b50
movq %r14, %rdi
movl %ebx, %esi
callq 0x6430
movq %rax, %r15
jmp 0x7f02
movq %r14, %rdi
movl %ebx, %esi
callq 0x68d0
cmpl $-0x1, %eax
je 0x7f14
movq %r14, %rdi
movl %ebx, %esi
callq 0x69b0
xorl %r15d, %r15d
testl %eax, %eax
je 0x7f02
leaq 0x86b2(%rip), %r12      # 0x10231
leaq 0x871d(%rip), %r13      # 0x102a3
movq %r14, %rdi
movl %ebx, %esi
xorl %edx, %edx
callq 0x61e0
movq %rax, %rbp
movq %rax, %rdi
movq %r12, %rsi
callq 0x6410
testl %eax, %eax
je 0x7eee
movq %rbp, %rdi
movq %r13, %rsi
callq 0x6410
testl %eax, %eax
je 0x7e06
movq %rbp, %rdi
leaq 0x86f1(%rip), %rsi      # 0x102b6
callq 0x6410
testl %eax, %eax
je 0x7e0f
movq %rbp, %rdi
leaq 0x86f2(%rip), %rsi      # 0x102ce
callq 0x6410
testl %eax, %eax
je 0x7e18
movq %rbp, %rdi
leaq 0x86ec(%rip), %rsi      # 0x102df
callq 0x6410
testl %eax, %eax
je 0x7e21
movq %rbp, %rdi
leaq 0x86e1(%rip), %rsi      # 0x102eb
callq 0x6410
testl %eax, %eax
je 0x7e2a
movq %rbp, %rdi
leaq 0x86db(%rip), %rsi      # 0x102fc
callq 0x6410
testl %eax, %eax
je 0x7e33
movq %rbp, %rdi
leaq 0x86d0(%rip), %rsi      # 0x10308
callq 0x6410
testl %eax, %eax
je 0x7e3c
movq %rbp, %rdi
leaq 0x86cc(%rip), %rsi      # 0x1031b
callq 0x6410
testl %eax, %eax
je 0x7e45
movq %rbp, %rdi
leaq 0x86c8(%rip), %rsi      # 0x1032e
callq 0x6410
testl %eax, %eax
je 0x7e51
movq %rbp, %rdi
leaq 0x86c8(%rip), %rsi      # 0x10345
callq 0x6410
testl %eax, %eax
je 0x7e5d
movq %rbp, %rdi
leaq 0x86c4(%rip), %rsi      # 0x10358
callq 0x6410
testl %eax, %eax
je 0x7e69
movq %rbp, %rdi
leaq 0x86c5(%rip), %rsi      # 0x10370
callq 0x6410
testl %eax, %eax
je 0x7e72
movq %rbp, %rdi
leaq 0x86c5(%rip), %rsi      # 0x10387
callq 0x6410
testl %eax, %eax
je 0x7e7b
movq %rbp, %rdi
leaq 0x86c9(%rip), %rsi      # 0x103a2
callq 0x6410
testl %eax, %eax
je 0x7e84
movq %rbp, %rdi
leaq 0x86c7(%rip), %rsi      # 0x103b7
callq 0x6410
testl %eax, %eax
je 0x7e8d
movq %rbp, %rdi
leaq 0x86bf(%rip), %rsi      # 0x103c6
callq 0x6410
testl %eax, %eax
je 0x7e96
movq %rbp, %rdi
leaq 0x86b9(%rip), %rsi      # 0x103d7
callq 0x6410
testl %eax, %eax
je 0x7e9f
movq %rbp, %rdi
leaq 0x86b4(%rip), %rsi      # 0x103e9
callq 0x6410
testl %eax, %eax
je 0x7ea8
movq %rbp, %rdi
leaq 0x86ab(%rip), %rsi      # 0x103f7
callq 0x6410
testl %eax, %eax
je 0x7eb1
movq %rbp, %rdi
leaq 0x86a8(%rip), %rsi      # 0x1040b
callq 0x6410
testl %eax, %eax
je 0x7eba
movq %rbp, %rdi
leaq 0x86a0(%rip), %rsi      # 0x1041a
callq 0x6410
testl %eax, %eax
je 0x7ec3
movq %rbp, %rdi
leaq 0x8699(%rip), %rsi      # 0x1042a
callq 0x6410
testl %eax, %eax
je 0x7ecc
movq %rbp, %rdi
leaq 0x8691(%rip), %rsi      # 0x10439
callq 0x6410
testl %eax, %eax
je 0x7ed5
movq %rbp, %rdi
leaq 0x8683(%rip), %rsi      # 0x10442
callq 0x6410
testl %eax, %eax
je 0x7ede
movq %rbp, %rdi
leaq 0x867f(%rip), %rsi      # 0x10455
callq 0x6410
testl %eax, %eax
je 0x7ee7
movq %rbp, %rdi
leaq 0x867c(%rip), %rsi      # 0x10469
callq 0x6410
testl %eax, %eax
jne 0x7f33
orl $0x4000000, %r15d       # imm = 0x4000000
jmp 0x7eee
orl $0x1, %r15d
jmp 0x7eee
orl $0x2, %r15d
jmp 0x7eee
orl $0x4, %r15d
jmp 0x7eee
orl $0x8, %r15d
jmp 0x7eee
orl $0x10, %r15d
jmp 0x7eee
orl $0x20, %r15d
jmp 0x7eee
orl $0x40, %r15d
jmp 0x7eee
orl $0x80, %r15d
jmp 0x7eee
orl $0x100, %r15d           # imm = 0x100
jmp 0x7eee
orl $0x200, %r15d           # imm = 0x200
jmp 0x7eee
orl $0x400, %r15d           # imm = 0x400
jmp 0x7eee
orl $0x800, %r15d           # imm = 0x800
jmp 0x7eee
orl $0x1000, %r15d          # imm = 0x1000
jmp 0x7eee
orl $0x2000, %r15d          # imm = 0x2000
jmp 0x7eee
orl $0x8000, %r15d          # imm = 0x8000
jmp 0x7eee
orl $0x10000, %r15d         # imm = 0x10000
jmp 0x7eee
orl $0x20000, %r15d         # imm = 0x20000
jmp 0x7eee
orl $0x40000, %r15d         # imm = 0x40000
jmp 0x7eee
orl $0x80000, %r15d         # imm = 0x80000
jmp 0x7eee
orl $0x100000, %r15d        # imm = 0x100000
jmp 0x7eee
orl $0x200000, %r15d        # imm = 0x200000
jmp 0x7eee
orl $0x400000, %r15d        # imm = 0x400000
jmp 0x7eee
orl $0x800000, %r15d        # imm = 0x800000
jmp 0x7eee
orl $0x1000000, %r15d       # imm = 0x1000000
jmp 0x7eee
orl $0x2000000, %r15d       # imm = 0x2000000
incl %ebx
movq %r14, %rdi
movl %ebx, %esi
callq 0x69b0
testl %eax, %eax
jne 0x7b86
movl %r15d, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x837a(%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 0x82e4(%rip), %rsi      # 0x1021e
movq %r14, %rdi
movq %rbp, %rdx
xorl %eax, %eax
callq 0x63d0
movq %r14, %rdi
movl %ebx, %esi
movq %rax, %rdx
jmp 0x7f20