// File: /workspace/github_cpp_makefile_star2_O2/stetre[P]moonvulkan/src/flags.c
// Function: ImageUsageFlags
static int ImageUsageFlags(lua_State *L)
    {
    if(lua_type(L, 1) == LUA_TNUMBER)
        return pushimageusageflags(L, luaL_checkinteger(L, 1));
    lua_pushinteger(L, checkimageusageflags(L, 1));
    return 1;
    }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %rbx
pushq $0x1
popq %rbp
movl %ebp, %esi
callq 0x1a110
cmpl $0x3, %eax
jne 0x3b1ee
pushq $0x1
popq %r15
movq %rbx, %rdi
movl %r15d, %esi
callq 0x190d0
movq %rax, %r14
xorl %ebp, %ebp
testb $0x1, %r14b
je 0x3b12d
leaq 0x51053(%rip), %rsi     # 0x8c175
movq %rbx, %rdi
callq 0x1a2e0
movl %r15d, %ebp
testb $0x2, %r14b
je 0x3b144
leaq 0x51048(%rip), %rsi     # 0x8c182
movq %rbx, %rdi
callq 0x1a2e0
incl %ebp
testb $0x4, %r14b
je 0x3b15b
leaq 0x515eb(%rip), %rsi     # 0x8c73c
movq %rbx, %rdi
callq 0x1a2e0
incl %ebp
testb $0x8, %r14b
je 0x3b172
leaq 0x510f0(%rip), %rsi     # 0x8c258
movq %rbx, %rdi
callq 0x1a2e0
incl %ebp
testb $0x10, %r14b
je 0x3b189
leaq 0x515c5(%rip), %rsi     # 0x8c744
movq %rbx, %rdi
callq 0x1a2e0
incl %ebp
testb $0x20, %r14b
je 0x3b1a0
leaq 0x515bf(%rip), %rsi     # 0x8c755
movq %rbx, %rdi
callq 0x1a2e0
incl %ebp
testb $0x40, %r14b
je 0x3b1b7
leaq 0x515c1(%rip), %rsi     # 0x8c76e
movq %rbx, %rdi
callq 0x1a2e0
incl %ebp
testb %r14b, %r14b
jns 0x3b1cd
leaq 0x49d13(%rip), %rsi     # 0x84ed6
movq %rbx, %rdi
callq 0x1a2e0
incl %ebp
btl $0x9, %r14d
jae 0x3b32f
leaq 0x515a4(%rip), %rsi     # 0x8c783
movq %rbx, %rdi
callq 0x1a2e0
incl %ebp
jmp 0x3b32f
xorl %r14d, %r14d
leaq 0x50f7d(%rip), %r15     # 0x8c175
movl %ebp, %r12d
movq %rbx, %rdi
movl %r12d, %esi
callq 0x1a660
testl %eax, %eax
je 0x3b321
movq %rbx, %rdi
movl %r12d, %esi
xorl %edx, %edx
callq 0x18680
movq %rax, %r13
movq %rax, %rdi
movq %r15, %rsi
callq 0x18fe0
movl %ebp, %ecx
testl %eax, %eax
je 0x3b2f1
movq %r13, %rdi
leaq 0x50f45(%rip), %rsi     # 0x8c182
callq 0x18fe0
pushq $0x2
popq %rcx
testl %eax, %eax
je 0x3b2f1
movq %r13, %rdi
leaq 0x514e5(%rip), %rsi     # 0x8c73c
callq 0x18fe0
pushq $0x4
popq %rcx
testl %eax, %eax
je 0x3b2f1
movq %r13, %rdi
leaq 0x50fe7(%rip), %rsi     # 0x8c258
callq 0x18fe0
pushq $0x8
popq %rcx
testl %eax, %eax
je 0x3b2f1
movq %r13, %rdi
leaq 0x514bd(%rip), %rsi     # 0x8c744
callq 0x18fe0
pushq $0x10
popq %rcx
testl %eax, %eax
je 0x3b2f1
movq %r13, %rdi
leaq 0x514b8(%rip), %rsi     # 0x8c755
callq 0x18fe0
pushq $0x20
popq %rcx
testl %eax, %eax
je 0x3b2f1
movq %r13, %rdi
leaq 0x514bb(%rip), %rsi     # 0x8c76e
callq 0x18fe0
pushq $0x40
popq %rcx
testl %eax, %eax
je 0x3b2f1
movq %r13, %rdi
leaq 0x49c0d(%rip), %rsi     # 0x84ed6
callq 0x18fe0
testl %eax, %eax
je 0x3b2ec
movq %r13, %rdi
leaq 0x514a7(%rip), %rsi     # 0x8c783
callq 0x18fe0
movl $0x200, %ecx            # imm = 0x200
testl %eax, %eax
je 0x3b2f1
jmp 0x3b2fc
movl $0x80, %ecx
orl %ecx, %r14d
incl %r12d
jmp 0x3b1fb
leaq 0x446e3(%rip), %rsi     # 0x7f9e6
movq %rbx, %rdi
movq %r13, %rdx
xorl %eax, %eax
callq 0x18e90
movq %rbx, %rdi
movl %r12d, %esi
movq %rax, %rdx
callq 0x18420
movl %eax, %r14d
movl %r14d, %esi
movq %rbx, %rdi
callq 0x18b50
pushq $0x1
popq %rbp
movl %ebp, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq