

:strlen
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# int i = 0;\n
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x-4
					# while (s[i]) ...
	jmp32  %_strlen_4_continue
:_strlen_4_loop
	mov____0x8(%ebp),%eax !0x-4
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-4
	add____$i8,(%ebx) !0x1
	test___%eax,%eax
:_strlen_4_continue
	mov____0x8(%ebp),%eax !0x-4
	mov____0x8(%ebp),%ebx !0x8
	add____%ebx,%eax
	movzbl_(%eax),%eax
	movsbl_%al,%eax
					# jmp test LABEL
	test___%eax,%eax
	test___%al,%al
	je32   %_strlen_4_break
	jmp32  %_strlen_4_loop
:_strlen_4_break
	mov____0x8(%ebp),%eax !0x-4
	leave
	ret


:eputs
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# int i = strlen(s);\n
					# strlen(s)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %strlen
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-4
					# write(g_stderr, s, i)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____0x32,%ebx &g_stderr
	push___%ebx
	call32 %write
	add____$i8,%esp !0xc
	test___%eax,%eax
	mov____$i32,%eax %0x0
	leave
	ret


:oputs
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# int i = strlen(s);\n
					# strlen(s)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %strlen
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-4
					# write(g_stdout, s, i)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____0x32,%ebx &g_stdout
	push___%ebx
	call32 %write
	add____$i8,%esp !0xc
	test___%eax,%eax
	mov____$i32,%eax %0x0
	leave
	ret


:puts
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# oputs(s)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %oputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# oputs("\n")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_0
	call32 %oputs
	add____$i8,%esp !0x4
	leave
	ret


:_exit
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
	mov____$i32,%eax SYS_exit
	mov____0x8(%ebp),%ebx !8
	int____$0x80
	leave
	ret


:_write
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
	mov____$i32,%eax SYS_write
	mov____0x8(%ebp),%ebx !8
	mov____0x8(%ebp),%ecx !12
	mov____0x8(%ebp),%edx !16
	int____$0x80
	leave
	ret


:write
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# int r = _write(filedes, buffer, size);\n
					# _write(filedes, buffer, size)
	mov____0x8(%ebp),%ebx !0x10
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %_write
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-4
					# if (r < 0) ...else ...
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x0
	sub____%ebx,%eax
	setl___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_write_11_else
					# errno = -r
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x0
	xchg___%eax,%ebx
	sub____%ebx,%eax
	mov____%eax,0x32 &errno
	test___%eax,%eax
					# r = -1
	mov____$i32,%eax %0x-1
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
	jmp32  %_write_11_break
:_write_11_else
					# errno = 0
	mov____$i32,%eax %0x0
	mov____%eax,0x32 &errno
	test___%eax,%eax
:_write_11_break
	mov____0x8(%ebp),%eax !0x-4
	leave
	ret


:exit
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# if (__call_at_exit) ...
	mov____0x32,%eax &__call_at_exit
					# jmp test LABEL
	test___%eax,%eax
	je32   %_exit_1_break
					# (*__call_at_exit)()
	mov____0x32,%eax &__call_at_exit
	call___*%eax
	add____$i8,%esp !0x0
	test___%eax,%eax
	jmp32  %_exit_1_break
:_exit_1_break
					# _exit(code)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %_exit
	add____$i8,%esp !0x4
	test___%eax,%eax
	leave
	ret


:isdigit
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x30
	sub____%ebx,%eax
	setge__%al
	movzbl_%al,%eax
	test___%eax,%eax
	test___%eax,%eax
	je32   %_isdigit_6_and_skip_b
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x39
	sub____%ebx,%eax
	setle__%al
	movzbl_%al,%eax
	test___%eax,%eax
	test___%eax,%eax
:_isdigit_6_and_skip_b
	leave
	ret


:isxdigit
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# isdigit(c)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %isdigit
	add____$i8,%esp !0x4
	test___%eax,%eax
	jne32  %_isxdigit_5_or_skip_b
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x61
	sub____%ebx,%eax
	setge__%al
	movzbl_%al,%eax
	test___%eax,%eax
	test___%eax,%eax
	je32   %_isxdigit_13_and_skip_b
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x66
	sub____%ebx,%eax
	setle__%al
	movzbl_%al,%eax
	test___%eax,%eax
	test___%eax,%eax
:_isxdigit_13_and_skip_b
	test___%eax,%eax
:_isxdigit_5_or_skip_b
	leave
	ret


:isspace
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x9
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
	jne32  %_isspace_5_or_skip_b
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0xa
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
:_isspace_5_or_skip_b
	test___%eax,%eax
	jne32  %_isspace_14_or_skip_b
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0xb
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
:_isspace_14_or_skip_b
	test___%eax,%eax
	jne32  %_isspace_23_or_skip_b
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0xc
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
:_isspace_23_or_skip_b
	test___%eax,%eax
	jne32  %_isspace_32_or_skip_b
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0xd
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
:_isspace_32_or_skip_b
	test___%eax,%eax
	jne32  %_isspace_41_or_skip_b
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x20
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
:_isspace_41_or_skip_b
	leave
	ret


:isnumber
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# if (base == 2) ...
	mov____0x8(%ebp),%eax !0xc
	mov____$i32,%ebx %0x2
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_isnumber_1_break
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x30
	sub____%ebx,%eax
	setge__%al
	movzbl_%al,%eax
	test___%eax,%eax
	test___%eax,%eax
	je32   %_isnumber_13_and_skip_b
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x31
	sub____%ebx,%eax
	setle__%al
	movzbl_%al,%eax
	test___%eax,%eax
	test___%eax,%eax
:_isnumber_13_and_skip_b
	leave
	ret
	jmp32  %_isnumber_1_break
:_isnumber_1_break
					# if (base == 8) ...
	mov____0x8(%ebp),%eax !0xc
	mov____$i32,%ebx %0x8
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_isnumber_26_break
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x30
	sub____%ebx,%eax
	setge__%al
	movzbl_%al,%eax
	test___%eax,%eax
	test___%eax,%eax
	je32   %_isnumber_38_and_skip_b
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x37
	sub____%ebx,%eax
	setle__%al
	movzbl_%al,%eax
	test___%eax,%eax
	test___%eax,%eax
:_isnumber_38_and_skip_b
	leave
	ret
	jmp32  %_isnumber_26_break
:_isnumber_26_break
					# if (base == 10) ...
	mov____0x8(%ebp),%eax !0xc
	mov____$i32,%ebx %0xa
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_isnumber_51_break
					# isdigit(c)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %isdigit
	add____$i8,%esp !0x4
	leave
	ret
	jmp32  %_isnumber_51_break
:_isnumber_51_break
					# if (base == 16) ...
	mov____0x8(%ebp),%eax !0xc
	mov____$i32,%ebx %0x10
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_isnumber_65_break
					# isxdigit(c)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %isxdigit
	add____$i8,%esp !0x4
	leave
	ret
	jmp32  %_isnumber_65_break
:_isnumber_65_break
	leave
	ret


:abtol
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# char *s = *p;\n
	mov____0x8(%ebp),%eax !0x8
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-4
					# int i = 0;\n
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x-8
					# int sign = 1;\n
	mov____$i32,%eax %0x1
	mov____%eax,0x8(%ebp) !0x-c
					# if (!base) ...
	mov____0x8(%ebp),%eax !0xc
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_abtol_11_break
					# base = 10
	mov____$i32,%eax %0xa
	mov____%eax,0x8(%ebp) !0xc
	test___%eax,%eax
	jmp32  %_abtol_11_break
:_abtol_11_break
					# if (*s && *s == '-') ...
	mov____0x8(%ebp),%eax !0x-4
	movzbl_(%eax),%eax
	movsbl_%al,%eax
					# jmp test LABEL
	test___%eax,%eax
	test___%al,%al
	je32   %_abtol_24_break
	mov____0x8(%ebp),%eax !0x-4
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	mov____$i32,%ebx %0x2d
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_abtol_24_break
					# sign = -1
	mov____$i32,%eax %0x-1
	mov____%eax,0x8(%ebp) !0x-c
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x-4
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-4
	add____$i8,(%ebx) !0x1
	test___%eax,%eax
	jmp32  %_abtol_24_break
:_abtol_24_break
					# while (isnumber(*s, base)) ...
	jmp32  %_abtol_49_continue
:_abtol_49_loop
					# i *= base
	mov____0x8(%ebp),%eax !0xc
	mov____0x8(%ebp),%ebx !0x-8
	xchg___%eax,%ebx
	mul____%ebx
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
					# int m = *s > '9'? 'a' - 10: '0';\n
					# *s > '9'? ...: ...
	mov____0x8(%ebp),%eax !0x-4
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	mov____$i32,%ebx %0x39
	sub____%ebx,%eax
	setg___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_abtol_60_else
	mov____$i32,%eax %0x61
	add____$i8,%eax !0x-a
	jmp32  %_abtol_60_break
:_abtol_60_else
	mov____$i32,%eax %0x30
:_abtol_60_break
	mov____%eax,0x8(%ebp) !0x-10
					# i += *s - m
	mov____0x8(%ebp),%eax !0x-4
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	mov____0x8(%ebp),%ebx !0x-10
	sub____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-8
	xchg___%eax,%ebx
	add____%ebx,%eax
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x-4
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-4
	add____$i8,(%ebx) !0x1
	test___%eax,%eax
:_abtol_49_continue
					# isnumber(*s, base)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-4
	movzbl_(%ebx),%ebx
	movsbl_%bl,%ebx
	push___%ebx
	call32 %isnumber
	add____$i8,%esp !0x8
					# jmp test LABEL
	test___%eax,%eax
	je32   %_abtol_49_break
	jmp32  %_abtol_49_loop
:_abtol_49_break
					# *p = s
	mov____0x8(%ebp),%eax !0x-4
	mov____0x8(%ebp),%ebx !0x8
	mov____%eax,(%ebx)
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x-8
	mov____0x8(%ebp),%ebx !0x-c
	mul____%ebx
	leave
	ret


:atoi
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# char *p = s;\n
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,0x8(%ebp) !0x-4
					# abtol(&p, 0)
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-4
	push___%ebx
	call32 %abtol
	add____$i8,%esp !0x8
	leave
	ret


:ntoab
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# static char itoa_buf[20];\n
					# char *p = itoa_buf + 11;\n
	mov____$i32,%eax &ntoab-itoa_buf
	add____$i8,%eax !0xb
	mov____%eax,0x8(%ebp) !0x-4
					# *p = 0
	mov____$i32,%eax %0x0
	mov____0x8(%ebp),%ebx !0x-4
	mov____%al,(%ebx)
	add____$i8,0x8(%ebp) !0x-4 !0x-1
	test___%eax,%eax
					# int sign = 0;\n
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x-8
					# unsigned long u = x;\n
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,0x8(%ebp) !0x-c
					# if (signed_p && x < 0) ...
	mov____0x8(%ebp),%eax !0x10
					# jmp test LABEL
	test___%eax,%eax
	je32   %_ntoab_18_break
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x0
	sub____%ebx,%eax
	setl___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_ntoab_18_break
					# sign = 1
	mov____$i32,%eax %0x1
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
					# u = -x
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x0
	xchg___%eax,%ebx
	sub____%ebx,%eax
	mov____%eax,0x8(%ebp) !0x-c
	test___%eax,%eax
	jmp32  %_ntoab_18_break
:_ntoab_18_break
					# do uwhile (...);\n
:_ntoab_43_loop
					# long i = u%base;\n
	mov____0x8(%ebp),%eax !0x-c
	mov____0x8(%ebp),%ebx !0xc
	xor____%edx,%edx
	div___%ebx
	mov____%edx,%eax
	mov____%eax,0x8(%ebp) !0x-10
					# *p = i > 9? 'a' + i - 10: '0' + i
					# i > 9? ...: ...
	mov____0x8(%ebp),%eax !0x-10
	mov____$i32,%ebx %0x9
	sub____%ebx,%eax
	setg___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_ntoab_51_else
	mov____$i32,%eax %0x61
	mov____0x8(%ebp),%ebx !0x-10
	add____%ebx,%eax
	add____$i8,%eax !0x-a
	jmp32  %_ntoab_51_break
:_ntoab_51_else
	mov____$i32,%eax %0x30
	mov____0x8(%ebp),%ebx !0x-10
	add____%ebx,%eax
:_ntoab_51_break
	mov____0x8(%ebp),%ebx !0x-4
	mov____%al,(%ebx)
	add____$i8,0x8(%ebp) !0x-4 !0x-1
	test___%eax,%eax
					# u = u/base
	mov____0x8(%ebp),%eax !0x-c
	mov____0x8(%ebp),%ebx !0xc
	xor____%edx,%edx
	div___%ebx
	mov____%eax,0x8(%ebp) !0x-c
	test___%eax,%eax
:_ntoab_43_continue
	mov____0x8(%ebp),%eax !0x-c
					# jmp test LABEL
	test___%eax,%eax
	je32   %_ntoab_43_break
	jmp32  %_ntoab_43_loop
:_ntoab_43_break
					# if (sign && *(p + 1) != '0') ...
	mov____0x8(%ebp),%eax !0x-8
					# jmp test LABEL
	test___%eax,%eax
	je32   %_ntoab_86_break
	mov____0x8(%ebp),%eax !0x-4
	add____$i8,%eax !0x1
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	mov____$i32,%ebx %0x30
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_ntoab_86_break
					# *p = '-'
	mov____$i32,%eax %0x2d
	mov____0x8(%ebp),%ebx !0x-4
	mov____%al,(%ebx)
	add____$i8,0x8(%ebp) !0x-4 !0x-1
	test___%eax,%eax
	jmp32  %_ntoab_86_break
:_ntoab_86_break
	mov____0x8(%ebp),%eax !0x-4
	add____$i8,%eax !0x1
	leave
	ret


:ltoab
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# ntoab(x, base, 1)
	mov____$i32,%ebx %0x1
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %ntoab
	add____$i8,%esp !0xc
	leave
	ret


:itoa
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# ntoab(x, 10, 1)
	mov____$i32,%ebx %0x1
	push___%ebx
	mov____$i32,%ebx %0xa
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %ntoab
	add____$i8,%esp !0xc
	leave
	ret


:ltoa
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# ntoab(x, 10, 1)
	mov____$i32,%ebx %0x1
	push___%ebx
	mov____$i32,%ebx %0xa
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %ntoab
	add____$i8,%esp !0xc
	leave
	ret


:ultoa
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# ntoab(x, 10, 1)
	mov____$i32,%ebx %0x1
	push___%ebx
	mov____$i32,%ebx %0xa
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %ntoab
	add____$i8,%esp !0xc
	leave
	ret


:utoa
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# ntoab(x, 10, 0)
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____$i32,%ebx %0xa
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %ntoab
	add____$i8,%esp !0xc
	leave
	ret


:fdgetc
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# char c;\n
					# int i;\n
					# if (_ungetc_pos == -1) ...else ...
	mov____0x32,%eax &_ungetc_pos
	mov____$i32,%ebx %0x-1
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_fdgetc_3_else
					# int r = read(fd, &c, 1);\n
					# read(fd, &c, 1)
	mov____$i32,%ebx %0x1
	push___%ebx
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-4
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %read
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-c
					# if (r < 1) ...
	mov____0x8(%ebp),%eax !0x-c
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	setl___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_fdgetc_20_break
	mov____$i32,%eax %0x-1
	leave
	ret
	jmp32  %_fdgetc_20_break
:_fdgetc_20_break
					# i = c
	mov____0x8(%ebp),%eax !0x-4
	movsbl_%al,%eax
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
	jmp32  %_fdgetc_3_break
:_fdgetc_3_else
					# i = _ungetc_buf[_ungetc_pos]
	mov____0x32,%eax &_ungetc_pos
	mov____$i32,%ebx &_ungetc_buf
	add____%ebx,%eax
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
					# if (_ungetc_fd != fd && i == 10) ...else ...
	mov____0x32,%eax &_ungetc_fd
	mov____0x8(%ebp),%ebx !0x8
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_fdgetc_47_else
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0xa
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_fdgetc_47_else
					# _ungetc_pos = -1
	mov____$i32,%eax %0x-1
	mov____%eax,0x32 &_ungetc_pos
	test___%eax,%eax
					# _ungetc_fd = -1
	mov____$i32,%eax %0x-1
	mov____%eax,0x32 &_ungetc_fd
	test___%eax,%eax
					# fdgetc(fd)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %fdgetc
	add____$i8,%esp !0x4
	leave
	ret
	jmp32  %_fdgetc_47_break
:_fdgetc_47_else
					# if (_ungetc_fd != fd) ...
	mov____0x32,%eax &_ungetc_fd
	mov____0x8(%ebp),%ebx !0x8
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_fdgetc_77_break
					# eputs(" ***MES C LIB*** fdgetc ungetc conflict unget-fd=")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_1
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(itoa(_ungetc_fd))
					# itoa(_ungetc_fd)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &_ungetc_fd
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %itoa
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(", fdgetc-fd=")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_2
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(itoa(fd))
					# itoa(fd)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %itoa
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(", c=")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_3
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(itoa(_ungetc_buf[_ungetc_pos]))
					# itoa(_ungetc_buf[_ungetc_pos])
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &_ungetc_pos
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx &_ungetc_buf
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	movzbl_(%ebx),%ebx
	movsbl_%bl,%ebx
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %itoa
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs("\n")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_0
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# exit(1)
	mov____$i32,%ebx %0x1
	push___%ebx
	call32 %exit
	add____$i8,%esp !0x4
	test___%eax,%eax
	jmp32  %_fdgetc_77_break
:_fdgetc_77_break
:_fdgetc_47_break
					# i = _ungetc_buf[_ungetc_pos]
	mov____0x32,%eax &_ungetc_pos
	mov____$i32,%ebx &_ungetc_buf
	add____%ebx,%eax
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
					# _ungetc_pos -= 1
	mov____$i32,%eax %0x1
	mov____0x32,%ebx &_ungetc_pos
	xchg___%eax,%ebx
	sub____%ebx,%eax
	mov____%eax,0x32 &_ungetc_pos
	test___%eax,%eax
					# if (_ungetc_pos == -1) ...
	mov____0x32,%eax &_ungetc_pos
	mov____$i32,%ebx %0x-1
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_fdgetc_173_break
					# _ungetc_fd = -1
	mov____$i32,%eax %0x-1
	mov____%eax,0x32 &_ungetc_fd
	test___%eax,%eax
	jmp32  %_fdgetc_173_break
:_fdgetc_173_break
:_fdgetc_3_break
					# if (i < 0) ...
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0x0
	sub____%ebx,%eax
	setl___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_fdgetc_187_break
					# i += 256
	mov____$i32,%eax %0x100
	mov____0x8(%ebp),%ebx !0x-8
	xchg___%eax,%ebx
	add____%ebx,%eax
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
	jmp32  %_fdgetc_187_break
:_fdgetc_187_break
	mov____0x8(%ebp),%eax !0x-8
	leave
	ret


:fdputc
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# write(fd, (char*)&c, 1)
	mov____$i32,%ebx %0x1
	push___%ebx
	mov____%ebp,%ebx
	add____$i8,%ebx !0x8
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	call32 %write
	add____$i8,%esp !0xc
	test___%eax,%eax
	mov____$i32,%eax %0x0
	leave
	ret


:fdputs
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# int i = strlen(s);\n
					# strlen(s)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %strlen
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-4
					# write(fd, s, i)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	call32 %write
	add____$i8,%esp !0xc
	test___%eax,%eax
	mov____$i32,%eax %0x0
	leave
	ret


:fdungetc
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# if (c == -1) ...
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x-1
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_fdungetc_1_break
	mov____0x8(%ebp),%eax !0x8
	leave
	ret
	jmp32  %_fdungetc_1_break
:_fdungetc_1_break
					# if (_ungetc_pos == -1) ...else ...
	mov____0x32,%eax &_ungetc_pos
	mov____$i32,%ebx %0x-1
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_fdungetc_12_else
					# _ungetc_fd = fd
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,0x32 &_ungetc_fd
	test___%eax,%eax
	jmp32  %_fdungetc_12_break
:_fdungetc_12_else
					# if (_ungetc_fd != fd) ...
	mov____0x32,%eax &_ungetc_fd
	mov____0x8(%ebp),%ebx !0xc
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_fdungetc_25_break
					# eputs(" ***MES LIB C*** fdungetc ungetc conflict unget-fd=")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_4
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(itoa(_ungetc_fd))
					# itoa(_ungetc_fd)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &_ungetc_fd
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %itoa
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(", fdungetc-fd=")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_5
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(itoa(fd))
					# itoa(fd)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %itoa
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs("\n")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_0
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# exit(1)
	mov____$i32,%ebx %0x1
	push___%ebx
	call32 %exit
	add____$i8,%esp !0x4
	test___%eax,%eax
	jmp32  %_fdungetc_25_break
:_fdungetc_25_break
:_fdungetc_12_break
	mov____0x32,%eax &_ungetc_pos
	mov____$i32,%ebx &_ungetc_pos
	add____$i8,(%ebx) !0x1
	test___%eax,%eax
					# _ungetc_buf[_ungetc_pos] = c
	mov____0x8(%ebp),%eax !0x8
	mov____0x32,%ebx &_ungetc_pos
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx &_ungetc_buf
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____%al,(%ebx)
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x8
	leave
	ret


:_fdungetc_p
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
	mov____0x32,%eax &_ungetc_pos
	mov____$i32,%ebx %0x-1
	sub____%ebx,%eax
	setg___%al
	movzbl_%al,%eax
	test___%eax,%eax
	leave
	ret


:eputc
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# fdputc(c, g_stderr)
	mov____0x32,%ebx &g_stderr
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %fdputc
	add____$i8,%esp !0x8
	leave
	ret


