LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/charmap.c
// Function: encodingstring_microsoft
static const char* encodingstring_microsoft(unsigned int id)
    {
    switch(id)
        {
        case TT_MS_ID_SYMBOL_CS: return "symbol cs";
        case TT_MS_ID_UNICODE_CS: return "unicode cs";
        case TT_MS_ID_SJIS: return "sjis";
        case TT_MS_ID_GB2312: return "gb2312";
        case TT_MS_ID_BIG_5: return "big 5";
        case TT_MS_ID_WANSUNG: return "wansung";
        case TT_MS_ID_JOHAB: return "johab";
        case TT_MS_ID_UCS_4: return "ucs 4";
        default:
            return "unknown encoding id";
        }
    return NULL; /* unreachable */
    }

// Assembly:
movl %edi, -0xc(%rsp)
movl -0xc(%rsp), %eax
movq %rax, -0x18(%rsp)
subq $0xa, %rax
ja 0x8f6c
movq -0x18(%rsp), %rax
leaq 0x10345(%rip), %rcx     # 0x19238
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x1055e(%rip), %rax     # 0x19461
movq %rax, -0x8(%rsp)
jmp 0x8f78
leaq 0x1055a(%rip), %rax     # 0x1946b
movq %rax, -0x8(%rsp)
jmp 0x8f78
leaq 0x10557(%rip), %rax     # 0x19476
movq %rax, -0x8(%rsp)
jmp 0x8f78
leaq 0x1054e(%rip), %rax     # 0x1947b
movq %rax, -0x8(%rsp)
jmp 0x8f78
leaq 0x10547(%rip), %rax     # 0x19482
movq %rax, -0x8(%rsp)
jmp 0x8f78
leaq 0x1053f(%rip), %rax     # 0x19488
movq %rax, -0x8(%rsp)
jmp 0x8f78
leaq 0x10539(%rip), %rax     # 0x19490
movq %rax, -0x8(%rsp)
jmp 0x8f78
leaq 0x10531(%rip), %rax     # 0x19496
movq %rax, -0x8(%rsp)
jmp 0x8f78
leaq 0x103bc(%rip), %rax     # 0x1932f
movq %rax, -0x8(%rsp)
movq -0x8(%rsp), %rax
retq
nop
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/charmap.c
// Function: encodingstring_adobe
static const char* encodingstring_adobe(unsigned int id)
    {
    switch(id)
        {
        case TT_ADOBE_ID_STANDARD: return "standard";
        case TT_ADOBE_ID_EXPERT: return "expert";
        case TT_ADOBE_ID_CUSTOM: return "custom";
        case TT_ADOBE_ID_LATIN_1: return "latin 1";
        default:
            return "unknown encoding id";
        }
    return NULL; /* unreachable */
    }

