

:strlen
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# int i = 0; 
	mov____$i32,%rax %0x0
	mov____%eax,0x8(%rbp) !0x-8
					# while (s[i]) ...
	jmp32  %_strlen_4_continue
:_strlen_4_loop
	mov____0x8(%rbp),%rax !0x-8
	movslq_%eax,%rax
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-8
	addl___$i8,(%rdi) !0x1
	test___%rax,%rax
:_strlen_4_continue
	mov____0x8(%rbp),%rax !0x-8
	movslq_%eax,%rax
	mov____0x8(%rbp),%rdi !0x10
	add____%rdi,%rax
	movzbq_(%rax),%rax
	movsbq_%al,%rax
					# jmp test LABEL
	test___%rax,%rax
	test___%al,%al
	je32   %_strlen_4_break
	jmp32  %_strlen_4_loop
:_strlen_4_break
	mov____0x8(%rbp),%rax !0x-8
	movslq_%eax,%rax
	mov____%rbp,%rsp
	pop____%rbp
	ret


:eputs
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# int i = strlen(s); 
					# strlen(s)
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	call32 %strlen
	add____$i8,%rsp !0x8
	mov____%eax,0x8(%rbp) !0x-8
					# write(2, s, i)
	mov____0x8(%rbp),%rdi !0x-8
	movslq_%edi,%rdi
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	mov____$i32,%rdi %0x2
	push___%rdi
	call32 %write
	add____$i8,%rsp !0x18
	test___%rax,%rax
	mov____$i32,%rax %0x0
	mov____%rbp,%rsp
	pop____%rbp
	ret


:oputs
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# int i = strlen(s); 
					# strlen(s)
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	call32 %strlen
	add____$i8,%rsp !0x8
	mov____%eax,0x8(%rbp) !0x-8
					# write(1, s, i)
	mov____0x8(%rbp),%rdi !0x-8
	movslq_%edi,%rdi
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	mov____$i32,%rdi %0x1
	push___%rdi
	call32 %write
	add____$i8,%rsp !0x18
	test___%rax,%rax
	mov____$i32,%rax %0x0
	mov____%rbp,%rsp
	pop____%rbp
	ret


:puts
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# oputs(s)
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	call32 %oputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# oputs(" ")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_0
	call32 %oputs
	add____$i8,%rsp !0x8
	mov____%rbp,%rsp
	pop____%rbp
	ret


:_exit
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
	mov____0x8(%rbp),%rdi !0x10
	mov____$i32,%rax SYS_exit
	syscall
	mov____%rbp,%rsp
	pop____%rbp
	ret


:_write
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
	mov____0x8(%rbp),%rdi !0x10
	mov____0x8(%rbp),%rsi !0x18
	mov____0x8(%rbp),%rdx !0x20
	mov____$i32,%rax SYS_write
	syscall
	mov____%rbp,%rsp
	pop____%rbp
	ret


:write
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# int r = _write(filedes, buffer, size); 
					# _write(filedes, buffer, size)
	mov____0x8(%rbp),%rdi !0x20
	push___%rdi
	mov____0x8(%rbp),%rdi !0x18
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	movslq_%edi,%rdi
	push___%rdi
	call32 %_write
	add____$i8,%rsp !0x18
	mov____%eax,0x8(%rbp) !0x-8
					# if (r < 0) ...else ...
	mov____0x8(%rbp),%rax !0x-8
	movslq_%eax,%rax
	mov____$i32,%rdi %0x0
	sub____%rdi,%rax
	setl___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_write_12_else
					# errno = -r
	mov____0x8(%rbp),%rax !0x-8
	movslq_%eax,%rax
	mov____$i32,%rdi %0x0
	xchg___%rax,%rdi
	sub____%rdi,%rax
	movl___%eax,0x32 &errno
	test___%rax,%rax
					# r = -1
	mov____$i64,%rax %0xffffffff %0x-1
	mov____%rax,0x8(%rbp) !0x-8
	test___%rax,%rax
	jmp32  %_write_12_break
:_write_12_else
					# errno = 0
	mov____$i32,%rax %0x0
	movl___%eax,0x32 &errno
	test___%rax,%rax
:_write_12_break
	mov____0x8(%rbp),%rax !0x-8
	movslq_%eax,%rax
	mov____%rbp,%rsp
	pop____%rbp
	ret


:exit
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# if (__call_at_exit) ...
	mov____0x32,%rax &__call_at_exit
					# jmp test LABEL
	test___%rax,%rax
	je32   %_exit_1_break
					# (*__call_at_exit)()
	mov____0x32,%rax &__call_at_exit
	call___*%rax
	add____$i8,%rsp !0x0
	test___%rax,%rax
	jmp32  %_exit_1_break
:_exit_1_break
					# _exit(code)
	mov____0x8(%rbp),%rdi !0x10
	movslq_%edi,%rdi
	push___%rdi
	call32 %_exit
	add____$i8,%rsp !0x8
	test___%rax,%rax
	mov____%rbp,%rsp
	pop____%rbp
	ret


:isdigit
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
	mov____0x8(%rbp),%rax !0x10
	movslq_%eax,%rax
	mov____$i32,%rdi %0x30
	sub____%rdi,%rax
	setge__%al
	movzbq_%al,%rax
	test___%rax,%rax
	test___%rax,%rax
	je32   %_isdigit_7_and_skip_b
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x10
	movslq_%eax,%rax
	mov____$i32,%rdi %0x39
	sub____%rdi,%rax
	setle__%al
	movzbq_%al,%rax
	test___%rax,%rax
	test___%rax,%rax
:_isdigit_7_and_skip_b
	mov____%rbp,%rsp
	pop____%rbp
	ret


:isxdigit
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# isdigit(c)
	mov____0x8(%rbp),%rdi !0x10
	movslq_%edi,%rdi
	push___%rdi
	call32 %isdigit
	add____$i8,%rsp !0x8
	test___%rax,%rax
	jne32  %_isxdigit_6_or_skip_b
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x10
	movslq_%eax,%rax
	mov____$i32,%rdi %0x61
	sub____%rdi,%rax
	setge__%al
	movzbq_%al,%rax
	test___%rax,%rax
	test___%rax,%rax
	je32   %_isxdigit_15_and_skip_b
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x10
	movslq_%eax,%rax
	mov____$i32,%rdi %0x66
	sub____%rdi,%rax
	setle__%al
	movzbq_%al,%rax
	test___%rax,%rax
	test___%rax,%rax
:_isxdigit_15_and_skip_b
	test___%rax,%rax
:_isxdigit_6_or_skip_b
	mov____%rbp,%rsp
	pop____%rbp
	ret


:isspace
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
	mov____0x8(%rbp),%rax !0x10
	movslq_%eax,%rax
	mov____$i32,%rdi %0x9
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
	test___%rax,%rax
	jne32  %_isspace_6_or_skip_b
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x10
	movslq_%eax,%rax
	mov____$i32,%rdi %0xa
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
	test___%rax,%rax
:_isspace_6_or_skip_b
	test___%rax,%rax
	jne32  %_isspace_16_or_skip_b
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x10
	movslq_%eax,%rax
	mov____$i32,%rdi %0xb
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
	test___%rax,%rax
:_isspace_16_or_skip_b
	test___%rax,%rax
	jne32  %_isspace_26_or_skip_b
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x10
	movslq_%eax,%rax
	mov____$i32,%rdi %0xc
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
	test___%rax,%rax
:_isspace_26_or_skip_b
	test___%rax,%rax
	jne32  %_isspace_36_or_skip_b
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x10
	movslq_%eax,%rax
	mov____$i32,%rdi %0xd
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
	test___%rax,%rax
:_isspace_36_or_skip_b
	test___%rax,%rax
	jne32  %_isspace_46_or_skip_b
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x10
	movslq_%eax,%rax
	mov____$i32,%rdi %0x20
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
	test___%rax,%rax
:_isspace_46_or_skip_b
	mov____%rbp,%rsp
	pop____%rbp
	ret


:isnumber
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# if (base == 2) ...
	mov____0x8(%rbp),%rax !0x18
	movslq_%eax,%rax
	mov____$i32,%rdi %0x2
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_isnumber_1_break
	mov____0x8(%rbp),%rax !0x10
	movslq_%eax,%rax
	mov____$i32,%rdi %0x30
	sub____%rdi,%rax
	setge__%al
	movzbq_%al,%rax
	test___%rax,%rax
	test___%rax,%rax
	je32   %_isnumber_15_and_skip_b
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x10
	movslq_%eax,%rax
	mov____$i32,%rdi %0x31
	sub____%rdi,%rax
	setle__%al
	movzbq_%al,%rax
	test___%rax,%rax
	test___%rax,%rax
:_isnumber_15_and_skip_b
	mov____%rbp,%rsp
	pop____%rbp
	ret
	jmp32  %_isnumber_1_break
:_isnumber_1_break
					# if (base == 8) ...
	mov____0x8(%rbp),%rax !0x18
	movslq_%eax,%rax
	mov____$i32,%rdi %0x8
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_isnumber_29_break
	mov____0x8(%rbp),%rax !0x10
	movslq_%eax,%rax
	mov____$i32,%rdi %0x30
	sub____%rdi,%rax
	setge__%al
	movzbq_%al,%rax
	test___%rax,%rax
	test___%rax,%rax
	je32   %_isnumber_43_and_skip_b
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x10
	movslq_%eax,%rax
	mov____$i32,%rdi %0x37
	sub____%rdi,%rax
	setle__%al
	movzbq_%al,%rax
	test___%rax,%rax
	test___%rax,%rax
:_isnumber_43_and_skip_b
	mov____%rbp,%rsp
	pop____%rbp
	ret
	jmp32  %_isnumber_29_break
:_isnumber_29_break
					# if (base == 10) ...
	mov____0x8(%rbp),%rax !0x18
	movslq_%eax,%rax
	mov____$i32,%rdi %0xa
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_isnumber_57_break
					# isdigit(c)
	mov____0x8(%rbp),%rdi !0x10
	movslq_%edi,%rdi
	push___%rdi
	call32 %isdigit
	add____$i8,%rsp !0x8
	mov____%rbp,%rsp
	pop____%rbp
	ret
	jmp32  %_isnumber_57_break
:_isnumber_57_break
					# if (base == 16) ...
	mov____0x8(%rbp),%rax !0x18
	movslq_%eax,%rax
	mov____$i32,%rdi %0x10
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_isnumber_73_break
					# isxdigit(c)
	mov____0x8(%rbp),%rdi !0x10
	movslq_%edi,%rdi
	push___%rdi
	call32 %isxdigit
	add____$i8,%rsp !0x8
	mov____%rbp,%rsp
	pop____%rbp
	ret
	jmp32  %_isnumber_73_break
:_isnumber_73_break
	mov____%rbp,%rsp
	pop____%rbp
	ret


:abtol
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# char *s = *p; 
	mov____0x8(%rbp),%rax !0x10
	mov____(%rax),%rax
	mov____%rax,0x8(%rbp) !0x-8
					# int i = 0; 
	mov____$i32,%rax %0x0
	mov____%eax,0x8(%rbp) !0x-10
					# int sign = 1; 
	mov____$i32,%rax %0x1
	mov____%eax,0x8(%rbp) !0x-18
					# if (!base) ...
	mov____0x8(%rbp),%rax !0x18
	movslq_%eax,%rax
	test___%rax,%rax
	sete___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_abtol_11_break
					# base = 10
	mov____$i32,%rax %0xa
	mov____%rax,0x8(%rbp) !0x18
	test___%rax,%rax
	jmp32  %_abtol_11_break
:_abtol_11_break
					# if (*s && *s == '-') ...
	mov____0x8(%rbp),%rax !0x-8
	movzbq_(%rax),%rax
	movsbq_%al,%rax
					# jmp test LABEL
	test___%rax,%rax
	test___%al,%al
	je32   %_abtol_25_break
	mov____0x8(%rbp),%rax !0x-8
	movzbq_(%rax),%rax
	movsbq_%al,%rax
	mov____$i32,%rdi %0x2d
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_abtol_25_break
					# sign = -1
	mov____$i64,%rax %0xffffffff %0x-1
	mov____%rax,0x8(%rbp) !0x-18
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x-8
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-8
	add____$i8,(%rdi) !0x1
	test___%rax,%rax
	jmp32  %_abtol_25_break
:_abtol_25_break
					# while (isnumber(*s, base)) ...
	jmp32  %_abtol_50_continue
:_abtol_50_loop
					# i *= base
	mov____0x8(%rbp),%rax !0x18
	movslq_%eax,%rax
	mov____0x8(%rbp),%rdi !0x-10
	movslq_%edi,%rdi
	xchg___%rax,%rdi
	mul____%rdi
	mov____%rax,0x8(%rbp) !0x-10
	test___%rax,%rax
					# int m = *s > '9'? 'a' - 10: '0'; 
					# *s > '9'? ...: ...
	mov____0x8(%rbp),%rax !0x-8
	movzbq_(%rax),%rax
	movsbq_%al,%rax
	mov____$i32,%rdi %0x39
	sub____%rdi,%rax
	setg___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_abtol_63_else
	mov____$i32,%rax %0x61
	add____$i8,%rax !0x-a
	jmp32  %_abtol_63_break
:_abtol_63_else
	mov____$i32,%rax %0x30
:_abtol_63_break
	mov____%eax,0x8(%rbp) !0x-20
					# i += *s - m
	mov____0x8(%rbp),%rax !0x-8
	movzbq_(%rax),%rax
	movsbq_%al,%rax
	mov____0x8(%rbp),%rdi !0x-20
	movslq_%edi,%rdi
	sub____%rdi,%rax
	mov____0x8(%rbp),%rdi !0x-10
	movslq_%edi,%rdi
	xchg___%rax,%rdi
	add____%rdi,%rax
	mov____%rax,0x8(%rbp) !0x-10
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x-8
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-8
	add____$i8,(%rdi) !0x1
	test___%rax,%rax
:_abtol_50_continue
					# isnumber(*s, base)
	mov____0x8(%rbp),%rdi !0x18
	movslq_%edi,%rdi
	push___%rdi
	mov____0x8(%rbp),%rdi !0x-8
	movzbq_(%rdi),%rdi
	movsbq_%dil,%rdi
	push___%rdi
	call32 %isnumber
	add____$i8,%rsp !0x10
					# jmp test LABEL
	test___%rax,%rax
	je32   %_abtol_50_break
	jmp32  %_abtol_50_loop
:_abtol_50_break
					# *p = s
	mov____0x8(%rbp),%rax !0x-8
	mov____0x8(%rbp),%rdi !0x10
	mov____%rax,(%rdi)
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x-10
	movslq_%eax,%rax
	mov____0x8(%rbp),%rdi !0x-18
	movslq_%edi,%rdi
	mul____%rdi
	mov____%rbp,%rsp
	pop____%rbp
	ret


:atoi
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# char *p = s; 
	mov____0x8(%rbp),%rax !0x10
	mov____%rax,0x8(%rbp) !0x-8
					# abtol(&p, 0)
	mov____$i32,%rdi %0x0
	push___%rdi
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-8
	push___%rdi
	call32 %abtol
	add____$i8,%rsp !0x10
	mov____%rbp,%rsp
	pop____%rbp
	ret


:ntoab
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# static char itoa_buf[20]; 
					# char *p = itoa_buf + 11; 
	mov____$i64,%rax &ntoab-itoa_buf %0
	add____$i8,%rax !0xb
	mov____%rax,0x8(%rbp) !0x-8
					# *p = 0
	mov____$i32,%rax %0x0
	mov____0x8(%rbp),%rdi !0x-8
	mov____%al,(%rdi)
	add____$i8,0x8(%rbp) !0x-8 !0x-1
	test___%rax,%rax
					# int sign = 0; 
	mov____$i32,%rax %0x0
	mov____%eax,0x8(%rbp) !0x-10
					# unsigned long u = x; 
	mov____0x8(%rbp),%rax !0x10
	mov____%rax,0x8(%rbp) !0x-18
					# if (signed_p && x < 0) ...
	mov____0x8(%rbp),%rax !0x20
	movslq_%eax,%rax
					# jmp test LABEL
	test___%rax,%rax
	je32   %_ntoab_18_break
	mov____0x8(%rbp),%rax !0x10
	mov____$i32,%rdi %0x0
	sub____%rdi,%rax
	setl___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_ntoab_18_break
					# sign = 1
	mov____$i32,%rax %0x1
	mov____%rax,0x8(%rbp) !0x-10
	test___%rax,%rax
					# u = -x
	mov____0x8(%rbp),%rax !0x10
	mov____$i32,%rdi %0x0
	xchg___%rax,%rdi
	sub____%rdi,%rax
	mov____%rax,0x8(%rbp) !0x-18
	test___%rax,%rax
	jmp32  %_ntoab_18_break
:_ntoab_18_break
					# do uwhile (...); 
:_ntoab_44_loop
					# long i = u%base; 
	mov____0x8(%rbp),%rax !0x-18
	mov____0x8(%rbp),%rdi !0x18
	movslq_%edi,%rdi
	xor____%rdx,%rdx
	div___%rdi
	mov____%rdx,%rax
	mov____%rax,0x8(%rbp) !0x-20
					# *p = i > 9? 'a' + i - 10: '0' + i
					# i > 9? ...: ...
	mov____0x8(%rbp),%rax !0x-20
	mov____$i32,%rdi %0x9
	sub____%rdi,%rax
	setg___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_ntoab_53_else
	mov____$i32,%rax %0x61
	mov____0x8(%rbp),%rdi !0x-20
	add____%rdi,%rax
	add____$i8,%rax !0x-a
	jmp32  %_ntoab_53_break
:_ntoab_53_else
	mov____$i32,%rax %0x30
	mov____0x8(%rbp),%rdi !0x-20
	add____%rdi,%rax
:_ntoab_53_break
	mov____0x8(%rbp),%rdi !0x-8
	mov____%al,(%rdi)
	add____$i8,0x8(%rbp) !0x-8 !0x-1
	test___%rax,%rax
					# u = u/base
	mov____0x8(%rbp),%rax !0x-18
	mov____0x8(%rbp),%rdi !0x18
	movslq_%edi,%rdi
	xor____%rdx,%rdx
	div___%rdi
	mov____%rax,0x8(%rbp) !0x-18
	test___%rax,%rax
:_ntoab_44_continue
	mov____0x8(%rbp),%rax !0x-18
					# jmp test LABEL
	test___%rax,%rax
	je32   %_ntoab_44_break
	jmp32  %_ntoab_44_loop
:_ntoab_44_break
					# if (sign && *(p + 1) != '0') ...
	mov____0x8(%rbp),%rax !0x-10
	movslq_%eax,%rax
					# jmp test LABEL
	test___%rax,%rax
	je32   %_ntoab_89_break
	mov____0x8(%rbp),%rax !0x-8
	add____$i8,%rax !0x1
	movzbq_(%rax),%rax
	movsbq_%al,%rax
	mov____$i32,%rdi %0x30
	sub____%rdi,%rax
	test___%rax,%rax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_ntoab_89_break
					# *p = '-'
	mov____$i32,%rax %0x2d
	mov____0x8(%rbp),%rdi !0x-8
	mov____%al,(%rdi)
	add____$i8,0x8(%rbp) !0x-8 !0x-1
	test___%rax,%rax
	jmp32  %_ntoab_89_break
:_ntoab_89_break
	mov____0x8(%rbp),%rax !0x-8
	add____$i8,%rax !0x1
	mov____%rbp,%rsp
	pop____%rbp
	ret


:ltoab
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# ntoab(x, base, 1)
	mov____$i32,%rdi %0x1
	push___%rdi
	mov____0x8(%rbp),%rdi !0x18
	movslq_%edi,%rdi
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	call32 %ntoab
	add____$i8,%rsp !0x18
	mov____%rbp,%rsp
	pop____%rbp
	ret


:itoa
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# ntoab(x, 10, 1)
	mov____$i32,%rdi %0x1
	push___%rdi
	mov____$i32,%rdi %0xa
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	movslq_%edi,%rdi
	push___%rdi
	call32 %ntoab
	add____$i8,%rsp !0x18
	mov____%rbp,%rsp
	pop____%rbp
	ret


:ltoa
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# ntoab(x, 10, 1)
	mov____$i32,%rdi %0x1
	push___%rdi
	mov____$i32,%rdi %0xa
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	call32 %ntoab
	add____$i8,%rsp !0x18
	mov____%rbp,%rsp
	pop____%rbp
	ret


:ultoa
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# ntoab(x, 10, 1)
	mov____$i32,%rdi %0x1
	push___%rdi
	mov____$i32,%rdi %0xa
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	call32 %ntoab
	add____$i8,%rsp !0x18
	mov____%rbp,%rsp
	pop____%rbp
	ret


:utoa
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# ntoab(x, 10, 0)
	mov____$i32,%rdi %0x0
	push___%rdi
	mov____$i32,%rdi %0xa
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	movslq_%edi,%rdi
	push___%rdi
	call32 %ntoab
	add____$i8,%rsp !0x18
	mov____%rbp,%rsp
	pop____%rbp
	ret


:fdgetc
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# char c; 
					# int i; 
					# if (_ungetc_pos == -1) ...else ...
	mov____0x32,%rax &_ungetc_pos
	movslq_%eax,%rax
	mov____$i64,%rdi %0xffffffff %0x-1
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_fdgetc_3_else
					# int r = read(fd, &c, 1); 
					# read(fd, &c, 1)
	mov____$i32,%rdi %0x1
	push___%rdi
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-8
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	movslq_%edi,%rdi
	push___%rdi
	call32 %read
	add____$i8,%rsp !0x18
	mov____%eax,0x8(%rbp) !0x-18
					# if (r < 1) ...
	mov____0x8(%rbp),%rax !0x-18
	movslq_%eax,%rax
	mov____$i32,%rdi %0x1
	sub____%rdi,%rax
	setl___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_fdgetc_22_break
	mov____$i64,%rax %0xffffffff %0x-1
	mov____%rbp,%rsp
	pop____%rbp
	ret
	jmp32  %_fdgetc_22_break
:_fdgetc_22_break
					# i = c
	mov____0x8(%rbp),%rax !0x-8
	movsbq_%al,%rax
	mov____%rax,0x8(%rbp) !0x-10
	test___%rax,%rax
	jmp32  %_fdgetc_3_break
:_fdgetc_3_else
					# i = _ungetc_buf[_ungetc_pos]
	mov____0x32,%rax &_ungetc_pos
	movslq_%eax,%rax
	mov____$i64,%rdi &_ungetc_buf %0
	add____%rdi,%rax
	movzbq_(%rax),%rax
	movsbq_%al,%rax
	mov____%rax,0x8(%rbp) !0x-10
	test___%rax,%rax
					# if (_ungetc_fd != fd && i == 10) ...else ...
	mov____0x32,%rax &_ungetc_fd
	movslq_%eax,%rax
	mov____0x8(%rbp),%rdi !0x10
	movslq_%edi,%rdi
	sub____%rdi,%rax
	test___%rax,%rax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_fdgetc_51_else
	mov____0x8(%rbp),%rax !0x-10
	movslq_%eax,%rax
	mov____$i32,%rdi %0xa
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_fdgetc_51_else
					# _ungetc_pos = -1
	mov____$i64,%rax %0xffffffff %0x-1
	movl___%eax,0x32 &_ungetc_pos
	test___%rax,%rax
					# _ungetc_fd = -1
	mov____$i64,%rax %0xffffffff %0x-1
	movl___%eax,0x32 &_ungetc_fd
	test___%rax,%rax
					# fdgetc(fd)
	mov____0x8(%rbp),%rdi !0x10
	movslq_%edi,%rdi
	push___%rdi
	call32 %fdgetc
	add____$i8,%rsp !0x8
	mov____%rbp,%rsp
	pop____%rbp
	ret
	jmp32  %_fdgetc_51_break
:_fdgetc_51_else
					# if (_ungetc_fd != fd) ...
	mov____0x32,%rax &_ungetc_fd
	movslq_%eax,%rax
	mov____0x8(%rbp),%rdi !0x10
	movslq_%edi,%rdi
	sub____%rdi,%rax
	test___%rax,%rax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_fdgetc_85_break
					# eputs(" ***MES C LIB*** fdgetc ungetc conflict unget-fd=")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_1
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputs(itoa(_ungetc_fd))
					# itoa(_ungetc_fd)
	push___%rax
	push___%rax
	mov____%rdi,%rax
	mov____0x32,%rdi &_ungetc_fd
	movslq_%edi,%rdi
	push___%rdi
	mov____%rax,%rdi
	pop____%rax
	xchg___%rax,(%rsp)
	call32 %itoa
	add____$i8,%rsp !0x8
	mov____%rax,%rdi
	pop____%rax
	push___%rdi
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputs(", fdgetc-fd=")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_2
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputs(itoa(fd))
					# itoa(fd)
	push___%rax
	push___%rax
	mov____%rdi,%rax
	mov____0x8(%rbp),%rdi !0x10
	movslq_%edi,%rdi
	push___%rdi
	mov____%rax,%rdi
	pop____%rax
	xchg___%rax,(%rsp)
	call32 %itoa
	add____$i8,%rsp !0x8
	mov____%rax,%rdi
	pop____%rax
	push___%rdi
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputs(", c=")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_3
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputs(itoa(_ungetc_buf[_ungetc_pos]))
					# itoa(_ungetc_buf[_ungetc_pos])
	push___%rax
	push___%rax
	mov____%rdi,%rax
	mov____0x32,%rdi &_ungetc_pos
	movslq_%edi,%rdi
	push___%rax
	mov____%rdi,%rax
	mov____$i64,%rdi &_ungetc_buf %0
	add____%rdi,%rax
	mov____%rax,%rdi
	pop____%rax
	movzbq_(%rdi),%rdi
	movsbq_%dil,%rdi
	push___%rdi
	mov____%rax,%rdi
	pop____%rax
	xchg___%rax,(%rsp)
	call32 %itoa
	add____$i8,%rsp !0x8
	mov____%rax,%rdi
	pop____%rax
	push___%rdi
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputs(" ")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_0
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# exit(1)
	mov____$i32,%rdi %0x1
	push___%rdi
	call32 %exit
	add____$i8,%rsp !0x8
	test___%rax,%rax
	jmp32  %_fdgetc_85_break
:_fdgetc_85_break
:_fdgetc_51_break
					# i = _ungetc_buf[_ungetc_pos]
	mov____0x32,%rax &_ungetc_pos
	movslq_%eax,%rax
	mov____$i64,%rdi &_ungetc_buf %0
	add____%rdi,%rax
	movzbq_(%rax),%rax
	movsbq_%al,%rax
	mov____%rax,0x8(%rbp) !0x-10
	test___%rax,%rax
					# _ungetc_pos -= 1
	mov____$i32,%rax %0x1
	mov____0x32,%rdi &_ungetc_pos
	movslq_%edi,%rdi
	xchg___%rax,%rdi
	sub____%rdi,%rax
	movl___%eax,0x32 &_ungetc_pos
	test___%rax,%rax
					# if (_ungetc_pos == -1) ...
	mov____0x32,%rax &_ungetc_pos
	movslq_%eax,%rax
	mov____$i64,%rdi %0xffffffff %0x-1
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_fdgetc_188_break
					# _ungetc_fd = -1
	mov____$i64,%rax %0xffffffff %0x-1
	movl___%eax,0x32 &_ungetc_fd
	test___%rax,%rax
	jmp32  %_fdgetc_188_break
:_fdgetc_188_break
:_fdgetc_3_break
					# if (i < 0) ...
	mov____0x8(%rbp),%rax !0x-10
	movslq_%eax,%rax
	mov____$i32,%rdi %0x0
	sub____%rdi,%rax
	setl___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_fdgetc_203_break
					# i += 256
	mov____$i32,%rax %0x100
	mov____0x8(%rbp),%rdi !0x-10
	movslq_%edi,%rdi
	xchg___%rax,%rdi
	add____%rdi,%rax
	mov____%rax,0x8(%rbp) !0x-10
	test___%rax,%rax
	jmp32  %_fdgetc_203_break
:_fdgetc_203_break
	mov____0x8(%rbp),%rax !0x-10
	movslq_%eax,%rax
	mov____%rbp,%rsp
	pop____%rbp
	ret


:fdputc
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# write(fd, (char*)&c, 1)
	mov____$i32,%rdi %0x1
	push___%rdi
	mov____%rbp,%rdi
	add____$i8,%rdi !0x10
	push___%rdi
	mov____0x8(%rbp),%rdi !0x18
	movslq_%edi,%rdi
	push___%rdi
	call32 %write
	add____$i8,%rsp !0x18
	test___%rax,%rax
	mov____$i32,%rax %0x0
	mov____%rbp,%rsp
	pop____%rbp
	ret


:fdputs
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# int i = strlen(s); 
					# strlen(s)
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	call32 %strlen
	add____$i8,%rsp !0x8
	mov____%eax,0x8(%rbp) !0x-8
					# write(fd, s, i)
	mov____0x8(%rbp),%rdi !0x-8
	movslq_%edi,%rdi
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	mov____0x8(%rbp),%rdi !0x18
	movslq_%edi,%rdi
	push___%rdi
	call32 %write
	add____$i8,%rsp !0x18
	test___%rax,%rax
	mov____$i32,%rax %0x0
	mov____%rbp,%rsp
	pop____%rbp
	ret


