// File: /workspace/github_cpp_makefile_star2_O3/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
movl $0x1, %esi
callq 0x1a0f0
cmpl $0x3, %eax
jne 0x3d80a
movq %rbx, %rdi
movl $0x1, %esi
callq 0x190e0
movq %rax, %r14
xorl %ebp, %ebp
testb $0x1, %r14b
je 0x3d749
leaq 0x5da39(%rip), %rsi     # 0x9b175
movq %rbx, %rdi
callq 0x1a2c0
movl $0x1, %ebp
testb $0x2, %r14b
je 0x3d760
leaq 0x5da2c(%rip), %rsi     # 0x9b182
movq %rbx, %rdi
callq 0x1a2c0
incl %ebp
testb $0x4, %r14b
je 0x3d777
leaq 0x5dfcf(%rip), %rsi     # 0x9b73c
movq %rbx, %rdi
callq 0x1a2c0
incl %ebp
testb $0x8, %r14b
je 0x3d78e
leaq 0x5dad4(%rip), %rsi     # 0x9b258
movq %rbx, %rdi
callq 0x1a2c0
incl %ebp
testb $0x10, %r14b
je 0x3d7a5
leaq 0x5dfa9(%rip), %rsi     # 0x9b744
movq %rbx, %rdi
callq 0x1a2c0
incl %ebp
testb $0x20, %r14b
je 0x3d7bc
leaq 0x5dfa3(%rip), %rsi     # 0x9b755
movq %rbx, %rdi
callq 0x1a2c0
incl %ebp
testb $0x40, %r14b
je 0x3d7d3
leaq 0x5dfa5(%rip), %rsi     # 0x9b76e
movq %rbx, %rdi
callq 0x1a2c0
incl %ebp
testb %r14b, %r14b
jns 0x3d7e9
leaq 0x566f7(%rip), %rsi     # 0x93ed6
movq %rbx, %rdi
callq 0x1a2c0
incl %ebp
btl $0x9, %r14d
jae 0x3d957
leaq 0x5df88(%rip), %rsi     # 0x9b783
movq %rbx, %rdi
callq 0x1a2c0
incl %ebp
jmp 0x3d957
movl $0x1, %ebp
movq %rbx, %rdi
movl $0x1, %esi
callq 0x1a640
xorl %r14d, %r14d
testl %eax, %eax
je 0x3d947
leaq 0x5d947(%rip), %r15     # 0x9b175
leaq 0x5d94d(%rip), %r12     # 0x9b182
movq %rbx, %rdi
movl %ebp, %esi
xorl %edx, %edx
callq 0x18680
movq %rax, %r13
movq %rax, %rdi
movq %r15, %rsi
callq 0x18ff0
testl %eax, %eax
je 0x3d8fa
movq %r13, %rdi
movq %r12, %rsi
callq 0x18ff0
testl %eax, %eax
je 0x3d901
movq %r13, %rdi
leaq 0x5dec8(%rip), %rsi     # 0x9b73c
callq 0x18ff0
testl %eax, %eax
je 0x3d908
movq %r13, %rdi
leaq 0x5d9cd(%rip), %rsi     # 0x9b258
callq 0x18ff0
testl %eax, %eax
je 0x3d90f
movq %r13, %rdi
leaq 0x5dea6(%rip), %rsi     # 0x9b744
callq 0x18ff0
testl %eax, %eax
je 0x3d916
movq %r13, %rdi
leaq 0x5dea4(%rip), %rsi     # 0x9b755
callq 0x18ff0
testl %eax, %eax
je 0x3d91d
movq %r13, %rdi
leaq 0x5deaa(%rip), %rsi     # 0x9b76e
callq 0x18ff0
testl %eax, %eax
je 0x3d924
movq %r13, %rdi
leaq 0x565ff(%rip), %rsi     # 0x93ed6
callq 0x18ff0
testl %eax, %eax
je 0x3d92b
movq %r13, %rdi
leaq 0x5de99(%rip), %rsi     # 0x9b783
callq 0x18ff0
movl $0x200, %ecx            # imm = 0x200
testl %eax, %eax
je 0x3d930
jmp 0x3d968
movl $0x1, %ecx
jmp 0x3d930
movl $0x2, %ecx
jmp 0x3d930
movl $0x4, %ecx
jmp 0x3d930
movl $0x8, %ecx
jmp 0x3d930
movl $0x10, %ecx
jmp 0x3d930
movl $0x20, %ecx
jmp 0x3d930
movl $0x40, %ecx
jmp 0x3d930
movl $0x80, %ecx
orl %ecx, %r14d
incl %ebp
movq %rbx, %rdi
movl %ebp, %esi
callq 0x1a640
testl %eax, %eax
jne 0x3d835
movl %r14d, %esi
movq %rbx, %rdi
callq 0x18b50
movl $0x1, %ebp
movl %ebp, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x51077(%rip), %rsi     # 0x8e9e6
movq %rbx, %rdi
movq %r13, %rdx
xorl %eax, %eax
callq 0x18ea0
movq %rbx, %rdi
movl %ebp, %esi
movq %rax, %rdx
callq 0x18410
movl %eax, %r14d
jmp 0x3d947