:oputc
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# fdputc(c, g_stdout)
	mov____0x32,%ebx &g_stdout
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %fdputc
	add____$i8,%esp !0x8
	leave
	ret


:__sys_call
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
	mov____0x8(%ebp),%eax !8
	int____$0x80
	leave
	ret


:__sys_call1
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
	mov____0x8(%ebp),%eax !8
	mov____0x8(%ebp),%ebx !12
	int____$0x80
	leave
	ret


:__sys_call2
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
	mov____0x8(%ebp),%eax !8
	mov____0x8(%ebp),%ebx !12
	mov____0x8(%ebp),%ecx !16
	int____$0x80
	leave
	ret


:__sys_call3
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
	mov____0x8(%ebp),%eax !8
	mov____0x8(%ebp),%ebx !12
	mov____0x8(%ebp),%ecx !16
	mov____0x8(%ebp),%edx !20
	int____$0x80
	leave
	ret


:__sys_call4
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
	mov____0x8(%ebp),%eax !8
	mov____0x8(%ebp),%ebx !12
	mov____0x8(%ebp),%ecx !16
	mov____0x8(%ebp),%edx !20
	mov____0x8(%ebp),%esi !24
	int____$0x80
	leave
	ret


:_sys_call
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# int r = __sys_call(sys_call);\n
					# __sys_call(sys_call)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %__sys_call
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-4
					# if (r < 0) ...else ...
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x0
	sub____%ebx,%eax
	setl___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %__sys_call_7_else
					# errno = -r
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x0
	xchg___%eax,%ebx
	sub____%ebx,%eax
	mov____%eax,0x32 &errno
	test___%eax,%eax
					# r = -1
	mov____$i32,%eax %0x-1
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
	jmp32  %__sys_call_7_break
:__sys_call_7_else
					# errno = 0
	mov____$i32,%eax %0x0
	mov____%eax,0x32 &errno
	test___%eax,%eax
:__sys_call_7_break
	mov____0x8(%ebp),%eax !0x-4
	leave
	ret


:_sys_call1
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# int r = __sys_call1(sys_call, one);\n
					# __sys_call1(sys_call, one)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %__sys_call1
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-4
					# if (r < 0) ...else ...
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x0
	sub____%ebx,%eax
	setl___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %__sys_call1_9_else
					# errno = -r
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x0
	xchg___%eax,%ebx
	sub____%ebx,%eax
	mov____%eax,0x32 &errno
	test___%eax,%eax
					# r = -1
	mov____$i32,%eax %0x-1
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
	jmp32  %__sys_call1_9_break
:__sys_call1_9_else
					# errno = 0
	mov____$i32,%eax %0x0
	mov____%eax,0x32 &errno
	test___%eax,%eax
:__sys_call1_9_break
	mov____0x8(%ebp),%eax !0x-4
	leave
	ret


:_sys_call2
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# int r = __sys_call2(sys_call, one, two);\n
					# __sys_call2(sys_call, one, two)
	mov____0x8(%ebp),%ebx !0x10
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %__sys_call2
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-4
					# if (r < 0) ...else ...
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x0
	sub____%ebx,%eax
	setl___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %__sys_call2_11_else
					# errno = -r
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x0
	xchg___%eax,%ebx
	sub____%ebx,%eax
	mov____%eax,0x32 &errno
	test___%eax,%eax
					# r = -1
	mov____$i32,%eax %0x-1
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
	jmp32  %__sys_call2_11_break
:__sys_call2_11_else
					# errno = 0
	mov____$i32,%eax %0x0
	mov____%eax,0x32 &errno
	test___%eax,%eax
:__sys_call2_11_break
	mov____0x8(%ebp),%eax !0x-4
	leave
	ret


:_sys_call3
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# int r = __sys_call3(sys_call, one, two, three);\n
					# __sys_call3(sys_call, one, two, three)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	mov____0x8(%ebp),%ebx !0x10
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %__sys_call3
	add____$i8,%esp !0x10
	mov____%eax,0x8(%ebp) !0x-4
					# if (r < 0) ...else ...
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x0
	sub____%ebx,%eax
	setl___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %__sys_call3_13_else
					# errno = -r
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x0
	xchg___%eax,%ebx
	sub____%ebx,%eax
	mov____%eax,0x32 &errno
	test___%eax,%eax
					# r = -1
	mov____$i32,%eax %0x-1
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
	jmp32  %__sys_call3_13_break
:__sys_call3_13_else
					# errno = 0
	mov____$i32,%eax %0x0
	mov____%eax,0x32 &errno
	test___%eax,%eax
:__sys_call3_13_break
	mov____0x8(%ebp),%eax !0x-4
	leave
	ret


:_sys_call4
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# int r = __sys_call4(sys_call, one, two, three, four);\n
					# __sys_call4(sys_call, one, two, three, four)
	mov____0x8(%ebp),%ebx !0x18
	push___%ebx
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	mov____0x8(%ebp),%ebx !0x10
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %__sys_call4
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x-4
					# if (r < 0) ...else ...
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x0
	sub____%ebx,%eax
	setl___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %__sys_call4_15_else
					# errno = -r
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x0
	xchg___%eax,%ebx
	sub____%ebx,%eax
	mov____%eax,0x32 &errno
	test___%eax,%eax
					# r = -1
	mov____$i32,%eax %0x-1
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
	jmp32  %__sys_call4_15_break
:__sys_call4_15_else
					# errno = 0
	mov____$i32,%eax %0x0
	mov____%eax,0x32 &errno
	test___%eax,%eax
:__sys_call4_15_break
	mov____0x8(%ebp),%eax !0x-4
	leave
	ret


:fork
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# _sys_call(0x02)
	mov____$i32,%ebx %0x2
	push___%ebx
	call32 %_sys_call
	add____$i8,%esp !0x4
	leave
	ret


:read
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# ssize_t bytes = _sys_call3(0x03, (int)filedes, (long)buffer, (long)size);\n
					# _sys_call3(0x03, (int)filedes, (long)buffer, (long)size)
	mov____0x8(%ebp),%ebx !0x10
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx %0x3
	push___%ebx
	call32 %_sys_call3
	add____$i8,%esp !0x10
	mov____%eax,0x8(%ebp) !0x-4
					# if (__mes_debug() > 3) ...
					# __mes_debug()
	call32 %__mes_debug
	add____$i8,%esp !0x0
	mov____$i32,%ebx %0x3
	sub____%ebx,%eax
	setg___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_read_13_break
					# if (bytes == 1) ...else ...
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_read_22_else
					# eputs("read fd=")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_6
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(itoa((int)filedes))
					# itoa((int)filedes)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %itoa
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(" c=")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_7
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputc(*((char*)buffer))
	mov____0x8(%ebp),%ebx !0xc
	movzbl_(%ebx),%ebx
	movsbl_%bl,%ebx
	push___%ebx
	call32 %eputc
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs("\n")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_0
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
	jmp32  %_read_22_break
:_read_22_else
					# eputs("read fd=")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_6
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(itoa((int)filedes))
					# itoa((int)filedes)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %itoa
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(" bytes=")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_8
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(itoa(bytes))
					# itoa(bytes)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %itoa
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs("\n")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_0
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
:_read_22_break
	jmp32  %_read_13_break
:_read_13_break
	mov____0x8(%ebp),%eax !0x-4
	leave
	ret


:_open3
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# if (!flags) ...
	mov____0x8(%ebp),%eax !0xc
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %__open3_1_break
					# _ungetc_pos = -1
	mov____$i32,%eax %0x-1
	mov____%eax,0x32 &_ungetc_pos
	test___%eax,%eax
					# _ungetc_fd = -1
	mov____$i32,%eax %0x-1
	mov____%eax,0x32 &_ungetc_fd
	test___%eax,%eax
	jmp32  %__open3_1_break
:__open3_1_break
					# int r = _sys_call3(0x05, (long)file_name, (int)flags, (int)mask);\n
					# _sys_call3(0x05, (long)file_name, (int)flags, (int)mask)
	mov____0x8(%ebp),%ebx !0x10
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx %0x5
	push___%ebx
	call32 %_sys_call3
	add____$i8,%esp !0x10
	mov____%eax,0x8(%ebp) !0x-4
	mov____0x8(%ebp),%eax !0x-4
	leave
	ret


:_open2
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# int mask = 0777;\n
	mov____$i32,%eax %0x1ff
	mov____%eax,0x8(%ebp) !0x-4
					# _open3(file_name, flags, mask)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %_open3
	add____$i8,%esp !0xc
	leave
	ret


:open
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# va_list ap;\n
					# ap = (char*)(&flags + 1)
	mov____%ebp,%eax
	add____$i8,%eax !0xc
	add____$i8,%eax !0x4
	mov____%eax,0x8(%ebp) !0x-4
	movzbl_%al,%eax
	test___%eax,%eax
					# int mask = (int)(long*)(ap = ap + sizeof(void*))[-1];\n
	mov____$i32,%eax %0x-1
	shl____$i8,%eax !0x2
					# ap = ap + sizeof(void*)
	mov____0x8(%ebp),%ebx !0x-4
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x4
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____%ebx,0x8(%ebp) !0x-4
	add____%ebx,%eax
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-8
					# int r = _open3(file_name, flags, mask);\n
					# _open3(file_name, flags, mask)
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %_open3
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-c
					# ap = 0
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x-4
	movzbl_%al,%eax
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x-c
	leave
	ret


:waitpid
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# _sys_call3(0x07, (long)pid, (long)status_ptr, (int)options)
	mov____0x8(%ebp),%ebx !0x10
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx %0x7
	push___%ebx
	call32 %_sys_call3
	add____$i8,%esp !0x10
	leave
	ret


:execve
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# _sys_call3(0x0b, (long)file_name, (long)argv, (long)env)
	mov____0x8(%ebp),%ebx !0x10
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx %0xb
	push___%ebx
	call32 %_sys_call3
	add____$i8,%esp !0x10
	leave
	ret


:chmod
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# _sys_call2(0x0f, (long)file_name, (long)mask)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx %0xf
	push___%ebx
	call32 %_sys_call2
	add____$i8,%esp !0xc
	leave
	ret


:access
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# _sys_call2(0x21, (long)file_name, (int)how)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx %0x21
	push___%ebx
	call32 %_sys_call2
	add____$i8,%esp !0xc
	leave
	ret


:brk
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# _sys_call1(0x2d, (long)addr)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx %0x2d
	push___%ebx
	call32 %_sys_call1
	add____$i8,%esp !0x8
	leave
	ret


:ioctl
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# va_list ap;\n
					# ap = (char*)(&command + 1)
	mov____%ebp,%eax
	add____$i8,%eax !0xc
	add____$i8,%eax !0x4
	mov____%eax,0x8(%ebp) !0x-4
	movzbl_%al,%eax
	test___%eax,%eax
					# int data = (int)(long*)(ap = ap + sizeof(void*))[-1];\n
	mov____$i32,%eax %0x-1
	shl____$i8,%eax !0x2
					# ap = ap + sizeof(void*)
	mov____0x8(%ebp),%ebx !0x-4
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x4
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____%ebx,0x8(%ebp) !0x-4
	add____%ebx,%eax
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-8
					# int r = _sys_call3(0x36, (int)filedes, (long)command, (int)data);\n
					# _sys_call3(0x36, (int)filedes, (long)command, (int)data)
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx %0x36
	push___%ebx
	call32 %_sys_call3
	add____$i8,%esp !0x10
	mov____%eax,0x8(%ebp) !0x-c
					# ap = 0
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x-4
	movzbl_%al,%eax
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x-c
	leave
	ret


:fsync
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# _sys_call1(0x76, (int)filedes)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx %0x76
	push___%ebx
	call32 %_sys_call1
	add____$i8,%esp !0x8
	leave
	ret


:_getcwd
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# int r = _sys_call2(0xb7, (long)buffer, (long)size);\n
					# _sys_call2(0xb7, (long)buffer, (long)size)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx %0xb7
	push___%ebx
	call32 %_sys_call2
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-4
					# if (r >= 0) ...
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x0
	sub____%ebx,%eax
	setge__%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %__getcwd_11_break
	mov____0x8(%ebp),%eax !0x8
	leave
	ret
	jmp32  %__getcwd_11_break
:__getcwd_11_break
	mov____$i32,%eax %0x0
	leave
	ret


:getcwd
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# static char buf[512];\n
					# if (buffer) ...
	mov____0x8(%ebp),%eax !0x8
					# jmp test LABEL
	test___%eax,%eax
	je32   %_getcwd_2_break
					# _getcwd(buffer, size)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %_getcwd
	add____$i8,%esp !0x8
	leave
	ret
	jmp32  %_getcwd_2_break
:_getcwd_2_break
					# _getcwd(buf, 512)
	mov____$i32,%ebx %0x200
	push___%ebx
	mov____$i32,%ebx &getcwd-buf
	push___%ebx
	call32 %_getcwd
	add____$i8,%esp !0x8
	leave
	ret


:dup
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# _sys_call1(0x29, (int)old)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx %0x29
	push___%ebx
	call32 %_sys_call1
	add____$i8,%esp !0x8
	leave
	ret


:dup2
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# _sys_call2(0x3f, (int)old, (int)new)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx %0x3f
	push___%ebx
	call32 %_sys_call2
	add____$i8,%esp !0xc
	leave
	ret


:unlink
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# _sys_call1(0x0a, (long)file_name)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx %0xa
	push___%ebx
	call32 %_sys_call1
	add____$i8,%esp !0x8
	leave
	ret


:clock_gettime
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# _sys_call2(0x109, (long)clk_id, (long)tp)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx %0x109
	push___%ebx
	call32 %_sys_call2
	add____$i8,%esp !0xc
	leave
	ret


:gettimeofday
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# _sys_call2(0x4e, (long)tv, (long)tz)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx %0x4e
	push___%ebx
	call32 %_sys_call2
	add____$i8,%esp !0xc
	leave
	ret


:time
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# _sys_call1(0x0d, (long)result)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx %0xd
	push___%ebx
	call32 %_sys_call1
	add____$i8,%esp !0x8
	leave
	ret


:__mes_debug
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# static int __mes_debug = -1;\n
					# if (__mes_debug == -1) ...
	mov____0x32,%eax &__mes_debug-__mes_debug
	mov____$i32,%ebx %0x-1
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %___mes_debug_2_break
					# char *p = getenv("MES_DEBUG");\n
					# getenv("MES_DEBUG")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_9
	call32 %getenv
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-4
					# __mes_debug = p? atoi(p) > 1? atoi(p): 1: 0
					# p? ...: ...
	mov____0x8(%ebp),%eax !0x-4
					# jmp test LABEL
	test___%eax,%eax
	je32   %___mes_debug_15_else
					# atoi(p) > 1? ...: ...
					# atoi(p)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %atoi
	add____$i8,%esp !0x4
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	setg___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %___mes_debug_20_else
					# atoi(p)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %atoi
	add____$i8,%esp !0x4
	jmp32  %___mes_debug_20_break
:___mes_debug_20_else
	mov____$i32,%eax %0x1
:___mes_debug_20_break
	jmp32  %___mes_debug_15_break
:___mes_debug_15_else
	mov____$i32,%eax %0x0
:___mes_debug_15_break
	mov____%eax,0x32 &__mes_debug-__mes_debug
	test___%eax,%eax
	jmp32  %___mes_debug_2_break
:___mes_debug_2_break
	mov____0x32,%eax &__mes_debug-__mes_debug
	leave
	ret


:memcpy
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# char *p = dest;\n
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,0x8(%ebp) !0x-4
					# char *q = src;\n
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,0x8(%ebp) !0x-8
					# while (n--) ...
	jmp32  %_memcpy_7_continue
:_memcpy_7_loop
					# *p = *q++
	mov____0x8(%ebp),%eax !0x-8
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-8
	add____$i8,(%ebx) !0x1
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	mov____0x8(%ebp),%ebx !0x-4
	mov____%al,(%ebx)
	add____$i8,0x8(%ebp) !0x-4 !0x1
	test___%eax,%eax
:_memcpy_7_continue
	mov____0x8(%ebp),%eax !0x10
	mov____%ebp,%ebx
	add____$i8,%ebx !0x10
	add____$i8,(%ebx) !0x-1
					# jmp test LABEL
	test___%eax,%eax
	je32   %_memcpy_7_break
	jmp32  %_memcpy_7_loop
:_memcpy_7_break
	mov____0x8(%ebp),%eax !0x8
	leave
	ret


:malloc
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# if (!__brk) ...
	mov____0x32,%eax &__brk
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_malloc_1_break
					# __brk = brk(0)
					# brk(0)
	mov____$i32,%ebx %0x0
	push___%ebx
	call32 %brk
	add____$i8,%esp !0x4
	mov____%eax,0x32 &__brk
	test___%eax,%eax
	jmp32  %_malloc_1_break
:_malloc_1_break
					# if (brk(__brk + size) == (void*)-1) ...
					# brk(__brk + size)
	mov____0x32,%ebx &__brk
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %brk
	add____$i8,%esp !0x4
	mov____$i32,%ebx %0x-1
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_malloc_17_break
	mov____$i32,%eax %0x0
	leave
	ret
	jmp32  %_malloc_17_break
:_malloc_17_break
					# char *p = __brk;\n
	mov____0x32,%eax &__brk
	mov____%eax,0x8(%ebp) !0x-4
					# __brk += size
	mov____0x8(%ebp),%eax !0x8
	mov____0x32,%ebx &__brk
	xchg___%eax,%ebx
	add____%ebx,%eax
	mov____%eax,0x32 &__brk
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x-4
	leave
	ret


:assert_fail
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# eputs("assert fail: ")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_10
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(s)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs("\n")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_0
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# char *fail = s;\n
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,0x8(%ebp) !0x-4
					# fail = 0
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# *fail = 0
	mov____$i32,%eax %0x0
	mov____0x8(%ebp),%ebx !0x-4
	mov____%al,(%ebx)
	test___%eax,%eax
	leave
	ret


:getchar
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# fdgetc(g_stdin)
	mov____0x32,%ebx &g_stdin
	push___%ebx
	call32 %fdgetc
	add____$i8,%esp !0x4
	leave
	ret


:putchar
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# write(1, (char*)&c, 1)
	mov____$i32,%ebx %0x1
	push___%ebx
	mov____%ebp,%ebx
	add____$i8,%ebx !0x8
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	call32 %write
	add____$i8,%esp !0xc
	test___%eax,%eax
	mov____$i32,%eax %0x0
	leave
	ret


:fputc
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# fdputc(c, (int)stream)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %fdputc
	add____$i8,%esp !0x8
	leave
	ret


:fputs
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# fdputs(s, (long)stream)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %fdputs
	add____$i8,%esp !0x8
	leave
	ret


:putc
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# fdputc(c, (long)stream)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %fdputc
	add____$i8,%esp !0x8
	leave
	ret


:getc
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# fdgetc((long)stream)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %fdgetc
	add____$i8,%esp !0x4
	leave
	ret


:fgetc
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# fdgetc((long)stream)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %fdgetc
	add____$i8,%esp !0x4
	leave
	ret


:ungetc
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# fdungetc(c, (long)stream)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %fdungetc
	add____$i8,%esp !0x8
	leave
	ret


:memchr
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# char *p = block;\n
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,0x8(%ebp) !0x-4
					# while (size--) ...
	jmp32  %_memchr_4_continue
:_memchr_4_loop
					# if (c == *p) ...
	mov____0x8(%ebp),%eax !0xc
	mov____0x8(%ebp),%ebx !0x-4
	movzbl_(%ebx),%ebx
	movsbl_%bl,%ebx
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_memchr_7_break
	mov____0x8(%ebp),%eax !0x-4
	leave
	ret
	jmp32  %_memchr_7_break
:_memchr_7_break
	mov____0x8(%ebp),%eax !0x-4
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-4
	add____$i8,(%ebx) !0x1
	test___%eax,%eax
:_memchr_4_continue
	mov____0x8(%ebp),%eax !0x10
	mov____%ebp,%ebx
	add____$i8,%ebx !0x10
	add____$i8,(%ebx) !0x-1
					# jmp test LABEL
	test___%eax,%eax
	je32   %_memchr_4_break
	jmp32  %_memchr_4_loop
:_memchr_4_break
	mov____$i32,%eax %0x0
	leave
	ret


:memcmp
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# if (!size) ...
	mov____0x8(%ebp),%eax !0x10
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_memcmp_1_break
	mov____$i32,%eax %0x0
	leave
	ret
	jmp32  %_memcmp_1_break
:_memcmp_1_break
					# char *a = s1;\n
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,0x8(%ebp) !0x-4
					# char *b = s2;\n
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,0x8(%ebp) !0x-8
					# while (*a == *b && --size) ...
	jmp32  %_memcmp_18_continue
:_memcmp_18_loop
	mov____0x8(%ebp),%eax !0x-4
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-4
	add____$i8,(%ebx) !0x1
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x-8
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-8
	add____$i8,(%ebx) !0x1
	test___%eax,%eax
:_memcmp_18_continue
	mov____0x8(%ebp),%eax !0x-4
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	mov____0x8(%ebp),%ebx !0x-8
	movzbl_(%ebx),%ebx
	movsbl_%bl,%ebx
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_memcmp_18_break
	mov____%ebp,%eax
	add____$i8,%eax !0x10
	add____$i8,(%eax) !0x-1
	mov____0x8(%ebp),%eax !0x10
					# jmp test LABEL
	test___%eax,%eax
	je32   %_memcmp_18_break
	jmp32  %_memcmp_18_loop
:_memcmp_18_break
	mov____0x8(%ebp),%eax !0x-4
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	mov____0x8(%ebp),%ebx !0x-8
	movzbl_(%ebx),%ebx
	movsbl_%bl,%ebx
	sub____%ebx,%eax
	leave
	ret