:fdungetc
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# if (c == -1) ...
	mov____0x8(%rbp),%rax !0x10
	movslq_%eax,%rax
	mov____$i64,%rdi %0xffffffff %0x-1
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_fdungetc_1_break
	mov____0x8(%rbp),%rax !0x10
	movslq_%eax,%rax
	mov____%rbp,%rsp
	pop____%rbp
	ret
	jmp32  %_fdungetc_1_break
:_fdungetc_1_break
					# if (_ungetc_pos == -1) ...else ...
	mov____0x32,%rax &_ungetc_pos
	movslq_%eax,%rax
	mov____$i64,%rdi %0xffffffff %0x-1
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_fdungetc_14_else
					# _ungetc_fd = fd
	mov____0x8(%rbp),%rax !0x18
	movslq_%eax,%rax
	movl___%eax,0x32 &_ungetc_fd
	test___%rax,%rax
	jmp32  %_fdungetc_14_break
:_fdungetc_14_else
					# if (_ungetc_fd != fd) ...
	mov____0x32,%rax &_ungetc_fd
	movslq_%eax,%rax
	mov____0x8(%rbp),%rdi !0x18
	movslq_%edi,%rdi
	sub____%rdi,%rax
	test___%rax,%rax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_fdungetc_29_break
					# eputs(" ***MES LIB C*** fdungetc ungetc conflict unget-fd=")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_4
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputs(itoa(_ungetc_fd))
					# itoa(_ungetc_fd)
	push___%rax
	push___%rax
	mov____%rdi,%rax
	mov____0x32,%rdi &_ungetc_fd
	movslq_%edi,%rdi
	push___%rdi
	mov____%rax,%rdi
	pop____%rax
	xchg___%rax,(%rsp)
	call32 %itoa
	add____$i8,%rsp !0x8
	mov____%rax,%rdi
	pop____%rax
	push___%rdi
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputs(", fdungetc-fd=")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_5
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputs(itoa(fd))
					# itoa(fd)
	push___%rax
	push___%rax
	mov____%rdi,%rax
	mov____0x8(%rbp),%rdi !0x18
	movslq_%edi,%rdi
	push___%rdi
	mov____%rax,%rdi
	pop____%rax
	xchg___%rax,(%rsp)
	call32 %itoa
	add____$i8,%rsp !0x8
	mov____%rax,%rdi
	pop____%rax
	push___%rdi
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputs(" ")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_0
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# exit(1)
	mov____$i32,%rdi %0x1
	push___%rdi
	call32 %exit
	add____$i8,%rsp !0x8
	test___%rax,%rax
	jmp32  %_fdungetc_29_break
:_fdungetc_29_break
:_fdungetc_14_break
	mov____0x32,%rax &_ungetc_pos
	movslq_%eax,%rax
	mov____$i64,%rdi &_ungetc_pos %0
	addl___$i8,(%rdi) !0x1
	test___%rax,%rax
					# _ungetc_buf[_ungetc_pos] = c
	mov____0x8(%rbp),%rax !0x10
	movslq_%eax,%rax
	mov____0x32,%rdi &_ungetc_pos
	movslq_%edi,%rdi
	push___%rax
	mov____%rdi,%rax
	mov____$i64,%rdi &_ungetc_buf %0
	add____%rdi,%rax
	mov____%rax,%rdi
	pop____%rax
	mov____%al,(%rdi)
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x10
	movslq_%eax,%rax
	mov____%rbp,%rsp
	pop____%rbp
	ret


:_fdungetc_p
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
	mov____0x32,%rax &_ungetc_pos
	movslq_%eax,%rax
	mov____$i64,%rdi %0xffffffff %0x-1
	sub____%rdi,%rax
	setg___%al
	movzbq_%al,%rax
	test___%rax,%rax
	mov____%rbp,%rsp
	pop____%rbp
	ret


:eputc
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# fdputc(c, 2)
	mov____$i32,%rdi %0x2
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	movslq_%edi,%rdi
	push___%rdi
	call32 %fdputc
	add____$i8,%rsp !0x10
	mov____%rbp,%rsp
	pop____%rbp
	ret


:__sys_call
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
	mov____0x8(%rbp),%rax !0x10
	mov____0x8(%rbp),%rdi !0x18
	mov____0x8(%rbp),%rsi !0x20
	mov____0x8(%rbp),%rdx !0x28
	mov____0x8(%rbp),%r10 !0x30
	syscall
	mov____%rbp,%rsp
	pop____%rbp
	ret


:_sys_call
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# long r = __sys_call(sys_call); 
					# __sys_call(sys_call)
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	call32 %__sys_call
	add____$i8,%rsp !0x8
	mov____%rax,0x8(%rbp) !0x-8
					# if (r < 0) ...else ...
	mov____0x8(%rbp),%rax !0x-8
	mov____$i32,%rdi %0x0
	sub____%rdi,%rax
	setl___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %__sys_call_7_else
					# errno = -r
	mov____0x8(%rbp),%rax !0x-8
	mov____$i32,%rdi %0x0
	xchg___%rax,%rdi
	sub____%rdi,%rax
	movl___%eax,0x32 &errno
	test___%rax,%rax
					# r = -1
	mov____$i64,%rax %0xffffffff %0x-1
	mov____%rax,0x8(%rbp) !0x-8
	test___%rax,%rax
	jmp32  %__sys_call_7_break
:__sys_call_7_else
					# errno = 0
	mov____$i32,%rax %0x0
	movl___%eax,0x32 &errno
	test___%rax,%rax
:__sys_call_7_break
	mov____0x8(%rbp),%rax !0x-8
	mov____%rbp,%rsp
	pop____%rbp
	ret


:_sys_call1
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# long r = __sys_call(sys_call, one); 
					# __sys_call(sys_call, one)
	mov____0x8(%rbp),%rdi !0x18
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	call32 %__sys_call
	add____$i8,%rsp !0x10
	mov____%rax,0x8(%rbp) !0x-8
					# if (r < 0) ...else ...
	mov____0x8(%rbp),%rax !0x-8
	mov____$i32,%rdi %0x0
	sub____%rdi,%rax
	setl___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %__sys_call1_9_else
					# errno = -r
	mov____0x8(%rbp),%rax !0x-8
	mov____$i32,%rdi %0x0
	xchg___%rax,%rdi
	sub____%rdi,%rax
	movl___%eax,0x32 &errno
	test___%rax,%rax
					# r = -1
	mov____$i64,%rax %0xffffffff %0x-1
	mov____%rax,0x8(%rbp) !0x-8
	test___%rax,%rax
	jmp32  %__sys_call1_9_break
:__sys_call1_9_else
					# errno = 0
	mov____$i32,%rax %0x0
	movl___%eax,0x32 &errno
	test___%rax,%rax
:__sys_call1_9_break
	mov____0x8(%rbp),%rax !0x-8
	mov____%rbp,%rsp
	pop____%rbp
	ret


:_sys_call2
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# long r = __sys_call(sys_call, one, two); 
					# __sys_call(sys_call, one, two)
	mov____0x8(%rbp),%rdi !0x20
	push___%rdi
	mov____0x8(%rbp),%rdi !0x18
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	call32 %__sys_call
	add____$i8,%rsp !0x18
	mov____%rax,0x8(%rbp) !0x-8
					# if (r < 0) ...else ...
	mov____0x8(%rbp),%rax !0x-8
	mov____$i32,%rdi %0x0
	sub____%rdi,%rax
	setl___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %__sys_call2_11_else
					# errno = -r
	mov____0x8(%rbp),%rax !0x-8
	mov____$i32,%rdi %0x0
	xchg___%rax,%rdi
	sub____%rdi,%rax
	movl___%eax,0x32 &errno
	test___%rax,%rax
					# r = -1
	mov____$i64,%rax %0xffffffff %0x-1
	mov____%rax,0x8(%rbp) !0x-8
	test___%rax,%rax
	jmp32  %__sys_call2_11_break
:__sys_call2_11_else
					# errno = 0
	mov____$i32,%rax %0x0
	movl___%eax,0x32 &errno
	test___%rax,%rax
:__sys_call2_11_break
	mov____0x8(%rbp),%rax !0x-8
	mov____%rbp,%rsp
	pop____%rbp
	ret


:_sys_call3
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# long r = __sys_call(sys_call, one, two, three); 
					# __sys_call(sys_call, one, two, three)
	mov____0x8(%rbp),%rdi !0x28
	push___%rdi
	mov____0x8(%rbp),%rdi !0x20
	push___%rdi
	mov____0x8(%rbp),%rdi !0x18
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	call32 %__sys_call
	add____$i8,%rsp !0x20
	mov____%rax,0x8(%rbp) !0x-8
					# if (r < 0) ...else ...
	mov____0x8(%rbp),%rax !0x-8
	mov____$i32,%rdi %0x0
	sub____%rdi,%rax
	setl___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %__sys_call3_13_else
					# errno = -r
	mov____0x8(%rbp),%rax !0x-8
	mov____$i32,%rdi %0x0
	xchg___%rax,%rdi
	sub____%rdi,%rax
	movl___%eax,0x32 &errno
	test___%rax,%rax
					# r = -1
	mov____$i64,%rax %0xffffffff %0x-1
	mov____%rax,0x8(%rbp) !0x-8
	test___%rax,%rax
	jmp32  %__sys_call3_13_break
:__sys_call3_13_else
					# errno = 0
	mov____$i32,%rax %0x0
	movl___%eax,0x32 &errno
	test___%rax,%rax
:__sys_call3_13_break
	mov____0x8(%rbp),%rax !0x-8
	mov____%rbp,%rsp
	pop____%rbp
	ret


:_sys_call4
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# long r = __sys_call(sys_call, one, two, three, four); 
					# __sys_call(sys_call, one, two, three, four)
	mov____0x8(%rbp),%rdi !0x30
	push___%rdi
	mov____0x8(%rbp),%rdi !0x28
	push___%rdi
	mov____0x8(%rbp),%rdi !0x20
	push___%rdi
	mov____0x8(%rbp),%rdi !0x18
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	call32 %__sys_call
	add____$i8,%rsp !0x28
	mov____%rax,0x8(%rbp) !0x-8
					# if (r < 0) ...else ...
	mov____0x8(%rbp),%rax !0x-8
	mov____$i32,%rdi %0x0
	sub____%rdi,%rax
	setl___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %__sys_call4_15_else
					# errno = -r
	mov____0x8(%rbp),%rax !0x-8
	mov____$i32,%rdi %0x0
	xchg___%rax,%rdi
	sub____%rdi,%rax
	movl___%eax,0x32 &errno
	test___%rax,%rax
					# r = -1
	mov____$i64,%rax %0xffffffff %0x-1
	mov____%rax,0x8(%rbp) !0x-8
	test___%rax,%rax
	jmp32  %__sys_call4_15_break
:__sys_call4_15_else
					# errno = 0
	mov____$i32,%rax %0x0
	movl___%eax,0x32 &errno
	test___%rax,%rax
:__sys_call4_15_break
	mov____0x8(%rbp),%rax !0x-8
	mov____%rbp,%rsp
	pop____%rbp
	ret


:fork
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# _sys_call(0x39)
	mov____$i32,%rdi %0x39
	push___%rdi
	call32 %_sys_call
	add____$i8,%rsp !0x8
	mov____%rbp,%rsp
	pop____%rbp
	ret


:read
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# ssize_t bytes = _sys_call3(0x00, (int)filedes, (long)buffer, (long)size); 
					# _sys_call3(0x00, (int)filedes, (long)buffer, (long)size)
	mov____0x8(%rbp),%rdi !0x20
	push___%rdi
	mov____0x8(%rbp),%rdi !0x18
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	movslq_%edi,%rdi
	movslq_%edi,%rdi
	push___%rdi
	mov____$i32,%rdi %0x0
	push___%rdi
	call32 %_sys_call3
	add____$i8,%rsp !0x20
	mov____%rax,0x8(%rbp) !0x-8
					# if (__mes_debug() > 3) ...
					# __mes_debug()
	call32 %__mes_debug
	add____$i8,%rsp !0x0
	mov____$i32,%rdi %0x3
	sub____%rdi,%rax
	setg___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_read_15_break
					# if (bytes == 1) ...else ...
	mov____0x8(%rbp),%rax !0x-8
	mov____$i32,%rdi %0x1
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_read_24_else
					# eputs("read fd=")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_6
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputs(itoa((int)filedes))
					# itoa((int)filedes)
	push___%rax
	push___%rax
	mov____%rdi,%rax
	mov____0x8(%rbp),%rdi !0x10
	movslq_%edi,%rdi
	movslq_%edi,%rdi
	push___%rdi
	mov____%rax,%rdi
	pop____%rax
	xchg___%rax,(%rsp)
	call32 %itoa
	add____$i8,%rsp !0x8
	mov____%rax,%rdi
	pop____%rax
	push___%rdi
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputs(" c=")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_7
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputc(*((char*)buffer))
	mov____0x8(%rbp),%rdi !0x18
	movzbq_(%rdi),%rdi
	movsbq_%dil,%rdi
	push___%rdi
	call32 %eputc
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputs(" ")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_0
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
	jmp32  %_read_24_break
:_read_24_else
					# eputs("read fd=")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_6
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputs(itoa((int)filedes))
					# itoa((int)filedes)
	push___%rax
	push___%rax
	mov____%rdi,%rax
	mov____0x8(%rbp),%rdi !0x10
	movslq_%edi,%rdi
	movslq_%edi,%rdi
	push___%rdi
	mov____%rax,%rdi
	pop____%rax
	xchg___%rax,(%rsp)
	call32 %itoa
	add____$i8,%rsp !0x8
	mov____%rax,%rdi
	pop____%rax
	push___%rdi
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputs(" bytes=")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_8
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputs(itoa(bytes))
					# itoa(bytes)
	push___%rax
	push___%rax
	mov____%rdi,%rax
	mov____0x8(%rbp),%rdi !0x-8
	push___%rdi
	mov____%rax,%rdi
	pop____%rax
	xchg___%rax,(%rsp)
	call32 %itoa
	add____$i8,%rsp !0x8
	mov____%rax,%rdi
	pop____%rax
	push___%rdi
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputs(" ")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_0
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
:_read_24_break
	jmp32  %_read_15_break
:_read_15_break
	mov____0x8(%rbp),%rax !0x-8
	mov____%rbp,%rsp
	pop____%rbp
	ret


:_open3
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# if (!flags) ...
	mov____0x8(%rbp),%rax !0x18
	movslq_%eax,%rax
	test___%rax,%rax
	sete___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %__open3_1_break
					# _ungetc_pos = -1
	mov____$i64,%rax %0xffffffff %0x-1
	movl___%eax,0x32 &_ungetc_pos
	test___%rax,%rax
					# _ungetc_fd = -1
	mov____$i64,%rax %0xffffffff %0x-1
	movl___%eax,0x32 &_ungetc_fd
	test___%rax,%rax
	jmp32  %__open3_1_break
:__open3_1_break
					# int r = _sys_call3(0x02, (long)file_name, (int)flags, (int)mask); 
					# _sys_call3(0x02, (long)file_name, (int)flags, (int)mask)
	mov____0x8(%rbp),%rdi !0x20
	movslq_%edi,%rdi
	movslq_%edi,%rdi
	push___%rdi
	mov____0x8(%rbp),%rdi !0x18
	movslq_%edi,%rdi
	movslq_%edi,%rdi
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	mov____$i32,%rdi %0x2
	push___%rdi
	call32 %_sys_call3
	add____$i8,%rsp !0x20
	mov____%eax,0x8(%rbp) !0x-8
	mov____0x8(%rbp),%rax !0x-8
	movslq_%eax,%rax
	mov____%rbp,%rsp
	pop____%rbp
	ret


:_open2
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# int mask = 0777; 
	mov____$i32,%rax %0x1ff
	mov____%eax,0x8(%rbp) !0x-8
					# _open3(file_name, flags, mask)
	mov____0x8(%rbp),%rdi !0x-8
	movslq_%edi,%rdi
	push___%rdi
	mov____0x8(%rbp),%rdi !0x18
	movslq_%edi,%rdi
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	call32 %_open3
	add____$i8,%rsp !0x18
	mov____%rbp,%rsp
	pop____%rbp
	ret


:open
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# va_list ap; 
					# ap = (char*)(&flags + 1)
	mov____%rbp,%rax
	add____$i8,%rax !0x18
	add____$i8,%rax !0x4
	mov____%rax,0x8(%rbp) !0x-8
	movzbq_%al,%rax
	test___%rax,%rax
					# int mask = (int)(long*)(ap = ap + sizeof(void*))[-1]; 
	mov____$i64,%rax %0xffffffff %0x-1
	shl____$i8,%rax !0x3
					# ap = ap + sizeof(void*)
	mov____0x8(%rbp),%rdi !0x-8
	push___%rax
	mov____%rdi,%rax
	mov____$i32,%rdi %0x8
	add____%rdi,%rax
	mov____%rax,%rdi
	pop____%rax
	mov____%rdi,0x8(%rbp) !0x-8
	add____%rdi,%rax
	mov____(%rax),%rax
	movslq_%eax,%rax
	mov____%eax,0x8(%rbp) !0x-10
					# int r = _open3(file_name, flags, mask); 
					# _open3(file_name, flags, mask)
	mov____0x8(%rbp),%rdi !0x-10
	movslq_%edi,%rdi
	push___%rdi
	mov____0x8(%rbp),%rdi !0x18
	movslq_%edi,%rdi
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	call32 %_open3
	add____$i8,%rsp !0x18
	mov____%eax,0x8(%rbp) !0x-18
					# ap = 0
	mov____$i32,%rax %0x0
	mov____%rax,0x8(%rbp) !0x-8
	movzbq_%al,%rax
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x-18
	movslq_%eax,%rax
	mov____%rbp,%rsp
	pop____%rbp
	ret


:waitpid
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# _sys_call4(0x3d, (long)pid, (long)status_ptr, (int)options, 0)
	mov____$i32,%rdi %0x0
	push___%rdi
	mov____0x8(%rbp),%rdi !0x20
	movslq_%edi,%rdi
	movslq_%edi,%rdi
	push___%rdi
	mov____0x8(%rbp),%rdi !0x18
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	movslq_%edi,%rdi
	push___%rdi
	mov____$i32,%rdi %0x3d
	push___%rdi
	call32 %_sys_call4
	add____$i8,%rsp !0x28
	mov____%rbp,%rsp
	pop____%rbp
	ret


:execve
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# _sys_call3(0x3b, (long)file_name, (long)argv, (long)env)
	mov____0x8(%rbp),%rdi !0x20
	push___%rdi
	mov____0x8(%rbp),%rdi !0x18
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	mov____$i32,%rdi %0x3b
	push___%rdi
	call32 %_sys_call3
	add____$i8,%rsp !0x20
	mov____%rbp,%rsp
	pop____%rbp
	ret


:chmod
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# _sys_call2(0x5a, (long)file_name, (long)mask)
	mov____0x8(%rbp),%rdi !0x18
	movslq_%edi,%rdi
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	mov____$i32,%rdi %0x5a
	push___%rdi
	call32 %_sys_call2
	add____$i8,%rsp !0x18
	mov____%rbp,%rsp
	pop____%rbp
	ret


:access
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# _sys_call2(0x15, (long)file_name, (int)how)
	mov____0x8(%rbp),%rdi !0x18
	movslq_%edi,%rdi
	movslq_%edi,%rdi
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	mov____$i32,%rdi %0x15
	push___%rdi
	call32 %_sys_call2
	add____$i8,%rsp !0x18
	mov____%rbp,%rsp
	pop____%rbp
	ret


:brk
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# _sys_call1(0x0c, (long)addr)
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	mov____$i32,%rdi %0xc
	push___%rdi
	call32 %_sys_call1
	add____$i8,%rsp !0x10
	mov____%rbp,%rsp
	pop____%rbp
	ret


:ioctl
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# va_list ap; 
					# ap = (char*)(&command + 1)
	mov____%rbp,%rax
	add____$i8,%rax !0x18
	add____$i8,%rax !0x8
	mov____%rax,0x8(%rbp) !0x-8
	movzbq_%al,%rax
	test___%rax,%rax
					# int data = (int)(long*)(ap = ap + sizeof(void*))[-1]; 
	mov____$i64,%rax %0xffffffff %0x-1
	shl____$i8,%rax !0x3
					# ap = ap + sizeof(void*)
	mov____0x8(%rbp),%rdi !0x-8
	push___%rax
	mov____%rdi,%rax
	mov____$i32,%rdi %0x8
	add____%rdi,%rax
	mov____%rax,%rdi
	pop____%rax
	mov____%rdi,0x8(%rbp) !0x-8
	add____%rdi,%rax
	mov____(%rax),%rax
	movslq_%eax,%rax
	mov____%eax,0x8(%rbp) !0x-10
					# int r = _sys_call3(0x10, (int)filedes, (long)command, (int)data); 
					# _sys_call3(0x10, (int)filedes, (long)command, (int)data)
	mov____0x8(%rbp),%rdi !0x-10
	movslq_%edi,%rdi
	movslq_%edi,%rdi
	push___%rdi
	mov____0x8(%rbp),%rdi !0x18
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	movslq_%edi,%rdi
	movslq_%edi,%rdi
	push___%rdi
	mov____$i32,%rdi %0x10
	push___%rdi
	call32 %_sys_call3
	add____$i8,%rsp !0x20
	mov____%eax,0x8(%rbp) !0x-18
					# ap = 0
	mov____$i32,%rax %0x0
	mov____%rax,0x8(%rbp) !0x-8
	movzbq_%al,%rax
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x-18
	movslq_%eax,%rax
	mov____%rbp,%rsp
	pop____%rbp
	ret


:fsync
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# _sys_call1(0x4a, (int)filedes)
	mov____0x8(%rbp),%rdi !0x10
	movslq_%edi,%rdi
	movslq_%edi,%rdi
	push___%rdi
	mov____$i32,%rdi %0x4a
	push___%rdi
	call32 %_sys_call1
	add____$i8,%rsp !0x10
	mov____%rbp,%rsp
	pop____%rbp
	ret


:__mes_debug
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# static int __mes_debug = -1; 
					# if (__mes_debug == -1) ...
	mov____0x32,%rax &__mes_debug-__mes_debug
	movslq_%eax,%rax
	mov____$i64,%rdi %0xffffffff %0x-1
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %___mes_debug_2_break
					# char *p = getenv("MES_DEBUG"); 
					# getenv("MES_DEBUG")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_9
	call32 %getenv
	add____$i8,%rsp !0x8
	mov____%rax,0x8(%rbp) !0x-8
					# __mes_debug = p? atoi(p) > 1? atoi(p): 1: 0
					# p? ...: ...
	mov____0x8(%rbp),%rax !0x-8
					# jmp test LABEL
	test___%rax,%rax
	je32   %___mes_debug_16_else
					# atoi(p) > 1? ...: ...
					# atoi(p)
	mov____0x8(%rbp),%rdi !0x-8
	push___%rdi
	call32 %atoi
	add____$i8,%rsp !0x8
	mov____$i32,%rdi %0x1
	sub____%rdi,%rax
	setg___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %___mes_debug_21_else
					# atoi(p)
	mov____0x8(%rbp),%rdi !0x-8
	push___%rdi
	call32 %atoi
	add____$i8,%rsp !0x8
	jmp32  %___mes_debug_21_break
:___mes_debug_21_else
	mov____$i32,%rax %0x1
:___mes_debug_21_break
	jmp32  %___mes_debug_16_break
:___mes_debug_16_else
	mov____$i32,%rax %0x0
:___mes_debug_16_break
	movl___%eax,0x32 &__mes_debug-__mes_debug
	test___%rax,%rax
	jmp32  %___mes_debug_2_break
:___mes_debug_2_break
	mov____0x32,%rax &__mes_debug-__mes_debug
	movslq_%eax,%rax
	mov____%rbp,%rsp
	pop____%rbp
	ret


:memcpy
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# char *p = dest; 
	mov____0x8(%rbp),%rax !0x10
	mov____%rax,0x8(%rbp) !0x-8
					# char *q = src; 
	mov____0x8(%rbp),%rax !0x18
	mov____%rax,0x8(%rbp) !0x-10
					# while (n--) ...
	jmp32  %_memcpy_7_continue
:_memcpy_7_loop
					# *p = *q++
	mov____0x8(%rbp),%rax !0x-10
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-10
	add____$i8,(%rdi) !0x1
	movzbq_(%rax),%rax
	movsbq_%al,%rax
	mov____0x8(%rbp),%rdi !0x-8
	mov____%al,(%rdi)
	add____$i8,0x8(%rbp) !0x-8 !0x1
	test___%rax,%rax
:_memcpy_7_continue
	mov____0x8(%rbp),%rax !0x20
	mov____%rbp,%rdi
	add____$i8,%rdi !0x20
	add____$i8,(%rdi) !0x-1
					# jmp test LABEL
	test___%rax,%rax
	je32   %_memcpy_7_break
	jmp32  %_memcpy_7_loop
:_memcpy_7_break
	mov____0x8(%rbp),%rax !0x10
	mov____%rbp,%rsp
	pop____%rbp
	ret


:malloc
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# if (!__brk) ...
	mov____0x32,%rax &__brk
	test___%rax,%rax
	sete___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_malloc_1_break
					# __brk = brk(0)
					# brk(0)
	mov____$i32,%rdi %0x0
	push___%rdi
	call32 %brk
	add____$i8,%rsp !0x8
	mov____%rax,0x32 &__brk
	test___%rax,%rax
	jmp32  %_malloc_1_break
:_malloc_1_break
					# if (brk(__brk + size) == (void*)-1) ...
					# brk(__brk + size)
	mov____0x32,%rdi &__brk
	push___%rax
	mov____%rdi,%rax
	mov____0x8(%rbp),%rdi !0x10
	add____%rdi,%rax
	mov____%rax,%rdi
	pop____%rax
	push___%rdi
	call32 %brk
	add____$i8,%rsp !0x8
	mov____$i64,%rdi %0xffffffff %0x-1
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_malloc_17_break
	mov____$i32,%rax %0x0
	mov____%rbp,%rsp
	pop____%rbp
	ret
	jmp32  %_malloc_17_break
:_malloc_17_break
					# char *p = __brk; 
	mov____0x32,%rax &__brk
	mov____%rax,0x8(%rbp) !0x-8
					# __brk += size
	mov____0x8(%rbp),%rax !0x10
	mov____0x32,%rdi &__brk
	xchg___%rax,%rdi
	add____%rdi,%rax
	mov____%rax,0x32 &__brk
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x-8
	mov____%rbp,%rsp
	pop____%rbp
	ret


:assert_fail
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# eputs("assert fail: ")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_10
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputs(s)
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputs(" ")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_0
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# char *fail = s; 
	mov____0x8(%rbp),%rax !0x10
	mov____%rax,0x8(%rbp) !0x-8
					# fail = 0
	mov____$i32,%rax %0x0
	mov____%rax,0x8(%rbp) !0x-8
	test___%rax,%rax
					# *fail = 0
	mov____$i32,%rax %0x0
	mov____0x8(%rbp),%rdi !0x-8
	mov____%al,(%rdi)
	test___%rax,%rax
	mov____%rbp,%rsp
	pop____%rbp
	ret


:getchar
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# fdgetc(g_stdin)
	mov____0x32,%rdi &g_stdin
	movslq_%edi,%rdi
	push___%rdi
	call32 %fdgetc
	add____$i8,%rsp !0x8
	mov____%rbp,%rsp
	pop____%rbp
	ret


:putchar
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# write(1, (char*)&c, 1)
	mov____$i32,%rdi %0x1
	push___%rdi
	mov____%rbp,%rdi
	add____$i8,%rdi !0x10
	push___%rdi
	mov____$i32,%rdi %0x1
	push___%rdi
	call32 %write
	add____$i8,%rsp !0x18
	test___%rax,%rax
	mov____$i32,%rax %0x0
	mov____%rbp,%rsp
	pop____%rbp
	ret


:fputc
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# fdputc(c, (int)stream)
	mov____0x8(%rbp),%rdi !0x18
	movslq_%edi,%rdi
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	movslq_%edi,%rdi
	push___%rdi
	call32 %fdputc
	add____$i8,%rsp !0x10
	mov____%rbp,%rsp
	pop____%rbp
	ret


:fputs
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# fdputs(s, (long)stream)
	mov____0x8(%rbp),%rdi !0x18
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	call32 %fdputs
	add____$i8,%rsp !0x10
	mov____%rbp,%rsp
	pop____%rbp
	ret


:putc
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# fdputc(c, (long)stream)
	mov____0x8(%rbp),%rdi !0x18
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	movslq_%edi,%rdi
	push___%rdi
	call32 %fdputc
	add____$i8,%rsp !0x10
	mov____%rbp,%rsp
	pop____%rbp
	ret


:getc
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# fdgetc((long)stream)
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	call32 %fdgetc
	add____$i8,%rsp !0x8
	mov____%rbp,%rsp
	pop____%rbp
	ret


:fgetc
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# fdgetc((long)stream)
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	call32 %fdgetc
	add____$i8,%rsp !0x8
	mov____%rbp,%rsp
	pop____%rbp
	ret


:ungetc
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# fdungetc(c, (long)stream)
	mov____0x8(%rbp),%rdi !0x18
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	movslq_%edi,%rdi
	push___%rdi
	call32 %fdungetc
	add____$i8,%rsp !0x10
	mov____%rbp,%rsp
	pop____%rbp
	ret


:strcmp
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# while (*a && *b && *a == *b) ...
	jmp32  %_strcmp_1_continue