// Assembly:
movl %edi, -0xc(%rsp)
movl -0xc(%rsp), %eax
movq %rax, -0x18(%rsp)
subq $0x3, %rax
ja 0x8ff0
movq -0x18(%rsp), %rax
leaq 0x102b5(%rip), %rcx     # 0x19264
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x10a05(%rip), %rax     # 0x199c4
movq %rax, -0x8(%rsp)
jmp 0x8ffc
leaq 0x10a1e(%rip), %rax     # 0x199eb
movq %rax, -0x8(%rsp)
jmp 0x8ffc
leaq 0x10a33(%rip), %rax     # 0x19a0e
movq %rax, -0x8(%rsp)
jmp 0x8ffc
leaq 0x10a48(%rip), %rax     # 0x19a31
movq %rax, -0x8(%rsp)
jmp 0x8ffc
leaq 0x10338(%rip), %rax     # 0x1932f
movq %rax, -0x8(%rsp)
movq -0x8(%rsp), %rax
retq
nop
nopw %cs:(%rax,%rax)
nop
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/computations.c
// Function: moonfreetype_checkvector
int checkvector(lua_State *L, int arg, FT_Vector *dst)
    {
    if(!lua_istable(L, arg))
        return luaL_argerror(L, arg, "table expected");
    lua_getfield(L, arg, "x"); dst->x = luaL_checkinteger(L, -1); lua_pop(L, 1);
    lua_getfield(L, arg, "y"); dst->y = luaL_checkinteger(L, -1); lua_pop(L, 1);
    return 1;
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movl %esi, 0x14(%rsp)
movq %rdx, 0x8(%rsp)
movq 0x18(%rsp), %rdi
movl 0x14(%rsp), %esi
callq 0x7c10
cmpl $0x5, %eax
je 0x9053
movq 0x18(%rsp), %rdi
movl 0x14(%rsp), %esi
leaq 0x10457(%rip), %rdx     # 0x1949c
callq 0x7260
movl %eax, 0x24(%rsp)
jmp 0x90d8
movq 0x18(%rsp), %rdi
movl 0x14(%rsp), %esi
leaq 0x12333(%rip), %rdx     # 0x1b396
callq 0x7d50
movq 0x18(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x7770
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq %rcx, (%rax)
movq 0x18(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x70b0
movq 0x18(%rsp), %rdi
movl 0x14(%rsp), %esi
leaq 0x122fd(%rip), %rdx     # 0x1b39e
callq 0x7d50
movq 0x18(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x7770
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x18(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x70b0
movl $0x1, 0x24(%rsp)
movl 0x24(%rsp), %eax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/computations.c
// Function: moonfreetype_pushvector
int pushvector(lua_State *L, FT_Vector vector)
    {
    lua_newtable(L);
    lua_pushinteger(L, vector.x);
    lua_setfield(L, -2, "x");
    lua_pushinteger(L, vector.y);
    lua_setfield(L, -2, "y");
    return 1;   
    }

// Assembly:
subq $0x18, %rsp
movq %rsi, 0x8(%rsp)
movq %rdx, 0x10(%rsp)
movq %rdi, (%rsp)
movq (%rsp), %rdi
xorl %edx, %edx
movl %edx, %esi
callq 0x73d0
movq (%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0x7540
movq (%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x12269(%rip), %rdx     # 0x1b396
callq 0x74f0
movq (%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x7540
movq (%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x1224e(%rip), %rdx     # 0x1b39e
callq 0x74f0
movl $0x1, %eax
addq $0x18, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/computations.c
// Function: moonfreetype_checkmatrix
int checkmatrix(lua_State *L, int arg, FT_Matrix *dst)
    {
    if(!lua_istable(L, arg))
        return luaL_argerror(L, arg, "table expected");
    lua_getfield(L, arg, "xx"); dst->xx = luaL_checkinteger(L, -1); lua_pop(L, 1);
    lua_getfield(L, arg, "xy"); dst->xy = luaL_checkinteger(L, -1); lua_pop(L, 1);
    lua_getfield(L, arg, "yx"); dst->yx = luaL_checkinteger(L, -1); lua_pop(L, 1);
    lua_getfield(L, arg, "yy"); dst->yy = luaL_checkinteger(L, -1); lua_pop(L, 1);
    return 0;
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movl %esi, 0x14(%rsp)
movq %rdx, 0x8(%rsp)
movq 0x18(%rsp), %rdi
movl 0x14(%rsp), %esi
callq 0x7c10
cmpl $0x5, %eax
je 0x91a3
movq 0x18(%rsp), %rdi
movl 0x14(%rsp), %esi
leaq 0x10307(%rip), %rdx     # 0x1949c
callq 0x7260
movl %eax, 0x24(%rsp)
jmp 0x92a6
movq 0x18(%rsp), %rdi
movl 0x14(%rsp), %esi
leaq 0x102f8(%rip), %rdx     # 0x194ab
callq 0x7d50
movq 0x18(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x7770
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq %rcx, (%rax)
movq 0x18(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x70b0
movq 0x18(%rsp), %rdi
movl 0x14(%rsp), %esi
leaq 0x122be(%rip), %rdx     # 0x1b4af
callq 0x7d50
movq 0x18(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x7770
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x18(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x70b0
movq 0x18(%rsp), %rdi
movl 0x14(%rsp), %esi
leaq 0x1027e(%rip), %rdx     # 0x194ae
callq 0x7d50
movq 0x18(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x7770
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x18(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x70b0
movq 0x18(%rsp), %rdi
movl 0x14(%rsp), %esi
leaq 0x10242(%rip), %rdx     # 0x194b1
callq 0x7d50
movq 0x18(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x7770
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x18(%rax)
movq 0x18(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x70b0
movl $0x0, 0x24(%rsp)
movl 0x24(%rsp), %eax
addq $0x28, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/computations.c
// Function: moonfreetype_pushmatrix
int pushmatrix(lua_State *L, FT_Matrix matrix)
    {
    lua_newtable(L);
    lua_pushinteger(L, matrix.xx);
    lua_setfield(L, -2, "xx");
    lua_pushinteger(L, matrix.xy);
    lua_setfield(L, -2, "xy");
    lua_pushinteger(L, matrix.yx);
    lua_setfield(L, -2, "yx");
    lua_pushinteger(L, matrix.yy);
    lua_setfield(L, -2, "yy");
    return 1;   
    }

// Assembly:
subq $0x18, %rsp
leaq 0x20(%rsp), %rax
movq %rax, 0x8(%rsp)
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rdi
xorl %edx, %edx
movl %edx, %esi
callq 0x73d0
movq 0x8(%rsp), %rax
movq 0x10(%rsp), %rdi
movq (%rax), %rsi
callq 0x7540
movq 0x10(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x101b7(%rip), %rdx     # 0x194ab
callq 0x74f0
movq 0x8(%rsp), %rax
movq 0x10(%rsp), %rdi
movq 0x8(%rax), %rsi
callq 0x7540
movq 0x10(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x12192(%rip), %rdx     # 0x1b4af
callq 0x74f0
movq 0x8(%rsp), %rax
movq 0x10(%rsp), %rdi
movq 0x10(%rax), %rsi
callq 0x7540
movq 0x10(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x10168(%rip), %rdx     # 0x194ae
callq 0x74f0
movq 0x8(%rsp), %rax
movq 0x10(%rsp), %rdi
movq 0x18(%rax), %rsi
callq 0x7540
movq 0x10(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x10142(%rip), %rdx     # 0x194b1
callq 0x74f0
movl $0x1, %eax
addq $0x18, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/computations.c
// Function: AddConstants
static int AddConstants(lua_State *L)
    {
#define ADD(c) do { lua_pushinteger(L, FT_##c); lua_setfield(L, -2, #c); } while(0)
    /* FT_ANGLE_XX */
    ADD(ANGLE_PI);
    ADD(ANGLE_2PI);
    ADD(ANGLE_PI2);
    ADD(ANGLE_PI4);
#undef ADD
    return 0;
    }

// Assembly:
pushq %rax
movq %rdi, (%rsp)
movq (%rsp), %rdi
movl $0xb40000, %esi         # imm = 0xB40000
callq 0x7540
movq (%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x100e1(%rip), %rdx     # 0x194b4
callq 0x74f0
jmp 0x93da
movq (%rsp), %rdi
movl $0x1680000, %esi        # imm = 0x1680000
callq 0x7540
movq (%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x100c5(%rip), %rdx     # 0x194bd
callq 0x74f0
jmp 0x93ff
movq (%rsp), %rdi
movl $0x5a0000, %esi         # imm = 0x5A0000
callq 0x7540
movq (%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x100aa(%rip), %rdx     # 0x194c7
callq 0x74f0
jmp 0x9424
movq (%rsp), %rdi
movl $0x2d0000, %esi         # imm = 0x2D0000
callq 0x7540
movq (%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x1008f(%rip), %rdx     # 0x194d1
callq 0x74f0
xorl %eax, %eax
popq %rcx
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/computations.c
// Function: Muldiv
static int Muldiv(lua_State *L)
    {
    FT_Long a = luaL_checkinteger(L, 1);
    FT_Long b = luaL_checkinteger(L, 2);
    FT_Long c = luaL_checkinteger(L, 3);
    lua_pushinteger(L, FT_MulDiv(a, b, c));
    return 1;
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq 0x20(%rsp), %rdi
movl $0x1, %esi
callq 0x7770
movq %rax, 0x18(%rsp)
movq 0x20(%rsp), %rdi
movl $0x2, %esi
callq 0x7770
movq %rax, 0x10(%rsp)
movq 0x20(%rsp), %rdi
movl $0x3, %esi
callq 0x7770
movq %rax, 0x8(%rsp)
movq 0x20(%rsp), %rax
movq %rax, (%rsp)
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
movq 0x8(%rsp), %rdx
callq 0x7620
movq (%rsp), %rdi
movq %rax, %rsi
callq 0x7540
movl $0x1, %eax
addq $0x28, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/computations.c
// Function: Mulfix
static int Mulfix(lua_State *L)
    {
    FT_Long a = luaL_checkinteger(L, 1);
    FT_Long b = luaL_checkinteger(L, 2);
    lua_pushinteger(L, FT_MulFix(a, b));
    return 1;
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq 0x20(%rsp), %rdi
movl $0x1, %esi
callq 0x7770
movq %rax, 0x18(%rsp)
movq 0x20(%rsp), %rdi
movl $0x2, %esi
callq 0x7770
movq %rax, 0x10(%rsp)
movq 0x20(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x7720
movq 0x8(%rsp), %rdi
movq %rax, %rsi
callq 0x7540
movl $0x1, %eax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/computations.c
// Function: Vector_rotate
static int Vector_rotate(lua_State *L)
    {
    FT_Vector vec;
    FT_Angle angle;
    checkvector(L, 1, &vec);
    angle = luaL_checkinteger(L, 2);
    FT_Vector_Rotate(&vec, angle);
    return pushvector(L, vec);
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq 0x20(%rsp), %rdi
movl $0x1, %esi
leaq 0x10(%rsp), %rdx
callq 0x7730
movq 0x20(%rsp), %rdi
movl $0x2, %esi
callq 0x7770
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rsi
leaq 0x10(%rsp), %rdi
callq 0x7350
movq 0x20(%rsp), %rdi
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
callq 0x7bb0
addq $0x28, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/computations.c
// Function: Vector_polarize
static int Vector_polarize(lua_State *L)
    {
    FT_Vector vec;
    FT_Fixed length;
    FT_Angle angle;
    checkvector(L, 1, &vec);
    FT_Vector_Polarize(&vec, &length, &angle);
    lua_pushinteger(L, length);
    lua_pushinteger(L, angle);
    return 2;
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq 0x20(%rsp), %rdi
movl $0x1, %esi
leaq 0x10(%rsp), %rdx
callq 0x7730
leaq 0x10(%rsp), %rdi
leaq 0x8(%rsp), %rsi
movq %rsp, %rdx
callq 0x7d70
movq 0x20(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0x7540
movq 0x20(%rsp), %rdi
movq (%rsp), %rsi
callq 0x7540
movl $0x2, %eax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/computations.c
// Function: Vector_from_polar
static int Vector_from_polar(lua_State *L)
    {
    FT_Vector vec;
    FT_Fixed length = luaL_checkinteger(L, 1);
    FT_Angle angle = luaL_checkinteger(L, 2);
    FT_Vector_From_Polar(&vec, length, angle);
    return pushvector(L, vec);
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq 0x20(%rsp), %rdi
movl $0x1, %esi
callq 0x7770
movq %rax, 0x8(%rsp)
movq 0x20(%rsp), %rdi
movl $0x2, %esi
callq 0x7770
movq %rax, (%rsp)
movq 0x8(%rsp), %rsi
movq (%rsp), %rdx
leaq 0x10(%rsp), %rdi
callq 0x7820
movq 0x20(%rsp), %rdi
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
callq 0x7bb0
addq $0x28, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/computations.c
// Function: Vector_transform
static int Vector_transform(lua_State *L)
    {
    FT_Vector vec;
    FT_Matrix mat;
    checkvector(L, 1, &vec);
    checkmatrix(L, 2, &mat);
    FT_Vector_Transform(&vec, &mat);
    return pushvector(L, vec);
    }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq 0x30(%rsp), %rdi
movl $0x1, %esi
leaq 0x20(%rsp), %rdx
callq 0x7730
movq 0x30(%rsp), %rdi
movl $0x2, %esi
movq %rsp, %rdx
callq 0x7d80
leaq 0x20(%rsp), %rdi
movq %rsp, %rsi
callq 0x7b70
movq 0x30(%rsp), %rdi
movq 0x20(%rsp), %rsi
movq 0x28(%rsp), %rdx
callq 0x7bb0
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/computations.c
// Function: Matrix_multiply
static int Matrix_multiply(lua_State *L)
    {
    FT_Matrix a;
    FT_Matrix b;
    checkmatrix(L, 1, &a);
    checkmatrix(L, 1, &b);
    FT_Matrix_Multiply(&a, &b);
    return pushmatrix(L, b);
    }

// Assembly:
subq $0x68, %rsp
movq %rdi, 0x60(%rsp)
movq 0x60(%rsp), %rdi
movl $0x1, %esi
leaq 0x40(%rsp), %rdx
callq 0x7d80
movq 0x60(%rsp), %rdi
movl $0x1, %esi
leaq 0x20(%rsp), %rdx
callq 0x7d80
leaq 0x40(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x7030
movq 0x60(%rsp), %rdi
leaq 0x20(%rsp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rcx
movq %rcx, 0x10(%rsp)
movq 0x18(%rax), %rax
movq %rax, 0x18(%rsp)
callq 0x7bf0
addq $0x68, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/computations.c
// Function: Matrix_invert
static int Matrix_invert(lua_State *L)
    {
    FT_Error ec;
    FT_Matrix mat;
    checkmatrix(L, 1, &mat);
    ec = FT_Matrix_Invert(&mat);
    CheckError(L, ec);
    return pushmatrix(L, mat);
    }

// Assembly:
subq $0x68, %rsp
movq %rdi, 0x58(%rsp)
movq 0x58(%rsp), %rdi
movl $0x1, %esi
leaq 0x30(%rsp), %rdx
callq 0x7d80
leaq 0x30(%rsp), %rdi
callq 0x7900
movl %eax, 0x54(%rsp)
cmpl $0x0, 0x54(%rsp)
je 0x9b6a
movq 0x58(%rsp), %rax
movq %rax, 0x28(%rsp)
movl 0x54(%rsp), %edi
callq 0x7d30
movq 0x28(%rsp), %rdi
movq %rax, %rsi
movb $0x0, %al
callq 0x7a70
movl %eax, 0x64(%rsp)
jmp 0x9ba1
jmp 0x9b6c
movq 0x58(%rsp), %rdi
leaq 0x30(%rsp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rcx
movq %rcx, 0x10(%rsp)
movq 0x18(%rax), %rax
movq %rax, 0x18(%rsp)
callq 0x7bf0
movl %eax, 0x64(%rsp)
movl 0x64(%rsp), %eax
addq $0x68, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/face.c
// Function: moonfreetype_checkface
FT_Face* checkface(lua_State *L, int arg)
    {
    FT_Face *p = testface(L, arg);
    if(p) return p;
    luaL_argerror(L, arg, "not a face");
    return NULL;
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movl %esi, 0x14(%rsp)
movq 0x18(%rsp), %rdi
movl 0x14(%rsp), %esi
callq 0x7d20
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
je 0xe294
movq 0x8(%rsp), %rax
movq %rax, 0x20(%rsp)
jmp 0xe2b2
movq 0x18(%rsp), %rdi
movl 0x14(%rsp), %esi
leaq 0xc49a(%rip), %rdx      # 0x1a73e
callq 0x7260
movq $0x0, 0x20(%rsp)
movq 0x20(%rsp), %rax
addq $0x28, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/face.c
// Function: moonfreetype_newface
int newface(lua_State *L)
/* face = new_face(filepathname [, index=0 [, instance=0]]) */
    {
    FT_Error ec;
    ud_t *ud;
    FT_Library *library = checklibrary(L, 1);
    const char* filepathname = luaL_checkstring(L, 2);
    FT_Long index = luaL_optinteger(L, 3, 0);
    FT_Long instance = luaL_optinteger(L, 3, 0);
    FT_Face *face = (FT_Face*)Malloc(L, sizeof(FT_Face));
    FT_Long face_index = ((instance & 0x00007fff) << 16) | (index & 0x0000ffff);
    

    ec = FT_New_Face(*library, filepathname, face_index, face);
    DBG("created face %p %s\n", (void*)face, filepathname);
    DBG("ec=%d\n", ec);

    if(ec)
        {
        Free(L, face);
        //return nil_fterror(L, ec);
        CheckError(L, ec); /* raises an error */
        return 0;
        }
    DBG("face glyph %p\n", (void*)(*face)->glyph);
    
    newuserdata(L, (void*)face, FACE_MT);
    ud = userdata(face);
    ud->library = *library;
    return 1;
    }

// Assembly:
subq $0x58, %rsp
movq %rdi, 0x48(%rsp)
movq 0x48(%rsp), %rdi
movl $0x1, %esi
callq 0x76d0
movq %rax, 0x30(%rsp)
movq 0x48(%rsp), %rdi
movl $0x2, %esi
xorl %eax, %eax
movl %eax, %edx
callq 0x7630
movq %rax, 0x28(%rsp)
movq 0x48(%rsp), %rdi
movl $0x3, %esi
xorl %eax, %eax
movl %eax, %edx
callq 0x7830
movq %rax, 0x20(%rsp)
movq 0x48(%rsp), %rdi
movl $0x3, %esi
xorl %eax, %eax
movl %eax, %edx
callq 0x7830
movq %rax, 0x18(%rsp)
movq 0x48(%rsp), %rdi
movl $0x8, %esi
callq 0x7c20
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rax
andq $0x7fff, %rax           # imm = 0x7FFF
shlq $0x10, %rax
movq 0x20(%rsp), %rcx
andq $0xffff, %rcx           # imm = 0xFFFF
orq %rcx, %rax
movq %rax, 0x8(%rsp)
movq 0x30(%rsp), %rax
movq (%rax), %rdi
movq 0x28(%rsp), %rsi
movq 0x8(%rsp), %rdx
movq 0x10(%rsp), %rcx
callq 0x74c0
movl %eax, 0x44(%rsp)
movq 0x10(%rsp), %rsi
movq 0x28(%rsp), %rdx
leaq 0xc3bc(%rip), %rdi      # 0x1a749
movb $0x0, %al
callq 0x7270
movl 0x44(%rsp), %esi
leaq 0xcdde(%rip), %rdi      # 0x1b17d
movb $0x0, %al
callq 0x7270
cmpl $0x0, 0x44(%rsp)
je 0xe3f5
movq 0x48(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x79f0
cmpl $0x0, 0x44(%rsp)
je 0xe3e9
movq 0x48(%rsp), %rax
movq %rax, (%rsp)
movl 0x44(%rsp), %edi
callq 0x7d30
movq (%rsp), %rdi
movq %rax, %rsi
movb $0x0, %al
callq 0x7a70
movl %eax, 0x54(%rsp)
jmp 0xe450
jmp 0xe3eb
movl $0x0, 0x54(%rsp)
jmp 0xe450
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x98(%rax), %rsi
leaq 0xc352(%rip), %rdi      # 0x1a75d
movb $0x0, %al
callq 0x7270
movq 0x48(%rsp), %rdi
movq 0x10(%rsp), %rsi
leaq 0xabdd(%rip), %rdx      # 0x19000
callq 0x72b0
movq 0x10(%rsp), %rdi
callq 0x7230
movq %rax, 0x38(%rsp)
movq 0x30(%rsp), %rax
movq (%rax), %rcx
movq 0x38(%rsp), %rax
movq %rcx, 0x8(%rax)
movl $0x1, 0x54(%rsp)
movl 0x54(%rsp), %eax
addq $0x58, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/face.c
// Function: moonfreetype_freeface
int freeface(lua_State *L, FT_Face *face)
    {
    FT_Error ec;
    /* delete all contained objects */
    udata_scan(L, SIZE_MT, face, Freesize);
    if(!freeuserdata(L, face))
        return 0; /* double call */
    DBG("deleting face %p\n", (void*)face);
    ec = FT_Done_Face(*face);
    Free(L, face);
    CheckError(L, ec);
    return 0;
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq %rsi, 0x10(%rsp)
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rdx
leaq 0xc2ed(%rip), %rsi      # 0x1a76c
leaq 0x9a(%rip), %rcx        # 0xe520
callq 0x7ab0
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x7380
cmpl $0x0, %eax
jne 0xe4a9
movl $0x0, 0x24(%rsp)
jmp 0xe513
movq 0x10(%rsp), %rsi
leaq 0xc2c9(%rip), %rdi      # 0x1a77e
movb $0x0, %al
callq 0x7270
movq 0x10(%rsp), %rax
movq (%rax), %rdi
callq 0x73a0
movl %eax, 0xc(%rsp)
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x79f0
cmpl $0x0, 0xc(%rsp)
je 0xe509
movq 0x18(%rsp), %rax
movq %rax, (%rsp)
movl 0xc(%rsp), %edi
callq 0x7d30
movq (%rsp), %rdi
movq %rax, %rsi
movb $0x0, %al
callq 0x7a70
movl %eax, 0x24(%rsp)
jmp 0xe513
jmp 0xe50b
movl $0x0, 0x24(%rsp)
movl 0x24(%rsp), %eax
addq $0x28, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/face.c
// Function: Freesize
static int Freesize(lua_State *L, const void *size, const void *face)
    {
    ud_t *ud = userdata(size);
    if(ud->face == (FT_Face)face)
        freesize(L, (FT_Size*)size);
    return 0;
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq %rdx, 0x10(%rsp)
movq 0x18(%rsp), %rdi
callq 0x7230
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rax
cmpq 0x10(%rsp), %rax
jne 0xe561
movq 0x20(%rsp), %rdi
movq 0x18(%rsp), %rsi
callq 0x7910
xorl %eax, %eax
addq $0x28, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/face.c
// Function: Set_pixel_sizes
static int Set_pixel_sizes(lua_State *L)
    {
    FT_Error ec;
    FT_Face *face = checkface(L, 1);
    FT_UInt width = luaL_checkinteger(L, 2);
    FT_UInt height = luaL_checkinteger(L, 3);
    DBG("set_pixel_sizes %p, %d ,%d\n",(void*)face, width, height);
    ec = FT_Set_Pixel_Sizes(*face, width, height);
    CheckError(L, ec);
    return 0;
    }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq 0x28(%rsp), %rdi
movl $0x1, %esi
callq 0x7ac0
movq %rax, 0x18(%rsp)
movq 0x28(%rsp), %rdi
movl $0x2, %esi
callq 0x7770
movl %eax, 0x14(%rsp)
movq 0x28(%rsp), %rdi
movl $0x3, %esi
callq 0x7770
movl %eax, 0x10(%rsp)
movq 0x18(%rsp), %rsi
movl 0x14(%rsp), %edx
movl 0x10(%rsp), %ecx
leaq 0xc3fa(%rip), %rdi      # 0x1aa51
movb $0x0, %al
callq 0x7270
movq 0x18(%rsp), %rax
movq (%rax), %rdi
movl 0x14(%rsp), %esi
movl 0x10(%rsp), %edx
callq 0x71e0
movl %eax, 0x24(%rsp)
cmpl $0x0, 0x24(%rsp)
je 0xe6a6
movq 0x28(%rsp), %rax
movq %rax, 0x8(%rsp)
movl 0x24(%rsp), %edi
callq 0x7d30
movq 0x8(%rsp), %rdi
movq %rax, %rsi
movb $0x0, %al
callq 0x7a70
movl %eax, 0x34(%rsp)
jmp 0xe6b0
jmp 0xe6a8
movl $0x0, 0x34(%rsp)
movl 0x34(%rsp), %eax
addq $0x38, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/face.c
// Function: Load_char
static int Load_char(lua_State *L)
/* glyph = load_char(charcode [, load_flags = "default"]) */
    {
    FT_Error ec;
    FT_Int32 load_flags;
    FT_Face *face = checkface(L, 1);
    FT_ULong char_code = checkcharcode(L, 2);
    load_flags = checkflags(L, 3); //checkloadflags
    ec = FT_Load_Char(*face, char_code, load_flags);
    CheckError(L, ec);
    return 0;
    }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq 0x28(%rsp), %rdi
movl $0x1, %esi
callq 0x7ac0
movq %rax, 0x18(%rsp)
movq 0x28(%rsp), %rdi
movl $0x2, %esi
callq 0x7aa0
movq %rax, 0x10(%rsp)
movq 0x28(%rsp), %rdi
movl $0x3, %esi
callq 0x7770
movl %eax, 0x20(%rsp)
movq 0x18(%rsp), %rax
movq (%rax), %rdi
movq 0x10(%rsp), %rsi
movl 0x20(%rsp), %edx
callq 0x7850
movl %eax, 0x24(%rsp)
cmpl $0x0, 0x24(%rsp)
je 0xe74d
movq 0x28(%rsp), %rax
movq %rax, 0x8(%rsp)
movl 0x24(%rsp), %edi
callq 0x7d30
movq 0x8(%rsp), %rdi
movq %rax, %rsi
movb $0x0, %al
callq 0x7a70
movl %eax, 0x34(%rsp)
jmp 0xe757
jmp 0xe74f
movl $0x0, 0x34(%rsp)
movl 0x34(%rsp), %eax
addq $0x38, %rsp
retq
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/face.c
// Function: Load_glyph
static int Load_glyph(lua_State *L)
/* glyph = load_glyph(glyph_index [, load_flags = "default"]) */
    {
    FT_Error ec;
    FT_Int32 load_flags;
    FT_Face *face = checkface(L, 1);
    FT_UInt glyph_index = checkindex(L, 2);
    load_flags = checkflags(L, 3); //checkloadflags
    ec = FT_Load_Glyph(*face, glyph_index, load_flags);
    CheckError(L, ec);
    return 0;
    }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq 0x28(%rsp), %rdi
movl $0x1, %esi
callq 0x7ac0
movq %rax, 0x18(%rsp)
movq 0x28(%rsp), %rdi
movl $0x2, %esi
callq 0x7340
movl %eax, 0x14(%rsp)
movq 0x28(%rsp), %rdi
movl $0x3, %esi
callq 0x7770
movl %eax, 0x20(%rsp)
movq 0x18(%rsp), %rax
movq (%rax), %rdi
movl 0x14(%rsp), %esi
movl 0x20(%rsp), %edx
callq 0x7150
movl %eax, 0x24(%rsp)
cmpl $0x0, 0x24(%rsp)
je 0xe7eb
movq 0x28(%rsp), %rax
movq %rax, 0x8(%rsp)
movl 0x24(%rsp), %edi
callq 0x7d30
movq 0x8(%rsp), %rdi
movq %rax, %rsi
movb $0x0, %al
callq 0x7a70
movl %eax, 0x34(%rsp)
jmp 0xe7f5
jmp 0xe7ed
movl $0x0, 0x34(%rsp)
movl 0x34(%rsp), %eax
addq $0x38, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/face.c
// Function: Get_char_index
static int Get_char_index(lua_State *L)
/* glyph_index = get_char_index(char_code) 
 * returns nil if character undefined */
    {
    FT_Face *face = checkface(L, 1);
    FT_ULong char_code = checkcharcode(L, 2);
    FT_UInt glyph_index = FT_Get_Char_Index(*face, char_code);
    if(!glyph_index)    
        return 0;
    pushindex(L, glyph_index);
    return 1;
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq 0x18(%rsp), %rdi
movl $0x1, %esi
callq 0x7ac0
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rdi
movl $0x2, %esi
callq 0x7aa0
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rax
movq (%rax), %rdi
movq 0x8(%rsp), %rsi
callq 0x7a10
movl %eax, 0x4(%rsp)
cmpl $0x0, 0x4(%rsp)
jne 0xe858
movl $0x0, 0x24(%rsp)
jmp 0xe86e
movq 0x18(%rsp), %rdi
movl 0x4(%rsp), %esi
callq 0x7ce0
movl $0x1, 0x24(%rsp)
movl 0x24(%rsp), %eax
addq $0x28, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/face.c
// Function: Get_name_index
static int Get_name_index(lua_State *L)
/* glyph_index = get_name_index(name) 
 * returns nil if character undefined */
    {
    FT_Face *face = checkface(L, 1);
    FT_String *name = (FT_String*)luaL_checkstring(L, 2);
    FT_UInt glyph_index = FT_Get_Name_Index(*face, name);
    if(!glyph_index)    
        return 0;
    pushindex(L, glyph_index);
    return 1;
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq 0x18(%rsp), %rdi
movl $0x1, %esi
callq 0x7ac0
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rdi
movl $0x2, %esi
xorl %eax, %eax
movl %eax, %edx
callq 0x7630
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rax
movq (%rax), %rdi
movq 0x8(%rsp), %rsi
callq 0x7140
movl %eax, 0x4(%rsp)
cmpl $0x0, 0x4(%rsp)
jne 0xe8dc
movl $0x0, 0x24(%rsp)
jmp 0xe8f2
movq 0x18(%rsp), %rdi
movl 0x4(%rsp), %esi
callq 0x7ce0
movl $0x1, 0x24(%rsp)
movl 0x24(%rsp), %eax
addq $0x28, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/face.c
// Function: Get_first_char
static int Get_first_char(lua_State *L)
    {
    FT_ULong char_code;
    FT_UInt glyph_index;
    FT_Face *face = checkface(L, 1);
    char_code = FT_Get_First_Char(*face, &glyph_index);
    if(glyph_index==0)
        return 0;
    lua_pushinteger(L, char_code);
    lua_pushinteger(L, glyph_index);
    return 2;
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq 0x18(%rsp), %rdi
movl $0x1, %esi
callq 0x7ac0
movq %rax, (%rsp)
movq (%rsp), %rax
movq (%rax), %rdi
leaq 0xc(%rsp), %rsi
callq 0x7570
movq %rax, 0x10(%rsp)
cmpl $0x0, 0xc(%rsp)
jne 0xe943
movl $0x0, 0x24(%rsp)
jmp 0xe96a
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x7540
movq 0x18(%rsp), %rdi
movl 0xc(%rsp), %eax
movl %eax, %esi
callq 0x7540
movl $0x2, 0x24(%rsp)
movl 0x24(%rsp), %eax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/face.c
// Function: Get_next_char
static int Get_next_char(lua_State *L)
    {
    FT_UInt glyph_index;
    FT_Face *face = checkface(L, 1);
    FT_ULong char_code = checkcharcode(L, 2);
    char_code = FT_Get_Next_Char(*face, char_code, &glyph_index);
    if(glyph_index==0)
        return 0;
    lua_pushinteger(L, char_code);
    lua_pushinteger(L, glyph_index);
    return 2;
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq 0x18(%rsp), %rdi
movl $0x1, %esi
callq 0x7ac0
movq %rax, 0x8(%rsp)
movq 0x18(%rsp), %rdi
movl $0x2, %esi
callq 0x7aa0
movq %rax, (%rsp)
movq 0x8(%rsp), %rax
movq (%rax), %rdi
movq (%rsp), %rsi
leaq 0x14(%rsp), %rdx
callq 0x7b00
movq %rax, (%rsp)
cmpl $0x0, 0x14(%rsp)
jne 0xe9db
movl $0x0, 0x24(%rsp)
jmp 0xea01
movq 0x18(%rsp), %rdi
movq (%rsp), %rsi
callq 0x7540
movq 0x18(%rsp), %rdi
movl 0x14(%rsp), %eax
movl %eax, %esi
callq 0x7540
movl $0x2, 0x24(%rsp)
movl 0x24(%rsp), %eax
addq $0x28, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/face.c
// Function: Select_size
static int Select_size(lua_State *L)
    {
    FT_Error ec;
    FT_Face *face = checkface(L, 1);
    FT_Int index = checkindex(L, 2);
    ec = FT_Select_Size(*face, index);
    CheckError(L, ec);
    return 0;
    }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq 0x28(%rsp), %rdi
movl $0x1, %esi
callq 0x7ac0
movq %rax, 0x18(%rsp)
movq 0x28(%rsp), %rdi
movl $0x2, %esi
callq 0x7340
movl %eax, 0x14(%rsp)
movq 0x18(%rsp), %rax
movq (%rax), %rdi
movl 0x14(%rsp), %esi
callq 0x79c0
movl %eax, 0x24(%rsp)
cmpl $0x0, 0x24(%rsp)
je 0xea84
movq 0x28(%rsp), %rax
movq %rax, 0x8(%rsp)
movl 0x24(%rsp), %edi
callq 0x7d30
movq 0x8(%rsp), %rdi
movq %rax, %rsi
movb $0x0, %al
callq 0x7a70
movl %eax, 0x34(%rsp)
jmp 0xea8e
jmp 0xea86
movl $0x0, 0x34(%rsp)
movl 0x34(%rsp), %eax
addq $0x38, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/face.c
// Function: Request_size
static int Request_size(lua_State *L)
    {
    FT_Error ec;
    FT_Size_RequestRec rec;
    FT_Face *face = checkface(L, 1);
    rec.type = (FT_Size_Request_Type)checksizerequesttype(L, 2);
    rec.width = luaL_checkinteger(L, 3);
    rec.height = luaL_checkinteger(L, 4);
    rec.horiResolution = luaL_checkinteger(L, 5);
    rec.vertResolution = luaL_checkinteger(L, 6);
    ec = FT_Request_Size(*face, &rec);
    CheckError(L, ec);
    return 0;
    }

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x38(%rsp)
movq 0x38(%rsp), %rdi
movl $0x1, %esi
callq 0x7ac0
movq %rax, 0x8(%rsp)
movq 0x38(%rsp), %rdi
movl $0x7, %esi
movl $0x2, %edx
callq 0x7b20
movl %eax, 0x10(%rsp)
movq 0x38(%rsp), %rdi
movl $0x3, %esi
callq 0x7770
movq %rax, 0x18(%rsp)
movq 0x38(%rsp), %rdi
movl $0x4, %esi
callq 0x7770
movq %rax, 0x20(%rsp)
movq 0x38(%rsp), %rdi
movl $0x5, %esi
callq 0x7770
movl %eax, 0x28(%rsp)
movq 0x38(%rsp), %rdi
movl $0x6, %esi
callq 0x7770
movl %eax, 0x2c(%rsp)
movq 0x8(%rsp), %rax
movq (%rax), %rdi
leaq 0x10(%rsp), %rsi
callq 0x7790
movl %eax, 0x34(%rsp)
cmpl $0x0, 0x34(%rsp)
je 0xeb66
movq 0x38(%rsp), %rax
movq %rax, (%rsp)
movl 0x34(%rsp), %edi
callq 0x7d30
movq (%rsp), %rdi
movq %rax, %rsi
movb $0x0, %al
callq 0x7a70
movl %eax, 0x44(%rsp)
jmp 0xeb70
jmp 0xeb68
movl $0x0, 0x44(%rsp)
movl 0x44(%rsp), %eax
addq $0x48, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/face.c
// Function: Set_char_size
static int Set_char_size(lua_State *L)
    {
    FT_Error ec;
    FT_Face *face = checkface(L, 1);
    FT_F26Dot6 char_width = luaL_checkinteger(L, 2);
    FT_F26Dot6 char_height = luaL_checkinteger(L, 3);
    FT_UInt horz_resolution = luaL_checkinteger(L, 4);
    FT_UInt vert_resolution = luaL_checkinteger(L, 5);
    ec = FT_Set_Char_Size(*face, char_width, char_height, horz_resolution, vert_resolution );
    CheckError(L, ec);
    return 0;
    }

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x38(%rsp)
movq 0x38(%rsp), %rdi
movl $0x1, %esi
callq 0x7ac0
movq %rax, 0x28(%rsp)
movq 0x38(%rsp), %rdi
movl $0x2, %esi
callq 0x7770
movq %rax, 0x20(%rsp)
movq 0x38(%rsp), %rdi
movl $0x3, %esi
callq 0x7770
movq %rax, 0x18(%rsp)
movq 0x38(%rsp), %rdi
movl $0x4, %esi
callq 0x7770
movl %eax, 0x14(%rsp)
movq 0x38(%rsp), %rdi
movl $0x5, %esi
callq 0x7770
movl %eax, 0x10(%rsp)
movq 0x28(%rsp), %rax
movq (%rax), %rdi
movq 0x20(%rsp), %rsi
movq 0x18(%rsp), %rdx
movl 0x14(%rsp), %ecx
movl 0x10(%rsp), %r8d
callq 0x7c80
movl %eax, 0x34(%rsp)
cmpl $0x0, 0x34(%rsp)
je 0xec3e
movq 0x38(%rsp), %rax
movq %rax, 0x8(%rsp)
movl 0x34(%rsp), %edi
callq 0x7d30
movq 0x8(%rsp), %rdi
movq %rax, %rsi
movb $0x0, %al
callq 0x7a70
movl %eax, 0x44(%rsp)
jmp 0xec48
jmp 0xec40
movl $0x0, 0x44(%rsp)
movl 0x44(%rsp), %eax
addq $0x48, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/face.c
// Function: Set_transform
static int Set_transform(lua_State *L)
    {
    FT_Face *face = checkface(L, 1);
    FT_Matrix *matrix = NULL;
    FT_Vector *delta = NULL;
    FT_Matrix mat;
    FT_Vector vec;
    if(!lua_isnoneornil(L, 2))
        {
        checkmatrix(L, 2, &mat);
        matrix = &mat;
        }
    if(!lua_isnoneornil(L, 3))
        {
        checkvector(L, 2, &vec);
        delta = &vec;
        }
    FT_Set_Transform(*face, matrix, delta);
    return 0;
    }

// Assembly:
subq $0x58, %rsp
movq %rdi, 0x50(%rsp)
movq 0x50(%rsp), %rdi
movl $0x1, %esi
callq 0x7ac0
movq %rax, 0x48(%rsp)
movq $0x0, 0x40(%rsp)
movq $0x0, 0x38(%rsp)
movq 0x50(%rsp), %rdi
movl $0x2, %esi
callq 0x7c10
cmpl $0x0, %eax
jle 0xecc1
movq 0x50(%rsp), %rdi
movl $0x2, %esi
leaq 0x18(%rsp), %rdx
callq 0x7d80
leaq 0x18(%rsp), %rax
movq %rax, 0x40(%rsp)
movq 0x50(%rsp), %rdi
movl $0x3, %esi
callq 0x7c10
cmpl $0x0, %eax
jle 0xecf3
movq 0x50(%rsp), %rdi
movl $0x2, %esi
leaq 0x8(%rsp), %rdx
callq 0x7730
leaq 0x8(%rsp), %rax
movq %rax, 0x38(%rsp)
movq 0x48(%rsp), %rax
movq (%rax), %rdi
movq 0x40(%rsp), %rsi
movq 0x38(%rsp), %rdx
callq 0x7b50
xorl %eax, %eax
addq $0x58, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/face.c
// Function: Render_glyph
static int Render_glyph(lua_State *L)
/* render_glyph(face, render_mode)  (acts on face->glyph) */
    {
    FT_Error ec;
    FT_Face *face = checkface(L, 1);
    FT_Render_Mode render_mode = checkrendermode(L, 2);
    ec = FT_Render_Glyph((*face)->glyph, render_mode); 
    CheckError(L, ec);
    return 0;
    }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq 0x28(%rsp), %rdi
movl $0x1, %esi
callq 0x7ac0
movq %rax, 0x18(%rsp)
movq 0x28(%rsp), %rdi
movl $0x9, %esi
movl $0x2, %edx
callq 0x7b20
movl %eax, 0x14(%rsp)
movq 0x18(%rsp), %rax
movq (%rax), %rax
movq 0x98(%rax), %rdi
movl 0x14(%rsp), %esi
callq 0x7a90
movl %eax, 0x24(%rsp)
cmpl $0x0, 0x24(%rsp)
je 0xeda0
movq 0x28(%rsp), %rax
movq %rax, 0x8(%rsp)
movl 0x24(%rsp), %edi
callq 0x7d30
movq 0x8(%rsp), %rdi
movq %rax, %rsi
movb $0x0, %al
callq 0x7a70
movl %eax, 0x34(%rsp)
jmp 0xedaa
jmp 0xeda2
movl $0x0, 0x34(%rsp)
movl 0x34(%rsp), %eax
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/face.c
// Function: Get_glyph_name
static int Get_glyph_name(lua_State *L)
    {
    FT_Error ec;
    char name[MAXNAMELEN];
    FT_Face *face = checkface(L, 1);
    FT_UInt glyph_index = checkindex(L, 2);
    name[0]='\0';
    ec = FT_Get_Glyph_Name(*face, glyph_index, name, MAXNAMELEN);
    CheckError(L, ec);
    lua_pushstring(L, name);
    return 1;
    }

// Assembly:
subq $0xb8, %rsp
movq %rdi, 0xa8(%rsp)
movq 0xa8(%rsp), %rdi
movl $0x1, %esi
callq 0x7ac0
movq %rax, 0x18(%rsp)
movq 0xa8(%rsp), %rdi
movl $0x2, %esi
callq 0x7340
movl %eax, 0x14(%rsp)
movb $0x0, 0x20(%rsp)
movq 0x18(%rsp), %rax
movq (%rax), %rdi
movl 0x14(%rsp), %esi
leaq 0x20(%rsp), %rdx
movl $0x80, %ecx
callq 0x7100
movl %eax, 0xa4(%rsp)
cmpl $0x0, 0xa4(%rsp)
je 0xee5e
movq 0xa8(%rsp), %rax
movq %rax, 0x8(%rsp)
movl 0xa4(%rsp), %edi
callq 0x7d30
movq 0x8(%rsp), %rdi
movq %rax, %rsi
movb $0x0, %al
callq 0x7a70
movl %eax, 0xb4(%rsp)
jmp 0xee7d
jmp 0xee60
movq 0xa8(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x7cb0
movl $0x1, 0xb4(%rsp)
movl 0xb4(%rsp), %eax
addq $0xb8, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/face.c
// Function: Select_charmap
static int Select_charmap(lua_State *L)
/* select_charmap(encoding | index) 
 * index = index in charmaps (1-based) */
    {
    FT_Encoding encoding;
    FT_Int charmap_index;
    FT_Error ec;
    FT_Face *face = checkface(L, 1);
    int t = lua_type(L, 2);
    if(t == LUA_TSTRING)
        {
        encoding = (FT_Encoding)checkencoding(L, 2);
        ec = FT_Select_Charmap(*face, encoding);
        }
    else
        {
        charmap_index = checkindex(L, 2);
        if(charmap_index >= (*face)->num_charmaps)
            return luaL_argerror(L, 2, "out of range");
        ec = FT_Set_Charmap(*face, (*face)->charmaps[charmap_index]);
        }
    CheckError(L, ec);
    return 0;
    }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq 0x28(%rsp), %rdi
movl $0x1, %esi
callq 0x7ac0
movq %rax, 0x10(%rsp)
movq 0x28(%rsp), %rdi
movl $0x2, %esi
callq 0x7c10
movl %eax, 0xc(%rsp)
cmpl $0x4, 0xc(%rsp)
jne 0xeef6
movq 0x28(%rsp), %rdi
movl $0xa, %esi
movl $0x2, %edx
callq 0x7b20
movl %eax, 0x24(%rsp)
movq 0x10(%rsp), %rax
movq (%rax), %rdi
movl 0x24(%rsp), %esi
callq 0x7660
movl %eax, 0x1c(%rsp)
jmp 0xef5c
movq 0x28(%rsp), %rdi
movl $0x2, %esi
callq 0x7340
movl %eax, 0x20(%rsp)
movl 0x20(%rsp), %eax
movq 0x10(%rsp), %rcx
movq (%rcx), %rcx
cmpl 0x48(%rcx), %eax
jl 0xef36
movq 0x28(%rsp), %rdi
movl $0x2, %esi
leaq 0xbb42(%rip), %rdx      # 0x1aa6d
callq 0x7260
movl %eax, 0x34(%rsp)
jmp 0xef95
movq 0x10(%rsp), %rax
movq (%rax), %rdi
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x50(%rax), %rax
movslq 0x20(%rsp), %rcx
movq (%rax,%rcx,8), %rsi
callq 0x75a0
movl %eax, 0x1c(%rsp)
jmp 0xef5e
cmpl $0x0, 0x1c(%rsp)
je 0xef8b
movq 0x28(%rsp), %rax
movq %rax, (%rsp)
movl 0x1c(%rsp), %edi
callq 0x7d30
movq (%rsp), %rdi
movq %rax, %rsi
movb $0x0, %al
callq 0x7a70
movl %eax, 0x34(%rsp)
jmp 0xef95
jmp 0xef8d
movl $0x0, 0x34(%rsp)
movl 0x34(%rsp), %eax
addq $0x38, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/face.c
// Function: Get_fstype_flags
static int Get_fstype_flags(lua_State *L)
    {
    FT_Face *face = checkface(L, 1);
    FT_UShort flags = FT_Get_FSType_Flags(*face);
    pushflags(L, flags);
    return 1;
    }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rdi
movl $0x1, %esi
callq 0x7ac0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x73e0
movw %ax, 0x6(%rsp)
movq 0x10(%rsp), %rdi
movzwl 0x6(%rsp), %eax
movl %eax, %esi
callq 0x7540
movl $0x1, %eax
addq $0x18, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/face.c
// Function: Get_font_format
static int Get_font_format(lua_State *L)
    {
    FT_Face *face = checkface(L, 1);
    const char *fmt = FT_Get_Font_Format(*face);
    if(!fmt)
        return 0;
    lua_pushstring(L, fmt);
    return 1;
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq 0x18(%rsp), %rdi
movl $0x1, %esi
callq 0x7ac0
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq (%rax), %rdi
callq 0x7490
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
jne 0xf031
movl $0x0, 0x24(%rsp)
jmp 0xf048
movq 0x18(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0x7cb0
movl $0x1, 0x24(%rsp)
movl 0x24(%rsp), %eax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/face.c
// Function: Get_postscript_name
static int Get_postscript_name (lua_State *L)
    {
    FT_Face *face = checkface(L, 1);
    const char *name = FT_Get_Postscript_Name(*face);
    if(!name) return 0;
    lua_pushstring(L, name);
    return 1;
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq 0x18(%rsp), %rdi
movl $0x1, %esi
callq 0x7ac0
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq (%rax), %rdi
callq 0x71c0
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
jne 0xf0a1
movl $0x0, 0x24(%rsp)
jmp 0xf0b8
movq 0x18(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0x7cb0
movl $0x1, 0x24(%rsp)
movl 0x24(%rsp), %eax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/face.c
// Function: Get_kerning
static int Get_kerning(lua_State *L)
    {
    FT_Error ec;
    FT_Vector vec;
    FT_Face *face = checkface(L, 1);
    FT_UInt left_glyph = checkindex(L, 2); /* glyph_index */
    FT_UInt right_glyph = checkindex(L, 3); /* glyph_index */
    FT_UInt kern_mode = checkkerningmode(L, 4);
    ec = FT_Get_Kerning(*face, left_glyph, right_glyph, kern_mode, &vec);
    CheckError(L, ec);
    return pushvector(L, vec);
    }

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x38(%rsp)
movq 0x38(%rsp), %rdi
movl $0x1, %esi
callq 0x7ac0
movq %rax, 0x18(%rsp)
movq 0x38(%rsp), %rdi
movl $0x2, %esi
callq 0x7340
movl %eax, 0x14(%rsp)
movq 0x38(%rsp), %rdi
movl $0x3, %esi
callq 0x7340
movl %eax, 0x10(%rsp)
movq 0x38(%rsp), %rdi
movl $0x8, %esi
movl $0x4, %edx
callq 0x7b20
movl %eax, 0xc(%rsp)
movq 0x18(%rsp), %rax
movq (%rax), %rdi
movl 0x14(%rsp), %esi
movl 0x10(%rsp), %edx
movl 0xc(%rsp), %ecx
leaq 0x20(%rsp), %r8
callq 0x71b0
movl %eax, 0x34(%rsp)
cmpl $0x0, 0x34(%rsp)
je 0xf17a
movq 0x38(%rsp), %rax
movq %rax, (%rsp)
movl 0x34(%rsp), %edi
callq 0x7d30
movq (%rsp), %rdi
movq %rax, %rsi
movb $0x0, %al
callq 0x7a70
movl %eax, 0x44(%rsp)
jmp 0xf194
jmp 0xf17c
movq 0x38(%rsp), %rdi
movq 0x20(%rsp), %rsi
movq 0x28(%rsp), %rdx
callq 0x7bb0
movl %eax, 0x44(%rsp)
movl 0x44(%rsp), %eax
addq $0x48, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/face.c
// Function: Get_track_kerning
static int Get_track_kerning(lua_State *L)
    {
    FT_Error ec;
    FT_Fixed kerning;
    FT_Face *face = checkface(L, 1);
    FT_Fixed point_size = luaL_checkinteger(L, 2);
    FT_Int degree = luaL_checkinteger(L, 3);
    ec = FT_Get_Track_Kerning(*face, point_size, degree, &kerning);
    CheckError(L, ec);
    lua_pushinteger(L, kerning);
    return 1;
    }

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x38(%rsp)
movq 0x38(%rsp), %rdi
movl $0x1, %esi
callq 0x7ac0
movq %rax, 0x20(%rsp)
movq 0x38(%rsp), %rdi
movl $0x2, %esi
callq 0x7770
movq %rax, 0x18(%rsp)
movq 0x38(%rsp), %rdi
movl $0x3, %esi
callq 0x7770
movl %eax, 0x14(%rsp)
movq 0x20(%rsp), %rax
movq (%rax), %rdi
movq 0x18(%rsp), %rsi
movl 0x14(%rsp), %edx
leaq 0x28(%rsp), %rcx
callq 0x7040
movl %eax, 0x34(%rsp)
cmpl $0x0, 0x34(%rsp)
je 0xf232
movq 0x38(%rsp), %rax
movq %rax, 0x8(%rsp)
movl 0x34(%rsp), %edi
callq 0x7d30
movq 0x8(%rsp), %rdi
movq %rax, %rsi
movb $0x0, %al
callq 0x7a70
movl %eax, 0x44(%rsp)
jmp 0xf24b
jmp 0xf234
movq 0x38(%rsp), %rdi
movq 0x28(%rsp), %rsi
callq 0x7540
movl $0x1, 0x44(%rsp)
movl 0x44(%rsp), %eax
addq $0x48, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/face.c
// Function: Glyph_bitmap
static int Glyph_bitmap(lua_State *L)
/* bitmap, left, top = glyph_bitmap() */
    {
    FT_Face *face = checkface(L, 1);
    FT_GlyphSlot glyph = (*face)->glyph;
    ud_t *ud = userdata(face);
    FT_Library library = ud->library;
    if(glyph->format != FT_GLYPH_FORMAT_BITMAP)
        return 0;
    pushbitmap(L, &(glyph->bitmap), library);
    lua_pushinteger(L, glyph->bitmap_left);
    lua_pushinteger(L, glyph->bitmap_top);
    return 3;
    }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq 0x28(%rsp), %rdi
movl $0x1, %esi
callq 0x7ac0
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq (%rax), %rax
movq 0x98(%rax), %rax
movq %rax, 0x18(%rsp)
movq 0x20(%rsp), %rdi
callq 0x7230
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x18(%rsp), %rax
cmpl $0x62697473, 0x90(%rax) # imm = 0x62697473
je 0xf309
movl $0x0, 0x34(%rsp)
jmp 0xf358
movq 0x28(%rsp), %rdi
movq 0x18(%rsp), %rsi
addq $0x98, %rsi
movq 0x8(%rsp), %rdx
callq 0x78c0
movq 0x28(%rsp), %rdi
movq 0x18(%rsp), %rax
movslq 0xc0(%rax), %rsi
callq 0x7540
movq 0x28(%rsp), %rdi
movq 0x18(%rsp), %rax
movslq 0xc4(%rax), %rsi
callq 0x7540
movl $0x3, 0x34(%rsp)
movl 0x34(%rsp), %eax
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/face.c
// Function: Glyph_outline
static int Glyph_outline(lua_State *L)
/* outline = glyph_outline() */
    {
    FT_Face *face = checkface(L, 1);
    FT_GlyphSlot glyph = (*face)->glyph;
    ud_t *ud = userdata(face);
    FT_Library library = ud->library;
    if(glyph->format != FT_GLYPH_FORMAT_OUTLINE)
        return 0;
    pushoutline(L, &(glyph->outline), library);
    return 1;
    }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq 0x28(%rsp), %rdi
movl $0x1, %esi
callq 0x7ac0
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq (%rax), %rax
movq 0x98(%rax), %rax
movq %rax, 0x18(%rsp)
movq 0x20(%rsp), %rdi
callq 0x7230
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x18(%rsp), %rax
cmpl $0x6f75746c, 0x90(%rax) # imm = 0x6F75746C
je 0xf3d9
movl $0x0, 0x34(%rsp)
jmp 0xf3fc
movq 0x28(%rsp), %rdi
movq 0x18(%rsp), %rsi
addq $0xc8, %rsi
movq 0x8(%rsp), %rdx
callq 0x7160
movl $0x1, 0x34(%rsp)
movl 0x34(%rsp), %eax
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/face.c
// Function: Family_name
static int Family_name(lua_State *L)
    {
    FT_Face *face = checkface(L, 1);
    if(!(*face)->family_name) return 0;
    lua_pushstring(L, (*face)->family_name);
    return 1;
    }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x8(%rsp)
movq 0x8(%rsp), %rdi
movl $0x1, %esi
callq 0x7ac0
movq %rax, (%rsp)
movq (%rsp), %rax
movq (%rax), %rax
cmpq $0x0, 0x28(%rax)
jne 0xf9a4
movl $0x0, 0x14(%rsp)
jmp 0xf9c1
movq 0x8(%rsp), %rdi
movq (%rsp), %rax
movq (%rax), %rax
movq 0x28(%rax), %rsi
callq 0x7cb0
movl $0x1, 0x14(%rsp)
movl 0x14(%rsp), %eax
addq $0x18, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/face.c
// Function: Style_name
static int Style_name(lua_State *L)
    {
    FT_Face *face = checkface(L, 1);
    if(!(*face)->style_name) return 0;
    lua_pushstring(L, (*face)->style_name);
    return 1;
    }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x8(%rsp)
movq 0x8(%rsp), %rdi
movl $0x1, %esi
callq 0x7ac0
movq %rax, (%rsp)
movq (%rsp), %rax
movq (%rax), %rax
cmpq $0x0, 0x30(%rax)
jne 0xfa04
movl $0x0, 0x14(%rsp)
jmp 0xfa21
movq 0x8(%rsp), %rdi
movq (%rsp), %rax
movq (%rax), %rax
movq 0x30(%rax), %rsi
callq 0x7cb0
movl $0x1, 0x14(%rsp)
movl 0x14(%rsp), %eax
addq $0x18, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/face.c
// Function: Face_index
static int Face_index(lua_State *L) 
/* index, instance = face_index() */
    {
    FT_Face *face = checkface(L, 1);
    FT_Long index = (*face)->face_index & 0x0000ffff;
    lua_pushinteger(L, index & 0x0000ffff);
    lua_pushinteger(L, (index & 0x7fff0000) >> 16);
    return 2;
    }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rdi
movl $0x1, %esi
callq 0x7ac0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rax
andq $0xffff, %rax           # imm = 0xFFFF
movq %rax, (%rsp)
movq 0x10(%rsp), %rdi
movq (%rsp), %rsi
andq $0xffff, %rsi           # imm = 0xFFFF
callq 0x7540
movq 0x10(%rsp), %rdi
movq (%rsp), %rsi
andq $0x7fff0000, %rsi       # imm = 0x7FFF0000
sarq $0x10, %rsi
callq 0x7540
movl $0x2, %eax
addq $0x18, %rsp
retq
nopl (%rax,%rax)