:strcmp
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# while (*a && *b && *a == *b) ...
	jmp32  %_strcmp_1_continue
:_strcmp_1_loop
	mov____0x8(%ebp),%eax !0x8
	mov____%ebp,%ebx
	add____$i8,%ebx !0x8
	add____$i8,(%ebx) !0x1
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0xc
	mov____%ebp,%ebx
	add____$i8,%ebx !0xc
	add____$i8,(%ebx) !0x1
	test___%eax,%eax
:_strcmp_1_continue
	mov____0x8(%ebp),%eax !0x8
	movzbl_(%eax),%eax
	movsbl_%al,%eax
					# jmp test LABEL
	test___%eax,%eax
	test___%al,%al
	je32   %_strcmp_1_break
	mov____0x8(%ebp),%eax !0xc
	movzbl_(%eax),%eax
	movsbl_%al,%eax
					# jmp test LABEL
	test___%eax,%eax
	test___%al,%al
	je32   %_strcmp_1_break
	mov____0x8(%ebp),%eax !0x8
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	mov____0x8(%ebp),%ebx !0xc
	movzbl_(%ebx),%ebx
	movsbl_%bl,%ebx
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_strcmp_1_break
	jmp32  %_strcmp_1_loop
:_strcmp_1_break
	mov____0x8(%ebp),%eax !0x8
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	mov____0x8(%ebp),%ebx !0xc
	movzbl_(%ebx),%ebx
	movsbl_%bl,%ebx
	sub____%ebx,%eax
	leave
	ret


:strcpy
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# char *p = dest;\n
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,0x8(%ebp) !0x-4
					# while (*src) ...
	jmp32  %_strcpy_4_continue
:_strcpy_4_loop
					# *p = *src++
	mov____0x8(%ebp),%eax !0xc
	mov____%ebp,%ebx
	add____$i8,%ebx !0xc
	add____$i8,(%ebx) !0x1
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	mov____0x8(%ebp),%ebx !0x-4
	mov____%al,(%ebx)
	add____$i8,0x8(%ebp) !0x-4 !0x1
	test___%eax,%eax
:_strcpy_4_continue
	mov____0x8(%ebp),%eax !0xc
	movzbl_(%eax),%eax
	movsbl_%al,%eax
					# jmp test LABEL
	test___%eax,%eax
	test___%al,%al
	je32   %_strcpy_4_break
	jmp32  %_strcpy_4_loop
:_strcpy_4_break
					# *p = 0
	mov____$i32,%eax %0x0
	mov____0x8(%ebp),%ebx !0x-4
	mov____%al,(%ebx)
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x8
	leave
	ret


:strncmp
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# if (!size) ...
	mov____0x8(%ebp),%eax !0x10
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_strncmp_1_break
	mov____$i32,%eax %0x0
	leave
	ret
	jmp32  %_strncmp_1_break
:_strncmp_1_break
					# while (*a && *b && *a == *b && --size) ...
	jmp32  %_strncmp_12_continue
:_strncmp_12_loop
	mov____0x8(%ebp),%eax !0x8
	mov____%ebp,%ebx
	add____$i8,%ebx !0x8
	add____$i8,(%ebx) !0x1
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0xc
	mov____%ebp,%ebx
	add____$i8,%ebx !0xc
	add____$i8,(%ebx) !0x1
	test___%eax,%eax
:_strncmp_12_continue
	mov____0x8(%ebp),%eax !0x8
	movzbl_(%eax),%eax
	movsbl_%al,%eax
					# jmp test LABEL
	test___%eax,%eax
	test___%al,%al
	je32   %_strncmp_12_break
	mov____0x8(%ebp),%eax !0xc
	movzbl_(%eax),%eax
	movsbl_%al,%eax
					# jmp test LABEL
	test___%eax,%eax
	test___%al,%al
	je32   %_strncmp_12_break
	mov____0x8(%ebp),%eax !0x8
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	mov____0x8(%ebp),%ebx !0xc
	movzbl_(%ebx),%ebx
	movsbl_%bl,%ebx
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_strncmp_12_break
	mov____%ebp,%eax
	add____$i8,%eax !0x10
	add____$i8,(%eax) !0x-1
	mov____0x8(%ebp),%eax !0x10
					# jmp test LABEL
	test___%eax,%eax
	je32   %_strncmp_12_break
	jmp32  %_strncmp_12_loop
:_strncmp_12_break
	mov____0x8(%ebp),%eax !0x8
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	mov____0x8(%ebp),%ebx !0xc
	movzbl_(%ebx),%ebx
	movsbl_%bl,%ebx
	sub____%ebx,%eax
	leave
	ret


:free
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
	leave
	ret


:realloc
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# void *new = malloc(size);\n
					# malloc(size)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	call32 %malloc
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-4
					# if (ptr && new) ...
	mov____0x8(%ebp),%eax !0x8
					# jmp test LABEL
	test___%eax,%eax
	je32   %_realloc_7_break
	mov____0x8(%ebp),%eax !0x-4
					# jmp test LABEL
	test___%eax,%eax
	je32   %_realloc_7_break
					# memcpy(new, ptr, size)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %memcpy
	add____$i8,%esp !0xc
	test___%eax,%eax
					# free(ptr)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %free
	add____$i8,%esp !0x4
	test___%eax,%eax
	jmp32  %_realloc_7_break
:_realloc_7_break
	mov____0x8(%ebp),%eax !0x-4
	leave
	ret


:getenv
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# char **p = environ;\n
	mov____0x32,%eax &environ
	mov____%eax,0x8(%ebp) !0x-4
					# int length = strlen(s);\n
					# strlen(s)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %strlen
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-8
					# while (*p) ...
	jmp32  %_getenv_10_continue
:_getenv_10_loop
					# if (!strncmp(s, *p, length) && *(*p + length) == '=') ...
					# strncmp(s, *p, length)
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-4
	mov____(%ebx),%ebx
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %strncmp
	add____$i8,%esp !0xc
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_getenv_13_break
	mov____0x8(%ebp),%eax !0x-4
	mov____(%eax),%eax
	mov____0x8(%ebp),%ebx !0x-8
	add____%ebx,%eax
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	mov____$i32,%ebx %0x3d
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_getenv_13_break
	mov____0x8(%ebp),%eax !0x-4
	mov____(%eax),%eax
	mov____0x8(%ebp),%ebx !0x-8
	add____%ebx,%eax
	add____$i8,%eax !0x1
	leave
	ret
	jmp32  %_getenv_13_break
:_getenv_13_break
	mov____0x8(%ebp),%eax !0x-4
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-4
	add____$i8,(%ebx) !0x4
	test___%eax,%eax
:_getenv_10_continue
	mov____0x8(%ebp),%eax !0x-4
	mov____(%eax),%eax
					# jmp test LABEL
	test___%eax,%eax
	je32   %_getenv_10_break
	jmp32  %_getenv_10_loop
:_getenv_10_break
	mov____$i32,%eax %0x0
	leave
	ret


:setenv
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# char **p = environ;\n
	mov____0x32,%eax &environ
	mov____%eax,0x8(%ebp) !0x-4
					# int length = strlen(s);\n
					# strlen(s)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %strlen
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-8
					# while (*p) ...
	jmp32  %_setenv_10_continue
:_setenv_10_loop
					# if (!strncmp(s, *p, length) && *(*p + length) == '=') ...
					# strncmp(s, *p, length)
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-4
	mov____(%ebx),%ebx
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %strncmp
	add____$i8,%esp !0xc
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_setenv_13_break
	mov____0x8(%ebp),%eax !0x-4
	mov____(%eax),%eax
	mov____0x8(%ebp),%ebx !0x-8
	add____%ebx,%eax
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	mov____$i32,%ebx %0x3d
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_setenv_13_break
	jmp32  %_setenv_10_break
	jmp32  %_setenv_13_break
:_setenv_13_break
	mov____0x8(%ebp),%eax !0x-4
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-4
	add____$i8,(%ebx) !0x4
	test___%eax,%eax
:_setenv_10_continue
	mov____0x8(%ebp),%eax !0x-4
	mov____(%eax),%eax
					# jmp test LABEL
	test___%eax,%eax
	je32   %_setenv_10_break
	jmp32  %_setenv_10_loop
:_setenv_10_break
					# char *entry = malloc(length + strlen(v) + 2);\n
					# malloc(length + strlen(v) + 2)
	mov____0x8(%ebp),%ebx !0x-8
					# strlen(v)
	push___%eax
	mov____%ebx,%eax
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %strlen
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x2
	push___%ebx
	call32 %malloc
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-c
					# int end_p = *p == 0;\n
	mov____0x8(%ebp),%eax !0x-4
	mov____(%eax),%eax
	mov____$i32,%ebx %0x0
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
	mov____%eax,0x8(%ebp) !0x-10
					# *p = entry
	mov____0x8(%ebp),%eax !0x-c
	mov____0x8(%ebp),%ebx !0x-4
	mov____%eax,(%ebx)
	test___%eax,%eax
					# strcpy(entry, s)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-c
	push___%ebx
	call32 %strcpy
	add____$i8,%esp !0x8
	test___%eax,%eax
					# strcpy(entry + length, "=")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_11
	mov____0x8(%ebp),%ebx !0x-c
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-8
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %strcpy
	add____$i8,%esp !0x8
	test___%eax,%eax
					# strcpy(entry + length + 1, v)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-c
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-8
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x1
	push___%ebx
	call32 %strcpy
	add____$i8,%esp !0x8
	test___%eax,%eax
					# *(entry + length + strlen(v) + 2) = 0
	mov____$i32,%eax %0x0
	mov____0x8(%ebp),%ebx !0x-c
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-8
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
					# strlen(v)
	push___%eax
	mov____%ebx,%eax
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %strlen
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x2
	mov____%al,(%ebx)
	test___%eax,%eax
					# if (end_p) ...
	mov____0x8(%ebp),%eax !0x-10
					# jmp test LABEL
	test___%eax,%eax
	je32   %_setenv_138_break
					# *++p = 0
	mov____$i32,%eax %0x0
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-4
	add____$i8,(%ebx) !0x4
	mov____0x8(%ebp),%ebx !0x-4
	mov____%eax,(%ebx)
	test___%eax,%eax
	jmp32  %_setenv_138_break
:_setenv_138_break
	mov____$i32,%eax %0x0
	leave
	ret


:isatty
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# ioctl(fd, 0x5401, 0)
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____$i32,%ebx %0x5401
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %ioctl
	add____$i8,%esp !0xc
	mov____$i32,%ebx %0xf0
	and____%ebx,%eax
	leave
	ret


:wait
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# waitpid(-1, status_ptr, 0)
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx %0x-1
	push___%ebx
	call32 %waitpid
	add____$i8,%esp !0xc
	leave
	ret


:execv
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# execve(file_name, argv, environ)
	mov____0x32,%ebx &environ
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %execve
	add____$i8,%esp !0xc
	leave
	ret


:close
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# if (_ungetc_fd == filedes) ...
	mov____0x32,%eax &_ungetc_fd
	mov____0x8(%ebp),%ebx !0x8
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_close_1_break
					# _ungetc_pos = -1
	mov____$i32,%eax %0x-1
	mov____%eax,0x32 &_ungetc_pos
	test___%eax,%eax
					# _ungetc_fd = -1
	mov____$i32,%eax %0x-1
	mov____%eax,0x32 &_ungetc_fd
	test___%eax,%eax
	jmp32  %_close_1_break
:_close_1_break
					# _sys_call1(0x06, (int)filedes)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx %0x6
	push___%ebx
	call32 %_sys_call1
	add____$i8,%esp !0x8
	leave
	ret


:lseek
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# _sys_call3(0x13, (int)filedes, (long)offset, (int)whence)
	mov____0x8(%ebp),%ebx !0x10
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx %0x13
	push___%ebx
	call32 %_sys_call3
	add____$i8,%esp !0x10
	leave
	ret


:rmdir
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# _sys_call1(0x28, (long)file_name)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx %0x28
	push___%ebx
	call32 %_sys_call1
	add____$i8,%esp !0x8
	leave
	ret


:stat
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# _sys_call2(0x6a, (long)file_name, (long)statbuf)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx %0x6a
	push___%ebx
	call32 %_sys_call2
	add____$i8,%esp !0xc
	leave
	ret


:longjmp
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# val = val == 0? 1: val
					# val == 0? ...: ...
	mov____0x8(%ebp),%eax !0xc
	mov____$i32,%ebx %0x0
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_longjmp_2_else
	mov____$i32,%eax %0x1
	jmp32  %_longjmp_2_break
:_longjmp_2_else
	mov____0x8(%ebp),%eax !0xc
:_longjmp_2_break
	mov____%eax,0x8(%ebp) !0xc
	test___%eax,%eax
	mov____0x8(%ebp),%ebp !0x08
	mov____0x8(%ebp),%ebx !0x4
	mov____0x8(%ebp),%esp !0x8
	mov____0x8(%ebp),%ebp !0x0
	jmp____*%ebx
					# exit(42)
	mov____$i32,%ebx %0x2a
	push___%ebx
	call32 %exit
	add____$i8,%esp !0x4
	test___%eax,%eax
	leave
	ret


:setjmp
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# long *p = (long*)&env;\n
	mov____%ebp,%eax
	add____$i8,%eax !0x8
	mov____%eax,0x8(%ebp) !0x-4
					# env[0].__bp = p[-2]
	mov____$i32,%eax %0x-2
	shl____$i8,%eax !0x2
	mov____0x8(%ebp),%ebx !0x-4
	add____%ebx,%eax
	mov____(%eax),%eax
	mov____$i32,%ebx %0x0
	push___%eax
	mov____%ebx,%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	shl____$i8,%ebx !0x2
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x0
	mov____%eax,(%ebx)
	test___%eax,%eax
					# env[0].__pc = p[-1]
	mov____$i32,%eax %0x-1
	shl____$i8,%eax !0x2
	mov____0x8(%ebp),%ebx !0x-4
	add____%ebx,%eax
	mov____(%eax),%eax
	mov____$i32,%ebx %0x0
	push___%eax
	mov____%ebx,%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	shl____$i8,%ebx !0x2
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
	mov____%eax,(%ebx)
	test___%eax,%eax
					# env[0].__sp = (long)&env
	mov____%ebp,%eax
	add____$i8,%eax !0x8
	mov____$i32,%ebx %0x0
	push___%eax
	mov____%ebx,%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	shl____$i8,%ebx !0x2
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
	mov____%eax,(%ebx)
	test___%eax,%eax
	mov____$i32,%eax %0x0
	leave
	ret


:islower
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x61
	sub____%ebx,%eax
	setge__%al
	movzbl_%al,%eax
	test___%eax,%eax
	test___%eax,%eax
	je32   %_islower_6_and_skip_b
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x7a
	sub____%ebx,%eax
	setle__%al
	movzbl_%al,%eax
	test___%eax,%eax
	test___%eax,%eax
:_islower_6_and_skip_b
	leave
	ret


:isupper
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x41
	sub____%ebx,%eax
	setge__%al
	movzbl_%al,%eax
	test___%eax,%eax
	test___%eax,%eax
	je32   %_isupper_6_and_skip_b
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x5a
	sub____%ebx,%eax
	setle__%al
	movzbl_%al,%eax
	test___%eax,%eax
	test___%eax,%eax
:_isupper_6_and_skip_b
	leave
	ret


:tolower
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# if (isupper(c)) ...
					# isupper(c)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %isupper
	add____$i8,%esp !0x4
					# jmp test LABEL
	test___%eax,%eax
	je32   %_tolower_1_break
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x61
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x41
	sub____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____%ebx,%eax
	leave
	ret
	jmp32  %_tolower_1_break
:_tolower_1_break
	mov____0x8(%ebp),%eax !0x8
	leave
	ret


:toupper
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# if (islower(c)) ...
					# islower(c)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %islower
	add____$i8,%esp !0x4
					# jmp test LABEL
	test___%eax,%eax
	je32   %_toupper_1_break
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x61
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x41
	sub____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	sub____%ebx,%eax
	leave
	ret
	jmp32  %_toupper_1_break
:_toupper_1_break
	mov____0x8(%ebp),%eax !0x8
	leave
	ret


:search_path
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# static char buf[256];\n
					# char *path = getenv("PATH");\n
					# getenv("PATH")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_12
	call32 %getenv
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-4
					# if (__mes_debug()) ...
					# __mes_debug()
	call32 %__mes_debug
	add____$i8,%esp !0x0
					# jmp test LABEL
	test___%eax,%eax
	je32   %_search_path_7_break
					# eputs("\n search-path: ")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_13
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(file_name)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs("\n")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_0
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
	jmp32  %_search_path_7_break
:_search_path_7_break
					# while (*path) ...
	jmp32  %_search_path_28_continue
:_search_path_28_loop
					# char *end = strchr(path, ':');\n
					# strchr(path, ':')
	mov____$i32,%ebx %0x3a
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %strchr
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-8
					# if (!end) ...
	mov____0x8(%ebp),%eax !0x-8
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_search_path_39_break
					# end = strchr(path, '\\0')
					# strchr(path, '\\0')
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %strchr
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
	jmp32  %_search_path_39_break
:_search_path_39_break
					# strncpy(buf, path, end - path)
	mov____0x8(%ebp),%ebx !0x-8
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-4
	sub____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x1
	xor____%edx,%edx
	div___%ebx
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____$i32,%ebx &search_path-buf
	push___%ebx
	call32 %strncpy
	add____$i8,%esp !0xc
	test___%eax,%eax
					# buf[end - path] = 0
	mov____$i32,%eax %0x0
	mov____0x8(%ebp),%ebx !0x-8
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-4
	sub____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x1
	xor____%edx,%edx
	div___%ebx
	mov____%eax,%ebx
	pop____%eax
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx &search_path-buf
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____%al,(%ebx)
	test___%eax,%eax
					# if (__mes_debug()) ...
					# __mes_debug()
	call32 %__mes_debug
	add____$i8,%esp !0x0
					# jmp test LABEL
	test___%eax,%eax
	je32   %_search_path_89_break
					# eputs(" dir: ")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_14
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(buf)
	mov____$i32,%ebx &search_path-buf
	push___%ebx
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs("\n")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_0
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
	jmp32  %_search_path_89_break
:_search_path_89_break
					# if (buf[end - path] != '/') ...
	mov____0x8(%ebp),%eax !0x-8
	mov____0x8(%ebp),%ebx !0x-4
	sub____%ebx,%eax
	mov____$i32,%ebx %0x1
	xor____%edx,%edx
	div___%ebx
	mov____$i32,%ebx &search_path-buf
	add____%ebx,%eax
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	mov____$i32,%ebx %0x2f
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_search_path_110_break
					# strcat(buf, "/")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_15
	mov____$i32,%ebx &search_path-buf
	push___%ebx
	call32 %strcat
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_search_path_110_break
:_search_path_110_break
					# strcat(buf, file_name)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &search_path-buf
	push___%ebx
	call32 %strcat
	add____$i8,%esp !0x8
	test___%eax,%eax
					# if (!access(buf, 1)) ...
					# access(buf, 1)
	mov____$i32,%ebx %0x1
	push___%ebx
	mov____$i32,%ebx &search_path-buf
	push___%ebx
	call32 %access
	add____$i8,%esp !0x8
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_search_path_141_break
					# if (__mes_debug()) ...
					# __mes_debug()
	call32 %__mes_debug
	add____$i8,%esp !0x0
					# jmp test LABEL
	test___%eax,%eax
	je32   %_search_path_153_break
					# eputs(" found: ")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_16
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(buf)
	mov____$i32,%ebx &search_path-buf
	push___%ebx
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs("\n")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_0
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
	jmp32  %_search_path_153_break
:_search_path_153_break
	mov____$i32,%eax &search_path-buf
	leave
	ret
	jmp32  %_search_path_141_break
:_search_path_141_break
					# path = end + 1
	mov____0x8(%ebp),%eax !0x-8
	add____$i8,%eax !0x1
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
:_search_path_28_continue
	mov____0x8(%ebp),%eax !0x-4
	movzbl_(%eax),%eax
	movsbl_%al,%eax
					# jmp test LABEL
	test___%eax,%eax
	test___%al,%al
	je32   %_search_path_28_break
	jmp32  %_search_path_28_loop
:_search_path_28_break
	mov____$i32,%eax %0x0
	leave
	ret


:execvp
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# if (file_name[0] != '/') ...
	mov____$i32,%eax %0x0
	mov____0x8(%ebp),%ebx !0x8
	add____%ebx,%eax
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	mov____$i32,%ebx %0x2f
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_execvp_1_break
					# file_name = search_path(file_name)
					# search_path(file_name)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %search_path
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
	jmp32  %_execvp_1_break
:_execvp_1_break
					# if (!file_name) ...
	mov____0x8(%ebp),%eax !0x8
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_execvp_23_break
					# errno = 2
	mov____$i32,%eax %0x2
	mov____%eax,0x32 &errno
	test___%eax,%eax
	mov____$i32,%eax %0x-1
	leave
	ret
	jmp32  %_execvp_23_break
:_execvp_23_break
					# if (__mes_debug()) ...
					# __mes_debug()
	call32 %__mes_debug
	add____$i8,%esp !0x0
					# jmp test LABEL
	test___%eax,%eax
	je32   %_execvp_38_break
					# eputs(" EXEC: ")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_17
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(file_name)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs("\n")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_0
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# int i = 0;\n
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x-4
					# while (argv[i]) ...
	jmp32  %_execvp_60_continue