:_strcmp_1_loop
	mov____0x8(%rbp),%rax !0x10
	mov____%rbp,%rdi
	add____$i8,%rdi !0x10
	add____$i8,(%rdi) !0x1
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x18
	mov____%rbp,%rdi
	add____$i8,%rdi !0x18
	add____$i8,(%rdi) !0x1
	test___%rax,%rax
:_strcmp_1_continue
	mov____0x8(%rbp),%rax !0x10
	movzbq_(%rax),%rax
	movsbq_%al,%rax
					# jmp test LABEL
	test___%rax,%rax
	test___%al,%al
	je32   %_strcmp_1_break
	mov____0x8(%rbp),%rax !0x18
	movzbq_(%rax),%rax
	movsbq_%al,%rax
					# jmp test LABEL
	test___%rax,%rax
	test___%al,%al
	je32   %_strcmp_1_break
	mov____0x8(%rbp),%rax !0x10
	movzbq_(%rax),%rax
	movsbq_%al,%rax
	mov____0x8(%rbp),%rdi !0x18
	movzbq_(%rdi),%rdi
	movsbq_%dil,%rdi
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_strcmp_1_break
	jmp32  %_strcmp_1_loop
:_strcmp_1_break
	mov____0x8(%rbp),%rax !0x10
	movzbq_(%rax),%rax
	movsbq_%al,%rax
	mov____0x8(%rbp),%rdi !0x18
	movzbq_(%rdi),%rdi
	movsbq_%dil,%rdi
	sub____%rdi,%rax
	mov____%rbp,%rsp
	pop____%rbp
	ret


:strcpy
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# char *p = dest; 
	mov____0x8(%rbp),%rax !0x10
	mov____%rax,0x8(%rbp) !0x-8
					# while (*src) ...
	jmp32  %_strcpy_4_continue
:_strcpy_4_loop
					# *p = *src++
	mov____0x8(%rbp),%rax !0x18
	mov____%rbp,%rdi
	add____$i8,%rdi !0x18
	add____$i8,(%rdi) !0x1
	movzbq_(%rax),%rax
	movsbq_%al,%rax
	mov____0x8(%rbp),%rdi !0x-8
	mov____%al,(%rdi)
	add____$i8,0x8(%rbp) !0x-8 !0x1
	test___%rax,%rax
:_strcpy_4_continue
	mov____0x8(%rbp),%rax !0x18
	movzbq_(%rax),%rax
	movsbq_%al,%rax
					# jmp test LABEL
	test___%rax,%rax
	test___%al,%al
	je32   %_strcpy_4_break
	jmp32  %_strcpy_4_loop
:_strcpy_4_break
					# *p = 0
	mov____$i32,%rax %0x0
	mov____0x8(%rbp),%rdi !0x-8
	mov____%al,(%rdi)
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x10
	mov____%rbp,%rsp
	pop____%rbp
	ret


:strncmp
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# if (!size) ...
	mov____0x8(%rbp),%rax !0x20
	test___%rax,%rax
	sete___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_strncmp_1_break
	mov____$i32,%rax %0x0
	mov____%rbp,%rsp
	pop____%rbp
	ret
	jmp32  %_strncmp_1_break
:_strncmp_1_break
					# while (*a && *b && *a == *b && --size) ...
	jmp32  %_strncmp_12_continue
:_strncmp_12_loop
	mov____0x8(%rbp),%rax !0x10
	mov____%rbp,%rdi
	add____$i8,%rdi !0x10
	add____$i8,(%rdi) !0x1
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x18
	mov____%rbp,%rdi
	add____$i8,%rdi !0x18
	add____$i8,(%rdi) !0x1
	test___%rax,%rax
:_strncmp_12_continue
	mov____0x8(%rbp),%rax !0x10
	movzbq_(%rax),%rax
	movsbq_%al,%rax
					# jmp test LABEL
	test___%rax,%rax
	test___%al,%al
	je32   %_strncmp_12_break
	mov____0x8(%rbp),%rax !0x18
	movzbq_(%rax),%rax
	movsbq_%al,%rax
					# jmp test LABEL
	test___%rax,%rax
	test___%al,%al
	je32   %_strncmp_12_break
	mov____0x8(%rbp),%rax !0x10
	movzbq_(%rax),%rax
	movsbq_%al,%rax
	mov____0x8(%rbp),%rdi !0x18
	movzbq_(%rdi),%rdi
	movsbq_%dil,%rdi
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_strncmp_12_break
	mov____%rbp,%rax
	add____$i8,%rax !0x20
	add____$i8,(%rax) !0x-1
	mov____0x8(%rbp),%rax !0x20
					# jmp test LABEL
	test___%rax,%rax
	je32   %_strncmp_12_break
	jmp32  %_strncmp_12_loop
:_strncmp_12_break
	mov____0x8(%rbp),%rax !0x10
	movzbq_(%rax),%rax
	movsbq_%al,%rax
	mov____0x8(%rbp),%rdi !0x18
	movzbq_(%rdi),%rdi
	movsbq_%dil,%rdi
	sub____%rdi,%rax
	mov____%rbp,%rsp
	pop____%rbp
	ret


:free
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
	mov____%rbp,%rsp
	pop____%rbp
	ret


:realloc
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# void *new = malloc(size); 
					# malloc(size)
	mov____0x8(%rbp),%rdi !0x18
	push___%rdi
	call32 %malloc
	add____$i8,%rsp !0x8
	mov____%rax,0x8(%rbp) !0x-8
					# if (ptr && new) ...
	mov____0x8(%rbp),%rax !0x10
					# jmp test LABEL
	test___%rax,%rax
	je32   %_realloc_7_break
	mov____0x8(%rbp),%rax !0x-8
					# jmp test LABEL
	test___%rax,%rax
	je32   %_realloc_7_break
					# memcpy(new, ptr, size)
	mov____0x8(%rbp),%rdi !0x18
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	mov____0x8(%rbp),%rdi !0x-8
	push___%rdi
	call32 %memcpy
	add____$i8,%rsp !0x18
	test___%rax,%rax
					# free(ptr)
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	call32 %free
	add____$i8,%rsp !0x8
	test___%rax,%rax
	jmp32  %_realloc_7_break
:_realloc_7_break
	mov____0x8(%rbp),%rax !0x-8
	mov____%rbp,%rsp
	pop____%rbp
	ret


:getenv
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# char **p = environ; 
	mov____0x32,%rax &environ
	mov____%rax,0x8(%rbp) !0x-8
					# int length = strlen(s); 
					# strlen(s)
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	call32 %strlen
	add____$i8,%rsp !0x8
	mov____%eax,0x8(%rbp) !0x-10
					# while (*p) ...
	jmp32  %_getenv_10_continue
:_getenv_10_loop
					# if (!strncmp(s, *p, length) && *(*p + length) == '=') ...
					# strncmp(s, *p, length)
	mov____0x8(%rbp),%rdi !0x-10
	movslq_%edi,%rdi
	push___%rdi
	mov____0x8(%rbp),%rdi !0x-8
	mov____(%rdi),%rdi
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	call32 %strncmp
	add____$i8,%rsp !0x18
	test___%rax,%rax
	sete___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_getenv_13_break
	mov____0x8(%rbp),%rax !0x-8
	mov____(%rax),%rax
	mov____0x8(%rbp),%rdi !0x-10
	movslq_%edi,%rdi
	add____%rdi,%rax
	movzbq_(%rax),%rax
	movsbq_%al,%rax
	mov____$i32,%rdi %0x3d
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_getenv_13_break
	mov____0x8(%rbp),%rax !0x-8
	mov____(%rax),%rax
	mov____0x8(%rbp),%rdi !0x-10
	movslq_%edi,%rdi
	add____%rdi,%rax
	add____$i8,%rax !0x1
	mov____%rbp,%rsp
	pop____%rbp
	ret
	jmp32  %_getenv_13_break
:_getenv_13_break
	mov____0x8(%rbp),%rax !0x-8
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-8
	add____$i8,(%rdi) !0x8
	test___%rax,%rax
:_getenv_10_continue
	mov____0x8(%rbp),%rax !0x-8
	mov____(%rax),%rax
					# jmp test LABEL
	test___%rax,%rax
	je32   %_getenv_10_break
	jmp32  %_getenv_10_loop
:_getenv_10_break
	mov____$i32,%rax %0x0
	mov____%rbp,%rsp
	pop____%rbp
	ret


:setenv
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# char **p = environ; 
	mov____0x32,%rax &environ
	mov____%rax,0x8(%rbp) !0x-8
					# int length = strlen(s); 
					# strlen(s)
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	call32 %strlen
	add____$i8,%rsp !0x8
	mov____%eax,0x8(%rbp) !0x-10
					# while (*p) ...
	jmp32  %_setenv_10_continue
:_setenv_10_loop
					# if (!strncmp(s, *p, length) && *(*p + length) == '=') ...
					# strncmp(s, *p, length)
	mov____0x8(%rbp),%rdi !0x-10
	movslq_%edi,%rdi
	push___%rdi
	mov____0x8(%rbp),%rdi !0x-8
	mov____(%rdi),%rdi
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	call32 %strncmp
	add____$i8,%rsp !0x18
	test___%rax,%rax
	sete___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_setenv_13_break
	mov____0x8(%rbp),%rax !0x-8
	mov____(%rax),%rax
	mov____0x8(%rbp),%rdi !0x-10
	movslq_%edi,%rdi
	add____%rdi,%rax
	movzbq_(%rax),%rax
	movsbq_%al,%rax
	mov____$i32,%rdi %0x3d
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_setenv_13_break
	jmp32  %_setenv_10_break
	jmp32  %_setenv_13_break
:_setenv_13_break
	mov____0x8(%rbp),%rax !0x-8
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-8
	add____$i8,(%rdi) !0x8
	test___%rax,%rax
:_setenv_10_continue
	mov____0x8(%rbp),%rax !0x-8
	mov____(%rax),%rax
					# jmp test LABEL
	test___%rax,%rax
	je32   %_setenv_10_break
	jmp32  %_setenv_10_loop
:_setenv_10_break
					# char *entry = malloc(length + strlen(v) + 2); 
					# malloc(length + strlen(v) + 2)
	mov____0x8(%rbp),%rdi !0x-10
	movslq_%edi,%rdi
					# strlen(v)
	push___%rax
	mov____%rdi,%rax
	push___%rax
	push___%rax
	mov____%rdi,%rax
	mov____0x8(%rbp),%rdi !0x18
	push___%rdi
	mov____%rax,%rdi
	pop____%rax
	xchg___%rax,(%rsp)
	call32 %strlen
	add____$i8,%rsp !0x8
	mov____%rax,%rdi
	pop____%rax
	add____%rdi,%rax
	mov____%rax,%rdi
	pop____%rax
	add____$i8,%rdi !0x2
	push___%rdi
	call32 %malloc
	add____$i8,%rsp !0x8
	mov____%rax,0x8(%rbp) !0x-18
					# int end_p = *p == 0; 
	mov____0x8(%rbp),%rax !0x-8
	mov____(%rax),%rax
	mov____$i32,%rdi %0x0
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
	mov____%eax,0x8(%rbp) !0x-20
					# *p = entry
	mov____0x8(%rbp),%rax !0x-18
	mov____0x8(%rbp),%rdi !0x-8
	mov____%rax,(%rdi)
	test___%rax,%rax
					# strcpy(entry, s)
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	mov____0x8(%rbp),%rdi !0x-18
	push___%rdi
	call32 %strcpy
	add____$i8,%rsp !0x10
	test___%rax,%rax
					# strcpy(entry + length, "=")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_11
	mov____0x8(%rbp),%rdi !0x-18
	push___%rax
	mov____%rdi,%rax
	mov____0x8(%rbp),%rdi !0x-10
	movslq_%edi,%rdi
	add____%rdi,%rax
	mov____%rax,%rdi
	pop____%rax
	push___%rdi
	call32 %strcpy
	add____$i8,%rsp !0x10
	test___%rax,%rax
					# strcpy(entry + length + 1, v)
	mov____0x8(%rbp),%rdi !0x18
	push___%rdi
	mov____0x8(%rbp),%rdi !0x-18
	push___%rax
	mov____%rdi,%rax
	mov____0x8(%rbp),%rdi !0x-10
	movslq_%edi,%rdi
	add____%rdi,%rax
	mov____%rax,%rdi
	pop____%rax
	add____$i8,%rdi !0x1
	push___%rdi
	call32 %strcpy
	add____$i8,%rsp !0x10
	test___%rax,%rax
					# *(entry + length + strlen(v) + 2) = 0
	mov____$i32,%rax %0x0
	mov____0x8(%rbp),%rdi !0x-18
	push___%rax
	mov____%rdi,%rax
	mov____0x8(%rbp),%rdi !0x-10
	movslq_%edi,%rdi
	add____%rdi,%rax
	mov____%rax,%rdi
	pop____%rax
					# strlen(v)
	push___%rax
	mov____%rdi,%rax
	push___%rax
	push___%rax
	mov____%rdi,%rax
	mov____0x8(%rbp),%rdi !0x18
	push___%rdi
	mov____%rax,%rdi
	pop____%rax
	xchg___%rax,(%rsp)
	call32 %strlen
	add____$i8,%rsp !0x8
	mov____%rax,%rdi
	pop____%rax
	add____%rdi,%rax
	mov____%rax,%rdi
	pop____%rax
	add____$i8,%rdi !0x2
	mov____%al,(%rdi)
	test___%rax,%rax
					# if (end_p) ...
	mov____0x8(%rbp),%rax !0x-20
	movslq_%eax,%rax
					# jmp test LABEL
	test___%rax,%rax
	je32   %_setenv_144_break
					# *++p = 0
	mov____$i32,%rax %0x0
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-8
	add____$i8,(%rdi) !0x8
	mov____0x8(%rbp),%rdi !0x-8
	mov____%rax,(%rdi)
	test___%rax,%rax
	jmp32  %_setenv_144_break
:_setenv_144_break
	mov____$i32,%rax %0x0
	mov____%rbp,%rsp
	pop____%rbp
	ret


:isatty
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# ioctl(fd, 0x5401, 0)
	mov____$i32,%rdi %0x0
	push___%rdi
	mov____$i32,%rdi %0x5401
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	movslq_%edi,%rdi
	push___%rdi
	call32 %ioctl
	add____$i8,%rsp !0x18
	mov____$i32,%rdi %0xf0
	and____%rdi,%rax
	mov____%rbp,%rsp
	pop____%rbp
	ret


:wait
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# waitpid(-1, status_ptr, 0)
	mov____$i32,%rdi %0x0
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	mov____$i64,%rdi %0xffffffff %0x-1
	push___%rdi
	call32 %waitpid
	add____$i8,%rsp !0x18
	mov____%rbp,%rsp
	pop____%rbp
	ret


:execv
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# execve(file_name, argv, environ)
	mov____0x32,%rdi &environ
	push___%rdi
	mov____0x8(%rbp),%rdi !0x18
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	call32 %execve
	add____$i8,%rsp !0x18
	mov____%rbp,%rsp
	pop____%rbp
	ret


:close
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# if (_ungetc_fd == filedes) ...
	mov____0x32,%rax &_ungetc_fd
	movslq_%eax,%rax
	mov____0x8(%rbp),%rdi !0x10
	movslq_%edi,%rdi
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_close_1_break
					# _ungetc_pos = -1
	mov____$i64,%rax %0xffffffff %0x-1
	movl___%eax,0x32 &_ungetc_pos
	test___%rax,%rax
					# _ungetc_fd = -1
	mov____$i64,%rax %0xffffffff %0x-1
	movl___%eax,0x32 &_ungetc_fd
	test___%rax,%rax
	jmp32  %_close_1_break
:_close_1_break
					# _sys_call1(0x03, (int)filedes)
	mov____0x8(%rbp),%rdi !0x10
	movslq_%edi,%rdi
	movslq_%edi,%rdi
	push___%rdi
	mov____$i32,%rdi %0x3
	push___%rdi
	call32 %_sys_call1
	add____$i8,%rsp !0x10
	mov____%rbp,%rsp
	pop____%rbp
	ret


:lseek
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# _sys_call3(0x08, (int)filedes, (long)offset, (int)whence)
	mov____0x8(%rbp),%rdi !0x20
	movslq_%edi,%rdi
	movslq_%edi,%rdi
	push___%rdi
	mov____0x8(%rbp),%rdi !0x18
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	movslq_%edi,%rdi
	movslq_%edi,%rdi
	push___%rdi
	mov____$i32,%rdi %0x8
	push___%rdi
	call32 %_sys_call3
	add____$i8,%rsp !0x20
	mov____%rbp,%rsp
	pop____%rbp
	ret


:unlink
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# _sys_call1(0x57, (long)file_name)
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	mov____$i32,%rdi %0x57
	push___%rdi
	call32 %_sys_call1
	add____$i8,%rsp !0x10
	mov____%rbp,%rsp
	pop____%rbp
	ret


:rmdir
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# _sys_call1(0x54, (long)file_name)
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	mov____$i32,%rdi %0x54
	push___%rdi
	call32 %_sys_call1
	add____$i8,%rsp !0x10
	mov____%rbp,%rsp
	pop____%rbp
	ret


:stat
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# _sys_call2(0x04, (long)file_name, (long)statbuf)
	mov____0x8(%rbp),%rdi !0x18
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	mov____$i32,%rdi %0x4
	push___%rdi
	call32 %_sys_call2
	add____$i8,%rsp !0x18
	mov____%rbp,%rsp
	pop____%rbp
	ret


:getcwd
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# _sys_call2(0x4f, (long)buffer, (long)size)
	mov____0x8(%rbp),%rdi !0x18
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	mov____$i32,%rdi %0x4f
	push___%rdi
	call32 %_sys_call2
	add____$i8,%rsp !0x18
	mov____%rbp,%rsp
	pop____%rbp
	ret


:time
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# _sys_call1(0xc9, (long)result)
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	mov____$i32,%rdi %0xc9
	push___%rdi
	call32 %_sys_call1
	add____$i8,%rsp !0x10
	mov____%rbp,%rsp
	pop____%rbp
	ret


:gettimeofday
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# _sys_call2(0x60, (long)tv, (long)tz)
	mov____0x8(%rbp),%rdi !0x18
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	mov____$i32,%rdi %0x60
	push___%rdi
	call32 %_sys_call2
	add____$i8,%rsp !0x18
	mov____%rbp,%rsp
	pop____%rbp
	ret


:longjmp
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# val = val == 0? 1: val
					# val == 0? ...: ...
	mov____0x8(%rbp),%rax !0x18
	movslq_%eax,%rax
	mov____$i32,%rdi %0x0
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_longjmp_2_else
	mov____$i32,%rax %0x1
	jmp32  %_longjmp_2_break
:_longjmp_2_else
	mov____0x8(%rbp),%rax !0x18
	movslq_%eax,%rax
:_longjmp_2_break
	mov____%rax,0x8(%rbp) !0x18
	test___%rax,%rax
	mov____0x8(%rbp),%rbp !0x10
	mov____0x8(%rbp),%rbx !0x08
	mov____0x8(%rbp),%rsp !0x10
	mov____0x8(%rbp),%rbp !0x00
	jmp____*%rbx
					# exit(42)
	mov____$i32,%rdi %0x2a
	push___%rdi
	call32 %exit
	add____$i8,%rsp !0x8
	test___%rax,%rax
	mov____%rbp,%rsp
	pop____%rbp
	ret


:setjmp
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# long *p = (long*)&env; 
	mov____%rbp,%rax
	add____$i8,%rax !0x10
	mov____%rax,0x8(%rbp) !0x-8
					# env[0].__bp = p[-2]
	mov____$i64,%rax %0xfffffffe %0x-1
	shl____$i8,%rax !0x3
	mov____0x8(%rbp),%rdi !0x-8
	add____%rdi,%rax
	mov____(%rax),%rax
	mov____$i32,%rdi %0x0
	push___%rax
	mov____%rdi,%rax
	mov____%rax,%rdi
	add____%rdi,%rdi
	add____%rdi,%rax
	mov____%rax,%rdi
	pop____%rax
	shl____$i8,%rdi !0x3
	push___%rax
	mov____%rdi,%rax
	mov____0x8(%rbp),%rdi !0x10
	add____%rdi,%rax
	mov____%rax,%rdi
	pop____%rax
	add____$i8,%rdi !0x0
	mov____%rax,(%rdi)
	test___%rax,%rax
					# env[0].__pc = p[-1]
	mov____$i64,%rax %0xffffffff %0x-1
	shl____$i8,%rax !0x3
	mov____0x8(%rbp),%rdi !0x-8
	add____%rdi,%rax
	mov____(%rax),%rax
	mov____$i32,%rdi %0x0
	push___%rax
	mov____%rdi,%rax
	mov____%rax,%rdi
	add____%rdi,%rdi
	add____%rdi,%rax
	mov____%rax,%rdi
	pop____%rax
	shl____$i8,%rdi !0x3
	push___%rax
	mov____%rdi,%rax
	mov____0x8(%rbp),%rdi !0x10
	add____%rdi,%rax
	mov____%rax,%rdi
	pop____%rax
	add____$i8,%rdi !0x8
	mov____%rax,(%rdi)
	test___%rax,%rax
					# env[0].__sp = (long)&env
	mov____%rbp,%rax
	add____$i8,%rax !0x10
	mov____$i32,%rdi %0x0
	push___%rax
	mov____%rdi,%rax
	mov____%rax,%rdi
	add____%rdi,%rdi
	add____%rdi,%rax
	mov____%rax,%rdi
	pop____%rax
	shl____$i8,%rdi !0x3
	push___%rax
	mov____%rdi,%rax
	mov____0x8(%rbp),%rdi !0x10
	add____%rdi,%rax
	mov____%rax,%rdi
	pop____%rax
	add____$i8,%rdi !0x10
	mov____%rax,(%rdi)
	test___%rax,%rax
	mov____$i32,%rax %0x0
	mov____%rbp,%rsp
	pop____%rbp
	ret


:islower
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
	mov____0x8(%rbp),%rax !0x10
	movslq_%eax,%rax
	mov____$i32,%rdi %0x61
	sub____%rdi,%rax
	setge__%al
	movzbq_%al,%rax
	test___%rax,%rax
	test___%rax,%rax
	je32   %_islower_7_and_skip_b
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x10
	movslq_%eax,%rax
	mov____$i32,%rdi %0x7a
	sub____%rdi,%rax
	setle__%al
	movzbq_%al,%rax
	test___%rax,%rax
	test___%rax,%rax
:_islower_7_and_skip_b
	mov____%rbp,%rsp
	pop____%rbp
	ret


:isupper
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
	mov____0x8(%rbp),%rax !0x10
	movslq_%eax,%rax
	mov____$i32,%rdi %0x41
	sub____%rdi,%rax
	setge__%al
	movzbq_%al,%rax
	test___%rax,%rax
	test___%rax,%rax
	je32   %_isupper_7_and_skip_b
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x10
	movslq_%eax,%rax
	mov____$i32,%rdi %0x5a
	sub____%rdi,%rax
	setle__%al
	movzbq_%al,%rax
	test___%rax,%rax
	test___%rax,%rax
:_isupper_7_and_skip_b
	mov____%rbp,%rsp
	pop____%rbp
	ret


:tolower
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# if (isupper(c)) ...
					# isupper(c)
	mov____0x8(%rbp),%rdi !0x10
	movslq_%edi,%rdi
	push___%rdi
	call32 %isupper
	add____$i8,%rsp !0x8
					# jmp test LABEL
	test___%rax,%rax
	je32   %_tolower_1_break
	mov____0x8(%rbp),%rax !0x10
	movslq_%eax,%rax
	mov____$i32,%rdi %0x61
	push___%rax
	mov____%rdi,%rax
	mov____$i32,%rdi %0x41
	sub____%rdi,%rax
	mov____%rax,%rdi
	pop____%rax
	add____%rdi,%rax
	mov____%rbp,%rsp
	pop____%rbp
	ret
	jmp32  %_tolower_1_break
:_tolower_1_break
	mov____0x8(%rbp),%rax !0x10
	movslq_%eax,%rax
	mov____%rbp,%rsp
	pop____%rbp
	ret


:toupper
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# if (islower(c)) ...
					# islower(c)
	mov____0x8(%rbp),%rdi !0x10
	movslq_%edi,%rdi
	push___%rdi
	call32 %islower
	add____$i8,%rsp !0x8
					# jmp test LABEL
	test___%rax,%rax
	je32   %_toupper_1_break
	mov____0x8(%rbp),%rax !0x10
	movslq_%eax,%rax
	mov____$i32,%rdi %0x61
	push___%rax
	mov____%rdi,%rax
	mov____$i32,%rdi %0x41
	sub____%rdi,%rax
	mov____%rax,%rdi
	pop____%rax
	sub____%rdi,%rax
	mov____%rbp,%rsp
	pop____%rbp
	ret
	jmp32  %_toupper_1_break
:_toupper_1_break
	mov____0x8(%rbp),%rax !0x10
	movslq_%eax,%rax
	mov____%rbp,%rsp
	pop____%rbp
	ret


:search_path
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# static char buf[256]; 
					# char *path = getenv("PATH"); 
					# getenv("PATH")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_12
	call32 %getenv
	add____$i8,%rsp !0x8
	mov____%rax,0x8(%rbp) !0x-8
					# if (__mes_debug()) ...
					# __mes_debug()
	call32 %__mes_debug
	add____$i8,%rsp !0x0
					# jmp test LABEL
	test___%rax,%rax
	je32   %_search_path_7_break
					# eputs("  search-path: ")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_13
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputs(file_name)
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputs(" ")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_0
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
	jmp32  %_search_path_7_break
:_search_path_7_break
					# while (*path) ...
	jmp32  %_search_path_28_continue
:_search_path_28_loop
					# char *end = strchr(path, ':'); 
					# strchr(path, ':')
	mov____$i32,%rdi %0x3a
	push___%rdi
	mov____0x8(%rbp),%rdi !0x-8
	push___%rdi
	call32 %strchr
	add____$i8,%rsp !0x10
	mov____%rax,0x8(%rbp) !0x-10
					# if (!end) ...
	mov____0x8(%rbp),%rax !0x-10
	test___%rax,%rax
	sete___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_search_path_39_break
					# end = strchr(path, '\\0')
					# strchr(path, '\\0')
	mov____$i32,%rdi %0x0
	push___%rdi
	mov____0x8(%rbp),%rdi !0x-8
	push___%rdi
	call32 %strchr
	add____$i8,%rsp !0x10
	mov____%rax,0x8(%rbp) !0x-10
	test___%rax,%rax
	jmp32  %_search_path_39_break
:_search_path_39_break
					# strncpy(buf, path, end - path)
	mov____0x8(%rbp),%rdi !0x-10
	push___%rax
	mov____%rdi,%rax
	mov____0x8(%rbp),%rdi !0x-8
	sub____%rdi,%rax
	mov____%rax,%rdi
	pop____%rax
	push___%rax
	mov____%rdi,%rax
	mov____$i32,%rdi %0x1
	xor____%rdx,%rdx
	div___%rdi
	mov____%rax,%rdi
	pop____%rax
	push___%rdi
	mov____0x8(%rbp),%rdi !0x-8
	push___%rdi
	mov____$i64,%rdi &search_path-buf %0
	push___%rdi
	call32 %strncpy
	add____$i8,%rsp !0x18
	test___%rax,%rax
					# buf[end - path] = 0
	mov____$i32,%rax %0x0
	mov____0x8(%rbp),%rdi !0x-10
	push___%rax
	mov____%rdi,%rax
	mov____0x8(%rbp),%rdi !0x-8
	sub____%rdi,%rax
	mov____%rax,%rdi
	pop____%rax
	push___%rax
	mov____%rdi,%rax
	mov____$i32,%rdi %0x1
	xor____%rdx,%rdx
	div___%rdi
	mov____%rax,%rdi
	pop____%rax
	push___%rax
	mov____%rdi,%rax
	mov____$i64,%rdi &search_path-buf %0
	add____%rdi,%rax
	mov____%rax,%rdi
	pop____%rax
	mov____%al,(%rdi)
	test___%rax,%rax
					# if (__mes_debug()) ...
					# __mes_debug()
	call32 %__mes_debug
	add____$i8,%rsp !0x0
					# jmp test LABEL
	test___%rax,%rax
	je32   %_search_path_89_break
					# eputs(" dir: ")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_14
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputs(buf)
	mov____$i64,%rdi &search_path-buf %0
	push___%rdi
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputs(" ")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_0
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
	jmp32  %_search_path_89_break
:_search_path_89_break
					# if (buf[end - path] != '/') ...
	mov____0x8(%rbp),%rax !0x-10
	mov____0x8(%rbp),%rdi !0x-8
	sub____%rdi,%rax
	mov____$i32,%rdi %0x1
	xor____%rdx,%rdx
	div___%rdi
	mov____$i64,%rdi &search_path-buf %0
	add____%rdi,%rax
	movzbq_(%rax),%rax
	movsbq_%al,%rax
	mov____$i32,%rdi %0x2f
	sub____%rdi,%rax
	test___%rax,%rax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_search_path_110_break
					# strcat(buf, "/")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_15
	mov____$i64,%rdi &search_path-buf %0
	push___%rdi
	call32 %strcat
	add____$i8,%rsp !0x10
	test___%rax,%rax
	jmp32  %_search_path_110_break
