// File: /workspace/github_c_makefile_star2_O0/zenkj[P]luajit-arm64/src/host/minilua.c
// Function: luaO_pushvfstring
static const char*luaO_pushvfstring(lua_State*L,const char*fmt,va_list argp){
int n=1;
pushstr(L,"");
for(;;){
const char*e=strchr(fmt,'%');
if(e==NULL)break;
setsvalue(L,L->top,luaS_newlstr(L,fmt,e-fmt));
incr_top(L);
switch(*(e+1)){
case's':{
const char*s=va_arg(argp,char*);
if(s==NULL)s="(null)";
pushstr(L,s);
break;
}
case'c':{
char buff[2];
buff[0]=cast(char,va_arg(argp,int));
buff[1]='\0';
pushstr(L,buff);
break;
}
case'd':{
setnvalue(L->top,cast_num(va_arg(argp,int)));
incr_top(L);
break;
}
case'f':{
setnvalue(L->top,cast_num(va_arg(argp,l_uacNumber)));
incr_top(L);
break;
}
case'p':{
char buff[4*sizeof(void*)+8];
sprintf(buff,"%p",va_arg(argp,void*));
pushstr(L,buff);
break;
}
case'%':{
pushstr(L,"%");
break;
}
default:{
char buff[3];
buff[0]='%';
buff[1]=*(e+1);
buff[2]='\0';
pushstr(L,buff);
break;
}
}
n+=2;
fmt=e+2;
}
pushstr(L,fmt);
luaV_concat(L,n+1,cast_int(L->top-L->base)-1);
L->top-=n;
return svalue(L->top-1);
}

