// File: /workspace/github_c_makefile_star2_O0/zenkj[P]luajit-arm64/src/host/minilua.c
// Function: close_func
static void close_func(LexState*ls){
lua_State*L=ls->L;
FuncState*fs=ls->fs;
Proto*f=fs->f;
removevars(ls,0);
luaK_ret(fs,0,0);
luaM_reallocvector(L,f->code,f->sizecode,fs->pc,Instruction);
f->sizecode=fs->pc;
luaM_reallocvector(L,f->lineinfo,f->sizelineinfo,fs->pc,int);
f->sizelineinfo=fs->pc;
luaM_reallocvector(L,f->k,f->sizek,fs->nk,TValue);
f->sizek=fs->nk;
luaM_reallocvector(L,f->p,f->sizep,fs->np,Proto*);
f->sizep=fs->np;
luaM_reallocvector(L,f->locvars,f->sizelocvars,fs->nlocvars,LocVar);
f->sizelocvars=fs->nlocvars;
luaM_reallocvector(L,f->upvalues,f->sizeupvalues,f->nups,TString*);
f->sizeupvalues=f->nups;
ls->fs=fs->prev;
if(fs)anchor_token(ls);
L->top-=2;
}

// Assembly:
subq $0x58, %rsp
movq %rdi, 0x50(%rsp)
movq 0x50(%rsp), %rax
movq 0x38(%rax), %rax
movq %rax, 0x48(%rsp)
movq 0x50(%rsp), %rax
movq 0x30(%rax), %rax
movq %rax, 0x40(%rsp)
movq 0x40(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x38(%rsp)
movq 0x50(%rsp), %rdi
xorl %esi, %esi
callq 0x195e0
movq 0x40(%rsp), %rdi
xorl %edx, %edx
movl %edx, %esi
callq 0x19e30
movq 0x40(%rsp), %rax
movl 0x30(%rax), %eax
addl $0x1, %eax
cltq
movabsq $0x3fffffffffffffff, %rcx # imm = 0x3FFFFFFFFFFFFFFF
cmpq %rcx, %rax
ja 0x124ac
movq 0x48(%rsp), %rdi
movq 0x38(%rsp), %rax
movq 0x18(%rax), %rsi
movq 0x38(%rsp), %rax
movslq 0x50(%rax), %rdx
shlq $0x2, %rdx
movq 0x40(%rsp), %rax
movslq 0x30(%rax), %rcx
shlq $0x2, %rcx
callq 0x4b30
movq %rax, 0x30(%rsp)
jmp 0x124bb
movq 0x48(%rsp), %rdi
callq 0x5480
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rcx
movq 0x38(%rsp), %rax
movq %rcx, 0x18(%rax)
movq 0x40(%rsp), %rax
movl 0x30(%rax), %ecx
movq 0x38(%rsp), %rax
movl %ecx, 0x50(%rax)
movq 0x40(%rsp), %rax
movl 0x30(%rax), %eax
addl $0x1, %eax
cltq
movabsq $0x3fffffffffffffff, %rcx # imm = 0x3FFFFFFFFFFFFFFF
cmpq %rcx, %rax
ja 0x12529
movq 0x48(%rsp), %rdi
movq 0x38(%rsp), %rax
movq 0x28(%rax), %rsi
movq 0x38(%rsp), %rax
movslq 0x54(%rax), %rdx
shlq $0x2, %rdx
movq 0x40(%rsp), %rax
movslq 0x30(%rax), %rcx
shlq $0x2, %rcx
callq 0x4b30
movq %rax, 0x28(%rsp)
jmp 0x12538
movq 0x48(%rsp), %rdi
callq 0x5480
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %rcx
movq 0x38(%rsp), %rax
movq %rcx, 0x28(%rax)
movq 0x40(%rsp), %rax
movl 0x30(%rax), %ecx
movq 0x38(%rsp), %rax
movl %ecx, 0x54(%rax)
movq 0x40(%rsp), %rax
movl 0x40(%rax), %eax
addl $0x1, %eax
cltq
movabsq $0xfffffffffffffff, %rcx # imm = 0xFFFFFFFFFFFFFFF
cmpq %rcx, %rax
ja 0x125a6
movq 0x48(%rsp), %rdi
movq 0x38(%rsp), %rax
movq 0x10(%rax), %rsi
movq 0x38(%rsp), %rax
movslq 0x4c(%rax), %rdx
shlq $0x4, %rdx
movq 0x40(%rsp), %rax
movslq 0x40(%rax), %rcx
shlq $0x4, %rcx
callq 0x4b30
movq %rax, 0x20(%rsp)
jmp 0x125b5
movq 0x48(%rsp), %rdi
callq 0x5480
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rcx
movq 0x38(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x40(%rsp), %rax
movl 0x40(%rax), %ecx
movq 0x38(%rsp), %rax
movl %ecx, 0x4c(%rax)
movq 0x40(%rsp), %rax
movl 0x44(%rax), %eax
addl $0x1, %eax
cltq
movabsq $0x1fffffffffffffff, %rcx # imm = 0x1FFFFFFFFFFFFFFF
cmpq %rcx, %rax
ja 0x12623
movq 0x48(%rsp), %rdi
movq 0x38(%rsp), %rax
movq 0x20(%rax), %rsi
movq 0x38(%rsp), %rax
movslq 0x58(%rax), %rdx
shlq $0x3, %rdx
movq 0x40(%rsp), %rax
movslq 0x44(%rax), %rcx
shlq $0x3, %rcx
callq 0x4b30
movq %rax, 0x18(%rsp)
jmp 0x12632
movq 0x48(%rsp), %rdi
callq 0x5480
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rcx
movq 0x38(%rsp), %rax
movq %rcx, 0x20(%rax)
movq 0x40(%rsp), %rax
movl 0x44(%rax), %ecx
movq 0x38(%rsp), %rax
movl %ecx, 0x58(%rax)
movq 0x40(%rsp), %rax
movswl 0x48(%rax), %eax
addl $0x1, %eax
cltq
movabsq $0xfffffffffffffff, %rcx # imm = 0xFFFFFFFFFFFFFFF
cmpq %rcx, %rax
ja 0x126a2
movq 0x48(%rsp), %rdi
movq 0x38(%rsp), %rax
movq 0x30(%rax), %rsi
movq 0x38(%rsp), %rax
movslq 0x5c(%rax), %rdx
shlq $0x4, %rdx
movq 0x40(%rsp), %rax
movswq 0x48(%rax), %rcx
shlq $0x4, %rcx
callq 0x4b30
movq %rax, 0x10(%rsp)
jmp 0x126b1
movq 0x48(%rsp), %rdi
callq 0x5480
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rcx
movq 0x38(%rsp), %rax
movq %rcx, 0x30(%rax)
movq 0x40(%rsp), %rax
movswl 0x48(%rax), %ecx
movq 0x38(%rsp), %rax
movl %ecx, 0x5c(%rax)
movq 0x38(%rsp), %rax
movzbl 0x70(%rax), %eax
addl $0x1, %eax
cltq
movabsq $0x1fffffffffffffff, %rcx # imm = 0x1FFFFFFFFFFFFFFF
cmpq %rcx, %rax
ja 0x12723
movq 0x48(%rsp), %rdi
movq 0x38(%rsp), %rax
movq 0x38(%rax), %rsi
movq 0x38(%rsp), %rax
movslq 0x48(%rax), %rdx
shlq $0x3, %rdx
movq 0x38(%rsp), %rax
movzbl 0x70(%rax), %eax
movl %eax, %ecx
shlq $0x3, %rcx
callq 0x4b30
movq %rax, 0x8(%rsp)
jmp 0x12732
movq 0x48(%rsp), %rdi
callq 0x5480
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rcx
movq 0x38(%rsp), %rax
movq %rcx, 0x38(%rax)
movq 0x38(%rsp), %rax
movzbl 0x70(%rax), %ecx
movq 0x38(%rsp), %rax
movl %ecx, 0x48(%rax)
movq 0x40(%rsp), %rax
movq 0x10(%rax), %rcx
movq 0x50(%rsp), %rax
movq %rcx, 0x30(%rax)
cmpq $0x0, 0x40(%rsp)
je 0x12775
movq 0x50(%rsp), %rdi
callq 0x1a120
movq 0x48(%rsp), %rax
movq 0x10(%rax), %rcx
addq $-0x20, %rcx
movq %rcx, 0x10(%rax)
addq $0x58, %rsp
retq
nopl (%rax,%rax)