:_search_path_110_break
					# strcat(buf, file_name)
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	mov____$i64,%rdi &search_path-buf %0
	push___%rdi
	call32 %strcat
	add____$i8,%rsp !0x10
	test___%rax,%rax
					# if (!access(buf, 1)) ...
					# access(buf, 1)
	mov____$i32,%rdi %0x1
	push___%rdi
	mov____$i64,%rdi &search_path-buf %0
	push___%rdi
	call32 %access
	add____$i8,%rsp !0x10
	test___%rax,%rax
	sete___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_search_path_141_break
					# if (__mes_debug()) ...
					# __mes_debug()
	call32 %__mes_debug
	add____$i8,%rsp !0x0
					# jmp test LABEL
	test___%rax,%rax
	je32   %_search_path_153_break
					# eputs(" found: ")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_16
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputs(buf)
	mov____$i64,%rdi &search_path-buf %0
	push___%rdi
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputs(" ")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_0
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
	jmp32  %_search_path_153_break
:_search_path_153_break
	mov____$i64,%rax &search_path-buf %0
	mov____%rbp,%rsp
	pop____%rbp
	ret
	jmp32  %_search_path_141_break
:_search_path_141_break
					# path = end + 1
	mov____0x8(%rbp),%rax !0x-10
	add____$i8,%rax !0x1
	mov____%rax,0x8(%rbp) !0x-8
	test___%rax,%rax
:_search_path_28_continue
	mov____0x8(%rbp),%rax !0x-8
	movzbq_(%rax),%rax
	movsbq_%al,%rax
					# jmp test LABEL
	test___%rax,%rax
	test___%al,%al
	je32   %_search_path_28_break
	jmp32  %_search_path_28_loop
:_search_path_28_break
	mov____$i32,%rax %0x0
	mov____%rbp,%rsp
	pop____%rbp
	ret


:execvp
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# if (file_name[0] != '/') ...
	mov____$i32,%rax %0x0
	mov____0x8(%rbp),%rdi !0x10
	add____%rdi,%rax
	movzbq_(%rax),%rax
	movsbq_%al,%rax
	mov____$i32,%rdi %0x2f
	sub____%rdi,%rax
	test___%rax,%rax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_execvp_1_break
					# file_name = search_path(file_name)
					# search_path(file_name)
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	call32 %search_path
	add____$i8,%rsp !0x8
	mov____%rax,0x8(%rbp) !0x10
	test___%rax,%rax
	jmp32  %_execvp_1_break
:_execvp_1_break
					# if (!file_name) ...
	mov____0x8(%rbp),%rax !0x10
	test___%rax,%rax
	sete___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_execvp_23_break
					# errno = 2
	mov____$i32,%rax %0x2
	movl___%eax,0x32 &errno
	test___%rax,%rax
	mov____$i64,%rax %0xffffffff %0x-1
	mov____%rbp,%rsp
	pop____%rbp
	ret
	jmp32  %_execvp_23_break
:_execvp_23_break
					# if (__mes_debug()) ...
					# __mes_debug()
	call32 %__mes_debug
	add____$i8,%rsp !0x0
					# jmp test LABEL
	test___%rax,%rax
	je32   %_execvp_38_break
					# eputs(" EXEC: ")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_17
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputs(file_name)
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputs(" ")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_0
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# int i = 0; 
	mov____$i32,%rax %0x0
	mov____%eax,0x8(%rbp) !0x-8
					# while (argv[i]) ...
	jmp32  %_execvp_60_continue
:_execvp_60_loop
					# eputs(" arg[")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_18
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputs(itoa(i))
					# itoa(i)
	push___%rax
	push___%rax
	mov____%rdi,%rax
	mov____0x8(%rbp),%rdi !0x-8
	movslq_%edi,%rdi
	push___%rdi
	mov____%rax,%rdi
	pop____%rax
	xchg___%rax,(%rsp)
	call32 %itoa
	add____$i8,%rsp !0x8
	mov____%rax,%rdi
	pop____%rax
	push___%rdi
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputs("]: ")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_19
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputs(argv[i])
	mov____0x8(%rbp),%rdi !0x-8
	movslq_%edi,%rdi
	shl____$i8,%rdi !0x3
	push___%rax
	mov____%rdi,%rax
	mov____0x8(%rbp),%rdi !0x18
	add____%rdi,%rax
	mov____%rax,%rdi
	pop____%rax
	mov____(%rdi),%rdi
	push___%rdi
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputs(" ")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_0
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x-8
	movslq_%eax,%rax
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-8
	addl___$i8,(%rdi) !0x1
	test___%rax,%rax
:_execvp_60_continue
	mov____0x8(%rbp),%rax !0x-8
	movslq_%eax,%rax
	shl____$i8,%rax !0x3
	mov____0x8(%rbp),%rdi !0x18
	add____%rdi,%rax
	mov____(%rax),%rax
					# jmp test LABEL
	test___%rax,%rax
	je32   %_execvp_60_break
	jmp32  %_execvp_60_loop
:_execvp_60_break
	jmp32  %_execvp_38_break
:_execvp_38_break
					# execve(file_name, argv, environ)
	mov____0x32,%rdi &environ
	push___%rdi
	mov____0x8(%rbp),%rdi !0x18
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	call32 %execve
	add____$i8,%rsp !0x18
	mov____%rbp,%rsp
	pop____%rbp
	ret


:fclose
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# int fd = (int)stream; 
	mov____0x8(%rbp),%rax !0x10
	movslq_%eax,%rax
	mov____%eax,0x8(%rbp) !0x-8
					# close(fd)
	mov____0x8(%rbp),%rdi !0x-8
	movslq_%edi,%rdi
	push___%rdi
	call32 %close
	add____$i8,%rsp !0x8
	mov____%rbp,%rsp
	pop____%rbp
	ret


:fdopen
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
	mov____0x8(%rbp),%rax !0x10
	movslq_%eax,%rax
	mov____%rbp,%rsp
	pop____%rbp
	ret


:ferror
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# int fd = (int)stream; 
	mov____0x8(%rbp),%rax !0x10
	movslq_%eax,%rax
	mov____%eax,0x8(%rbp) !0x-8
					# if (fd == -1) ...
	mov____0x8(%rbp),%rax !0x-8
	movslq_%eax,%rax
	mov____$i64,%rdi %0xffffffff %0x-1
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_ferror_5_break
	mov____$i64,%rax %0xffffffff %0x-1
	mov____%rbp,%rsp
	pop____%rbp
	ret
	jmp32  %_ferror_5_break
:_ferror_5_break
	mov____$i32,%rax %0x0
	mov____%rbp,%rsp
	pop____%rbp
	ret


:fflush
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# fsync((int)stream)
	mov____0x8(%rbp),%rdi !0x10
	movslq_%edi,%rdi
	push___%rdi
	call32 %fsync
	add____$i8,%rsp !0x8
	test___%rax,%rax
	mov____%rbp,%rsp
	pop____%rbp
	ret


:fopen
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# if (__mes_debug()) ...
					# __mes_debug()
	call32 %__mes_debug
	add____$i8,%rsp !0x0
					# jmp test LABEL
	test___%rax,%rax
	je32   %_fopen_1_break
					# eputs("fopen ")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_20
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputs(file_name)
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputs(" ")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_21
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputs(opentype)
	mov____0x8(%rbp),%rdi !0x18
	push___%rdi
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputs(" ")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_0
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
	jmp32  %_fopen_1_break
:_fopen_1_break
					# int fd; 
					# int mode = 0600; 
	mov____$i32,%rax %0x180
	mov____%eax,0x8(%rbp) !0x-10
					# if ((opentype[0] == 'a' || !strcmp(opentype, "r+")) && !access(file_name, 0))      ...else ...
	mov____$i32,%rax %0x0
	mov____0x8(%rbp),%rdi !0x18
	add____%rdi,%rax
	movzbq_(%rax),%rax
	movsbq_%al,%rax
	mov____$i32,%rdi %0x61
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_fopen_35_else_b_25
	jmp32  %_fopen_35_else_skip_b_25
:_fopen_35_else_b_25
					# strcmp(opentype, "r+")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_22
	mov____0x8(%rbp),%rdi !0x18
	push___%rdi
	call32 %strcmp
	add____$i8,%rsp !0x10
	test___%rax,%rax
	sete___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_fopen_35_else
:_fopen_35_else_skip_b_25
					# access(file_name, 0)
	mov____$i32,%rdi %0x0
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	call32 %access
	add____$i8,%rsp !0x10
	test___%rax,%rax
	sete___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_fopen_35_else
					# int flags = 2; 
	mov____$i32,%rax %0x2
	mov____%eax,0x8(%rbp) !0x-18
					# if (opentype[0] == 'a') ...
	mov____$i32,%rax %0x0
	mov____0x8(%rbp),%rdi !0x18
	add____%rdi,%rax
	movzbq_(%rax),%rax
	movsbq_%al,%rax
	mov____$i32,%rdi %0x61
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_fopen_73_break
					# flags |= 0x400
	mov____$i32,%rax %0x400
	mov____0x8(%rbp),%rdi !0x-18
	movslq_%edi,%rdi
	xchg___%rax,%rdi
	or_____%rdi,%rax
	mov____%rax,0x8(%rbp) !0x-18
	test___%rax,%rax
	jmp32  %_fopen_73_break
:_fopen_73_break
					# fd = _open3(file_name, flags, mode)
					# _open3(file_name, flags, mode)
	mov____0x8(%rbp),%rdi !0x-10
	movslq_%edi,%rdi
	push___%rdi
	mov____0x8(%rbp),%rdi !0x-18
	movslq_%edi,%rdi
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	call32 %_open3
	add____$i8,%rsp !0x18
	mov____%rax,0x8(%rbp) !0x-8
	test___%rax,%rax
	jmp32  %_fopen_35_break
:_fopen_35_else
					# if ((opentype[0] == 'w' || opentype[0] == 'a') || !strcmp(opentype, "r+")) ...     else ...
	mov____$i32,%rax %0x0
	mov____0x8(%rbp),%rdi !0x18
	add____%rdi,%rax
	movzbq_(%rax),%rax
	movsbq_%al,%rax
	mov____$i32,%rdi %0x77
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_fopen_109_else_b_87_b_87
	jmp32  %_fopen_109_else_b_87_skip_b_87
:_fopen_109_else_b_87_b_87
	mov____$i32,%rax %0x0
	mov____0x8(%rbp),%rdi !0x18
	add____%rdi,%rax
	movzbq_(%rax),%rax
	movsbq_%al,%rax
	mov____$i32,%rdi %0x61
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_fopen_109_else_b_87
:_fopen_109_else_b_87_skip_b_87
	jmp32  %_fopen_109_else_skip_b_87
:_fopen_109_else_b_87
					# strcmp(opentype, "r+")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_22
	mov____0x8(%rbp),%rdi !0x18
	push___%rdi
	call32 %strcmp
	add____$i8,%rsp !0x10
	test___%rax,%rax
	sete___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_fopen_109_else
:_fopen_109_else_skip_b_87
					# char *plus_p = strchr(opentype, '+'); 
					# strchr(opentype, '+')
	mov____$i32,%rdi %0x2b
	push___%rdi
	mov____0x8(%rbp),%rdi !0x18
	push___%rdi
	call32 %strchr
	add____$i8,%rsp !0x10
	mov____%rax,0x8(%rbp) !0x-18
					# int flags = plus_p? 2 | 0x40: (1 | 0x40) | 0x200; 
					# plus_p? ...: ...
	mov____0x8(%rbp),%rax !0x-18
					# jmp test LABEL
	test___%rax,%rax
	je32   %_fopen_155_else
	mov____$i32,%rax %0x2
	mov____$i32,%rdi %0x40
	or_____%rdi,%rax
	jmp32  %_fopen_155_break
:_fopen_155_else
	mov____$i32,%rax %0x1
	mov____$i32,%rdi %0x40
	or_____%rdi,%rax
	mov____$i32,%rdi %0x200
	or_____%rdi,%rax
:_fopen_155_break
	mov____%eax,0x8(%rbp) !0x-20
					# fd = _open3(file_name, flags, mode)
					# _open3(file_name, flags, mode)
	mov____0x8(%rbp),%rdi !0x-10
	movslq_%edi,%rdi
	push___%rdi
	mov____0x8(%rbp),%rdi !0x-20
	movslq_%edi,%rdi
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	call32 %_open3
	add____$i8,%rsp !0x18
	mov____%rax,0x8(%rbp) !0x-8
	test___%rax,%rax
	jmp32  %_fopen_109_break
:_fopen_109_else
					# fd = _open3(file_name, 0, 0)
					# _open3(file_name, 0, 0)
	mov____$i32,%rdi %0x0
	push___%rdi
	mov____$i32,%rdi %0x0
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	call32 %_open3
	add____$i8,%rsp !0x18
	mov____%rax,0x8(%rbp) !0x-8
	test___%rax,%rax
:_fopen_109_break
:_fopen_35_break
					# if (__mes_debug()) ...
					# __mes_debug()
	call32 %__mes_debug
	add____$i8,%rsp !0x0
					# jmp test LABEL
	test___%rax,%rax
	je32   %_fopen_200_break
					# eputs(" => fd=")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_23
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputs(itoa(fd))
					# itoa(fd)
	push___%rax
	push___%rax
	mov____%rdi,%rax
	mov____0x8(%rbp),%rdi !0x-8
	movslq_%edi,%rdi
	push___%rdi
	mov____%rax,%rdi
	pop____%rax
	xchg___%rax,(%rsp)
	call32 %itoa
	add____$i8,%rsp !0x8
	mov____%rax,%rdi
	pop____%rax
	push___%rdi
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputs(" ")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_0
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
	jmp32  %_fopen_200_break
:_fopen_200_break
					# if (!fd) ...
	mov____0x8(%rbp),%rax !0x-8
	movslq_%eax,%rax
	test___%rax,%rax
	sete___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_fopen_231_break
					# eputs(" ***MES LIB C*** fopen of stdin: signal me in band ")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_24
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# exit(1)
	mov____$i32,%rdi %0x1
	push___%rdi
	call32 %exit
	add____$i8,%rsp !0x8
	test___%rax,%rax
	jmp32  %_fopen_231_break
:_fopen_231_break
					# if (fd < 0) ...
	mov____0x8(%rbp),%rax !0x-8
	movslq_%eax,%rax
	mov____$i32,%rdi %0x0
	sub____%rdi,%rax
	setl___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_fopen_250_break
					# fd = 0
	mov____$i32,%rax %0x0
	mov____%rax,0x8(%rbp) !0x-8
	test___%rax,%rax
	jmp32  %_fopen_250_break
:_fopen_250_break
	mov____0x8(%rbp),%rax !0x-8
	movslq_%eax,%rax
	mov____%rbp,%rsp
	pop____%rbp
	ret


:fprintf
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# va_list ap; 
					# ap = (char*)(&format + 1)
	mov____%rbp,%rax
	add____$i8,%rax !0x18
	add____$i8,%rax !0x8
	mov____%rax,0x8(%rbp) !0x-8
	movzbq_%al,%rax
	test___%rax,%rax
					# int r = vfprintf(stream, format, ap); 
					# vfprintf(stream, format, ap)
	mov____0x8(%rbp),%rdi !0x-8
	push___%rdi
	mov____0x8(%rbp),%rdi !0x18
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	call32 %vfprintf
	add____$i8,%rsp !0x18
	mov____%eax,0x8(%rbp) !0x-10
					# ap = 0
	mov____$i32,%rax %0x0
	mov____%rax,0x8(%rbp) !0x-8
	movzbq_%al,%rax
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x-10
	movslq_%eax,%rax
	mov____%rbp,%rsp
	pop____%rbp
	ret


:_fungetc_p
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# _fdungetc_p((int)stream)
	mov____0x8(%rbp),%rdi !0x10
	movslq_%edi,%rdi
	push___%rdi
	call32 %_fdungetc_p
	add____$i8,%rsp !0x8
	mov____%rbp,%rsp
	pop____%rbp
	ret


:fread
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# if (!size || !count) ...
	mov____0x8(%rbp),%rax !0x18
	test___%rax,%rax
	sete___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_fread_1_break_b_1
	jmp32  %_fread_1_break_skip_b_1
:_fread_1_break_b_1
	mov____0x8(%rbp),%rax !0x20
	test___%rax,%rax
	sete___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_fread_1_break
:_fread_1_break_skip_b_1
	mov____$i32,%rax %0x0
	mov____%rbp,%rsp
	pop____%rbp
	ret
	jmp32  %_fread_1_break
:_fread_1_break
					# size_t todo = size*count; 
	mov____0x8(%rbp),%rax !0x18
	mov____0x8(%rbp),%rdi !0x20
	mul____%rdi
	mov____%rax,0x8(%rbp) !0x-8
					# char *buf = (char*)data; 
	mov____0x8(%rbp),%rax !0x10
	mov____%rax,0x8(%rbp) !0x-10
					# int bytes = 0; 
	mov____$i32,%rax %0x0
	mov____%eax,0x8(%rbp) !0x-18
					# while (_fungetc_p(stream) && todo-- && ++bytes) ...
	jmp32  %_fread_32_continue
:_fread_32_loop
					# *buf = fgetc(stream)
					# fgetc(stream)
	mov____0x8(%rbp),%rdi !0x28
	push___%rdi
	call32 %fgetc
	add____$i8,%rsp !0x8
	mov____0x8(%rbp),%rdi !0x-10
	mov____%al,(%rdi)
	add____$i8,0x8(%rbp) !0x-10 !0x1
	test___%rax,%rax
:_fread_32_continue
					# _fungetc_p(stream)
	mov____0x8(%rbp),%rdi !0x28
	push___%rdi
	call32 %_fungetc_p
	add____$i8,%rsp !0x8
					# jmp test LABEL
	test___%rax,%rax
	je32   %_fread_32_break
	mov____0x8(%rbp),%rax !0x-8
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-8
	add____$i8,(%rdi) !0x-1
					# jmp test LABEL
	test___%rax,%rax
	je32   %_fread_32_break
	mov____%rbp,%rax
	add____$i8,%rax !0x-18
	addl___$i8,(%rax) !0x1
	mov____0x8(%rbp),%rax !0x-18
	movslq_%eax,%rax
					# jmp test LABEL
	test___%rax,%rax
	je32   %_fread_32_break
	jmp32  %_fread_32_loop
:_fread_32_break
					# if (todo) ...
	mov____0x8(%rbp),%rax !0x-8
					# jmp test LABEL
	test___%rax,%rax
	je32   %_fread_67_break
					# int r = read((int)stream, buf, todo); 
					# read((int)stream, buf, todo)
	mov____0x8(%rbp),%rdi !0x-8
	push___%rdi
	mov____0x8(%rbp),%rdi !0x-10
	push___%rdi
	mov____0x8(%rbp),%rdi !0x28
	movslq_%edi,%rdi
	push___%rdi
	call32 %read
	add____$i8,%rsp !0x18
	mov____%eax,0x8(%rbp) !0x-20
					# if (r < 0 && !bytes) ...else ...
	mov____0x8(%rbp),%rax !0x-20
	movslq_%eax,%rax
	mov____$i32,%rdi %0x0
	sub____%rdi,%rax
	setl___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_fread_83_else
	mov____0x8(%rbp),%rax !0x-18
	movslq_%eax,%rax
	test___%rax,%rax
	sete___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_fread_83_else
					# bytes = r
	mov____0x8(%rbp),%rax !0x-20
	movslq_%eax,%rax
	mov____%rax,0x8(%rbp) !0x-18
	test___%rax,%rax
	jmp32  %_fread_83_break
:_fread_83_else
					# bytes += r
	mov____0x8(%rbp),%rax !0x-20
	movslq_%eax,%rax
	mov____0x8(%rbp),%rdi !0x-18
	movslq_%edi,%rdi
	xchg___%rax,%rdi
	add____%rdi,%rax
	mov____%rax,0x8(%rbp) !0x-18
	test___%rax,%rax
:_fread_83_break
	jmp32  %_fread_67_break
:_fread_67_break
					# if (__mes_debug()) ...
					# __mes_debug()
	call32 %__mes_debug
	add____$i8,%rsp !0x0
					# jmp test LABEL
	test___%rax,%rax
	je32   %_fread_118_break
					# eputs("fread fd=")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_25
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputs(itoa((int)stream))
					# itoa((int)stream)
	push___%rax
	push___%rax
	mov____%rdi,%rax
	mov____0x8(%rbp),%rdi !0x28
	movslq_%edi,%rdi
	push___%rdi
	mov____%rax,%rdi
	pop____%rax
	xchg___%rax,(%rsp)
	call32 %itoa
	add____$i8,%rsp !0x8
	mov____%rax,%rdi
	pop____%rax
	push___%rdi
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputs(" bytes=")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_8
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputs(itoa(bytes))
					# itoa(bytes)
	push___%rax
	push___%rax
	mov____%rdi,%rax
	mov____0x8(%rbp),%rdi !0x-18
	movslq_%edi,%rdi
	push___%rdi
	mov____%rax,%rdi
	pop____%rax
	xchg___%rax,(%rsp)
	call32 %itoa
	add____$i8,%rsp !0x8
	mov____%rax,%rdi
	pop____%rax
	push___%rdi
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputs(" ")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_0
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# static char buf[4096]; 
					# if (bytes > 0 && bytes < sizeof(buf)) ...
	mov____0x8(%rbp),%rax !0x-18
	movslq_%eax,%rax
	mov____$i32,%rdi %0x0
	sub____%rdi,%rax
	setg___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_fread_167_break
	mov____0x8(%rbp),%rax !0x-18
	movslq_%eax,%rax
	mov____$i32,%rdi %0x8
	sub____%rdi,%rax
	setl___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_fread_167_break
					# strncpy(buf, data, bytes)
	mov____0x8(%rbp),%rdi !0x-18
	movslq_%edi,%rdi
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	mov____0x8(%rbp),%rdi !0x-10
	push___%rdi
	call32 %strncpy
	add____$i8,%rsp !0x18
	test___%rax,%rax
					# buf[bytes] = 0
	mov____$i32,%rax %0x0
	mov____0x8(%rbp),%rdi !0x-18
	movslq_%edi,%rdi
	push___%rax
	mov____%rdi,%rax
	mov____0x8(%rbp),%rdi !0x-10
	add____%rdi,%rax
	mov____%rax,%rdi
	pop____%rax
	mov____%al,(%rdi)
	test___%rax,%rax
					# eputs("fread buf=")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_26
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputs(buf)
	mov____0x8(%rbp),%rdi !0x-10
	push___%rdi
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputs(" ")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_0
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
	jmp32  %_fread_167_break
:_fread_167_break
	jmp32  %_fread_118_break
:_fread_118_break
					# if (bytes > 0) ...
	mov____0x8(%rbp),%rax !0x-18
	movslq_%eax,%rax
	mov____$i32,%rdi %0x0
	sub____%rdi,%rax
	setg___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_fread_221_break
	mov____0x8(%rbp),%rax !0x-18
	movslq_%eax,%rax
	mov____0x8(%rbp),%rdi !0x18
	xor____%rdx,%rdx
	div___%rdi
	mov____%rbp,%rsp
	pop____%rbp
	ret
	jmp32  %_fread_221_break
:_fread_221_break
	mov____$i32,%rax %0x0
	mov____%rbp,%rsp
	pop____%rbp
	ret


:fseek
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# off_t pos = lseek((int)stream, offset, whence); 
					# lseek((int)stream, offset, whence)
	mov____0x8(%rbp),%rdi !0x20
	movslq_%edi,%rdi
	push___%rdi
	mov____0x8(%rbp),%rdi !0x18
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	movslq_%edi,%rdi
	push___%rdi
	call32 %lseek
	add____$i8,%rsp !0x18
	mov____%rax,0x8(%rbp) !0x-8
					# if (__mes_debug()) ...
					# __mes_debug()
	call32 %__mes_debug
	add____$i8,%rsp !0x0
					# jmp test LABEL
	test___%rax,%rax
	je32   %_fseek_13_break
					# eputs("fread fd=")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_25
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputs(itoa((int)stream))
					# itoa((int)stream)
	push___%rax
	push___%rax
	mov____%rdi,%rax
	mov____0x8(%rbp),%rdi !0x10
	movslq_%edi,%rdi
	push___%rdi
	mov____%rax,%rdi
	pop____%rax
	xchg___%rax,(%rsp)
	call32 %itoa
	add____$i8,%rsp !0x8
	mov____%rax,%rdi
	pop____%rax
	push___%rdi
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputs("  =>")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_27
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputs(itoa(pos))
					# itoa(pos)
	push___%rax
	push___%rax
	mov____%rdi,%rax
	mov____0x8(%rbp),%rdi !0x-8
	push___%rdi
	mov____%rax,%rdi
	pop____%rax
	xchg___%rax,(%rsp)
	call32 %itoa
	add____$i8,%rsp !0x8
	mov____%rax,%rdi
	pop____%rax
	push___%rdi
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputs(" ")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_0
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
	jmp32  %_fseek_13_break
:_fseek_13_break
					# if (pos >= 0) ...
	mov____0x8(%rbp),%rax !0x-8
	mov____$i32,%rdi %0x0
	sub____%rdi,%rax
	setae__%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_fseek_62_break
	mov____$i32,%rax %0x0
	mov____%rbp,%rsp
	pop____%rbp
	ret
	jmp32  %_fseek_62_break
:_fseek_62_break
	mov____$i64,%rax %0xffffffff %0x-1
	mov____%rbp,%rsp
	pop____%rbp
	ret


:ftell
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# lseek((int)stream, 0, 1)
	mov____$i32,%rdi %0x1
	push___%rdi
	mov____$i32,%rdi %0x0
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	movslq_%edi,%rdi
	push___%rdi
	call32 %lseek
	add____$i8,%rsp !0x18
	mov____%rbp,%rsp
	pop____%rbp
	ret


:fwrite
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# if (__mes_debug() > 1) ...
					# __mes_debug()
	call32 %__mes_debug
	add____$i8,%rsp !0x0
	mov____$i32,%rdi %0x1
	sub____%rdi,%rax
	setg___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_fwrite_1_break
					# eputs("fwrite ")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_28
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputs(itoa((int)stream))
					# itoa((int)stream)
	push___%rax
	push___%rax
	mov____%rdi,%rax
	mov____0x8(%rbp),%rdi !0x28
	movslq_%edi,%rdi
	push___%rdi
	mov____%rax,%rdi
	pop____%rax
	xchg___%rax,(%rsp)
	call32 %itoa
	add____$i8,%rsp !0x8
	mov____%rax,%rdi
	pop____%rax
	push___%rdi
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputs("  ")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_29
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputs(itoa(size))
					# itoa(size)
	push___%rax
	push___%rax
	mov____%rdi,%rax
	mov____0x8(%rbp),%rdi !0x18
	push___%rdi
	mov____%rax,%rdi
	pop____%rax
	xchg___%rax,(%rsp)
	call32 %itoa
	add____$i8,%rsp !0x8
	mov____%rax,%rdi
	pop____%rax
	push___%rdi
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputs(" ")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_0
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
	jmp32  %_fwrite_1_break
:_fwrite_1_break
					# if (!size || !count) ...
	mov____0x8(%rbp),%rax !0x18
	test___%rax,%rax
	sete___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_fwrite_53_break_b_43
	jmp32  %_fwrite_53_break_skip_b_43
:_fwrite_53_break_b_43
	mov____0x8(%rbp),%rax !0x20
	test___%rax,%rax
	sete___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_fwrite_53_break
:_fwrite_53_break_skip_b_43
	mov____$i32,%rax %0x0
	mov____%rbp,%rsp
	pop____%rbp
	ret
	jmp32  %_fwrite_53_break
:_fwrite_53_break
					# int bytes = write((int)stream, data, size*count); 
					# write((int)stream, data, size*count)
	mov____0x8(%rbp),%rdi !0x18
	push___%rax
	mov____%rdi,%rax
	mov____0x8(%rbp),%rdi !0x20
	mul____%rdi
	mov____%rax,%rdi
	pop____%rax
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	mov____0x8(%rbp),%rdi !0x28
	movslq_%edi,%rdi
	push___%rdi
	call32 %write
	add____$i8,%rsp !0x18
	mov____%eax,0x8(%rbp) !0x-8
					# if (__mes_debug() > 2) ...
					# __mes_debug()
	call32 %__mes_debug
	add____$i8,%rsp !0x0
	mov____$i32,%rdi %0x2
	sub____%rdi,%rax
	setg___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_fwrite_88_break
					# eputs(" => ")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_30
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputs(itoa(bytes))
					# itoa(bytes)
	push___%rax
	push___%rax
	mov____%rdi,%rax
	mov____0x8(%rbp),%rdi !0x-8
	movslq_%edi,%rdi
	push___%rdi
	mov____%rax,%rdi
	pop____%rax
	xchg___%rax,(%rsp)
	call32 %itoa
	add____$i8,%rsp !0x8
	mov____%rax,%rdi
	pop____%rax
	push___%rdi
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputs(" ")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_0
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
	jmp32  %_fwrite_88_break
:_fwrite_88_break
					# if (bytes > 0) ...
	mov____0x8(%rbp),%rax !0x-8
	movslq_%eax,%rax
	mov____$i32,%rdi %0x0
	sub____%rdi,%rax
	setg___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_fwrite_122_break
	mov____0x8(%rbp),%rax !0x-8
	movslq_%eax,%rax
	mov____0x8(%rbp),%rdi !0x18
	xor____%rdx,%rdx
	div___%rdi
	mov____%rbp,%rsp
	pop____%rbp
	ret
	jmp32  %_fwrite_122_break
:_fwrite_122_break
	mov____$i32,%rax %0x0
	mov____%rbp,%rsp
	pop____%rbp
	ret


