// File: /workspace/github_c_makefile_star2_O2/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 0x7edb
pushq $0x1
popq %rbx
movl %ebp, %esi
movq %r14, %rdi
callq 0x6300
jmp 0x813f
xorl %ebx, %ebx
testb $0x1, %bpl
je 0x7ef5
leaq 0x83b9(%rip), %rsi      # 0x102a3
movq %r14, %rdi
callq 0x6920
pushq $0x1
popq %rbx
testb $0x2, %bpl
je 0x7f0c
leaq 0x83b4(%rip), %rsi      # 0x102b6
movq %r14, %rdi
callq 0x6920
incl %ebx
testb $0x4, %bpl
je 0x7f23
leaq 0x83b5(%rip), %rsi      # 0x102ce
movq %r14, %rdi
callq 0x6920
incl %ebx
testb $0x8, %bpl
je 0x7f3a
leaq 0x83af(%rip), %rsi      # 0x102df
movq %r14, %rdi
callq 0x6920
incl %ebx
testb $0x10, %bpl
je 0x7f51
leaq 0x83a4(%rip), %rsi      # 0x102eb
movq %r14, %rdi
callq 0x6920
incl %ebx
testb $0x20, %bpl
je 0x7f68
leaq 0x839e(%rip), %rsi      # 0x102fc
movq %r14, %rdi
callq 0x6920
incl %ebx
testb $0x40, %bpl
je 0x7f7f
leaq 0x8393(%rip), %rsi      # 0x10308
movq %r14, %rdi
callq 0x6920
incl %ebx
testb %bpl, %bpl
jns 0x7f95
leaq 0x8390(%rip), %rsi      # 0x1031b
movq %r14, %rdi
callq 0x6920
incl %ebx
btl $0x8, %ebp
jae 0x7fac
leaq 0x838c(%rip), %rsi      # 0x1032e
movq %r14, %rdi
callq 0x6920
incl %ebx
btl $0x9, %ebp
jae 0x7fc3
leaq 0x838c(%rip), %rsi      # 0x10345
movq %r14, %rdi
callq 0x6920
incl %ebx
btl $0xa, %ebp
jae 0x7fda
leaq 0x8388(%rip), %rsi      # 0x10358
movq %r14, %rdi
callq 0x6920
incl %ebx
btl $0xb, %ebp
jae 0x7ff1
leaq 0x8389(%rip), %rsi      # 0x10370
movq %r14, %rdi
callq 0x6920
incl %ebx
btl $0xc, %ebp
jae 0x8008
leaq 0x8389(%rip), %rsi      # 0x10387
movq %r14, %rdi
callq 0x6920
incl %ebx
btl $0xd, %ebp
jae 0x801f
leaq 0x838d(%rip), %rsi      # 0x103a2
movq %r14, %rdi
callq 0x6920
incl %ebx
testw %bp, %bp
jns 0x8035
leaq 0x838c(%rip), %rsi      # 0x103b7
movq %r14, %rdi
callq 0x6920
incl %ebx
btl $0x10, %ebp
jae 0x804c
leaq 0x8384(%rip), %rsi      # 0x103c6
movq %r14, %rdi
callq 0x6920
incl %ebx
btl $0x11, %ebp
jae 0x8063
leaq 0x837e(%rip), %rsi      # 0x103d7
movq %r14, %rdi
callq 0x6920
incl %ebx
btl $0x12, %ebp
jae 0x807a
leaq 0x8379(%rip), %rsi      # 0x103e9
movq %r14, %rdi
callq 0x6920
incl %ebx
btl $0x13, %ebp
jae 0x8091
leaq 0x8370(%rip), %rsi      # 0x103f7
movq %r14, %rdi
callq 0x6920
incl %ebx
btl $0x14, %ebp
jae 0x80a8
leaq 0x836d(%rip), %rsi      # 0x1040b
movq %r14, %rdi
callq 0x6920
incl %ebx
btl $0x15, %ebp
jae 0x80bf
leaq 0x8365(%rip), %rsi      # 0x1041a
movq %r14, %rdi
callq 0x6920
incl %ebx
btl $0x16, %ebp
jae 0x80d6
leaq 0x835e(%rip), %rsi      # 0x1042a
movq %r14, %rdi
callq 0x6920
incl %ebx
btl $0x17, %ebp
jae 0x80ed
leaq 0x8356(%rip), %rsi      # 0x10439
movq %r14, %rdi
callq 0x6920
incl %ebx
btl $0x18, %ebp
jae 0x8104
leaq 0x8348(%rip), %rsi      # 0x10442
movq %r14, %rdi
callq 0x6920
incl %ebx
btl $0x19, %ebp
jae 0x811b
leaq 0x8344(%rip), %rsi      # 0x10455
movq %r14, %rdi
callq 0x6920
incl %ebx
btl $0x1a, %ebp
jb 0x812e
testl %ebp, %ebp
jne 0x813f
leaq 0x8105(%rip), %rsi      # 0x10231
jmp 0x8135
leaq 0x8334(%rip), %rsi      # 0x10469
movq %r14, %rdi
callq 0x6920
incl %ebx
movl %ebx, %eax
popq %rbx
popq %r14
popq %rbp
retq
nop