// File: /workspace/github_c_makefile_star2_O3/stetre[P]moonassimp/src/bitfields.c
// Function: moonassimp_pushpostprocessflags
int pushpostprocessflags(lua_State *L, unsigned int flags, int pushcode)
/* Pushes an integer followed by a list of strings */
    {
    int n = 0;
    if(pushcode)
        { lua_pushinteger(L, flags); return 1; }

#define CASE(CODE,str) do { if( flags & CODE) { lua_pushstring(L, str); n++; } } while(0)
        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
    if(flags==0) { lua_pushstring(L, "none"); n++; }
    return n;
    }

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
movl %esi, %ebp
movq %rdi, %r14
testl %edx, %edx
je 0x7f09
movl %ebp, %esi
movq %r14, %rdi
callq 0x6300
movl $0x1, %ebx
jmp 0x816f
xorl %ebx, %ebx
testb $0x1, %bpl
je 0x7f25
leaq 0x838b(%rip), %rsi      # 0x102a3
movq %r14, %rdi
callq 0x6920
movl $0x1, %ebx
testb $0x2, %bpl
je 0x7f3c
leaq 0x8384(%rip), %rsi      # 0x102b6
movq %r14, %rdi
callq 0x6920
incl %ebx
testb $0x4, %bpl
je 0x7f53
leaq 0x8385(%rip), %rsi      # 0x102ce
movq %r14, %rdi
callq 0x6920
incl %ebx
testb $0x8, %bpl
je 0x7f6a
leaq 0x837f(%rip), %rsi      # 0x102df
movq %r14, %rdi
callq 0x6920
incl %ebx
testb $0x10, %bpl
je 0x7f81
leaq 0x8374(%rip), %rsi      # 0x102eb
movq %r14, %rdi
callq 0x6920
incl %ebx
testb $0x20, %bpl
je 0x7f98
leaq 0x836e(%rip), %rsi      # 0x102fc
movq %r14, %rdi
callq 0x6920
incl %ebx
testb $0x40, %bpl
je 0x7faf
leaq 0x8363(%rip), %rsi      # 0x10308
movq %r14, %rdi
callq 0x6920
incl %ebx
testb %bpl, %bpl
jns 0x7fc5
leaq 0x8360(%rip), %rsi      # 0x1031b
movq %r14, %rdi
callq 0x6920
incl %ebx
btl $0x8, %ebp
jae 0x7fdc
leaq 0x835c(%rip), %rsi      # 0x1032e
movq %r14, %rdi
callq 0x6920
incl %ebx
btl $0x9, %ebp
jae 0x7ff3
leaq 0x835c(%rip), %rsi      # 0x10345
movq %r14, %rdi
callq 0x6920
incl %ebx
btl $0xa, %ebp
jae 0x800a
leaq 0x8358(%rip), %rsi      # 0x10358
movq %r14, %rdi
callq 0x6920
incl %ebx
btl $0xb, %ebp
jae 0x8021
leaq 0x8359(%rip), %rsi      # 0x10370
movq %r14, %rdi
callq 0x6920
incl %ebx
btl $0xc, %ebp
jae 0x8038
leaq 0x8359(%rip), %rsi      # 0x10387
movq %r14, %rdi
callq 0x6920
incl %ebx
btl $0xd, %ebp
jae 0x804f
leaq 0x835d(%rip), %rsi      # 0x103a2
movq %r14, %rdi
callq 0x6920
incl %ebx
testw %bp, %bp
jns 0x8065
leaq 0x835c(%rip), %rsi      # 0x103b7
movq %r14, %rdi
callq 0x6920
incl %ebx
btl $0x10, %ebp
jae 0x807c
leaq 0x8354(%rip), %rsi      # 0x103c6
movq %r14, %rdi
callq 0x6920
incl %ebx
btl $0x11, %ebp
jae 0x8093
leaq 0x834e(%rip), %rsi      # 0x103d7
movq %r14, %rdi
callq 0x6920
incl %ebx
btl $0x12, %ebp
jae 0x80aa
leaq 0x8349(%rip), %rsi      # 0x103e9
movq %r14, %rdi
callq 0x6920
incl %ebx
btl $0x13, %ebp
jae 0x80c1
leaq 0x8340(%rip), %rsi      # 0x103f7
movq %r14, %rdi
callq 0x6920
incl %ebx
btl $0x14, %ebp
jae 0x80d8
leaq 0x833d(%rip), %rsi      # 0x1040b
movq %r14, %rdi
callq 0x6920
incl %ebx
btl $0x15, %ebp
jae 0x80ef
leaq 0x8335(%rip), %rsi      # 0x1041a
movq %r14, %rdi
callq 0x6920
incl %ebx
btl $0x16, %ebp
jae 0x8106
leaq 0x832e(%rip), %rsi      # 0x1042a
movq %r14, %rdi
callq 0x6920
incl %ebx
btl $0x17, %ebp
jae 0x811d
leaq 0x8326(%rip), %rsi      # 0x10439
movq %r14, %rdi
callq 0x6920
incl %ebx
btl $0x18, %ebp
jae 0x8134
leaq 0x8318(%rip), %rsi      # 0x10442
movq %r14, %rdi
callq 0x6920
incl %ebx
btl $0x19, %ebp
jae 0x814b
leaq 0x8314(%rip), %rsi      # 0x10455
movq %r14, %rdi
callq 0x6920
incl %ebx
btl $0x1a, %ebp
jb 0x815e
testl %ebp, %ebp
jne 0x816f
leaq 0x80d5(%rip), %rsi      # 0x10231
jmp 0x8165
leaq 0x8304(%rip), %rsi      # 0x10469
movq %r14, %rdi
callq 0x6920
incl %ebx
movl %ebx, %eax
popq %rbx
popq %r14
popq %rbp
retq
nop