:printf
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# va_list ap; 
					# int r; 
					# ap = (char*)(&format + 1)
	mov____%rbp,%rax
	add____$i8,%rax !0x10
	add____$i8,%rax !0x8
	mov____%rax,0x8(%rbp) !0x-8
	movzbq_%al,%rax
	test___%rax,%rax
					# r = vprintf(format, ap)
					# vprintf(format, ap)
	mov____0x8(%rbp),%rdi !0x-8
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	call32 %vprintf
	add____$i8,%rsp !0x10
	mov____%rax,0x8(%rbp) !0x-10
	test___%rax,%rax
					# ap = 0
	mov____$i32,%rax %0x0
	mov____%rax,0x8(%rbp) !0x-8
	movzbq_%al,%rax
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x-10
	movslq_%eax,%rax
	mov____%rbp,%rsp
	pop____%rbp
	ret


:remove
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# struct stat buf; 
					# if (stat(file_name, &buf) < 0) ...
					# stat(file_name, &buf)
	mov____%rbp,%rdi
	add____$i32,%rdi %0x-88
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	call32 %stat
	add____$i8,%rsp !0x10
	mov____$i32,%rdi %0x0
	sub____%rdi,%rax
	setl___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_remove_2_break
	mov____$i64,%rax %0xffffffff %0x-1
	mov____%rbp,%rsp
	pop____%rbp
	ret
	jmp32  %_remove_2_break
:_remove_2_break
					# if ((buf.st_mode & 0170000) == 0040000) ...
	mov____%rbp,%rax
	add____$i32,%rax %0x-88
	add____$i8,%rax !0x10
					# buf.st_mode
	movzlq_(%rax),%rax
	movslq_%eax,%rax
	mov____$i32,%rdi %0xf000
	and____%rdi,%rax
	mov____$i32,%rdi %0x4000
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_remove_19_break
					# rmdir(file_name)
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	call32 %rmdir
	add____$i8,%rsp !0x8
	mov____%rbp,%rsp
	pop____%rbp
	ret
	jmp32  %_remove_19_break
:_remove_19_break
					# unlink(file_name)
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	call32 %unlink
	add____$i8,%rsp !0x8
	mov____%rbp,%rsp
	pop____%rbp
	ret


:snprintf
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# va_list ap; 
					# ap = (char*)(&format + 1)
	mov____%rbp,%rax
	add____$i8,%rax !0x20
	add____$i8,%rax !0x8
	mov____%rax,0x8(%rbp) !0x-8
	movzbq_%al,%rax
	test___%rax,%rax
					# int r = vsprintf(str, format, ap); 
					# vsprintf(str, format, ap)
	mov____0x8(%rbp),%rdi !0x-8
	push___%rdi
	mov____0x8(%rbp),%rdi !0x20
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	call32 %vsprintf
	add____$i8,%rsp !0x18
	mov____%eax,0x8(%rbp) !0x-10
					# ap = 0
	mov____$i32,%rax %0x0
	mov____%rax,0x8(%rbp) !0x-8
	movzbq_%al,%rax
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x-10
	movslq_%eax,%rax
	mov____%rbp,%rsp
	pop____%rbp
	ret


:sprintf
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# va_list ap; 
					# int r; 
					# ap = (char*)(&format + 1)
	mov____%rbp,%rax
	add____$i8,%rax !0x18
	add____$i8,%rax !0x8
	mov____%rax,0x8(%rbp) !0x-8
	movzbq_%al,%rax
	test___%rax,%rax
					# r = vsprintf(str, format, ap)
					# vsprintf(str, format, ap)
	mov____0x8(%rbp),%rdi !0x-8
	push___%rdi
	mov____0x8(%rbp),%rdi !0x18
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	call32 %vsprintf
	add____$i8,%rsp !0x18
	mov____%rax,0x8(%rbp) !0x-10
	test___%rax,%rax
					# ap = 0
	mov____$i32,%rax %0x0
	mov____%rax,0x8(%rbp) !0x-8
	movzbq_%al,%rax
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x-10
	movslq_%eax,%rax
	mov____%rbp,%rsp
	pop____%rbp
	ret


:sscanf
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# va_list ap; 
					# ap = (char*)(&template + 1)
	mov____%rbp,%rax
	add____$i8,%rax !0x18
	add____$i8,%rax !0x8
	mov____%rax,0x8(%rbp) !0x-8
	movzbq_%al,%rax
	test___%rax,%rax
					# int r = vsscanf(str, template, ap); 
					# vsscanf(str, template, ap)
	mov____0x8(%rbp),%rdi !0x-8
	push___%rdi
	mov____0x8(%rbp),%rdi !0x18
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	call32 %vsscanf
	add____$i8,%rsp !0x18
	mov____%eax,0x8(%rbp) !0x-10
					# ap = 0
	mov____$i32,%rax %0x0
	mov____%rax,0x8(%rbp) !0x-8
	movzbq_%al,%rax
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x-10
	movslq_%eax,%rax
	mov____%rbp,%rsp
	pop____%rbp
	ret


:vfprintf
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# int fd = (long)f; 
	mov____0x8(%rbp),%rax !0x10
	mov____%eax,0x8(%rbp) !0x-8
					# char *p = format; 
	mov____0x8(%rbp),%rax !0x18
	mov____%rax,0x8(%rbp) !0x-10
					# int count = 0; 
	mov____$i32,%rax %0x0
	mov____%eax,0x8(%rbp) !0x-18
					# while (*p) ...
	jmp32  %_vfprintf_10_continue
:_vfprintf_10_loop
					# if (*p != '%') ...else ...
	mov____0x8(%rbp),%rax !0x-10
	movzbq_(%rax),%rax
	movsbq_%al,%rax
	mov____$i32,%rdi %0x25
	sub____%rdi,%rax
	test___%rax,%rax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_vfprintf_13_else
	mov____0x8(%rbp),%rax !0x-18
	movslq_%eax,%rax
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-18
	addl___$i8,(%rdi) !0x1
	test___%rax,%rax
					# fputc(*p++, fd)
	mov____0x8(%rbp),%rdi !0x-8
	movslq_%edi,%rdi
	push___%rdi
	mov____0x8(%rbp),%rdi !0x-10
	push___%rax
	mov____%rdi,%rax
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-10
	add____$i8,(%rdi) !0x1
	mov____%rax,%rdi
	pop____%rax
	movzbq_(%rdi),%rdi
	movsbq_%dil,%rdi
	push___%rdi
	call32 %fputc
	add____$i8,%rsp !0x10
	test___%rax,%rax
	jmp32  %_vfprintf_13_break
:_vfprintf_13_else
	mov____0x8(%rbp),%rax !0x-10
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-10
	add____$i8,(%rdi) !0x1
	test___%rax,%rax
					# char c = *p; 
	mov____0x8(%rbp),%rax !0x-10
	movzbq_(%rax),%rax
	movsbq_%al,%rax
	mov____%al,0x8(%rbp) !0x-20
					# int left_p = 0; 
	mov____$i32,%rax %0x0
	mov____%eax,0x8(%rbp) !0x-28
					# int precision = -1; 
	mov____$i64,%rax %0xffffffff %0x-1
	mov____%eax,0x8(%rbp) !0x-30
					# int width = -1; 
	mov____$i64,%rax %0xffffffff %0x-1
	mov____%eax,0x8(%rbp) !0x-38
					# if (c == '-') ...
	mov____0x8(%rbp),%rax !0x-20
	movsbq_%al,%rax
	mov____$i32,%rdi %0x2d
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_vfprintf_63_break
					# left_p = 1
	mov____$i32,%rax %0x1
	mov____%rax,0x8(%rbp) !0x-28
	test___%rax,%rax
					# c = *++p
	mov____%rbp,%rax
	add____$i8,%rax !0x-10
	add____$i8,(%rax) !0x1
	mov____0x8(%rbp),%rax !0x-10
	movzbq_(%rax),%rax
	movsbq_%al,%rax
	mov____%rax,0x8(%rbp) !0x-20
	test___%rax,%rax
	jmp32  %_vfprintf_63_break
:_vfprintf_63_break
					# char pad = ' '; 
	mov____$i32,%rax %0x20
	mov____%al,0x8(%rbp) !0x-40
					# if (c == '0') ...
	mov____0x8(%rbp),%rax !0x-20
	movsbq_%al,%rax
	mov____$i32,%rdi %0x30
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_vfprintf_88_break
					# pad = c
	mov____0x8(%rbp),%rax !0x-20
	movsbq_%al,%rax
	mov____%rax,0x8(%rbp) !0x-40
	test___%rax,%rax
					# c = *p++
	mov____0x8(%rbp),%rax !0x-10
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-10
	add____$i8,(%rdi) !0x1
	movzbq_(%rax),%rax
	movsbq_%al,%rax
	mov____%rax,0x8(%rbp) !0x-20
	test___%rax,%rax
	jmp32  %_vfprintf_88_break
:_vfprintf_88_break
					# if (c >= '0' && c <= '9') ...else ...
	mov____0x8(%rbp),%rax !0x-20
	movsbq_%al,%rax
	mov____$i32,%rdi %0x30
	sub____%rdi,%rax
	setge__%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_vfprintf_111_else
	mov____0x8(%rbp),%rax !0x-20
	movsbq_%al,%rax
	mov____$i32,%rdi %0x39
	sub____%rdi,%rax
	setle__%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_vfprintf_111_else
					# width = abtol(&p, 10)
					# abtol(&p, 10)
	mov____$i32,%rdi %0xa
	push___%rdi
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-10
	push___%rdi
	call32 %abtol
	add____$i8,%rsp !0x10
	mov____%rax,0x8(%rbp) !0x-38
	test___%rax,%rax
					# c = *p
	mov____0x8(%rbp),%rax !0x-10
	movzbq_(%rax),%rax
	movsbq_%al,%rax
	mov____%rax,0x8(%rbp) !0x-20
	test___%rax,%rax
	jmp32  %_vfprintf_111_break
:_vfprintf_111_else
					# if (c == '*') ...
	mov____0x8(%rbp),%rax !0x-20
	movsbq_%al,%rax
	mov____$i32,%rdi %0x2a
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_vfprintf_145_break
					# width = (int)(long*)(ap = ap + sizeof(void*))[-1]
	mov____$i64,%rax %0xffffffff %0x-1
	shl____$i8,%rax !0x3
					# ap = ap + sizeof(void*)
	mov____0x8(%rbp),%rdi !0x20
	push___%rax
	mov____%rdi,%rax
	mov____$i32,%rdi %0x8
	add____%rdi,%rax
	mov____%rax,%rdi
	pop____%rax
	mov____%rdi,0x8(%rbp) !0x20
	add____%rdi,%rax
	mov____(%rax),%rax
	movslq_%eax,%rax
	mov____%rax,0x8(%rbp) !0x-38
	test___%rax,%rax
					# c = *++p
	mov____%rbp,%rax
	add____$i8,%rax !0x-10
	add____$i8,(%rax) !0x1
	mov____0x8(%rbp),%rax !0x-10
	movzbq_(%rax),%rax
	movsbq_%al,%rax
	mov____%rax,0x8(%rbp) !0x-20
	test___%rax,%rax
	jmp32  %_vfprintf_145_break
:_vfprintf_145_break
:_vfprintf_111_break
					# if (c == '.') ...
	mov____0x8(%rbp),%rax !0x-20
	movsbq_%al,%rax
	mov____$i32,%rdi %0x2e
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_vfprintf_179_break
					# c = *++p
	mov____%rbp,%rax
	add____$i8,%rax !0x-10
	add____$i8,(%rax) !0x1
	mov____0x8(%rbp),%rax !0x-10
	movzbq_(%rax),%rax
	movsbq_%al,%rax
	mov____%rax,0x8(%rbp) !0x-20
	test___%rax,%rax
					# if (c >= '0' && c <= '9') ...else ...
	mov____0x8(%rbp),%rax !0x-20
	movsbq_%al,%rax
	mov____$i32,%rdi %0x30
	sub____%rdi,%rax
	setge__%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_vfprintf_195_else
	mov____0x8(%rbp),%rax !0x-20
	movsbq_%al,%rax
	mov____$i32,%rdi %0x39
	sub____%rdi,%rax
	setle__%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_vfprintf_195_else
					# precision = abtol(&p, 10)
					# abtol(&p, 10)
	mov____$i32,%rdi %0xa
	push___%rdi
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-10
	push___%rdi
	call32 %abtol
	add____$i8,%rsp !0x10
	mov____%rax,0x8(%rbp) !0x-30
	test___%rax,%rax
					# c = *p
	mov____0x8(%rbp),%rax !0x-10
	movzbq_(%rax),%rax
	movsbq_%al,%rax
	mov____%rax,0x8(%rbp) !0x-20
	test___%rax,%rax
	jmp32  %_vfprintf_195_break
:_vfprintf_195_else
					# if (c == '*') ...
	mov____0x8(%rbp),%rax !0x-20
	movsbq_%al,%rax
	mov____$i32,%rdi %0x2a
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_vfprintf_229_break
					# precision = (int)(long*)(ap = ap + sizeof(void*))[-1]
	mov____$i64,%rax %0xffffffff %0x-1
	shl____$i8,%rax !0x3
					# ap = ap + sizeof(void*)
	mov____0x8(%rbp),%rdi !0x20
	push___%rax
	mov____%rdi,%rax
	mov____$i32,%rdi %0x8
	add____%rdi,%rax
	mov____%rax,%rdi
	pop____%rax
	mov____%rdi,0x8(%rbp) !0x20
	add____%rdi,%rax
	mov____(%rax),%rax
	movslq_%eax,%rax
	mov____%rax,0x8(%rbp) !0x-30
	test___%rax,%rax
					# c = *++p
	mov____%rbp,%rax
	add____$i8,%rax !0x-10
	add____$i8,(%rax) !0x1
	mov____0x8(%rbp),%rax !0x-10
	movzbq_(%rax),%rax
	movsbq_%al,%rax
	mov____%rax,0x8(%rbp) !0x-20
	test___%rax,%rax
	jmp32  %_vfprintf_229_break
:_vfprintf_229_break
:_vfprintf_195_break
	jmp32  %_vfprintf_179_break
:_vfprintf_179_break
					# if (c == 'l') ...
	mov____0x8(%rbp),%rax !0x-20
	movsbq_%al,%rax
	mov____$i32,%rdi %0x6c
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_vfprintf_265_break
					# c = *++p
	mov____%rbp,%rax
	add____$i8,%rax !0x-10
	add____$i8,(%rax) !0x1
	mov____0x8(%rbp),%rax !0x-10
	movzbq_(%rax),%rax
	movsbq_%al,%rax
	mov____%rax,0x8(%rbp) !0x-20
	test___%rax,%rax
	jmp32  %_vfprintf_265_break
:_vfprintf_265_break
					# if (c == 'l') ...
	mov____0x8(%rbp),%rax !0x-20
	movsbq_%al,%rax
	mov____$i32,%rdi %0x6c
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_vfprintf_283_break
					# eputs("vfprintf: skipping second: l ")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_31
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# c = *++p
	mov____%rbp,%rax
	add____$i8,%rax !0x-10
	add____$i8,(%rax) !0x1
	mov____0x8(%rbp),%rax !0x-10
	movzbq_(%rax),%rax
	movsbq_%al,%rax
	mov____%rax,0x8(%rbp) !0x-20
	test___%rax,%rax
	jmp32  %_vfprintf_283_break
:_vfprintf_283_break
					# switch (c) {   ...} 
	mov____0x8(%rbp),%rax !0x-20
	movsbq_%al,%rax
:_vfprintf_305_clause0
	cmp____$i8,%rax !0x25
	je32   %_vfprintf_305_body0
	jmp32  %_vfprintf_305_clause1
:_vfprintf_305_body0
					# fputc(*p, fd)
	push___%rax
	push___%rax
	mov____%rdi,%rax
	mov____0x8(%rbp),%rdi !0x-8
	movslq_%edi,%rdi
	push___%rdi
	mov____%rax,%rdi
	pop____%rax
	xchg___%rax,(%rsp)
	push___%rax
	mov____%rdi,%rax
	mov____0x8(%rbp),%rdi !0x-10
	movzbq_(%rdi),%rdi
	movsbq_%dil,%rdi
	push___%rdi
	mov____%rax,%rdi
	pop____%rax
	xchg___%rax,(%rsp)
	call32 %fputc
	add____$i8,%rsp !0x10
	mov____%rax,%rdi
	pop____%rax
	test___%rax,%rax
	mov____0x8(%rbp),%rdi !0x-18
	movslq_%edi,%rdi
	push___%rax
	mov____%rdi,%rax
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-18
	addl___$i8,(%rdi) !0x1
	mov____%rax,%rdi
	pop____%rax
	test___%rdi,%rdi
	jmp32  %_vfprintf_305_break
:_vfprintf_305_clause1
	cmp____$i8,%rax !0x63
	je32   %_vfprintf_305_body1
	jmp32  %_vfprintf_305_clause2
:_vfprintf_305_body1
					# char _c; 
					# _c = (long)(long*)(ap = ap + sizeof(void*))[-1]
	mov____$i64,%rax %0xffffffff %0x-1
	shl____$i8,%rax !0x3
					# ap = ap + sizeof(void*)
	mov____0x8(%rbp),%rdi !0x20
	push___%rax
	mov____%rdi,%rax
	mov____$i32,%rdi %0x8
	add____%rdi,%rax
	mov____%rax,%rdi
	pop____%rax
	mov____%rdi,0x8(%rbp) !0x20
	add____%rdi,%rax
	mov____(%rax),%rax
	mov____%rax,0x8(%rbp) !0x-48
	test___%rax,%rax
					# fputc(_c, fd)
	mov____0x8(%rbp),%rdi !0x-8
	movslq_%edi,%rdi
	push___%rdi
	mov____0x8(%rbp),%rdi !0x-48
	movsbq_%dil,%rdi
	push___%rdi
	call32 %fputc
	add____$i8,%rsp !0x10
	test___%rax,%rax
	jmp32  %_vfprintf_305_break
:_vfprintf_305_clause2
	cmp____$i8,%rax !0x64
	je32   %_vfprintf_305_body2
	cmp____$i8,%rax !0x69
	je32   %_vfprintf_305_body2
	cmp____$i8,%rax !0x6f
	je32   %_vfprintf_305_body2
	cmp____$i8,%rax !0x75
	je32   %_vfprintf_305_body2
	cmp____$i8,%rax !0x78
	je32   %_vfprintf_305_body2
	cmp____$i8,%rax !0x58
	je32   %_vfprintf_305_body2
	jmp32  %_vfprintf_305_clause3
:_vfprintf_305_body2
					# long d = (long)(long*)(ap = ap + sizeof(void*))[-1]; 
	mov____$i64,%rax %0xffffffff %0x-1
	shl____$i8,%rax !0x3
					# ap = ap + sizeof(void*)
	mov____0x8(%rbp),%rdi !0x20
	push___%rax
	mov____%rdi,%rax
	mov____$i32,%rdi %0x8
	add____%rdi,%rax
	mov____%rax,%rdi
	pop____%rax
	mov____%rdi,0x8(%rbp) !0x20
	add____%rdi,%rax
	mov____(%rax),%rax
	mov____%rax,0x8(%rbp) !0x-48
					# int base = c == 'o'? 8: c == 'x' || c == 'X'? 16: 10; 
					# c == 'o'? ...: ...
	mov____0x8(%rbp),%rax !0x-20
	movsbq_%al,%rax
	mov____$i32,%rdi %0x6f
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_vfprintf_399_else
	mov____$i32,%rax %0x8
	jmp32  %_vfprintf_399_break
:_vfprintf_399_else
					# c == 'x' || c == 'X'? ...: ...
	mov____0x8(%rbp),%rax !0x-20
	movsbq_%al,%rax
	mov____$i32,%rdi %0x78
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_vfprintf_410_else_b_347
	jmp32  %_vfprintf_410_else_skip_b_347
:_vfprintf_410_else_b_347
	mov____0x8(%rbp),%rax !0x-20
	movsbq_%al,%rax
	mov____$i32,%rdi %0x58
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_vfprintf_410_else
:_vfprintf_410_else_skip_b_347
	mov____$i32,%rax %0x10
	jmp32  %_vfprintf_410_break
:_vfprintf_410_else
	mov____$i32,%rax %0xa
:_vfprintf_410_break
:_vfprintf_399_break
	mov____%eax,0x8(%rbp) !0x-50
					# char *s = ntoab(d, base, c != 'u' && c != 'x' && c != 'X'); 
					# ntoab(d, base, c != 'u' && c != 'x' && c != 'X')
	mov____0x8(%rbp),%rdi !0x-20
	movsbq_%dil,%rdi
	push___%rax
	mov____%rdi,%rax
	mov____$i32,%rdi %0x75
	sub____%rdi,%rax
	mov____%rax,%rdi
	pop____%rax
	test___%rdi,%rdi
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%dil
	movzbq_%dil,%rdi
	test___%rdi,%rdi
	je32   %_vfprintf_446_and_skip_b
	test___%rdi,%rdi
	mov____0x8(%rbp),%rdi !0x-20
	movsbq_%dil,%rdi
	push___%rax
	mov____%rdi,%rax
	mov____$i32,%rdi %0x78
	sub____%rdi,%rax
	mov____%rax,%rdi
	pop____%rax
	test___%rdi,%rdi
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%dil
	movzbq_%dil,%rdi
	test___%rdi,%rdi
:_vfprintf_446_and_skip_b
	test___%rdi,%rdi
	je32   %_vfprintf_460_and_skip_b
	test___%rdi,%rdi
	mov____0x8(%rbp),%rdi !0x-20
	movsbq_%dil,%rdi
	push___%rax
	mov____%rdi,%rax
	mov____$i32,%rdi %0x58
	sub____%rdi,%rax
	mov____%rax,%rdi
	pop____%rax
	test___%rdi,%rdi
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%dil
	movzbq_%dil,%rdi
	test___%rdi,%rdi
:_vfprintf_460_and_skip_b
	push___%rdi
	mov____0x8(%rbp),%rdi !0x-50
	movslq_%edi,%rdi
	push___%rdi
	mov____0x8(%rbp),%rdi !0x-48
	push___%rdi
	call32 %ntoab
	add____$i8,%rsp !0x18
	mov____%rax,0x8(%rbp) !0x-58
					# if (c == 'X') ...
	mov____0x8(%rbp),%rax !0x-20
	movsbq_%al,%rax
	mov____$i32,%rdi %0x58
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_vfprintf_482_break
					# strupr(s)
	mov____0x8(%rbp),%rdi !0x-58
	push___%rdi
	call32 %strupr
	add____$i8,%rsp !0x8
	test___%rax,%rax
	jmp32  %_vfprintf_482_break
:_vfprintf_482_break
					# int length = strlen(s); 
					# strlen(s)
	mov____0x8(%rbp),%rdi !0x-58
	push___%rdi
	call32 %strlen
	add____$i8,%rsp !0x8
	mov____%eax,0x8(%rbp) !0x-60
					# if (precision == -1) ...
	mov____0x8(%rbp),%rax !0x-30
	movslq_%eax,%rax
	mov____$i64,%rdi %0xffffffff %0x-1
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_vfprintf_503_break
					# precision = length
	mov____0x8(%rbp),%rax !0x-60
	movslq_%eax,%rax
	mov____%rax,0x8(%rbp) !0x-30
	test___%rax,%rax
	jmp32  %_vfprintf_503_break
:_vfprintf_503_break
					# if (!left_p) ...
	mov____0x8(%rbp),%rax !0x-28
	movslq_%eax,%rax
	test___%rax,%rax
	sete___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_vfprintf_518_break
					# while (width-- > precision) ...
	jmp32  %_vfprintf_526_continue
:_vfprintf_526_loop
					# fputc(pad, f)
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	mov____0x8(%rbp),%rdi !0x-40
	movsbq_%dil,%rdi
	push___%rdi
	call32 %fputc
	add____$i8,%rsp !0x10
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x-18
	movslq_%eax,%rax
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-18
	addl___$i8,(%rdi) !0x1
	test___%rax,%rax
:_vfprintf_526_continue
	mov____0x8(%rbp),%rax !0x-38
	movslq_%eax,%rax
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-38
	addl___$i8,(%rdi) !0x-1
	mov____0x8(%rbp),%rdi !0x-30
	movslq_%edi,%rdi
	sub____%rdi,%rax
	setg___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_vfprintf_526_break
	jmp32  %_vfprintf_526_loop
:_vfprintf_526_break
					# while (precision > length) ...
	jmp32  %_vfprintf_556_continue
:_vfprintf_556_loop
					# fputc('0', f)
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	mov____$i32,%rdi %0x30
	push___%rdi
	call32 %fputc
	add____$i8,%rsp !0x10
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x-30
	movslq_%eax,%rax
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-30
	addl___$i8,(%rdi) !0x-1
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x-38
	movslq_%eax,%rax
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-38
	addl___$i8,(%rdi) !0x-1
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x-18
	movslq_%eax,%rax
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-18
	addl___$i8,(%rdi) !0x1
	test___%rax,%rax
:_vfprintf_556_continue
	mov____0x8(%rbp),%rax !0x-30
	movslq_%eax,%rax
	mov____0x8(%rbp),%rdi !0x-60
	movslq_%edi,%rdi
	sub____%rdi,%rax
	setg___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_vfprintf_556_break
	jmp32  %_vfprintf_556_loop
:_vfprintf_556_break
	jmp32  %_vfprintf_518_break
:_vfprintf_518_break
					# while (*s) ...
	jmp32  %_vfprintf_595_continue
:_vfprintf_595_loop
					# if (precision-- <= 0) ...
	mov____0x8(%rbp),%rax !0x-30
	movslq_%eax,%rax
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-30
	addl___$i8,(%rdi) !0x-1
	mov____$i32,%rdi %0x0
	sub____%rdi,%rax
	setle__%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_vfprintf_598_break
	jmp32  %_vfprintf_595_break
	jmp32  %_vfprintf_598_break
:_vfprintf_598_break
	mov____0x8(%rbp),%rax !0x-38
	movslq_%eax,%rax
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-38
	addl___$i8,(%rdi) !0x-1
	test___%rax,%rax
					# fputc(*s++, f)
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	mov____0x8(%rbp),%rdi !0x-58
	push___%rax
	mov____%rdi,%rax
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-58
	add____$i8,(%rdi) !0x1
	mov____%rax,%rdi
	pop____%rax
	movzbq_(%rdi),%rdi
	movsbq_%dil,%rdi
	push___%rdi
	call32 %fputc
	add____$i8,%rsp !0x10
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x-18
	movslq_%eax,%rax
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-18
	addl___$i8,(%rdi) !0x1
	test___%rax,%rax
:_vfprintf_595_continue
	mov____0x8(%rbp),%rax !0x-58
	movzbq_(%rax),%rax
	movsbq_%al,%rax
					# jmp test LABEL
	test___%rax,%rax
	test___%al,%al
	je32   %_vfprintf_595_break
	jmp32  %_vfprintf_595_loop
:_vfprintf_595_break
					# while (width > 0) ...
	jmp32  %_vfprintf_644_continue
:_vfprintf_644_loop
	mov____0x8(%rbp),%rax !0x-38
	movslq_%eax,%rax
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-38
	addl___$i8,(%rdi) !0x-1
	test___%rax,%rax
					# fputc(pad, f)
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	mov____0x8(%rbp),%rdi !0x-40
	movsbq_%dil,%rdi
	push___%rdi
	call32 %fputc
	add____$i8,%rsp !0x10
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x-18
	movslq_%eax,%rax
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-18
	addl___$i8,(%rdi) !0x1
	test___%rax,%rax
:_vfprintf_644_continue
	mov____0x8(%rbp),%rax !0x-38
	movslq_%eax,%rax
	mov____$i32,%rdi %0x0
	sub____%rdi,%rax
	setg___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_vfprintf_644_break
	jmp32  %_vfprintf_644_loop
:_vfprintf_644_break
	jmp32  %_vfprintf_305_break
:_vfprintf_305_clause3
	cmp____$i8,%rax !0x73
	je32   %_vfprintf_305_body3
	jmp32  %_vfprintf_305_clause4
:_vfprintf_305_body3
					# char *s = (char*)(long*)(ap = ap + sizeof(void*))[-1]; 
	mov____$i64,%rax %0xffffffff %0x-1
	shl____$i8,%rax !0x3
					# ap = ap + sizeof(void*)
	mov____0x8(%rbp),%rdi !0x20
	push___%rax
	mov____%rdi,%rax
	mov____$i32,%rdi %0x8
	add____%rdi,%rax
	mov____%rax,%rdi
	pop____%rax
	mov____%rdi,0x8(%rbp) !0x20
	add____%rdi,%rax
	mov____(%rax),%rax
	mov____%rax,0x8(%rbp) !0x-48
					# int length = strlen(s); 
					# strlen(s)
	mov____0x8(%rbp),%rdi !0x-48
	push___%rdi
	call32 %strlen
	add____$i8,%rsp !0x8
	mov____%eax,0x8(%rbp) !0x-50
					# if (precision == -1) ...
	mov____0x8(%rbp),%rax !0x-30
	movslq_%eax,%rax
	mov____$i64,%rdi %0xffffffff %0x-1
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_vfprintf_701_break
					# precision = length
	mov____0x8(%rbp),%rax !0x-50
	movslq_%eax,%rax
	mov____%rax,0x8(%rbp) !0x-30
	test___%rax,%rax
	jmp32  %_vfprintf_701_break
:_vfprintf_701_break
					# if (!left_p) ...
	mov____0x8(%rbp),%rax !0x-28
	movslq_%eax,%rax
	test___%rax,%rax
	sete___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_vfprintf_716_break
					# while (width-- > precision) ...
	jmp32  %_vfprintf_724_continue
:_vfprintf_724_loop
					# fputc(pad, f)
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	mov____0x8(%rbp),%rdi !0x-40
	movsbq_%dil,%rdi
	push___%rdi
	call32 %fputc
	add____$i8,%rsp !0x10
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x-18
	movslq_%eax,%rax
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-18
	addl___$i8,(%rdi) !0x1
	test___%rax,%rax
:_vfprintf_724_continue
	mov____0x8(%rbp),%rax !0x-38
	movslq_%eax,%rax
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-38
	addl___$i8,(%rdi) !0x-1
	mov____0x8(%rbp),%rdi !0x-30
	movslq_%edi,%rdi
	sub____%rdi,%rax
	setg___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_vfprintf_724_break
	jmp32  %_vfprintf_724_loop
:_vfprintf_724_break
					# while (precision > length) ...
	jmp32  %_vfprintf_754_continue
:_vfprintf_754_loop
					# fputc(' ', f)
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	mov____$i32,%rdi %0x20
	push___%rdi
	call32 %fputc
	add____$i8,%rsp !0x10
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x-30
	movslq_%eax,%rax
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-30
	addl___$i8,(%rdi) !0x-1
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x-38
	movslq_%eax,%rax
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-38
	addl___$i8,(%rdi) !0x-1
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x-18
	movslq_%eax,%rax
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-18
	addl___$i8,(%rdi) !0x1
	test___%rax,%rax
:_vfprintf_754_continue
	mov____0x8(%rbp),%rax !0x-30
	movslq_%eax,%rax
	mov____0x8(%rbp),%rdi !0x-50
	movslq_%edi,%rdi
	sub____%rdi,%rax
	setg___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_vfprintf_754_break
	jmp32  %_vfprintf_754_loop
:_vfprintf_754_break
	jmp32  %_vfprintf_716_break
:_vfprintf_716_break
					# while (*s) ...
	jmp32  %_vfprintf_793_continue
:_vfprintf_793_loop
					# if (precision-- <= 0) ...
	mov____0x8(%rbp),%rax !0x-30
	movslq_%eax,%rax
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-30
	addl___$i8,(%rdi) !0x-1
	mov____$i32,%rdi %0x0
	sub____%rdi,%rax
	setle__%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_vfprintf_796_break
	jmp32  %_vfprintf_793_break
	jmp32  %_vfprintf_796_break
:_vfprintf_796_break
	mov____0x8(%rbp),%rax !0x-38
	movslq_%eax,%rax
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-38
	addl___$i8,(%rdi) !0x-1
	test___%rax,%rax
					# fputc(*s++, f)
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	mov____0x8(%rbp),%rdi !0x-48
	push___%rax
	mov____%rdi,%rax
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-48
	add____$i8,(%rdi) !0x1
	mov____%rax,%rdi
	pop____%rax
	movzbq_(%rdi),%rdi
	movsbq_%dil,%rdi
	push___%rdi
	call32 %fputc
	add____$i8,%rsp !0x10
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x-18
	movslq_%eax,%rax
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-18
	addl___$i8,(%rdi) !0x1
	test___%rax,%rax
:_vfprintf_793_continue
	mov____0x8(%rbp),%rax !0x-48
	movzbq_(%rax),%rax
	movsbq_%al,%rax
					# jmp test LABEL
	test___%rax,%rax
	test___%al,%al
	je32   %_vfprintf_793_break
	jmp32  %_vfprintf_793_loop
:_vfprintf_793_break
					# while (width > 0) ...
	jmp32  %_vfprintf_842_continue
:_vfprintf_842_loop
	mov____0x8(%rbp),%rax !0x-38
	movslq_%eax,%rax
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-38
	addl___$i8,(%rdi) !0x-1
	test___%rax,%rax
					# fputc(pad, f)
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	mov____0x8(%rbp),%rdi !0x-40
	movsbq_%dil,%rdi
	push___%rdi
	call32 %fputc
	add____$i8,%rsp !0x10
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x-18
	movslq_%eax,%rax
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-18
	addl___$i8,(%rdi) !0x1
	test___%rax,%rax
:_vfprintf_842_continue
	mov____0x8(%rbp),%rax !0x-38
	movslq_%eax,%rax
	mov____$i32,%rdi %0x0
	sub____%rdi,%rax
	setg___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_vfprintf_842_break
	jmp32  %_vfprintf_842_loop
:_vfprintf_842_break
	jmp32  %_vfprintf_305_break
:_vfprintf_305_clause4
	cmp____$i8,%rax !0x6e
	je32   %_vfprintf_305_body4
	jmp32  %_vfprintf_305_clause5
:_vfprintf_305_body4
					# int *n = (int*)(long*)(ap = ap + sizeof(void*))[-1]; 
	mov____$i64,%rax %0xffffffff %0x-1
	shl____$i8,%rax !0x3
					# ap = ap + sizeof(void*)
	mov____0x8(%rbp),%rdi !0x20
	push___%rax
	mov____%rdi,%rax
	mov____$i32,%rdi %0x8
	add____%rdi,%rax
	mov____%rax,%rdi
	pop____%rax
	mov____%rdi,0x8(%rbp) !0x20
	add____%rdi,%rax
	mov____(%rax),%rax
	mov____%rax,0x8(%rbp) !0x-48
					# *n = count
	mov____0x8(%rbp),%rax !0x-18
	movslq_%eax,%rax
	mov____0x8(%rbp),%rdi !0x-48
	mov____%eax,(%rdi)
	test___%rax,%rax
	jmp32  %_vfprintf_305_break
:_vfprintf_305_clause5
:_vfprintf_305_default
:_vfprintf_305_body5
					# eputs("vfprintf: not supported: %:")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_32
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputc(c)
	mov____0x8(%rbp),%rdi !0x-20
	movsbq_%dil,%rdi
	push___%rdi
	call32 %eputc
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputs(" ")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_0
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x-10
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-10
	add____$i8,(%rdi) !0x1
	test___%rax,%rax
	jmp32  %_vfprintf_305_break
:_vfprintf_305_clause6
	jmp32  %_vfprintf_305_default
:_vfprintf_305_break
	mov____0x8(%rbp),%rax !0x-10
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-10
	add____$i8,(%rdi) !0x1
	test___%rax,%rax
:_vfprintf_13_break
:_vfprintf_10_continue
	mov____0x8(%rbp),%rax !0x-10
	movzbq_(%rax),%rax
	movsbq_%al,%rax
					# jmp test LABEL
	test___%rax,%rax
	test___%al,%al
	je32   %_vfprintf_10_break
	jmp32  %_vfprintf_10_loop
:_vfprintf_10_break
					# ap = 0
	mov____$i32,%rax %0x0
	mov____%rax,0x8(%rbp) !0x20
	movzbq_%al,%rax
	test___%rax,%rax
	mov____$i32,%rax %0x0
	mov____%rbp,%rsp
	pop____%rbp
	ret


:vprintf
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# vfprintf(1, format, ap)
	mov____0x8(%rbp),%rdi !0x18
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	mov____$i32,%rdi %0x1
	push___%rdi
	call32 %vfprintf
	add____$i8,%rsp !0x18
	mov____%rbp,%rsp
	pop____%rbp
	ret


:vsnprintf
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# vsprintf(str, format, ap)
	mov____0x8(%rbp),%rdi !0x28
	push___%rdi
	mov____0x8(%rbp),%rdi !0x20
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	call32 %vsprintf
	add____$i8,%rsp !0x18
	mov____%rbp,%rsp
	pop____%rbp
	ret


:vsprintf
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# char *p = format; 
	mov____0x8(%rbp),%rax !0x18
	mov____%rax,0x8(%rbp) !0x-8
					# int count = 0; 
	mov____$i32,%rax %0x0
	mov____%eax,0x8(%rbp) !0x-10
					# while (*p) ...
	jmp32  %_vsprintf_7_continue
:_vsprintf_7_loop
					# if (*p != '%') ...else ...
	mov____0x8(%rbp),%rax !0x-8
	movzbq_(%rax),%rax
	movsbq_%al,%rax
	mov____$i32,%rdi %0x25
	sub____%rdi,%rax
	test___%rax,%rax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_vsprintf_10_else
					# *str = *p++
	mov____0x8(%rbp),%rax !0x-8
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-8
	add____$i8,(%rdi) !0x1
	movzbq_(%rax),%rax
	movsbq_%al,%rax
	mov____0x8(%rbp),%rdi !0x10
	mov____%al,(%rdi)
	add____$i8,0x8(%rbp) !0x10 !0x1
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x-10
	movslq_%eax,%rax
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-10
	addl___$i8,(%rdi) !0x1
	test___%rax,%rax
	jmp32  %_vsprintf_10_break
:_vsprintf_10_else
	mov____0x8(%rbp),%rax !0x-8
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-8
	add____$i8,(%rdi) !0x1
	test___%rax,%rax
					# char c = *p; 
	mov____0x8(%rbp),%rax !0x-8
	movzbq_(%rax),%rax
	movsbq_%al,%rax
	mov____%al,0x8(%rbp) !0x-18
					# int left_p = 0; 
	mov____$i32,%rax %0x0
	mov____%eax,0x8(%rbp) !0x-20
					# int precision = -1; 
	mov____$i64,%rax %0xffffffff %0x-1
	mov____%eax,0x8(%rbp) !0x-28
					# int width = -1; 
	mov____$i64,%rax %0xffffffff %0x-1
	mov____%eax,0x8(%rbp) !0x-30
					# if (c == '-') ...
	mov____0x8(%rbp),%rax !0x-18
	movsbq_%al,%rax
	mov____$i32,%rdi %0x2d
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_vsprintf_56_break
					# left_p = 1
	mov____$i32,%rax %0x1
	mov____%rax,0x8(%rbp) !0x-20
	test___%rax,%rax
					# c = *++p
	mov____%rbp,%rax
	add____$i8,%rax !0x-8
	add____$i8,(%rax) !0x1
	mov____0x8(%rbp),%rax !0x-8
	movzbq_(%rax),%rax
	movsbq_%al,%rax
	mov____%rax,0x8(%rbp) !0x-18
	test___%rax,%rax
	jmp32  %_vsprintf_56_break
:_vsprintf_56_break
					# char pad = ' '; 
	mov____$i32,%rax %0x20
	mov____%al,0x8(%rbp) !0x-38
					# if (c == '0') ...
	mov____0x8(%rbp),%rax !0x-18
	movsbq_%al,%rax
	mov____$i32,%rdi %0x30
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_vsprintf_81_break
					# pad = c
	mov____0x8(%rbp),%rax !0x-18
	movsbq_%al,%rax
	mov____%rax,0x8(%rbp) !0x-38
	test___%rax,%rax
					# c = *p++
	mov____0x8(%rbp),%rax !0x-8
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-8
	add____$i8,(%rdi) !0x1
	movzbq_(%rax),%rax
	movsbq_%al,%rax
	mov____%rax,0x8(%rbp) !0x-18
	test___%rax,%rax
	jmp32  %_vsprintf_81_break
:_vsprintf_81_break
					# if (c >= '0' && c <= '9') ...else ...
	mov____0x8(%rbp),%rax !0x-18
	movsbq_%al,%rax
	mov____$i32,%rdi %0x30
	sub____%rdi,%rax
	setge__%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_vsprintf_104_else
	mov____0x8(%rbp),%rax !0x-18
	movsbq_%al,%rax
	mov____$i32,%rdi %0x39
	sub____%rdi,%rax
	setle__%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_vsprintf_104_else
					# width = abtol(&p, 10)
					# abtol(&p, 10)
	mov____$i32,%rdi %0xa
	push___%rdi
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-8
	push___%rdi
	call32 %abtol
	add____$i8,%rsp !0x10
	mov____%rax,0x8(%rbp) !0x-30
	test___%rax,%rax
					# c = *p
	mov____0x8(%rbp),%rax !0x-8
	movzbq_(%rax),%rax
	movsbq_%al,%rax
	mov____%rax,0x8(%rbp) !0x-18
	test___%rax,%rax
	jmp32  %_vsprintf_104_break
:_vsprintf_104_else
					# if (c == '*') ...
	mov____0x8(%rbp),%rax !0x-18
	movsbq_%al,%rax
	mov____$i32,%rdi %0x2a
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_vsprintf_138_break
					# width = (long)(long*)(ap = ap + sizeof(void*))[-1]
	mov____$i64,%rax %0xffffffff %0x-1
	shl____$i8,%rax !0x3
					# ap = ap + sizeof(void*)
	mov____0x8(%rbp),%rdi !0x20
	push___%rax
	mov____%rdi,%rax
	mov____$i32,%rdi %0x8
	add____%rdi,%rax
	mov____%rax,%rdi
	pop____%rax
	mov____%rdi,0x8(%rbp) !0x20
	add____%rdi,%rax
	mov____(%rax),%rax
	mov____%rax,0x8(%rbp) !0x-30
	test___%rax,%rax
					# c = *++p
	mov____%rbp,%rax
	add____$i8,%rax !0x-8
	add____$i8,(%rax) !0x1
	mov____0x8(%rbp),%rax !0x-8
	movzbq_(%rax),%rax
	movsbq_%al,%rax
	mov____%rax,0x8(%rbp) !0x-18
	test___%rax,%rax
	jmp32  %_vsprintf_138_break
:_vsprintf_138_break
:_vsprintf_104_break
					# if (c == '.') ...
	mov____0x8(%rbp),%rax !0x-18
	movsbq_%al,%rax
	mov____$i32,%rdi %0x2e
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_vsprintf_171_break
					# c = *++p
	mov____%rbp,%rax
	add____$i8,%rax !0x-8
	add____$i8,(%rax) !0x1
	mov____0x8(%rbp),%rax !0x-8
	movzbq_(%rax),%rax
	movsbq_%al,%rax
	mov____%rax,0x8(%rbp) !0x-18
	test___%rax,%rax
					# if (c >= '0' && c <= '9') ...else ...
	mov____0x8(%rbp),%rax !0x-18
	movsbq_%al,%rax
	mov____$i32,%rdi %0x30
	sub____%rdi,%rax
	setge__%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_vsprintf_187_else
	mov____0x8(%rbp),%rax !0x-18
	movsbq_%al,%rax
	mov____$i32,%rdi %0x39
	sub____%rdi,%rax
	setle__%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_vsprintf_187_else
					# precision = abtol(&p, 10)
					# abtol(&p, 10)
	mov____$i32,%rdi %0xa
	push___%rdi
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-8
	push___%rdi
	call32 %abtol
	add____$i8,%rsp !0x10
	mov____%rax,0x8(%rbp) !0x-28
	test___%rax,%rax
					# c = *p
	mov____0x8(%rbp),%rax !0x-8
	movzbq_(%rax),%rax
	movsbq_%al,%rax
	mov____%rax,0x8(%rbp) !0x-18
	test___%rax,%rax
	jmp32  %_vsprintf_187_break
:_vsprintf_187_else
					# if (c == '*') ...
	mov____0x8(%rbp),%rax !0x-18
	movsbq_%al,%rax
	mov____$i32,%rdi %0x2a
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_vsprintf_221_break
					# precision = (long)(long*)(ap = ap + sizeof(void*))[-1]
	mov____$i64,%rax %0xffffffff %0x-1
	shl____$i8,%rax !0x3
					# ap = ap + sizeof(void*)
	mov____0x8(%rbp),%rdi !0x20
	push___%rax
	mov____%rdi,%rax
	mov____$i32,%rdi %0x8
	add____%rdi,%rax
	mov____%rax,%rdi
	pop____%rax
	mov____%rdi,0x8(%rbp) !0x20
	add____%rdi,%rax
	mov____(%rax),%rax
	mov____%rax,0x8(%rbp) !0x-28
	test___%rax,%rax
					# c = *++p
	mov____%rbp,%rax
	add____$i8,%rax !0x-8
	add____$i8,(%rax) !0x1
	mov____0x8(%rbp),%rax !0x-8
	movzbq_(%rax),%rax
	movsbq_%al,%rax
	mov____%rax,0x8(%rbp) !0x-18
	test___%rax,%rax
	jmp32  %_vsprintf_221_break
:_vsprintf_221_break
:_vsprintf_187_break
	jmp32  %_vsprintf_171_break
:_vsprintf_171_break
					# if (c == 'l') ...
	mov____0x8(%rbp),%rax !0x-18
	movsbq_%al,%rax
	mov____$i32,%rdi %0x6c
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_vsprintf_256_break
					# c = *++p
	mov____%rbp,%rax
	add____$i8,%rax !0x-8
	add____$i8,(%rax) !0x1
	mov____0x8(%rbp),%rax !0x-8
	movzbq_(%rax),%rax
	movsbq_%al,%rax
	mov____%rax,0x8(%rbp) !0x-18
	test___%rax,%rax
	jmp32  %_vsprintf_256_break
:_vsprintf_256_break
					# if (c == 'l') ...
	mov____0x8(%rbp),%rax !0x-18
	movsbq_%al,%rax
	mov____$i32,%rdi %0x6c
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_vsprintf_274_break
					# c = *++p
	mov____%rbp,%rax
	add____$i8,%rax !0x-8
	add____$i8,(%rax) !0x1
	mov____0x8(%rbp),%rax !0x-8
	movzbq_(%rax),%rax
	movsbq_%al,%rax
	mov____%rax,0x8(%rbp) !0x-18
	test___%rax,%rax
	jmp32  %_vsprintf_274_break
:_vsprintf_274_break
					# if (c == 'l') ...
	mov____0x8(%rbp),%rax !0x-18
	movsbq_%al,%rax
	mov____$i32,%rdi %0x6c
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_vsprintf_292_break
					# eputs("vfprintf: skipping second: l ")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_31
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# c = *++p
	mov____%rbp,%rax
	add____$i8,%rax !0x-8
	add____$i8,(%rax) !0x1
	mov____0x8(%rbp),%rax !0x-8
	movzbq_(%rax),%rax
	movsbq_%al,%rax
	mov____%rax,0x8(%rbp) !0x-18
	test___%rax,%rax
	jmp32  %_vsprintf_292_break
:_vsprintf_292_break
					# switch (c) {   ...} 
	mov____0x8(%rbp),%rax !0x-18
	movsbq_%al,%rax
:_vsprintf_314_clause0
	cmp____$i8,%rax !0x25
	je32   %_vsprintf_314_body0
	jmp32  %_vsprintf_314_clause1
:_vsprintf_314_body0
					# *str = *p
	mov____0x8(%rbp),%rdi !0x-8
	movzbq_(%rdi),%rdi
	movsbq_%dil,%rdi
	push___%rax
	mov____%rdi,%rax
	mov____0x8(%rbp),%rdi !0x10
	mov____%al,(%rdi)
	mov____%rax,%rdi
	pop____%rax
	add____$i8,0x8(%rbp) !0x10 !0x1
	test___%rdi,%rdi
	mov____0x8(%rbp),%rax !0x-10
	movslq_%eax,%rax
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-10
	addl___$i8,(%rdi) !0x1
	test___%rax,%rax
	jmp32  %_vsprintf_314_break
:_vsprintf_314_clause1
	cmp____$i8,%rax !0x63
	je32   %_vsprintf_314_body1
	jmp32  %_vsprintf_314_clause2
:_vsprintf_314_body1
					# c = (long)(long*)(ap = ap + sizeof(void*))[-1]
	mov____$i64,%rax %0xffffffff %0x-1
	shl____$i8,%rax !0x3
					# ap = ap + sizeof(void*)
	mov____0x8(%rbp),%rdi !0x20
	push___%rax
	mov____%rdi,%rax
	mov____$i32,%rdi %0x8
	add____%rdi,%rax
	mov____%rax,%rdi
	pop____%rax
	mov____%rdi,0x8(%rbp) !0x20
	add____%rdi,%rax
	mov____(%rax),%rax
	mov____%rax,0x8(%rbp) !0x-18
	test___%rax,%rax
					# *str = c
	mov____0x8(%rbp),%rax !0x-18
	movsbq_%al,%rax
	mov____0x8(%rbp),%rdi !0x10
	mov____%al,(%rdi)
	add____$i8,0x8(%rbp) !0x10 !0x1
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x-10
	movslq_%eax,%rax
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-10
	addl___$i8,(%rdi) !0x1
	test___%rax,%rax
	jmp32  %_vsprintf_314_break
:_vsprintf_314_clause2
	cmp____$i8,%rax !0x64
	je32   %_vsprintf_314_body2
	cmp____$i8,%rax !0x69
	je32   %_vsprintf_314_body2
	cmp____$i8,%rax !0x6f
	je32   %_vsprintf_314_body2
	cmp____$i8,%rax !0x75
	je32   %_vsprintf_314_body2
	cmp____$i8,%rax !0x78
	je32   %_vsprintf_314_body2
	cmp____$i8,%rax !0x58
	je32   %_vsprintf_314_body2
	jmp32  %_vsprintf_314_clause3
:_vsprintf_314_body2
					# long d = (long)(long*)(ap = ap + sizeof(void*))[-1]; 
	mov____$i64,%rax %0xffffffff %0x-1
	shl____$i8,%rax !0x3
					# ap = ap + sizeof(void*)
	mov____0x8(%rbp),%rdi !0x20
	push___%rax
	mov____%rdi,%rax
	mov____$i32,%rdi %0x8
	add____%rdi,%rax
	mov____%rax,%rdi
	pop____%rax
	mov____%rdi,0x8(%rbp) !0x20
	add____%rdi,%rax
	mov____(%rax),%rax
	mov____%rax,0x8(%rbp) !0x-40
					# int base = c == 'o'? 8: c == 'x' || c == 'X'? 16: 10; 
					# c == 'o'? ...: ...
	mov____0x8(%rbp),%rax !0x-18
	movsbq_%al,%rax
	mov____$i32,%rdi %0x6f
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_vsprintf_399_else
	mov____$i32,%rax %0x8
	jmp32  %_vsprintf_399_break
:_vsprintf_399_else
					# c == 'x' || c == 'X'? ...: ...
	mov____0x8(%rbp),%rax !0x-18
	movsbq_%al,%rax
	mov____$i32,%rdi %0x78
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_vsprintf_410_else_b_346
	jmp32  %_vsprintf_410_else_skip_b_346
:_vsprintf_410_else_b_346
	mov____0x8(%rbp),%rax !0x-18
	movsbq_%al,%rax
	mov____$i32,%rdi %0x58
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_vsprintf_410_else
:_vsprintf_410_else_skip_b_346
	mov____$i32,%rax %0x10
	jmp32  %_vsprintf_410_break
:_vsprintf_410_else
	mov____$i32,%rax %0xa
:_vsprintf_410_break
:_vsprintf_399_break
	mov____%eax,0x8(%rbp) !0x-48
					# char *s = ntoab(d, base, c != 'u' && c != 'x' && c != 'X'); 
					# ntoab(d, base, c != 'u' && c != 'x' && c != 'X')
	mov____0x8(%rbp),%rdi !0x-18
	movsbq_%dil,%rdi
	push___%rax
	mov____%rdi,%rax
	mov____$i32,%rdi %0x75
	sub____%rdi,%rax
	mov____%rax,%rdi
	pop____%rax
	test___%rdi,%rdi
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%dil
	movzbq_%dil,%rdi
	test___%rdi,%rdi
	je32   %_vsprintf_446_and_skip_b
	test___%rdi,%rdi
	mov____0x8(%rbp),%rdi !0x-18
	movsbq_%dil,%rdi
	push___%rax
	mov____%rdi,%rax
	mov____$i32,%rdi %0x78
	sub____%rdi,%rax
	mov____%rax,%rdi
	pop____%rax
	test___%rdi,%rdi
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%dil
	movzbq_%dil,%rdi
	test___%rdi,%rdi
:_vsprintf_446_and_skip_b
	test___%rdi,%rdi
	je32   %_vsprintf_460_and_skip_b
	test___%rdi,%rdi
	mov____0x8(%rbp),%rdi !0x-18
	movsbq_%dil,%rdi
	push___%rax
	mov____%rdi,%rax
	mov____$i32,%rdi %0x58
	sub____%rdi,%rax
	mov____%rax,%rdi
	pop____%rax
	test___%rdi,%rdi
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%dil
	movzbq_%dil,%rdi
	test___%rdi,%rdi
:_vsprintf_460_and_skip_b
	push___%rdi
	mov____0x8(%rbp),%rdi !0x-48
	movslq_%edi,%rdi
	push___%rdi
	mov____0x8(%rbp),%rdi !0x-40
	push___%rdi
	call32 %ntoab
	add____$i8,%rsp !0x18
	mov____%rax,0x8(%rbp) !0x-50
					# if (c == 'X') ...
	mov____0x8(%rbp),%rax !0x-18
	movsbq_%al,%rax
	mov____$i32,%rdi %0x58
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_vsprintf_482_break
					# strupr(s)
	mov____0x8(%rbp),%rdi !0x-50
	push___%rdi
	call32 %strupr
	add____$i8,%rsp !0x8
	test___%rax,%rax
	jmp32  %_vsprintf_482_break
:_vsprintf_482_break
					# int length = strlen(s); 
					# strlen(s)
	mov____0x8(%rbp),%rdi !0x-50
	push___%rdi
	call32 %strlen
	add____$i8,%rsp !0x8
	mov____%eax,0x8(%rbp) !0x-58
					# if (precision == -1) ...
	mov____0x8(%rbp),%rax !0x-28
	movslq_%eax,%rax
	mov____$i64,%rdi %0xffffffff %0x-1
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_vsprintf_503_break
					# precision = length
	mov____0x8(%rbp),%rax !0x-58
	movslq_%eax,%rax
	mov____%rax,0x8(%rbp) !0x-28
	test___%rax,%rax
	jmp32  %_vsprintf_503_break
:_vsprintf_503_break
					# if (!left_p) ...
	mov____0x8(%rbp),%rax !0x-20
	movslq_%eax,%rax
	test___%rax,%rax
	sete___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_vsprintf_518_break
					# while (width-- > precision) ...
	jmp32  %_vsprintf_526_continue
:_vsprintf_526_loop
					# *str = pad
	mov____0x8(%rbp),%rax !0x-38
	movsbq_%al,%rax
	mov____0x8(%rbp),%rdi !0x10
	mov____%al,(%rdi)
	add____$i8,0x8(%rbp) !0x10 !0x1
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x-10
	movslq_%eax,%rax
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-10
	addl___$i8,(%rdi) !0x1
	test___%rax,%rax
:_vsprintf_526_continue
	mov____0x8(%rbp),%rax !0x-30
	movslq_%eax,%rax
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-30
	addl___$i8,(%rdi) !0x-1
	mov____0x8(%rbp),%rdi !0x-28
	movslq_%edi,%rdi
	sub____%rdi,%rax
	setg___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_vsprintf_526_break
	jmp32  %_vsprintf_526_loop
:_vsprintf_526_break
					# while (precision > length) ...
	jmp32  %_vsprintf_555_continue
:_vsprintf_555_loop
					# *str = '0'
	mov____$i32,%rax %0x30
	mov____0x8(%rbp),%rdi !0x10
	mov____%al,(%rdi)
	add____$i8,0x8(%rbp) !0x10 !0x1
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x-28
	movslq_%eax,%rax
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-28
	addl___$i8,(%rdi) !0x-1
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x-30
	movslq_%eax,%rax
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-30
	addl___$i8,(%rdi) !0x-1
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x-10
	movslq_%eax,%rax
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-10
	addl___$i8,(%rdi) !0x1
	test___%rax,%rax
:_vsprintf_555_continue
	mov____0x8(%rbp),%rax !0x-28
	movslq_%eax,%rax
	mov____0x8(%rbp),%rdi !0x-58
	movslq_%edi,%rdi
	sub____%rdi,%rax
	setg___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_vsprintf_555_break
	jmp32  %_vsprintf_555_loop
:_vsprintf_555_break
	jmp32  %_vsprintf_518_break
:_vsprintf_518_break
					# while (*s) ...
	jmp32  %_vsprintf_593_continue
:_vsprintf_593_loop
					# if (precision-- <= 0) ...
	mov____0x8(%rbp),%rax !0x-28
	movslq_%eax,%rax
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-28
	addl___$i8,(%rdi) !0x-1
	mov____$i32,%rdi %0x0
	sub____%rdi,%rax
	setle__%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_vsprintf_596_break
	jmp32  %_vsprintf_593_break
	jmp32  %_vsprintf_596_break
:_vsprintf_596_break
	mov____0x8(%rbp),%rax !0x-30
	movslq_%eax,%rax
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-30
	addl___$i8,(%rdi) !0x-1
	test___%rax,%rax
					# *str = *s++
	mov____0x8(%rbp),%rax !0x-50
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-50
	add____$i8,(%rdi) !0x1
	movzbq_(%rax),%rax
	movsbq_%al,%rax
	mov____0x8(%rbp),%rdi !0x10
	mov____%al,(%rdi)
	add____$i8,0x8(%rbp) !0x10 !0x1
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x-10
	movslq_%eax,%rax
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-10
	addl___$i8,(%rdi) !0x1
	test___%rax,%rax
:_vsprintf_593_continue
	mov____0x8(%rbp),%rax !0x-50
	movzbq_(%rax),%rax
	movsbq_%al,%rax
					# jmp test LABEL
	test___%rax,%rax
	test___%al,%al
	je32   %_vsprintf_593_break
	jmp32  %_vsprintf_593_loop
:_vsprintf_593_break
					# while (width > 0) ...
	jmp32  %_vsprintf_639_continue
