LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/outline.c
// Function: moonfreetype_pushoutline
int pushoutline(lua_State *L, FT_Outline *outline, FT_Library library)
    {
    ud_t *ud = userdata(outline);
    if(ud)
        return udata_push(L, outline);
    /* create userdata for outline  owned by FreeType */
    DBG("created outline %p (on push)\n", (void*)outline);
    newuserdata(L, (void*)outline, OUTLINE_MT);
    ud = userdata(outline);
    ud->library = library;
    ud->allocated = 0;
    return 1;
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq %rsi, 0x10(%rsp)
movq %rdx, 0x8(%rsp)
movq 0x10(%rsp), %rdi
callq 0x7230
movq %rax, (%rsp)
cmpq $0x0, (%rsp)
je 0x1354d
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x7180
movl %eax, 0x24(%rsp)
jmp 0x135a4
movq 0x10(%rsp), %rsi
leaq 0x7dda(%rip), %rdi      # 0x1b333
movb $0x0, %al
callq 0x7270
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
leaq 0x7ce3(%rip), %rdx      # 0x1b254
callq 0x72b0
movq 0x10(%rsp), %rdi
callq 0x7230
movq %rax, (%rsp)
movq 0x8(%rsp), %rcx
movq (%rsp), %rax
movq %rcx, 0x8(%rax)
movq (%rsp), %rax
movl $0x0, 0x18(%rax)
movl $0x1, 0x24(%rsp)
movl 0x24(%rsp), %eax
addq $0x28, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/outline.c
// Function: pushpointtype
static int pushpointtype(lua_State *L, unsigned int value) /* FT_CURVE_TAG_XXX */
    {
    if(value & 1)
        lua_pushstring(L, "on");
    else /* off (Bezier control point) */
        lua_pushstring(L, value & 2 ? "cubic" : "conic");
    return 1;
    }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movl %esi, 0xc(%rsp)
movl 0xc(%rsp), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x138cc
movq 0x10(%rsp), %rdi
leaq 0x76d4(%rip), %rsi      # 0x1af99
callq 0x7cb0
jmp 0x138f2
movq 0x10(%rsp), %rdi
movl 0xc(%rsp), %ecx
andl $0x2, %ecx
leaq 0x7aab(%rip), %rsi      # 0x1b38a
leaq 0x7a9e(%rip), %rax      # 0x1b384
cmpl $0x0, %ecx
cmovneq %rax, %rsi
callq 0x7cb0
movl $0x1, %eax
addq $0x18, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/outline.c
// Function: pushscanmode
static int pushscanmode(lua_State *L, unsigned int value) /* FT_CURVE_TAG_XXX */
    {
    if(!(value & FT_CURVE_TAG_HAS_SCANMODE))
        lua_pushstring(L, "none");
    else
        {
        value = value & FT_CURVE_TAG_TOUCH_BOTH;
        switch(value)
            {
            case FT_CURVE_TAG_TOUCH_X:  lua_pushstring(L, "touch x"); break;
            case FT_CURVE_TAG_TOUCH_Y:  lua_pushstring(L, "touch y"); break;
            default:
                lua_pushstring(L, "touch both");
            }
        }   
    return 1;
    }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movl %esi, 0xc(%rsp)
movl 0xc(%rsp), %eax
andl $0x4, %eax
cmpl $0x0, %eax
jne 0x1392c
movq 0x10(%rsp), %rdi
leaq 0x5d19(%rip), %rsi      # 0x1963e
callq 0x7cb0
jmp 0x1398a
movl 0xc(%rsp), %eax
andl $0x18, %eax
movl %eax, 0xc(%rsp)
movl 0xc(%rsp), %eax
movl %eax, 0x8(%rsp)
subl $0x8, %eax
je 0x13951
jmp 0x13946
movl 0x8(%rsp), %eax
subl $0x10, %eax
je 0x13964
jmp 0x13977
movq 0x10(%rsp), %rdi
leaq 0x7a33(%rip), %rsi      # 0x1b390
callq 0x7cb0
jmp 0x13988
movq 0x10(%rsp), %rdi
leaq 0x7a28(%rip), %rsi      # 0x1b398
callq 0x7cb0
jmp 0x13988
movq 0x10(%rsp), %rdi
leaq 0x7a1d(%rip), %rsi      # 0x1b3a0
callq 0x7cb0
jmp 0x1398a
movl $0x1, %eax
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/outline.c
// Function: moonfreetype_freeoutline
int freeoutline(lua_State *L, FT_Outline *outline)
    {
    ud_t *ud = userdata(outline);
    FT_Library library = ud->library;
    int allocated = ud->allocated;
    if(!freeuserdata(L, outline))
        return 0; /* double call */
    DBG("deleting outline %p\n", (void*)outline);
    if(!allocated)
        return 0;
    FT_Outline_Done(library, outline);
    Free(L, outline);
    return 0;
    }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq %rsi, 0x20(%rsp)
movq 0x20(%rsp), %rdi
callq 0x7230
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rax
movl 0x18(%rax), %eax
movl %eax, 0xc(%rsp)
movq 0x28(%rsp), %rdi
movq 0x20(%rsp), %rsi
callq 0x7380
cmpl $0x0, %eax
jne 0x139f5
movl $0x0, 0x34(%rsp)
jmp 0x13a3f
movq 0x20(%rsp), %rsi
leaq 0x796e(%rip), %rdi      # 0x1b36f
movb $0x0, %al
callq 0x7270
cmpl $0x0, 0xc(%rsp)
jne 0x13a19
movl $0x0, 0x34(%rsp)
jmp 0x13a3f
movq 0x10(%rsp), %rdi
movq 0x20(%rsp), %rsi
callq 0x78e0
movq 0x28(%rsp), %rdi
movq 0x20(%rsp), %rsi
callq 0x79f0
movl $0x0, 0x34(%rsp)
movl 0x34(%rsp), %eax
addq $0x38, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/outline.c
// Function: Outline_new
static int Outline_new(lua_State *L)
/* outline = outline_new(library, num_points, num_contours) 
 */
    {
    FT_Error ec;
    ud_t *ud;
    FT_Library *library = checklibrary(L, 1);
    FT_UInt num_points = luaL_checkinteger(L, 2);
    FT_Int num_contours = luaL_checkinteger(L, 3);
    FT_Outline *outline = (FT_Outline*)Malloc(L, sizeof(FT_Outline));

    ec = FT_Outline_New(*library, num_points, num_contours, outline);
    if(ec)
        {
        Free(L, outline);
        CheckError(L, ec); /* raises an error */
        return 0;
        }

    DBG("created outline %p\n", (void*)outline);
    newuserdata(L, (void*)outline, OUTLINE_MT);
    ud = userdata(outline);
    ud->library = *library;
    ud->allocated = 1;
    return 1;
    }

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x38(%rsp)
movq 0x38(%rsp), %rdi
movl $0x1, %esi
callq 0x76d0
movq %rax, 0x20(%rsp)
movq 0x38(%rsp), %rdi
movl $0x2, %esi
callq 0x7770
movl %eax, 0x1c(%rsp)
movq 0x38(%rsp), %rdi
movl $0x3, %esi
callq 0x7770
movl %eax, 0x18(%rsp)
movq 0x38(%rsp), %rdi
movl $0x28, %esi
callq 0x7c20
movq %rax, 0x10(%rsp)
movq 0x20(%rsp), %rax
movq (%rax), %rdi
movl 0x1c(%rsp), %esi
movl 0x18(%rsp), %edx
movq 0x10(%rsp), %rcx
callq 0x7430
movl %eax, 0x34(%rsp)
cmpl $0x0, 0x34(%rsp)
je 0x13b66
movq 0x38(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x79f0
cmpl $0x0, 0x34(%rsp)
je 0x13b5a
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 0x13bc3
jmp 0x13b5c
movl $0x0, 0x44(%rsp)
jmp 0x13bc3
movq 0x10(%rsp), %rsi
leaq 0x7845(%rip), %rdi      # 0x1b3b7
movb $0x0, %al
callq 0x7270
movq 0x38(%rsp), %rdi
movq 0x10(%rsp), %rsi
leaq 0x76ca(%rip), %rdx      # 0x1b254
callq 0x72b0
movq 0x10(%rsp), %rdi
callq 0x7230
movq %rax, 0x28(%rsp)
movq 0x20(%rsp), %rax
movq (%rax), %rcx
movq 0x28(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x28(%rsp), %rax
movl $0x1, 0x18(%rax)
movl $0x1, 0x44(%rsp)
movl 0x44(%rsp), %eax
addq $0x48, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/outline.c
// Function: Outline_copy
static int Outline_copy(lua_State *L)
    {
    FT_Error ec;
    ud_t *src_ud, *dst_ud;
    FT_Outline *src_outline = checkoutline(L, 1);
    FT_Outline *dst_outline = checkoutline(L, 2);
    src_ud = userdata(src_outline);
    dst_ud = userdata(dst_outline);
    //DBG("libraries: src %p dst %p\n", (void*)(src_ud->library), (void*)(dst_ud->library));
    if(src_ud->library != dst_ud->library)
        return luaL_error(L, "outlines do not belong to the same library");
    ec = FT_Outline_Copy(src_outline, dst_outline);
    CheckError(L, ec);
    return 0;
    }

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x38(%rsp)
movq 0x38(%rsp), %rdi
movl $0x1, %esi
callq 0x7590
movq %rax, 0x18(%rsp)
movq 0x38(%rsp), %rdi
movl $0x2, %esi
callq 0x7590
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rdi
callq 0x7230
movq %rax, 0x28(%rsp)
movq 0x10(%rsp), %rdi
callq 0x7230
movq %rax, 0x20(%rsp)
movq 0x28(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x20(%rsp), %rcx
cmpq 0x8(%rcx), %rax
je 0x13c9c
movq 0x38(%rsp), %rdi
leaq 0x773c(%rip), %rsi      # 0x1b3cb
movb $0x0, %al
callq 0x7a70
movl %eax, 0x44(%rsp)
jmp 0x13ce8
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x75e0
movl %eax, 0x34(%rsp)
cmpl $0x0, 0x34(%rsp)
je 0x13cde
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 0x13ce8
jmp 0x13ce0
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/outline.c
// Function: Outline_check
static int Outline_check(lua_State *L) 
    {
    FT_Outline *outline = checkoutline(L, 1);
    FT_Error ec = FT_Outline_Check(outline);
    if(ec)
        { 
        lua_pushboolean(L, 0);
        lua_pushstring(L, fterrorstring(ec));
        return 2;
        }
    lua_pushboolean(L, 1);
    return 1;
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq 0x18(%rsp), %rdi
movl $0x1, %esi
callq 0x7590
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rdi
callq 0x76a0
movl %eax, 0xc(%rsp)
cmpl $0x0, 0xc(%rsp)
je 0x13d66
movq 0x18(%rsp), %rdi
xorl %esi, %esi
callq 0x7810
movq 0x18(%rsp), %rax
movq %rax, (%rsp)
movl 0xc(%rsp), %edi
callq 0x7d30
movq (%rsp), %rdi
movq %rax, %rsi
callq 0x7cb0
movl $0x2, 0x24(%rsp)
jmp 0x13d7d
movq 0x18(%rsp), %rdi
movl $0x1, %esi
callq 0x7810
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/outline.c
// Function: Outline_translate
static int Outline_translate(lua_State *L) 
    {
    FT_Outline *outline = checkoutline(L, 1);
    FT_Pos xofs = luaL_checkinteger(L, 2);
    FT_Pos yofs = luaL_checkinteger(L, 3);
    FT_Outline_Translate(outline, xofs, yofs);
    return 0;
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq 0x20(%rsp), %rdi
movl $0x1, %esi
callq 0x7590
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 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
movq 0x8(%rsp), %rdx
callq 0x7310
xorl %eax, %eax
addq $0x28, %rsp
retq
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/outline.c
// Function: Outline_transform
static int Outline_transform(lua_State *L) 
    {
    FT_Matrix matrix;
    FT_Outline *outline = checkoutline(L, 1);
    checkmatrix(L, 2, &matrix);
    FT_Outline_Transform(outline, &matrix);
    return 0;
    }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq 0x30(%rsp), %rdi
movl $0x1, %esi
callq 0x7590
movq %rax, 0x8(%rsp)
movq 0x30(%rsp), %rdi
movl $0x2, %esi
leaq 0x10(%rsp), %rdx
callq 0x7d80
movq 0x8(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x7070
xorl %eax, %eax
addq $0x38, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/outline.c
// Function: Outline_embolden
static int Outline_embolden(lua_State *L)
    {
    FT_Error ec;
    FT_Outline *outline = checkoutline(L, 1);
    FT_Pos strength = luaL_checkinteger(L, 2);
    ec = FT_Outline_Embolden(outline, strength);
    CheckError(L, ec);
    return 0;
    }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq 0x28(%rsp), %rdi
movl $0x1, %esi
callq 0x7590
movq %rax, 0x18(%rsp)
movq 0x28(%rsp), %rdi
movl $0x2, %esi
callq 0x7770
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x7940
movl %eax, 0x24(%rsp)
cmpl $0x0, 0x24(%rsp)
je 0x13eb3
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 0x13ebd
jmp 0x13eb5
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/outline.c
// Function: Outline_emboldenxy
static int Outline_emboldenxy(lua_State *L)
    {
    FT_Outline *outline = checkoutline(L, 1);
    FT_Pos xstrength = luaL_checkinteger(L, 2);
    FT_Pos ystrength = luaL_checkinteger(L, 3);
    FT_Error ec = FT_Outline_EmboldenXY(outline, xstrength, ystrength);
    CheckError(L, ec);
    return 0;
    }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq 0x28(%rsp), %rdi
movl $0x1, %esi
callq 0x7590
movq %rax, 0x20(%rsp)
movq 0x28(%rsp), %rdi
movl $0x2, %esi
callq 0x7770
movq %rax, 0x18(%rsp)
movq 0x28(%rsp), %rdi
movl $0x3, %esi
callq 0x7770
movq %rax, 0x10(%rsp)
movq 0x20(%rsp), %rdi
movq 0x18(%rsp), %rsi
movq 0x10(%rsp), %rdx
callq 0x7870
movl %eax, 0xc(%rsp)
cmpl $0x0, 0xc(%rsp)
je 0x13f5a
movq 0x28(%rsp), %rax
movq %rax, (%rsp)
movl 0xc(%rsp), %edi
callq 0x7d30
movq (%rsp), %rdi
movq %rax, %rsi
movb $0x0, %al
callq 0x7a70
movl %eax, 0x34(%rsp)
jmp 0x13f64
jmp 0x13f5c
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/outline.c
// Function: Outline_get_cbox
static int Outline_get_cbox(lua_State *L)
    {
    FT_BBox box;
    FT_Outline *outline = checkoutline(L, 1);
    FT_Outline_Get_CBox(outline, &box);
    pushbbox(L, box);
    return 1;
    }

// Assembly:
subq $0x58, %rsp
movq %rdi, 0x50(%rsp)
movq 0x50(%rsp), %rdi
movl $0x1, %esi
callq 0x7590
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %rdi
leaq 0x30(%rsp), %rsi
callq 0x7d90
movq 0x50(%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 0x76c0
movl $0x1, %eax
addq $0x58, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/outline.c
// Function: Outline_get_bbox
static int Outline_get_bbox(lua_State *L)
    {
    FT_Error ec;
    FT_BBox box;
    FT_Outline *outline = checkoutline(L, 1);
    ec = FT_Outline_Get_BBox(outline, &box);
    CheckError(L, ec);
    pushbbox(L, box);
    return 1;
    }

// Assembly:
subq $0x68, %rsp
movq %rdi, 0x58(%rsp)
movq 0x58(%rsp), %rdi
movl $0x1, %esi
callq 0x7590
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %rdi
leaq 0x30(%rsp), %rsi
callq 0x7650
movl %eax, 0x54(%rsp)
cmpl $0x0, 0x54(%rsp)
je 0x1406f
movq 0x58(%rsp), %rax
movq %rax, 0x20(%rsp)
movl 0x54(%rsp), %edi
callq 0x7d30
movq 0x20(%rsp), %rdi
movq %rax, %rsi
movb $0x0, %al
callq 0x7a70
movl %eax, 0x64(%rsp)
jmp 0x140aa
jmp 0x14071
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 0x76c0
movl $0x1, 0x64(%rsp)
movl 0x64(%rsp), %eax
addq $0x68, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/outline.c
// Function: Outline_get_bitmap
static int Outline_get_bitmap(lua_State *L)
    {
    FT_Error ec;
    FT_Outline *outline = checkoutline(L, 1);
    FT_Bitmap *bitmap = checkbitmap(L, 2);
    ud_t *ud_o = userdata(outline);
    ud_t *ud_b = userdata(bitmap);
    if(ud_o->library != ud_b->library)
        return luaL_error(L, "outline and bitmap do not belong to the same library");
    ec = FT_Outline_Get_Bitmap(ud_o->library, outline, bitmap);
    CheckError(L, ec);
    return 0;
    }

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x38(%rsp)
movq 0x38(%rsp), %rdi
movl $0x1, %esi
callq 0x7590
movq %rax, 0x28(%rsp)
movq 0x38(%rsp), %rdi
movl $0x2, %esi
callq 0x7110
movq %rax, 0x20(%rsp)
movq 0x28(%rsp), %rdi
callq 0x7230
movq %rax, 0x18(%rsp)
movq 0x20(%rsp), %rdi
callq 0x7230
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x10(%rsp), %rcx
cmpq 0x8(%rcx), %rax
je 0x1413c
movq 0x38(%rsp), %rdi
leaq 0x72c7(%rip), %rsi      # 0x1b3f6
movb $0x0, %al
callq 0x7a70
movl %eax, 0x44(%rsp)
jmp 0x14191
movq 0x18(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x28(%rsp), %rsi
movq 0x20(%rsp), %rdx
callq 0x7960
movl %eax, 0x34(%rsp)
cmpl $0x0, 0x34(%rsp)
je 0x14187
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 0x14191
jmp 0x14189
movl $0x0, 0x44(%rsp)
movl 0x44(%rsp), %eax
addq $0x48, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/outline.c
// Function: Outline_get_orientation
static int Outline_get_orientation(lua_State *L)
    {
    FT_Outline *outline = checkoutline(L, 1);
    FT_Orientation orientation = FT_Outline_Get_Orientation(outline);
    pushorientation(L, orientation);
    return 1;
    }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rdi
movl $0x1, %esi
callq 0x7590
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rdi
callq 0x79b0
movl %eax, 0x4(%rsp)
movq 0x10(%rsp), %rdi
movl 0x4(%rsp), %edx
movl $0x1, %esi
callq 0x7280
movl $0x1, %eax
addq $0x18, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/outline.c
// Function: Outline_getinsideborder
static int Outline_getinsideborder(lua_State *L)
    {
    FT_Outline *outline = checkoutline(L, 1);
    FT_StrokerBorder border = FT_Outline_GetInsideBorder(outline);
    pushstrokerborder(L, border);
    return 1;
    }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rdi
movl $0x1, %esi
callq 0x7590
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rdi
callq 0x7550
movl %eax, 0x4(%rsp)
movq 0x10(%rsp), %rdi
movl 0x4(%rsp), %edx
movl $0x2, %esi
callq 0x7280
movl $0x1, %eax
addq $0x18, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/pfr.c
// Function: Get_pfr_advance
static int Get_pfr_advance(lua_State *L) 
    {
    FT_Error ec;
    FT_Pos advance;
    FT_Face *face = checkface(L, 1);
    FT_UInt glyph_index = checkindex(L, 2);
    ec = FT_Get_PFR_Advance(*face, glyph_index, &advance);
    CheckError(L, ec);
    lua_pushinteger(L, advance);
    return 1;
    }

// 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 0x7340
movl %eax, 0xc(%rsp)
movq 0x10(%rsp), %rax
movq (%rax), %rdi
movl 0xc(%rsp), %esi
leaq 0x18(%rsp), %rdx
callq 0x7190
movl %eax, 0x24(%rsp)
cmpl $0x0, 0x24(%rsp)
je 0x14407
movq 0x28(%rsp), %rax
movq %rax, (%rsp)
movl 0x24(%rsp), %edi
callq 0x7d30
movq (%rsp), %rdi
movq %rax, %rsi
movb $0x0, %al
callq 0x7a70
movl %eax, 0x34(%rsp)
jmp 0x14420
jmp 0x14409
movq 0x28(%rsp), %rdi
movq 0x18(%rsp), %rsi
callq 0x7540
movl $0x1, 0x34(%rsp)
movl 0x34(%rsp), %eax
addq $0x38, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/pfr.c
// Function: Get_pfr_metrics
static int Get_pfr_metrics(lua_State *L) 
    {
    FT_Error ec;
    FT_UInt outline_res, metrics_res;
    FT_Fixed x_scale, y_scale;
    FT_Face *face = checkface(L, 1);
    ec = FT_Get_PFR_Metrics(*face, &outline_res, &metrics_res, &x_scale, &y_scale);
    CheckError(L, ec);
    lua_pushinteger(L, outline_res);
    lua_pushinteger(L, metrics_res);
    lua_pushinteger(L, x_scale);
    lua_pushinteger(L, y_scale);
    return 4;
    }

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x38(%rsp)
movq 0x38(%rsp), %rdi
movl $0x1, %esi
callq 0x7ac0
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq (%rax), %rdi
leaq 0x30(%rsp), %rsi
leaq 0x2c(%rsp), %rdx
leaq 0x20(%rsp), %rcx
leaq 0x18(%rsp), %r8
callq 0x76f0
movl %eax, 0x34(%rsp)
cmpl $0x0, 0x34(%rsp)
je 0x144a1
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 0x144e9
jmp 0x144a3
movq 0x38(%rsp), %rdi
movl 0x30(%rsp), %eax
movl %eax, %esi
callq 0x7540
movq 0x38(%rsp), %rdi
movl 0x2c(%rsp), %eax
movl %eax, %esi
callq 0x7540
movq 0x38(%rsp), %rdi
movq 0x20(%rsp), %rsi
callq 0x7540
movq 0x38(%rsp), %rdi
movq 0x18(%rsp), %rsi
callq 0x7540
movl $0x4, 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/pfr.c
// Function: Get_pfr_kerning
static int Get_pfr_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 */
    ec = FT_Get_PFR_Kerning(*face, left_glyph, right_glyph, &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 0x18(%rsp), %rax
movq (%rax), %rdi
movl 0x14(%rsp), %esi
movl 0x10(%rsp), %edx
leaq 0x20(%rsp), %rcx
callq 0x7ca0
movl %eax, 0x34(%rsp)
cmpl $0x0, 0x34(%rsp)
je 0x14590
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 0x145aa
jmp 0x14592
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
nopw %cs:(%rax,%rax)
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/size.c
// Function: moonfreetype_freesize
int freesize(lua_State *L, FT_Size *size)
    {
    FT_Error ec;
    if(!freeuserdata(L, size))
        return 0; /* double call */
    DBG("deleting size %p\n", (void*)size);
    ec = FT_Done_Size(*size);
    Free(L, size);
    CheckError(L, ec);
    return 0;
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq %rsi, 0x10(%rsp)
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x7380
cmpl $0x0, %eax
jne 0x145ec
movl $0x0, 0x24(%rsp)
jmp 0x14656
movq 0x10(%rsp), %rsi
leaq 0x6f99(%rip), %rdi      # 0x1b591
movb $0x0, %al
callq 0x7270
movq 0x10(%rsp), %rax
movq (%rax), %rdi
callq 0x7200
movl %eax, 0xc(%rsp)
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x79f0
cmpl $0x0, 0xc(%rsp)
je 0x1464c
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 0x14656
jmp 0x1464e
movl $0x0, 0x24(%rsp)
movl 0x24(%rsp), %eax
addq $0x28, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/size.c
// Function: New_size
static int New_size(lua_State *L)
    {
    FT_Error ec;
    ud_t *ud;
    FT_Face *face = checkface(L, 1);
    FT_Size *size = (FT_Size*)Malloc(L, sizeof(FT_Size));

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

// 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 $0x8, %esi
callq 0x7c20
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rax
movq (%rax), %rdi
movq 0x8(%rsp), %rsi
callq 0x71f0
movl %eax, 0x24(%rsp)
cmpl $0x0, 0x24(%rsp)
je 0x14746
movq 0x28(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0x79f0
cmpl $0x0, 0x24(%rsp)
je 0x1473a
movq 0x28(%rsp), %rax
movq %rax, (%rsp)
movl 0x24(%rsp), %edi
callq 0x7d30
movq (%rsp), %rdi
movq %rax, %rsi
movb $0x0, %al
callq 0x7a70
movl %eax, 0x34(%rsp)
jmp 0x14797
jmp 0x1473c
movl $0x0, 0x34(%rsp)
jmp 0x14797
movq 0x8(%rsp), %rsi
leaq 0x6e5a(%rip), %rdi      # 0x1b5ac
movb $0x0, %al
callq 0x7270
movq 0x28(%rsp), %rdi
movq 0x8(%rsp), %rsi
leaq 0x6002(%rip), %rdx      # 0x1a76c
callq 0x72b0
movq 0x8(%rsp), %rdi
callq 0x7230
movq %rax, 0x18(%rsp)
movq 0x10(%rsp), %rax
movq (%rax), %rcx
movq 0x18(%rsp), %rax
movq %rcx, 0x10(%rax)
movl $0x1, 0x34(%rsp)
movl 0x34(%rsp), %eax
addq $0x38, %rsp
retq
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/size.c
// Function: Activate_size
static int Activate_size(lua_State *L)
    {
    FT_Size *size = checksize(L, 1);
    FT_Error ec = FT_Activate_Size(*size);
    CheckError(L, ec);
    return 0;
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq 0x18(%rsp), %rdi
movl $0x1, %esi
callq 0x148c0
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq (%rax), %rdi
callq 0x7440
movl %eax, 0xc(%rsp)
cmpl $0x0, 0xc(%rsp)
je 0x1484b
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 0x14855
jmp 0x1484d
movl $0x0, 0x24(%rsp)
movl 0x24(%rsp), %eax
addq $0x28, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/size.c
// Function: checksize
static FT_Size* checksize(lua_State *L, int arg)
    {
    FT_Size *p = testsize(L, arg);
    if(p) return p;
    luaL_argerror(L, arg, "not a size");
    return NULL;
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movl %esi, 0x14(%rsp)
movq 0x18(%rsp), %rdi
movl 0x14(%rsp), %esi
callq 0x14860
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
je 0x148f4
movq 0x8(%rsp), %rax
movq %rax, 0x20(%rsp)
jmp 0x14912
movq 0x18(%rsp), %rdi
movl 0x14(%rsp), %esi
leaq 0x6cc2(%rip), %rdx      # 0x1b5c6
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/stroker.c
// Function: moonfreetype_checkstroker
FT_Stroker* checkstroker(lua_State *L, int arg)
    {
    FT_Stroker *p = teststroker(L, arg);
    if(p) return p;
    luaL_argerror(L, arg, "not a stroker");
    return NULL;
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movl %esi, 0x14(%rsp)
movq 0x18(%rsp), %rdi
movl 0x14(%rsp), %esi
callq 0x14980
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
je 0x14954
movq 0x8(%rsp), %rax
movq %rax, 0x20(%rsp)
jmp 0x14972
movq 0x18(%rsp), %rdi
movl 0x14(%rsp), %esi
leaq 0x6c85(%rip), %rdx      # 0x1b5e9
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/stroker.c
// Function: moonfreetype_freestroker
int freestroker(lua_State *L, FT_Stroker *stroker)
    {
    if(!freeuserdata(L, stroker))
        return 0; /* double call */
    DBG("deleting stroker %p\n", (void*)stroker);
    FT_Stroker_Done(*stroker);
    Free(L, stroker);
    return 0;
    }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x8(%rsp)
movq %rsi, (%rsp)
movq 0x8(%rsp), %rdi
movq (%rsp), %rsi
callq 0x7380
cmpl $0x0, %eax
jne 0x14a0a
movl $0x0, 0x14(%rsp)
jmp 0x14a3e
movq (%rsp), %rsi
leaq 0x6be2(%rip), %rdi      # 0x1b5f7
movb $0x0, %al
callq 0x7270
movq (%rsp), %rax
movq (%rax), %rdi
callq 0x7240
movq 0x8(%rsp), %rdi
movq (%rsp), %rsi
callq 0x79f0
movl $0x0, 0x14(%rsp)
movl 0x14(%rsp), %eax
addq $0x18, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/stroker.c
// Function: Stroker_new
static int Stroker_new(lua_State *L)
/* stroker = stroker_new(face) 
 */
    {
    FT_Error ec;
    ud_t *ud;
    FT_Library *library = checklibrary(L, 1);
    FT_Stroker *stroker = (FT_Stroker*)Malloc(L, sizeof(FT_Stroker));

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

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq 0x28(%rsp), %rdi
movl $0x1, %esi
callq 0x76d0
movq %rax, 0x10(%rsp)
movq 0x28(%rsp), %rdi
movl $0x8, %esi
callq 0x7c20
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rax
movq (%rax), %rdi
movq 0x8(%rsp), %rsi
callq 0x77f0
movl %eax, 0x24(%rsp)
cmpl $0x0, 0x24(%rsp)
je 0x14b36
movq 0x28(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0x79f0
cmpl $0x0, 0x24(%rsp)
je 0x14b2a
movq 0x28(%rsp), %rax
movq %rax, (%rsp)
movl 0x24(%rsp), %edi
callq 0x7d30
movq (%rsp), %rdi
movq %rax, %rsi
movb $0x0, %al
callq 0x7a70
movl %eax, 0x34(%rsp)
jmp 0x14b87
jmp 0x14b2c
movl $0x0, 0x34(%rsp)
jmp 0x14b87
movq 0x8(%rsp), %rsi
leaq 0x6ad6(%rip), %rdi      # 0x1b618
movb $0x0, %al
callq 0x7270
movq 0x28(%rsp), %rdi
movq 0x8(%rsp), %rsi
leaq 0x670f(%rip), %rdx      # 0x1b269
callq 0x72b0
movq 0x8(%rsp), %rdi
callq 0x7230
movq %rax, 0x18(%rsp)
movq 0x10(%rsp), %rax
movq (%rax), %rcx
movq 0x18(%rsp), %rax
movq %rcx, 0x8(%rax)
movl $0x1, 0x34(%rsp)
movl 0x34(%rsp), %eax
addq $0x38, %rsp
retq
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/stroker.c
// Function: Stroker_beginsubpath
static int Stroker_beginsubpath(lua_State *L)
    {
    FT_Error ec;
    FT_Vector to;
    FT_Bool open;
    FT_Stroker *stroker = checkstroker(L, 1);
    checkvector(L, 2, &to);
    open = checkboolean(L, 3);
    ec = FT_Stroker_BeginSubPath(*stroker, &to, open);
    CheckError(L, ec);
    return 0;
    }

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x38(%rsp)
movq 0x38(%rsp), %rdi
movl $0x1, %esi
callq 0x7a50
movq %rax, 0x10(%rsp)
movq 0x38(%rsp), %rdi
movl $0x2, %esi
leaq 0x20(%rsp), %rdx
callq 0x7730
movq 0x38(%rsp), %rdi
movl $0x3, %esi
callq 0x7a40
movb %al, 0x1f(%rsp)
movq 0x10(%rsp), %rax
movq (%rax), %rdi
leaq 0x20(%rsp), %rsi
movzbl 0x1f(%rsp), %edx
callq 0x7060
movl %eax, 0x34(%rsp)
cmpl $0x0, 0x34(%rsp)
je 0x14c6e
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 0x14c78
jmp 0x14c70
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/stroker.c
// Function: Stroker_endsubpath
static int Stroker_endsubpath(lua_State *L) 
    {
    FT_Error ec;
    FT_Stroker *stroker = checkstroker(L, 1);
    ec = FT_Stroker_EndSubPath(*stroker);
    CheckError(L, ec);
    return 0;
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq 0x18(%rsp), %rdi
movl $0x1, %esi
callq 0x7a50
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x7ad0
movl %eax, 0x14(%rsp)
cmpl $0x0, 0x14(%rsp)
je 0x14ceb
movq 0x18(%rsp), %rax
movq %rax, (%rsp)
movl 0x14(%rsp), %edi
callq 0x7d30
movq (%rsp), %rdi
movq %rax, %rsi
movb $0x0, %al
callq 0x7a70
movl %eax, 0x24(%rsp)
jmp 0x14cf5
jmp 0x14ced
movl $0x0, 0x24(%rsp)
movl 0x24(%rsp), %eax
addq $0x28, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/stroker.c
// Function: Stroker_set
static int Stroker_set(lua_State *L) 
    {
    FT_Stroker *stroker = checkstroker(L, 1);
    FT_Fixed radius = luaL_checkinteger(L, 2);
    FT_Stroker_LineCap line_cap = checkstrokerlinecap(L, 3);
    FT_Stroker_LineJoin line_join = checkstrokerlinejoin(L, 4);
    FT_Fixed miter_limit = luaL_checkinteger(L, 5);
    FT_Stroker_Set(*stroker, radius, line_cap, line_join, miter_limit); 
    return 0;
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq 0x20(%rsp), %rdi
movl $0x1, %esi
callq 0x7a50
movq %rax, 0x18(%rsp)
movq 0x20(%rsp), %rdi
movl $0x2, %esi
callq 0x7770
movq %rax, 0x10(%rsp)
movq 0x20(%rsp), %rdi
movl $0x4, %esi
movl $0x3, %edx
callq 0x7b20
movl %eax, 0xc(%rsp)
movq 0x20(%rsp), %rdi
movl $0x3, %esi
movl $0x4, %edx
callq 0x7b20
movl %eax, 0x8(%rsp)
movq 0x20(%rsp), %rdi
movl $0x5, %esi
callq 0x7770
movq %rax, (%rsp)
movq 0x18(%rsp), %rax
movq (%rax), %rdi
movq 0x10(%rsp), %rsi
movl 0xc(%rsp), %edx
movl 0x8(%rsp), %ecx
movq (%rsp), %r8
callq 0x75f0
xorl %eax, %eax
addq $0x28, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/stroker.c
// Function: Stroker_conicto
static int Stroker_conicto(lua_State *L) 
    {
    FT_Error ec;
    FT_Vector control, to;
    FT_Stroker *stroker = checkstroker(L, 1);
    checkvector(L, 2, &control);
    checkvector(L, 3, &to);
    ec = FT_Stroker_ConicTo(*stroker, &control, &to);
    CheckError(L, ec);
    return 0;
    }

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x38(%rsp)
movq 0x38(%rsp), %rdi
movl $0x1, %esi
callq 0x7a50
movq %rax, 0x8(%rsp)
movq 0x38(%rsp), %rdi
movl $0x2, %esi
leaq 0x20(%rsp), %rdx
callq 0x7730
movq 0x38(%rsp), %rdi
movl $0x3, %esi
leaq 0x10(%rsp), %rdx
callq 0x7730
movq 0x8(%rsp), %rax
movq (%rax), %rdi
leaq 0x20(%rsp), %rsi
leaq 0x10(%rsp), %rdx
callq 0x7400
movl %eax, 0x34(%rsp)
cmpl $0x0, 0x34(%rsp)
je 0x14e6d
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 0x14e77
jmp 0x14e6f
movl $0x0, 0x44(%rsp)
movl 0x44(%rsp), %eax
addq $0x48, %rsp
retq
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/stroker.c
// Function: Stroker_cubicto
static int Stroker_cubicto(lua_State *L) 
    {
    FT_Error ec;
    FT_Vector control1, control2, to;
    FT_Stroker *stroker = checkstroker(L, 1);
    checkvector(L, 2, &control1);
    checkvector(L, 3, &control2);
    checkvector(L, 4, &to);
    ec = FT_Stroker_CubicTo(*stroker, &control1, &control2, &to);
    CheckError(L, ec);
    return 0;
    }

// Assembly:
subq $0x58, %rsp
movq %rdi, 0x48(%rsp)
movq 0x48(%rsp), %rdi
movl $0x1, %esi
callq 0x7a50
movq %rax, 0x8(%rsp)
movq 0x48(%rsp), %rdi
movl $0x2, %esi
leaq 0x30(%rsp), %rdx
callq 0x7730
movq 0x48(%rsp), %rdi
movl $0x3, %esi
leaq 0x20(%rsp), %rdx
callq 0x7730
movq 0x48(%rsp), %rdi
movl $0x4, %esi
leaq 0x10(%rsp), %rdx
callq 0x7730
movq 0x8(%rsp), %rax
movq (%rax), %rdi
leaq 0x30(%rsp), %rsi
leaq 0x20(%rsp), %rdx
leaq 0x10(%rsp), %rcx
callq 0x7d60
movl %eax, 0x44(%rsp)
cmpl $0x0, 0x44(%rsp)
je 0x14f26
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 0x14f30
jmp 0x14f28
movl $0x0, 0x54(%rsp)
movl 0x54(%rsp), %eax
addq $0x58, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/stroker.c
// Function: Stroker_lineto
static int Stroker_lineto(lua_State *L)
    {
    FT_Error ec;
    FT_Vector to;
    FT_Stroker *stroker = checkstroker(L, 1);
    checkvector(L, 2, &to);
    ec = FT_Stroker_LineTo(*stroker, &to);
    CheckError(L, ec);
    return 0;
    }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq 0x28(%rsp), %rdi
movl $0x1, %esi
callq 0x7a50
movq %rax, 0x8(%rsp)
movq 0x28(%rsp), %rdi
movl $0x2, %esi
leaq 0x10(%rsp), %rdx
callq 0x7730
movq 0x8(%rsp), %rax
movq (%rax), %rdi
leaq 0x10(%rsp), %rsi
callq 0x7bc0
movl %eax, 0x24(%rsp)
cmpl $0x0, 0x24(%rsp)
je 0x14fb4
movq 0x28(%rsp), %rax
movq %rax, (%rsp)
movl 0x24(%rsp), %edi
callq 0x7d30
movq (%rsp), %rdi
movq %rax, %rsi
movb $0x0, %al
callq 0x7a70
movl %eax, 0x34(%rsp)
jmp 0x14fbe
jmp 0x14fb6
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/stroker.c
// Function: Stroker_getcounts
static int Stroker_getcounts(lua_State *L)
    {
    FT_Error ec;
    FT_UInt num_points, num_contours;
    FT_Stroker *stroker = checkstroker(L, 1);
    ec = FT_Stroker_GetCounts(*stroker, &num_points, &num_contours);
    CheckError(L, ec);
    lua_pushinteger(L, num_points);
    lua_pushinteger(L, num_contours);
    return 2;
    }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq 0x28(%rsp), %rdi
movl $0x1, %esi
callq 0x7a50
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq (%rax), %rdi
leaq 0x20(%rsp), %rsi
leaq 0x1c(%rsp), %rdx
callq 0x7480
movl %eax, 0x24(%rsp)
cmpl $0x0, 0x24(%rsp)
je 0x15037
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 0x15061
jmp 0x15039
movq 0x28(%rsp), %rdi
movl 0x20(%rsp), %eax
movl %eax, %esi
callq 0x7540
movq 0x28(%rsp), %rdi
movl 0x1c(%rsp), %eax
movl %eax, %esi
callq 0x7540
movl $0x2, 0x34(%rsp)
movl 0x34(%rsp), %eax
addq $0x38, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/stroker.c
// Function: Stroker_parseoutline
static int Stroker_parseoutline(lua_State *L)
    {
    ud_t *ud1, *ud2;
    FT_Error ec;
    FT_Stroker *stroker = checkstroker(L, 1);
    FT_Outline *outline = checkoutline(L, 2);
    FT_Bool opened = checkboolean(L, 3);
    ud1 = userdata(stroker);
    ud2 = userdata(outline);
    if(ud1->library != ud2->library)
        return luaL_error(L, "stroker and outline do not belong to the same library");
    ec = FT_Stroker_ParseOutline(*stroker, outline, opened);
    CheckError(L, ec);
    return 0;
    }

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x38(%rsp)
movq 0x38(%rsp), %rdi
movl $0x1, %esi
callq 0x7a50
movq %rax, 0x18(%rsp)
movq 0x38(%rsp), %rdi
movl $0x2, %esi
callq 0x7590
movq %rax, 0x10(%rsp)
movq 0x38(%rsp), %rdi
movl $0x3, %esi
callq 0x7a40
movb %al, 0xf(%rsp)
movq 0x18(%rsp), %rdi
callq 0x7230
movq %rax, 0x30(%rsp)
movq 0x10(%rsp), %rdi
callq 0x7230
movq %rax, 0x28(%rsp)
movq 0x30(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x28(%rsp), %rcx
cmpq 0x8(%rcx), %rax
je 0x150ff
movq 0x38(%rsp), %rdi
leaq 0x653a(%rip), %rsi      # 0x1b62c
movb $0x0, %al
callq 0x7a70
movl %eax, 0x44(%rsp)
jmp 0x15151
movq 0x18(%rsp), %rax
movq (%rax), %rdi
movq 0x10(%rsp), %rsi
movzbl 0xf(%rsp), %edx
callq 0x79d0
movl %eax, 0x24(%rsp)
cmpl $0x0, 0x24(%rsp)
je 0x15147
movq 0x38(%rsp), %rax
movq %rax, (%rsp)
movl 0x24(%rsp), %edi
callq 0x7d30
movq (%rsp), %rdi
movq %rax, %rsi
movb $0x0, %al
callq 0x7a70
movl %eax, 0x44(%rsp)
jmp 0x15151
jmp 0x15149
movl $0x0, 0x44(%rsp)
movl 0x44(%rsp), %eax
addq $0x48, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/stroker.c
// Function: Stroker_export
static int Stroker_export(lua_State *L) 
    {
    ud_t *ud1, *ud2;
    FT_Stroker *stroker = checkstroker(L, 1);
    FT_Outline *outline = checkoutline(L, 2);
    ud1 = userdata(stroker);
    ud2 = userdata(outline);
    if(ud1->library != ud2->library)
        return luaL_error(L, "stroker and outline do not belong to the same library");
    FT_Stroker_Export(*stroker, outline);
    return 0;
    }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq 0x28(%rsp), %rdi
movl $0x1, %esi
callq 0x7a50
movq %rax, 0x10(%rsp)
movq 0x28(%rsp), %rdi
movl $0x2, %esi
callq 0x7590
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rdi
callq 0x7230
movq %rax, 0x20(%rsp)
movq 0x8(%rsp), %rdi
callq 0x7230
movq %rax, 0x18(%rsp)
movq 0x20(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x18(%rsp), %rcx
cmpq 0x8(%rcx), %rax
je 0x151dc
movq 0x28(%rsp), %rdi
leaq 0x645d(%rip), %rsi      # 0x1b62c
movb $0x0, %al
callq 0x7a70
movl %eax, 0x34(%rsp)
jmp 0x151f6
movq 0x10(%rsp), %rax
movq (%rax), %rdi
movq 0x8(%rsp), %rsi
callq 0x70c0
movl $0x0, 0x34(%rsp)
movl 0x34(%rsp), %eax
addq $0x38, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/stroker.c
// Function: Stroker_exportborder
static int Stroker_exportborder(lua_State *L)
    {
    ud_t *ud1, *ud2;
    FT_Stroker *stroker = checkstroker(L, 1);
    FT_StrokerBorder border = checkstrokerborder(L, 2);
    FT_Outline *outline = checkoutline(L, 3);
    ud1 = userdata(stroker);
    ud2 = userdata(outline);
    if(ud1->library != ud2->library)
        return luaL_error(L, "stroker and outline do not belong to the same library");
    FT_Stroker_ExportBorder(*stroker, border, outline);
    return 0;
    }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq 0x28(%rsp), %rdi
movl $0x1, %esi
callq 0x7a50
movq %rax, 0x10(%rsp)
movq 0x28(%rsp), %rdi
movl $0x2, %edx
movl %edx, %esi
callq 0x7b20
movl %eax, 0xc(%rsp)
movq 0x28(%rsp), %rdi
movl $0x3, %esi
callq 0x7590
movq %rax, (%rsp)
movq 0x10(%rsp), %rdi
callq 0x7230
movq %rax, 0x20(%rsp)
movq (%rsp), %rdi
callq 0x7230
movq %rax, 0x18(%rsp)
movq 0x20(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x18(%rsp), %rcx
cmpq 0x8(%rcx), %rax
je 0x1528f
movq 0x28(%rsp), %rdi
leaq 0x63aa(%rip), %rsi      # 0x1b62c
movb $0x0, %al
callq 0x7a70
movl %eax, 0x34(%rsp)
jmp 0x152ac
movq 0x10(%rsp), %rax
movq (%rax), %rdi
movl 0xc(%rsp), %esi
movq (%rsp), %rdx
callq 0x74e0
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/stroker.c
// Function: Stroker_getbordercounts
static int Stroker_getbordercounts(lua_State *L)
    {
    FT_Error ec;
    FT_UInt num_points, num_contours;
    FT_Stroker *stroker = checkstroker(L, 1);
    FT_StrokerBorder border = checkstrokerborder(L, 2);
    ec = FT_Stroker_GetBorderCounts(*stroker, border, &num_points, &num_contours);
    CheckError(L, ec);
    lua_pushinteger(L, num_points);
    lua_pushinteger(L, num_contours);
    return 2;
    }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq 0x28(%rsp), %rdi
movl $0x1, %esi
callq 0x7a50
movq %rax, 0x10(%rsp)
movq 0x28(%rsp), %rdi
movl $0x2, %edx
movl %edx, %esi
callq 0x7b20
movl %eax, 0xc(%rsp)
movq 0x10(%rsp), %rax
movq (%rax), %rdi
movl 0xc(%rsp), %esi
leaq 0x20(%rsp), %rdx
leaq 0x1c(%rsp), %rcx
callq 0x7c70
movl %eax, 0x24(%rsp)
cmpl $0x0, 0x24(%rsp)
je 0x1533e
movq 0x28(%rsp), %rax
movq %rax, (%rsp)
movl 0x24(%rsp), %edi
callq 0x7d30
movq (%rsp), %rdi
movq %rax, %rsi
movb $0x0, %al
callq 0x7a70
movl %eax, 0x34(%rsp)
jmp 0x15368
jmp 0x15340
movq 0x28(%rsp), %rdi
movl 0x20(%rsp), %eax
movl %eax, %esi
callq 0x7540
movq 0x28(%rsp), %rdi
movl 0x1c(%rsp), %eax
movl %eax, %esi
callq 0x7540
movl $0x2, 0x34(%rsp)
movl 0x34(%rsp), %eax
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/udata.c
// Function: moonfreetype_udata_scan
void udata_scan(lua_State *L, const char *mt,  
            void *info, int (*func)(lua_State *L, const void *ptr, const void *info))
/* scans the udata database, and calls the func callback for every 'mt' object found
 * (the object may be deleted in the callback) */
    {
    uintptr_t id = 0;
    udata_t *udata;
    while((udata = udata_first(id)))
        {
        id = udata->id + 1;
//printf("udata_scan %p\n", udata->id);
        if(mt == udata->mt)
            func(L, (const void*)(udata->id), info);
        }
    }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq %rsi, 0x28(%rsp)
movq %rdx, 0x20(%rsp)
movq %rcx, 0x18(%rsp)
movq $0x0, 0x10(%rsp)
movq 0x10(%rsp), %rdi
callq 0x157f0
movq %rax, 0x8(%rsp)
cmpq $0x0, %rax
je 0x15894
movq 0x8(%rsp), %rax
movq 0x20(%rax), %rax
addq $0x1, %rax
movq %rax, 0x10(%rsp)
movq 0x28(%rsp), %rax
movq 0x8(%rsp), %rcx
cmpq 0x38(%rcx), %rax
jne 0x15892
movq 0x18(%rsp), %rax
movq 0x30(%rsp), %rdi
movq 0x8(%rsp), %rcx
movq 0x20(%rcx), %rsi
movq 0x20(%rsp), %rdx
callq *%rax
jmp 0x15841
addq $0x38, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/utils.c
// Function: moonfreetype_Malloc
void *Malloc(lua_State *L, size_t size)
    {
    void *ptr = Malloc_(size);
    if(ptr==NULL)
        { luaL_error(L, errstring(ERR_MEMORY)); return NULL; }
    memset(ptr, 0, size);
    //DBG("Malloc %p\n", ptr);
    return ptr;
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq %rsi, 0x10(%rsp)
movq 0x10(%rsp), %rdi
callq 0x16fd0
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
jne 0x16fa1
movq 0x18(%rsp), %rax
movq %rax, (%rsp)
movl $0xfffffffa, %edi       # imm = 0xFFFFFFFA
callq 0x7130
movq (%rsp), %rdi
movq %rax, %rsi
movb $0x0, %al
callq 0x7a70
movq $0x0, 0x20(%rsp)
jmp 0x16fbc
movq 0x8(%rsp), %rdi
movq 0x10(%rsp), %rdx
xorl %esi, %esi
callq 0x7520
movq 0x8(%rsp), %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/utils.c
// Function: moonfreetype_freeuserdata
int freeuserdata(lua_State *L, void *ptr)
    {
    ud_t *ud = userdata(ptr);
    if(!ud)
        return 0; /* already deleted */
    ud->obj = NULL;
    udata_free(L, ptr);
    return 1;
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq %rsi, 0x10(%rsp)
movq 0x10(%rsp), %rdi
callq 0x7230
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
jne 0x172ff
movl $0x0, 0x24(%rsp)
jmp 0x17322
movq 0x8(%rsp), %rax
movq $0x0, (%rax)
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x7750
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/utils.c
// Function: moonfreetype_checkcharcode
FT_ULong checkcharcode(lua_State *L, int arg)
/* a charcode may be given as an integer code, or as a character (e.g. 'X') */
    {
    const char *c;
    size_t len;
    FT_ULong char_code;
    if(lua_type(L, arg) == LUA_TNUMBER)
        char_code = luaL_checkinteger(L, arg);
    else
        {
        c = luaL_checklstring(L, arg, &len);
        if(len != 1)
            return luaL_argerror(L, arg, "invalid length, must be 1");
        char_code = c[0];
        }
    return char_code;
    }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movl %esi, 0x24(%rsp)
movq 0x28(%rsp), %rdi
movl 0x24(%rsp), %esi
callq 0x7c10
cmpl $0x3, %eax
jne 0x17515
movq 0x28(%rsp), %rdi
movl 0x24(%rsp), %esi
callq 0x7770
movq %rax, 0x8(%rsp)
jmp 0x17561
movq 0x28(%rsp), %rdi
movl 0x24(%rsp), %esi
leaq 0x10(%rsp), %rdx
callq 0x7630
movq %rax, 0x18(%rsp)
cmpq $0x1, 0x10(%rsp)
je 0x17553
movq 0x28(%rsp), %rdi
movl 0x24(%rsp), %esi
leaq 0x4312(%rip), %rdx      # 0x1b857
callq 0x7260
cltq
movq %rax, 0x30(%rsp)
jmp 0x1756b
movq 0x18(%rsp), %rax
movsbq (%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rax
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/utils.c
// Function: moonfreetype_pushglyphmetrics
int pushglyphmetrics(lua_State *L, FT_Glyph_Metrics metrics)
    {
    lua_newtable(L);
    lua_pushinteger(L, metrics.width);
    lua_setfield(L, -2, "width");
    lua_pushinteger(L, metrics.height);
    lua_setfield(L, -2, "height");
    lua_pushinteger(L, metrics.horiBearingX);
    lua_setfield(L, -2, "hori_bearing_x");
    lua_pushinteger(L, metrics.horiBearingY);
    lua_setfield(L, -2, "hori_bearing_y");
    lua_pushinteger(L, metrics.horiAdvance);
    lua_setfield(L, -2, "hori_advance");
    lua_pushinteger(L, metrics.vertBearingX);
    lua_setfield(L, -2, "vert_bearing_x");
    lua_pushinteger(L, metrics.vertBearingY);
    lua_setfield(L, -2, "vert_bearing_y");
    lua_pushinteger(L, metrics.vertAdvance);
    lua_setfield(L, -2, "vert_advance");
    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 0x370c(%rip), %rdx      # 0x1b010
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 0x30db(%rip), %rdx      # 0x1aa08
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 0x3f6e(%rip), %rdx      # 0x1b8c4
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 0x3f54(%rip), %rdx      # 0x1b8d3
callq 0x74f0
movq 0x8(%rsp), %rax
movq 0x10(%rsp), %rdi
movq 0x20(%rax), %rsi
callq 0x7540
movq 0x10(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x3ed0(%rip), %rdx      # 0x1b878
callq 0x74f0
movq 0x8(%rsp), %rax
movq 0x10(%rsp), %rdi
movq 0x28(%rax), %rsi
callq 0x7540
movq 0x10(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x3f11(%rip), %rdx      # 0x1b8e2
callq 0x74f0
movq 0x8(%rsp), %rax
movq 0x10(%rsp), %rdi
movq 0x30(%rax), %rsi
callq 0x7540
movq 0x10(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x3ef7(%rip), %rdx      # 0x1b8f1
callq 0x74f0
movq 0x8(%rsp), %rax
movq 0x10(%rsp), %rdi
movq 0x38(%rax), %rsi
callq 0x7540
movq 0x10(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x3e69(%rip), %rdx      # 0x1b88c
callq 0x74f0
movl $0x1, %eax
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)