

: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-mini.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

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

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

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

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

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

:_string_lib/libc-mini.x86-mes-S_0
"
"

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

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