:_vsprintf_639_loop
	mov____0x8(%rbp),%rax !0x-30
	movslq_%eax,%rax
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-30
	addl___$i8,(%rdi) !0x-1
	test___%rax,%rax
					# *str = pad
	mov____0x8(%rbp),%rax !0x-38
	movsbq_%al,%rax
	mov____0x8(%rbp),%rdi !0x10
	mov____%al,(%rdi)
	add____$i8,0x8(%rbp) !0x10 !0x1
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x-10
	movslq_%eax,%rax
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-10
	addl___$i8,(%rdi) !0x1
	test___%rax,%rax
:_vsprintf_639_continue
	mov____0x8(%rbp),%rax !0x-30
	movslq_%eax,%rax
	mov____$i32,%rdi %0x0
	sub____%rdi,%rax
	setg___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_vsprintf_639_break
	jmp32  %_vsprintf_639_loop
:_vsprintf_639_break
	jmp32  %_vsprintf_314_break
:_vsprintf_314_clause3
	cmp____$i8,%rax !0x73
	je32   %_vsprintf_314_body3
	jmp32  %_vsprintf_314_clause4
:_vsprintf_314_body3
					# char *s = (char*)(long*)(ap = ap + sizeof(void*))[-1]; 
	mov____$i64,%rax %0xffffffff %0x-1
	shl____$i8,%rax !0x3
					# ap = ap + sizeof(void*)
	mov____0x8(%rbp),%rdi !0x20
	push___%rax
	mov____%rdi,%rax
	mov____$i32,%rdi %0x8
	add____%rdi,%rax
	mov____%rax,%rdi
	pop____%rax
	mov____%rdi,0x8(%rbp) !0x20
	add____%rdi,%rax
	mov____(%rax),%rax
	mov____%rax,0x8(%rbp) !0x-40
					# int length = strlen(s); 
					# strlen(s)
	mov____0x8(%rbp),%rdi !0x-40
	push___%rdi
	call32 %strlen
	add____$i8,%rsp !0x8
	mov____%eax,0x8(%rbp) !0x-48
					# if (precision == -1) ...
	mov____0x8(%rbp),%rax !0x-28
	movslq_%eax,%rax
	mov____$i64,%rdi %0xffffffff %0x-1
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_vsprintf_695_break
					# precision = length
	mov____0x8(%rbp),%rax !0x-48
	movslq_%eax,%rax
	mov____%rax,0x8(%rbp) !0x-28
	test___%rax,%rax
	jmp32  %_vsprintf_695_break
:_vsprintf_695_break
					# if (!left_p) ...
	mov____0x8(%rbp),%rax !0x-20
	movslq_%eax,%rax
	test___%rax,%rax
	sete___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_vsprintf_710_break
					# while (width-- > precision) ...
	jmp32  %_vsprintf_718_continue
:_vsprintf_718_loop
					# *str = pad
	mov____0x8(%rbp),%rax !0x-38
	movsbq_%al,%rax
	mov____0x8(%rbp),%rdi !0x10
	mov____%al,(%rdi)
	add____$i8,0x8(%rbp) !0x10 !0x1
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x-10
	movslq_%eax,%rax
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-10
	addl___$i8,(%rdi) !0x1
	test___%rax,%rax
:_vsprintf_718_continue
	mov____0x8(%rbp),%rax !0x-30
	movslq_%eax,%rax
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-30
	addl___$i8,(%rdi) !0x-1
	mov____0x8(%rbp),%rdi !0x-28
	movslq_%edi,%rdi
	sub____%rdi,%rax
	setg___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_vsprintf_718_break
	jmp32  %_vsprintf_718_loop
:_vsprintf_718_break
					# while (width > length) ...
	jmp32  %_vsprintf_747_continue
:_vsprintf_747_loop
					# *str = ' '
	mov____$i32,%rax %0x20
	mov____0x8(%rbp),%rdi !0x10
	mov____%al,(%rdi)
	add____$i8,0x8(%rbp) !0x10 !0x1
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x-28
	movslq_%eax,%rax
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-28
	addl___$i8,(%rdi) !0x-1
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x-30
	movslq_%eax,%rax
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-30
	addl___$i8,(%rdi) !0x-1
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x-10
	movslq_%eax,%rax
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-10
	addl___$i8,(%rdi) !0x1
	test___%rax,%rax
:_vsprintf_747_continue
	mov____0x8(%rbp),%rax !0x-30
	movslq_%eax,%rax
	mov____0x8(%rbp),%rdi !0x-48
	movslq_%edi,%rdi
	sub____%rdi,%rax
	setg___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_vsprintf_747_break
	jmp32  %_vsprintf_747_loop
:_vsprintf_747_break
	jmp32  %_vsprintf_710_break
:_vsprintf_710_break
					# while (*s) ...
	jmp32  %_vsprintf_785_continue
:_vsprintf_785_loop
					# if (precision-- <= 0) ...
	mov____0x8(%rbp),%rax !0x-28
	movslq_%eax,%rax
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-28
	addl___$i8,(%rdi) !0x-1
	mov____$i32,%rdi %0x0
	sub____%rdi,%rax
	setle__%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_vsprintf_788_break
	jmp32  %_vsprintf_785_break
	jmp32  %_vsprintf_788_break
:_vsprintf_788_break
	mov____0x8(%rbp),%rax !0x-30
	movslq_%eax,%rax
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-30
	addl___$i8,(%rdi) !0x-1
	test___%rax,%rax
					# *str = *s++
	mov____0x8(%rbp),%rax !0x-40
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-40
	add____$i8,(%rdi) !0x1
	movzbq_(%rax),%rax
	movsbq_%al,%rax
	mov____0x8(%rbp),%rdi !0x10
	mov____%al,(%rdi)
	add____$i8,0x8(%rbp) !0x10 !0x1
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x-10
	movslq_%eax,%rax
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-10
	addl___$i8,(%rdi) !0x1
	test___%rax,%rax
:_vsprintf_785_continue
	mov____0x8(%rbp),%rax !0x-40
	movzbq_(%rax),%rax
	movsbq_%al,%rax
					# jmp test LABEL
	test___%rax,%rax
	test___%al,%al
	je32   %_vsprintf_785_break
	jmp32  %_vsprintf_785_loop
:_vsprintf_785_break
					# while (width > 0) ...
	jmp32  %_vsprintf_831_continue
:_vsprintf_831_loop
	mov____0x8(%rbp),%rax !0x-30
	movslq_%eax,%rax
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-30
	addl___$i8,(%rdi) !0x-1
	test___%rax,%rax
					# *str = pad
	mov____0x8(%rbp),%rax !0x-38
	movsbq_%al,%rax
	mov____0x8(%rbp),%rdi !0x10
	mov____%al,(%rdi)
	add____$i8,0x8(%rbp) !0x10 !0x1
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x-10
	movslq_%eax,%rax
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-10
	addl___$i8,(%rdi) !0x1
	test___%rax,%rax
:_vsprintf_831_continue
	mov____0x8(%rbp),%rax !0x-30
	movslq_%eax,%rax
	mov____$i32,%rdi %0x0
	sub____%rdi,%rax
	setg___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_vsprintf_831_break
	jmp32  %_vsprintf_831_loop
:_vsprintf_831_break
	jmp32  %_vsprintf_314_break
:_vsprintf_314_clause4
	cmp____$i8,%rax !0x6e
	je32   %_vsprintf_314_body4
	jmp32  %_vsprintf_314_clause5
:_vsprintf_314_body4
					# int *n = (int*)(long*)(ap = ap + sizeof(void*))[-1]; 
	mov____$i64,%rax %0xffffffff %0x-1
	shl____$i8,%rax !0x3
					# ap = ap + sizeof(void*)
	mov____0x8(%rbp),%rdi !0x20
	push___%rax
	mov____%rdi,%rax
	mov____$i32,%rdi %0x8
	add____%rdi,%rax
	mov____%rax,%rdi
	pop____%rax
	mov____%rdi,0x8(%rbp) !0x20
	add____%rdi,%rax
	mov____(%rax),%rax
	mov____%rax,0x8(%rbp) !0x-40
					# *n = count
	mov____0x8(%rbp),%rax !0x-10
	movslq_%eax,%rax
	mov____0x8(%rbp),%rdi !0x-40
	mov____%eax,(%rdi)
	test___%rax,%rax
	jmp32  %_vsprintf_314_break
:_vsprintf_314_clause5
:_vsprintf_314_default
:_vsprintf_314_body5
					# eputs("vsprintf: not supported: %:")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_33
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputc(c)
	mov____0x8(%rbp),%rdi !0x-18
	movsbq_%dil,%rdi
	push___%rdi
	call32 %eputc
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputs(" ")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_0
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x-8
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-8
	add____$i8,(%rdi) !0x1
	test___%rax,%rax
	jmp32  %_vsprintf_314_break
:_vsprintf_314_clause6
	jmp32  %_vsprintf_314_default
:_vsprintf_314_break
	mov____0x8(%rbp),%rax !0x-8
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-8
	add____$i8,(%rdi) !0x1
	test___%rax,%rax
:_vsprintf_10_break
:_vsprintf_7_continue
	mov____0x8(%rbp),%rax !0x-8
	movzbq_(%rax),%rax
	movsbq_%al,%rax
					# jmp test LABEL
	test___%rax,%rax
	test___%al,%al
	je32   %_vsprintf_7_break
	jmp32  %_vsprintf_7_loop
:_vsprintf_7_break
					# ap = 0
	mov____$i32,%rax %0x0
	mov____%rax,0x8(%rbp) !0x20
	movzbq_%al,%rax
	test___%rax,%rax
					# *str = 0
	mov____$i32,%rax %0x0
	mov____0x8(%rbp),%rdi !0x10
	mov____%al,(%rdi)
	test___%rax,%rax
					# strlen(str)
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	call32 %strlen
	add____$i8,%rsp !0x8
	mov____%rbp,%rsp
	pop____%rbp
	ret


:vsscanf
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# char *p = s; 
	mov____0x8(%rbp),%rax !0x10
	mov____%rax,0x8(%rbp) !0x-8
					# char *t = template; 
	mov____0x8(%rbp),%rax !0x18
	mov____%rax,0x8(%rbp) !0x-10
					# int count = 0; 
	mov____$i32,%rax %0x0
	mov____%eax,0x8(%rbp) !0x-18
					# while (*t && *p) ...
	jmp32  %_vsscanf_10_continue
:_vsscanf_10_loop
					# if (*t != '%') ...else ...
	mov____0x8(%rbp),%rax !0x-10
	movzbq_(%rax),%rax
	movsbq_%al,%rax
	mov____$i32,%rdi %0x25
	sub____%rdi,%rax
	test___%rax,%rax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_vsscanf_13_else
	mov____0x8(%rbp),%rax !0x-10
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-10
	add____$i8,(%rdi) !0x1
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x-8
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-8
	add____$i8,(%rdi) !0x1
	test___%rax,%rax
	jmp32  %_vsscanf_13_break
:_vsscanf_13_else
	mov____0x8(%rbp),%rax !0x-10
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-10
	add____$i8,(%rdi) !0x1
	test___%rax,%rax
					# char c = *t; 
	mov____0x8(%rbp),%rax !0x-10
	movzbq_(%rax),%rax
	movsbq_%al,%rax
	mov____%al,0x8(%rbp) !0x-20
					# if (c == 'l') ...
	mov____0x8(%rbp),%rax !0x-20
	movsbq_%al,%rax
	mov____$i32,%rdi %0x6c
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_vsscanf_43_break
					# c = *++t
	mov____%rbp,%rax
	add____$i8,%rax !0x-10
	add____$i8,(%rax) !0x1
	mov____0x8(%rbp),%rax !0x-10
	movzbq_(%rax),%rax
	movsbq_%al,%rax
	mov____%rax,0x8(%rbp) !0x-20
	test___%rax,%rax
	jmp32  %_vsscanf_43_break
:_vsscanf_43_break
					# switch (c) {   ...} 
	mov____0x8(%rbp),%rax !0x-20
	movsbq_%al,%rax
:_vsscanf_61_clause0
	cmp____$i8,%rax !0x25
	je32   %_vsscanf_61_body0
	jmp32  %_vsscanf_61_clause1
:_vsscanf_61_body0
	mov____0x8(%rbp),%rdi !0x-8
	push___%rax
	mov____%rdi,%rax
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-8
	add____$i8,(%rdi) !0x1
	mov____%rax,%rdi
	pop____%rax
	test___%rdi,%rdi
	jmp32  %_vsscanf_61_break
:_vsscanf_61_clause1
	cmp____$i8,%rax !0x63
	je32   %_vsscanf_61_body1
	jmp32  %_vsscanf_61_clause2
:_vsscanf_61_body1
					# char *c = (char*)(long*)(ap = ap + sizeof(void*))[-1]; 
	mov____$i64,%rax %0xffffffff %0x-1
	shl____$i8,%rax !0x3
					# ap = ap + sizeof(void*)
	mov____0x8(%rbp),%rdi !0x20
	push___%rax
	mov____%rdi,%rax
	mov____$i32,%rdi %0x8
	add____%rdi,%rax
	mov____%rax,%rdi
	pop____%rax
	mov____%rdi,0x8(%rbp) !0x20
	add____%rdi,%rax
	mov____(%rax),%rax
	mov____%rax,0x8(%rbp) !0x-28
					# *c = *p++
	mov____0x8(%rbp),%rax !0x-8
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-8
	add____$i8,(%rdi) !0x1
	movzbq_(%rax),%rax
	movsbq_%al,%rax
	mov____0x8(%rbp),%rdi !0x-28
	mov____%al,(%rdi)
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x-18
	movslq_%eax,%rax
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-18
	addl___$i8,(%rdi) !0x1
	test___%rax,%rax
	jmp32  %_vsscanf_61_break
:_vsscanf_61_clause2
	cmp____$i8,%rax !0x64
	je32   %_vsscanf_61_body2
	cmp____$i8,%rax !0x69
	je32   %_vsscanf_61_body2
	cmp____$i8,%rax !0x75
	je32   %_vsscanf_61_body2
	jmp32  %_vsscanf_61_clause3
:_vsscanf_61_body2
					# int *d = (int*)(long*)(ap = ap + sizeof(void*))[-1]; 
	mov____$i64,%rax %0xffffffff %0x-1
	shl____$i8,%rax !0x3
					# ap = ap + sizeof(void*)
	mov____0x8(%rbp),%rdi !0x20
	push___%rax
	mov____%rdi,%rax
	mov____$i32,%rdi %0x8
	add____%rdi,%rax
	mov____%rax,%rdi
	pop____%rax
	mov____%rdi,0x8(%rbp) !0x20
	add____%rdi,%rax
	mov____(%rax),%rax
	mov____%rax,0x8(%rbp) !0x-28
					# *d = abtol(&p, 10)
					# abtol(&p, 10)
	mov____$i32,%rdi %0xa
	push___%rdi
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-8
	push___%rdi
	call32 %abtol
	add____$i8,%rsp !0x10
	mov____0x8(%rbp),%rdi !0x-28
	mov____%eax,(%rdi)
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x-18
	movslq_%eax,%rax
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-18
	addl___$i8,(%rdi) !0x1
	test___%rax,%rax
	jmp32  %_vsscanf_61_break
:_vsscanf_61_clause3
:_vsscanf_61_default
:_vsscanf_61_body3
					# eputs("vsscanf: not supported: %:")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_34
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputc(c)
	mov____0x8(%rbp),%rdi !0x-20
	movsbq_%dil,%rdi
	push___%rdi
	call32 %eputc
	add____$i8,%rsp !0x8
	test___%rax,%rax
					# eputs(" ")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_0
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x-10
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-10
	add____$i8,(%rdi) !0x1
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x-8
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-8
	add____$i8,(%rdi) !0x1
	test___%rax,%rax
	jmp32  %_vsscanf_61_break
:_vsscanf_61_clause4
	jmp32  %_vsscanf_61_default
:_vsscanf_61_break
	mov____0x8(%rbp),%rax !0x-10
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-10
	add____$i8,(%rdi) !0x1
	test___%rax,%rax
:_vsscanf_13_break
:_vsscanf_10_continue
	mov____0x8(%rbp),%rax !0x-10
	movzbq_(%rax),%rax
	movsbq_%al,%rax
					# jmp test LABEL
	test___%rax,%rax
	test___%al,%al
	je32   %_vsscanf_10_break
	mov____0x8(%rbp),%rax !0x-8
	movzbq_(%rax),%rax
	movsbq_%al,%rax
					# jmp test LABEL
	test___%rax,%rax
	test___%al,%al
	je32   %_vsscanf_10_break
	jmp32  %_vsscanf_10_loop
:_vsscanf_10_break
					# ap = 0
	mov____$i32,%rax %0x0
	mov____%rax,0x8(%rbp) !0x20
	movzbq_%al,%rax
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x-18
	movslq_%eax,%rax
	mov____%rbp,%rsp
	pop____%rbp
	ret


:calloc
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# size_t count = nmemb*size; 
	mov____0x8(%rbp),%rax !0x10
	mov____0x8(%rbp),%rdi !0x18
	mul____%rdi
	mov____%rax,0x8(%rbp) !0x-8
					# void *p = malloc(count); 
					# malloc(count)
	mov____0x8(%rbp),%rdi !0x-8
	push___%rdi
	call32 %malloc
	add____$i8,%rsp !0x8
	mov____%rax,0x8(%rbp) !0x-10
					# memset(p, 0, count)
	mov____0x8(%rbp),%rdi !0x-8
	push___%rdi
	mov____$i32,%rdi %0x0
	push___%rdi
	mov____0x8(%rbp),%rdi !0x-10
	push___%rdi
	call32 %memset
	add____$i8,%rsp !0x18
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x-10
	mov____%rbp,%rsp
	pop____%rbp
	ret


:qswap
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# char *buf[8]; 
					# memcpy(buf, a, size)
	mov____0x8(%rbp),%rdi !0x20
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-40
	push___%rdi
	call32 %memcpy
	add____$i8,%rsp !0x18
	test___%rax,%rax
					# memcpy(a, b, size)
	mov____0x8(%rbp),%rdi !0x20
	push___%rdi
	mov____0x8(%rbp),%rdi !0x18
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	call32 %memcpy
	add____$i8,%rsp !0x18
	test___%rax,%rax
					# memcpy(b, buf, size)
	mov____0x8(%rbp),%rdi !0x20
	push___%rdi
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-40
	push___%rdi
	mov____0x8(%rbp),%rdi !0x18
	push___%rdi
	call32 %memcpy
	add____$i8,%rsp !0x18
	test___%rax,%rax
	mov____%rbp,%rsp
	pop____%rbp
	ret


:qpart
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# void *p = base + count*size; 
	mov____0x8(%rbp),%rax !0x10
	mov____0x8(%rbp),%rdi !0x18
	push___%rax
	mov____%rdi,%rax
	mov____0x8(%rbp),%rdi !0x20
	mul____%rdi
	mov____%rax,%rdi
	pop____%rax
	add____%rdi,%rax
	mov____%rax,0x8(%rbp) !0x-8
					# size_t i = 0; 
	mov____$i32,%rax %0x0
	mov____%rax,0x8(%rbp) !0x-10
					# for (size_t j = 0; j < count; j++) ...
					# size_t j = 0; 
	mov____$i32,%rax %0x0
	mov____%rax,0x8(%rbp) !0x-18
	jmp32  %_qpart_13_initial_skip
:_qpart_13_loop
					# int c = compare(base + j*size, p); 
					# compare(base + j*size, p)
	mov____0x8(%rbp),%rdi !0x-8
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rax
	mov____%rdi,%rax
	mov____0x8(%rbp),%rdi !0x-18
	push___%rax
	mov____%rdi,%rax
	mov____0x8(%rbp),%rdi !0x20
	mul____%rdi
	mov____%rax,%rdi
	pop____%rax
	add____%rdi,%rax
	mov____%rax,%rdi
	pop____%rax
	push___%rdi
	mov____0x8(%rbp),%rax !0x28
	movslq_%eax,%rax
	call___*%rax
	add____$i8,%rsp !0x10
	mov____%eax,0x8(%rbp) !0x-20
					# if (c < 0) ...else ...
	mov____0x8(%rbp),%rax !0x-20
	movslq_%eax,%rax
	mov____$i32,%rdi %0x0
	sub____%rdi,%rax
	setl___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_qpart_37_else
					# qswap(base + i*size, base + j*size, size)
	mov____0x8(%rbp),%rdi !0x20
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rax
	mov____%rdi,%rax
	mov____0x8(%rbp),%rdi !0x-18
	push___%rax
	mov____%rdi,%rax
	mov____0x8(%rbp),%rdi !0x20
	mul____%rdi
	mov____%rax,%rdi
	pop____%rax
	add____%rdi,%rax
	mov____%rax,%rdi
	pop____%rax
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rax
	mov____%rdi,%rax
	mov____0x8(%rbp),%rdi !0x-10
	push___%rax
	mov____%rdi,%rax
	mov____0x8(%rbp),%rdi !0x20
	mul____%rdi
	mov____%rax,%rdi
	pop____%rax
	add____%rdi,%rax
	mov____%rax,%rdi
	pop____%rax
	push___%rdi
	call32 %qswap
	add____$i8,%rsp !0x18
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x-10
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-10
	add____$i8,(%rdi) !0x1
	test___%rax,%rax
	jmp32  %_qpart_37_break
:_qpart_37_else
					# if (c == 0) ...
	mov____0x8(%rbp),%rax !0x-20
	movslq_%eax,%rax
	mov____$i32,%rdi %0x0
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_qpart_77_break
	mov____0x8(%rbp),%rax !0x-10
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-10
	add____$i8,(%rdi) !0x1
	test___%rax,%rax
	jmp32  %_qpart_77_break
:_qpart_77_break
:_qpart_37_break
:_qpart_13_continue
	mov____0x8(%rbp),%rax !0x-18
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-18
	add____$i8,(%rdi) !0x1
:_qpart_13_initial_skip
	mov____0x8(%rbp),%rax !0x-18
	mov____0x8(%rbp),%rdi !0x18
	sub____%rdi,%rax
	setb___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_qpart_13_break
	jmp32  %_qpart_13_loop
:_qpart_13_break
					# if (compare(base + count*size, base + i*size) < 0) ...
					# compare(base + count*size, base + i*size)
	mov____0x8(%rbp),%rdi !0x10
	push___%rax
	mov____%rdi,%rax
	mov____0x8(%rbp),%rdi !0x-10
	push___%rax
	mov____%rdi,%rax
	mov____0x8(%rbp),%rdi !0x20
	mul____%rdi
	mov____%rax,%rdi
	pop____%rax
	add____%rdi,%rax
	mov____%rax,%rdi
	pop____%rax
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rax
	mov____%rdi,%rax
	mov____0x8(%rbp),%rdi !0x18
	push___%rax
	mov____%rdi,%rax
	mov____0x8(%rbp),%rdi !0x20
	mul____%rdi
	mov____%rax,%rdi
	pop____%rax
	add____%rdi,%rax
	mov____%rax,%rdi
	pop____%rax
	push___%rdi
	mov____0x8(%rbp),%rax !0x28
	movslq_%eax,%rax
	call___*%rax
	add____$i8,%rsp !0x10
	mov____$i32,%rdi %0x0
	sub____%rdi,%rax
	setl___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_qpart_106_break
					# qswap(base + i*size, base + count*size, size)
	mov____0x8(%rbp),%rdi !0x20
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rax
	mov____%rdi,%rax
	mov____0x8(%rbp),%rdi !0x18
	push___%rax
	mov____%rdi,%rax
	mov____0x8(%rbp),%rdi !0x20
	mul____%rdi
	mov____%rax,%rdi
	pop____%rax
	add____%rdi,%rax
	mov____%rax,%rdi
	pop____%rax
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rax
	mov____%rdi,%rax
	mov____0x8(%rbp),%rdi !0x-10
	push___%rax
	mov____%rdi,%rax
	mov____0x8(%rbp),%rdi !0x20
	mul____%rdi
	mov____%rax,%rdi
	pop____%rax
	add____%rdi,%rax
	mov____%rax,%rdi
	pop____%rax
	push___%rdi
	call32 %qswap
	add____$i8,%rsp !0x18
	test___%rax,%rax
	jmp32  %_qpart_106_break
:_qpart_106_break
	mov____0x8(%rbp),%rax !0x-10
	mov____%rbp,%rsp
	pop____%rbp
	ret


:qsort
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# if (count > 1) ...
	mov____0x8(%rbp),%rax !0x18
	mov____$i32,%rdi %0x1
	sub____%rdi,%rax
	seta___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_qsort_1_break
					# int p = qpart(base, count - 1, size, compare); 
					# qpart(base, count - 1, size, compare)
	mov____0x8(%rbp),%rdi !0x28
	movslq_%edi,%rdi
	push___%rdi
	mov____0x8(%rbp),%rdi !0x20
	push___%rdi
	mov____0x8(%rbp),%rdi !0x18
	add____$i8,%rdi !0x-1
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	call32 %qpart
	add____$i8,%rsp !0x20
	mov____%eax,0x8(%rbp) !0x-8
					# qsort(base, p, size, compare)
	mov____0x8(%rbp),%rdi !0x28
	movslq_%edi,%rdi
	push___%rdi
	mov____0x8(%rbp),%rdi !0x20
	push___%rdi
	mov____0x8(%rbp),%rdi !0x-8
	movslq_%edi,%rdi
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	call32 %qsort
	add____$i8,%rsp !0x20
	test___%rax,%rax
					# qsort(base + p*size, count - p, size, compare)
	mov____0x8(%rbp),%rdi !0x28
	movslq_%edi,%rdi
	push___%rdi
	mov____0x8(%rbp),%rdi !0x20
	push___%rdi
	mov____0x8(%rbp),%rdi !0x18
	push___%rax
	mov____%rdi,%rax
	mov____0x8(%rbp),%rdi !0x-8
	movslq_%edi,%rdi
	sub____%rdi,%rax
	mov____%rax,%rdi
	pop____%rax
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rax
	mov____%rdi,%rax
	mov____0x8(%rbp),%rdi !0x-8
	movslq_%edi,%rdi
	push___%rax
	mov____%rdi,%rax
	mov____0x8(%rbp),%rdi !0x20
	mul____%rdi
	mov____%rax,%rdi
	pop____%rax
	add____%rdi,%rax
	mov____%rax,%rdi
	pop____%rax
	push___%rdi
	call32 %qsort
	add____$i8,%rsp !0x20
	test___%rax,%rax
	jmp32  %_qsort_1_break
:_qsort_1_break
	mov____%rbp,%rsp
	pop____%rbp
	ret


:strtof
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# strtod(string, tailptr)
	mov____0x8(%rbp),%rdi !0x18
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	call32 %strtod
	add____$i8,%rsp !0x10
	mov____%rbp,%rsp
	pop____%rbp
	ret


:strtol
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# if (!strncmp(string, "0x", 2)) ...
					# strncmp(string, "0x", 2)
	mov____$i32,%rdi %0x2
	push___%rdi
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_35
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	call32 %strncmp
	add____$i8,%rsp !0x18
	test___%rax,%rax
	sete___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_strtol_1_break
					# string += 2
	mov____$i32,%rax %0x2
	mov____0x8(%rbp),%rdi !0x10
	xchg___%rax,%rdi
	add____%rdi,%rax
	mov____%rax,0x8(%rbp) !0x10
	test___%rax,%rax
					# base = 16
	mov____$i32,%rax %0x10
	mov____%rax,0x8(%rbp) !0x20
	test___%rax,%rax
	jmp32  %_strtol_1_break
:_strtol_1_break
					# if (tailptr) ...
	mov____0x8(%rbp),%rax !0x18
					# jmp test LABEL
	test___%rax,%rax
	je32   %_strtol_27_break
					# *tailptr = string
	mov____0x8(%rbp),%rax !0x10
	mov____0x8(%rbp),%rdi !0x18
	mov____%rax,(%rdi)
	test___%rax,%rax
					# abtol(tailptr, base)
	mov____0x8(%rbp),%rdi !0x20
	movslq_%edi,%rdi
	push___%rdi
	mov____0x8(%rbp),%rdi !0x18
	push___%rdi
	call32 %abtol
	add____$i8,%rsp !0x10
	mov____%rbp,%rsp
	pop____%rbp
	ret
	jmp32  %_strtol_27_break
:_strtol_27_break
					# char **p = &string; 
	mov____%rbp,%rax
	add____$i8,%rax !0x10
	mov____%rax,0x8(%rbp) !0x-8
					# abtol(p, base)
	mov____0x8(%rbp),%rdi !0x20
	movslq_%edi,%rdi
	push___%rdi
	mov____0x8(%rbp),%rdi !0x-8
	push___%rdi
	call32 %abtol
	add____$i8,%rsp !0x10
	mov____%rbp,%rsp
	pop____%rbp
	ret


:strtold
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# strtod(string, tailptr)
	mov____0x8(%rbp),%rdi !0x18
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	call32 %strtod
	add____$i8,%rsp !0x10
	mov____%rbp,%rsp
	pop____%rbp
	ret


:strtoll
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# strtol(string, tailptr, base)
	mov____0x8(%rbp),%rdi !0x20
	movslq_%edi,%rdi
	push___%rdi
	mov____0x8(%rbp),%rdi !0x18
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	call32 %strtol
	add____$i8,%rsp !0x18
	mov____%rbp,%rsp
	pop____%rbp
	ret