:_execvp_60_loop
					# eputs(" arg[")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_18
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(itoa(i))
					# itoa(i)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %itoa
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs("]: ")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_19
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(argv[i])
	mov____0x8(%ebp),%ebx !0x-4
	shl____$i8,%ebx !0x2
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0xc
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____(%ebx),%ebx
	push___%ebx
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs("\n")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_0
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x-4
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-4
	add____$i8,(%ebx) !0x1
	test___%eax,%eax
:_execvp_60_continue
	mov____0x8(%ebp),%eax !0x-4
	shl____$i8,%eax !0x2
	mov____0x8(%ebp),%ebx !0xc
	add____%ebx,%eax
	mov____(%eax),%eax
					# jmp test LABEL
	test___%eax,%eax
	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,%ebx &environ
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %execve
	add____$i8,%esp !0xc
	leave
	ret


:fclose
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# int fd = (int)stream;\n
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,0x8(%ebp) !0x-4
					# close(fd)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %close
	add____$i8,%esp !0x4
	leave
	ret


:fdopen
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
	mov____0x8(%ebp),%eax !0x8
	leave
	ret


:ferror
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# int fd = (int)stream;\n
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,0x8(%ebp) !0x-4
					# if (fd == -1) ...
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x-1
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_ferror_4_break
	mov____$i32,%eax %0x-1
	leave
	ret
	jmp32  %_ferror_4_break
:_ferror_4_break
	mov____$i32,%eax %0x0
	leave
	ret


:fflush
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# fsync((int)stream)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %fsync
	add____$i8,%esp !0x4
	test___%eax,%eax
	leave
	ret


:fopen
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# if (__mes_debug()) ...
					# __mes_debug()
	call32 %__mes_debug
	add____$i8,%esp !0x0
					# jmp test LABEL
	test___%eax,%eax
	je32   %_fopen_1_break
					# eputs("fopen ")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_20
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(file_name)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(" ")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_21
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(opentype)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs("\n")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_0
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
	jmp32  %_fopen_1_break
:_fopen_1_break
					# int fd;\n
					# int mode = 0600;\n
	mov____$i32,%eax %0x180
	mov____%eax,0x8(%ebp) !0x-8
					# if ((opentype[0] == 'a' || !strcmp(opentype, "r+")) && !access(file_name, 0)) \n    ...else ...
	mov____$i32,%eax %0x0
	mov____0x8(%ebp),%ebx !0xc
	add____%ebx,%eax
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	mov____$i32,%ebx %0x61
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# 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/libc+tcc.x86-mes-S_22
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	call32 %strcmp
	add____$i8,%esp !0x8
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_fopen_35_else
:_fopen_35_else_skip_b_25
					# access(file_name, 0)
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %access
	add____$i8,%esp !0x8
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_fopen_35_else
					# int flags = 2;\n
	mov____$i32,%eax %0x2
	mov____%eax,0x8(%ebp) !0x-c
					# if (opentype[0] == 'a') ...
	mov____$i32,%eax %0x0
	mov____0x8(%ebp),%ebx !0xc
	add____%ebx,%eax
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	mov____$i32,%ebx %0x61
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_fopen_73_break
					# flags |= 0x400
	mov____$i32,%eax %0x400
	mov____0x8(%ebp),%ebx !0x-c
	xchg___%eax,%ebx
	or_____%ebx,%eax
	mov____%eax,0x8(%ebp) !0x-c
	test___%eax,%eax
	jmp32  %_fopen_73_break
:_fopen_73_break
					# fd = open(file_name, flags, mode)
					# open(file_name, flags, mode)
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-c
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %open
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
	jmp32  %_fopen_35_break
:_fopen_35_else
					# if ((opentype[0] == 'w' || opentype[0] == 'a') || !strcmp(opentype, "r+")) ...\n    else ...
	mov____$i32,%eax %0x0
	mov____0x8(%ebp),%ebx !0xc
	add____%ebx,%eax
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	mov____$i32,%ebx %0x77
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_fopen_106_else_b_84_b_84
	jmp32  %_fopen_106_else_b_84_skip_b_84
:_fopen_106_else_b_84_b_84
	mov____$i32,%eax %0x0
	mov____0x8(%ebp),%ebx !0xc
	add____%ebx,%eax
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	mov____$i32,%ebx %0x61
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_fopen_106_else_b_84
:_fopen_106_else_b_84_skip_b_84
	jmp32  %_fopen_106_else_skip_b_84
:_fopen_106_else_b_84
					# strcmp(opentype, "r+")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_22
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	call32 %strcmp
	add____$i8,%esp !0x8
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_fopen_106_else
:_fopen_106_else_skip_b_84
					# char *plus_p = strchr(opentype, '+');\n
					# strchr(opentype, '+')
	mov____$i32,%ebx %0x2b
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	call32 %strchr
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-c
					# int flags = plus_p? 2 | 0x40: (1 | 0x40) | 0x200;\n
					# plus_p? ...: ...
	mov____0x8(%ebp),%eax !0x-c
					# jmp test LABEL
	test___%eax,%eax
	je32   %_fopen_152_else
	mov____$i32,%eax %0x2
	mov____$i32,%ebx %0x40
	or_____%ebx,%eax
	jmp32  %_fopen_152_break
:_fopen_152_else
	mov____$i32,%eax %0x1
	mov____$i32,%ebx %0x40
	or_____%ebx,%eax
	mov____$i32,%ebx %0x200
	or_____%ebx,%eax
:_fopen_152_break
	mov____%eax,0x8(%ebp) !0x-10
					# fd = open(file_name, flags, mode)
					# open(file_name, flags, mode)
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-10
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %open
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
	jmp32  %_fopen_106_break
:_fopen_106_else
					# fd = open(file_name, 0, 0)
					# open(file_name, 0, 0)
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %open
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
:_fopen_106_break
:_fopen_35_break
					# if (__mes_debug()) ...
					# __mes_debug()
	call32 %__mes_debug
	add____$i8,%esp !0x0
					# jmp test LABEL
	test___%eax,%eax
	je32   %_fopen_195_break
					# eputs(" => fd=")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_23
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(itoa(fd))
					# itoa(fd)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %itoa
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs("\n")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_0
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
	jmp32  %_fopen_195_break
:_fopen_195_break
					# if (!fd) ...
	mov____0x8(%ebp),%eax !0x-4
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_fopen_225_break
					# eputs(" ***MES LIB C*** fopen of stdin: signal me in band\n")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_24
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# exit(1)
	mov____$i32,%ebx %0x1
	push___%ebx
	call32 %exit
	add____$i8,%esp !0x4
	test___%eax,%eax
	jmp32  %_fopen_225_break
:_fopen_225_break
					# if (fd < 0) ...
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x0
	sub____%ebx,%eax
	setl___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_fopen_243_break
					# fd = 0
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
	jmp32  %_fopen_243_break
:_fopen_243_break
	mov____0x8(%ebp),%eax !0x-4
	leave
	ret


:fprintf
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# va_list ap;\n
					# ap = (char*)(&format + 1)
	mov____%ebp,%eax
	add____$i8,%eax !0xc
	add____$i8,%eax !0x4
	mov____%eax,0x8(%ebp) !0x-4
	movzbl_%al,%eax
	test___%eax,%eax
					# int r = vfprintf(stream, format, ap);\n
					# vfprintf(stream, format, ap)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %vfprintf
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-8
					# ap = 0
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x-4
	movzbl_%al,%eax
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x-8
	leave
	ret


:_fungetc_p
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# _fdungetc_p((int)stream)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %_fdungetc_p
	add____$i8,%esp !0x4
	leave
	ret


:fread
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# if (!size || !count) ...
	mov____0x8(%ebp),%eax !0xc
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_fread_1_break_b_1
	jmp32  %_fread_1_break_skip_b_1
:_fread_1_break_b_1
	mov____0x8(%ebp),%eax !0x10
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_fread_1_break
:_fread_1_break_skip_b_1
	mov____$i32,%eax %0x0
	leave
	ret
	jmp32  %_fread_1_break
:_fread_1_break
					# size_t todo = size*count;\n
	mov____0x8(%ebp),%eax !0xc
	mov____0x8(%ebp),%ebx !0x10
	mul____%ebx
	mov____%eax,0x8(%ebp) !0x-4
					# char *buf = (char*)data;\n
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,0x8(%ebp) !0x-8
					# int bytes = 0;\n
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x-c
					# while (_fungetc_p(stream) && todo-- && ++bytes) ...
	jmp32  %_fread_32_continue
:_fread_32_loop
					# *buf = fgetc(stream)
					# fgetc(stream)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	call32 %fgetc
	add____$i8,%esp !0x4
	mov____0x8(%ebp),%ebx !0x-8
	mov____%al,(%ebx)
	add____$i8,0x8(%ebp) !0x-8 !0x1
	test___%eax,%eax
:_fread_32_continue
					# _fungetc_p(stream)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	call32 %_fungetc_p
	add____$i8,%esp !0x4
					# jmp test LABEL
	test___%eax,%eax
	je32   %_fread_32_break
	mov____0x8(%ebp),%eax !0x-4
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-4
	add____$i8,(%ebx) !0x-1
					# jmp test LABEL
	test___%eax,%eax
	je32   %_fread_32_break
	mov____%ebp,%eax
	add____$i8,%eax !0x-c
	add____$i8,(%eax) !0x1
	mov____0x8(%ebp),%eax !0x-c
					# jmp test LABEL
	test___%eax,%eax
	je32   %_fread_32_break
	jmp32  %_fread_32_loop
:_fread_32_break
					# if (todo) ...
	mov____0x8(%ebp),%eax !0x-4
					# jmp test LABEL
	test___%eax,%eax
	je32   %_fread_66_break
					# int r = read((int)stream, buf, todo);\n
					# read((int)stream, buf, todo)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	call32 %read
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-10
					# if (r < 0 && !bytes) ...else ...
	mov____0x8(%ebp),%eax !0x-10
	mov____$i32,%ebx %0x0
	sub____%ebx,%eax
	setl___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_fread_81_else
	mov____0x8(%ebp),%eax !0x-c
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_fread_81_else
					# bytes = r
	mov____0x8(%ebp),%eax !0x-10
	mov____%eax,0x8(%ebp) !0x-c
	test___%eax,%eax
	jmp32  %_fread_81_break
:_fread_81_else
					# bytes += r
	mov____0x8(%ebp),%eax !0x-10
	mov____0x8(%ebp),%ebx !0x-c
	xchg___%eax,%ebx
	add____%ebx,%eax
	mov____%eax,0x8(%ebp) !0x-c
	test___%eax,%eax
:_fread_81_break
	jmp32  %_fread_66_break
:_fread_66_break
					# if (__mes_debug()) ...
					# __mes_debug()
	call32 %__mes_debug
	add____$i8,%esp !0x0
					# jmp test LABEL
	test___%eax,%eax
	je32   %_fread_111_break
					# eputs("fread fd=")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_25
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(itoa((int)stream))
					# itoa((int)stream)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %itoa
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(" bytes=")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_8
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(itoa(bytes))
					# itoa(bytes)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-c
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %itoa
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs("\n")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_0
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# static char buf[4096];\n
					# if (bytes > 0 && bytes < sizeof(buf)) ...
	mov____0x8(%ebp),%eax !0x-c
	mov____$i32,%ebx %0x0
	sub____%ebx,%eax
	setg___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_fread_158_break
	mov____0x8(%ebp),%eax !0x-c
	mov____$i32,%ebx %0x4
	sub____%ebx,%eax
	setl___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_fread_158_break
					# strncpy(buf, data, bytes)
	mov____0x8(%ebp),%ebx !0x-c
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	call32 %strncpy
	add____$i8,%esp !0xc
	test___%eax,%eax
					# buf[bytes] = 0
	mov____$i32,%eax %0x0
	mov____0x8(%ebp),%ebx !0x-c
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-8
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____%al,(%ebx)
	test___%eax,%eax
					# eputs("fread buf=")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_26
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(buf)
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs("\n")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_0
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
	jmp32  %_fread_158_break
:_fread_158_break
	jmp32  %_fread_111_break
:_fread_111_break
					# if (bytes > 0) ...
	mov____0x8(%ebp),%eax !0x-c
	mov____$i32,%ebx %0x0
	sub____%ebx,%eax
	setg___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_fread_208_break
	mov____0x8(%ebp),%eax !0x-c
	mov____0x8(%ebp),%ebx !0xc
	xor____%edx,%edx
	div___%ebx
	leave
	ret
	jmp32  %_fread_208_break
:_fread_208_break
	mov____$i32,%eax %0x0
	leave
	ret


:fseek
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# off_t pos = lseek((int)stream, offset, whence);\n
					# lseek((int)stream, offset, whence)
	mov____0x8(%ebp),%ebx !0x10
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %lseek
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-4
					# if (__mes_debug()) ...
					# __mes_debug()
	call32 %__mes_debug
	add____$i8,%esp !0x0
					# jmp test LABEL
	test___%eax,%eax
	je32   %_fseek_11_break
					# eputs("fread fd=")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_25
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(itoa((int)stream))
					# itoa((int)stream)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %itoa
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs("  =>")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_27
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(itoa(pos))
					# itoa(pos)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %itoa
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs("\n")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_0
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
	jmp32  %_fseek_11_break
:_fseek_11_break
					# if (pos >= 0) ...
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x0
	sub____%ebx,%eax
	setae__%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_fseek_59_break
	mov____$i32,%eax %0x0
	leave
	ret
	jmp32  %_fseek_59_break
:_fseek_59_break
	mov____$i32,%eax %0x-1
	leave
	ret


:ftell
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# lseek((int)stream, 0, 1)
	mov____$i32,%ebx %0x1
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %lseek
	add____$i8,%esp !0xc
	leave
	ret


:fwrite
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# if (__mes_debug() > 1) ...
					# __mes_debug()
	call32 %__mes_debug
	add____$i8,%esp !0x0
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	setg___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_fwrite_1_break
					# eputs("fwrite ")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_28
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(itoa((int)stream))
					# itoa((int)stream)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %itoa
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs("  ")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_29
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(itoa(size))
					# itoa(size)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %itoa
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs("\n")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_0
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
	jmp32  %_fwrite_1_break
:_fwrite_1_break
					# if (!size || !count) ...
	mov____0x8(%ebp),%eax !0xc
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_fwrite_52_break_b_42
	jmp32  %_fwrite_52_break_skip_b_42
:_fwrite_52_break_b_42
	mov____0x8(%ebp),%eax !0x10
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_fwrite_52_break
:_fwrite_52_break_skip_b_42
	mov____$i32,%eax %0x0
	leave
	ret
	jmp32  %_fwrite_52_break
:_fwrite_52_break
					# int bytes = write((int)stream, data, size*count);\n
					# write((int)stream, data, size*count)
	mov____0x8(%ebp),%ebx !0xc
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x10
	mul____%ebx
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	call32 %write
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-4
					# if (__mes_debug() > 2) ...
					# __mes_debug()
	call32 %__mes_debug
	add____$i8,%esp !0x0
	mov____$i32,%ebx %0x2
	sub____%ebx,%eax
	setg___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_fwrite_86_break
					# eputs(" => ")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_30
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(itoa(bytes))
					# itoa(bytes)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %itoa
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs("\n")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_0
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
	jmp32  %_fwrite_86_break
:_fwrite_86_break
					# if (bytes > 0) ...
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x0
	sub____%ebx,%eax
	setg___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_fwrite_119_break
	mov____0x8(%ebp),%eax !0x-4
	mov____0x8(%ebp),%ebx !0xc
	xor____%edx,%edx
	div___%ebx
	leave
	ret
	jmp32  %_fwrite_119_break
:_fwrite_119_break
	mov____$i32,%eax %0x0
	leave
	ret


:printf
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# va_list ap;\n
					# int r;\n
					# ap = (char*)(&format + 1)
	mov____%ebp,%eax
	add____$i8,%eax !0x8
	add____$i8,%eax !0x4
	mov____%eax,0x8(%ebp) !0x-4
	movzbl_%al,%eax
	test___%eax,%eax
					# r = vprintf(format, ap)
					# vprintf(format, ap)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %vprintf
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
					# ap = 0
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x-4
	movzbl_%al,%eax
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x-8
	leave
	ret


:remove
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# struct stat buf;\n
					# if (stat(file_name, &buf) < 0) ...
					# stat(file_name, &buf)
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-44
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %stat
	add____$i8,%esp !0x8
	mov____$i32,%ebx %0x0
	sub____%ebx,%eax
	setl___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_remove_2_break
	mov____$i32,%eax %0x-1
	leave
	ret
	jmp32  %_remove_2_break
:_remove_2_break
					# if ((buf.st_mode & 0170000) == 0040000) ...
	mov____%ebp,%eax
	add____$i8,%eax !0x-44
	add____$i8,%eax !0x8
					# buf.st_mode
	movzwl_(%eax),%eax
	movzwl_%ax,%eax
	mov____$i32,%ebx %0xf000
	and____%ebx,%eax
	mov____$i32,%ebx %0x4000
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_remove_19_break
					# rmdir(file_name)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %rmdir
	add____$i8,%esp !0x4
	leave
	ret
	jmp32  %_remove_19_break
:_remove_19_break
					# unlink(file_name)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %unlink
	add____$i8,%esp !0x4
	leave
	ret


:snprintf
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# va_list ap;\n
					# int r;\n
					# ap = (char*)(&format + 1)
	mov____%ebp,%eax
	add____$i8,%eax !0x10
	add____$i8,%eax !0x4
	mov____%eax,0x8(%ebp) !0x-4
	movzbl_%al,%eax
	test___%eax,%eax
					# r = vsnprintf(str, size, format, ap)
					# vsnprintf(str, size, format, ap)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____0x8(%ebp),%ebx !0x10
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %vsnprintf
	add____$i8,%esp !0x10
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
					# ap = 0
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x-4
	movzbl_%al,%eax
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x-8
	leave
	ret


:sprintf
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# va_list ap;\n
					# int r;\n
					# ap = (char*)(&format + 1)
	mov____%ebp,%eax
	add____$i8,%eax !0xc
	add____$i8,%eax !0x4
	mov____%eax,0x8(%ebp) !0x-4
	movzbl_%al,%eax
	test___%eax,%eax
					# r = vsprintf(str, format, ap)
					# vsprintf(str, format, ap)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %vsprintf
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
					# ap = 0
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x-4
	movzbl_%al,%eax
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x-8
	leave
	ret


:sscanf
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# va_list ap;\n
					# ap = (char*)(&template + 1)
	mov____%ebp,%eax
	add____$i8,%eax !0xc
	add____$i8,%eax !0x4
	mov____%eax,0x8(%ebp) !0x-4
	movzbl_%al,%eax
	test___%eax,%eax
					# int r = vsscanf(str, template, ap);\n
					# vsscanf(str, template, ap)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %vsscanf
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-8
					# ap = 0
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x-4
	movzbl_%al,%eax
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x-8
	leave
	ret


:vfprintf
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# int fd = (long)f;\n
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,0x8(%ebp) !0x-4
					# char *p = format;\n
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,0x8(%ebp) !0x-8
					# int count = 0;\n
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x-c
					# while (*p) ...
	jmp32  %_vfprintf_10_continue
:_vfprintf_10_loop
					# if (*p != '%') ...else ...
	mov____0x8(%ebp),%eax !0x-8
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	mov____$i32,%ebx %0x25
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_vfprintf_13_else
	mov____0x8(%ebp),%eax !0x-c
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-c
	add____$i8,(%ebx) !0x1
	test___%eax,%eax
					# fputc(*p++, fd)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-8
	push___%eax
	mov____%ebx,%eax
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-8
	add____$i8,(%ebx) !0x1
	mov____%eax,%ebx
	pop____%eax
	movzbl_(%ebx),%ebx
	movsbl_%bl,%ebx
	push___%ebx
	call32 %fputc
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_vfprintf_13_break
:_vfprintf_13_else
	mov____0x8(%ebp),%eax !0x-8
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-8
	add____$i8,(%ebx) !0x1
	test___%eax,%eax
					# char c = *p;\n
	mov____0x8(%ebp),%eax !0x-8
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	mov____%al,0x8(%ebp) !0x-10
					# int left_p = 0;\n
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x-14
					# int precision = -1;\n
	mov____$i32,%eax %0x-1
	mov____%eax,0x8(%ebp) !0x-18
					# int width = -1;\n
	mov____$i32,%eax %0x-1
	mov____%eax,0x8(%ebp) !0x-1c
					# if (c == '-') ...
	mov____0x8(%ebp),%eax !0x-10
	movsbl_%al,%eax
	mov____$i32,%ebx %0x2d
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_vfprintf_61_break
					# left_p = 1
	mov____$i32,%eax %0x1
	mov____%eax,0x8(%ebp) !0x-14
	test___%eax,%eax
					# c = *++p
	mov____%ebp,%eax
	add____$i8,%eax !0x-8
	add____$i8,(%eax) !0x1
	mov____0x8(%ebp),%eax !0x-8
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	mov____%eax,0x8(%ebp) !0x-10
	test___%eax,%eax
	jmp32  %_vfprintf_61_break
:_vfprintf_61_break
					# char pad = ' ';\n
	mov____$i32,%eax %0x20
	mov____%al,0x8(%ebp) !0x-20
					# if (c == '0') ...
	mov____0x8(%ebp),%eax !0x-10
	movsbl_%al,%eax
	mov____$i32,%ebx %0x30
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_vfprintf_86_break
					# pad = c
	mov____0x8(%ebp),%eax !0x-10
	movsbl_%al,%eax
	mov____%eax,0x8(%ebp) !0x-20
	test___%eax,%eax
					# c = *p++
	mov____0x8(%ebp),%eax !0x-8
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-8
	add____$i8,(%ebx) !0x1
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	mov____%eax,0x8(%ebp) !0x-10
	test___%eax,%eax
	jmp32  %_vfprintf_86_break