// Assembly:
subq $0x108, %rsp            # imm = 0x108
movq %rdi, 0x100(%rsp)
movq %rsi, 0xf8(%rsp)
movq %rdx, 0xf0(%rsp)
movl $0x1, 0xec(%rsp)
movq 0x100(%rsp), %rdi
leaq 0x1d47d(%rip), %rsi     # 0x22ad6
callq 0x6120
movq 0xf8(%rsp), %rdi
movl $0x25, %esi
callq 0x3100
movq %rax, 0xe0(%rsp)
cmpq $0x0, 0xe0(%rsp)
jne 0x5688
jmp 0x5b76
movq 0x100(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0xd8(%rsp)
movq 0x100(%rsp), %rdi
movq 0xf8(%rsp), %rsi
movq 0xe0(%rsp), %rdx
movq 0xf8(%rsp), %rax
subq %rax, %rdx
callq 0x49c0
movq %rax, %rcx
movq 0xd8(%rsp), %rax
movq %rcx, (%rax)
movq 0xd8(%rsp), %rax
movl $0x4, 0x8(%rax)
movq 0x100(%rsp), %rax
movq 0x38(%rax), %rax
movq 0x100(%rsp), %rcx
movq 0x10(%rcx), %rcx
subq %rcx, %rax
cmpq $0x10, %rax
jg 0x5716
movq 0x100(%rsp), %rdi
movl $0x1, %esi
callq 0x61d0
jmp 0x5718
jmp 0x5718
movq 0x100(%rsp), %rax
movq 0x10(%rax), %rcx
addq $0x10, %rcx
movq %rcx, 0x10(%rax)
movq 0xe0(%rsp), %rax
movsbl 0x1(%rax), %eax
movl %eax, 0x88(%rsp)
subl $0x25, %eax
je 0x5aff
jmp 0x574a
movl 0x88(%rsp), %eax
subl $0x63, %eax
je 0x583b
jmp 0x575c
movl 0x88(%rsp), %eax
subl $0x64, %eax
je 0x58b8
jmp 0x576e
movl 0x88(%rsp), %eax
subl $0x66, %eax
je 0x598d
jmp 0x5780
movl 0x88(%rsp), %eax
subl $0x70, %eax
je 0x5a76
jmp 0x5792
movl 0x88(%rsp), %eax
subl $0x73, %eax
jne 0x5b15
jmp 0x57a4
movq 0xf0(%rsp), %rax
movq %rax, 0x78(%rsp)
movl (%rax), %eax
movl %eax, 0x84(%rsp)
cmpl $0x28, %eax
ja 0x57de
movq 0x78(%rsp), %rcx
movl 0x84(%rsp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, 0x70(%rsp)
jmp 0x57f7
movq 0x78(%rsp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, 0x70(%rsp)
movq 0x70(%rsp), %rax
movq (%rax), %rax
movq %rax, 0xd0(%rsp)
cmpq $0x0, 0xd0(%rsp)
jne 0x5821
leaq 0x1cffd(%rip), %rax     # 0x22816
movq %rax, 0xd0(%rsp)
movq 0x100(%rsp), %rdi
movq 0xd0(%rsp), %rsi
callq 0x6120
jmp 0x5b4c
movq 0xf0(%rsp), %rax
movq %rax, 0x60(%rsp)
movl (%rax), %eax
movl %eax, 0x6c(%rsp)
cmpl $0x28, %eax
ja 0x586f
movq 0x60(%rsp), %rcx
movl 0x6c(%rsp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, 0x58(%rsp)
jmp 0x5888
movq 0x60(%rsp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, 0x58(%rsp)
movq 0x58(%rsp), %rax
movl (%rax), %eax
movb %al, 0xce(%rsp)
movb $0x0, 0xcf(%rsp)
movq 0x100(%rsp), %rdi
leaq 0xce(%rsp), %rsi
callq 0x6120
jmp 0x5b4c
movq 0x100(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0xc0(%rsp)
movq 0xf0(%rsp), %rax
movq %rax, 0x48(%rsp)
movl (%rax), %eax
movl %eax, 0x54(%rsp)
cmpl $0x28, %eax
ja 0x5900
movq 0x48(%rsp), %rcx
movl 0x54(%rsp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, 0x40(%rsp)
jmp 0x5919
movq 0x48(%rsp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, 0x40(%rsp)
movq 0x40(%rsp), %rax
cvtsi2sdl (%rax), %xmm0
movq 0xc0(%rsp), %rax
movsd %xmm0, (%rax)
movq 0xc0(%rsp), %rax
movl $0x3, 0x8(%rax)
movq 0x100(%rsp), %rax
movq 0x38(%rax), %rax
movq 0x100(%rsp), %rcx
movq 0x10(%rcx), %rcx
subq %rcx, %rax
cmpq $0x10, %rax
jg 0x5972
movq 0x100(%rsp), %rdi
movl $0x1, %esi
callq 0x61d0
jmp 0x5974
jmp 0x5974
movq 0x100(%rsp), %rax
movq 0x10(%rax), %rcx
addq $0x10, %rcx
movq %rcx, 0x10(%rax)
jmp 0x5b4c
movq 0x100(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0xb8(%rsp)
movq 0xf0(%rsp), %rax
movq %rax, 0x28(%rsp)
movq %rax, %rcx
addq $0x4, %rcx
movq %rcx, 0x30(%rsp)
movl 0x4(%rax), %eax
movl %eax, 0x3c(%rsp)
cmpl $0xa0, %eax
ja 0x59e9
movq 0x30(%rsp), %rcx
movl 0x3c(%rsp), %edx
movq 0x28(%rsp), %rsi
movslq %edx, %rax
addq 0x10(%rsi), %rax
addl $0x10, %edx
movl %edx, (%rcx)
movq %rax, 0x20(%rsp)
jmp 0x5a02
movq 0x28(%rsp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
movsd (%rax), %xmm0
movq 0xb8(%rsp), %rax
movsd %xmm0, (%rax)
movq 0xb8(%rsp), %rax
movl $0x3, 0x8(%rax)
movq 0x100(%rsp), %rax
movq 0x38(%rax), %rax
movq 0x100(%rsp), %rcx
movq 0x10(%rcx), %rcx
subq %rcx, %rax
cmpq $0x10, %rax
jg 0x5a5b
movq 0x100(%rsp), %rdi
movl $0x1, %esi
callq 0x61d0
jmp 0x5a5d
jmp 0x5a5d
movq 0x100(%rsp), %rax
movq 0x10(%rax), %rcx
addq $0x10, %rcx
movq %rcx, 0x10(%rax)
jmp 0x5b4c
leaq 0x90(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0xf0(%rsp), %rax
movq %rax, 0x10(%rsp)
movl (%rax), %eax
movl %eax, 0x1c(%rsp)
cmpl $0x28, %eax
ja 0x5ab6
movq 0x10(%rsp), %rcx
movl 0x1c(%rsp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, (%rsp)
jmp 0x5ace
movq 0x10(%rsp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, (%rsp)
movq 0x8(%rsp), %rdi
movq (%rsp), %rax
movq (%rax), %rdx
leaq 0x1cd3c(%rip), %rsi     # 0x2281d
movb $0x0, %al
callq 0x3280
movq 0x100(%rsp), %rdi
leaq 0x90(%rsp), %rsi
callq 0x6120
jmp 0x5b4c
movq 0x100(%rsp), %rdi
leaq 0x1cd12(%rip), %rsi     # 0x22820
callq 0x6120
jmp 0x5b4c
movb $0x25, 0x8d(%rsp)
movq 0xe0(%rsp), %rax
movb 0x1(%rax), %al
movb %al, 0x8e(%rsp)
movb $0x0, 0x8f(%rsp)
movq 0x100(%rsp), %rdi
leaq 0x8d(%rsp), %rsi
callq 0x6120
movl 0xec(%rsp), %eax
addl $0x2, %eax
movl %eax, 0xec(%rsp)
movq 0xe0(%rsp), %rax
addq $0x2, %rax
movq %rax, 0xf8(%rsp)
jmp 0x565e
movq 0x100(%rsp), %rdi
movq 0xf8(%rsp), %rsi
callq 0x6120
movq 0x100(%rsp), %rdi
movl 0xec(%rsp), %esi
addl $0x1, %esi
movq 0x100(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x100(%rsp), %rcx
movq 0x18(%rcx), %rcx
subq %rcx, %rax
sarq $0x4, %rax
movl %eax, %edx
subl $0x1, %edx
callq 0x6220
movl 0xec(%rsp), %edx
movq 0x100(%rsp), %rax
movq 0x10(%rax), %rcx
movslq %edx, %rsi
xorl %edx, %edx
subq %rsi, %rdx
shlq $0x4, %rdx
addq %rdx, %rcx
movq %rcx, 0x10(%rax)
movq 0x100(%rsp), %rax
movq 0x10(%rax), %rax
movq -0x10(%rax), %rax
addq $0x18, %rax
addq $0x108, %rsp            # imm = 0x108
retq
nopl (%rax,%rax)