:strtoul
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# strtol(string, tailptr, base)
	mov____0x8(%rbp),%rdi !0x20
	movslq_%edi,%rdi
	push___%rdi
	mov____0x8(%rbp),%rdi !0x18
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	call32 %strtol
	add____$i8,%rsp !0x18
	mov____%rbp,%rsp
	pop____%rbp
	ret


:strtoull
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# strtol(string, tailptr, base)
	mov____0x8(%rbp),%rdi !0x20
	movslq_%edi,%rdi
	push___%rdi
	mov____0x8(%rbp),%rdi !0x18
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	call32 %strtol
	add____$i8,%rsp !0x18
	mov____%rbp,%rsp
	pop____%rbp
	ret


:memcmp
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# if (!size) ...
	mov____0x8(%rbp),%rax !0x20
	test___%rax,%rax
	sete___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_memcmp_1_break
	mov____$i32,%rax %0x0
	mov____%rbp,%rsp
	pop____%rbp
	ret
	jmp32  %_memcmp_1_break
:_memcmp_1_break
					# char *a = s1; 
	mov____0x8(%rbp),%rax !0x10
	mov____%rax,0x8(%rbp) !0x-8
					# char *b = s2; 
	mov____0x8(%rbp),%rax !0x18
	mov____%rax,0x8(%rbp) !0x-10
					# while (*a == *b && --size) ...
	jmp32  %_memcmp_18_continue
:_memcmp_18_loop
	mov____0x8(%rbp),%rax !0x-8
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-8
	add____$i8,(%rdi) !0x1
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x-10
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-10
	add____$i8,(%rdi) !0x1
	test___%rax,%rax
:_memcmp_18_continue
	mov____0x8(%rbp),%rax !0x-8
	movzbq_(%rax),%rax
	movsbq_%al,%rax
	mov____0x8(%rbp),%rdi !0x-10
	movzbq_(%rdi),%rdi
	movsbq_%dil,%rdi
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_memcmp_18_break
	mov____%rbp,%rax
	add____$i8,%rax !0x20
	add____$i8,(%rax) !0x-1
	mov____0x8(%rbp),%rax !0x20
					# jmp test LABEL
	test___%rax,%rax
	je32   %_memcmp_18_break
	jmp32  %_memcmp_18_loop
:_memcmp_18_break
	mov____0x8(%rbp),%rax !0x-8
	movzbq_(%rax),%rax
	movsbq_%al,%rax
	mov____0x8(%rbp),%rdi !0x-10
	movzbq_(%rdi),%rdi
	movsbq_%dil,%rdi
	sub____%rdi,%rax
	mov____%rbp,%rsp
	pop____%rbp
	ret


:_memmem
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# unsigned char *end_haystack = haystack + haystack_len - needle_len + 1; 
	mov____0x8(%rbp),%rax !0x10
	mov____0x8(%rbp),%rdi !0x18
	movslq_%edi,%rdi
	add____%rdi,%rax
	mov____0x8(%rbp),%rdi !0x28
	movslq_%edi,%rdi
	sub____%rdi,%rax
	add____$i8,%rax !0x1
	mov____%rax,0x8(%rbp) !0x-8
					# unsigned char *end_needle = needle + needle_len; 
	mov____0x8(%rbp),%rax !0x20
	mov____0x8(%rbp),%rdi !0x28
	movslq_%edi,%rdi
	add____%rdi,%rax
	mov____%rax,0x8(%rbp) !0x-10
					# while (haystack < end_haystack) ...
	jmp32  %__memmem_17_continue
:__memmem_17_loop
					# unsigned char *subneedle = needle; 
	mov____0x8(%rbp),%rax !0x20
	mov____%rax,0x8(%rbp) !0x-18
					# unsigned char *subhaystack = haystack; 
	mov____0x8(%rbp),%rax !0x10
	mov____%rax,0x8(%rbp) !0x-20
					# while (subneedle < end_needle) ...
	jmp32  %__memmem_26_continue
:__memmem_26_loop
					# if (*subneedle++ != *subhaystack++) ...
	mov____0x8(%rbp),%rax !0x-18
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-18
	add____$i8,(%rdi) !0x1
	movzbq_(%rax),%rax
	movzbq_%al,%rax
	mov____0x8(%rbp),%rdi !0x-20
	push___%rax
	mov____%rdi,%rax
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-20
	add____$i8,(%rdi) !0x1
	mov____%rax,%rdi
	pop____%rax
	movzbq_(%rdi),%rdi
	movzbq_%dil,%rdi
	sub____%rdi,%rax
	test___%rax,%rax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %__memmem_29_break
	jmp32  %__memmem_label_next
	jmp32  %__memmem_29_break
:__memmem_29_break
:__memmem_26_continue
	mov____0x8(%rbp),%rax !0x-18
	mov____0x8(%rbp),%rdi !0x-10
	sub____%rdi,%rax
	setb___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %__memmem_26_break
	jmp32  %__memmem_26_loop
:__memmem_26_break
	mov____0x8(%rbp),%rax !0x10
	mov____%rbp,%rsp
	pop____%rbp
	ret
:__memmem_label_next
	mov____0x8(%rbp),%rax !0x10
	mov____%rbp,%rdi
	add____$i8,%rdi !0x10
	add____$i8,(%rdi) !0x1
	test___%rax,%rax
:__memmem_17_continue
	mov____0x8(%rbp),%rax !0x10
	mov____0x8(%rbp),%rdi !0x-8
	sub____%rdi,%rax
	setb___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %__memmem_17_break
	jmp32  %__memmem_17_loop
:__memmem_17_break
	mov____$i32,%rax %0x0
	mov____%rbp,%rsp
	pop____%rbp
	ret


:memmem
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# unsigned char *haystack_byte_c = (unsigned char*)haystack; 
	mov____0x8(%rbp),%rax !0x10
	mov____%rax,0x8(%rbp) !0x-8
					# unsigned char *needle_byte_c = (unsigned char*)needle; 
	mov____0x8(%rbp),%rax !0x20
	mov____%rax,0x8(%rbp) !0x-10
					# _memmem(haystack_byte_c, haystack_len, needle_byte_c, needle_len)
	mov____0x8(%rbp),%rdi !0x28
	movslq_%edi,%rdi
	push___%rdi
	mov____0x8(%rbp),%rdi !0x-10
	push___%rdi
	mov____0x8(%rbp),%rdi !0x18
	movslq_%edi,%rdi
	push___%rdi
	mov____0x8(%rbp),%rdi !0x-8
	push___%rdi
	call32 %_memmem
	add____$i8,%rsp !0x20
	mov____%rbp,%rsp
	pop____%rbp
	ret


:memmove
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# if (dest < src) ...
	mov____0x8(%rbp),%rax !0x10
	mov____0x8(%rbp),%rdi !0x18
	sub____%rdi,%rax
	setl___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_memmove_1_break
					# memcpy(dest, src, n)
	mov____0x8(%rbp),%rdi !0x20
	push___%rdi
	mov____0x8(%rbp),%rdi !0x18
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	call32 %memcpy
	add____$i8,%rsp !0x18
	mov____%rbp,%rsp
	pop____%rbp
	ret
	jmp32  %_memmove_1_break
:_memmove_1_break
					# char *p = dest + n; 
	mov____0x8(%rbp),%rax !0x10
	mov____0x8(%rbp),%rdi !0x20
	add____%rdi,%rax
	mov____%rax,0x8(%rbp) !0x-8
					# char *q = src + n; 
	mov____0x8(%rbp),%rax !0x18
	mov____0x8(%rbp),%rdi !0x20
	add____%rdi,%rax
	mov____%rax,0x8(%rbp) !0x-10
					# while (n--) ...
	jmp32  %_memmove_30_continue
:_memmove_30_loop
					# *--p = *--q
	mov____%rbp,%rax
	add____$i8,%rax !0x-10
	add____$i8,(%rax) !0x-1
	mov____0x8(%rbp),%rax !0x-10
	movzbq_(%rax),%rax
	movsbq_%al,%rax
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-8
	add____$i8,(%rdi) !0x-1
	mov____0x8(%rbp),%rdi !0x-8
	mov____%al,(%rdi)
	test___%rax,%rax
:_memmove_30_continue
	mov____0x8(%rbp),%rax !0x20
	mov____%rbp,%rdi
	add____$i8,%rdi !0x20
	add____$i8,(%rdi) !0x-1
					# jmp test LABEL
	test___%rax,%rax
	je32   %_memmove_30_break
	jmp32  %_memmove_30_loop
:_memmove_30_break
	mov____0x8(%rbp),%rax !0x10
	mov____%rbp,%rsp
	pop____%rbp
	ret


:memset
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# char *p = s; 
	mov____0x8(%rbp),%rax !0x10
	mov____%rax,0x8(%rbp) !0x-8
					# while (n--) ...
	jmp32  %_memset_4_continue
:_memset_4_loop
					# *p = c
	mov____0x8(%rbp),%rax !0x18
	movslq_%eax,%rax
	mov____0x8(%rbp),%rdi !0x-8
	mov____%al,(%rdi)
	add____$i8,0x8(%rbp) !0x-8 !0x1
	test___%rax,%rax
:_memset_4_continue
	mov____0x8(%rbp),%rax !0x20
	mov____%rbp,%rdi
	add____$i8,%rdi !0x20
	add____$i8,(%rdi) !0x-1
					# jmp test LABEL
	test___%rax,%rax
	je32   %_memset_4_break
	jmp32  %_memset_4_loop
:_memset_4_break
	mov____0x8(%rbp),%rax !0x10
	mov____%rbp,%rsp
	pop____%rbp
	ret


:strcat
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# char *p = strchr(to, '\\0'); 
					# strchr(to, '\\0')
	mov____$i32,%rdi %0x0
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	call32 %strchr
	add____$i8,%rsp !0x10
	mov____%rax,0x8(%rbp) !0x-8
					# while (*from) ...
	jmp32  %_strcat_9_continue
:_strcat_9_loop
					# *p = *from++
	mov____0x8(%rbp),%rax !0x18
	mov____%rbp,%rdi
	add____$i8,%rdi !0x18
	add____$i8,(%rdi) !0x1
	movzbq_(%rax),%rax
	movsbq_%al,%rax
	mov____0x8(%rbp),%rdi !0x-8
	mov____%al,(%rdi)
	add____$i8,0x8(%rbp) !0x-8 !0x1
	test___%rax,%rax
:_strcat_9_continue
	mov____0x8(%rbp),%rax !0x18
	movzbq_(%rax),%rax
	movsbq_%al,%rax
					# jmp test LABEL
	test___%rax,%rax
	test___%al,%al
	je32   %_strcat_9_break
	jmp32  %_strcat_9_loop
:_strcat_9_break
					# *p = 0
	mov____$i32,%rax %0x0
	mov____0x8(%rbp),%rdi !0x-8
	mov____%al,(%rdi)
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x10
	mov____%rbp,%rsp
	pop____%rbp
	ret


:strchr
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# char *p = s; 
	mov____0x8(%rbp),%rax !0x10
	mov____%rax,0x8(%rbp) !0x-8
					# while (*p || !c) ...
	jmp32  %_strchr_4_continue
:_strchr_4_loop
					# if (c == *p) ...
	mov____0x8(%rbp),%rax !0x18
	movslq_%eax,%rax
	mov____0x8(%rbp),%rdi !0x-8
	movzbq_(%rdi),%rdi
	movsbq_%dil,%rdi
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_strchr_7_break
	mov____0x8(%rbp),%rax !0x-8
	mov____%rbp,%rsp
	pop____%rbp
	ret
	jmp32  %_strchr_7_break
:_strchr_7_break
	mov____0x8(%rbp),%rax !0x-8
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-8
	add____$i8,(%rdi) !0x1
	test___%rax,%rax
:_strchr_4_continue
	mov____0x8(%rbp),%rax !0x-8
	movzbq_(%rax),%rax
	movsbq_%al,%rax
					# jmp test LABEL
	test___%rax,%rax
	test___%al,%al
	je32   %_strchr_4_break_b_22
	jmp32  %_strchr_4_break_skip_b_22
:_strchr_4_break_b_22
	mov____0x8(%rbp),%rax !0x18
	movslq_%eax,%rax
	test___%rax,%rax
	sete___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_strchr_4_break
:_strchr_4_break_skip_b_22
	jmp32  %_strchr_4_loop
:_strchr_4_break
	mov____$i32,%rax %0x0
	mov____%rbp,%rsp
	pop____%rbp
	ret


:strlwr
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# char *p = string; 
	mov____0x8(%rbp),%rax !0x10
	mov____%rax,0x8(%rbp) !0x-8
					# while (*p) ...
	jmp32  %_strlwr_4_continue
:_strlwr_4_loop
					# *p = tolower(*p)
					# tolower(*p)
	mov____0x8(%rbp),%rdi !0x-8
	movzbq_(%rdi),%rdi
	movsbq_%dil,%rdi
	push___%rdi
	call32 %tolower
	add____$i8,%rsp !0x8
	mov____0x8(%rbp),%rdi !0x-8
	mov____%al,(%rdi)
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x-8
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-8
	add____$i8,(%rdi) !0x1
	test___%rax,%rax
:_strlwr_4_continue
	mov____0x8(%rbp),%rax !0x-8
	movzbq_(%rax),%rax
	movsbq_%al,%rax
					# jmp test LABEL
	test___%rax,%rax
	test___%al,%al
	je32   %_strlwr_4_break
	jmp32  %_strlwr_4_loop
:_strlwr_4_break
	mov____0x8(%rbp),%rax !0x10
	mov____%rbp,%rsp
	pop____%rbp
	ret


:strncpy
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# if (size == 0) ...
	mov____0x8(%rbp),%rax !0x20
	mov____$i32,%rdi %0x0
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_strncpy_1_break
	mov____0x8(%rbp),%rax !0x10
	mov____%rbp,%rsp
	pop____%rbp
	ret
	jmp32  %_strncpy_1_break
:_strncpy_1_break
					# char *p = to; 
	mov____0x8(%rbp),%rax !0x10
	mov____%rax,0x8(%rbp) !0x-8
					# while (*from && size--) ...
	jmp32  %_strncpy_15_continue
:_strncpy_15_loop
					# *p = *from++
	mov____0x8(%rbp),%rax !0x18
	mov____%rbp,%rdi
	add____$i8,%rdi !0x18
	add____$i8,(%rdi) !0x1
	movzbq_(%rax),%rax
	movsbq_%al,%rax
	mov____0x8(%rbp),%rdi !0x-8
	mov____%al,(%rdi)
	add____$i8,0x8(%rbp) !0x-8 !0x1
	test___%rax,%rax
:_strncpy_15_continue
	mov____0x8(%rbp),%rax !0x18
	movzbq_(%rax),%rax
	movsbq_%al,%rax
					# jmp test LABEL
	test___%rax,%rax
	test___%al,%al
	je32   %_strncpy_15_break
	mov____0x8(%rbp),%rax !0x20
	mov____%rbp,%rdi
	add____$i8,%rdi !0x20
	add____$i8,(%rdi) !0x-1
					# jmp test LABEL
	test___%rax,%rax
	je32   %_strncpy_15_break
	jmp32  %_strncpy_15_loop
:_strncpy_15_break
					# if (*from) ...
	mov____0x8(%rbp),%rax !0x18
	movzbq_(%rax),%rax
	movsbq_%al,%rax
					# jmp test LABEL
	test___%rax,%rax
	test___%al,%al
	je32   %_strncpy_43_break
	mov____0x8(%rbp),%rax !0x20
	mov____%rbp,%rdi
	add____$i8,%rdi !0x20
	add____$i8,(%rdi) !0x1
	test___%rax,%rax
	jmp32  %_strncpy_43_break
:_strncpy_43_break
					# while (size--) ...
	jmp32  %_strncpy_56_continue
:_strncpy_56_loop
					# *p = 0
	mov____$i32,%rax %0x0
	mov____0x8(%rbp),%rdi !0x-8
	mov____%al,(%rdi)
	add____$i8,0x8(%rbp) !0x-8 !0x1
	test___%rax,%rax
:_strncpy_56_continue
	mov____0x8(%rbp),%rax !0x20
	mov____%rbp,%rdi
	add____$i8,%rdi !0x20
	add____$i8,(%rdi) !0x-1
					# jmp test LABEL
	test___%rax,%rax
	je32   %_strncpy_56_break
	jmp32  %_strncpy_56_loop
:_strncpy_56_break
	mov____0x8(%rbp),%rax !0x10
	mov____%rbp,%rsp
	pop____%rbp
	ret


:strrchr
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# int n = strlen(s); 
					# strlen(s)
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	call32 %strlen
	add____$i8,%rsp !0x8
	mov____%eax,0x8(%rbp) !0x-8
					# if (!n) ...
	mov____0x8(%rbp),%rax !0x-8
	movslq_%eax,%rax
	test___%rax,%rax
	sete___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_strrchr_7_break
	mov____$i32,%rax %0x0
	mov____%rbp,%rsp
	pop____%rbp
	ret
	jmp32  %_strrchr_7_break
:_strrchr_7_break
					# char *p = s + n; 
	mov____0x8(%rbp),%rax !0x10
	mov____0x8(%rbp),%rdi !0x-8
	movslq_%edi,%rdi
	add____%rdi,%rax
	mov____%rax,0x8(%rbp) !0x-10
					# if (!*p && !c) ...
	mov____0x8(%rbp),%rax !0x-10
	movzbq_(%rax),%rax
	movsbq_%al,%rax
	test___%rax,%rax
	sete___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_strrchr_25_break
	mov____0x8(%rbp),%rax !0x18
	movslq_%eax,%rax
	test___%rax,%rax
	sete___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_strrchr_25_break
	mov____0x8(%rbp),%rax !0x-10
	mov____%rbp,%rsp
	pop____%rbp
	ret
	jmp32  %_strrchr_25_break
:_strrchr_25_break
	mov____0x8(%rbp),%rax !0x-10
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-10
	add____$i8,(%rdi) !0x-1
	test___%rax,%rax
					# while (n-- && (*p || !c)) ...
	jmp32  %_strrchr_49_continue
:_strrchr_49_loop
					# if (c == *p) ...
	mov____0x8(%rbp),%rax !0x18
	movslq_%eax,%rax
	mov____0x8(%rbp),%rdi !0x-10
	movzbq_(%rdi),%rdi
	movsbq_%dil,%rdi
	sub____%rdi,%rax
	sete___%al
	movzbq_%al,%rax
					# jmp test LABEL
	jne32  %_strrchr_52_break
	mov____0x8(%rbp),%rax !0x-10
	mov____%rbp,%rsp
	pop____%rbp
	ret
	jmp32  %_strrchr_52_break
:_strrchr_52_break
	mov____0x8(%rbp),%rax !0x-10
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-10
	add____$i8,(%rdi) !0x-1
	test___%rax,%rax
:_strrchr_49_continue
	mov____0x8(%rbp),%rax !0x-8
	movslq_%eax,%rax
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-8
	addl___$i8,(%rdi) !0x-1
					# jmp test LABEL
	test___%rax,%rax
	je32   %_strrchr_49_break
	mov____0x8(%rbp),%rax !0x-10
	movzbq_(%rax),%rax
	movsbq_%al,%rax
					# jmp test LABEL
	test___%rax,%rax
	test___%al,%al
	je32   %_strrchr_49_break_b_66
	jmp32  %_strrchr_49_break_skip_b_66
:_strrchr_49_break_b_66
	mov____0x8(%rbp),%rax !0x18
	movslq_%eax,%rax
	test___%rax,%rax
	sete___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_strrchr_49_break
:_strrchr_49_break_skip_b_66
	jmp32  %_strrchr_49_loop
:_strrchr_49_break
	mov____$i32,%rax %0x0
	mov____%rbp,%rsp
	pop____%rbp
	ret


:strstr
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# memmem(haystack, strlen(haystack), needle, strlen(needle))
					# strlen(needle)
	push___%rax
	push___%rax
	mov____%rdi,%rax
	mov____0x8(%rbp),%rdi !0x18
	push___%rdi
	mov____%rax,%rdi
	pop____%rax
	xchg___%rax,(%rsp)
	call32 %strlen
	add____$i8,%rsp !0x8
	mov____%rax,%rdi
	pop____%rax
	push___%rdi
	mov____0x8(%rbp),%rdi !0x18
	push___%rdi
					# strlen(haystack)
	push___%rax
	push___%rax
	mov____%rdi,%rax
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	mov____%rax,%rdi
	pop____%rax
	xchg___%rax,(%rsp)
	call32 %strlen
	add____$i8,%rsp !0x8
	mov____%rax,%rdi
	pop____%rax
	push___%rdi
	mov____0x8(%rbp),%rdi !0x10
	push___%rdi
	call32 %memmem
	add____$i8,%rsp !0x20
	mov____%rbp,%rsp
	pop____%rbp
	ret


:strupr
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# char *p = string; 
	mov____0x8(%rbp),%rax !0x10
	mov____%rax,0x8(%rbp) !0x-8
					# while (*p) ...
	jmp32  %_strupr_4_continue
:_strupr_4_loop
					# *p = toupper(*p)
					# toupper(*p)
	mov____0x8(%rbp),%rdi !0x-8
	movzbq_(%rdi),%rdi
	movsbq_%dil,%rdi
	push___%rdi
	call32 %toupper
	add____$i8,%rsp !0x8
	mov____0x8(%rbp),%rdi !0x-8
	mov____%al,(%rdi)
	test___%rax,%rax
	mov____0x8(%rbp),%rax !0x-8
	mov____%rbp,%rdi
	add____$i8,%rdi !0x-8
	add____$i8,(%rdi) !0x1
	test___%rax,%rax
:_strupr_4_continue
	mov____0x8(%rbp),%rax !0x-8
	movzbq_(%rax),%rax
	movsbq_%al,%rax
					# jmp test LABEL
	test___%rax,%rax
	test___%al,%al
	je32   %_strupr_4_break
	jmp32  %_strupr_4_loop
:_strupr_4_break
	mov____0x8(%rbp),%rax !0x10
	mov____%rbp,%rsp
	pop____%rbp
	ret


:sigaction
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
	mov____$i32,%rax %0x0
	mov____%rbp,%rsp
	pop____%rbp
	ret


:ldexp
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# static int stub = 0; 
					# if (__mes_debug() && !stub) ...
					# __mes_debug()
	call32 %__mes_debug
	add____$i8,%rsp !0x0
					# jmp test LABEL
	test___%rax,%rax
	je32   %_ldexp_2_break
	mov____0x32,%rax &ldexp-stub
	movslq_%eax,%rax
	test___%rax,%rax
	sete___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_ldexp_2_break
					# eputs("ldexp stub ")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_36
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
	jmp32  %_ldexp_2_break
:_ldexp_2_break
					# stub = 1
	mov____$i32,%rax %0x1
	movl___%eax,0x32 &ldexp-stub
	test___%rax,%rax
	mov____$i32,%rax %0x0
	mov____%rbp,%rsp
	pop____%rbp
	ret


:mprotect
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
	mov____$i32,%rax %0x0
	mov____%rbp,%rsp
	pop____%rbp
	ret


:localtime
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# static int stub = 0; 
					# if (__mes_debug() && !stub) ...
					# __mes_debug()
	call32 %__mes_debug
	add____$i8,%rsp !0x0
					# jmp test LABEL
	test___%rax,%rax
	je32   %_localtime_2_break
	mov____0x32,%rax &localtime-stub
	movslq_%eax,%rax
	test___%rax,%rax
	sete___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_localtime_2_break
					# eputs("localtime stub ")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_37
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
	jmp32  %_localtime_2_break
:_localtime_2_break
					# stub = 1
	mov____$i32,%rax %0x1
	movl___%eax,0x32 &localtime-stub
	test___%rax,%rax
					# errno = 0
	mov____$i32,%rax %0x0
	movl___%eax,0x32 &errno
	test___%rax,%rax
	mov____$i32,%rax %0x0
	mov____%rbp,%rsp
	pop____%rbp
	ret


:strtod
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
					# static int stub = 0; 
					# if (__mes_debug() && !stub) ...
					# __mes_debug()
	call32 %__mes_debug
	add____$i8,%rsp !0x0
					# jmp test LABEL
	test___%rax,%rax
	je32   %_strtod_2_break
	mov____0x32,%rax &strtod-stub
	movslq_%eax,%rax
	test___%rax,%rax
	sete___%al
	movzbq_%al,%rax
	test___%rax,%rax
					# jmp test LABEL
	je32   %_strtod_2_break
					# eputs("strtod stub ")
	push___$i32 &_string_lib/x86_64-mes/libc+tcc.S_38
	call32 %eputs
	add____$i8,%rsp !0x8
	test___%rax,%rax
	jmp32  %_strtod_2_break
:_strtod_2_break
					# stub = 1
	mov____$i32,%rax %0x1
	movl___%eax,0x32 &strtod-stub
	test___%rax,%rax
	mov____$i32,%rax %0x0
	mov____%rbp,%rsp
	pop____%rbp
	ret


:sigemptyset
	push___%rbp
	mov____%rsp,%rbp
	sub____$i32,%rsp %0x10a4
	mov____$i32,%rax %0x0
	mov____%rbp,%rsp
	pop____%rbp
	ret

:strtod-stub
!0x00 !0x00 !0x00 !0x00

:localtime-stub
!0x00 !0x00 !0x00 !0x00

:ldexp-stub
!0x00 !0x00 !0x00 !0x00

:fread-buf
!0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00

:search_path-buf
!0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00

:__mes_debug-__mes_debug
!0x-1 !0x-1 !0x-1 !0x-1

:ntoab-itoa_buf
!0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00

:errno
!0x00 !0x00 !0x00 !0x00

:errno
!0x00 !0x00 !0x00 !0x00

:buf
!0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00

:environ
!0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00

:g_stdin
!0x00 !0x00 !0x00 !0x00

:g_stdout
!0x00 !0x00 !0x00 !0x00

:comparison_fn_t
!0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00

:_string_lib/x86_64-mes/libc+tcc.S_0
"
"

:__call_at_exit
!0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00

:_ungetc_pos
!0x-1 !0x-1 !0x-1 !0x-1

:_ungetc_fd
!0x-1 !0x-1 !0x-1 !0x-1

:_ungetc_buf
!0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00

:_string_lib/x86_64-mes/libc+tcc.S_1
" ***MES C LIB*** fdgetc ungetc conflict unget-fd="

:_string_lib/x86_64-mes/libc+tcc.S_2
", fdgetc-fd="

:_string_lib/x86_64-mes/libc+tcc.S_3
", c="

:_string_lib/x86_64-mes/libc+tcc.S_4
" ***MES LIB C*** fdungetc ungetc conflict unget-fd="

:_string_lib/x86_64-mes/libc+tcc.S_5
", fdungetc-fd="

:_string_lib/x86_64-mes/libc+tcc.S_6
"read fd="

:_string_lib/x86_64-mes/libc+tcc.S_7
" c="

:_string_lib/x86_64-mes/libc+tcc.S_8
" bytes="

:g_stdin
!0x00 !0x00 !0x00 !0x00

:_string_lib/x86_64-mes/libc+tcc.S_9
"MES_DEBUG"

:__brk
!0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00

:_string_lib/x86_64-mes/libc+tcc.S_10
"assert fail: "

:_string_lib/x86_64-mes/libc+tcc.S_11
"="

:errno
!0x00 !0x00 !0x00 !0x00

:_string_lib/x86_64-mes/libc+tcc.S_12
"PATH"

:_string_lib/x86_64-mes/libc+tcc.S_13
"
 search-path: "

:_string_lib/x86_64-mes/libc+tcc.S_14
" dir: "

:_string_lib/x86_64-mes/libc+tcc.S_15
"/"

:_string_lib/x86_64-mes/libc+tcc.S_16
" found: "

:_string_lib/x86_64-mes/libc+tcc.S_17
" EXEC: "

:_string_lib/x86_64-mes/libc+tcc.S_18
" arg["

:_string_lib/x86_64-mes/libc+tcc.S_19
"]: "

:_string_lib/x86_64-mes/libc+tcc.S_20
"fopen "

:_string_lib/x86_64-mes/libc+tcc.S_21
" "

:_string_lib/x86_64-mes/libc+tcc.S_22
"r+"

:_string_lib/x86_64-mes/libc+tcc.S_23
" => fd="

:_string_lib/x86_64-mes/libc+tcc.S_24
" ***MES LIB C*** fopen of stdin: signal me in band
"

:_string_lib/x86_64-mes/libc+tcc.S_25
"fread fd="

:_string_lib/x86_64-mes/libc+tcc.S_26
"fread buf="

:_string_lib/x86_64-mes/libc+tcc.S_27
"  =>"

:_string_lib/x86_64-mes/libc+tcc.S_28
"fwrite "

:_string_lib/x86_64-mes/libc+tcc.S_29
"  "

:_string_lib/x86_64-mes/libc+tcc.S_30
" => "

:_string_lib/x86_64-mes/libc+tcc.S_31
"vfprintf: skipping second: l
"

:_string_lib/x86_64-mes/libc+tcc.S_32
"vfprintf: not supported: %:"

:_string_lib/x86_64-mes/libc+tcc.S_33
"vsprintf: not supported: %:"

:_string_lib/x86_64-mes/libc+tcc.S_34
"vsscanf: not supported: %:"

:_string_lib/x86_64-mes/libc+tcc.S_35
"0x"

:_string_lib/x86_64-mes/libc+tcc.S_36
"ldexp stub
"

:_string_lib/x86_64-mes/libc+tcc.S_37
"localtime stub
"

:_string_lib/x86_64-mes/libc+tcc.S_38
"strtod stub
"