:_vfprintf_86_break
					# if (c >= '0' && c <= '9') ...else ...
	mov____0x8(%ebp),%eax !0x-10
	movsbl_%al,%eax
	mov____$i32,%ebx %0x30
	sub____%ebx,%eax
	setge__%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_vfprintf_109_else
	mov____0x8(%ebp),%eax !0x-10
	movsbl_%al,%eax
	mov____$i32,%ebx %0x39
	sub____%ebx,%eax
	setle__%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_vfprintf_109_else
					# width = abtol(&p, 10)
					# abtol(&p, 10)
	mov____$i32,%ebx %0xa
	push___%ebx
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-8
	push___%ebx
	call32 %abtol
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-1c
	test___%eax,%eax
					# c = *p
	mov____0x8(%ebp),%eax !0x-8
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	mov____%eax,0x8(%ebp) !0x-10
	test___%eax,%eax
	jmp32  %_vfprintf_109_break
:_vfprintf_109_else
					# if (c == '*') ...
	mov____0x8(%ebp),%eax !0x-10
	movsbl_%al,%eax
	mov____$i32,%ebx %0x2a
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_vfprintf_143_break
					# width = (int)(long*)(ap = ap + sizeof(void*))[-1]
	mov____$i32,%eax %0x-1
	shl____$i8,%eax !0x2
					# ap = ap + sizeof(void*)
	mov____0x8(%ebp),%ebx !0x10
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x4
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____%ebx,0x8(%ebp) !0x10
	add____%ebx,%eax
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-1c
	test___%eax,%eax
					# c = *++p
	mov____%ebp,%eax
	add____$i8,%eax !0x-8
	add____$i8,(%eax) !0x1
	mov____0x8(%ebp),%eax !0x-8
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	mov____%eax,0x8(%ebp) !0x-10
	test___%eax,%eax
	jmp32  %_vfprintf_143_break
:_vfprintf_143_break
:_vfprintf_109_break
					# if (c == '.') ...
	mov____0x8(%ebp),%eax !0x-10
	movsbl_%al,%eax
	mov____$i32,%ebx %0x2e
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_vfprintf_176_break
					# c = *++p
	mov____%ebp,%eax
	add____$i8,%eax !0x-8
	add____$i8,(%eax) !0x1
	mov____0x8(%ebp),%eax !0x-8
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	mov____%eax,0x8(%ebp) !0x-10
	test___%eax,%eax
					# if (c >= '0' && c <= '9') ...else ...
	mov____0x8(%ebp),%eax !0x-10
	movsbl_%al,%eax
	mov____$i32,%ebx %0x30
	sub____%ebx,%eax
	setge__%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_vfprintf_192_else
	mov____0x8(%ebp),%eax !0x-10
	movsbl_%al,%eax
	mov____$i32,%ebx %0x39
	sub____%ebx,%eax
	setle__%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_vfprintf_192_else
					# precision = abtol(&p, 10)
					# abtol(&p, 10)
	mov____$i32,%ebx %0xa
	push___%ebx
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-8
	push___%ebx
	call32 %abtol
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-18
	test___%eax,%eax
					# c = *p
	mov____0x8(%ebp),%eax !0x-8
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	mov____%eax,0x8(%ebp) !0x-10
	test___%eax,%eax
	jmp32  %_vfprintf_192_break
:_vfprintf_192_else
					# if (c == '*') ...
	mov____0x8(%ebp),%eax !0x-10
	movsbl_%al,%eax
	mov____$i32,%ebx %0x2a
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_vfprintf_226_break
					# precision = (int)(long*)(ap = ap + sizeof(void*))[-1]
	mov____$i32,%eax %0x-1
	shl____$i8,%eax !0x2
					# ap = ap + sizeof(void*)
	mov____0x8(%ebp),%ebx !0x10
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x4
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____%ebx,0x8(%ebp) !0x10
	add____%ebx,%eax
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-18
	test___%eax,%eax
					# c = *++p
	mov____%ebp,%eax
	add____$i8,%eax !0x-8
	add____$i8,(%eax) !0x1
	mov____0x8(%ebp),%eax !0x-8
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	mov____%eax,0x8(%ebp) !0x-10
	test___%eax,%eax
	jmp32  %_vfprintf_226_break
:_vfprintf_226_break
:_vfprintf_192_break
	jmp32  %_vfprintf_176_break
:_vfprintf_176_break
					# if (c == 'l') ...
	mov____0x8(%ebp),%eax !0x-10
	movsbl_%al,%eax
	mov____$i32,%ebx %0x6c
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_vfprintf_261_break
					# c = *++p
	mov____%ebp,%eax
	add____$i8,%eax !0x-8
	add____$i8,(%eax) !0x1
	mov____0x8(%ebp),%eax !0x-8
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	mov____%eax,0x8(%ebp) !0x-10
	test___%eax,%eax
	jmp32  %_vfprintf_261_break
:_vfprintf_261_break
					# if (c == 'l') ...
	mov____0x8(%ebp),%eax !0x-10
	movsbl_%al,%eax
	mov____$i32,%ebx %0x6c
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_vfprintf_279_break
					# eputs("vfprintf: skipping second: l\n")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_31
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# c = *++p
	mov____%ebp,%eax
	add____$i8,%eax !0x-8
	add____$i8,(%eax) !0x1
	mov____0x8(%ebp),%eax !0x-8
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	mov____%eax,0x8(%ebp) !0x-10
	test___%eax,%eax
	jmp32  %_vfprintf_279_break
:_vfprintf_279_break
					# switch (c) {\n  ...}\n
	mov____0x8(%ebp),%eax !0x-10
	movsbl_%al,%eax
:_vfprintf_301_clause0
	cmp____$i8,%eax !0x25
	je32   %_vfprintf_301_body0
	jmp32  %_vfprintf_301_clause1
:_vfprintf_301_body0
					# fputc(*p, fd)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-8
	movzbl_(%ebx),%ebx
	movsbl_%bl,%ebx
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %fputc
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	test___%eax,%eax
	mov____0x8(%ebp),%ebx !0x-c
	push___%eax
	mov____%ebx,%eax
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-c
	add____$i8,(%ebx) !0x1
	mov____%eax,%ebx
	pop____%eax
	test___%ebx,%ebx
	jmp32  %_vfprintf_301_break
:_vfprintf_301_clause1
	cmp____$i8,%eax !0x63
	je32   %_vfprintf_301_body1
	jmp32  %_vfprintf_301_clause2
:_vfprintf_301_body1
					# char _c;\n
					# _c = (long)(long*)(ap = ap + sizeof(void*))[-1]
	mov____$i32,%eax %0x-1
	shl____$i8,%eax !0x2
					# ap = ap + sizeof(void*)
	mov____0x8(%ebp),%ebx !0x10
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x4
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____%ebx,0x8(%ebp) !0x10
	add____%ebx,%eax
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-24
	test___%eax,%eax
					# fputc(_c, fd)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-24
	movsbl_%bl,%ebx
	push___%ebx
	call32 %fputc
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_vfprintf_301_break
:_vfprintf_301_clause2
	cmp____$i8,%eax !0x64
	je32   %_vfprintf_301_body2
	cmp____$i8,%eax !0x69
	je32   %_vfprintf_301_body2
	cmp____$i8,%eax !0x6f
	je32   %_vfprintf_301_body2
	cmp____$i8,%eax !0x75
	je32   %_vfprintf_301_body2
	cmp____$i8,%eax !0x78
	je32   %_vfprintf_301_body2
	cmp____$i8,%eax !0x58
	je32   %_vfprintf_301_body2
	jmp32  %_vfprintf_301_clause3
:_vfprintf_301_body2
					# long d = (long)(long*)(ap = ap + sizeof(void*))[-1];\n
	mov____$i32,%eax %0x-1
	shl____$i8,%eax !0x2
					# ap = ap + sizeof(void*)
	mov____0x8(%ebp),%ebx !0x10
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x4
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____%ebx,0x8(%ebp) !0x10
	add____%ebx,%eax
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-24
					# int base = c == 'o'? 8: c == 'x' || c == 'X'? 16: 10;\n
					# c == 'o'? ...: ...
	mov____0x8(%ebp),%eax !0x-10
	movsbl_%al,%eax
	mov____$i32,%ebx %0x6f
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_vfprintf_392_else
	mov____$i32,%eax %0x8
	jmp32  %_vfprintf_392_break
:_vfprintf_392_else
					# c == 'x' || c == 'X'? ...: ...
	mov____0x8(%ebp),%eax !0x-10
	movsbl_%al,%eax
	mov____$i32,%ebx %0x78
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_vfprintf_403_else_b_340
	jmp32  %_vfprintf_403_else_skip_b_340
:_vfprintf_403_else_b_340
	mov____0x8(%ebp),%eax !0x-10
	movsbl_%al,%eax
	mov____$i32,%ebx %0x58
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_vfprintf_403_else
:_vfprintf_403_else_skip_b_340
	mov____$i32,%eax %0x10
	jmp32  %_vfprintf_403_break
:_vfprintf_403_else
	mov____$i32,%eax %0xa
:_vfprintf_403_break
:_vfprintf_392_break
	mov____%eax,0x8(%ebp) !0x-28
					# char *s = ntoab(d, base, c != 'u' && c != 'x' && c != 'X');\n
					# ntoab(d, base, c != 'u' && c != 'x' && c != 'X')
	mov____0x8(%ebp),%ebx !0x-10
	movsbl_%bl,%ebx
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x75
	sub____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	test___%ebx,%ebx
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%bl
	movzbl_%bl,%ebx
	test___%ebx,%ebx
	je32   %_vfprintf_439_and_skip_b
	test___%ebx,%ebx
	mov____0x8(%ebp),%ebx !0x-10
	movsbl_%bl,%ebx
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x78
	sub____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	test___%ebx,%ebx
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%bl
	movzbl_%bl,%ebx
	test___%ebx,%ebx
:_vfprintf_439_and_skip_b
	test___%ebx,%ebx
	je32   %_vfprintf_453_and_skip_b
	test___%ebx,%ebx
	mov____0x8(%ebp),%ebx !0x-10
	movsbl_%bl,%ebx
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x58
	sub____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	test___%ebx,%ebx
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%bl
	movzbl_%bl,%ebx
	test___%ebx,%ebx
:_vfprintf_453_and_skip_b
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-28
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-24
	push___%ebx
	call32 %ntoab
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-2c
					# if (c == 'X') ...
	mov____0x8(%ebp),%eax !0x-10
	movsbl_%al,%eax
	mov____$i32,%ebx %0x58
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_vfprintf_474_break
					# strupr(s)
	mov____0x8(%ebp),%ebx !0x-2c
	push___%ebx
	call32 %strupr
	add____$i8,%esp !0x4
	test___%eax,%eax
	jmp32  %_vfprintf_474_break
:_vfprintf_474_break
					# int length = strlen(s);\n
					# strlen(s)
	mov____0x8(%ebp),%ebx !0x-2c
	push___%ebx
	call32 %strlen
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-30
					# if (precision == -1) ...
	mov____0x8(%ebp),%eax !0x-18
	mov____$i32,%ebx %0x-1
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_vfprintf_495_break
					# precision = length
	mov____0x8(%ebp),%eax !0x-30
	mov____%eax,0x8(%ebp) !0x-18
	test___%eax,%eax
	jmp32  %_vfprintf_495_break
:_vfprintf_495_break
					# if (!left_p) ...
	mov____0x8(%ebp),%eax !0x-14
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_vfprintf_508_break
					# while (width-- > precision) ...
	jmp32  %_vfprintf_515_continue
:_vfprintf_515_loop
					# fputc(pad, f)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-20
	movsbl_%bl,%ebx
	push___%ebx
	call32 %fputc
	add____$i8,%esp !0x8
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x-c
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-c
	add____$i8,(%ebx) !0x1
	test___%eax,%eax
:_vfprintf_515_continue
	mov____0x8(%ebp),%eax !0x-1c
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-1c
	add____$i8,(%ebx) !0x-1
	mov____0x8(%ebp),%ebx !0x-18
	sub____%ebx,%eax
	setg___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_vfprintf_515_break
	jmp32  %_vfprintf_515_loop
:_vfprintf_515_break
					# while (precision > length) ...
	jmp32  %_vfprintf_542_continue
:_vfprintf_542_loop
					# fputc('0', f)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx %0x30
	push___%ebx
	call32 %fputc
	add____$i8,%esp !0x8
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x-18
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-18
	add____$i8,(%ebx) !0x-1
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x-1c
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-1c
	add____$i8,(%ebx) !0x-1
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x-c
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-c
	add____$i8,(%ebx) !0x1
	test___%eax,%eax
:_vfprintf_542_continue
	mov____0x8(%ebp),%eax !0x-18
	mov____0x8(%ebp),%ebx !0x-30
	sub____%ebx,%eax
	setg___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_vfprintf_542_break
	jmp32  %_vfprintf_542_loop
:_vfprintf_542_break
	jmp32  %_vfprintf_508_break
:_vfprintf_508_break
					# while (*s) ...
	jmp32  %_vfprintf_576_continue
:_vfprintf_576_loop
					# if (precision-- <= 0) ...
	mov____0x8(%ebp),%eax !0x-18
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-18
	add____$i8,(%ebx) !0x-1
	mov____$i32,%ebx %0x0
	sub____%ebx,%eax
	setle__%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_vfprintf_579_break
	jmp32  %_vfprintf_576_break
	jmp32  %_vfprintf_579_break
:_vfprintf_579_break
	mov____0x8(%ebp),%eax !0x-1c
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-1c
	add____$i8,(%ebx) !0x-1
	test___%eax,%eax
					# fputc(*s++, f)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-2c
	push___%eax
	mov____%ebx,%eax
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-2c
	add____$i8,(%ebx) !0x1
	mov____%eax,%ebx
	pop____%eax
	movzbl_(%ebx),%ebx
	movsbl_%bl,%ebx
	push___%ebx
	call32 %fputc
	add____$i8,%esp !0x8
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x-c
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-c
	add____$i8,(%ebx) !0x1
	test___%eax,%eax
:_vfprintf_576_continue
	mov____0x8(%ebp),%eax !0x-2c
	movzbl_(%eax),%eax
	movsbl_%al,%eax
					# jmp test LABEL
	test___%eax,%eax
	test___%al,%al
	je32   %_vfprintf_576_break
	jmp32  %_vfprintf_576_loop
:_vfprintf_576_break
					# while (width > 0) ...
	jmp32  %_vfprintf_622_continue
:_vfprintf_622_loop
	mov____0x8(%ebp),%eax !0x-1c
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-1c
	add____$i8,(%ebx) !0x-1
	test___%eax,%eax
					# fputc(pad, f)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-20
	movsbl_%bl,%ebx
	push___%ebx
	call32 %fputc
	add____$i8,%esp !0x8
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x-c
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-c
	add____$i8,(%ebx) !0x1
	test___%eax,%eax
:_vfprintf_622_continue
	mov____0x8(%ebp),%eax !0x-1c
	mov____$i32,%ebx %0x0
	sub____%ebx,%eax
	setg___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_vfprintf_622_break
	jmp32  %_vfprintf_622_loop
:_vfprintf_622_break
	jmp32  %_vfprintf_301_break
:_vfprintf_301_clause3
	cmp____$i8,%eax !0x73
	je32   %_vfprintf_301_body3
	jmp32  %_vfprintf_301_clause4
:_vfprintf_301_body3
					# char *s = (char*)(long*)(ap = ap + sizeof(void*))[-1];\n
	mov____$i32,%eax %0x-1
	shl____$i8,%eax !0x2
					# ap = ap + sizeof(void*)
	mov____0x8(%ebp),%ebx !0x10
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x4
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____%ebx,0x8(%ebp) !0x10
	add____%ebx,%eax
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-24
					# int length = strlen(s);\n
					# strlen(s)
	mov____0x8(%ebp),%ebx !0x-24
	push___%ebx
	call32 %strlen
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-28
					# if (precision == -1) ...
	mov____0x8(%ebp),%eax !0x-18
	mov____$i32,%ebx %0x-1
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_vfprintf_676_break
					# precision = length
	mov____0x8(%ebp),%eax !0x-28
	mov____%eax,0x8(%ebp) !0x-18
	test___%eax,%eax
	jmp32  %_vfprintf_676_break
:_vfprintf_676_break
					# if (!left_p) ...
	mov____0x8(%ebp),%eax !0x-14
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_vfprintf_689_break
					# while (width-- > precision) ...
	jmp32  %_vfprintf_696_continue
:_vfprintf_696_loop
					# fputc(pad, f)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-20
	movsbl_%bl,%ebx
	push___%ebx
	call32 %fputc
	add____$i8,%esp !0x8
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x-c
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-c
	add____$i8,(%ebx) !0x1
	test___%eax,%eax
:_vfprintf_696_continue
	mov____0x8(%ebp),%eax !0x-1c
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-1c
	add____$i8,(%ebx) !0x-1
	mov____0x8(%ebp),%ebx !0x-18
	sub____%ebx,%eax
	setg___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_vfprintf_696_break
	jmp32  %_vfprintf_696_loop
:_vfprintf_696_break
					# while (precision > length) ...
	jmp32  %_vfprintf_723_continue
:_vfprintf_723_loop
					# fputc(' ', f)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx %0x20
	push___%ebx
	call32 %fputc
	add____$i8,%esp !0x8
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x-18
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-18
	add____$i8,(%ebx) !0x-1
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x-1c
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-1c
	add____$i8,(%ebx) !0x-1
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x-c
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-c
	add____$i8,(%ebx) !0x1
	test___%eax,%eax
:_vfprintf_723_continue
	mov____0x8(%ebp),%eax !0x-18
	mov____0x8(%ebp),%ebx !0x-28
	sub____%ebx,%eax
	setg___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_vfprintf_723_break
	jmp32  %_vfprintf_723_loop
:_vfprintf_723_break
	jmp32  %_vfprintf_689_break
:_vfprintf_689_break
					# while (*s) ...
	jmp32  %_vfprintf_757_continue
:_vfprintf_757_loop
					# if (precision-- <= 0) ...
	mov____0x8(%ebp),%eax !0x-18
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-18
	add____$i8,(%ebx) !0x-1
	mov____$i32,%ebx %0x0
	sub____%ebx,%eax
	setle__%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_vfprintf_760_break
	jmp32  %_vfprintf_757_break
	jmp32  %_vfprintf_760_break
:_vfprintf_760_break
	mov____0x8(%ebp),%eax !0x-1c
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-1c
	add____$i8,(%ebx) !0x-1
	test___%eax,%eax
					# fputc(*s++, f)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-24
	push___%eax
	mov____%ebx,%eax
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-24
	add____$i8,(%ebx) !0x1
	mov____%eax,%ebx
	pop____%eax
	movzbl_(%ebx),%ebx
	movsbl_%bl,%ebx
	push___%ebx
	call32 %fputc
	add____$i8,%esp !0x8
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x-c
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-c
	add____$i8,(%ebx) !0x1
	test___%eax,%eax
:_vfprintf_757_continue
	mov____0x8(%ebp),%eax !0x-24
	movzbl_(%eax),%eax
	movsbl_%al,%eax
					# jmp test LABEL
	test___%eax,%eax
	test___%al,%al
	je32   %_vfprintf_757_break
	jmp32  %_vfprintf_757_loop
:_vfprintf_757_break
					# while (width > 0) ...
	jmp32  %_vfprintf_803_continue
:_vfprintf_803_loop
	mov____0x8(%ebp),%eax !0x-1c
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-1c
	add____$i8,(%ebx) !0x-1
	test___%eax,%eax
					# fputc(pad, f)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-20
	movsbl_%bl,%ebx
	push___%ebx
	call32 %fputc
	add____$i8,%esp !0x8
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x-c
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-c
	add____$i8,(%ebx) !0x1
	test___%eax,%eax
:_vfprintf_803_continue
	mov____0x8(%ebp),%eax !0x-1c
	mov____$i32,%ebx %0x0
	sub____%ebx,%eax
	setg___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_vfprintf_803_break
	jmp32  %_vfprintf_803_loop
:_vfprintf_803_break
	jmp32  %_vfprintf_301_break
:_vfprintf_301_clause4
	cmp____$i8,%eax !0x6e
	je32   %_vfprintf_301_body4
	jmp32  %_vfprintf_301_clause5
:_vfprintf_301_body4
					# int *n = (int*)(long*)(ap = ap + sizeof(void*))[-1];\n
	mov____$i32,%eax %0x-1
	shl____$i8,%eax !0x2
					# ap = ap + sizeof(void*)
	mov____0x8(%ebp),%ebx !0x10
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x4
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____%ebx,0x8(%ebp) !0x10
	add____%ebx,%eax
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-24
					# *n = count
	mov____0x8(%ebp),%eax !0x-c
	mov____0x8(%ebp),%ebx !0x-24
	mov____%eax,(%ebx)
	test___%eax,%eax
	jmp32  %_vfprintf_301_break
:_vfprintf_301_clause5
:_vfprintf_301_default
:_vfprintf_301_body5
					# eputs("vfprintf: not supported: %:")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_32
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputc(c)
	mov____0x8(%ebp),%ebx !0x-10
	movsbl_%bl,%ebx
	push___%ebx
	call32 %eputc
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs("\n")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_0
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x-8
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-8
	add____$i8,(%ebx) !0x1
	test___%eax,%eax
	jmp32  %_vfprintf_301_break
:_vfprintf_301_clause6
	jmp32  %_vfprintf_301_default
:_vfprintf_301_break
	mov____0x8(%ebp),%eax !0x-8
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-8
	add____$i8,(%ebx) !0x1
	test___%eax,%eax
:_vfprintf_13_break
:_vfprintf_10_continue
	mov____0x8(%ebp),%eax !0x-8
	movzbl_(%eax),%eax
	movsbl_%al,%eax
					# jmp test LABEL
	test___%eax,%eax
	test___%al,%al
	je32   %_vfprintf_10_break
	jmp32  %_vfprintf_10_loop
:_vfprintf_10_break
					# ap = 0
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x10
	movzbl_%al,%eax
	test___%eax,%eax
	mov____$i32,%eax %0x0
	leave
	ret


:vprintf
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# vfprintf(1, format, ap)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	call32 %vfprintf
	add____$i8,%esp !0xc
	leave
	ret


:vsnprintf
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# char *p = format;\n
	mov____0x8(%ebp),%eax !0x10
	mov____%eax,0x8(%ebp) !0x-4
					# int count = 0;\n
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x-8
					# char c;\n
					# while (*p) ...
	jmp32  %_vsnprintf_8_continue
:_vsnprintf_8_loop
					# if (*p != '%') ...else ...
	mov____0x8(%ebp),%eax !0x-4
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	mov____$i32,%ebx %0x25
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_vsnprintf_11_else
					# c = *p++
	mov____0x8(%ebp),%eax !0x-4
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-4
	add____$i8,(%ebx) !0x1
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	mov____%eax,0x8(%ebp) !0x-c
	test___%eax,%eax
					# if (count < size) ...
	mov____0x8(%ebp),%eax !0x-8
	mov____0x8(%ebp),%ebx !0xc
	sub____%ebx,%eax
	setb___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_vsnprintf_30_break
					# *str = c
	mov____0x8(%ebp),%eax !0x-c
	movsbl_%al,%eax
	mov____0x8(%ebp),%ebx !0x8
	mov____%al,(%ebx)
	add____$i8,0x8(%ebp) !0x8 !0x1
	test___%eax,%eax
	jmp32  %_vsnprintf_30_break
:_vsnprintf_30_break
	mov____0x8(%ebp),%eax !0x-8
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-8
	add____$i8,(%ebx) !0x1
	test___%eax,%eax
	jmp32  %_vsnprintf_11_break
:_vsnprintf_11_else
	mov____0x8(%ebp),%eax !0x-4
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-4
	add____$i8,(%ebx) !0x1
	test___%eax,%eax
					# c = *p
	mov____0x8(%ebp),%eax !0x-4
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	mov____%eax,0x8(%ebp) !0x-c
	test___%eax,%eax
					# int left_p = 0;\n
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x-10
					# int precision = -1;\n
	mov____$i32,%eax %0x-1
	mov____%eax,0x8(%ebp) !0x-14
					# int width = -1;\n
	mov____$i32,%eax %0x-1
	mov____%eax,0x8(%ebp) !0x-18
					# if (c == '-') ...
	mov____0x8(%ebp),%eax !0x-c
	movsbl_%al,%eax
	mov____$i32,%ebx %0x2d
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_vsnprintf_72_break
					# left_p = 1
	mov____$i32,%eax %0x1
	mov____%eax,0x8(%ebp) !0x-10
	test___%eax,%eax
					# c = *++p
	mov____%ebp,%eax
	add____$i8,%eax !0x-4
	add____$i8,(%eax) !0x1
	mov____0x8(%ebp),%eax !0x-4
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	mov____%eax,0x8(%ebp) !0x-c
	test___%eax,%eax
	jmp32  %_vsnprintf_72_break
:_vsnprintf_72_break
					# char pad = ' ';\n
	mov____$i32,%eax %0x20
	mov____%al,0x8(%ebp) !0x-1c
					# if (c == '0') ...
	mov____0x8(%ebp),%eax !0x-c
	movsbl_%al,%eax
	mov____$i32,%ebx %0x30
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_vsnprintf_97_break
					# pad = c
	mov____0x8(%ebp),%eax !0x-c
	movsbl_%al,%eax
	mov____%eax,0x8(%ebp) !0x-1c
	test___%eax,%eax
					# c = *p++
	mov____0x8(%ebp),%eax !0x-4
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-4
	add____$i8,(%ebx) !0x1
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	mov____%eax,0x8(%ebp) !0x-c
	test___%eax,%eax
	jmp32  %_vsnprintf_97_break
:_vsnprintf_97_break
					# if (c >= '0' && c <= '9') ...else ...
	mov____0x8(%ebp),%eax !0x-c
	movsbl_%al,%eax
	mov____$i32,%ebx %0x30
	sub____%ebx,%eax
	setge__%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_vsnprintf_120_else
	mov____0x8(%ebp),%eax !0x-c
	movsbl_%al,%eax
	mov____$i32,%ebx %0x39
	sub____%ebx,%eax
	setle__%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_vsnprintf_120_else
					# width = abtol(&p, 10)
					# abtol(&p, 10)
	mov____$i32,%ebx %0xa
	push___%ebx
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-4
	push___%ebx
	call32 %abtol
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-18
	test___%eax,%eax
					# c = *p
	mov____0x8(%ebp),%eax !0x-4
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	mov____%eax,0x8(%ebp) !0x-c
	test___%eax,%eax
	jmp32  %_vsnprintf_120_break
:_vsnprintf_120_else
					# if (c == '*') ...
	mov____0x8(%ebp),%eax !0x-c
	movsbl_%al,%eax
	mov____$i32,%ebx %0x2a
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_vsnprintf_154_break
					# width = (long)(long*)(ap = ap + sizeof(void*))[-1]
	mov____$i32,%eax %0x-1
	shl____$i8,%eax !0x2
					# ap = ap + sizeof(void*)
	mov____0x8(%ebp),%ebx !0x14
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x4
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____%ebx,0x8(%ebp) !0x14
	add____%ebx,%eax
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-18
	test___%eax,%eax
					# c = *++p
	mov____%ebp,%eax
	add____$i8,%eax !0x-4
	add____$i8,(%eax) !0x1
	mov____0x8(%ebp),%eax !0x-4
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	mov____%eax,0x8(%ebp) !0x-c
	test___%eax,%eax
	jmp32  %_vsnprintf_154_break
:_vsnprintf_154_break
:_vsnprintf_120_break
					# if (c == '.') ...
	mov____0x8(%ebp),%eax !0x-c
	movsbl_%al,%eax
	mov____$i32,%ebx %0x2e
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_vsnprintf_187_break
					# c = *++p
	mov____%ebp,%eax
	add____$i8,%eax !0x-4
	add____$i8,(%eax) !0x1
	mov____0x8(%ebp),%eax !0x-4
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	mov____%eax,0x8(%ebp) !0x-c
	test___%eax,%eax
					# if (c >= '0' && c <= '9') ...else ...
	mov____0x8(%ebp),%eax !0x-c
	movsbl_%al,%eax
	mov____$i32,%ebx %0x30
	sub____%ebx,%eax
	setge__%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_vsnprintf_203_else
	mov____0x8(%ebp),%eax !0x-c
	movsbl_%al,%eax
	mov____$i32,%ebx %0x39
	sub____%ebx,%eax
	setle__%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_vsnprintf_203_else
					# precision = abtol(&p, 10)
					# abtol(&p, 10)
	mov____$i32,%ebx %0xa
	push___%ebx
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-4
	push___%ebx
	call32 %abtol
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-14
	test___%eax,%eax
					# c = *p
	mov____0x8(%ebp),%eax !0x-4
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	mov____%eax,0x8(%ebp) !0x-c
	test___%eax,%eax
	jmp32  %_vsnprintf_203_break
:_vsnprintf_203_else
					# if (c == '*') ...
	mov____0x8(%ebp),%eax !0x-c
	movsbl_%al,%eax
	mov____$i32,%ebx %0x2a
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_vsnprintf_237_break
					# precision = (long)(long*)(ap = ap + sizeof(void*))[-1]
	mov____$i32,%eax %0x-1
	shl____$i8,%eax !0x2
					# ap = ap + sizeof(void*)
	mov____0x8(%ebp),%ebx !0x14
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x4
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____%ebx,0x8(%ebp) !0x14
	add____%ebx,%eax
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-14
	test___%eax,%eax
					# c = *++p
	mov____%ebp,%eax
	add____$i8,%eax !0x-4
	add____$i8,(%eax) !0x1
	mov____0x8(%ebp),%eax !0x-4
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	mov____%eax,0x8(%ebp) !0x-c
	test___%eax,%eax
	jmp32  %_vsnprintf_237_break
:_vsnprintf_237_break
:_vsnprintf_203_break
	jmp32  %_vsnprintf_187_break
:_vsnprintf_187_break
					# if (c == 'l') ...
	mov____0x8(%ebp),%eax !0x-c
	movsbl_%al,%eax
	mov____$i32,%ebx %0x6c
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_vsnprintf_272_break
					# c = *++p
	mov____%ebp,%eax
	add____$i8,%eax !0x-4
	add____$i8,(%eax) !0x1
	mov____0x8(%ebp),%eax !0x-4
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	mov____%eax,0x8(%ebp) !0x-c
	test___%eax,%eax
	jmp32  %_vsnprintf_272_break
:_vsnprintf_272_break
					# if (c == 'l') ...
	mov____0x8(%ebp),%eax !0x-c
	movsbl_%al,%eax
	mov____$i32,%ebx %0x6c
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_vsnprintf_290_break
					# c = *++p
	mov____%ebp,%eax
	add____$i8,%eax !0x-4
	add____$i8,(%eax) !0x1
	mov____0x8(%ebp),%eax !0x-4
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	mov____%eax,0x8(%ebp) !0x-c
	test___%eax,%eax
	jmp32  %_vsnprintf_290_break
:_vsnprintf_290_break
					# if (c == 'l') ...
	mov____0x8(%ebp),%eax !0x-c
	movsbl_%al,%eax
	mov____$i32,%ebx %0x6c
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_vsnprintf_308_break
					# eputs("vsnprintf: skipping second: l\n")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_33
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# c = *++p
	mov____%ebp,%eax
	add____$i8,%eax !0x-4
	add____$i8,(%eax) !0x1
	mov____0x8(%ebp),%eax !0x-4
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	mov____%eax,0x8(%ebp) !0x-c
	test___%eax,%eax
	jmp32  %_vsnprintf_308_break
:_vsnprintf_308_break
					# switch (c) {\n  ...}\n
	mov____0x8(%ebp),%eax !0x-c
	movsbl_%al,%eax
:_vsnprintf_330_clause0
	cmp____$i8,%eax !0x25
	je32   %_vsnprintf_330_body0
	jmp32  %_vsnprintf_330_clause1
:_vsnprintf_330_body0
					# if (count < size) ...
	mov____0x8(%ebp),%ebx !0x-8
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0xc
	sub____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	setb___%bl
	movzbl_%bl,%ebx
	test___%ebx,%ebx
					# jmp test LABEL
	je32   %_vsnprintf_338_break
					# *str = *p
	mov____0x8(%ebp),%ebx !0x-4
	movzbl_(%ebx),%ebx
	movsbl_%bl,%ebx
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	mov____%al,(%ebx)
	mov____%eax,%ebx
	pop____%eax
	add____$i8,0x8(%ebp) !0x8 !0x1
	test___%ebx,%ebx
	jmp32  %_vsnprintf_338_break
:_vsnprintf_338_break
	mov____0x8(%ebp),%eax !0x-8
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-8
	add____$i8,(%ebx) !0x1
	test___%eax,%eax
	jmp32  %_vsnprintf_330_break
:_vsnprintf_330_clause1
	cmp____$i8,%eax !0x63
	je32   %_vsnprintf_330_body1
	jmp32  %_vsnprintf_330_clause2
:_vsnprintf_330_body1
					# c = (long)(long*)(ap = ap + sizeof(void*))[-1]
	mov____$i32,%eax %0x-1
	shl____$i8,%eax !0x2
					# ap = ap + sizeof(void*)
	mov____0x8(%ebp),%ebx !0x14
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x4
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____%ebx,0x8(%ebp) !0x14
	add____%ebx,%eax
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-c
	test___%eax,%eax
					# if (count < size) ...
	mov____0x8(%ebp),%eax !0x-8
	mov____0x8(%ebp),%ebx !0xc
	sub____%ebx,%eax
	setb___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_vsnprintf_384_break
					# *str = c
	mov____0x8(%ebp),%eax !0x-c
	movsbl_%al,%eax
	mov____0x8(%ebp),%ebx !0x8
	mov____%al,(%ebx)
	add____$i8,0x8(%ebp) !0x8 !0x1
	test___%eax,%eax
	jmp32  %_vsnprintf_384_break
:_vsnprintf_384_break
	mov____0x8(%ebp),%eax !0x-8
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-8
	add____$i8,(%ebx) !0x1
	test___%eax,%eax
	jmp32  %_vsnprintf_330_break
:_vsnprintf_330_clause2
	cmp____$i8,%eax !0x64
	je32   %_vsnprintf_330_body2
	cmp____$i8,%eax !0x69
	je32   %_vsnprintf_330_body2
	cmp____$i8,%eax !0x6f
	je32   %_vsnprintf_330_body2
	cmp____$i8,%eax !0x75
	je32   %_vsnprintf_330_body2
	cmp____$i8,%eax !0x78
	je32   %_vsnprintf_330_body2
	cmp____$i8,%eax !0x58
	je32   %_vsnprintf_330_body2
	jmp32  %_vsnprintf_330_clause3
:_vsnprintf_330_body2
					# long d = (long)(long*)(ap = ap + sizeof(void*))[-1];\n
	mov____$i32,%eax %0x-1
	shl____$i8,%eax !0x2
					# ap = ap + sizeof(void*)
	mov____0x8(%ebp),%ebx !0x14
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x4
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____%ebx,0x8(%ebp) !0x14
	add____%ebx,%eax
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-20
					# int base = c == 'o'? 8: c == 'x' || c == 'X'? 16: 10;\n
					# c == 'o'? ...: ...
	mov____0x8(%ebp),%eax !0x-c
	movsbl_%al,%eax
	mov____$i32,%ebx %0x6f
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_vsnprintf_435_else
	mov____$i32,%eax %0x8
	jmp32  %_vsnprintf_435_break
:_vsnprintf_435_else
					# c == 'x' || c == 'X'? ...: ...
	mov____0x8(%ebp),%eax !0x-c
	movsbl_%al,%eax
	mov____$i32,%ebx %0x78
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_vsnprintf_446_else_b_374
	jmp32  %_vsnprintf_446_else_skip_b_374
:_vsnprintf_446_else_b_374
	mov____0x8(%ebp),%eax !0x-c
	movsbl_%al,%eax
	mov____$i32,%ebx %0x58
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_vsnprintf_446_else
:_vsnprintf_446_else_skip_b_374
	mov____$i32,%eax %0x10
	jmp32  %_vsnprintf_446_break
:_vsnprintf_446_else
	mov____$i32,%eax %0xa
:_vsnprintf_446_break
:_vsnprintf_435_break
	mov____%eax,0x8(%ebp) !0x-24
					# char *s = ntoab(d, base, c != 'u' && c != 'x' && c != 'X');\n
					# ntoab(d, base, c != 'u' && c != 'x' && c != 'X')
	mov____0x8(%ebp),%ebx !0x-c
	movsbl_%bl,%ebx
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x75
	sub____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	test___%ebx,%ebx
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%bl
	movzbl_%bl,%ebx
	test___%ebx,%ebx
	je32   %_vsnprintf_482_and_skip_b
	test___%ebx,%ebx
	mov____0x8(%ebp),%ebx !0x-c
	movsbl_%bl,%ebx
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x78
	sub____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	test___%ebx,%ebx
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%bl
	movzbl_%bl,%ebx
	test___%ebx,%ebx
:_vsnprintf_482_and_skip_b
	test___%ebx,%ebx
	je32   %_vsnprintf_496_and_skip_b
	test___%ebx,%ebx
	mov____0x8(%ebp),%ebx !0x-c
	movsbl_%bl,%ebx
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x58
	sub____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	test___%ebx,%ebx
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%bl
	movzbl_%bl,%ebx
	test___%ebx,%ebx
:_vsnprintf_496_and_skip_b
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-24
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-20
	push___%ebx
	call32 %ntoab
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-28
					# if (c == 'X') ...
	mov____0x8(%ebp),%eax !0x-c
	movsbl_%al,%eax
	mov____$i32,%ebx %0x58
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_vsnprintf_517_break
					# strupr(s)
	mov____0x8(%ebp),%ebx !0x-28
	push___%ebx
	call32 %strupr
	add____$i8,%esp !0x4
	test___%eax,%eax
	jmp32  %_vsnprintf_517_break
:_vsnprintf_517_break
					# int length = strlen(s);\n
					# strlen(s)
	mov____0x8(%ebp),%ebx !0x-28
	push___%ebx
	call32 %strlen
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-2c
					# if (precision == -1) ...
	mov____0x8(%ebp),%eax !0x-14
	mov____$i32,%ebx %0x-1
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_vsnprintf_538_break
					# precision = length
	mov____0x8(%ebp),%eax !0x-2c
	mov____%eax,0x8(%ebp) !0x-14
	test___%eax,%eax
	jmp32  %_vsnprintf_538_break
:_vsnprintf_538_break
					# if (!left_p) ...
	mov____0x8(%ebp),%eax !0x-10
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_vsnprintf_551_break
					# while (width-- > precision) ...
	jmp32  %_vsnprintf_558_continue
:_vsnprintf_558_loop
					# if (count < size) ...
	mov____0x8(%ebp),%eax !0x-8
	mov____0x8(%ebp),%ebx !0xc
	sub____%ebx,%eax
	setb___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_vsnprintf_561_break
					# *str = pad
	mov____0x8(%ebp),%eax !0x-1c
	movsbl_%al,%eax
	mov____0x8(%ebp),%ebx !0x8
	mov____%al,(%ebx)
	add____$i8,0x8(%ebp) !0x8 !0x1
	test___%eax,%eax
	jmp32  %_vsnprintf_561_break
:_vsnprintf_561_break
	mov____0x8(%ebp),%eax !0x-8
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-8
	add____$i8,(%ebx) !0x1
	test___%eax,%eax
:_vsnprintf_558_continue
	mov____0x8(%ebp),%eax !0x-18
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-18
	add____$i8,(%ebx) !0x-1
	mov____0x8(%ebp),%ebx !0x-14
	sub____%ebx,%eax
	setg___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_vsnprintf_558_break
	jmp32  %_vsnprintf_558_loop
:_vsnprintf_558_break
					# while (precision > length) ...
	jmp32  %_vsnprintf_594_continue
:_vsnprintf_594_loop
					# if (count < size) ...
	mov____0x8(%ebp),%eax !0x-8
	mov____0x8(%ebp),%ebx !0xc
	sub____%ebx,%eax
	setb___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_vsnprintf_597_break
					# *str = '0'
	mov____$i32,%eax %0x30
	mov____0x8(%ebp),%ebx !0x8
	mov____%al,(%ebx)
	add____$i8,0x8(%ebp) !0x8 !0x1
	test___%eax,%eax
	jmp32  %_vsnprintf_597_break
:_vsnprintf_597_break
	mov____0x8(%ebp),%eax !0x-14
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-14
	add____$i8,(%ebx) !0x-1
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x-18
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-18
	add____$i8,(%ebx) !0x-1
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x-8
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-8
	add____$i8,(%ebx) !0x1
	test___%eax,%eax
:_vsnprintf_594_continue
	mov____0x8(%ebp),%eax !0x-14
	mov____0x8(%ebp),%ebx !0x-2c
	sub____%ebx,%eax
	setg___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_vsnprintf_594_break
	jmp32  %_vsnprintf_594_loop
:_vsnprintf_594_break
	jmp32  %_vsnprintf_551_break
:_vsnprintf_551_break
					# while (*s) ...
	jmp32  %_vsnprintf_637_continue
:_vsnprintf_637_loop
					# if (precision-- <= 0) ...
	mov____0x8(%ebp),%eax !0x-14
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-14
	add____$i8,(%ebx) !0x-1
	mov____$i32,%ebx %0x0
	sub____%ebx,%eax
	setle__%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_vsnprintf_640_break
	jmp32  %_vsnprintf_637_break
	jmp32  %_vsnprintf_640_break
:_vsnprintf_640_break
	mov____0x8(%ebp),%eax !0x-18
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-18
	add____$i8,(%ebx) !0x-1
	test___%eax,%eax
					# c = *s++
	mov____0x8(%ebp),%eax !0x-28
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-28
	add____$i8,(%ebx) !0x1
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	mov____%eax,0x8(%ebp) !0x-c
	test___%eax,%eax
					# if (count < size) ...
	mov____0x8(%ebp),%eax !0x-8
	mov____0x8(%ebp),%ebx !0xc
	sub____%ebx,%eax
	setb___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_vsnprintf_665_break
					# *str = c
	mov____0x8(%ebp),%eax !0x-c
	movsbl_%al,%eax
	mov____0x8(%ebp),%ebx !0x8
	mov____%al,(%ebx)
	add____$i8,0x8(%ebp) !0x8 !0x1
	test___%eax,%eax
	jmp32  %_vsnprintf_665_break
:_vsnprintf_665_break
	mov____0x8(%ebp),%eax !0x-8
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-8
	add____$i8,(%ebx) !0x1
	test___%eax,%eax
:_vsnprintf_637_continue
	mov____0x8(%ebp),%eax !0x-28
	movzbl_(%eax),%eax
	movsbl_%al,%eax
					# jmp test LABEL
	test___%eax,%eax
	test___%al,%al
	je32   %_vsnprintf_637_break
	jmp32  %_vsnprintf_637_loop
:_vsnprintf_637_break
					# while (width > 0) ...
	jmp32  %_vsnprintf_695_continue
:_vsnprintf_695_loop
	mov____0x8(%ebp),%eax !0x-18
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-18
	add____$i8,(%ebx) !0x-1
	test___%eax,%eax
					# if (count < size) ...
	mov____0x8(%ebp),%eax !0x-8
	mov____0x8(%ebp),%ebx !0xc
	sub____%ebx,%eax
	setb___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_vsnprintf_702_break
					# *str = pad
	mov____0x8(%ebp),%eax !0x-1c
	movsbl_%al,%eax
	mov____0x8(%ebp),%ebx !0x8
	mov____%al,(%ebx)
	add____$i8,0x8(%ebp) !0x8 !0x1
	test___%eax,%eax
	jmp32  %_vsnprintf_702_break
:_vsnprintf_702_break
	mov____0x8(%ebp),%eax !0x-8
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-8
	add____$i8,(%ebx) !0x1
	test___%eax,%eax
:_vsnprintf_695_continue
	mov____0x8(%ebp),%eax !0x-18
	mov____$i32,%ebx %0x0
	sub____%ebx,%eax
	setg___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_vsnprintf_695_break
	jmp32  %_vsnprintf_695_loop
:_vsnprintf_695_break
	jmp32  %_vsnprintf_330_break
:_vsnprintf_330_clause3
	cmp____$i8,%eax !0x73
	je32   %_vsnprintf_330_body3
	jmp32  %_vsnprintf_330_clause4
:_vsnprintf_330_body3
					# char *s = (char*)(long*)(ap = ap + sizeof(void*))[-1];\n
	mov____$i32,%eax %0x-1
	shl____$i8,%eax !0x2
					# ap = ap + sizeof(void*)
	mov____0x8(%ebp),%ebx !0x14
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x4
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____%ebx,0x8(%ebp) !0x14
	add____%ebx,%eax
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-20
					# int length = s? strlen(s): 0;\n
					# s? ...: ...
	mov____0x8(%ebp),%eax !0x-20
					# jmp test LABEL
	test___%eax,%eax
	je32   %_vsnprintf_753_else
					# strlen(s)
	mov____0x8(%ebp),%ebx !0x-20
	push___%ebx
	call32 %strlen
	add____$i8,%esp !0x4
	jmp32  %_vsnprintf_753_break
:_vsnprintf_753_else
	mov____$i32,%eax %0x0
:_vsnprintf_753_break
	mov____%eax,0x8(%ebp) !0x-24
					# if (precision == -1) ...
	mov____0x8(%ebp),%eax !0x-14
	mov____$i32,%ebx %0x-1
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_vsnprintf_767_break
					# precision = length
	mov____0x8(%ebp),%eax !0x-24
	mov____%eax,0x8(%ebp) !0x-14
	test___%eax,%eax
	jmp32  %_vsnprintf_767_break
:_vsnprintf_767_break
					# if (!left_p) ...
	mov____0x8(%ebp),%eax !0x-10
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_vsnprintf_780_break
					# while (width-- > precision) ...
	jmp32  %_vsnprintf_787_continue
:_vsnprintf_787_loop
					# if (count < size) ...
	mov____0x8(%ebp),%eax !0x-8
	mov____0x8(%ebp),%ebx !0xc
	sub____%ebx,%eax
	setb___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_vsnprintf_790_break
					# *str = pad
	mov____0x8(%ebp),%eax !0x-1c
	movsbl_%al,%eax
	mov____0x8(%ebp),%ebx !0x8
	mov____%al,(%ebx)
	add____$i8,0x8(%ebp) !0x8 !0x1
	test___%eax,%eax
	jmp32  %_vsnprintf_790_break
:_vsnprintf_790_break
	mov____0x8(%ebp),%eax !0x-8
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-8
	add____$i8,(%ebx) !0x1
	test___%eax,%eax
:_vsnprintf_787_continue
	mov____0x8(%ebp),%eax !0x-18
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-18
	add____$i8,(%ebx) !0x-1
	mov____0x8(%ebp),%ebx !0x-14
	sub____%ebx,%eax
	setg___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_vsnprintf_787_break
	jmp32  %_vsnprintf_787_loop
:_vsnprintf_787_break
					# while (width > length) ...
	jmp32  %_vsnprintf_823_continue
:_vsnprintf_823_loop
					# if (count < size) ...
	mov____0x8(%ebp),%eax !0x-8
	mov____0x8(%ebp),%ebx !0xc
	sub____%ebx,%eax
	setb___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_vsnprintf_826_break
					# *str = ' '
	mov____$i32,%eax %0x20
	mov____0x8(%ebp),%ebx !0x8
	mov____%al,(%ebx)
	add____$i8,0x8(%ebp) !0x8 !0x1
	test___%eax,%eax
	jmp32  %_vsnprintf_826_break
:_vsnprintf_826_break
	mov____0x8(%ebp),%eax !0x-14
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-14
	add____$i8,(%ebx) !0x-1
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x-18
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-18
	add____$i8,(%ebx) !0x-1
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x-8
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-8
	add____$i8,(%ebx) !0x1
	test___%eax,%eax
:_vsnprintf_823_continue
	mov____0x8(%ebp),%eax !0x-18
	mov____0x8(%ebp),%ebx !0x-24
	sub____%ebx,%eax
	setg___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_vsnprintf_823_break
	jmp32  %_vsnprintf_823_loop
:_vsnprintf_823_break
	jmp32  %_vsnprintf_780_break
:_vsnprintf_780_break
					# while (s && *s) ...
	jmp32  %_vsnprintf_866_continue
:_vsnprintf_866_loop
					# if (precision-- <= 0) ...
	mov____0x8(%ebp),%eax !0x-14
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-14
	add____$i8,(%ebx) !0x-1
	mov____$i32,%ebx %0x0
	sub____%ebx,%eax
	setle__%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_vsnprintf_869_break
	jmp32  %_vsnprintf_866_break
	jmp32  %_vsnprintf_869_break
:_vsnprintf_869_break
	mov____0x8(%ebp),%eax !0x-18
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-18
	add____$i8,(%ebx) !0x-1
	test___%eax,%eax
					# c = *s++
	mov____0x8(%ebp),%eax !0x-20
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-20
	add____$i8,(%ebx) !0x1
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	mov____%eax,0x8(%ebp) !0x-c
	test___%eax,%eax
					# if (count < size) ...
	mov____0x8(%ebp),%eax !0x-8
	mov____0x8(%ebp),%ebx !0xc
	sub____%ebx,%eax
	setb___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_vsnprintf_894_break
					# *str = c
	mov____0x8(%ebp),%eax !0x-c
	movsbl_%al,%eax
	mov____0x8(%ebp),%ebx !0x8
	mov____%al,(%ebx)
	add____$i8,0x8(%ebp) !0x8 !0x1
	test___%eax,%eax
	jmp32  %_vsnprintf_894_break
:_vsnprintf_894_break
	mov____0x8(%ebp),%eax !0x-8
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-8
	add____$i8,(%ebx) !0x1
	test___%eax,%eax
:_vsnprintf_866_continue
	mov____0x8(%ebp),%eax !0x-20
					# jmp test LABEL
	test___%eax,%eax
	je32   %_vsnprintf_866_break
	mov____0x8(%ebp),%eax !0x-20
	movzbl_(%eax),%eax
	movsbl_%al,%eax
					# jmp test LABEL
	test___%eax,%eax
	test___%al,%al
	je32   %_vsnprintf_866_break
	jmp32  %_vsnprintf_866_loop
:_vsnprintf_866_break
					# while (width > 0) ...
	jmp32  %_vsnprintf_928_continue
:_vsnprintf_928_loop
	mov____0x8(%ebp),%eax !0x-18
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-18
	add____$i8,(%ebx) !0x-1
	test___%eax,%eax
					# if (count < size) ...
	mov____0x8(%ebp),%eax !0x-8
	mov____0x8(%ebp),%ebx !0xc
	sub____%ebx,%eax
	setb___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_vsnprintf_935_break
					# *str = pad
	mov____0x8(%ebp),%eax !0x-1c
	movsbl_%al,%eax
	mov____0x8(%ebp),%ebx !0x8
	mov____%al,(%ebx)
	add____$i8,0x8(%ebp) !0x8 !0x1
	test___%eax,%eax
	jmp32  %_vsnprintf_935_break
:_vsnprintf_935_break
	mov____0x8(%ebp),%eax !0x-8
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-8
	add____$i8,(%ebx) !0x1
	test___%eax,%eax
:_vsnprintf_928_continue
	mov____0x8(%ebp),%eax !0x-18
	mov____$i32,%ebx %0x0
	sub____%ebx,%eax
	setg___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_vsnprintf_928_break
	jmp32  %_vsnprintf_928_loop
:_vsnprintf_928_break
	jmp32  %_vsnprintf_330_break
:_vsnprintf_330_clause4
	cmp____$i8,%eax !0x6e
	je32   %_vsnprintf_330_body4
	jmp32  %_vsnprintf_330_clause5
:_vsnprintf_330_body4
					# int *n = (int*)(long*)(ap = ap + sizeof(void*))[-1];\n
	mov____$i32,%eax %0x-1
	shl____$i8,%eax !0x2
					# ap = ap + sizeof(void*)
	mov____0x8(%ebp),%ebx !0x14
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x4
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____%ebx,0x8(%ebp) !0x14
	add____%ebx,%eax
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-20
					# *n = count
	mov____0x8(%ebp),%eax !0x-8
	mov____0x8(%ebp),%ebx !0x-20
	mov____%eax,(%ebx)
	test___%eax,%eax
	jmp32  %_vsnprintf_330_break
:_vsnprintf_330_clause5
:_vsnprintf_330_default
:_vsnprintf_330_body5
					# eputs("vsnprintf: not supported: %:")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_34
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputc(c)
	mov____0x8(%ebp),%ebx !0x-c
	movsbl_%bl,%ebx
	push___%ebx
	call32 %eputc
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs("\n")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_0
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x-4
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-4
	add____$i8,(%ebx) !0x1
	test___%eax,%eax
	jmp32  %_vsnprintf_330_break
:_vsnprintf_330_clause6
	jmp32  %_vsnprintf_330_default
:_vsnprintf_330_break
	mov____0x8(%ebp),%eax !0x-4
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-4
	add____$i8,(%ebx) !0x1
	test___%eax,%eax
:_vsnprintf_11_break
:_vsnprintf_8_continue
	mov____0x8(%ebp),%eax !0x-4
	movzbl_(%eax),%eax
	movsbl_%al,%eax
					# jmp test LABEL
	test___%eax,%eax
	test___%al,%al
	je32   %_vsnprintf_8_break
	jmp32  %_vsnprintf_8_loop
:_vsnprintf_8_break
					# ap = 0
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x14
	movzbl_%al,%eax
	test___%eax,%eax
					# if (count < size) ...
	mov____0x8(%ebp),%eax !0x-8
	mov____0x8(%ebp),%ebx !0xc
	sub____%ebx,%eax
	setb___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_vsnprintf_1035_break
					# *str = 0
	mov____$i32,%eax %0x0
	mov____0x8(%ebp),%ebx !0x8
	mov____%al,(%ebx)
	test___%eax,%eax
	jmp32  %_vsnprintf_1035_break
:_vsnprintf_1035_break
	mov____0x8(%ebp),%eax !0x-8
	leave
	ret


:vsprintf
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# vsnprintf(str, 2147483647, format, ap)
	mov____0x8(%ebp),%ebx !0x10
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____$i32,%ebx %0x7fffffff
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %vsnprintf
	add____$i8,%esp !0x10
	leave
	ret


:vsscanf
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# char *p = s;\n
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,0x8(%ebp) !0x-4
					# char *t = template;\n
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,0x8(%ebp) !0x-8
					# int count = 0;\n
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x-c
					# while (*t && *p) ...
	jmp32  %_vsscanf_10_continue
:_vsscanf_10_loop
					# if (*t != '%') ...else ...
	mov____0x8(%ebp),%eax !0x-8
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	mov____$i32,%ebx %0x25
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_vsscanf_13_else
	mov____0x8(%ebp),%eax !0x-8
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-8
	add____$i8,(%ebx) !0x1
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x-4
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-4
	add____$i8,(%ebx) !0x1
	test___%eax,%eax
	jmp32  %_vsscanf_13_break
:_vsscanf_13_else
	mov____0x8(%ebp),%eax !0x-8
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-8
	add____$i8,(%ebx) !0x1
	test___%eax,%eax
					# char c = *t;\n
	mov____0x8(%ebp),%eax !0x-8
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	mov____%al,0x8(%ebp) !0x-10
					# if (c == 'l') ...
	mov____0x8(%ebp),%eax !0x-10
	movsbl_%al,%eax
	mov____$i32,%ebx %0x6c
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_vsscanf_43_break
					# c = *++t
	mov____%ebp,%eax
	add____$i8,%eax !0x-8
	add____$i8,(%eax) !0x1
	mov____0x8(%ebp),%eax !0x-8
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	mov____%eax,0x8(%ebp) !0x-10
	test___%eax,%eax
	jmp32  %_vsscanf_43_break
:_vsscanf_43_break
					# switch (c) {\n  ...}\n
	mov____0x8(%ebp),%eax !0x-10
	movsbl_%al,%eax
:_vsscanf_61_clause0
	cmp____$i8,%eax !0x25
	je32   %_vsscanf_61_body0
	jmp32  %_vsscanf_61_clause1
:_vsscanf_61_body0
	mov____0x8(%ebp),%ebx !0x-4
	push___%eax
	mov____%ebx,%eax
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-4
	add____$i8,(%ebx) !0x1
	mov____%eax,%ebx
	pop____%eax
	test___%ebx,%ebx
	jmp32  %_vsscanf_61_break
:_vsscanf_61_clause1
	cmp____$i8,%eax !0x63
	je32   %_vsscanf_61_body1
	jmp32  %_vsscanf_61_clause2
:_vsscanf_61_body1
					# char *c = (char*)(long*)(ap = ap + sizeof(void*))[-1];\n
	mov____$i32,%eax %0x-1
	shl____$i8,%eax !0x2
					# ap = ap + sizeof(void*)
	mov____0x8(%ebp),%ebx !0x10
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x4
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____%ebx,0x8(%ebp) !0x10
	add____%ebx,%eax
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-14
					# *c = *p++
	mov____0x8(%ebp),%eax !0x-4
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-4
	add____$i8,(%ebx) !0x1
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	mov____0x8(%ebp),%ebx !0x-14
	mov____%al,(%ebx)
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x-c
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-c
	add____$i8,(%ebx) !0x1
	test___%eax,%eax
	jmp32  %_vsscanf_61_break
:_vsscanf_61_clause2
	cmp____$i8,%eax !0x64
	je32   %_vsscanf_61_body2
	cmp____$i8,%eax !0x69
	je32   %_vsscanf_61_body2
	cmp____$i8,%eax !0x75
	je32   %_vsscanf_61_body2
	jmp32  %_vsscanf_61_clause3
:_vsscanf_61_body2
					# int *d = (int*)(long*)(ap = ap + sizeof(void*))[-1];\n
	mov____$i32,%eax %0x-1
	shl____$i8,%eax !0x2
					# ap = ap + sizeof(void*)
	mov____0x8(%ebp),%ebx !0x10
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x4
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____%ebx,0x8(%ebp) !0x10
	add____%ebx,%eax
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-14
					# *d = abtol(&p, 10)
					# abtol(&p, 10)
	mov____$i32,%ebx %0xa
	push___%ebx
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-4
	push___%ebx
	call32 %abtol
	add____$i8,%esp !0x8
	mov____0x8(%ebp),%ebx !0x-14
	mov____%eax,(%ebx)
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x-c
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-c
	add____$i8,(%ebx) !0x1
	test___%eax,%eax
	jmp32  %_vsscanf_61_break
:_vsscanf_61_clause3
:_vsscanf_61_default
:_vsscanf_61_body3
					# eputs("vsscanf: not supported: %:")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_35
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputc(c)
	mov____0x8(%ebp),%ebx !0x-10
	movsbl_%bl,%ebx
	push___%ebx
	call32 %eputc
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs("\n")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_0
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x-8
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-8
	add____$i8,(%ebx) !0x1
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x-4
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-4
	add____$i8,(%ebx) !0x1
	test___%eax,%eax
	jmp32  %_vsscanf_61_break
:_vsscanf_61_clause4
	jmp32  %_vsscanf_61_default
:_vsscanf_61_break
	mov____0x8(%ebp),%eax !0x-8
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-8
	add____$i8,(%ebx) !0x1
	test___%eax,%eax
:_vsscanf_13_break
:_vsscanf_10_continue
	mov____0x8(%ebp),%eax !0x-8
	movzbl_(%eax),%eax
	movsbl_%al,%eax
					# jmp test LABEL
	test___%eax,%eax
	test___%al,%al
	je32   %_vsscanf_10_break
	mov____0x8(%ebp),%eax !0x-4
	movzbl_(%eax),%eax
	movsbl_%al,%eax
					# jmp test LABEL
	test___%eax,%eax
	test___%al,%al
	je32   %_vsscanf_10_break
	jmp32  %_vsscanf_10_loop
:_vsscanf_10_break
					# ap = 0
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x10
	movzbl_%al,%eax
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x-c
	leave
	ret


:calloc
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# size_t count = nmemb*size;\n
	mov____0x8(%ebp),%eax !0x8
	mov____0x8(%ebp),%ebx !0xc
	mul____%ebx
	mov____%eax,0x8(%ebp) !0x-4
					# void *p = malloc(count);\n
					# malloc(count)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %malloc
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-8
					# memset(p, 0, count)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	call32 %memset
	add____$i8,%esp !0xc
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x-8
	leave
	ret


:qswap
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# char *buf[8];\n
					# memcpy(buf, a, size)
	mov____0x8(%ebp),%ebx !0x10
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-20
	push___%ebx
	call32 %memcpy
	add____$i8,%esp !0xc
	test___%eax,%eax
					# memcpy(a, b, size)
	mov____0x8(%ebp),%ebx !0x10
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %memcpy
	add____$i8,%esp !0xc
	test___%eax,%eax
					# memcpy(b, buf, size)
	mov____0x8(%ebp),%ebx !0x10
	push___%ebx
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-20
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	call32 %memcpy
	add____$i8,%esp !0xc
	test___%eax,%eax
	leave
	ret


:qpart
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# void *p = base + count*size;\n
	mov____0x8(%ebp),%eax !0x8
	mov____0x8(%ebp),%ebx !0xc
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x10
	mul____%ebx
	mov____%eax,%ebx
	pop____%eax
	add____%ebx,%eax
	mov____%eax,0x8(%ebp) !0x-4
					# size_t i = 0;\n
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x-8
					# for (size_t j = 0; j < count; j++) ...
					# size_t j = 0;\n
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x-c
	jmp32  %_qpart_13_initial_skip
:_qpart_13_loop
					# int c = compare(base + j*size, p);\n
					# compare(base + j*size, p)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-c
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x10
	mul____%ebx
	mov____%eax,%ebx
	pop____%eax
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____0x8(%ebp),%eax !0x14
	call___*%eax
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-10
					# if (c < 0) ...else ...
	mov____0x8(%ebp),%eax !0x-10
	mov____$i32,%ebx %0x0
	sub____%ebx,%eax
	setl___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_qpart_36_else
					# qswap(base + i*size, base + j*size, size)
	mov____0x8(%ebp),%ebx !0x10
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-c
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x10
	mul____%ebx
	mov____%eax,%ebx
	pop____%eax
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-8
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x10
	mul____%ebx
	mov____%eax,%ebx
	pop____%eax
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %qswap
	add____$i8,%esp !0xc
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x-8
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-8
	add____$i8,(%ebx) !0x1
	test___%eax,%eax
	jmp32  %_qpart_36_break
:_qpart_36_else
					# if (c == 0) ...
	mov____0x8(%ebp),%eax !0x-10
	mov____$i32,%ebx %0x0
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_qpart_75_break
	mov____0x8(%ebp),%eax !0x-8
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-8
	add____$i8,(%ebx) !0x1
	test___%eax,%eax
	jmp32  %_qpart_75_break
:_qpart_75_break
:_qpart_36_break
:_qpart_13_continue
	mov____0x8(%ebp),%eax !0x-c
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-c
	add____$i8,(%ebx) !0x1
:_qpart_13_initial_skip
	mov____0x8(%ebp),%eax !0x-c
	mov____0x8(%ebp),%ebx !0xc
	sub____%ebx,%eax
	setb___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# 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(%ebp),%ebx !0x8
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-8
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x10
	mul____%ebx
	mov____%eax,%ebx
	pop____%eax
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0xc
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x10
	mul____%ebx
	mov____%eax,%ebx
	pop____%eax
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____0x8(%ebp),%eax !0x14
	call___*%eax
	add____$i8,%esp !0x8
	mov____$i32,%ebx %0x0
	sub____%ebx,%eax
	setl___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_qpart_103_break
					# qswap(base + i*size, base + count*size, size)
	mov____0x8(%ebp),%ebx !0x10
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0xc
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x10
	mul____%ebx
	mov____%eax,%ebx
	pop____%eax
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-8
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x10
	mul____%ebx
	mov____%eax,%ebx
	pop____%eax
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %qswap
	add____$i8,%esp !0xc
	test___%eax,%eax
	jmp32  %_qpart_103_break
:_qpart_103_break
	mov____0x8(%ebp),%eax !0x-8
	leave
	ret


:qsort
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# if (count > 1) ...
	mov____0x8(%ebp),%eax !0xc
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	seta___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_qsort_1_break
					# int p = qpart(base, count - 1, size, compare);\n
					# qpart(base, count - 1, size, compare)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	mov____0x8(%ebp),%ebx !0x10
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	add____$i8,%ebx !0x-1
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %qpart
	add____$i8,%esp !0x10
	mov____%eax,0x8(%ebp) !0x-4
					# qsort(base, p, size, compare)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	mov____0x8(%ebp),%ebx !0x10
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %qsort
	add____$i8,%esp !0x10
	test___%eax,%eax
					# qsort(base + p*size, count - p, size, compare)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	mov____0x8(%ebp),%ebx !0x10
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-4
	sub____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-4
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x10
	mul____%ebx
	mov____%eax,%ebx
	pop____%eax
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %qsort
	add____$i8,%esp !0x10
	test___%eax,%eax
	jmp32  %_qsort_1_break
:_qsort_1_break
	leave
	ret


:strtof
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# strtod(string, tailptr)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %strtod
	add____$i8,%esp !0x8
	leave
	ret


:strtol
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# if (!strncmp(string, "0x", 2)) ...
					# strncmp(string, "0x", 2)
	mov____$i32,%ebx %0x2
	push___%ebx
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_36
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %strncmp
	add____$i8,%esp !0xc
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_strtol_1_break
					# string += 2
	mov____$i32,%eax %0x2
	mov____0x8(%ebp),%ebx !0x8
	xchg___%eax,%ebx
	add____%ebx,%eax
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# base = 16
	mov____$i32,%eax %0x10
	mov____%eax,0x8(%ebp) !0x10
	test___%eax,%eax
	jmp32  %_strtol_1_break
:_strtol_1_break
					# if (tailptr) ...
	mov____0x8(%ebp),%eax !0xc
					# jmp test LABEL
	test___%eax,%eax
	je32   %_strtol_27_break
					# *tailptr = string
	mov____0x8(%ebp),%eax !0x8
	mov____0x8(%ebp),%ebx !0xc
	mov____%eax,(%ebx)
	test___%eax,%eax
					# abtol(tailptr, base)
	mov____0x8(%ebp),%ebx !0x10
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	call32 %abtol
	add____$i8,%esp !0x8
	leave
	ret
	jmp32  %_strtol_27_break
:_strtol_27_break
					# char **p = &string;\n
	mov____%ebp,%eax
	add____$i8,%eax !0x8
	mov____%eax,0x8(%ebp) !0x-4
					# abtol(p, base)
	mov____0x8(%ebp),%ebx !0x10
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %abtol
	add____$i8,%esp !0x8
	leave
	ret


:strtold
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# strtod(string, tailptr)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %strtod
	add____$i8,%esp !0x8
	leave
	ret


:strtoll
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# strtol(string, tailptr, base)
	mov____0x8(%ebp),%ebx !0x10
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %strtol
	add____$i8,%esp !0xc
	leave
	ret


:strtoul
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# strtol(string, tailptr, base)
	mov____0x8(%ebp),%ebx !0x10
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %strtol
	add____$i8,%esp !0xc
	leave
	ret


:strtoull
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# strtol(string, tailptr, base)
	mov____0x8(%ebp),%ebx !0x10
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %strtol
	add____$i8,%esp !0xc
	leave
	ret


:_memmem
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# unsigned char *end_haystack = haystack + haystack_len - needle_len + 1;\n
	mov____0x8(%ebp),%eax !0x8
	mov____0x8(%ebp),%ebx !0xc
	add____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x14
	sub____%ebx,%eax
	add____$i8,%eax !0x1
	mov____%eax,0x8(%ebp) !0x-4
					# unsigned char *end_needle = needle + needle_len;\n
	mov____0x8(%ebp),%eax !0x10
	mov____0x8(%ebp),%ebx !0x14
	add____%ebx,%eax
	mov____%eax,0x8(%ebp) !0x-8
					# while (haystack < end_haystack) ...
	jmp32  %__memmem_14_continue
:__memmem_14_loop
					# unsigned char *subneedle = needle;\n
	mov____0x8(%ebp),%eax !0x10
	mov____%eax,0x8(%ebp) !0x-c
					# unsigned char *subhaystack = haystack;\n
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,0x8(%ebp) !0x-10
					# while (subneedle < end_needle) ...
	jmp32  %__memmem_23_continue
:__memmem_23_loop
					# if (*subneedle++ != *subhaystack++) ...
	mov____0x8(%ebp),%eax !0x-c
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-c
	add____$i8,(%ebx) !0x1
	movzbl_(%eax),%eax
	movzbl_%al,%eax
	mov____0x8(%ebp),%ebx !0x-10
	push___%eax
	mov____%ebx,%eax
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-10
	add____$i8,(%ebx) !0x1
	mov____%eax,%ebx
	pop____%eax
	movzbl_(%ebx),%ebx
	movzbl_%bl,%ebx
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %__memmem_26_break
	jmp32  %__memmem_label_next
	jmp32  %__memmem_26_break
:__memmem_26_break
:__memmem_23_continue
	mov____0x8(%ebp),%eax !0x-c
	mov____0x8(%ebp),%ebx !0x-8
	sub____%ebx,%eax
	setb___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %__memmem_23_break
	jmp32  %__memmem_23_loop
:__memmem_23_break
	mov____0x8(%ebp),%eax !0x8
	leave
	ret
:__memmem_label_next
	mov____0x8(%ebp),%eax !0x8
	mov____%ebp,%ebx
	add____$i8,%ebx !0x8
	add____$i8,(%ebx) !0x1
	test___%eax,%eax
:__memmem_14_continue
	mov____0x8(%ebp),%eax !0x8
	mov____0x8(%ebp),%ebx !0x-4
	sub____%ebx,%eax
	setb___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %__memmem_14_break
	jmp32  %__memmem_14_loop
:__memmem_14_break
	mov____$i32,%eax %0x0
	leave
	ret


:memmem
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# unsigned char *haystack_byte_c = (unsigned char*)haystack;\n
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,0x8(%ebp) !0x-4
					# unsigned char *needle_byte_c = (unsigned char*)needle;\n
	mov____0x8(%ebp),%eax !0x10
	mov____%eax,0x8(%ebp) !0x-8
					# _memmem(haystack_byte_c, haystack_len, needle_byte_c, needle_len)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %_memmem
	add____$i8,%esp !0x10
	leave
	ret


:memmove
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# if (dest < src) ...
	mov____0x8(%ebp),%eax !0x8
	mov____0x8(%ebp),%ebx !0xc
	sub____%ebx,%eax
	setl___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_memmove_1_break
					# memcpy(dest, src, n)
	mov____0x8(%ebp),%ebx !0x10
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %memcpy
	add____$i8,%esp !0xc
	leave
	ret
	jmp32  %_memmove_1_break
:_memmove_1_break
					# char *p = dest + n;\n
	mov____0x8(%ebp),%eax !0x8
	mov____0x8(%ebp),%ebx !0x10
	add____%ebx,%eax
	mov____%eax,0x8(%ebp) !0x-4
					# char *q = src + n;\n
	mov____0x8(%ebp),%eax !0xc
	mov____0x8(%ebp),%ebx !0x10
	add____%ebx,%eax
	mov____%eax,0x8(%ebp) !0x-8
					# while (n--) ...
	jmp32  %_memmove_30_continue
:_memmove_30_loop
					# *--p = *--q
	mov____%ebp,%eax
	add____$i8,%eax !0x-8
	add____$i8,(%eax) !0x-1
	mov____0x8(%ebp),%eax !0x-8
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-4
	add____$i8,(%ebx) !0x-1
	mov____0x8(%ebp),%ebx !0x-4
	mov____%al,(%ebx)
	test___%eax,%eax
:_memmove_30_continue
	mov____0x8(%ebp),%eax !0x10
	mov____%ebp,%ebx
	add____$i8,%ebx !0x10
	add____$i8,(%ebx) !0x-1
					# jmp test LABEL
	test___%eax,%eax
	je32   %_memmove_30_break
	jmp32  %_memmove_30_loop
:_memmove_30_break
	mov____0x8(%ebp),%eax !0x8
	leave
	ret


:memset
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# char *p = s;\n
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,0x8(%ebp) !0x-4
					# while (n--) ...
	jmp32  %_memset_4_continue
:_memset_4_loop
					# *p = c
	mov____0x8(%ebp),%eax !0xc
	mov____0x8(%ebp),%ebx !0x-4
	mov____%al,(%ebx)
	add____$i8,0x8(%ebp) !0x-4 !0x1
	test___%eax,%eax
:_memset_4_continue
	mov____0x8(%ebp),%eax !0x10
	mov____%ebp,%ebx
	add____$i8,%ebx !0x10
	add____$i8,(%ebx) !0x-1
					# jmp test LABEL
	test___%eax,%eax
	je32   %_memset_4_break
	jmp32  %_memset_4_loop
:_memset_4_break
	mov____0x8(%ebp),%eax !0x8
	leave
	ret


:strcat
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# char *p = strchr(to, '\\0');\n
					# strchr(to, '\\0')
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %strchr
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-4
					# while (*from) ...
	jmp32  %_strcat_9_continue
:_strcat_9_loop
					# *p = *from++
	mov____0x8(%ebp),%eax !0xc
	mov____%ebp,%ebx
	add____$i8,%ebx !0xc
	add____$i8,(%ebx) !0x1
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	mov____0x8(%ebp),%ebx !0x-4
	mov____%al,(%ebx)
	add____$i8,0x8(%ebp) !0x-4 !0x1
	test___%eax,%eax
:_strcat_9_continue
	mov____0x8(%ebp),%eax !0xc
	movzbl_(%eax),%eax
	movsbl_%al,%eax
					# jmp test LABEL
	test___%eax,%eax
	test___%al,%al
	je32   %_strcat_9_break
	jmp32  %_strcat_9_loop
:_strcat_9_break
					# *p = 0
	mov____$i32,%eax %0x0
	mov____0x8(%ebp),%ebx !0x-4
	mov____%al,(%ebx)
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x8
	leave
	ret


:strchr
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# char *p = s;\n
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,0x8(%ebp) !0x-4
					# while (*p || !c) ...
	jmp32  %_strchr_4_continue
:_strchr_4_loop
					# if (c == *p) ...
	mov____0x8(%ebp),%eax !0xc
	mov____0x8(%ebp),%ebx !0x-4
	movzbl_(%ebx),%ebx
	movsbl_%bl,%ebx
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_strchr_7_break
	mov____0x8(%ebp),%eax !0x-4
	leave
	ret
	jmp32  %_strchr_7_break
:_strchr_7_break
	mov____0x8(%ebp),%eax !0x-4
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-4
	add____$i8,(%ebx) !0x1
	test___%eax,%eax
:_strchr_4_continue
	mov____0x8(%ebp),%eax !0x-4
	movzbl_(%eax),%eax
	movsbl_%al,%eax
					# jmp test LABEL
	test___%eax,%eax
	test___%al,%al
	je32   %_strchr_4_break_b_21
	jmp32  %_strchr_4_break_skip_b_21
:_strchr_4_break_b_21
	mov____0x8(%ebp),%eax !0xc
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_strchr_4_break
:_strchr_4_break_skip_b_21
	jmp32  %_strchr_4_loop
:_strchr_4_break
	mov____$i32,%eax %0x0
	leave
	ret


:strlwr
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# char *p = string;\n
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,0x8(%ebp) !0x-4
					# while (*p) ...
	jmp32  %_strlwr_4_continue
:_strlwr_4_loop
					# *p = tolower(*p)
					# tolower(*p)
	mov____0x8(%ebp),%ebx !0x-4
	movzbl_(%ebx),%ebx
	movsbl_%bl,%ebx
	push___%ebx
	call32 %tolower
	add____$i8,%esp !0x4
	mov____0x8(%ebp),%ebx !0x-4
	mov____%al,(%ebx)
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x-4
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-4
	add____$i8,(%ebx) !0x1
	test___%eax,%eax
:_strlwr_4_continue
	mov____0x8(%ebp),%eax !0x-4
	movzbl_(%eax),%eax
	movsbl_%al,%eax
					# jmp test LABEL
	test___%eax,%eax
	test___%al,%al
	je32   %_strlwr_4_break
	jmp32  %_strlwr_4_loop
:_strlwr_4_break
	mov____0x8(%ebp),%eax !0x8
	leave
	ret


:strncpy
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# if (size == 0) ...
	mov____0x8(%ebp),%eax !0x10
	mov____$i32,%ebx %0x0
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_strncpy_1_break
	mov____0x8(%ebp),%eax !0x8
	leave
	ret
	jmp32  %_strncpy_1_break
:_strncpy_1_break
					# char *p = to;\n
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,0x8(%ebp) !0x-4
					# while (*from && size--) ...
	jmp32  %_strncpy_15_continue
:_strncpy_15_loop
					# *p = *from++
	mov____0x8(%ebp),%eax !0xc
	mov____%ebp,%ebx
	add____$i8,%ebx !0xc
	add____$i8,(%ebx) !0x1
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	mov____0x8(%ebp),%ebx !0x-4
	mov____%al,(%ebx)
	add____$i8,0x8(%ebp) !0x-4 !0x1
	test___%eax,%eax
:_strncpy_15_continue
	mov____0x8(%ebp),%eax !0xc
	movzbl_(%eax),%eax
	movsbl_%al,%eax
					# jmp test LABEL
	test___%eax,%eax
	test___%al,%al
	je32   %_strncpy_15_break
	mov____0x8(%ebp),%eax !0x10
	mov____%ebp,%ebx
	add____$i8,%ebx !0x10
	add____$i8,(%ebx) !0x-1
					# jmp test LABEL
	test___%eax,%eax
	je32   %_strncpy_15_break
	jmp32  %_strncpy_15_loop
:_strncpy_15_break
					# if (*from) ...
	mov____0x8(%ebp),%eax !0xc
	movzbl_(%eax),%eax
	movsbl_%al,%eax
					# jmp test LABEL
	test___%eax,%eax
	test___%al,%al
	je32   %_strncpy_43_break
	mov____0x8(%ebp),%eax !0x10
	mov____%ebp,%ebx
	add____$i8,%ebx !0x10
	add____$i8,(%ebx) !0x1
	test___%eax,%eax
	jmp32  %_strncpy_43_break
:_strncpy_43_break
					# while (size--) ...
	jmp32  %_strncpy_56_continue
:_strncpy_56_loop
					# *p = 0
	mov____$i32,%eax %0x0
	mov____0x8(%ebp),%ebx !0x-4
	mov____%al,(%ebx)
	add____$i8,0x8(%ebp) !0x-4 !0x1
	test___%eax,%eax
:_strncpy_56_continue
	mov____0x8(%ebp),%eax !0x10
	mov____%ebp,%ebx
	add____$i8,%ebx !0x10
	add____$i8,(%ebx) !0x-1
					# jmp test LABEL
	test___%eax,%eax
	je32   %_strncpy_56_break
	jmp32  %_strncpy_56_loop
:_strncpy_56_break
	mov____0x8(%ebp),%eax !0x8
	leave
	ret


:strrchr
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# int n = strlen(s);\n
					# strlen(s)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %strlen
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-4
					# if (!n) ...
	mov____0x8(%ebp),%eax !0x-4
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_strrchr_7_break
	mov____$i32,%eax %0x0
	leave
	ret
	jmp32  %_strrchr_7_break
:_strrchr_7_break
					# char *p = s + n;\n
	mov____0x8(%ebp),%eax !0x8
	mov____0x8(%ebp),%ebx !0x-4
	add____%ebx,%eax
	mov____%eax,0x8(%ebp) !0x-8
					# if (!*p && !c) ...
	mov____0x8(%ebp),%eax !0x-8
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_strrchr_23_break
	mov____0x8(%ebp),%eax !0xc
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_strrchr_23_break
	mov____0x8(%ebp),%eax !0x-8
	leave
	ret
	jmp32  %_strrchr_23_break
:_strrchr_23_break
	mov____0x8(%ebp),%eax !0x-8
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-8
	add____$i8,(%ebx) !0x-1
	test___%eax,%eax
					# while (n-- && (*p || !c)) ...
	jmp32  %_strrchr_46_continue
:_strrchr_46_loop
					# if (c == *p) ...
	mov____0x8(%ebp),%eax !0xc
	mov____0x8(%ebp),%ebx !0x-8
	movzbl_(%ebx),%ebx
	movsbl_%bl,%ebx
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_strrchr_49_break
	mov____0x8(%ebp),%eax !0x-8
	leave
	ret
	jmp32  %_strrchr_49_break
:_strrchr_49_break
	mov____0x8(%ebp),%eax !0x-8
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-8
	add____$i8,(%ebx) !0x-1
	test___%eax,%eax
:_strrchr_46_continue
	mov____0x8(%ebp),%eax !0x-4
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-4
	add____$i8,(%ebx) !0x-1
					# jmp test LABEL
	test___%eax,%eax
	je32   %_strrchr_46_break
	mov____0x8(%ebp),%eax !0x-8
	movzbl_(%eax),%eax
	movsbl_%al,%eax
					# jmp test LABEL
	test___%eax,%eax
	test___%al,%al
	je32   %_strrchr_46_break_b_61
	jmp32  %_strrchr_46_break_skip_b_61
:_strrchr_46_break_b_61
	mov____0x8(%ebp),%eax !0xc
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_strrchr_46_break
:_strrchr_46_break_skip_b_61
	jmp32  %_strrchr_46_loop
:_strrchr_46_break
	mov____$i32,%eax %0x0
	leave
	ret


:strstr
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# memmem(haystack, strlen(haystack), needle, strlen(needle))
					# strlen(needle)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %strlen
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
					# strlen(haystack)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %strlen
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %memmem
	add____$i8,%esp !0x10
	leave
	ret


:strupr
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# char *p = string;\n
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,0x8(%ebp) !0x-4
					# while (*p) ...
	jmp32  %_strupr_4_continue
:_strupr_4_loop
					# *p = toupper(*p)
					# toupper(*p)
	mov____0x8(%ebp),%ebx !0x-4
	movzbl_(%ebx),%ebx
	movsbl_%bl,%ebx
	push___%ebx
	call32 %toupper
	add____$i8,%esp !0x4
	mov____0x8(%ebp),%ebx !0x-4
	mov____%al,(%ebx)
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x-4
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-4
	add____$i8,(%ebx) !0x1
	test___%eax,%eax
:_strupr_4_continue
	mov____0x8(%ebp),%eax !0x-4
	movzbl_(%eax),%eax
	movsbl_%al,%eax
					# jmp test LABEL
	test___%eax,%eax
	test___%al,%al
	je32   %_strupr_4_break
	jmp32  %_strupr_4_loop
:_strupr_4_break
	mov____0x8(%ebp),%eax !0x8
	leave
	ret


:sigaction
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
	mov____$i32,%eax %0x0
	leave
	ret


:ldexp
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# static int stub = 0;\n
					# if (__mes_debug() && !stub) ...
					# __mes_debug()
	call32 %__mes_debug
	add____$i8,%esp !0x0
					# jmp test LABEL
	test___%eax,%eax
	je32   %_ldexp_2_break
	mov____0x32,%eax &ldexp-stub
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_ldexp_2_break
					# eputs("ldexp stub\n")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_37
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
	jmp32  %_ldexp_2_break
:_ldexp_2_break
					# stub = 1
	mov____$i32,%eax %0x1
	mov____%eax,0x32 &ldexp-stub
	test___%eax,%eax
	mov____$i32,%eax %0x0
	leave
	ret


:mprotect
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
	mov____$i32,%eax %0x0
	leave
	ret


:localtime
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# static int stub = 0;\n
					# if (__mes_debug() && !stub) ...
					# __mes_debug()
	call32 %__mes_debug
	add____$i8,%esp !0x0
					# jmp test LABEL
	test___%eax,%eax
	je32   %_localtime_2_break
	mov____0x32,%eax &localtime-stub
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_localtime_2_break
					# eputs("localtime stub\n")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_38
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
	jmp32  %_localtime_2_break
:_localtime_2_break
					# stub = 1
	mov____$i32,%eax %0x1
	mov____%eax,0x32 &localtime-stub
	test___%eax,%eax
					# errno = 0
	mov____$i32,%eax %0x0
	mov____%eax,0x32 &errno
	test___%eax,%eax
	mov____$i32,%eax %0x0
	leave
	ret


:strtod
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# static int stub = 0;\n
					# if (__mes_debug() && !stub) ...
					# __mes_debug()
	call32 %__mes_debug
	add____$i8,%esp !0x0
					# jmp test LABEL
	test___%eax,%eax
	je32   %_strtod_2_break
	mov____0x32,%eax &strtod-stub
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_strtod_2_break
					# eputs("strtod stub\n")
	push___$i32 &_string_lib/libc+tcc.x86-mes-S_39
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
	jmp32  %_strtod_2_break
:_strtod_2_break
					# stub = 1
	mov____$i32,%eax %0x1
	mov____%eax,0x32 &strtod-stub
	test___%eax,%eax
	mov____$i32,%eax %0x0
	leave
	ret


:sigemptyset
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
	mov____$i32,%eax %0x0
	leave
	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

:getcwd-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

: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

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

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

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

:g_stderr
!0x00 !0x00 !0x00 !0x00

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

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

:__call_at_exit
!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/libc+tcc.x86-mes-S_1
" ***MES C LIB*** fdgetc ungetc conflict unget-fd="

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

:_string_lib/libc+tcc.x86-mes-S_33
"vsnprintf: skipping second: l
"

:_string_lib/libc+tcc.x86-mes-S_34
"vsnprintf: not supported: %:"

:_string_lib/libc+tcc.x86-mes-S_35
"vsscanf: not supported: %:"

:_string_lib/libc+tcc.x86-mes-S_36
"0x"

:_string_lib/libc+tcc.x86-mes-S_37
"ldexp stub
"

:_string_lib/libc+tcc.x86-mes-S_38
"localtime stub
"

:_string_lib/libc+tcc.x86-mes-S_39
"strtod stub
"
