

:alloc
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# SCM x = g_free;\n
	mov____0x32,%eax &g_free
	mov____%eax,0x8(%ebp) !0x-4
					# g_free += n
	mov____0x8(%ebp),%eax !0x8
	mov____0x32,%ebx &g_free
	xchg___%eax,%ebx
	add____%ebx,%eax
	mov____%eax,0x32 &g_free
	test___%eax,%eax
					# if (g_free > ARENA_SIZE) ...
	mov____0x32,%eax &g_free
	mov____0x32,%ebx &ARENA_SIZE
	sub____%ebx,%eax
	setg___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_alloc_11_break
					# !"alloc: out of memory"? ...: ...
	mov____$i32,%eax &_string_src/mes.x86-mes-S_0
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_alloc_19_else
	mov____$i32,%eax %0x0
	movzbl_%al,%eax
	jmp32  %_alloc_19_break
:_alloc_19_else
					# assert_fail("!"alloc: out of memory"")
	push___$i32 &_string_src/mes.x86-mes-S_1
	call32 %assert_fail
	add____$i8,%esp !0x4
:_alloc_19_break
	jmp32  %_alloc_11_break
:_alloc_11_break
	mov____0x8(%ebp),%eax !0x-4
	leave
	ret


:make_cell__
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# SCM x = alloc(1);\n
					# alloc(1)
	mov____$i32,%ebx %0x1
	push___%ebx
	call32 %alloc
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-4
					# g_cells[x].type = type
	mov____0x8(%ebp),%eax !0x8
	mov____0x8(%ebp),%ebx !0x-4
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x0
	mov____%eax,(%ebx)
	test___%eax,%eax
					# g_cells[x].car = car
	mov____0x8(%ebp),%eax !0xc
	mov____0x8(%ebp),%ebx !0x-4
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
	mov____%eax,(%ebx)
	test___%eax,%eax
					# g_cells[x].cdr = cdr
	mov____0x8(%ebp),%eax !0x10
	mov____0x8(%ebp),%ebx !0x-4
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
	mov____%eax,(%ebx)
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x-4
	leave
	ret


:make_cell_
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# g_cells[type].type == 6? ...: ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[type].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x6
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_make_cell__1_else
	mov____$i32,%eax %0x0
	movzbl_%al,%eax
	jmp32  %_make_cell__1_break
:_make_cell__1_else
					# assert_fail("g_cells[type].type == 6")
	push___$i32 &_string_src/mes.x86-mes-S_2
	call32 %assert_fail
	add____$i8,%esp !0x4
:_make_cell__1_break
					# long t = g_cells[type].cdr;\n
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[type].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-4
					# if (t == 1 || t == 6) ...
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_make_cell__33_break_b_27
	jmp32  %_make_cell__33_break_skip_b_27
:_make_cell__33_break_b_27
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x6
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_make_cell__33_break
:_make_cell__33_break_skip_b_27
					# make_cell__(t, car? g_cells[car].car: 0, cdr? g_cells[cdr].cdr: 0)
					# cdr? ...: ...
	mov____0x8(%ebp),%ebx !0x10
					# jmp test LABEL
	test___%ebx,%ebx
	je32   %_make_cell__50_else
	mov____0x8(%ebp),%ebx !0x10
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[cdr].cdr
	mov____(%ebx),%ebx
	jmp32  %_make_cell__50_break
:_make_cell__50_else
	mov____$i32,%ebx %0x0
:_make_cell__50_break
	push___%ebx
					# car? ...: ...
	mov____0x8(%ebp),%ebx !0xc
					# jmp test LABEL
	test___%ebx,%ebx
	je32   %_make_cell__72_else
	mov____0x8(%ebp),%ebx !0xc
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[car].car
	mov____(%ebx),%ebx
	jmp32  %_make_cell__72_break
:_make_cell__72_else
	mov____$i32,%ebx %0x0
:_make_cell__72_break
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	leave
	ret
	jmp32  %_make_cell__33_break
:_make_cell__33_break
					# make_cell__(t, car, cdr)
	mov____0x8(%ebp),%ebx !0x10
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	leave
	ret


:assoc_string
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# while (a != 1 && (g_cells[g_cells[g_cells[a].car].car].type != 11 || \n    string_equal_p(x, g_cells[g_cells[a].car].car) == 2)) ...
	jmp32  %_assoc_string_1_continue
:_assoc_string_1_loop
					# a = g_cells[a].cdr
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[a].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0xc
	test___%eax,%eax
:_assoc_string_1_continue
	mov____0x8(%ebp),%eax !0xc
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_assoc_string_1_break
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[a].car
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[g_cells[a].car].car
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[g_cells[g_cells[a].car].car].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0xb
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_assoc_string_1_break_b_20
	jmp32  %_assoc_string_1_break_skip_b_20
:_assoc_string_1_break_b_20
					# string_equal_p(x, g_cells[g_cells[a].car].car)
	mov____0x8(%ebp),%ebx !0xc
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[a].car
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[g_cells[a].car].car
	mov____(%ebx),%ebx
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %string_equal_p
	add____$i8,%esp !0x8
	mov____$i32,%ebx %0x2
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_assoc_string_1_break
:_assoc_string_1_break_skip_b_20
	jmp32  %_assoc_string_1_loop
:_assoc_string_1_break
					# a != 1? ...: ...
	mov____0x8(%ebp),%eax !0xc
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_assoc_string_91_else
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[a].car
	mov____(%eax),%eax
	jmp32  %_assoc_string_91_break
:_assoc_string_91_else
	mov____$i32,%eax %0x2
:_assoc_string_91_break
	leave
	ret


:type_
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# make_cell__(6, 0, (long)g_cells[x].type)
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x0
					# g_cells[x].type
	mov____(%ebx),%ebx
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____$i32,%ebx %0x6
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	leave
	ret


:car_
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# g_cells[x].type != 3 && ((((g_cells[g_cells[x].car].type == 7 || g_cells[\n    g_cells[x].car].type == 9) || g_cells[g_cells[x].car].type == 10) || \n    g_cells[g_cells[x].car].type == 13) || g_cells[g_cells[x].car].type == 11)\n    ? ...: ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[x].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x3
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_car__1_else
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[x].car
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[g_cells[x].car].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_car__1_else_b_14_b_14_b_14_b_14
	jmp32  %_car__1_else_b_14_b_14_b_14_skip_b_14
:_car__1_else_b_14_b_14_b_14_b_14
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[x].car
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[g_cells[x].car].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x9
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_car__1_else_b_14_b_14_b_14
:_car__1_else_b_14_b_14_b_14_skip_b_14
	jmp32  %_car__1_else_b_14_b_14_skip_b_14
:_car__1_else_b_14_b_14_b_14
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[x].car
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[g_cells[x].car].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0xa
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_car__1_else_b_14_b_14
:_car__1_else_b_14_b_14_skip_b_14
	jmp32  %_car__1_else_b_14_skip_b_14
:_car__1_else_b_14_b_14
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[x].car
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[g_cells[x].car].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0xd
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_car__1_else_b_14
:_car__1_else_b_14_skip_b_14
	jmp32  %_car__1_else_skip_b_14
:_car__1_else_b_14
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[x].car
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[g_cells[x].car].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0xb
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_car__1_else
:_car__1_else_skip_b_14
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[x].car
	mov____(%eax),%eax
	jmp32  %_car__1_break
:_car__1_else
					# make_cell__(6, 0, (long)g_cells[x].car)
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[x].car
	mov____(%ebx),%ebx
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____$i32,%ebx %0x6
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
:_car__1_break
	leave
	ret


:cdr_
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# g_cells[x].type != 1 && g_cells[x].type != 6 && g_cells[x].type != 8 && ((((\n    g_cells[g_cells[x].cdr].type == 7 || g_cells[g_cells[x].cdr].type == 9) || \n    g_cells[g_cells[x].cdr].type == 10) || g_cells[g_cells[x].cdr].type == 13)\n     || g_cells[g_cells[x].cdr].type == 11)? ...: ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[x].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_cdr__1_else
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[x].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x6
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_cdr__1_else
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[x].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x8
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_cdr__1_else
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[x].cdr
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[g_cells[x].cdr].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_cdr__1_else_b_40_b_40_b_40_b_40
	jmp32  %_cdr__1_else_b_40_b_40_b_40_skip_b_40
:_cdr__1_else_b_40_b_40_b_40_b_40
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[x].cdr
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[g_cells[x].cdr].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x9
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_cdr__1_else_b_40_b_40_b_40
:_cdr__1_else_b_40_b_40_b_40_skip_b_40
	jmp32  %_cdr__1_else_b_40_b_40_skip_b_40
:_cdr__1_else_b_40_b_40_b_40
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[x].cdr
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[g_cells[x].cdr].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0xa
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_cdr__1_else_b_40_b_40
:_cdr__1_else_b_40_b_40_skip_b_40
	jmp32  %_cdr__1_else_b_40_skip_b_40
:_cdr__1_else_b_40_b_40
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[x].cdr
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[g_cells[x].cdr].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0xd
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_cdr__1_else_b_40
:_cdr__1_else_b_40_skip_b_40
	jmp32  %_cdr__1_else_skip_b_40
:_cdr__1_else_b_40
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[x].cdr
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[g_cells[x].cdr].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0xb
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_cdr__1_else
:_cdr__1_else_skip_b_40
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[x].cdr
	mov____(%eax),%eax
	jmp32  %_cdr__1_break
:_cdr__1_else
					# make_cell__(6, 0, (long)g_cells[x].cdr)
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[x].cdr
	mov____(%ebx),%ebx
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____$i32,%ebx %0x6
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
:_cdr__1_break
	leave
	ret


:cons
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# make_cell__(7, x, y)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx %0x7
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	leave
	ret


:car
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# if (g_cells[x].type != 7) ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[x].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_car_1_break
					# error(76, cons(x, 73))
					# cons(x, 73)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x49
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x4c
	push___%ebx
	call32 %error
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_car_1_break
:_car_1_break
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[x].car
	mov____(%eax),%eax
	leave
	ret


:cdr
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# if (g_cells[x].type != 7) ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[x].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_cdr_1_break
					# error(76, cons(x, 74))
					# cons(x, 74)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x4a
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x4c
	push___%ebx
	call32 %error
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_cdr_1_break
:_cdr_1_break
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[x].cdr
	mov____(%eax),%eax
	leave
	ret


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


:null_p
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# x == 1? ...: ...
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_null_p_1_else
	mov____$i32,%eax %0x3
	jmp32  %_null_p_1_break
:_null_p_1_else
	mov____$i32,%eax %0x2
:_null_p_1_break
	leave
	ret


:eq_p
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# ((x == y || (g_cells[x].type == 4 && g_cells[y].type == 4 && string_equal_p(x, \n    y) == 3)) || (g_cells[x].type == 1 && g_cells[y].type == 1 && g_cells[x].\n    cdr == g_cells[y].cdr)) || (g_cells[x].type == 6 && g_cells[y].type == 6\n     && g_cells[x].cdr == g_cells[y].cdr)? ...: ...
	mov____0x8(%ebp),%eax !0x8
	mov____0x8(%ebp),%ebx !0xc
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eq_p_1_else_b_1_b_1_b_1
	jmp32  %_eq_p_1_else_b_1_b_1_skip_b_1
:_eq_p_1_else_b_1_b_1_b_1
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[x].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x4
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eq_p_1_else_b_1_b_1
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[y].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x4
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eq_p_1_else_b_1_b_1
					# string_equal_p(x, y)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %string_equal_p
	add____$i8,%esp !0x8
	mov____$i32,%ebx %0x3
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eq_p_1_else_b_1_b_1
:_eq_p_1_else_b_1_b_1_skip_b_1
	jmp32  %_eq_p_1_else_b_1_skip_b_1
:_eq_p_1_else_b_1_b_1
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[x].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eq_p_1_else_b_1
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[y].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eq_p_1_else_b_1
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[x].cdr
	mov____(%eax),%eax
	mov____0x8(%ebp),%ebx !0xc
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[y].cdr
	mov____(%ebx),%ebx
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eq_p_1_else_b_1
:_eq_p_1_else_b_1_skip_b_1
	jmp32  %_eq_p_1_else_skip_b_1
:_eq_p_1_else_b_1
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[x].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x6
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eq_p_1_else
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[y].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x6
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eq_p_1_else
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[x].cdr
	mov____(%eax),%eax
	mov____0x8(%ebp),%ebx !0xc
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[y].cdr
	mov____(%ebx),%ebx
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eq_p_1_else
:_eq_p_1_else_skip_b_1
	mov____$i32,%eax %0x3
	jmp32  %_eq_p_1_break
:_eq_p_1_else
	mov____$i32,%eax %0x2
:_eq_p_1_break
	leave
	ret


:values
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# SCM v = cons(0, x);\n
					# cons(0, x)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-4
					# g_cells[v].type = 14
	mov____$i32,%eax %0xe
	mov____0x8(%ebp),%ebx !0x-4
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x0
	mov____%eax,(%ebx)
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x-4
	leave
	ret


:acons
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# cons(cons(key, value), alist)
	mov____0x8(%ebp),%ebx !0x10
	push___%ebx
					# cons(key, value)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	leave
	ret


:length__
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# long n = 0;\n
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x-4
					# while (x != 1) ...
	jmp32  %_length___4_continue
:_length___4_loop
	mov____0x8(%ebp),%eax !0x-4
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-4
	add____$i8,(%ebx) !0x1
	test___%eax,%eax
					# if (g_cells[x].type != 7) ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[x].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_length___11_break
	mov____$i32,%eax %0x-1
	leave
	ret
	jmp32  %_length___11_break
:_length___11_break
					# x = g_cells[x].cdr
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[x].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
:_length___4_continue
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_length___4_break
	jmp32  %_length___4_loop
:_length___4_break
	mov____0x8(%ebp),%eax !0x-4
	leave
	ret


:length
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# make_cell__(6, 0, (long)length__(x))
					# length__(x)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %length__
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____$i32,%ebx %0x6
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	leave
	ret


:error
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# SCM throw;\n
					# if ((throw = module_ref(r0, 78)) != 6) ...
					# throw = module_ref(r0, 78)
					# module_ref(r0, 78)
	mov____$i32,%ebx %0x4e
	push___%ebx
	mov____0x32,%ebx &r0
	push___%ebx
	call32 %module_ref
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-4
	mov____$i32,%ebx %0x6
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_error_2_break
					# apply(throw, cons(key, cons(x, 1)), r0)
	mov____0x32,%ebx &r0
	push___%ebx
					# cons(key, cons(x, 1))
	push___%eax
					# cons(x, 1)
	push___%eax
	mov____%ebx,%eax
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x1
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %apply
	add____$i8,%esp !0xc
	leave
	ret
	jmp32  %_error_2_break
:_error_2_break
					# display_error_(key)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %display_error_
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(": ")
	push___$i32 &_string_src/mes.x86-mes-S_3
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# write_error_(x)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	call32 %write_error_
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs("\n")
	push___$i32 &_string_src/mes.x86-mes-S_4
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# 0? ...: ...
	mov____$i32,%eax %0x0
					# jmp test LABEL
	test___%eax,%eax
	je32   %_error_75_else
	mov____$i32,%eax %0x0
	movzbl_%al,%eax
	jmp32  %_error_75_break
:_error_75_else
					# assert_fail("0")
	push___$i32 &_string_src/mes.x86-mes-S_5
	call32 %assert_fail
	add____$i8,%esp !0x4
:_error_75_break
					# exit(1)
	mov____$i32,%ebx %0x1
	push___%ebx
	call32 %exit
	add____$i8,%esp !0x4
	test___%eax,%eax
	leave
	ret


:assert_defined
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# if (e == 6) ...
	mov____0x8(%ebp),%eax !0xc
	mov____$i32,%ebx %0x6
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_assert_defined_1_break
					# error(79, x)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx %0x4f
	push___%ebx
	call32 %error
	add____$i8,%esp !0x8
	leave
	ret
	jmp32  %_assert_defined_1_break
:_assert_defined_1_break
	mov____0x8(%ebp),%eax !0xc
	leave
	ret


:check_formals
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# long flen = g_cells[formals].type == 6? g_cells[formals].cdr: length__(formals)\n    ;\n
					# g_cells[formals].type == 6? ...: ...
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[formals].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x6
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_check_formals_2_else
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[formals].cdr
	mov____(%eax),%eax
	jmp32  %_check_formals_2_break
:_check_formals_2_else
					# length__(formals)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	call32 %length__
	add____$i8,%esp !0x4
:_check_formals_2_break
	mov____%eax,0x8(%ebp) !0x-4
					# long alen = length__(args);\n
					# length__(args)
	mov____0x8(%ebp),%ebx !0x10
	push___%ebx
	call32 %length__
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-8
					# if (alen != flen && alen != -1 && flen != -1) ...
	mov____0x8(%ebp),%eax !0x-8
	mov____0x8(%ebp),%ebx !0x-4
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_check_formals_38_break
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0x-1
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_check_formals_38_break
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x-1
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_check_formals_38_break
					# char *s = "apply: wrong number of arguments; expected: ";\n
	mov____$i32,%eax &_string_src/mes.x86-mes-S_6
	mov____%eax,0x8(%ebp) !0x-c
					# eputs(s)
	mov____0x8(%ebp),%ebx !0x-c
	push___%ebx
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(itoa(flen))
					# itoa(flen)
	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(", got: ")
	push___$i32 &_string_src/mes.x86-mes-S_7
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(itoa(alen))
					# itoa(alen)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-8
	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_src/mes.x86-mes-S_4
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# write_error_(f)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %write_error_
	add____$i8,%esp !0x4
	test___%eax,%eax
					# SCM e = make_string(s, strlen(s));\n
					# make_string(s, strlen(s))
					# strlen(s)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-c
	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 !0x-c
	push___%ebx
	call32 %make_string
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-10
					# error(80, cons(e, f))
					# cons(e, f)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-10
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x50
	push___%ebx
	call32 %error
	add____$i8,%esp !0x8
	leave
	ret
	jmp32  %_check_formals_38_break
:_check_formals_38_break
	mov____$i32,%eax %0x7
	leave
	ret


:check_apply
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# char *type = 0;\n
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x-4
					# if (f == 2 || f == 3) ...
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x2
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_check_apply_4_break_b_3
	jmp32  %_check_apply_4_break_skip_b_3
:_check_apply_4_break_b_3
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x3
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_check_apply_4_break
:_check_apply_4_break_skip_b_3
					# type = "bool"
	mov____$i32,%eax &_string_src/mes.x86-mes-S_8
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
	jmp32  %_check_apply_4_break
:_check_apply_4_break
					# if (f == 1) ...
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_check_apply_26_break
					# type = "nil"
	mov____$i32,%eax &_string_src/mes.x86-mes-S_9
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
	jmp32  %_check_apply_26_break
:_check_apply_26_break
					# if (f == 7) ...
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_check_apply_39_break
					# type = "*unspecified*"
	mov____$i32,%eax &_string_src/mes.x86-mes-S_10
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
	jmp32  %_check_apply_39_break
:_check_apply_39_break
					# if (f == 6) ...
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x6
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_check_apply_52_break
					# type = "*undefined*"
	mov____$i32,%eax &_string_src/mes.x86-mes-S_11
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
	jmp32  %_check_apply_52_break
:_check_apply_52_break
					# if (g_cells[f].type == 1) ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[f].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_check_apply_65_break
					# type = "char"
	mov____$i32,%eax &_string_src/mes.x86-mes-S_12
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
	jmp32  %_check_apply_65_break
:_check_apply_65_break
					# if (g_cells[f].type == 6) ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[f].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x6
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_check_apply_85_break
					# type = "number"
	mov____$i32,%eax &_string_src/mes.x86-mes-S_13
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
	jmp32  %_check_apply_85_break
:_check_apply_85_break
					# if (g_cells[f].type == 11) ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[f].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0xb
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_check_apply_105_break
					# type = "string"
	mov____$i32,%eax &_string_src/mes.x86-mes-S_14
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
	jmp32  %_check_apply_105_break
:_check_apply_105_break
					# if (g_cells[f].type == 12 && builtin_p(f) == 2) ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[f].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0xc
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_check_apply_125_break
					# builtin_p(f)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %builtin_p
	add____$i8,%esp !0x4
	mov____$i32,%ebx %0x2
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_check_apply_125_break
					# type = "#<...>"
	mov____$i32,%eax &_string_src/mes.x86-mes-S_15
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
	jmp32  %_check_apply_125_break
:_check_apply_125_break
					# if (g_cells[f].type == 17) ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[f].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x11
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_check_apply_154_break
					# type = "<3"
	mov____$i32,%eax &_string_src/mes.x86-mes-S_16
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
	jmp32  %_check_apply_154_break
:_check_apply_154_break
					# if (type) ...
	mov____0x8(%ebp),%eax !0x-4
					# jmp test LABEL
	test___%eax,%eax
	je32   %_check_apply_174_break
					# char *s = "cannot apply: ";\n
	mov____$i32,%eax &_string_src/mes.x86-mes-S_17
	mov____%eax,0x8(%ebp) !0x-8
					# eputs(s)
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(type)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs("[")
	push___$i32 &_string_src/mes.x86-mes-S_18
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# write_error_(e)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	call32 %write_error_
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs("]\n")
	push___$i32 &_string_src/mes.x86-mes-S_19
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# SCM e = make_string(s, strlen(s));\n
					# make_string(s, strlen(s))
					# strlen(s)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-8
	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 !0x-8
	push___%ebx
	call32 %make_string
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-c
					# error(81, cons(e, f))
					# cons(e, f)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-c
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x51
	push___%ebx
	call32 %error
	add____$i8,%esp !0x8
	leave
	ret
	jmp32  %_check_apply_174_break
:_check_apply_174_break
	mov____$i32,%eax %0x7
	leave
	ret


:gc_push_frame
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# if (g_stack < 5) ...
	mov____0x32,%eax &g_stack
	mov____$i32,%ebx %0x5
	sub____%ebx,%eax
	setl___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_gc_push_frame_1_break
					# !"STACK FULL"? ...: ...
	mov____$i32,%eax &_string_src/mes.x86-mes-S_20
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_gc_push_frame_9_else
	mov____$i32,%eax %0x0
	movzbl_%al,%eax
	jmp32  %_gc_push_frame_9_break
:_gc_push_frame_9_else
					# assert_fail("!"STACK FULL"")
	push___$i32 &_string_src/mes.x86-mes-S_21
	call32 %assert_fail
	add____$i8,%esp !0x4
:_gc_push_frame_9_break
	jmp32  %_gc_push_frame_1_break
:_gc_push_frame_1_break
					# g_stack_array[--g_stack] = 2
	mov____$i32,%eax %0x2
	mov____$i32,%ebx &g_stack
	add____$i8,(%ebx) !0x-1
	mov____0x32,%ebx &g_stack
	shl____$i8,%ebx !0x2
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &g_stack_array
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____%eax,(%ebx)
	test___%eax,%eax
					# g_stack_array[--g_stack] = r0
	mov____0x32,%eax &r0
	mov____$i32,%ebx &g_stack
	add____$i8,(%ebx) !0x-1
	mov____0x32,%ebx &g_stack
	shl____$i8,%ebx !0x2
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &g_stack_array
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____%eax,(%ebx)
	test___%eax,%eax
					# g_stack_array[--g_stack] = r1
	mov____0x32,%eax &r1
	mov____$i32,%ebx &g_stack
	add____$i8,(%ebx) !0x-1
	mov____0x32,%ebx &g_stack
	shl____$i8,%ebx !0x2
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &g_stack_array
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____%eax,(%ebx)
	test___%eax,%eax
					# g_stack_array[--g_stack] = r2
	mov____0x32,%eax &r2
	mov____$i32,%ebx &g_stack
	add____$i8,(%ebx) !0x-1
	mov____0x32,%ebx &g_stack
	shl____$i8,%ebx !0x2
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &g_stack_array
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____%eax,(%ebx)
	test___%eax,%eax
					# g_stack_array[--g_stack] = r3
	mov____0x32,%eax &r3
	mov____$i32,%ebx &g_stack
	add____$i8,(%ebx) !0x-1
	mov____0x32,%ebx &g_stack
	shl____$i8,%ebx !0x2
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &g_stack_array
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____%eax,(%ebx)
	test___%eax,%eax
	mov____0x32,%eax &g_stack
	leave
	ret


:gc_peek_frame
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# r3 = g_stack_array[g_stack]
	mov____0x32,%eax &g_stack
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_stack_array
	add____%ebx,%eax
	mov____(%eax),%eax
	mov____%eax,0x32 &r3
	test___%eax,%eax
					# r2 = g_stack_array[g_stack + 1]
	mov____0x32,%eax &g_stack
	add____$i8,%eax !0x1
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_stack_array
	add____%ebx,%eax
	mov____(%eax),%eax
	mov____%eax,0x32 &r2
	test___%eax,%eax
					# r1 = g_stack_array[g_stack + 2]
	mov____0x32,%eax &g_stack
	add____$i8,%eax !0x2
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_stack_array
	add____%ebx,%eax
	mov____(%eax),%eax
	mov____%eax,0x32 &r1
	test___%eax,%eax
					# r0 = g_stack_array[g_stack + 3]
	mov____0x32,%eax &g_stack
	add____$i8,%eax !0x3
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_stack_array
	add____%ebx,%eax
	mov____(%eax),%eax
	mov____%eax,0x32 &r0
	test___%eax,%eax
	mov____0x32,%eax &g_stack
	add____$i8,%eax !0x4
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_stack_array
	add____%ebx,%eax
	mov____(%eax),%eax
	leave
	ret


:gc_pop_frame
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# SCM x = gc_peek_frame();\n
					# gc_peek_frame()
	call32 %gc_peek_frame
	add____$i8,%esp !0x0
	mov____%eax,0x8(%ebp) !0x-4
					# g_stack += 5
	mov____$i32,%eax %0x5
	mov____0x32,%ebx &g_stack
	xchg___%eax,%ebx
	add____%ebx,%eax
	mov____%eax,0x32 &g_stack
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x-4
	leave
	ret


:append2
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# if (x == 1) ...
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_append2_1_break
	mov____0x8(%ebp),%eax !0xc
	leave
	ret
	jmp32  %_append2_1_break
:_append2_1_break
					# if (g_cells[x].type != 7) ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[x].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_append2_12_break
					# error(76, cons(x, cstring_to_symbol("append2")))
					# cons(x, cstring_to_symbol("append2"))
	push___%eax
					# cstring_to_symbol("append2")
	push___%eax
	mov____%ebx,%eax
	push___%eax
	push___%eax
	mov____%ebx,%eax
	push___$i32 &_string_src/mes.x86-mes-S_22
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cstring_to_symbol
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x4c
	push___%ebx
	call32 %error
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_append2_12_break
:_append2_12_break
					# SCM r = 1;\n
	mov____$i32,%eax %0x1
	mov____%eax,0x8(%ebp) !0x-4
					# while (x != 1) ...
	jmp32  %_append2_62_continue
:_append2_62_loop
					# r = cons(g_cells[x].car, r)
					# cons(g_cells[x].car, r)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[x].car
	mov____(%ebx),%ebx
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# x = g_cells[x].cdr
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[x].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
:_append2_62_continue
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_append2_62_break
	jmp32  %_append2_62_loop
:_append2_62_break
					# reverse_x_(r, y)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %reverse_x_
	add____$i8,%esp !0x8
	leave
	ret


:append_reverse
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# if (x == 1) ...
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_append_reverse_1_break
	mov____0x8(%ebp),%eax !0xc
	leave
	ret
	jmp32  %_append_reverse_1_break
:_append_reverse_1_break
					# if (g_cells[x].type != 7) ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[x].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_append_reverse_12_break
					# error(76, cons(x, cstring_to_symbol("append-reverse")))
					# cons(x, cstring_to_symbol("append-reverse"))
	push___%eax
					# cstring_to_symbol("append-reverse")
	push___%eax
	mov____%ebx,%eax
	push___%eax
	push___%eax
	mov____%ebx,%eax
	push___$i32 &_string_src/mes.x86-mes-S_23
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cstring_to_symbol
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x4c
	push___%ebx
	call32 %error
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_append_reverse_12_break
:_append_reverse_12_break
					# while (x != 1) ...
	jmp32  %_append_reverse_59_continue
:_append_reverse_59_loop
					# y = cons(g_cells[x].car, y)
					# cons(g_cells[x].car, y)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[x].car
	mov____(%ebx),%ebx
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0xc
	test___%eax,%eax
					# x = g_cells[x].cdr
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[x].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
:_append_reverse_59_continue
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_append_reverse_59_break
	jmp32  %_append_reverse_59_loop
:_append_reverse_59_break
	mov____0x8(%ebp),%eax !0xc
	leave
	ret


:reverse_x_
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# if (x != 1 && g_cells[x].type != 7) ...
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reverse_x__1_break
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[x].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reverse_x__1_break
					# error(76, cons(x, cstring_to_symbol("core:reverse!")))
					# cons(x, cstring_to_symbol("core:reverse!"))
	push___%eax
					# cstring_to_symbol("core:reverse!")
	push___%eax
	mov____%ebx,%eax
	push___%eax
	push___%eax
	mov____%ebx,%eax
	push___$i32 &_string_src/mes.x86-mes-S_24
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cstring_to_symbol
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x4c
	push___%ebx
	call32 %error
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_reverse_x__1_break
:_reverse_x__1_break
					# SCM r = t;\n
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,0x8(%ebp) !0x-4
					# while (x != 1) ...
	jmp32  %_reverse_x__59_continue
:_reverse_x__59_loop
					# t = g_cells[x].cdr
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[x].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0xc
	test___%eax,%eax
					# g_cells[x].cdr = r
	mov____0x8(%ebp),%eax !0x-4
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
	mov____%eax,(%ebx)
	test___%eax,%eax
					# r = x
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# x = t
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
:_reverse_x__59_continue
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reverse_x__59_break
	jmp32  %_reverse_x__59_loop
:_reverse_x__59_break
	mov____0x8(%ebp),%eax !0x-4
	leave
	ret


:pairlis
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# if (x == 1) ...
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_pairlis_1_break
	mov____0x8(%ebp),%eax !0x10
	leave
	ret
	jmp32  %_pairlis_1_break
:_pairlis_1_break
					# if (g_cells[x].type != 7) ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[x].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_pairlis_12_break
					# cons(cons(x, y), a)
	mov____0x8(%ebp),%ebx !0x10
	push___%ebx
					# cons(x, y)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	leave
	ret
	jmp32  %_pairlis_12_break
:_pairlis_12_break
					# cons(cons(car(x), car(y)), pairlis(cdr(x), cdr(y), a))
					# pairlis(cdr(x), cdr(y), a)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x10
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
					# cdr(y)
	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 %cdr
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
					# cdr(x)
	push___%eax
	mov____%ebx,%eax
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cdr
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %pairlis
	add____$i8,%esp !0xc
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
					# cons(car(x), car(y))
	push___%eax
					# car(y)
	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 %car
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
					# car(x)
	push___%eax
	mov____%ebx,%eax
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %car
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	leave
	ret


:assq
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# if (g_cells[a].type != 7) ...
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[a].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_assq_1_break
	mov____$i32,%eax %0x2
	leave
	ret
	jmp32  %_assq_1_break
:_assq_1_break
					# int t = g_cells[x].type;\n
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[x].type
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-4
					# if (t == 13 || t == 10) ...else ...
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0xd
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_assq_31_else_b_26
	jmp32  %_assq_31_else_skip_b_26
:_assq_31_else_b_26
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0xa
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_assq_31_else
:_assq_31_else_skip_b_26
					# while (a != 1 && x != g_cells[g_cells[a].car].car) ...
	jmp32  %_assq_47_continue
:_assq_47_loop
					# a = g_cells[a].cdr
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[a].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0xc
	test___%eax,%eax
:_assq_47_continue
	mov____0x8(%ebp),%eax !0xc
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_assq_47_break
	mov____0x8(%ebp),%eax !0x8
	mov____0x8(%ebp),%ebx !0xc
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[a].car
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[g_cells[a].car].car
	mov____(%ebx),%ebx
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_assq_47_break
	jmp32  %_assq_47_loop
:_assq_47_break
	jmp32  %_assq_31_break
:_assq_31_else
					# if (t == 1 || t == 6) ...else ...
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_assq_104_else_b_89
	jmp32  %_assq_104_else_skip_b_89
:_assq_104_else_b_89
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x6
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_assq_104_else
:_assq_104_else_skip_b_89
					# SCM v = g_cells[x].cdr;\n
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[x].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-8
					# while (a != 1 && v != g_cells[g_cells[g_cells[a].car].car].cdr) ...
	jmp32  %_assq_130_continue
:_assq_130_loop
					# a = g_cells[a].cdr
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[a].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0xc
	test___%eax,%eax
:_assq_130_continue
	mov____0x8(%ebp),%eax !0xc
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_assq_130_break
	mov____0x8(%ebp),%eax !0x-8
	mov____0x8(%ebp),%ebx !0xc
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[a].car
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[g_cells[a].car].car
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[g_cells[g_cells[a].car].car].cdr
	mov____(%ebx),%ebx
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_assq_130_break
	jmp32  %_assq_130_loop
:_assq_130_break
	jmp32  %_assq_104_break
:_assq_104_else
					# if (t == 4) ...else ...
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x4
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_assq_198_else
					# while (a != 1 && string_equal_p(x, g_cells[g_cells[a].car].car) == 2) ...
	jmp32  %_assq_205_continue
:_assq_205_loop
					# a = g_cells[a].cdr
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[a].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0xc
	test___%eax,%eax
:_assq_205_continue
	mov____0x8(%ebp),%eax !0xc
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_assq_205_break
					# string_equal_p(x, g_cells[g_cells[a].car].car)
	mov____0x8(%ebp),%ebx !0xc
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[a].car
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[g_cells[a].car].car
	mov____(%ebx),%ebx
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %string_equal_p
	add____$i8,%esp !0x8
	mov____$i32,%ebx %0x2
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_assq_205_break
	jmp32  %_assq_205_loop
:_assq_205_break
	jmp32  %_assq_198_break
:_assq_198_else
					# while (a != 1 && x != g_cells[g_cells[a].car].car) ...
	jmp32  %_assq_265_continue
:_assq_265_loop
					# a = g_cells[a].cdr
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[a].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0xc
	test___%eax,%eax
:_assq_265_continue
	mov____0x8(%ebp),%eax !0xc
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_assq_265_break
	mov____0x8(%ebp),%eax !0x8
	mov____0x8(%ebp),%ebx !0xc
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[a].car
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[g_cells[a].car].car
	mov____(%ebx),%ebx
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_assq_265_break
	jmp32  %_assq_265_loop
:_assq_265_break
:_assq_198_break
:_assq_104_break
:_assq_31_break
					# a != 1? ...: ...
	mov____0x8(%ebp),%eax !0xc
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_assq_323_else
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[a].car
	mov____(%eax),%eax
	jmp32  %_assq_323_break
:_assq_323_else
	mov____$i32,%eax %0x2
:_assq_323_break
	leave
	ret


:assoc
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# if (g_cells[x].type == 11) ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[x].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0xb
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_assoc_1_break
					# assoc_string(x, a)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %assoc_string
	add____$i8,%esp !0x8
	leave
	ret
	jmp32  %_assoc_1_break
:_assoc_1_break
					# while (a != 1 && equal2_p(x, g_cells[g_cells[a].car].car) == 2) ...
	jmp32  %_assoc_24_continue
:_assoc_24_loop
					# a = g_cells[a].cdr
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[a].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0xc
	test___%eax,%eax
:_assoc_24_continue
	mov____0x8(%ebp),%eax !0xc
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_assoc_24_break
					# equal2_p(x, g_cells[g_cells[a].car].car)
	mov____0x8(%ebp),%ebx !0xc
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[a].car
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[g_cells[a].car].car
	mov____(%ebx),%ebx
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %equal2_p
	add____$i8,%esp !0x8
	mov____$i32,%ebx %0x2
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_assoc_24_break
	jmp32  %_assoc_24_loop
:_assoc_24_break
					# a != 1? ...: ...
	mov____0x8(%ebp),%eax !0xc
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_assoc_82_else
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[a].car
	mov____(%eax),%eax
	jmp32  %_assoc_82_break
:_assoc_82_else
	mov____$i32,%eax %0x2
:_assoc_82_break
	leave
	ret


:set_car_x
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# if (g_cells[x].type != 7) ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[x].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_set_car_x_1_break
					# error(76, cons(x, cstring_to_symbol("set-car!")))
					# cons(x, cstring_to_symbol("set-car!"))
	push___%eax
					# cstring_to_symbol("set-car!")
	push___%eax
	mov____%ebx,%eax
	push___%eax
	push___%eax
	mov____%ebx,%eax
	push___$i32 &_string_src/mes.x86-mes-S_25
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cstring_to_symbol
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x4c
	push___%ebx
	call32 %error
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_set_car_x_1_break
:_set_car_x_1_break
					# g_cells[x].car = e
	mov____0x8(%ebp),%eax !0xc
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
	mov____%eax,(%ebx)
	test___%eax,%eax
	mov____$i32,%eax %0x7
	leave
	ret


:set_cdr_x
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# if (g_cells[x].type != 7) ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[x].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_set_cdr_x_1_break
					# error(76, cons(x, cstring_to_symbol("set-cdr!")))
					# cons(x, cstring_to_symbol("set-cdr!"))
	push___%eax
					# cstring_to_symbol("set-cdr!")
	push___%eax
	mov____%ebx,%eax
	push___%eax
	push___%eax
	mov____%ebx,%eax
	push___$i32 &_string_src/mes.x86-mes-S_26
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cstring_to_symbol
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x4c
	push___%ebx
	call32 %error
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_set_cdr_x_1_break
:_set_cdr_x_1_break
					# g_cells[x].cdr = e
	mov____0x8(%ebp),%eax !0xc
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
	mov____%eax,(%ebx)
	test___%eax,%eax
	mov____$i32,%eax %0x7
	leave
	ret


:set_env_x
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# SCM p;\n
					# if (g_cells[x].type == 15) ...else ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[x].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0xf
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_set_env_x_2_else
					# p = g_cells[x].car
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[x].car
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
	jmp32  %_set_env_x_2_break
:_set_env_x_2_else
					# p = assert_defined(x, module_variable(a, x))
					# assert_defined(x, module_variable(a, x))
					# module_variable(a, x)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x10
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %module_variable
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %assert_defined
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
:_set_env_x_2_break
					# if (g_cells[p].type != 7) ...
	mov____0x8(%ebp),%eax !0x-4
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[p].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_set_env_x_53_break
					# error(76, cons(p, x))
					# cons(p, x)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x4c
	push___%ebx
	call32 %error
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_set_env_x_53_break
:_set_env_x_53_break
					# set_cdr_x(p, e)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %set_cdr_x
	add____$i8,%esp !0x8
	leave
	ret


:call_lambda
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# SCM cl = cons(cons(8, x), x);\n
					# cons(cons(8, x), x)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
					# cons(8, x)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x8
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-4
					# r1 = e
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,0x32 &r1
	test___%eax,%eax
					# r0 = cl
	mov____0x8(%ebp),%eax !0x-4
	mov____%eax,0x32 &r0
	test___%eax,%eax
	mov____$i32,%eax %0x7
	leave
	ret


:make_closure_
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# make_cell__(2, 2, cons(cons(9, a), cons(args, body)))
					# cons(cons(9, a), cons(args, body))
	push___%eax
					# cons(args, body)
	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)
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
					# cons(9, a)
	push___%eax
	mov____%ebx,%eax
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x10
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x9
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x2
	push___%ebx
	mov____$i32,%ebx %0x2
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	leave
	ret


:make_variable_
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# make_cell__(15, var, 0)
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx %0xf
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	leave
	ret


:macro_get_handle
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# if (g_cells[name].type == 13) ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[name].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0xd
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_macro_get_handle_1_break
					# hashq_get_handle(g_macros, name, 1)
	mov____$i32,%ebx %0x1
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____0x32,%ebx &g_macros
	push___%ebx
	call32 %hashq_get_handle
	add____$i8,%esp !0xc
	leave
	ret
	jmp32  %_macro_get_handle_1_break
:_macro_get_handle_1_break
	mov____$i32,%eax %0x2
	leave
	ret


:get_macro
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# SCM m = macro_get_handle(name);\n
					# macro_get_handle(name)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %macro_get_handle
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-4
					# if (m != 2) ...
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x2
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_get_macro_7_break
	mov____0x8(%ebp),%eax !0x-4
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[m].cdr
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[g_cells[m].cdr].car
	mov____(%eax),%eax
	leave
	ret
	jmp32  %_get_macro_7_break
:_get_macro_7_break
	mov____$i32,%eax %0x2
	leave
	ret


:macro_set_x
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# hashq_set_x(g_macros, name, value)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____0x32,%ebx &g_macros
	push___%ebx
	call32 %hashq_set_x
	add____$i8,%esp !0xc
	leave
	ret


:push_cc
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# SCM x = r3;\n
	mov____0x32,%eax &r3
	mov____%eax,0x8(%ebp) !0x-4
					# r3 = c
	mov____0x8(%ebp),%eax !0x14
	mov____%eax,0x32 &r3
	test___%eax,%eax
					# r2 = p2
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,0x32 &r2
	test___%eax,%eax
					# gc_push_frame()
	call32 %gc_push_frame
	add____$i8,%esp !0x0
	test___%eax,%eax
					# r1 = p1
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,0x32 &r1
	test___%eax,%eax
					# r0 = a
	mov____0x8(%ebp),%eax !0x10
	mov____%eax,0x32 &r0
	test___%eax,%eax
					# r3 = x
	mov____0x8(%ebp),%eax !0x-4
	mov____%eax,0x32 &r3
	test___%eax,%eax
	mov____$i32,%eax %0x7
	leave
	ret


:add_formals
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# while (g_cells[x].type == 7) ...
	jmp32  %_add_formals_1_continue
:_add_formals_1_loop
					# formals = cons(g_cells[x].car, formals)
					# cons(g_cells[x].car, formals)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[x].car
	mov____(%ebx),%ebx
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# x = g_cells[x].cdr
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[x].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0xc
	test___%eax,%eax
:_add_formals_1_continue
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[x].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_add_formals_1_break
	jmp32  %_add_formals_1_loop
:_add_formals_1_break
					# if (g_cells[x].type == 13) ...
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[x].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0xd
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_add_formals_51_break
					# formals = cons(x, formals)
					# cons(x, formals)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
	jmp32  %_add_formals_51_break
:_add_formals_51_break
	mov____0x8(%ebp),%eax !0x8
	leave
	ret


:formal_p
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# if (g_cells[formals].type == 13) ...
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[formals].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0xd
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_formal_p_1_break
					# if (x == formals) ...else ...
	mov____0x8(%ebp),%eax !0x8
	mov____0x8(%ebp),%ebx !0xc
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_formal_p_15_else
	mov____0x8(%ebp),%eax !0x8
	leave
	ret
	jmp32  %_formal_p_15_break
:_formal_p_15_else
	mov____$i32,%eax %0x2
	leave
	ret
:_formal_p_15_break
	jmp32  %_formal_p_1_break
:_formal_p_1_break
					# while (g_cells[formals].type == 7 && g_cells[formals].car != x) ...
	jmp32  %_formal_p_31_continue
:_formal_p_31_loop
					# formals = g_cells[formals].cdr
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[formals].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0xc
	test___%eax,%eax
:_formal_p_31_continue
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[formals].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_formal_p_31_break
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[formals].car
	mov____(%eax),%eax
	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  %_formal_p_31_break
	jmp32  %_formal_p_31_loop
:_formal_p_31_break
					# if (g_cells[formals].type == 13) ...
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[formals].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0xd
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_formal_p_76_break
	mov____0x8(%ebp),%eax !0xc
	mov____0x8(%ebp),%ebx !0x8
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
	leave
	ret
	jmp32  %_formal_p_76_break
:_formal_p_76_break
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[formals].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
	leave
	ret


:expand_variable_
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# while (g_cells[x].type == 7) ...
	jmp32  %_expand_variable__1_continue
:_expand_variable__1_loop
					# if (g_cells[g_cells[x].car].type == 7) ...else ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[x].car
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[g_cells[x].car].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_expand_variable__4_else
					# if (g_cells[g_cells[x].car].car == 47) ...else ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[x].car
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[g_cells[x].car].car
	mov____(%eax),%eax
	mov____$i32,%ebx %0x2f
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_expand_variable__25_else
					# SCM f = g_cells[g_cells[g_cells[x].car].cdr].car;\n
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[x].car
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[g_cells[x].car].cdr
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[g_cells[g_cells[x].car].cdr].car
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-4
					# formals = add_formals(formals, f)
					# add_formals(formals, f)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	call32 %add_formals
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0xc
	test___%eax,%eax
	jmp32  %_expand_variable__25_break
:_expand_variable__25_else
					# if (g_cells[g_cells[x].car].car == 51 || g_cells[g_cells[x].car].car == 52) ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[x].car
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[g_cells[x].car].car
	mov____(%eax),%eax
	mov____$i32,%ebx %0x33
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_expand_variable__81_break_b_66
	jmp32  %_expand_variable__81_break_skip_b_66
:_expand_variable__81_break_b_66
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[x].car
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[g_cells[x].car].car
	mov____(%eax),%eax
	mov____$i32,%ebx %0x34
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_expand_variable__81_break
:_expand_variable__81_break_skip_b_66
					# SCM f = g_cells[g_cells[g_cells[x].car].cdr].car;\n
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[x].car
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[g_cells[x].car].cdr
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[g_cells[g_cells[x].car].cdr].car
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-4
					# formals = add_formals(formals, f)
					# add_formals(formals, f)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	call32 %add_formals
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0xc
	test___%eax,%eax
	jmp32  %_expand_variable__81_break
:_expand_variable__81_break
:_expand_variable__25_break
					# if (g_cells[g_cells[x].car].car != 50) ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[x].car
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[g_cells[x].car].car
	mov____(%eax),%eax
	mov____$i32,%ebx %0x32
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_expand_variable__161_break
					# expand_variable_(g_cells[x].car, formals, 0)
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[x].car
	mov____(%ebx),%ebx
	push___%ebx
	call32 %expand_variable_
	add____$i8,%esp !0xc
	test___%eax,%eax
	jmp32  %_expand_variable__161_break
:_expand_variable__161_break
	jmp32  %_expand_variable__4_break
:_expand_variable__4_else
					# if (g_cells[x].car == 47) ...else ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[x].car
	mov____(%eax),%eax
	mov____$i32,%ebx %0x2f
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_expand_variable__208_else
					# SCM f = g_cells[g_cells[x].cdr].car;\n
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[x].cdr
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[g_cells[x].cdr].car
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-4
					# formals = add_formals(formals, f)
					# add_formals(formals, f)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	call32 %add_formals
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0xc
	test___%eax,%eax
					# x = g_cells[x].cdr
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[x].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
	jmp32  %_expand_variable__208_break
:_expand_variable__208_else
					# if (g_cells[x].car == 51 || g_cells[x].car == 52) ...else ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[x].car
	mov____(%eax),%eax
	mov____$i32,%ebx %0x33
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_expand_variable__261_else_b_217
	jmp32  %_expand_variable__261_else_skip_b_217
:_expand_variable__261_else_b_217
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[x].car
	mov____(%eax),%eax
	mov____$i32,%ebx %0x34
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_expand_variable__261_else
:_expand_variable__261_else_skip_b_217
					# SCM f = g_cells[g_cells[x].cdr].car;\n
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[x].cdr
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[g_cells[x].cdr].car
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-4
					# if (top_p && g_cells[f].type == 7) ...
	mov____0x8(%ebp),%eax !0x10
					# jmp test LABEL
	test___%eax,%eax
	je32   %_expand_variable__308_break
	mov____0x8(%ebp),%eax !0x-4
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[f].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_expand_variable__308_break
					# f = g_cells[f].cdr
	mov____0x8(%ebp),%eax !0x-4
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[f].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
	jmp32  %_expand_variable__308_break
:_expand_variable__308_break
					# formals = add_formals(formals, f)
					# add_formals(formals, f)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	call32 %add_formals
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0xc
	test___%eax,%eax
					# x = g_cells[x].cdr
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[x].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
	jmp32  %_expand_variable__261_break
:_expand_variable__261_else
					# if (g_cells[x].car == 50) ...else ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[x].car
	mov____(%eax),%eax
	mov____$i32,%ebx %0x32
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_expand_variable__361_else
	mov____$i32,%eax %0x7
	leave
	ret
	jmp32  %_expand_variable__361_break
:_expand_variable__361_else
					# if (g_cells[g_cells[x].car].type == 13 && g_cells[x].car != 67 && g_cells[x].\n    car != 68 && g_cells[x].car != 69 && !formal_p(g_cells[x].car, formals)) \n    ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[x].car
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[g_cells[x].car].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0xd
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_expand_variable__379_break
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[x].car
	mov____(%eax),%eax
	mov____$i32,%ebx %0x43
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_expand_variable__379_break
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[x].car
	mov____(%eax),%eax
	mov____$i32,%ebx %0x44
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_expand_variable__379_break
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[x].car
	mov____(%eax),%eax
	mov____$i32,%ebx %0x45
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_expand_variable__379_break
					# formal_p(g_cells[x].car, formals)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[x].car
	mov____(%ebx),%ebx
	push___%ebx
	call32 %formal_p
	add____$i8,%esp !0x8
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_expand_variable__379_break
					# SCM v = module_variable(r0, g_cells[x].car);\n
					# module_variable(r0, g_cells[x].car)
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[x].car
	mov____(%ebx),%ebx
	push___%ebx
	mov____0x32,%ebx &r0
	push___%ebx
	call32 %module_variable
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-4
					# if (v != 2) ...
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x2
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_expand_variable__486_break
					# g_cells[x].car = make_variable_(v)
					# make_variable_(v)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %make_variable_
	add____$i8,%esp !0x4
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
	mov____%eax,(%ebx)
	test___%eax,%eax
	jmp32  %_expand_variable__486_break
:_expand_variable__486_break
	jmp32  %_expand_variable__379_break
:_expand_variable__379_break
:_expand_variable__361_break
:_expand_variable__261_break
:_expand_variable__208_break
:_expand_variable__4_break
					# x = g_cells[x].cdr
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[x].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# top_p = 0
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x10
	test___%eax,%eax
:_expand_variable__1_continue
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[x].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_expand_variable__1_break
	jmp32  %_expand_variable__1_loop
:_expand_variable__1_break
	mov____$i32,%eax %0x7
	leave
	ret


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


:eval_apply
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# SCM aa;\n
					# SCM args;\n
					# SCM body;\n
					# SCM cl;\n
					# SCM entry;\n
					# SCM expanders;\n
					# SCM formals;\n
					# SCM input;\n
					# SCM name;\n
					# SCM macro;\n
					# SCM p;\n
					# SCM program;\n
					# SCM sc_expand;\n
					# SCM v;\n
					# SCM x;\n
					# int global_p;\n
					# int macro_p;\n
					# int t;\n
					# long c;\n
:_eval_apply_label_eval_apply
					# if (r3 == 34) ...else ...
	mov____0x32,%eax &r3
	mov____$i32,%ebx %0x22
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_21_else
	jmp32  %_eval_apply_label_evlis2
	jmp32  %_eval_apply_21_break
:_eval_apply_21_else
					# if (r3 == 35) ...else ...
	mov____0x32,%eax &r3
	mov____$i32,%ebx %0x23
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_31_else
	jmp32  %_eval_apply_label_evlis3
	jmp32  %_eval_apply_31_break
:_eval_apply_31_else
					# if (r3 == 26) ...else ...
	mov____0x32,%eax &r3
	mov____$i32,%ebx %0x1a
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_41_else
	jmp32  %_eval_apply_label_eval_check_func
	jmp32  %_eval_apply_41_break
:_eval_apply_41_else
					# if (r3 == 25) ...else ...
	mov____0x32,%eax &r3
	mov____$i32,%ebx %0x19
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_51_else
	jmp32  %_eval_apply_label_eval2
	jmp32  %_eval_apply_51_break
:_eval_apply_51_else
					# if (r3 == 13) ...else ...
	mov____0x32,%eax &r3
	mov____$i32,%ebx %0xd
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_61_else
	jmp32  %_eval_apply_label_apply2
	jmp32  %_eval_apply_61_break
:_eval_apply_61_else
					# if (r3 == 37) ...else ...
	mov____0x32,%eax &r3
	mov____$i32,%ebx %0x25
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_71_else
	jmp32  %_eval_apply_label_if_expr
	jmp32  %_eval_apply_71_break
:_eval_apply_71_else
					# if (r3 == 15) ...else ...
	mov____0x32,%eax &r3
	mov____$i32,%ebx %0xf
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_81_else
	jmp32  %_eval_apply_label_begin_eval
	jmp32  %_eval_apply_81_break
:_eval_apply_81_else
					# if (r3 == 32) ...else ...
	mov____0x32,%eax &r3
	mov____$i32,%ebx %0x20
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_91_else
	jmp32  %_eval_apply_label_eval_set_x
	jmp32  %_eval_apply_91_break
:_eval_apply_91_else
					# if (r3 == 39) ...else ...
	mov____0x32,%eax &r3
	mov____$i32,%ebx %0x27
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_101_else
	jmp32  %_eval_apply_label_macro_expand_car
	jmp32  %_eval_apply_101_break
:_eval_apply_101_else
					# if (r3 == 45) ...else ...
	mov____0x32,%eax &r3
	mov____$i32,%ebx %0x2d
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_111_else
	jmp32  %_eval_apply_label_vm_return
	jmp32  %_eval_apply_111_break
:_eval_apply_111_else
					# if (r3 == 40) ...else ...
	mov____0x32,%eax &r3
	mov____$i32,%ebx %0x28
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_121_else
	jmp32  %_eval_apply_label_macro_expand_cdr
	jmp32  %_eval_apply_121_break
:_eval_apply_121_else
					# if (r3 == 27) ...else ...
	mov____0x32,%eax &r3
	mov____$i32,%ebx %0x1b
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_131_else
	jmp32  %_eval_apply_label_eval_define
	jmp32  %_eval_apply_131_break
:_eval_apply_131_else
					# if (r3 == 38) ...else ...
	mov____0x32,%eax &r3
	mov____$i32,%ebx %0x26
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_141_else
	jmp32  %_eval_apply_label_macro_expand
	jmp32  %_eval_apply_141_break
:_eval_apply_141_else
					# if (r3 == 43) ...else ...
	mov____0x32,%eax &r3
	mov____$i32,%ebx %0x2b
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_151_else
	jmp32  %_eval_apply_label_macro_expand_lambda
	jmp32  %_eval_apply_151_break
:_eval_apply_151_else
					# if (r3 == 30) ...else ...
	mov____0x32,%eax &r3
	mov____$i32,%ebx %0x1e
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_161_else
	jmp32  %_eval_apply_label_eval_pmatch_car
	jmp32  %_eval_apply_161_break
:_eval_apply_161_else
					# if (r3 == 18) ...else ...
	mov____0x32,%eax &r3
	mov____$i32,%ebx %0x12
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_171_else
	jmp32  %_eval_apply_label_begin_expand_macro
	jmp32  %_eval_apply_171_break
:_eval_apply_171_else
					# if (r3 == 41) ...else ...
	mov____0x32,%eax &r3
	mov____$i32,%ebx %0x29
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_181_else
	jmp32  %_eval_apply_label_macro_expand_define
	jmp32  %_eval_apply_181_break
:_eval_apply_181_else
					# if (r3 == 17) ...else ...
	mov____0x32,%eax &r3
	mov____$i32,%ebx %0x11
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_191_else
	jmp32  %_eval_apply_label_begin_expand_eval
	jmp32  %_eval_apply_191_break
:_eval_apply_191_else
					# if (r3 == 22) ...else ...
	mov____0x32,%eax &r3
	mov____$i32,%ebx %0x16
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_201_else
	jmp32  %_eval_apply_label_call_with_current_continuation2
	jmp32  %_eval_apply_201_break
:_eval_apply_201_else
					# if (r3 == 44) ...else ...
	mov____0x32,%eax &r3
	mov____$i32,%ebx %0x2c
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_211_else
	jmp32  %_eval_apply_label_macro_expand_set_x
	jmp32  %_eval_apply_211_break
:_eval_apply_211_else
					# if (r3 == 31) ...else ...
	mov____0x32,%eax &r3
	mov____$i32,%ebx %0x1f
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_221_else
	jmp32  %_eval_apply_label_eval_pmatch_cdr
	jmp32  %_eval_apply_221_break
:_eval_apply_221_else
					# if (r3 == 42) ...else ...
	mov____0x32,%eax &r3
	mov____$i32,%ebx %0x2a
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_231_else
	jmp32  %_eval_apply_label_macro_expand_define_macro
	jmp32  %_eval_apply_231_break
:_eval_apply_231_else
					# if (r3 == 20) ...else ...
	mov____0x32,%eax &r3
	mov____$i32,%ebx %0x14
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_241_else
	jmp32  %_eval_apply_label_begin_primitive_load
	jmp32  %_eval_apply_241_break
:_eval_apply_241_else
					# if (r3 == 33) ...else ...
	mov____0x32,%eax &r3
	mov____$i32,%ebx %0x21
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_251_else
	jmp32  %_eval_apply_label_evlis
	jmp32  %_eval_apply_251_break
:_eval_apply_251_else
					# if (r3 == 12) ...else ...
	mov____0x32,%eax &r3
	mov____$i32,%ebx %0xc
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_261_else
	jmp32  %_eval_apply_label_apply
	jmp32  %_eval_apply_261_break
:_eval_apply_261_else
					# if (r3 == 24) ...else ...
	mov____0x32,%eax &r3
	mov____$i32,%ebx %0x18
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_271_else
	jmp32  %_eval_apply_label_eval
	jmp32  %_eval_apply_271_break
:_eval_apply_271_else
					# if (r3 == 28) ...else ...
	mov____0x32,%eax &r3
	mov____$i32,%ebx %0x1c
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_281_else
	jmp32  %_eval_apply_label_eval_macro_expand_eval
	jmp32  %_eval_apply_281_break
:_eval_apply_281_else
					# if (r3 == 29) ...else ...
	mov____0x32,%eax &r3
	mov____$i32,%ebx %0x1d
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_291_else
	jmp32  %_eval_apply_label_eval_macro_expand_expand
	jmp32  %_eval_apply_291_break
:_eval_apply_291_else
					# if (r3 == 14) ...else ...
	mov____0x32,%eax &r3
	mov____$i32,%ebx %0xe
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_301_else
	jmp32  %_eval_apply_label_begin
	jmp32  %_eval_apply_301_break
:_eval_apply_301_else
					# if (r3 == 16) ...else ...
	mov____0x32,%eax &r3
	mov____$i32,%ebx %0x10
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_311_else
	jmp32  %_eval_apply_label_begin_expand
	jmp32  %_eval_apply_311_break
:_eval_apply_311_else
					# if (r3 == 19) ...else ...
	mov____0x32,%eax &r3
	mov____$i32,%ebx %0x13
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_321_else
	jmp32  %_eval_apply_label_begin_expand_primitive_load
	jmp32  %_eval_apply_321_break
:_eval_apply_321_else
					# if (r3 == 36) ...else ...
	mov____0x32,%eax &r3
	mov____$i32,%ebx %0x24
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_331_else
	jmp32  %_eval_apply_label_vm_if
	jmp32  %_eval_apply_331_break
:_eval_apply_331_else
					# if (r3 == 23) ...else ...
	mov____0x32,%eax &r3
	mov____$i32,%ebx %0x17
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_341_else
	jmp32  %_eval_apply_label_call_with_values2
	jmp32  %_eval_apply_341_break
:_eval_apply_341_else
					# if (r3 == 7) ...else ...
	mov____0x32,%eax &r3
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_351_else
	mov____0x32,%eax &r1
	leave
	ret
	jmp32  %_eval_apply_351_break
:_eval_apply_351_else
					# error(77, make_string("eval/apply unknown continuation", strlen(\n    "eval/apply unknown continuation")))
					# make_string("eval/apply unknown continuation", strlen(\n    "eval/apply unknown continuation"))
	push___%eax
					# strlen("eval/apply unknown continuation")
	push___%eax
	mov____%ebx,%eax
	push___%eax
	push___%eax
	mov____%ebx,%eax
	push___$i32 &_string_src/mes.x86-mes-S_27
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %strlen
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	push___$i32 &_string_src/mes.x86-mes-S_27
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %make_string
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x4d
	push___%ebx
	call32 %error
	add____$i8,%esp !0x8
	test___%eax,%eax
:_eval_apply_351_break
:_eval_apply_341_break
:_eval_apply_331_break
:_eval_apply_321_break
:_eval_apply_311_break
:_eval_apply_301_break
:_eval_apply_291_break
:_eval_apply_281_break
:_eval_apply_271_break
:_eval_apply_261_break
:_eval_apply_251_break
:_eval_apply_241_break
:_eval_apply_231_break
:_eval_apply_221_break
:_eval_apply_211_break
:_eval_apply_201_break
:_eval_apply_191_break
:_eval_apply_181_break
:_eval_apply_171_break
:_eval_apply_161_break
:_eval_apply_151_break
:_eval_apply_141_break
:_eval_apply_131_break
:_eval_apply_121_break
:_eval_apply_111_break
:_eval_apply_101_break
:_eval_apply_91_break
:_eval_apply_81_break
:_eval_apply_71_break
:_eval_apply_61_break
:_eval_apply_51_break
:_eval_apply_41_break
:_eval_apply_31_break
:_eval_apply_21_break
:_eval_apply_label_evlis
					# if (r1 == 1) ...
	mov____0x32,%eax &r1
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_425_break
	jmp32  %_eval_apply_label_vm_return
	jmp32  %_eval_apply_425_break
:_eval_apply_425_break
					# if (g_cells[r1].type != 7) ...
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[r1].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_435_break
	jmp32  %_eval_apply_label_eval
	jmp32  %_eval_apply_435_break
:_eval_apply_435_break
					# push_cc(g_cells[r1].car, r1, r0, 34)
	mov____$i32,%ebx %0x22
	push___%ebx
	mov____0x32,%ebx &r0
	push___%ebx
	mov____0x32,%ebx &r1
	push___%ebx
	mov____0x32,%ebx &r1
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[r1].car
	mov____(%ebx),%ebx
	push___%ebx
	call32 %push_cc
	add____$i8,%esp !0x10
	test___%eax,%eax
	jmp32  %_eval_apply_label_eval
:_eval_apply_label_evlis2
					# push_cc(g_cells[r2].cdr, r1, r0, 35)
	mov____$i32,%ebx %0x23
	push___%ebx
	mov____0x32,%ebx &r0
	push___%ebx
	mov____0x32,%ebx &r1
	push___%ebx
	mov____0x32,%ebx &r2
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[r2].cdr
	mov____(%ebx),%ebx
	push___%ebx
	call32 %push_cc
	add____$i8,%esp !0x10
	test___%eax,%eax
	jmp32  %_eval_apply_label_evlis
:_eval_apply_label_evlis3
					# r1 = cons(r2, r1)
					# cons(r2, r1)
	mov____0x32,%ebx &r1
	push___%ebx
	mov____0x32,%ebx &r2
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x32 &r1
	test___%eax,%eax
	jmp32  %_eval_apply_label_vm_return
:_eval_apply_label_apply
					# g_stack_array[g_stack + 4] = g_cells[r1].car
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[r1].car
	mov____(%eax),%eax
	mov____0x32,%ebx &g_stack
	add____$i8,%ebx !0x4
	shl____$i8,%ebx !0x2
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &g_stack_array
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____%eax,(%ebx)
	test___%eax,%eax
					# t = g_cells[g_cells[r1].car].type
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[r1].car
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[g_cells[r1].car].type
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-48
	test___%eax,%eax
					# if (t == 12 && builtin_p(g_cells[r1].car) == 3) ...else ...
	mov____0x8(%ebp),%eax !0x-48
	mov____$i32,%ebx %0xc
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_549_else
					# builtin_p(g_cells[r1].car)
	mov____0x32,%ebx &r1
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[r1].car
	mov____(%ebx),%ebx
	push___%ebx
	call32 %builtin_p
	add____$i8,%esp !0x4
	mov____$i32,%ebx %0x3
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_549_else
					# check_formals(g_cells[r1].car, builtin_arity(g_cells[r1].car), g_cells[r1].cdr)
	mov____0x32,%ebx &r1
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[r1].cdr
	mov____(%ebx),%ebx
	push___%ebx
					# builtin_arity(g_cells[r1].car)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &r1
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[r1].car
	mov____(%ebx),%ebx
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %builtin_arity
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____0x32,%ebx &r1
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[r1].car
	mov____(%ebx),%ebx
	push___%ebx
	call32 %check_formals
	add____$i8,%esp !0xc
	test___%eax,%eax
					# r1 = apply_builtin(g_cells[r1].car, g_cells[r1].cdr)
					# apply_builtin(g_cells[r1].car, g_cells[r1].cdr)
	mov____0x32,%ebx &r1
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[r1].cdr
	mov____(%ebx),%ebx
	push___%ebx
	mov____0x32,%ebx &r1
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[r1].car
	mov____(%ebx),%ebx
	push___%ebx
	call32 %apply_builtin
	add____$i8,%esp !0x8
	mov____%eax,0x32 &r1
	test___%eax,%eax
	jmp32  %_eval_apply_label_vm_return
	jmp32  %_eval_apply_549_break
:_eval_apply_549_else
					# if (t == 2) ...else ...
	mov____0x8(%ebp),%eax !0x-48
	mov____$i32,%ebx %0x2
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_661_else
					# cl = g_cells[g_cells[r1].car].cdr
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[r1].car
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[g_cells[r1].car].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-10
	test___%eax,%eax
					# body = g_cells[g_cells[cl].cdr].cdr
	mov____0x8(%ebp),%eax !0x-10
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[cl].cdr
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[g_cells[cl].cdr].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-c
	test___%eax,%eax
					# formals = g_cells[g_cells[cl].cdr].car
	mov____0x8(%ebp),%eax !0x-10
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[cl].cdr
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[g_cells[cl].cdr].car
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-1c
	test___%eax,%eax
					# args = g_cells[r1].cdr
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[r1].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
					# aa = g_cells[g_cells[cl].car].cdr
	mov____0x8(%ebp),%eax !0x-10
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[cl].car
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[g_cells[cl].car].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# aa = g_cells[aa].cdr
	mov____0x8(%ebp),%eax !0x-4
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[aa].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# check_formals(g_cells[r1].car, formals, g_cells[r1].cdr)
	mov____0x32,%ebx &r1
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[r1].cdr
	mov____(%ebx),%ebx
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-1c
	push___%ebx
	mov____0x32,%ebx &r1
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[r1].car
	mov____(%ebx),%ebx
	push___%ebx
	call32 %check_formals
	add____$i8,%esp !0xc
	test___%eax,%eax
					# p = pairlis(formals, args, aa)
					# pairlis(formals, args, aa)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-1c
	push___%ebx
	call32 %pairlis
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-2c
	test___%eax,%eax
					# call_lambda(body, p, aa, r0)
	mov____0x32,%ebx &r0
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-2c
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-c
	push___%ebx
	call32 %call_lambda
	add____$i8,%esp !0x10
	test___%eax,%eax
	jmp32  %_eval_apply_label_begin
	jmp32  %_eval_apply_661_break
:_eval_apply_661_else
					# if (t == 3) ...else ...
	mov____0x8(%ebp),%eax !0x-48
	mov____$i32,%ebx %0x3
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_818_else
					# v = g_cells[g_cells[r1].car].cdr
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[r1].car
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[g_cells[r1].car].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-38
	test___%eax,%eax
					# if (g_cells[v].car) ...
	mov____0x8(%ebp),%eax !0x-38
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[v].car
	mov____(%eax),%eax
					# jmp test LABEL
	test___%eax,%eax
	je32   %_eval_apply_843_break
					# for (t = 0; t < g_cells[v].car; t++) ...
					# t = 0
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x-48
	test___%eax,%eax
	jmp32  %_eval_apply_855_initial_skip
:_eval_apply_855_loop
					# g_stack_array[STACK_SIZE - g_cells[v].car + t] = vector_ref_(v, t)
					# vector_ref_(v, t)
	mov____0x8(%ebp),%ebx !0x-48
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-38
	push___%ebx
	call32 %vector_ref_
	add____$i8,%esp !0x8
	mov____0x32,%ebx &STACK_SIZE
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-38
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[v].car
	mov____(%ebx),%ebx
	sub____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-48
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	shl____$i8,%ebx !0x2
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &g_stack_array
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____%eax,(%ebx)
	test___%eax,%eax
:_eval_apply_855_continue
	mov____0x8(%ebp),%eax !0x-48
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-48
	add____$i8,(%ebx) !0x1
:_eval_apply_855_initial_skip
	mov____0x8(%ebp),%eax !0x-48
	mov____0x8(%ebp),%ebx !0x-38
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[v].car
	mov____(%ebx),%ebx
	sub____%ebx,%eax
	setl___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_eval_apply_855_break
	jmp32  %_eval_apply_855_loop
:_eval_apply_855_break
					# g_stack = STACK_SIZE - g_cells[v].car
	mov____0x32,%eax &STACK_SIZE
	mov____0x8(%ebp),%ebx !0x-38
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[v].car
	mov____(%ebx),%ebx
	sub____%ebx,%eax
	mov____%eax,0x32 &g_stack
	test___%eax,%eax
	jmp32  %_eval_apply_843_break
:_eval_apply_843_break
					# x = r1
	mov____0x32,%eax &r1
	mov____%eax,0x8(%ebp) !0x-3c
	test___%eax,%eax
					# gc_pop_frame()
	call32 %gc_pop_frame
	add____$i8,%esp !0x0
	test___%eax,%eax
					# r1 = g_cells[g_cells[x].cdr].car
	mov____0x8(%ebp),%eax !0x-3c
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[x].cdr
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[g_cells[x].cdr].car
	mov____(%eax),%eax
	mov____%eax,0x32 &r1
	test___%eax,%eax
	jmp32  %_eval_apply_label_eval_apply
	jmp32  %_eval_apply_818_break
:_eval_apply_818_else
					# if (t == 10) ...else ...
	mov____0x8(%ebp),%eax !0x-48
	mov____$i32,%ebx %0xa
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_968_else
					# c = g_cells[r1].car
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[r1].car
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-4c
	test___%eax,%eax
					# if (c == 12) ...else ...
	mov____0x8(%ebp),%eax !0x-4c
	mov____$i32,%ebx %0xc
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_986_else
					# push_cc(cons(g_cells[g_cells[r1].cdr].car, g_cells[g_cells[g_cells[r1].cdr].cdr\n    ].car), r1, r0, 45)
	mov____$i32,%ebx %0x2d
	push___%ebx
	mov____0x32,%ebx &r0
	push___%ebx
	mov____0x32,%ebx &r1
	push___%ebx
					# cons(g_cells[g_cells[r1].cdr].car, g_cells[g_cells[g_cells[r1].cdr].cdr].car)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &r1
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[r1].cdr
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[g_cells[r1].cdr].cdr
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[g_cells[g_cells[r1].cdr].cdr].car
	mov____(%ebx),%ebx
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &r1
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[r1].cdr
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[g_cells[r1].cdr].car
	mov____(%ebx),%ebx
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %push_cc
	add____$i8,%esp !0x10
	test___%eax,%eax
	jmp32  %_eval_apply_label_apply
	jmp32  %_eval_apply_986_break
:_eval_apply_986_else
					# if (c == 24) ...else ...
	mov____0x8(%ebp),%eax !0x-4c
	mov____$i32,%ebx %0x18
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_1076_else
					# push_cc(g_cells[g_cells[r1].cdr].car, r1, g_cells[g_cells[g_cells[r1].cdr].cdr]\n    .car, 45)
	mov____$i32,%ebx %0x2d
	push___%ebx
	mov____0x32,%ebx &r1
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[r1].cdr
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[g_cells[r1].cdr].cdr
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[g_cells[g_cells[r1].cdr].cdr].car
	mov____(%ebx),%ebx
	push___%ebx
	mov____0x32,%ebx &r1
	push___%ebx
	mov____0x32,%ebx &r1
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[r1].cdr
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[g_cells[r1].cdr].car
	mov____(%ebx),%ebx
	push___%ebx
	call32 %push_cc
	add____$i8,%esp !0x10
	test___%eax,%eax
	jmp32  %_eval_apply_label_eval
	jmp32  %_eval_apply_1076_break
:_eval_apply_1076_else
					# if (c == 16) ...else ...
	mov____0x8(%ebp),%eax !0x-4c
	mov____$i32,%ebx %0x10
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_1152_else
					# push_cc(cons(g_cells[g_cells[r1].cdr].car, 1), r1, g_cells[g_cells[g_cells[r1].\n    cdr].cdr].car, 45)
	mov____$i32,%ebx %0x2d
	push___%ebx
	mov____0x32,%ebx &r1
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[r1].cdr
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[g_cells[r1].cdr].cdr
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[g_cells[g_cells[r1].cdr].cdr].car
	mov____(%ebx),%ebx
	push___%ebx
	mov____0x32,%ebx &r1
	push___%ebx
					# cons(g_cells[g_cells[r1].cdr].car, 1)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x1
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &r1
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[r1].cdr
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[g_cells[r1].cdr].car
	mov____(%ebx),%ebx
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %push_cc
	add____$i8,%esp !0x10
	test___%eax,%eax
	jmp32  %_eval_apply_label_begin_expand
	jmp32  %_eval_apply_1152_break
:_eval_apply_1152_else
					# if (c == 11) ...else ...
	mov____0x8(%ebp),%eax !0x-4c
	mov____$i32,%ebx %0xb
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_1242_else
					# r1 = g_cells[r1].cdr
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[r1].cdr
	mov____(%eax),%eax
	mov____%eax,0x32 &r1
	test___%eax,%eax
	jmp32  %_eval_apply_label_call_with_current_continuation
	jmp32  %_eval_apply_1242_break
:_eval_apply_1242_else
					# check_apply(2, g_cells[r1].car)
	mov____0x32,%ebx &r1
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[r1].car
	mov____(%ebx),%ebx
	push___%ebx
	mov____$i32,%ebx %0x2
	push___%ebx
	call32 %check_apply
	add____$i8,%esp !0x8
	test___%eax,%eax
:_eval_apply_1242_break
:_eval_apply_1152_break
:_eval_apply_1076_break
:_eval_apply_986_break
	jmp32  %_eval_apply_968_break
:_eval_apply_968_else
					# if (t == 13) ...else ...
	mov____0x8(%ebp),%eax !0x-48
	mov____$i32,%ebx %0xd
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_1287_else
					# if (g_cells[r1].car == 65) ...
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[r1].car
	mov____(%eax),%eax
	mov____$i32,%ebx %0x41
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_1294_break
					# r1 = g_cells[r1].cdr
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[r1].cdr
	mov____(%eax),%eax
	mov____%eax,0x32 &r1
	test___%eax,%eax
	jmp32  %_eval_apply_label_call_with_values
	jmp32  %_eval_apply_1294_break
:_eval_apply_1294_break
					# if (g_cells[r1].car == 68) ...
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[r1].car
	mov____(%eax),%eax
	mov____$i32,%ebx %0x44
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_1322_break
					# r1 = r0
	mov____0x32,%eax &r0
	mov____%eax,0x32 &r1
	test___%eax,%eax
	jmp32  %_eval_apply_label_vm_return
	jmp32  %_eval_apply_1322_break
:_eval_apply_1322_break
					# if (g_cells[r1].car == 67) ...
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[r1].car
	mov____(%eax),%eax
	mov____$i32,%ebx %0x43
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_1343_break
					# r1 = m0
	mov____0x32,%eax &m0
	mov____%eax,0x32 &r1
	test___%eax,%eax
	jmp32  %_eval_apply_label_vm_return
	jmp32  %_eval_apply_1343_break
:_eval_apply_1343_break
	jmp32  %_eval_apply_1287_break
:_eval_apply_1287_else
					# if (t == 7) ...
	mov____0x8(%ebp),%eax !0x-48
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_1366_break
					# if (g_cells[g_cells[r1].car].car == 47) ...
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[r1].car
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[g_cells[r1].car].car
	mov____(%eax),%eax
	mov____$i32,%ebx %0x2f
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_1373_break
					# formals = g_cells[g_cells[g_cells[r1].car].cdr].car
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[r1].car
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[g_cells[r1].car].cdr
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[g_cells[g_cells[r1].car].cdr].car
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-1c
	test___%eax,%eax
					# args = g_cells[r1].cdr
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[r1].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
					# body = g_cells[g_cells[g_cells[r1].car].cdr].cdr
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[r1].car
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[g_cells[r1].car].cdr
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[g_cells[g_cells[r1].car].cdr].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-c
	test___%eax,%eax
					# p = pairlis(formals, g_cells[r1].cdr, r0)
					# pairlis(formals, g_cells[r1].cdr, r0)
	mov____0x32,%ebx &r0
	push___%ebx
	mov____0x32,%ebx &r1
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[r1].cdr
	mov____(%ebx),%ebx
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-1c
	push___%ebx
	call32 %pairlis
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-2c
	test___%eax,%eax
					# check_formals(r1, formals, args)
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-1c
	push___%ebx
	mov____0x32,%ebx &r1
	push___%ebx
	call32 %check_formals
	add____$i8,%esp !0xc
	test___%eax,%eax
					# call_lambda(body, p, p, r0)
	mov____0x32,%ebx &r0
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-2c
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-2c
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-c
	push___%ebx
	call32 %call_lambda
	add____$i8,%esp !0x10
	test___%eax,%eax
	jmp32  %_eval_apply_label_begin
	jmp32  %_eval_apply_1373_break
:_eval_apply_1373_break
	jmp32  %_eval_apply_1366_break
:_eval_apply_1366_break
:_eval_apply_1287_break
:_eval_apply_968_break
:_eval_apply_818_break
:_eval_apply_661_break
:_eval_apply_549_break
					# push_cc(g_cells[r1].car, r1, r0, 13)
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____0x32,%ebx &r0
	push___%ebx
	mov____0x32,%ebx &r1
	push___%ebx
	mov____0x32,%ebx &r1
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[r1].car
	mov____(%ebx),%ebx
	push___%ebx
	call32 %push_cc
	add____$i8,%esp !0x10
	test___%eax,%eax
	jmp32  %_eval_apply_label_eval
:_eval_apply_label_apply2
					# check_apply(r1, g_cells[r2].car)
	mov____0x32,%ebx &r2
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[r2].car
	mov____(%ebx),%ebx
	push___%ebx
	mov____0x32,%ebx &r1
	push___%ebx
	call32 %check_apply
	add____$i8,%esp !0x8
	test___%eax,%eax
					# r1 = cons(r1, g_cells[r2].cdr)
					# cons(r1, g_cells[r2].cdr)
	mov____0x32,%ebx &r2
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[r2].cdr
	mov____(%ebx),%ebx
	push___%ebx
	mov____0x32,%ebx &r1
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x32 &r1
	test___%eax,%eax
	jmp32  %_eval_apply_label_apply
:_eval_apply_label_eval
					# t = g_cells[r1].type
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[r1].type
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-48
	test___%eax,%eax
					# if (t == 7) ...else ...
	mov____0x8(%ebp),%eax !0x-48
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_1582_else
					# c = g_cells[r1].car
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[r1].car
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-4c
	test___%eax,%eax
					# if (c == 97) ...else ...
	mov____0x8(%ebp),%eax !0x-4c
	mov____$i32,%ebx %0x61
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_1600_else
					# push_cc(g_cells[g_cells[r1].cdr].car, r1, r0, 30)
	mov____$i32,%ebx %0x1e
	push___%ebx
	mov____0x32,%ebx &r0
	push___%ebx
	mov____0x32,%ebx &r1
	push___%ebx
	mov____0x32,%ebx &r1
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[r1].cdr
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[g_cells[r1].cdr].car
	mov____(%ebx),%ebx
	push___%ebx
	call32 %push_cc
	add____$i8,%esp !0x10
	test___%eax,%eax
	jmp32  %_eval_apply_label_eval
:_eval_apply_label_eval_pmatch_car
					# x = r1
	mov____0x32,%eax &r1
	mov____%eax,0x8(%ebp) !0x-3c
	test___%eax,%eax
					# gc_pop_frame()
	call32 %gc_pop_frame
	add____$i8,%esp !0x0
	test___%eax,%eax
					# r1 = g_cells[x].car
	mov____0x8(%ebp),%eax !0x-3c
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[x].car
	mov____(%eax),%eax
	mov____%eax,0x32 &r1
	test___%eax,%eax
	jmp32  %_eval_apply_label_eval_apply
	jmp32  %_eval_apply_1600_break
:_eval_apply_1600_else
					# if (c == 98) ...else ...
	mov____0x8(%ebp),%eax !0x-4c
	mov____$i32,%ebx %0x62
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_1663_else
					# push_cc(g_cells[g_cells[r1].cdr].car, r1, r0, 31)
	mov____$i32,%ebx %0x1f
	push___%ebx
	mov____0x32,%ebx &r0
	push___%ebx
	mov____0x32,%ebx &r1
	push___%ebx
	mov____0x32,%ebx &r1
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[r1].cdr
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[g_cells[r1].cdr].car
	mov____(%ebx),%ebx
	push___%ebx
	call32 %push_cc
	add____$i8,%esp !0x10
	test___%eax,%eax
	jmp32  %_eval_apply_label_eval
:_eval_apply_label_eval_pmatch_cdr
					# x = r1
	mov____0x32,%eax &r1
	mov____%eax,0x8(%ebp) !0x-3c
	test___%eax,%eax
					# gc_pop_frame()
	call32 %gc_pop_frame
	add____$i8,%esp !0x0
	test___%eax,%eax
					# r1 = g_cells[x].cdr
	mov____0x8(%ebp),%eax !0x-3c
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[x].cdr
	mov____(%eax),%eax
	mov____%eax,0x32 &r1
	test___%eax,%eax
	jmp32  %_eval_apply_label_eval_apply
	jmp32  %_eval_apply_1663_break
:_eval_apply_1663_else
					# if (c == 50) ...else ...
	mov____0x8(%ebp),%eax !0x-4c
	mov____$i32,%ebx %0x32
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_1726_else
					# x = r1
	mov____0x32,%eax &r1
	mov____%eax,0x8(%ebp) !0x-3c
	test___%eax,%eax
					# gc_pop_frame()
	call32 %gc_pop_frame
	add____$i8,%esp !0x0
	test___%eax,%eax
					# r1 = g_cells[g_cells[x].cdr].car
	mov____0x8(%ebp),%eax !0x-3c
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[x].cdr
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[g_cells[x].cdr].car
	mov____(%eax),%eax
	mov____%eax,0x32 &r1
	test___%eax,%eax
	jmp32  %_eval_apply_label_eval_apply
	jmp32  %_eval_apply_1726_break
:_eval_apply_1726_else
					# if (c == 48) ...else ...
	mov____0x8(%ebp),%eax !0x-4c
	mov____$i32,%ebx %0x30
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_1761_else
	jmp32  %_eval_apply_label_begin
	jmp32  %_eval_apply_1761_break
:_eval_apply_1761_else
					# if (c == 47) ...else ...
	mov____0x8(%ebp),%eax !0x-4c
	mov____$i32,%ebx %0x2f
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_1771_else
					# r1 = make_closure_(g_cells[g_cells[r1].cdr].car, g_cells[g_cells[r1].cdr].cdr, \n    r0)
					# make_closure_(g_cells[g_cells[r1].cdr].car, g_cells[g_cells[r1].cdr].cdr, r0)
	mov____0x32,%ebx &r0
	push___%ebx
	mov____0x32,%ebx &r1
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[r1].cdr
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[g_cells[r1].cdr].cdr
	mov____(%ebx),%ebx
	push___%ebx
	mov____0x32,%ebx &r1
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[r1].cdr
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[g_cells[r1].cdr].car
	mov____(%ebx),%ebx
	push___%ebx
	call32 %make_closure_
	add____$i8,%esp !0xc
	mov____%eax,0x32 &r1
	test___%eax,%eax
	jmp32  %_eval_apply_label_vm_return
	jmp32  %_eval_apply_1771_break
:_eval_apply_1771_else
					# if (c == 49) ...else ...
	mov____0x8(%ebp),%eax !0x-4c
	mov____$i32,%ebx %0x31
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_1836_else
					# r1 = g_cells[r1].cdr
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[r1].cdr
	mov____(%eax),%eax
	mov____%eax,0x32 &r1
	test___%eax,%eax
	jmp32  %_eval_apply_label_vm_if
	jmp32  %_eval_apply_1836_break
:_eval_apply_1836_else
					# if (c == 60) ...else ...
	mov____0x8(%ebp),%eax !0x-4c
	mov____$i32,%ebx %0x3c
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_1857_else
					# push_cc(g_cells[g_cells[g_cells[r1].cdr].cdr].car, r1, r0, 32)
	mov____$i32,%ebx %0x20
	push___%ebx
	mov____0x32,%ebx &r0
	push___%ebx
	mov____0x32,%ebx &r1
	push___%ebx
	mov____0x32,%ebx &r1
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[r1].cdr
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[g_cells[r1].cdr].cdr
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[g_cells[g_cells[r1].cdr].cdr].car
	mov____(%ebx),%ebx
	push___%ebx
	call32 %push_cc
	add____$i8,%esp !0x10
	test___%eax,%eax
	jmp32  %_eval_apply_label_eval
:_eval_apply_label_eval_set_x
					# r1 = set_env_x(g_cells[g_cells[r2].cdr].car, r1, r0)
					# set_env_x(g_cells[g_cells[r2].cdr].car, r1, r0)
	mov____0x32,%ebx &r0
	push___%ebx
	mov____0x32,%ebx &r1
	push___%ebx
	mov____0x32,%ebx &r2
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[r2].cdr
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[g_cells[r2].cdr].car
	mov____(%ebx),%ebx
	push___%ebx
	call32 %set_env_x
	add____$i8,%esp !0xc
	mov____%eax,0x32 &r1
	test___%eax,%eax
	jmp32  %_eval_apply_label_vm_return
	jmp32  %_eval_apply_1857_break
:_eval_apply_1857_else
					# if (c == 38) ...else ...
	mov____0x8(%ebp),%eax !0x-4c
	mov____$i32,%ebx %0x26
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_1946_else
					# push_cc(g_cells[g_cells[r1].cdr].car, r1, r0, 28)
	mov____$i32,%ebx %0x1c
	push___%ebx
	mov____0x32,%ebx &r0
	push___%ebx
	mov____0x32,%ebx &r1
	push___%ebx
	mov____0x32,%ebx &r1
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[r1].cdr
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[g_cells[r1].cdr].car
	mov____(%ebx),%ebx
	push___%ebx
	call32 %push_cc
	add____$i8,%esp !0x10
	test___%eax,%eax
	jmp32  %_eval_apply_label_eval
:_eval_apply_label_eval_macro_expand_eval
					# push_cc(r1, r2, r0, 29)
	mov____$i32,%ebx %0x1d
	push___%ebx
	mov____0x32,%ebx &r0
	push___%ebx
	mov____0x32,%ebx &r2
	push___%ebx
	mov____0x32,%ebx &r1
	push___%ebx
	call32 %push_cc
	add____$i8,%esp !0x10
	test___%eax,%eax
	jmp32  %_eval_apply_label_macro_expand
:_eval_apply_label_eval_macro_expand_expand
	jmp32  %_eval_apply_label_vm_return
	jmp32  %_eval_apply_1946_break
:_eval_apply_1946_else
					# if (g_cells[r1].type == 7 && (g_cells[r1].car == 51 || g_cells[r1].car == 52)) \n    ...
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[r1].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_2004_break
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[r1].car
	mov____(%eax),%eax
	mov____$i32,%ebx %0x33
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_2004_break_b_1709
	jmp32  %_eval_apply_2004_break_skip_b_1709
:_eval_apply_2004_break_b_1709
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[r1].car
	mov____(%eax),%eax
	mov____$i32,%ebx %0x34
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_2004_break
:_eval_apply_2004_break_skip_b_1709
					# global_p = g_cells[g_cells[r0].car].car != 8
	mov____0x32,%eax &r0
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[r0].car
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[g_cells[r0].car].car
	mov____(%eax),%eax
	mov____$i32,%ebx %0x8
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
	mov____%eax,0x8(%ebp) !0x-40
	test___%eax,%eax
					# macro_p = g_cells[r1].car == 52
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[r1].car
	mov____(%eax),%eax
	mov____$i32,%ebx %0x34
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
	mov____%eax,0x8(%ebp) !0x-44
	test___%eax,%eax
					# if (global_p) ...
	mov____0x8(%ebp),%eax !0x-40
					# jmp test LABEL
	test___%eax,%eax
	je32   %_eval_apply_2084_break
					# name = g_cells[g_cells[r1].cdr].car
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[r1].cdr
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[g_cells[r1].cdr].car
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-24
	test___%eax,%eax
					# if (g_cells[g_cells[g_cells[r1].cdr].car].type == 7) ...
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[r1].cdr
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[g_cells[r1].cdr].car
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[g_cells[g_cells[r1].cdr].car].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_2107_break
					# name = g_cells[name].car
	mov____0x8(%ebp),%eax !0x-24
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[name].car
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-24
	test___%eax,%eax
	jmp32  %_eval_apply_2107_break
:_eval_apply_2107_break
					# if (macro_p) ...else ...
	mov____0x8(%ebp),%eax !0x-44
					# jmp test LABEL
	test___%eax,%eax
	je32   %_eval_apply_2148_else
					# entry = assq(name, g_macros)
					# assq(name, g_macros)
	mov____0x32,%ebx &g_macros
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-24
	push___%ebx
	call32 %assq
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-14
	test___%eax,%eax
					# if (entry == 2) ...
	mov____0x8(%ebp),%eax !0x-14
	mov____$i32,%ebx %0x2
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_2162_break
					# macro_set_x(name, 2)
	mov____$i32,%ebx %0x2
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-24
	push___%ebx
	call32 %macro_set_x
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_eval_apply_2162_break
:_eval_apply_2162_break
	jmp32  %_eval_apply_2148_break
:_eval_apply_2148_else
					# entry = module_variable(r0, name)
					# module_variable(r0, name)
	mov____0x8(%ebp),%ebx !0x-24
	push___%ebx
	mov____0x32,%ebx &r0
	push___%ebx
	call32 %module_variable
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-14
	test___%eax,%eax
					# if (entry == 2) ...
	mov____0x8(%ebp),%eax !0x-14
	mov____$i32,%ebx %0x2
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_2189_break
					# module_define_x(m0, name, 2)
	mov____$i32,%ebx %0x2
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-24
	push___%ebx
	mov____0x32,%ebx &m0
	push___%ebx
	call32 %module_define_x
	add____$i8,%esp !0xc
	test___%eax,%eax
	jmp32  %_eval_apply_2189_break
:_eval_apply_2189_break
:_eval_apply_2148_break
	jmp32  %_eval_apply_2084_break
:_eval_apply_2084_break
					# r2 = r1
	mov____0x32,%eax &r1
	mov____%eax,0x32 &r2
	test___%eax,%eax
					# if (g_cells[g_cells[g_cells[r1].cdr].car].type != 7) ...else ...
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[r1].cdr
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[g_cells[r1].cdr].car
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[g_cells[g_cells[r1].cdr].car].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_2214_else
					# push_cc(g_cells[g_cells[g_cells[r1].cdr].cdr].car, r2, cons(cons(g_cells[\n    g_cells[r1].cdr].car, g_cells[g_cells[r1].cdr].car), r0), 27)
	mov____$i32,%ebx %0x1b
	push___%ebx
					# cons(cons(g_cells[g_cells[r1].cdr].car, g_cells[g_cells[r1].cdr].car), r0)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &r0
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
					# cons(g_cells[g_cells[r1].cdr].car, g_cells[g_cells[r1].cdr].car)
	push___%eax
	mov____%ebx,%eax
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &r1
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[r1].cdr
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[g_cells[r1].cdr].car
	mov____(%ebx),%ebx
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &r1
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[r1].cdr
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[g_cells[r1].cdr].car
	mov____(%ebx),%ebx
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____0x32,%ebx &r2
	push___%ebx
	mov____0x32,%ebx &r1
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[r1].cdr
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[g_cells[r1].cdr].cdr
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[g_cells[g_cells[r1].cdr].cdr].car
	mov____(%ebx),%ebx
	push___%ebx
	call32 %push_cc
	add____$i8,%esp !0x10
	test___%eax,%eax
	jmp32  %_eval_apply_label_eval
	jmp32  %_eval_apply_2214_break
:_eval_apply_2214_else
					# p = pairlis(g_cells[g_cells[r1].cdr].car, g_cells[g_cells[r1].cdr].car, r0)
					# pairlis(g_cells[g_cells[r1].cdr].car, g_cells[g_cells[r1].cdr].car, r0)
	mov____0x32,%ebx &r0
	push___%ebx
	mov____0x32,%ebx &r1
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[r1].cdr
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[g_cells[r1].cdr].car
	mov____(%ebx),%ebx
	push___%ebx
	mov____0x32,%ebx &r1
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[r1].cdr
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[g_cells[r1].cdr].car
	mov____(%ebx),%ebx
	push___%ebx
	call32 %pairlis
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-2c
	test___%eax,%eax
					# formals = g_cells[g_cells[g_cells[r1].cdr].car].cdr
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[r1].cdr
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[g_cells[r1].cdr].car
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[g_cells[g_cells[r1].cdr].car].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-1c
	test___%eax,%eax
					# body = g_cells[g_cells[r1].cdr].cdr
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[r1].cdr
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[g_cells[r1].cdr].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-c
	test___%eax,%eax
					# if (macro_p || global_p) ...
	mov____0x8(%ebp),%eax !0x-44
					# jmp test LABEL
	test___%eax,%eax
	je32   %_eval_apply_2461_break_b_2090
	jmp32  %_eval_apply_2461_break_skip_b_2090
:_eval_apply_2461_break_b_2090
	mov____0x8(%ebp),%eax !0x-40
					# jmp test LABEL
	test___%eax,%eax
	je32   %_eval_apply_2461_break
:_eval_apply_2461_break_skip_b_2090
					# expand_variable(body, formals)
	mov____0x8(%ebp),%ebx !0x-1c
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-c
	push___%ebx
	call32 %expand_variable
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_eval_apply_2461_break
:_eval_apply_2461_break
					# r1 = cons(47, cons(formals, body))
					# cons(47, cons(formals, body))
					# cons(formals, body)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-c
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-1c
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x2f
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x32 &r1
	test___%eax,%eax
					# push_cc(r1, r2, p, 27)
	mov____$i32,%ebx %0x1b
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-2c
	push___%ebx
	mov____0x32,%ebx &r2
	push___%ebx
	mov____0x32,%ebx &r1
	push___%ebx
	call32 %push_cc
	add____$i8,%esp !0x10
	test___%eax,%eax
	jmp32  %_eval_apply_label_eval
:_eval_apply_2214_break
:_eval_apply_label_eval_define
					# name = g_cells[g_cells[r2].cdr].car
	mov____0x32,%eax &r2
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[r2].cdr
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[g_cells[r2].cdr].car
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-24
	test___%eax,%eax
					# if (g_cells[g_cells[g_cells[r2].cdr].car].type == 7) ...
	mov____0x32,%eax &r2
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[r2].cdr
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[g_cells[r2].cdr].car
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[g_cells[g_cells[r2].cdr].car].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_2537_break
					# name = g_cells[name].car
	mov____0x8(%ebp),%eax !0x-24
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[name].car
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-24
	test___%eax,%eax
	jmp32  %_eval_apply_2537_break
:_eval_apply_2537_break
					# if (macro_p) ...else ...
	mov____0x8(%ebp),%eax !0x-44
					# jmp test LABEL
	test___%eax,%eax
	je32   %_eval_apply_2578_else
					# entry = macro_get_handle(name)
					# macro_get_handle(name)
	mov____0x8(%ebp),%ebx !0x-24
	push___%ebx
	call32 %macro_get_handle
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-14
	test___%eax,%eax
					# r1 = make_cell__(5, r1, g_cells[name].cdr)
					# make_cell__(5, r1, g_cells[name].cdr)
	mov____0x8(%ebp),%ebx !0x-24
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[name].cdr
	mov____(%ebx),%ebx
	push___%ebx
	mov____0x32,%ebx &r1
	push___%ebx
	mov____$i32,%ebx %0x5
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	mov____%eax,0x32 &r1
	test___%eax,%eax
					# set_cdr_x(entry, r1)
	mov____0x32,%ebx &r1
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-14
	push___%ebx
	call32 %set_cdr_x
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_eval_apply_2578_break
:_eval_apply_2578_else
					# if (global_p) ...else ...
	mov____0x8(%ebp),%eax !0x-40
					# jmp test LABEL
	test___%eax,%eax
	je32   %_eval_apply_2621_else
					# entry = module_variable(r0, name)
					# module_variable(r0, name)
	mov____0x8(%ebp),%ebx !0x-24
	push___%ebx
	mov____0x32,%ebx &r0
	push___%ebx
	call32 %module_variable
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-14
	test___%eax,%eax
					# set_cdr_x(entry, r1)
	mov____0x32,%ebx &r1
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-14
	push___%ebx
	call32 %set_cdr_x
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_eval_apply_2621_break
:_eval_apply_2621_else
					# entry = cons(name, r1)
					# cons(name, r1)
	mov____0x32,%ebx &r1
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-24
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-14
	test___%eax,%eax
					# aa = cons(entry, 1)
					# cons(entry, 1)
	mov____$i32,%ebx %0x1
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-14
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# set_cdr_x(aa, cdr(r0))
					# cdr(r0)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &r0
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cdr
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %set_cdr_x
	add____$i8,%esp !0x8
	test___%eax,%eax
					# set_cdr_x(r0, aa)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____0x32,%ebx &r0
	push___%ebx
	call32 %set_cdr_x
	add____$i8,%esp !0x8
	test___%eax,%eax
					# cl = module_variable(r0, 8)
					# module_variable(r0, 8)
	mov____$i32,%ebx %0x8
	push___%ebx
	mov____0x32,%ebx &r0
	push___%ebx
	call32 %module_variable
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-10
	test___%eax,%eax
					# set_cdr_x(cl, aa)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-10
	push___%ebx
	call32 %set_cdr_x
	add____$i8,%esp !0x8
	test___%eax,%eax
:_eval_apply_2621_break
:_eval_apply_2578_break
					# r1 = 7
	mov____$i32,%eax %0x7
	mov____%eax,0x32 &r1
	test___%eax,%eax
	jmp32  %_eval_apply_label_vm_return
	jmp32  %_eval_apply_2004_break
:_eval_apply_2004_break
					# push_cc(g_cells[r1].car, r1, r0, 26)
	mov____$i32,%ebx %0x1a
	push___%ebx
	mov____0x32,%ebx &r0
	push___%ebx
	mov____0x32,%ebx &r1
	push___%ebx
	mov____0x32,%ebx &r1
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[r1].car
	mov____(%ebx),%ebx
	push___%ebx
	call32 %push_cc
	add____$i8,%esp !0x10
	test___%eax,%eax
					# gc_check()
	call32 %gc_check
	add____$i8,%esp !0x0
	test___%eax,%eax
	jmp32  %_eval_apply_label_eval
:_eval_apply_label_eval_check_func
					# push_cc(g_cells[r2].cdr, r2, r0, 25)
	mov____$i32,%ebx %0x19
	push___%ebx
	mov____0x32,%ebx &r0
	push___%ebx
	mov____0x32,%ebx &r2
	push___%ebx
	mov____0x32,%ebx &r2
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[r2].cdr
	mov____(%ebx),%ebx
	push___%ebx
	call32 %push_cc
	add____$i8,%esp !0x10
	test___%eax,%eax
	jmp32  %_eval_apply_label_evlis
:_eval_apply_label_eval2
					# r1 = cons(g_cells[r2].car, r1)
					# cons(g_cells[r2].car, r1)
	mov____0x32,%ebx &r1
	push___%ebx
	mov____0x32,%ebx &r2
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[r2].car
	mov____(%ebx),%ebx
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x32 &r1
	test___%eax,%eax
	jmp32  %_eval_apply_label_apply
:_eval_apply_1946_break
:_eval_apply_1857_break
:_eval_apply_1836_break
:_eval_apply_1771_break
:_eval_apply_1761_break
:_eval_apply_1726_break
:_eval_apply_1663_break
:_eval_apply_1600_break
	jmp32  %_eval_apply_1582_break
:_eval_apply_1582_else
					# if (t == 13) ...else ...
	mov____0x8(%ebp),%eax !0x-48
	mov____$i32,%ebx %0xd
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_2792_else
					# if (r1 == 67) ...
	mov____0x32,%eax &r1
	mov____$i32,%ebx %0x43
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_2799_break
	jmp32  %_eval_apply_label_vm_return
	jmp32  %_eval_apply_2799_break
:_eval_apply_2799_break
					# if (r1 == 68) ...
	mov____0x32,%eax &r1
	mov____$i32,%ebx %0x44
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_2809_break
	jmp32  %_eval_apply_label_vm_return
	jmp32  %_eval_apply_2809_break
:_eval_apply_2809_break
					# if (r1 == 48) ...
	mov____0x32,%eax &r1
	mov____$i32,%ebx %0x30
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_2819_break
					# r1 = 10
	mov____$i32,%eax %0xa
	mov____%eax,0x32 &r1
	test___%eax,%eax
	jmp32  %_eval_apply_label_vm_return
	jmp32  %_eval_apply_2819_break
:_eval_apply_2819_break
					# r1 = assert_defined(r1, module_ref(r0, r1))
					# assert_defined(r1, module_ref(r0, r1))
					# module_ref(r0, r1)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &r1
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &r0
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %module_ref
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____0x32,%ebx &r1
	push___%ebx
	call32 %assert_defined
	add____$i8,%esp !0x8
	mov____%eax,0x32 &r1
	test___%eax,%eax
	jmp32  %_eval_apply_label_vm_return
	jmp32  %_eval_apply_2792_break
:_eval_apply_2792_else
					# if (t == 15) ...else ...
	mov____0x8(%ebp),%eax !0x-48
	mov____$i32,%ebx %0xf
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_2859_else
					# r1 = g_cells[g_cells[r1].car].cdr
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[r1].car
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[g_cells[r1].car].cdr
	mov____(%eax),%eax
	mov____%eax,0x32 &r1
	test___%eax,%eax
	jmp32  %_eval_apply_label_vm_return
	jmp32  %_eval_apply_2859_break
:_eval_apply_2859_else
					# if (t == 17) ...else ...
	mov____0x8(%ebp),%eax !0x-48
	mov____$i32,%ebx %0x11
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_2887_else
					# error(77, r1)
	mov____0x32,%ebx &r1
	push___%ebx
	mov____$i32,%ebx %0x4d
	push___%ebx
	call32 %error
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_eval_apply_2887_break
:_eval_apply_2887_else
	jmp32  %_eval_apply_label_vm_return
:_eval_apply_2887_break
:_eval_apply_2859_break
:_eval_apply_2792_break
:_eval_apply_1582_break
:_eval_apply_label_macro_expand
	mov____0x8(%ebp),%eax !0x-28
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x-18
	test___%eax,%eax
					# if (g_cells[r1].type != 7 || g_cells[r1].car == 50) ...
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[r1].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_2913_break_b_2472
	jmp32  %_eval_apply_2913_break_skip_b_2472
:_eval_apply_2913_break_b_2472
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[r1].car
	mov____(%eax),%eax
	mov____$i32,%ebx %0x32
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_2913_break
:_eval_apply_2913_break_skip_b_2472
	jmp32  %_eval_apply_label_vm_return
	jmp32  %_eval_apply_2913_break
:_eval_apply_2913_break
					# if (g_cells[r1].car == 47) ...
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[r1].car
	mov____(%eax),%eax
	mov____$i32,%ebx %0x2f
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_2948_break
					# push_cc(g_cells[g_cells[r1].cdr].cdr, r1, r0, 43)
	mov____$i32,%ebx %0x2b
	push___%ebx
	mov____0x32,%ebx &r0
	push___%ebx
	mov____0x32,%ebx &r1
	push___%ebx
	mov____0x32,%ebx &r1
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[r1].cdr
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[g_cells[r1].cdr].cdr
	mov____(%ebx),%ebx
	push___%ebx
	call32 %push_cc
	add____$i8,%esp !0x10
	test___%eax,%eax
	jmp32  %_eval_apply_label_macro_expand
:_eval_apply_label_macro_expand_lambda
					# g_cells[g_cells[r2].cdr].cdr = r1
	mov____0x32,%eax &r1
	mov____0x32,%ebx &r2
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[r2].cdr
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
	mov____%eax,(%ebx)
	test___%eax,%eax
					# r1 = r2
	mov____0x32,%eax &r2
	mov____%eax,0x32 &r1
	test___%eax,%eax
	jmp32  %_eval_apply_label_vm_return
	jmp32  %_eval_apply_2948_break
:_eval_apply_2948_break
					# if (g_cells[r1].type == 7 && (macro = get_macro(g_cells[r1].car)) != 2) ...
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[r1].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_3029_break
					# macro = get_macro(g_cells[r1].car)
					# get_macro(g_cells[r1].car)
	mov____0x32,%ebx &r1
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[r1].car
	mov____(%ebx),%ebx
	push___%ebx
	call32 %get_macro
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-28
	mov____$i32,%ebx %0x2
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_3029_break
					# r1 = cons(macro, g_cells[r1].cdr)
					# cons(macro, g_cells[r1].cdr)
	mov____0x32,%ebx &r1
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[r1].cdr
	mov____(%ebx),%ebx
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-28
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x32 &r1
	test___%eax,%eax
					# push_cc(r1, 1, r0, 38)
	mov____$i32,%ebx %0x26
	push___%ebx
	mov____0x32,%ebx &r0
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	mov____0x32,%ebx &r1
	push___%ebx
	call32 %push_cc
	add____$i8,%esp !0x10
	test___%eax,%eax
	jmp32  %_eval_apply_label_apply
	jmp32  %_eval_apply_3029_break
:_eval_apply_3029_break
					# if (g_cells[r1].car == 51 || g_cells[r1].car == 52) ...
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[r1].car
	mov____(%eax),%eax
	mov____$i32,%ebx %0x33
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_3101_break_b_2635
	jmp32  %_eval_apply_3101_break_skip_b_2635
:_eval_apply_3101_break_b_2635
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[r1].car
	mov____(%eax),%eax
	mov____$i32,%ebx %0x34
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_3101_break
:_eval_apply_3101_break_skip_b_2635
					# push_cc(g_cells[g_cells[r1].cdr].cdr, r1, r0, 41)
	mov____$i32,%ebx %0x29
	push___%ebx
	mov____0x32,%ebx &r0
	push___%ebx
	mov____0x32,%ebx &r1
	push___%ebx
	mov____0x32,%ebx &r1
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[r1].cdr
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[g_cells[r1].cdr].cdr
	mov____(%ebx),%ebx
	push___%ebx
	call32 %push_cc
	add____$i8,%esp !0x10
	test___%eax,%eax
	jmp32  %_eval_apply_label_macro_expand
:_eval_apply_label_macro_expand_define
					# g_cells[g_cells[r2].cdr].cdr = r1
	mov____0x32,%eax &r1
	mov____0x32,%ebx &r2
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[r2].cdr
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
	mov____%eax,(%ebx)
	test___%eax,%eax
					# r1 = r2
	mov____0x32,%eax &r2
	mov____%eax,0x32 &r1
	test___%eax,%eax
					# if (g_cells[r1].car == 52) ...
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[r1].car
	mov____(%eax),%eax
	mov____$i32,%ebx %0x34
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_3195_break
					# push_cc(r1, r1, r0, 42)
	mov____$i32,%ebx %0x2a
	push___%ebx
	mov____0x32,%ebx &r0
	push___%ebx
	mov____0x32,%ebx &r1
	push___%ebx
	mov____0x32,%ebx &r1
	push___%ebx
	call32 %push_cc
	add____$i8,%esp !0x10
	test___%eax,%eax
	jmp32  %_eval_apply_label_eval
:_eval_apply_label_macro_expand_define_macro
					# r1 = r2
	mov____0x32,%eax &r2
	mov____%eax,0x32 &r1
	test___%eax,%eax
	jmp32  %_eval_apply_3195_break
:_eval_apply_3195_break
	jmp32  %_eval_apply_label_vm_return
	jmp32  %_eval_apply_3101_break
:_eval_apply_3101_break
					# if (g_cells[r1].car == 60) ...
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[r1].car
	mov____(%eax),%eax
	mov____$i32,%ebx %0x3c
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_3231_break
					# push_cc(g_cells[g_cells[r1].cdr].cdr, r1, r0, 44)
	mov____$i32,%ebx %0x2c
	push___%ebx
	mov____0x32,%ebx &r0
	push___%ebx
	mov____0x32,%ebx &r1
	push___%ebx
	mov____0x32,%ebx &r1
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[r1].cdr
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[g_cells[r1].cdr].cdr
	mov____(%ebx),%ebx
	push___%ebx
	call32 %push_cc
	add____$i8,%esp !0x10
	test___%eax,%eax
	jmp32  %_eval_apply_label_macro_expand
:_eval_apply_label_macro_expand_set_x
					# g_cells[g_cells[r2].cdr].cdr = r1
	mov____0x32,%eax &r1
	mov____0x32,%ebx &r2
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[r2].cdr
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
	mov____%eax,(%ebx)
	test___%eax,%eax
					# r1 = r2
	mov____0x32,%eax &r2
	mov____%eax,0x32 &r1
	test___%eax,%eax
	jmp32  %_eval_apply_label_vm_return
	jmp32  %_eval_apply_3231_break
:_eval_apply_3231_break
					# if (g_cells[r1].type == 7 && g_cells[g_cells[r1].car].type == 13 && g_cells[r1]\n    .car != 48 && (macro = macro_get_handle(63)) != 2 && (expanders = \n    module_ref(r0, 64)) != 6 && (macro = assq(g_cells[r1].car, expanders)) != 2\n    ) ...
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[r1].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_3312_break
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[r1].car
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[g_cells[r1].car].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0xd
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_3312_break
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[r1].car
	mov____(%eax),%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  %_eval_apply_3312_break
					# macro = macro_get_handle(63)
					# macro_get_handle(63)
	mov____$i32,%ebx %0x3f
	push___%ebx
	call32 %macro_get_handle
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-28
	mov____$i32,%ebx %0x2
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_3312_break
					# expanders = module_ref(r0, 64)
					# module_ref(r0, 64)
	mov____$i32,%ebx %0x40
	push___%ebx
	mov____0x32,%ebx &r0
	push___%ebx
	call32 %module_ref
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-18
	mov____$i32,%ebx %0x6
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_3312_break
					# macro = assq(g_cells[r1].car, expanders)
					# assq(g_cells[r1].car, expanders)
	mov____0x8(%ebp),%ebx !0x-18
	push___%ebx
	mov____0x32,%ebx &r1
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[r1].car
	mov____(%ebx),%ebx
	push___%ebx
	call32 %assq
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-28
	mov____$i32,%ebx %0x2
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_3312_break
					# sc_expand = module_ref(r0, 62)
					# module_ref(r0, 62)
	mov____$i32,%ebx %0x3e
	push___%ebx
	mov____0x32,%ebx &r0
	push___%ebx
	call32 %module_ref
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-34
	test___%eax,%eax
					# r2 = r1
	mov____0x32,%eax &r1
	mov____%eax,0x32 &r2
	test___%eax,%eax
					# if (sc_expand != 6 && sc_expand != 2) ...
	mov____0x8(%ebp),%eax !0x-34
	mov____$i32,%ebx %0x6
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_3428_break
	mov____0x8(%ebp),%eax !0x-34
	mov____$i32,%ebx %0x2
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_3428_break
					# r1 = cons(sc_expand, cons(r1, 1))
					# cons(sc_expand, cons(r1, 1))
					# cons(r1, 1)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x1
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &r1
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-34
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x32 &r1
	test___%eax,%eax
	jmp32  %_eval_apply_label_apply
	jmp32  %_eval_apply_3428_break
:_eval_apply_3428_break
	jmp32  %_eval_apply_3312_break
:_eval_apply_3312_break
					# push_cc(g_cells[r1].car, r1, r0, 39)
	mov____$i32,%ebx %0x27
	push___%ebx
	mov____0x32,%ebx &r0
	push___%ebx
	mov____0x32,%ebx &r1
	push___%ebx
	mov____0x32,%ebx &r1
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[r1].car
	mov____(%ebx),%ebx
	push___%ebx
	call32 %push_cc
	add____$i8,%esp !0x10
	test___%eax,%eax
	jmp32  %_eval_apply_label_macro_expand
:_eval_apply_label_macro_expand_car
					# g_cells[r2].car = r1
	mov____0x32,%eax &r1
	mov____0x32,%ebx &r2
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
	mov____%eax,(%ebx)
	test___%eax,%eax
					# r1 = r2
	mov____0x32,%eax &r2
	mov____%eax,0x32 &r1
	test___%eax,%eax
					# if (g_cells[r1].cdr == 1) ...
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[r1].cdr
	mov____(%eax),%eax
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_3515_break
	jmp32  %_eval_apply_label_vm_return
	jmp32  %_eval_apply_3515_break
:_eval_apply_3515_break
					# push_cc(g_cells[r1].cdr, r1, r0, 40)
	mov____$i32,%ebx %0x28
	push___%ebx
	mov____0x32,%ebx &r0
	push___%ebx
	mov____0x32,%ebx &r1
	push___%ebx
	mov____0x32,%ebx &r1
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[r1].cdr
	mov____(%ebx),%ebx
	push___%ebx
	call32 %push_cc
	add____$i8,%esp !0x10
	test___%eax,%eax
	jmp32  %_eval_apply_label_macro_expand
:_eval_apply_label_macro_expand_cdr
					# g_cells[r2].cdr = r1
	mov____0x32,%eax &r1
	mov____0x32,%ebx &r2
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
	mov____%eax,(%ebx)
	test___%eax,%eax
					# r1 = r2
	mov____0x32,%eax &r2
	mov____%eax,0x32 &r1
	test___%eax,%eax
	jmp32  %_eval_apply_label_vm_return
:_eval_apply_label_begin
					# x = 7
	mov____$i32,%eax %0x7
	mov____%eax,0x8(%ebp) !0x-3c
	test___%eax,%eax
					# while (r1 != 1) ...
	jmp32  %_eval_apply_3580_continue
:_eval_apply_3580_loop
					# gc_check()
	call32 %gc_check
	add____$i8,%esp !0x0
	test___%eax,%eax
					# if (g_cells[r1].type == 7) ...
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[r1].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_3586_break
					# if (g_cells[g_cells[r1].car].car == 69) ...
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[r1].car
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[g_cells[r1].car].car
	mov____(%eax),%eax
	mov____$i32,%ebx %0x45
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_3600_break
					# program = cons(g_cells[r1].car, 1)
					# cons(g_cells[r1].car, 1)
	mov____$i32,%ebx %0x1
	push___%ebx
	mov____0x32,%ebx &r1
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[r1].car
	mov____(%ebx),%ebx
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-30
	test___%eax,%eax
					# push_cc(program, r1, r0, 20)
	mov____$i32,%ebx %0x14
	push___%ebx
	mov____0x32,%ebx &r0
	push___%ebx
	mov____0x32,%ebx &r1
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-30
	push___%ebx
	call32 %push_cc
	add____$i8,%esp !0x10
	test___%eax,%eax
	jmp32  %_eval_apply_label_begin_expand
:_eval_apply_label_begin_primitive_load
					# g_cells[r2].car = r1
	mov____0x32,%eax &r1
	mov____0x32,%ebx &r2
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
	mov____%eax,(%ebx)
	test___%eax,%eax
					# r1 = r2
	mov____0x32,%eax &r2
	mov____%eax,0x32 &r1
	test___%eax,%eax
	jmp32  %_eval_apply_3600_break
:_eval_apply_3600_break
	jmp32  %_eval_apply_3586_break
:_eval_apply_3586_break
					# if (g_cells[r1].type == 7 && g_cells[g_cells[r1].car].type == 7) ...
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[r1].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_3676_break
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[r1].car
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[g_cells[r1].car].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_3676_break
					# if (g_cells[g_cells[r1].car].car == 48) ...
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[r1].car
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[g_cells[r1].car].car
	mov____(%eax),%eax
	mov____$i32,%ebx %0x30
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_3710_break
					# r1 = append2(g_cells[g_cells[r1].car].cdr, g_cells[r1].cdr)
					# append2(g_cells[g_cells[r1].car].cdr, g_cells[r1].cdr)
	mov____0x32,%ebx &r1
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[r1].cdr
	mov____(%ebx),%ebx
	push___%ebx
	mov____0x32,%ebx &r1
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[r1].car
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[g_cells[r1].car].cdr
	mov____(%ebx),%ebx
	push___%ebx
	call32 %append2
	add____$i8,%esp !0x8
	mov____%eax,0x32 &r1
	test___%eax,%eax
	jmp32  %_eval_apply_3710_break
:_eval_apply_3710_break
	jmp32  %_eval_apply_3676_break
:_eval_apply_3676_break
					# if (g_cells[r1].cdr == 1) ...
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[r1].cdr
	mov____(%eax),%eax
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_3777_break
					# r1 = g_cells[r1].car
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[r1].car
	mov____(%eax),%eax
	mov____%eax,0x32 &r1
	test___%eax,%eax
	jmp32  %_eval_apply_label_eval
	jmp32  %_eval_apply_3777_break
:_eval_apply_3777_break
					# push_cc(g_cells[r1].car, r1, r0, 15)
	mov____$i32,%ebx %0xf
	push___%ebx
	mov____0x32,%ebx &r0
	push___%ebx
	mov____0x32,%ebx &r1
	push___%ebx
	mov____0x32,%ebx &r1
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[r1].car
	mov____(%ebx),%ebx
	push___%ebx
	call32 %push_cc
	add____$i8,%esp !0x10
	test___%eax,%eax
	jmp32  %_eval_apply_label_eval
:_eval_apply_label_begin_eval
					# x = r1
	mov____0x32,%eax &r1
	mov____%eax,0x8(%ebp) !0x-3c
	test___%eax,%eax
					# r1 = g_cells[r2].cdr
	mov____0x32,%eax &r2
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[r2].cdr
	mov____(%eax),%eax
	mov____%eax,0x32 &r1
	test___%eax,%eax
:_eval_apply_3580_continue
	mov____0x32,%eax &r1
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_3580_break
	jmp32  %_eval_apply_3580_loop
:_eval_apply_3580_break
					# r1 = x
	mov____0x8(%ebp),%eax !0x-3c
	mov____%eax,0x32 &r1
	test___%eax,%eax
	jmp32  %_eval_apply_label_vm_return
:_eval_apply_label_begin_expand
					# x = 7
	mov____$i32,%eax %0x7
	mov____%eax,0x8(%ebp) !0x-3c
	test___%eax,%eax
					# while (r1 != 1) ...
	jmp32  %_eval_apply_3865_continue
:_eval_apply_3865_loop
					# gc_check()
	call32 %gc_check
	add____$i8,%esp !0x0
	test___%eax,%eax
					# if (g_cells[r1].type == 7) ...
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[r1].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_3871_break
					# if (g_cells[g_cells[r1].car].type == 7 && g_cells[g_cells[r1].car].car == 48) \n    ...
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[r1].car
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[g_cells[r1].car].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_3885_break
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[r1].car
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[g_cells[r1].car].car
	mov____(%eax),%eax
	mov____$i32,%ebx %0x30
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_3885_break
					# r1 = append2(g_cells[g_cells[r1].car].cdr, g_cells[r1].cdr)
					# append2(g_cells[g_cells[r1].car].cdr, g_cells[r1].cdr)
	mov____0x32,%ebx &r1
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[r1].cdr
	mov____(%ebx),%ebx
	push___%ebx
	mov____0x32,%ebx &r1
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[r1].car
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[g_cells[r1].car].cdr
	mov____(%ebx),%ebx
	push___%ebx
	call32 %append2
	add____$i8,%esp !0x8
	mov____%eax,0x32 &r1
	test___%eax,%eax
	jmp32  %_eval_apply_3885_break
:_eval_apply_3885_break
					# if (g_cells[g_cells[r1].car].car == 69) ...
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[r1].car
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[g_cells[r1].car].car
	mov____(%eax),%eax
	mov____$i32,%ebx %0x45
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_3970_break
					# push_cc(g_cells[g_cells[g_cells[r1].car].cdr].car, r1, r0, 19)
	mov____$i32,%ebx %0x13
	push___%ebx
	mov____0x32,%ebx &r0
	push___%ebx
	mov____0x32,%ebx &r1
	push___%ebx
	mov____0x32,%ebx &r1
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[r1].car
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[g_cells[r1].car].cdr
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[g_cells[g_cells[r1].car].cdr].car
	mov____(%ebx),%ebx
	push___%ebx
	call32 %push_cc
	add____$i8,%esp !0x10
	test___%eax,%eax
	jmp32  %_eval_apply_label_eval
:_eval_apply_label_begin_expand_primitive_load
					# if (g_cells[r1].type == 6 && g_cells[r1].cdr == 0) ...else ...
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[r1].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x6
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_4037_else
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[r1].cdr
	mov____(%eax),%eax
	mov____$i32,%ebx %0x0
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_4037_else
	jmp32  %_eval_apply_4037_break
:_eval_apply_4037_else
					# if (g_cells[r1].type == 11) ...else ...
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[r1].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0xb
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_4066_else
					# input = set_current_input_port(open_input_file(r1))
					# set_current_input_port(open_input_file(r1))
					# open_input_file(r1)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &r1
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %open_input_file
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %set_current_input_port
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-20
	test___%eax,%eax
	jmp32  %_eval_apply_4066_break
:_eval_apply_4066_else
					# if (g_cells[r1].type == 8) ...else ...
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[r1].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x8
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_4098_else
					# input = set_current_input_port(r1)
					# set_current_input_port(r1)
	mov____0x32,%ebx &r1
	push___%ebx
	call32 %set_current_input_port
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-20
	test___%eax,%eax
	jmp32  %_eval_apply_4098_break
:_eval_apply_4098_else
					# 0? ...: ...
	mov____$i32,%eax %0x0
					# jmp test LABEL
	test___%eax,%eax
	je32   %_eval_apply_4121_else
	mov____$i32,%eax %0x0
	movzbl_%al,%eax
	jmp32  %_eval_apply_4121_break
:_eval_apply_4121_else
					# assert_fail("0")
	push___$i32 &_string_src/mes.x86-mes-S_5
	call32 %assert_fail
	add____$i8,%esp !0x4
:_eval_apply_4121_break
:_eval_apply_4098_break
:_eval_apply_4066_break
:_eval_apply_4037_break
					# push_cc(input, r2, r0, 45)
	mov____$i32,%ebx %0x2d
	push___%ebx
	mov____0x32,%ebx &r0
	push___%ebx
	mov____0x32,%ebx &r2
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-20
	push___%ebx
	call32 %push_cc
	add____$i8,%esp !0x10
	test___%eax,%eax
					# x = read_input_file_env(r0)
					# read_input_file_env(r0)
	mov____0x32,%ebx &r0
	push___%ebx
	call32 %read_input_file_env
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-3c
	test___%eax,%eax
					# if (g_debug > 3) ...
	mov____0x32,%eax &g_debug
	mov____$i32,%ebx %0x3
	sub____%ebx,%eax
	setg___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_eval_apply_4155_break
					# module_printer(m0)
	mov____0x32,%ebx &m0
	push___%ebx
	call32 %module_printer
	add____$i8,%esp !0x4
	test___%eax,%eax
	jmp32  %_eval_apply_4155_break
:_eval_apply_4155_break
					# gc_pop_frame()
	call32 %gc_pop_frame
	add____$i8,%esp !0x0
	test___%eax,%eax
					# input = r1
	mov____0x32,%eax &r1
	mov____%eax,0x8(%ebp) !0x-20
	test___%eax,%eax
					# r1 = x
	mov____0x8(%ebp),%eax !0x-3c
	mov____%eax,0x32 &r1
	test___%eax,%eax
					# set_current_input_port(input)
	mov____0x8(%ebp),%ebx !0x-20
	push___%ebx
	call32 %set_current_input_port
	add____$i8,%esp !0x4
	test___%eax,%eax
					# r1 = cons(48, r1)
					# cons(48, r1)
	mov____0x32,%ebx &r1
	push___%ebx
	mov____$i32,%ebx %0x30
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x32 &r1
	test___%eax,%eax
					# g_cells[r2].car = r1
	mov____0x32,%eax &r1
	mov____0x32,%ebx &r2
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
	mov____%eax,(%ebx)
	test___%eax,%eax
					# r1 = r2
	mov____0x32,%eax &r2
	mov____%eax,0x32 &r1
	test___%eax,%eax
	jmp32  %_eval_apply_3865_continue
	jmp32  %_eval_apply_3970_break
:_eval_apply_3970_break
	jmp32  %_eval_apply_3871_break
:_eval_apply_3871_break
					# push_cc(g_cells[r1].car, r1, r0, 18)
	mov____$i32,%ebx %0x12
	push___%ebx
	mov____0x32,%ebx &r0
	push___%ebx
	mov____0x32,%ebx &r1
	push___%ebx
	mov____0x32,%ebx &r1
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[r1].car
	mov____(%ebx),%ebx
	push___%ebx
	call32 %push_cc
	add____$i8,%esp !0x10
	test___%eax,%eax
	jmp32  %_eval_apply_label_macro_expand
:_eval_apply_label_begin_expand_macro
					# if (r1 != g_cells[r2].car) ...
	mov____0x32,%eax &r1
	mov____0x32,%ebx &r2
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[r2].car
	mov____(%ebx),%ebx
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_4242_break
					# g_cells[r2].car = r1
	mov____0x32,%eax &r1
	mov____0x32,%ebx &r2
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
	mov____%eax,(%ebx)
	test___%eax,%eax
					# r1 = r2
	mov____0x32,%eax &r2
	mov____%eax,0x32 &r1
	test___%eax,%eax
	jmp32  %_eval_apply_3865_continue
	jmp32  %_eval_apply_4242_break
:_eval_apply_4242_break
					# r1 = r2
	mov____0x32,%eax &r2
	mov____%eax,0x32 &r1
	test___%eax,%eax
					# expand_variable(g_cells[r1].car, 1)
	mov____$i32,%ebx %0x1
	push___%ebx
	mov____0x32,%ebx &r1
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[r1].car
	mov____(%ebx),%ebx
	push___%ebx
	call32 %expand_variable
	add____$i8,%esp !0x8
	test___%eax,%eax
					# push_cc(g_cells[r1].car, r1, r0, 17)
	mov____$i32,%ebx %0x11
	push___%ebx
	mov____0x32,%ebx &r0
	push___%ebx
	mov____0x32,%ebx &r1
	push___%ebx
	mov____0x32,%ebx &r1
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[r1].car
	mov____(%ebx),%ebx
	push___%ebx
	call32 %push_cc
	add____$i8,%esp !0x10
	test___%eax,%eax
	jmp32  %_eval_apply_label_eval
:_eval_apply_label_begin_expand_eval
					# x = r1
	mov____0x32,%eax &r1
	mov____%eax,0x8(%ebp) !0x-3c
	test___%eax,%eax
					# r1 = g_cells[r2].cdr
	mov____0x32,%eax &r2
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[r2].cdr
	mov____(%eax),%eax
	mov____%eax,0x32 &r1
	test___%eax,%eax
:_eval_apply_3865_continue
	mov____0x32,%eax &r1
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_3865_break
	jmp32  %_eval_apply_3865_loop
:_eval_apply_3865_break
					# r1 = x
	mov____0x8(%ebp),%eax !0x-3c
	mov____%eax,0x32 &r1
	test___%eax,%eax
	jmp32  %_eval_apply_label_vm_return
:_eval_apply_label_vm_if
					# push_cc(g_cells[r1].car, r1, r0, 37)
	mov____$i32,%ebx %0x25
	push___%ebx
	mov____0x32,%ebx &r0
	push___%ebx
	mov____0x32,%ebx &r1
	push___%ebx
	mov____0x32,%ebx &r1
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[r1].car
	mov____(%ebx),%ebx
	push___%ebx
	call32 %push_cc
	add____$i8,%esp !0x10
	test___%eax,%eax
	jmp32  %_eval_apply_label_eval
:_eval_apply_label_if_expr
					# x = r1
	mov____0x32,%eax &r1
	mov____%eax,0x8(%ebp) !0x-3c
	test___%eax,%eax
					# r1 = r2
	mov____0x32,%eax &r2
	mov____%eax,0x32 &r1
	test___%eax,%eax
					# if (x != 2) ...
	mov____0x8(%ebp),%eax !0x-3c
	mov____$i32,%ebx %0x2
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_4393_break
					# r1 = g_cells[g_cells[r1].cdr].car
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[r1].cdr
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[g_cells[r1].cdr].car
	mov____(%eax),%eax
	mov____%eax,0x32 &r1
	test___%eax,%eax
	jmp32  %_eval_apply_label_eval
	jmp32  %_eval_apply_4393_break
:_eval_apply_4393_break
					# if (g_cells[g_cells[r1].cdr].cdr != 1) ...
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[r1].cdr
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[g_cells[r1].cdr].cdr
	mov____(%eax),%eax
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_4423_break
					# r1 = g_cells[g_cells[g_cells[r1].cdr].cdr].car
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[r1].cdr
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[g_cells[r1].cdr].cdr
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[g_cells[g_cells[r1].cdr].cdr].car
	mov____(%eax),%eax
	mov____%eax,0x32 &r1
	test___%eax,%eax
	jmp32  %_eval_apply_label_eval
	jmp32  %_eval_apply_4423_break
:_eval_apply_4423_break
					# r1 = 7
	mov____$i32,%eax %0x7
	mov____%eax,0x32 &r1
	test___%eax,%eax
	jmp32  %_eval_apply_label_vm_return
:_eval_apply_label_call_with_current_continuation
					# gc_push_frame()
	call32 %gc_push_frame
	add____$i8,%esp !0x0
	test___%eax,%eax
					# x = make_cell__(3, g_continuations++, g_stack)
					# make_cell__(3, g_continuations++, g_stack)
	mov____0x32,%ebx &g_stack
	push___%ebx
	mov____0x32,%ebx &g_continuations
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx &g_continuations
	add____$i8,(%ebx) !0x1
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x3
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-3c
	test___%eax,%eax
					# v = make_vector__(STACK_SIZE - g_stack)
					# make_vector__(STACK_SIZE - g_stack)
	mov____0x32,%ebx &STACK_SIZE
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &g_stack
	sub____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %make_vector__
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-38
	test___%eax,%eax
					# for (t = g_stack; t < STACK_SIZE; t++) ...
					# t = g_stack
	mov____0x32,%eax &g_stack
	mov____%eax,0x8(%ebp) !0x-48
	test___%eax,%eax
	jmp32  %_eval_apply_4509_initial_skip
:_eval_apply_4509_loop
					# vector_set_x_(v, t - g_stack, g_stack_array[t])
	mov____0x8(%ebp),%ebx !0x-48
	shl____$i8,%ebx !0x2
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &g_stack_array
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____(%ebx),%ebx
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-48
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &g_stack
	sub____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-38
	push___%ebx
	call32 %vector_set_x_
	add____$i8,%esp !0xc
	test___%eax,%eax
:_eval_apply_4509_continue
	mov____0x8(%ebp),%eax !0x-48
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-48
	add____$i8,(%ebx) !0x1
:_eval_apply_4509_initial_skip
	mov____0x8(%ebp),%eax !0x-48
	mov____0x32,%ebx &STACK_SIZE
	sub____%ebx,%eax
	setl___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_eval_apply_4509_break
	jmp32  %_eval_apply_4509_loop
:_eval_apply_4509_break
					# g_cells[x].cdr = v
	mov____0x8(%ebp),%eax !0x-38
	mov____0x8(%ebp),%ebx !0x-3c
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
	mov____%eax,(%ebx)
	test___%eax,%eax
					# gc_pop_frame()
	call32 %gc_pop_frame
	add____$i8,%esp !0x0
	test___%eax,%eax
					# push_cc(cons(g_cells[r1].car, cons(x, 1)), x, r0, 22)
	mov____$i32,%ebx %0x16
	push___%ebx
	mov____0x32,%ebx &r0
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-3c
	push___%ebx
					# cons(g_cells[r1].car, cons(x, 1))
	push___%eax
					# cons(x, 1)
	push___%eax
	mov____%ebx,%eax
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x1
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-3c
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &r1
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[r1].car
	mov____(%ebx),%ebx
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %push_cc
	add____$i8,%esp !0x10
	test___%eax,%eax
	jmp32  %_eval_apply_label_apply
:_eval_apply_label_call_with_current_continuation2
					# v = make_vector__(STACK_SIZE - g_stack)
					# make_vector__(STACK_SIZE - g_stack)
	mov____0x32,%ebx &STACK_SIZE
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &g_stack
	sub____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %make_vector__
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-38
	test___%eax,%eax
					# for (t = g_stack; t < STACK_SIZE; t++) ...
					# t = g_stack
	mov____0x32,%eax &g_stack
	mov____%eax,0x8(%ebp) !0x-48
	test___%eax,%eax
	jmp32  %_eval_apply_4629_initial_skip
:_eval_apply_4629_loop
					# vector_set_x_(v, t - g_stack, g_stack_array[t])
	mov____0x8(%ebp),%ebx !0x-48
	shl____$i8,%ebx !0x2
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &g_stack_array
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____(%ebx),%ebx
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-48
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &g_stack
	sub____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-38
	push___%ebx
	call32 %vector_set_x_
	add____$i8,%esp !0xc
	test___%eax,%eax
:_eval_apply_4629_continue
	mov____0x8(%ebp),%eax !0x-48
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-48
	add____$i8,(%ebx) !0x1
:_eval_apply_4629_initial_skip
	mov____0x8(%ebp),%eax !0x-48
	mov____0x32,%ebx &STACK_SIZE
	sub____%ebx,%eax
	setl___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_eval_apply_4629_break
	jmp32  %_eval_apply_4629_loop
:_eval_apply_4629_break
					# g_cells[r2].cdr = v
	mov____0x8(%ebp),%eax !0x-38
	mov____0x32,%ebx &r2
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
	mov____%eax,(%ebx)
	test___%eax,%eax
	jmp32  %_eval_apply_label_vm_return
:_eval_apply_label_call_with_values
					# push_cc(cons(g_cells[r1].car, 1), r1, r0, 23)
	mov____$i32,%ebx %0x17
	push___%ebx
	mov____0x32,%ebx &r0
	push___%ebx
	mov____0x32,%ebx &r1
	push___%ebx
					# cons(g_cells[r1].car, 1)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x1
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &r1
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[r1].car
	mov____(%ebx),%ebx
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %push_cc
	add____$i8,%esp !0x10
	test___%eax,%eax
	jmp32  %_eval_apply_label_apply
:_eval_apply_label_call_with_values2
					# if (g_cells[r1].type == 14) ...
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[r1].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0xe
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_eval_apply_4723_break
					# r1 = g_cells[r1].cdr
	mov____0x32,%eax &r1
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[r1].cdr
	mov____(%eax),%eax
	mov____%eax,0x32 &r1
	test___%eax,%eax
	jmp32  %_eval_apply_4723_break
:_eval_apply_4723_break
					# r1 = cons(g_cells[g_cells[r2].cdr].car, r1)
					# cons(g_cells[g_cells[r2].cdr].car, r1)
	mov____0x32,%ebx &r1
	push___%ebx
	mov____0x32,%ebx &r2
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[r2].cdr
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[g_cells[r2].cdr].car
	mov____(%ebx),%ebx
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x32 &r1
	test___%eax,%eax
	jmp32  %_eval_apply_label_apply
:_eval_apply_label_vm_return
					# x = r1
	mov____0x32,%eax &r1
	mov____%eax,0x8(%ebp) !0x-3c
	test___%eax,%eax
					# gc_pop_frame()
	call32 %gc_pop_frame
	add____$i8,%esp !0x0
	test___%eax,%eax
					# r1 = x
	mov____0x8(%ebp),%eax !0x-3c
	mov____%eax,0x32 &r1
	test___%eax,%eax
	jmp32  %_eval_apply_label_eval_apply
	leave
	ret


:apply
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# push_cc(cons(f, x), 7, r0, 7)
	mov____$i32,%ebx %0x7
	push___%ebx
	mov____0x32,%ebx &r0
	push___%ebx
	mov____$i32,%ebx %0x7
	push___%ebx
					# cons(f, x)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %push_cc
	add____$i8,%esp !0x10
	test___%eax,%eax
					# r3 = 12
	mov____$i32,%eax %0xc
	mov____%eax,0x32 &r3
	test___%eax,%eax
					# eval_apply()
	call32 %eval_apply
	add____$i8,%esp !0x0
	leave
	ret


:mes_g_stack
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# g_stack = STACK_SIZE
	mov____0x32,%eax &STACK_SIZE
	mov____%eax,0x32 &g_stack
	test___%eax,%eax
					# r0 = a
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,0x32 &r0
	test___%eax,%eax
					# r1 = make_cell__(1, 0, 0)
					# make_cell__(1, 0, 0)
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	mov____%eax,0x32 &r1
	test___%eax,%eax
					# r2 = make_cell__(1, 0, 0)
					# make_cell__(1, 0, 0)
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	mov____%eax,0x32 &r2
	test___%eax,%eax
					# r3 = make_cell__(1, 0, 0)
					# make_cell__(1, 0, 0)
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	mov____%eax,0x32 &r3
	test___%eax,%eax
	mov____0x32,%eax &r0
	leave
	ret


:gc_init_cells
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# long arena_bytes = (ARENA_SIZE + JAM_SIZE)*sizeof(struct scm);\n
	mov____0x32,%eax &ARENA_SIZE
	mov____0x32,%ebx &JAM_SIZE
	add____%ebx,%eax
	mov____$i32,%ebx %0xc
	mul____%ebx
	mov____%eax,0x8(%ebp) !0x-4
					# void *p = malloc(arena_bytes + STACK_SIZE*sizeof(SCM));\n
					# malloc(arena_bytes + STACK_SIZE*sizeof(SCM))
	mov____0x8(%ebp),%ebx !0x-4
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &STACK_SIZE
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x4
	mul____%ebx
	mov____%eax,%ebx
	pop____%eax
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %malloc
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-8
					# g_cells = (struct scm*)p
	mov____0x8(%ebp),%eax !0x-8
	mov____%eax,0x32 &g_cells
	test___%eax,%eax
					# g_stack_array = (SCM*)(p + arena_bytes)
	mov____0x8(%ebp),%eax !0x-8
	mov____0x8(%ebp),%ebx !0x-4
	add____%ebx,%eax
	mov____%eax,0x32 &g_stack_array
	test___%eax,%eax
					# g_cells[0].type = 16
	mov____$i32,%eax %0x10
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x0
	mov____%eax,(%ebx)
	test___%eax,%eax
					# g_cells[0].car = 1000
	mov____$i32,%eax %0x3e8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
	mov____%eax,(%ebx)
	test___%eax,%eax
					# g_cells[0].cdr = 0
	mov____$i32,%eax %0x0
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
	mov____%eax,(%ebx)
	test___%eax,%eax
	mov____0x32,%eax &g_cells
	mov____$i32,%ebx &g_cells
	add____$i8,(%ebx) !0xc
	test___%eax,%eax
					# g_cells[0].type = 1
	mov____$i32,%eax %0x1
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x0
	mov____%eax,(%ebx)
	test___%eax,%eax
					# g_cells[0].cdr = 'c'
	mov____$i32,%eax %0x63
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
	mov____%eax,(%ebx)
	test___%eax,%eax
					# g_buf = (char*)malloc(MAX_STRING)
					# malloc(MAX_STRING)
	mov____0x32,%ebx &MAX_STRING
	push___%ebx
	call32 %malloc
	add____$i8,%esp !0x4
	mov____%eax,0x32 &g_buf
	test___%eax,%eax
	mov____$i32,%eax %0x0
	leave
	ret


:init_symbol
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# g_cells[x].type = type
	mov____0x8(%ebp),%eax !0xc
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x0
	mov____%eax,(%ebx)
	test___%eax,%eax
					# int length = strlen(name);\n
					# strlen(name)
	mov____0x8(%ebp),%ebx !0x10
	push___%ebx
	call32 %strlen
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-4
					# SCM string = make_string(name, length);\n
					# make_string(name, length)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____0x8(%ebp),%ebx !0x10
	push___%ebx
	call32 %make_string
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-8
					# g_cells[x].car = length
	mov____0x8(%ebp),%eax !0x-4
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
	mov____%eax,(%ebx)
	test___%eax,%eax
					# g_cells[x].cdr = g_cells[string].cdr
	mov____0x8(%ebp),%eax !0x-8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[string].cdr
	mov____(%eax),%eax
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
	mov____%eax,(%ebx)
	test___%eax,%eax
					# hash_set_x(g_symbols, string, x)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	mov____0x32,%ebx &g_symbols
	push___%ebx
	call32 %hash_set_x
	add____$i8,%esp !0xc
	test___%eax,%eax
	leave
	ret


:mes_symbols
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# gc_init_cells()
	call32 %gc_init_cells
	add____$i8,%esp !0x0
	test___%eax,%eax
					# g_free = 118 + 1
	mov____$i32,%eax %0x76
	add____$i8,%eax !0x1
	mov____%eax,0x32 &g_free
	test___%eax,%eax
					# g_symbol_max = g_free
	mov____0x32,%eax &g_free
	mov____%eax,0x32 &g_symbol_max
	test___%eax,%eax
					# g_symbols = make_hash_table_(500)
					# make_hash_table_(500)
	mov____$i32,%ebx %0x1f4
	push___%ebx
	call32 %make_hash_table_
	add____$i8,%esp !0x4
	mov____%eax,0x32 &g_symbols
	test___%eax,%eax
					# init_symbol(1, 10, "()")
	push___$i32 &_string_src/mes.x86-mes-S_28
	mov____$i32,%ebx %0xa
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(2, 10, "#f")
	push___$i32 &_string_src/mes.x86-mes-S_29
	mov____$i32,%ebx %0xa
	push___%ebx
	mov____$i32,%ebx %0x2
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(3, 10, "#t")
	push___$i32 &_string_src/mes.x86-mes-S_30
	mov____$i32,%ebx %0xa
	push___%ebx
	mov____$i32,%ebx %0x3
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(4, 10, ".")
	push___$i32 &_string_src/mes.x86-mes-S_31
	mov____$i32,%ebx %0xa
	push___%ebx
	mov____$i32,%ebx %0x4
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(5, 10, "=>")
	push___$i32 &_string_src/mes.x86-mes-S_32
	mov____$i32,%ebx %0xa
	push___%ebx
	mov____$i32,%ebx %0x5
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(6, 10, "*undefined*")
	push___$i32 &_string_src/mes.x86-mes-S_11
	mov____$i32,%ebx %0xa
	push___%ebx
	mov____$i32,%ebx %0x6
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(7, 10, "*unspecified*")
	push___$i32 &_string_src/mes.x86-mes-S_10
	mov____$i32,%ebx %0xa
	push___%ebx
	mov____$i32,%ebx %0x7
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(8, 10, "*closure*")
	push___$i32 &_string_src/mes.x86-mes-S_33
	mov____$i32,%ebx %0xa
	push___%ebx
	mov____$i32,%ebx %0x8
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(9, 10, "*circular*")
	push___$i32 &_string_src/mes.x86-mes-S_34
	mov____$i32,%ebx %0xa
	push___%ebx
	mov____$i32,%ebx %0x9
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(10, 10, "*begin*")
	push___$i32 &_string_src/mes.x86-mes-S_35
	mov____$i32,%ebx %0xa
	push___%ebx
	mov____$i32,%ebx %0xa
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(11, 10, "*call/cc*")
	push___$i32 &_string_src/mes.x86-mes-S_36
	mov____$i32,%ebx %0xa
	push___%ebx
	mov____$i32,%ebx %0xb
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(12, 10, "core:apply")
	push___$i32 &_string_src/mes.x86-mes-S_37
	mov____$i32,%ebx %0xa
	push___%ebx
	mov____$i32,%ebx %0xc
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(13, 10, "*vm-apply2*")
	push___$i32 &_string_src/mes.x86-mes-S_38
	mov____$i32,%ebx %0xa
	push___%ebx
	mov____$i32,%ebx %0xd
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(14, 10, "*vm-begin*")
	push___$i32 &_string_src/mes.x86-mes-S_39
	mov____$i32,%ebx %0xa
	push___%ebx
	mov____$i32,%ebx %0xe
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(15, 10, "*vm:begin-eval*")
	push___$i32 &_string_src/mes.x86-mes-S_40
	mov____$i32,%ebx %0xa
	push___%ebx
	mov____$i32,%ebx %0xf
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(16, 10, "core:eval")
	push___$i32 &_string_src/mes.x86-mes-S_41
	mov____$i32,%ebx %0xa
	push___%ebx
	mov____$i32,%ebx %0x10
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(17, 10, "*vm:begin-expand-eval*")
	push___$i32 &_string_src/mes.x86-mes-S_42
	mov____$i32,%ebx %0xa
	push___%ebx
	mov____$i32,%ebx %0x11
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(18, 10, "*vm:begin-expand-macro*")
	push___$i32 &_string_src/mes.x86-mes-S_43
	mov____$i32,%ebx %0xa
	push___%ebx
	mov____$i32,%ebx %0x12
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(19, 10, "*vm:core:begin-expand-primitive-load*")
	push___$i32 &_string_src/mes.x86-mes-S_44
	mov____$i32,%ebx %0xa
	push___%ebx
	mov____$i32,%ebx %0x13
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(20, 10, "*vm:core:begin-primitive-load*")
	push___$i32 &_string_src/mes.x86-mes-S_45
	mov____$i32,%ebx %0xa
	push___%ebx
	mov____$i32,%ebx %0x14
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(21, 10, "*vm-begin-read-input-file*")
	push___$i32 &_string_src/mes.x86-mes-S_46
	mov____$i32,%ebx %0xa
	push___%ebx
	mov____$i32,%ebx %0x15
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(22, 10, "*vm-call-with-current-continuation2*")
	push___$i32 &_string_src/mes.x86-mes-S_47
	mov____$i32,%ebx %0xa
	push___%ebx
	mov____$i32,%ebx %0x16
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(23, 10, "*vm-call-with-values2*")
	push___$i32 &_string_src/mes.x86-mes-S_48
	mov____$i32,%ebx %0xa
	push___%ebx
	mov____$i32,%ebx %0x17
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(24, 10, "core:eval-expanded")
	push___$i32 &_string_src/mes.x86-mes-S_49
	mov____$i32,%ebx %0xa
	push___%ebx
	mov____$i32,%ebx %0x18
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(25, 10, "*vm-eval2*")
	push___$i32 &_string_src/mes.x86-mes-S_50
	mov____$i32,%ebx %0xa
	push___%ebx
	mov____$i32,%ebx %0x19
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(26, 10, "*vm-eval-check-func*")
	push___$i32 &_string_src/mes.x86-mes-S_51
	mov____$i32,%ebx %0xa
	push___%ebx
	mov____$i32,%ebx %0x1a
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(27, 10, "*vm-eval-define*")
	push___$i32 &_string_src/mes.x86-mes-S_52
	mov____$i32,%ebx %0xa
	push___%ebx
	mov____$i32,%ebx %0x1b
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(28, 10, "*vm:eval-macro-expand-eval*")
	push___$i32 &_string_src/mes.x86-mes-S_53
	mov____$i32,%ebx %0xa
	push___%ebx
	mov____$i32,%ebx %0x1c
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(29, 10, "*vm:eval-macro-expand-expand*")
	push___$i32 &_string_src/mes.x86-mes-S_54
	mov____$i32,%ebx %0xa
	push___%ebx
	mov____$i32,%ebx %0x1d
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(30, 10, "*vm-eval-pmatch-car*")
	push___$i32 &_string_src/mes.x86-mes-S_55
	mov____$i32,%ebx %0xa
	push___%ebx
	mov____$i32,%ebx %0x1e
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(31, 10, "*vm-eval-pmatch-cdr*")
	push___$i32 &_string_src/mes.x86-mes-S_56
	mov____$i32,%ebx %0xa
	push___%ebx
	mov____$i32,%ebx %0x1f
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(32, 10, "*vm-eval-set!*")
	push___$i32 &_string_src/mes.x86-mes-S_57
	mov____$i32,%ebx %0xa
	push___%ebx
	mov____$i32,%ebx %0x20
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(33, 10, "*vm-evlis*")
	push___$i32 &_string_src/mes.x86-mes-S_58
	mov____$i32,%ebx %0xa
	push___%ebx
	mov____$i32,%ebx %0x21
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(34, 10, "*vm-evlis2*")
	push___$i32 &_string_src/mes.x86-mes-S_59
	mov____$i32,%ebx %0xa
	push___%ebx
	mov____$i32,%ebx %0x22
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(35, 10, "*vm-evlis3*")
	push___$i32 &_string_src/mes.x86-mes-S_60
	mov____$i32,%ebx %0xa
	push___%ebx
	mov____$i32,%ebx %0x23
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(36, 10, "*vm-if*")
	push___$i32 &_string_src/mes.x86-mes-S_61
	mov____$i32,%ebx %0xa
	push___%ebx
	mov____$i32,%ebx %0x24
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(37, 10, "*vm-if-expr*")
	push___$i32 &_string_src/mes.x86-mes-S_62
	mov____$i32,%ebx %0xa
	push___%ebx
	mov____$i32,%ebx %0x25
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(38, 10, "core:macro-expand")
	push___$i32 &_string_src/mes.x86-mes-S_63
	mov____$i32,%ebx %0xa
	push___%ebx
	mov____$i32,%ebx %0x26
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(39, 10, "*vm:core:macro-expand-car*")
	push___$i32 &_string_src/mes.x86-mes-S_64
	mov____$i32,%ebx %0xa
	push___%ebx
	mov____$i32,%ebx %0x27
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(40, 10, "*vm:macro-expand-cdr*")
	push___$i32 &_string_src/mes.x86-mes-S_65
	mov____$i32,%ebx %0xa
	push___%ebx
	mov____$i32,%ebx %0x28
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(41, 10, "*vm:core:macro-expand-define*")
	push___$i32 &_string_src/mes.x86-mes-S_66
	mov____$i32,%ebx %0xa
	push___%ebx
	mov____$i32,%ebx %0x29
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(42, 10, "*vm:core:macro-expand-define-macro*")
	push___$i32 &_string_src/mes.x86-mes-S_67
	mov____$i32,%ebx %0xa
	push___%ebx
	mov____$i32,%ebx %0x2a
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(43, 10, "*vm:core:macro-expand-lambda*")
	push___$i32 &_string_src/mes.x86-mes-S_68
	mov____$i32,%ebx %0xa
	push___%ebx
	mov____$i32,%ebx %0x2b
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(44, 10, "*vm:core:macro-expand-set!*")
	push___$i32 &_string_src/mes.x86-mes-S_69
	mov____$i32,%ebx %0xa
	push___%ebx
	mov____$i32,%ebx %0x2c
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(45, 10, "*vm-return*")
	push___$i32 &_string_src/mes.x86-mes-S_70
	mov____$i32,%ebx %0xa
	push___%ebx
	mov____$i32,%ebx %0x2d
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(46, 13, "*dot*")
	push___$i32 &_string_src/mes.x86-mes-S_71
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x2e
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(47, 13, "lambda")
	push___$i32 &_string_src/mes.x86-mes-S_72
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x2f
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(48, 13, "begin")
	push___$i32 &_string_src/mes.x86-mes-S_73
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x30
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(49, 13, "if")
	push___$i32 &_string_src/mes.x86-mes-S_74
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x31
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(50, 13, "quote")
	push___$i32 &_string_src/mes.x86-mes-S_75
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x32
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(51, 13, "define")
	push___$i32 &_string_src/mes.x86-mes-S_76
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x33
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(52, 13, "define-macro")
	push___$i32 &_string_src/mes.x86-mes-S_77
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x34
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(53, 13, "quasiquote")
	push___$i32 &_string_src/mes.x86-mes-S_78
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x35
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(54, 13, "unquote")
	push___$i32 &_string_src/mes.x86-mes-S_79
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x36
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(55, 13, "unquote-splicing")
	push___$i32 &_string_src/mes.x86-mes-S_80
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x37
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(56, 13, "syntax")
	push___$i32 &_string_src/mes.x86-mes-S_81
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x38
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(57, 13, "quasisyntax")
	push___$i32 &_string_src/mes.x86-mes-S_82
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x39
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(58, 13, "unsyntax")
	push___$i32 &_string_src/mes.x86-mes-S_83
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x3a
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(59, 13, "unsyntax-splicing")
	push___$i32 &_string_src/mes.x86-mes-S_84
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x3b
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(60, 13, "set!")
	push___$i32 &_string_src/mes.x86-mes-S_85
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x3c
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(61, 13, "sc-expand")
	push___$i32 &_string_src/mes.x86-mes-S_86
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x3d
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(62, 13, "macro-expand")
	push___$i32 &_string_src/mes.x86-mes-S_87
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x3e
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(63, 13, "portable-macro-expand")
	push___$i32 &_string_src/mes.x86-mes-S_88
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x3f
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(64, 13, "*sc-expander-alist*")
	push___$i32 &_string_src/mes.x86-mes-S_89
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x40
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(65, 13, "call-with-values")
	push___$i32 &_string_src/mes.x86-mes-S_90
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x41
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(66, 13, "call-with-current-continuation")
	push___$i32 &_string_src/mes.x86-mes-S_91
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x42
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(67, 13, "boot-module")
	push___$i32 &_string_src/mes.x86-mes-S_92
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x43
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(68, 13, "current-module")
	push___$i32 &_string_src/mes.x86-mes-S_93
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x44
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(69, 13, "primitive-load")
	push___$i32 &_string_src/mes.x86-mes-S_94
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x45
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(70, 13, "read-input-file")
	push___$i32 &_string_src/mes.x86-mes-S_95
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x46
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(71, 13, "write")
	push___$i32 &_string_src/mes.x86-mes-S_96
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x47
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(72, 13, "display")
	push___$i32 &_string_src/mes.x86-mes-S_97
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x48
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(73, 13, "car")
	push___$i32 &_string_src/mes.x86-mes-S_98
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x49
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(74, 13, "cdr")
	push___$i32 &_string_src/mes.x86-mes-S_99
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x4a
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(75, 13, "not-a-number")
	push___$i32 &_string_src/mes.x86-mes-S_100
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x4b
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(76, 13, "not-a-pair")
	push___$i32 &_string_src/mes.x86-mes-S_101
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x4c
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(77, 13, "system-error")
	push___$i32 &_string_src/mes.x86-mes-S_102
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x4d
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(78, 13, "throw")
	push___$i32 &_string_src/mes.x86-mes-S_103
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x4e
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(79, 13, "unbound-variable")
	push___$i32 &_string_src/mes.x86-mes-S_104
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x4f
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(80, 13, "wrong-number-of-args")
	push___$i32 &_string_src/mes.x86-mes-S_105
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x50
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(81, 13, "wrong-type-arg")
	push___$i32 &_string_src/mes.x86-mes-S_106
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x51
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(82, 13, "buckets")
	push___$i32 &_string_src/mes.x86-mes-S_107
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x52
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(83, 13, "<builtin>")
	push___$i32 &_string_src/mes.x86-mes-S_108
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x53
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(84, 13, "<frame>")
	push___$i32 &_string_src/mes.x86-mes-S_109
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x54
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(85, 13, "<hashq-table>")
	push___$i32 &_string_src/mes.x86-mes-S_110
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x55
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(86, 13, "<module>")
	push___$i32 &_string_src/mes.x86-mes-S_111
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x56
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(87, 13, "procedure")
	push___$i32 &_string_src/mes.x86-mes-S_112
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x57
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(88, 13, "<record-type>")
	push___$i32 &_string_src/mes.x86-mes-S_113
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x58
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(89, 13, "size")
	push___$i32 &_string_src/mes.x86-mes-S_114
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x59
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(90, 13, "<stack>")
	push___$i32 &_string_src/mes.x86-mes-S_115
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x5a
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(91, 13, "%argv")
	push___$i32 &_string_src/mes.x86-mes-S_116
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x5b
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(92, 13, "%prefix")
	push___$i32 &_string_src/mes.x86-mes-S_117
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x5c
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(93, 13, "%version")
	push___$i32 &_string_src/mes.x86-mes-S_118
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x5d
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(94, 13, "internal-time-units-per-second")
	push___$i32 &_string_src/mes.x86-mes-S_119
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x5e
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(95, 13, "%compiler")
	push___$i32 &_string_src/mes.x86-mes-S_120
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x5f
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(96, 13, "%arch")
	push___$i32 &_string_src/mes.x86-mes-S_121
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x60
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(97, 13, "pmatch-car")
	push___$i32 &_string_src/mes.x86-mes-S_122
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x61
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(98, 13, "pmatch-cdr")
	push___$i32 &_string_src/mes.x86-mes-S_123
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x62
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(99, 13, "<cell:bytes>")
	push___$i32 &_string_src/mes.x86-mes-S_124
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x63
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(100, 13, "<cell:char>")
	push___$i32 &_string_src/mes.x86-mes-S_125
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x64
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(101, 13, "<cell:closure>")
	push___$i32 &_string_src/mes.x86-mes-S_126
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x65
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(102, 13, "<cell:continuation>")
	push___$i32 &_string_src/mes.x86-mes-S_127
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x66
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(103, 13, "<cell:function>")
	push___$i32 &_string_src/mes.x86-mes-S_128
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x67
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(104, 13, "<cell:keyword>")
	push___$i32 &_string_src/mes.x86-mes-S_129
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x68
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(105, 13, "<cell:macro>")
	push___$i32 &_string_src/mes.x86-mes-S_130
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x69
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(106, 13, "<cell:number>")
	push___$i32 &_string_src/mes.x86-mes-S_131
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x6a
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(107, 13, "<cell:pair>")
	push___$i32 &_string_src/mes.x86-mes-S_132
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x6b
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(108, 13, "<cell:port>")
	push___$i32 &_string_src/mes.x86-mes-S_133
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x6c
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(109, 13, "<cell:ref>")
	push___$i32 &_string_src/mes.x86-mes-S_134
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x6d
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(110, 13, "<cell:special>")
	push___$i32 &_string_src/mes.x86-mes-S_135
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x6e
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(111, 13, "<cell:string>")
	push___$i32 &_string_src/mes.x86-mes-S_136
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x6f
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(112, 13, "<cell:struct>")
	push___$i32 &_string_src/mes.x86-mes-S_137
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x70
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(113, 13, "<cell:symbol>")
	push___$i32 &_string_src/mes.x86-mes-S_138
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x71
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(114, 13, "<cell:values>")
	push___$i32 &_string_src/mes.x86-mes-S_139
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x72
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(115, 13, "<cell:variable>")
	push___$i32 &_string_src/mes.x86-mes-S_140
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x73
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(116, 13, "<cell:vector>")
	push___$i32 &_string_src/mes.x86-mes-S_141
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x74
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(117, 13, "<cell:broken-heart>")
	push___$i32 &_string_src/mes.x86-mes-S_142
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x75
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# init_symbol(118, 13, "%%test")
	push___$i32 &_string_src/mes.x86-mes-S_143
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____$i32,%ebx %0x76
	push___%ebx
	call32 %init_symbol
	add____$i8,%esp !0xc
	test___%eax,%eax
					# SCM a = 1;\n
	mov____$i32,%eax %0x1
	mov____%eax,0x8(%ebp) !0x-4
					# a = acons(65, 65, a)
					# acons(65, 65, a)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____$i32,%ebx %0x41
	push___%ebx
	mov____$i32,%ebx %0x41
	push___%ebx
	call32 %acons
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# a = acons(67, 67, a)
					# acons(67, 67, a)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____$i32,%ebx %0x43
	push___%ebx
	mov____$i32,%ebx %0x43
	push___%ebx
	call32 %acons
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# a = acons(68, 68, a)
					# acons(68, 68, a)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____$i32,%ebx %0x44
	push___%ebx
	mov____$i32,%ebx %0x44
	push___%ebx
	call32 %acons
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# a = acons(66, 11, a)
					# acons(66, 11, a)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____$i32,%ebx %0xb
	push___%ebx
	mov____$i32,%ebx %0x42
	push___%ebx
	call32 %acons
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# a = acons(93, make_string("0.19", strlen("0.19")), a)
					# acons(93, make_string("0.19", strlen("0.19")), a)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
					# make_string("0.19", strlen("0.19"))
	push___%eax
					# strlen("0.19")
	push___%eax
	mov____%ebx,%eax
	push___%eax
	push___%eax
	mov____%ebx,%eax
	push___$i32 &_string_src/mes.x86-mes-S_144
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %strlen
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	push___$i32 &_string_src/mes.x86-mes-S_144
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %make_string
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x5d
	push___%ebx
	call32 %acons
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# a = acons(92, make_string(\n    "/gnu/store/4h6acq92jx0vcy76b0k1gxhb8fa7y98s-mes-minimal-stripped-0.20", \n    strlen(\n    "/gnu/store/4h6acq92jx0vcy76b0k1gxhb8fa7y98s-mes-minimal-stripped-0.20")), \n    a)
					# acons(92, make_string(\n    "/gnu/store/4h6acq92jx0vcy76b0k1gxhb8fa7y98s-mes-minimal-stripped-0.20", \n    strlen(\n    "/gnu/store/4h6acq92jx0vcy76b0k1gxhb8fa7y98s-mes-minimal-stripped-0.20")), \n    a)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
					# make_string(\n    "/gnu/store/4h6acq92jx0vcy76b0k1gxhb8fa7y98s-mes-minimal-stripped-0.20", \n    strlen(\n    "/gnu/store/4h6acq92jx0vcy76b0k1gxhb8fa7y98s-mes-minimal-stripped-0.20"))
	push___%eax
					# strlen("/gnu/store/4h6acq92jx0vcy76b0k1gxhb8fa7y98s-mes-minimal-stripped-0.20")
	push___%eax
	mov____%ebx,%eax
	push___%eax
	push___%eax
	mov____%ebx,%eax
	push___$i32 &_string_src/mes.x86-mes-S_145
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %strlen
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	push___$i32 &_string_src/mes.x86-mes-S_145
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %make_string
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x5c
	push___%ebx
	call32 %acons
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# a = acons(99, make_cell__(6, 0, (long)0), a)
					# acons(99, make_cell__(6, 0, (long)0), a)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
					# make_cell__(6, 0, (long)0)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x6
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %make_cell__
	add____$i8,%esp !0xc
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x63
	push___%ebx
	call32 %acons
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# a = acons(100, make_cell__(6, 0, (long)1), a)
					# acons(100, make_cell__(6, 0, (long)1), a)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
					# make_cell__(6, 0, (long)1)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x1
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x6
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %make_cell__
	add____$i8,%esp !0xc
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x64
	push___%ebx
	call32 %acons
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# a = acons(101, make_cell__(6, 0, (long)2), a)
					# acons(101, make_cell__(6, 0, (long)2), a)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
					# make_cell__(6, 0, (long)2)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x2
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x6
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %make_cell__
	add____$i8,%esp !0xc
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x65
	push___%ebx
	call32 %acons
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# a = acons(102, make_cell__(6, 0, (long)3), a)
					# acons(102, make_cell__(6, 0, (long)3), a)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
					# make_cell__(6, 0, (long)3)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x3
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x6
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %make_cell__
	add____$i8,%esp !0xc
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x66
	push___%ebx
	call32 %acons
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# a = acons(104, make_cell__(6, 0, (long)4), a)
					# acons(104, make_cell__(6, 0, (long)4), a)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
					# make_cell__(6, 0, (long)4)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x4
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x6
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %make_cell__
	add____$i8,%esp !0xc
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x68
	push___%ebx
	call32 %acons
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# a = acons(105, make_cell__(6, 0, (long)5), a)
					# acons(105, make_cell__(6, 0, (long)5), a)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
					# make_cell__(6, 0, (long)5)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x5
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x6
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %make_cell__
	add____$i8,%esp !0xc
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x69
	push___%ebx
	call32 %acons
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# a = acons(106, make_cell__(6, 0, (long)6), a)
					# acons(106, make_cell__(6, 0, (long)6), a)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
					# make_cell__(6, 0, (long)6)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x6
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x6
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %make_cell__
	add____$i8,%esp !0xc
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x6a
	push___%ebx
	call32 %acons
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# a = acons(107, make_cell__(6, 0, (long)7), a)
					# acons(107, make_cell__(6, 0, (long)7), a)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
					# make_cell__(6, 0, (long)7)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x7
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x6
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %make_cell__
	add____$i8,%esp !0xc
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x6b
	push___%ebx
	call32 %acons
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# a = acons(108, make_cell__(6, 0, (long)8), a)
					# acons(108, make_cell__(6, 0, (long)8), a)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
					# make_cell__(6, 0, (long)8)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x8
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x6
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %make_cell__
	add____$i8,%esp !0xc
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x6c
	push___%ebx
	call32 %acons
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# a = acons(109, make_cell__(6, 0, (long)9), a)
					# acons(109, make_cell__(6, 0, (long)9), a)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
					# make_cell__(6, 0, (long)9)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x9
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x6
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %make_cell__
	add____$i8,%esp !0xc
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x6d
	push___%ebx
	call32 %acons
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# a = acons(110, make_cell__(6, 0, (long)10), a)
					# acons(110, make_cell__(6, 0, (long)10), a)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
					# make_cell__(6, 0, (long)10)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0xa
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x6
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %make_cell__
	add____$i8,%esp !0xc
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x6e
	push___%ebx
	call32 %acons
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# a = acons(111, make_cell__(6, 0, (long)11), a)
					# acons(111, make_cell__(6, 0, (long)11), a)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
					# make_cell__(6, 0, (long)11)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0xb
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x6
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %make_cell__
	add____$i8,%esp !0xc
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x6f
	push___%ebx
	call32 %acons
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# a = acons(112, make_cell__(6, 0, (long)12), a)
					# acons(112, make_cell__(6, 0, (long)12), a)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
					# make_cell__(6, 0, (long)12)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0xc
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x6
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %make_cell__
	add____$i8,%esp !0xc
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x70
	push___%ebx
	call32 %acons
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# a = acons(113, make_cell__(6, 0, (long)13), a)
					# acons(113, make_cell__(6, 0, (long)13), a)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
					# make_cell__(6, 0, (long)13)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0xd
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x6
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %make_cell__
	add____$i8,%esp !0xc
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x71
	push___%ebx
	call32 %acons
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# a = acons(114, make_cell__(6, 0, (long)14), a)
					# acons(114, make_cell__(6, 0, (long)14), a)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
					# make_cell__(6, 0, (long)14)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0xe
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x6
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %make_cell__
	add____$i8,%esp !0xc
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x72
	push___%ebx
	call32 %acons
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# a = acons(115, make_cell__(6, 0, (long)15), a)
					# acons(115, make_cell__(6, 0, (long)15), a)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
					# make_cell__(6, 0, (long)15)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0xf
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x6
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %make_cell__
	add____$i8,%esp !0xc
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x73
	push___%ebx
	call32 %acons
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# a = acons(116, make_cell__(6, 0, (long)16), a)
					# acons(116, make_cell__(6, 0, (long)16), a)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
					# make_cell__(6, 0, (long)16)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x10
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x6
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %make_cell__
	add____$i8,%esp !0xc
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x74
	push___%ebx
	call32 %acons
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# a = acons(117, make_cell__(6, 0, (long)17), a)
					# acons(117, make_cell__(6, 0, (long)17), a)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
					# make_cell__(6, 0, (long)17)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x11
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x6
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %make_cell__
	add____$i8,%esp !0xc
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x75
	push___%ebx
	call32 %acons
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# a = acons(8, a, a)
					# acons(8, a, a)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____$i32,%ebx %0x8
	push___%ebx
	call32 %acons
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x-4
	leave
	ret


:mes_environment
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# SCM a = mes_symbols();\n
					# mes_symbols()
	call32 %mes_symbols
	add____$i8,%esp !0x0
	mov____%eax,0x8(%ebp) !0x-4
					# char *compiler = "gnuc";\n
	mov____$i32,%eax &_string_src/mes.x86-mes-S_146
	mov____%eax,0x8(%ebp) !0x-8
					# compiler = "mesc"
	mov____$i32,%eax &_string_src/mes.x86-mes-S_147
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
					# a = acons(95, make_string(compiler, strlen(compiler)), a)
					# acons(95, make_string(compiler, strlen(compiler)), a)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
					# make_string(compiler, strlen(compiler))
	push___%eax
					# strlen(compiler)
	push___%eax
	mov____%ebx,%eax
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %strlen
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %make_string
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x5f
	push___%ebx
	call32 %acons
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# char *arch = "x86";\n
	mov____$i32,%eax &_string_src/mes.x86-mes-S_148
	mov____%eax,0x8(%ebp) !0x-c
					# a = acons(96, make_string(arch, strlen(arch)), a)
					# acons(96, make_string(arch, strlen(arch)), a)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
					# make_string(arch, strlen(arch))
	push___%eax
					# strlen(arch)
	push___%eax
	mov____%ebx,%eax
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-c
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %strlen
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-c
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %make_string
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x60
	push___%ebx
	call32 %acons
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# SCM lst = 1;\n
	mov____$i32,%eax %0x1
	mov____%eax,0x8(%ebp) !0x-10
					# for (int i = argc - 1; i >= 0; i--) ...
					# int i = argc - 1;\n
	mov____0x8(%ebp),%eax !0x8
	add____$i8,%eax !0x-1
	mov____%eax,0x8(%ebp) !0x-14
	jmp32  %_mes_environment_86_initial_skip
:_mes_environment_86_loop
					# lst = cons(make_string(argv[i], strlen(argv[i])), lst)
					# cons(make_string(argv[i], strlen(argv[i])), lst)
	mov____0x8(%ebp),%ebx !0x-10
	push___%ebx
					# make_string(argv[i], strlen(argv[i]))
	push___%eax
					# strlen(argv[i])
	push___%eax
	mov____%ebx,%eax
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-14
	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
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %strlen
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-14
	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
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %make_string
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-10
	test___%eax,%eax
:_mes_environment_86_continue
	mov____0x8(%ebp),%eax !0x-14
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-14
	add____$i8,(%ebx) !0x-1
:_mes_environment_86_initial_skip
	mov____0x8(%ebp),%eax !0x-14
	mov____$i32,%ebx %0x0
	sub____%ebx,%eax
	setge__%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_mes_environment_86_break
	jmp32  %_mes_environment_86_loop
:_mes_environment_86_break
					# a = acons(91, lst, a)
					# acons(91, lst, a)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-10
	push___%ebx
	mov____$i32,%ebx %0x5b
	push___%ebx
	call32 %acons
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# mes_g_stack(a)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %mes_g_stack
	add____$i8,%esp !0x4
	leave
	ret


:init_builtin
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# SCM s = cstring_to_symbol(name);\n
					# cstring_to_symbol(name)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	call32 %cstring_to_symbol
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-4
					# acons(s, make_builtin(builtin_type, symbol_to_string(s), make_cell__(6, 0, (\n    long)arity), make_cell__(6, 0, (long)function)), a)
	mov____0x8(%ebp),%ebx !0x18
	push___%ebx
					# make_builtin(builtin_type, symbol_to_string(s), make_cell__(6, 0, (long)arity)\n    , make_cell__(6, 0, (long)function))
	push___%eax
					# make_cell__(6, 0, (long)function)
	push___%eax
	mov____%ebx,%eax
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x6
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %make_cell__
	add____$i8,%esp !0xc
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
					# make_cell__(6, 0, (long)arity)
	push___%eax
	mov____%ebx,%eax
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x10
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x6
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %make_cell__
	add____$i8,%esp !0xc
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
					# symbol_to_string(s)
	push___%eax
	mov____%ebx,%eax
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %symbol_to_string
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %make_builtin
	add____$i8,%esp !0x10
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %acons
	add____$i8,%esp !0xc
	leave
	ret


:make_builtin_type
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# SCM record_type = 88;\n
	mov____$i32,%eax %0x58
	mov____%eax,0x8(%ebp) !0x-4
					# SCM fields = 1;\n
	mov____$i32,%eax %0x1
	mov____%eax,0x8(%ebp) !0x-8
					# fields = cons(cstring_to_symbol("address"), fields)
					# cons(cstring_to_symbol("address"), fields)
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
					# cstring_to_symbol("address")
	push___%eax
	push___%eax
	mov____%ebx,%eax
	push___$i32 &_string_src/mes.x86-mes-S_149
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cstring_to_symbol
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
					# fields = cons(cstring_to_symbol("arity"), fields)
					# cons(cstring_to_symbol("arity"), fields)
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
					# cstring_to_symbol("arity")
	push___%eax
	push___%eax
	mov____%ebx,%eax
	push___$i32 &_string_src/mes.x86-mes-S_150
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cstring_to_symbol
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
					# fields = cons(cstring_to_symbol("name"), fields)
					# cons(cstring_to_symbol("name"), fields)
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
					# cstring_to_symbol("name")
	push___%eax
	push___%eax
	mov____%ebx,%eax
	push___$i32 &_string_src/mes.x86-mes-S_151
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cstring_to_symbol
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
					# fields = cons(fields, 1)
					# cons(fields, 1)
	mov____$i32,%ebx %0x1
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
					# fields = cons(83, fields)
					# cons(83, fields)
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	mov____$i32,%ebx %0x53
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
					# make_struct(record_type, fields, 7)
	mov____$i32,%ebx %0x7
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %make_struct
	add____$i8,%esp !0xc
	leave
	ret


:make_builtin
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# SCM values = 1;\n
	mov____$i32,%eax %0x1
	mov____%eax,0x8(%ebp) !0x-4
					# values = cons(function, values)
					# cons(function, values)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# values = cons(arity, values)
					# cons(arity, values)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____0x8(%ebp),%ebx !0x10
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# values = cons(name, values)
					# cons(name, values)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# values = cons(83, values)
					# cons(83, values)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____$i32,%ebx %0x53
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# make_struct(builtin_type, values, cstring_to_symbol("builtin-printer"))
					# cstring_to_symbol("builtin-printer")
	push___%eax
	push___%eax
	mov____%ebx,%eax
	push___$i32 &_string_src/mes.x86-mes-S_152
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cstring_to_symbol
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %make_struct
	add____$i8,%esp !0xc
	leave
	ret


:builtin_name
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# struct_ref_(builtin, 3)
	mov____$i32,%ebx %0x3
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %struct_ref_
	add____$i8,%esp !0x8
	leave
	ret


:builtin_arity
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# struct_ref_(builtin, 4)
	mov____$i32,%ebx %0x4
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %struct_ref_
	add____$i8,%esp !0x8
	leave
	ret


:builtin_function
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# struct_ref_(builtin, 5)
	mov____$i32,%ebx %0x5
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %struct_ref_
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[struct_ref_(builtin, 5)].cdr
	mov____(%eax),%eax
	leave
	ret


:builtin_p
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# g_cells[x].type == 12 && struct_ref_(x, 2) == 83? ...: ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[x].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0xc
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_builtin_p_1_else
					# struct_ref_(x, 2)
	mov____$i32,%ebx %0x2
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %struct_ref_
	add____$i8,%esp !0x8
	mov____$i32,%ebx %0x53
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_builtin_p_1_else
	mov____$i32,%eax %0x3
	jmp32  %_builtin_p_1_break
:_builtin_p_1_else
	mov____$i32,%eax %0x2
:_builtin_p_1_break
	leave
	ret


:builtin_printer
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# fdputs("#<procedure ", __stdout)
	mov____0x32,%ebx &__stdout
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_153
	call32 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
					# display_(builtin_name(builtin))
					# builtin_name(builtin)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %builtin_name
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %display_
	add____$i8,%esp !0x4
	test___%eax,%eax
					# fdputc(' ', __stdout)
	mov____0x32,%ebx &__stdout
	push___%ebx
	mov____$i32,%ebx %0x20
	push___%ebx
	call32 %fdputc
	add____$i8,%esp !0x8
	test___%eax,%eax
					# int arity = g_cells[builtin_arity(builtin)].cdr;\n
					# builtin_arity(builtin)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %builtin_arity
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[builtin_arity(builtin)].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-4
					# if (arity == -1) ...else ...
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x-1
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_builtin_printer_41_else
					# fdputc('_', __stdout)
	mov____0x32,%ebx &__stdout
	push___%ebx
	mov____$i32,%ebx %0x5f
	push___%ebx
	call32 %fdputc
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_builtin_printer_41_break
:_builtin_printer_41_else
					# fdputc('(', __stdout)
	mov____0x32,%ebx &__stdout
	push___%ebx
	mov____$i32,%ebx %0x28
	push___%ebx
	call32 %fdputc
	add____$i8,%esp !0x8
	test___%eax,%eax
					# for (int i = 0; i < arity; i++) ...
					# int i = 0;\n
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x-8
	jmp32  %_builtin_printer_64_initial_skip
:_builtin_printer_64_loop
					# if (i) ...
	mov____0x8(%ebp),%eax !0x-8
					# jmp test LABEL
	test___%eax,%eax
	je32   %_builtin_printer_70_break
					# fdputc(' ', __stdout)
	mov____0x32,%ebx &__stdout
	push___%ebx
	mov____$i32,%ebx %0x20
	push___%ebx
	call32 %fdputc
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_builtin_printer_70_break
:_builtin_printer_70_break
					# fdputc('_', __stdout)
	mov____0x32,%ebx &__stdout
	push___%ebx
	mov____$i32,%ebx %0x5f
	push___%ebx
	call32 %fdputc
	add____$i8,%esp !0x8
	test___%eax,%eax
:_builtin_printer_64_continue
	mov____0x8(%ebp),%eax !0x-8
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-8
	add____$i8,(%ebx) !0x1
:_builtin_printer_64_initial_skip
	mov____0x8(%ebp),%eax !0x-8
	mov____0x8(%ebp),%ebx !0x-4
	sub____%ebx,%eax
	setl___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_builtin_printer_64_break
	jmp32  %_builtin_printer_64_loop
:_builtin_printer_64_break
:_builtin_printer_41_break
					# fdputc('>', __stdout)
	mov____0x32,%ebx &__stdout
	push___%ebx
	mov____$i32,%ebx %0x3e
	push___%ebx
	call32 %fdputc
	add____$i8,%esp !0x8
	test___%eax,%eax
	leave
	ret


:apply_builtin
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# int arity = g_cells[builtin_arity(fn)].cdr;\n
					# builtin_arity(fn)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %builtin_arity
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[builtin_arity(fn)].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-4
					# if ((arity > 0 || arity == -1) && x != 1 && g_cells[g_cells[x].car].type == 14\n    ) ...
	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   %_apply_builtin_14_break_b_11
	jmp32  %_apply_builtin_14_break_skip_b_11
:_apply_builtin_14_break_b_11
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x-1
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_apply_builtin_14_break
:_apply_builtin_14_break_skip_b_11
	mov____0x8(%ebp),%eax !0xc
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_apply_builtin_14_break
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[x].car
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[g_cells[x].car].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0xe
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_apply_builtin_14_break
					# x = cons(g_cells[g_cells[g_cells[x].car].cdr].car, g_cells[x].cdr)
					# cons(g_cells[g_cells[g_cells[x].car].cdr].car, g_cells[x].cdr)
	mov____0x8(%ebp),%ebx !0xc
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[x].cdr
	mov____(%ebx),%ebx
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[x].car
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[g_cells[x].car].cdr
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[g_cells[g_cells[x].car].cdr].car
	mov____(%ebx),%ebx
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0xc
	test___%eax,%eax
	jmp32  %_apply_builtin_14_break
:_apply_builtin_14_break
					# if ((arity > 1 || arity == -1) && x != 1 && g_cells[g_cells[x].cdr].type == 7\n     && g_cells[g_cells[g_cells[x].cdr].car].type == 14) ...
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	setg___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_apply_builtin_114_break_b_98
	jmp32  %_apply_builtin_114_break_skip_b_98
:_apply_builtin_114_break_b_98
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x-1
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_apply_builtin_114_break
:_apply_builtin_114_break_skip_b_98
	mov____0x8(%ebp),%eax !0xc
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_apply_builtin_114_break
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[x].cdr
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[g_cells[x].cdr].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_apply_builtin_114_break
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[x].cdr
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[g_cells[x].cdr].car
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[g_cells[g_cells[x].cdr].car].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0xe
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_apply_builtin_114_break
					# x = cons(g_cells[x].car, cons(g_cells[g_cells[g_cells[g_cells[x].cdr].car].cdr]\n    .car, g_cells[x].cdr))
					# cons(g_cells[x].car, cons(g_cells[g_cells[g_cells[g_cells[x].cdr].car].cdr].car\n    , g_cells[x].cdr))
					# cons(g_cells[g_cells[g_cells[g_cells[x].cdr].car].cdr].car, g_cells[x].cdr)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0xc
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[x].cdr
	mov____(%ebx),%ebx
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0xc
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[x].cdr
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[g_cells[x].cdr].car
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[g_cells[g_cells[x].cdr].car].cdr
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[g_cells[g_cells[g_cells[x].cdr].car].cdr].car
	mov____(%ebx),%ebx
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[x].car
	mov____(%ebx),%ebx
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0xc
	test___%eax,%eax
	jmp32  %_apply_builtin_114_break
:_apply_builtin_114_break
					# if (arity == 0) ...else ...
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x0
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_apply_builtin_277_else
					# SCM (*fp)(void) = (function0_t)builtin_function(fn);\n
					# builtin_function(fn)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %builtin_function
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-8
					# fp()
	mov____0x8(%ebp),%eax !0x-8
	call___*%eax
	add____$i8,%esp !0x0
	leave
	ret
	jmp32  %_apply_builtin_277_break
:_apply_builtin_277_else
					# if (arity == 1) ...else ...
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_apply_builtin_296_else
					# SCM (*fp)(SCM) = (function1_t)builtin_function(fn);\n
					# builtin_function(fn)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %builtin_function
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-8
					# fp(g_cells[x].car)
	mov____0x8(%ebp),%ebx !0xc
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[x].car
	mov____(%ebx),%ebx
	push___%ebx
	mov____0x8(%ebp),%eax !0x-8
	call___*%eax
	add____$i8,%esp !0x4
	leave
	ret
	jmp32  %_apply_builtin_296_break
:_apply_builtin_296_else
					# if (arity == 2) ...else ...
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x2
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_apply_builtin_328_else
					# SCM (*fp)(SCM, SCM) = (function2_t)builtin_function(fn);\n
					# builtin_function(fn)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %builtin_function
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-8
					# fp(g_cells[x].car, g_cells[g_cells[x].cdr].car)
	mov____0x8(%ebp),%ebx !0xc
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[x].cdr
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[g_cells[x].cdr].car
	mov____(%ebx),%ebx
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[x].car
	mov____(%ebx),%ebx
	push___%ebx
	mov____0x8(%ebp),%eax !0x-8
	call___*%eax
	add____$i8,%esp !0x8
	leave
	ret
	jmp32  %_apply_builtin_328_break
:_apply_builtin_328_else
					# if (arity == 3) ...else ...
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x3
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_apply_builtin_384_else
					# SCM (*fp)(SCM, SCM, SCM) = (function3_t)builtin_function(fn);\n
					# builtin_function(fn)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %builtin_function
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-8
					# fp(g_cells[x].car, g_cells[g_cells[x].cdr].car, g_cells[g_cells[g_cells[x].cdr]\n    .cdr].car)
	mov____0x8(%ebp),%ebx !0xc
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[x].cdr
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[g_cells[x].cdr].cdr
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[g_cells[g_cells[x].cdr].cdr].car
	mov____(%ebx),%ebx
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[x].cdr
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[g_cells[x].cdr].car
	mov____(%ebx),%ebx
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[x].car
	mov____(%ebx),%ebx
	push___%ebx
	mov____0x8(%ebp),%eax !0x-8
	call___*%eax
	add____$i8,%esp !0xc
	leave
	ret
	jmp32  %_apply_builtin_384_break
:_apply_builtin_384_else
					# if (arity == -1) ...
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x-1
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_apply_builtin_475_break
					# SCM (*fp)(SCM) = (function1_t)builtin_function(fn);\n
					# builtin_function(fn)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %builtin_function
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-8
					# fp(x)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%eax !0x-8
	call___*%eax
	add____$i8,%esp !0x4
	leave
	ret
	jmp32  %_apply_builtin_475_break
:_apply_builtin_475_break
:_apply_builtin_384_break
:_apply_builtin_328_break
:_apply_builtin_296_break
:_apply_builtin_277_break
	mov____$i32,%eax %0x7
	leave
	ret


:mes_builtins
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# SCM builtin_type = make_builtin_type();\n
					# make_builtin_type()
	call32 %make_builtin_type
	add____$i8,%esp !0x0
	mov____%eax,0x8(%ebp) !0x-4
					# a = init_builtin(builtin_type, "gc-check", 0, (function1_t)&gc_check, a)
					# init_builtin(builtin_type, "gc-check", 0, (function1_t)&gc_check, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &gc_check
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_154
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "gc", 0, (function1_t)&gc, a)
					# init_builtin(builtin_type, "gc", 0, (function1_t)&gc, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &gc
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_155
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "hashq", 2, (function1_t)&hashq, a)
					# init_builtin(builtin_type, "hashq", 2, (function1_t)&hashq, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &hashq
	push___%ebx
	mov____$i32,%ebx %0x2
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_156
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "hash", 2, (function1_t)&hash, a)
					# init_builtin(builtin_type, "hash", 2, (function1_t)&hash, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &hash
	push___%ebx
	mov____$i32,%ebx %0x2
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_157
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "hashq-get-handle", 3, (function1_t)&\n    hashq_get_handle, a)
					# init_builtin(builtin_type, "hashq-get-handle", 3, (function1_t)&\n    hashq_get_handle, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &hashq_get_handle
	push___%ebx
	mov____$i32,%ebx %0x3
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_158
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "hashq-ref", 3, (function1_t)&hashq_ref, a)
					# init_builtin(builtin_type, "hashq-ref", 3, (function1_t)&hashq_ref, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &hashq_ref
	push___%ebx
	mov____$i32,%ebx %0x3
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_159
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "hash-ref", 3, (function1_t)&hash_ref, a)
					# init_builtin(builtin_type, "hash-ref", 3, (function1_t)&hash_ref, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &hash_ref
	push___%ebx
	mov____$i32,%ebx %0x3
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_160
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "hashq-set!", 3, (function1_t)&hashq_set_x, a)
					# init_builtin(builtin_type, "hashq-set!", 3, (function1_t)&hashq_set_x, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &hashq_set_x
	push___%ebx
	mov____$i32,%ebx %0x3
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_161
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "hash-set!", 3, (function1_t)&hash_set_x, a)
					# init_builtin(builtin_type, "hash-set!", 3, (function1_t)&hash_set_x, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &hash_set_x
	push___%ebx
	mov____$i32,%ebx %0x3
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_162
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "hash-table-printer", 1, (function1_t)&\n    hash_table_printer, a)
					# init_builtin(builtin_type, "hash-table-printer", 1, (function1_t)&\n    hash_table_printer, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &hash_table_printer
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_163
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "make-hash-table", 1, (function1_t)&\n    make_hash_table, a)
					# init_builtin(builtin_type, "make-hash-table", 1, (function1_t)&make_hash_table\n    , a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &make_hash_table
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_164
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "core:display", 1, (function1_t)&display_, a)
					# init_builtin(builtin_type, "core:display", 1, (function1_t)&display_, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &display_
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_165
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "core:display-error", 1, (function1_t)&\n    display_error_, a)
					# init_builtin(builtin_type, "core:display-error", 1, (function1_t)&\n    display_error_, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &display_error_
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_166
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "core:display-port", 2, (function1_t)&\n    display_port_, a)
					# init_builtin(builtin_type, "core:display-port", 2, (function1_t)&display_port_\n    , a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &display_port_
	push___%ebx
	mov____$i32,%ebx %0x2
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_167
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "core:write", 1, (function1_t)&write_, a)
					# init_builtin(builtin_type, "core:write", 1, (function1_t)&write_, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &write_
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_168
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "core:write-error", 1, (function1_t)&\n    write_error_, a)
					# init_builtin(builtin_type, "core:write-error", 1, (function1_t)&write_error_, a\n    )
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &write_error_
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_169
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "core:write-port", 2, (function1_t)&write_port_\n    , a)
					# init_builtin(builtin_type, "core:write-port", 2, (function1_t)&write_port_, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &write_port_
	push___%ebx
	mov____$i32,%ebx %0x2
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_170
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "exit", 1, (function1_t)&exit_, a)
					# init_builtin(builtin_type, "exit", 1, (function1_t)&exit_, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &exit_
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_171
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "frame-printer", 1, (function1_t)&frame_printer\n    , a)
					# init_builtin(builtin_type, "frame-printer", 1, (function1_t)&frame_printer, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &frame_printer
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_172
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "make-stack", -1, (function1_t)&make_stack, a)
					# init_builtin(builtin_type, "make-stack", -1, (function1_t)&make_stack, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &make_stack
	push___%ebx
	mov____$i32,%ebx %0x-1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_173
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "stack-length", 1, (function1_t)&stack_length, a\n    )
					# init_builtin(builtin_type, "stack-length", 1, (function1_t)&stack_length, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &stack_length
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_174
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "stack-ref", 2, (function1_t)&stack_ref, a)
					# init_builtin(builtin_type, "stack-ref", 2, (function1_t)&stack_ref, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &stack_ref
	push___%ebx
	mov____$i32,%ebx %0x2
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_175
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "xassq", 2, (function1_t)&xassq, a)
					# init_builtin(builtin_type, "xassq", 2, (function1_t)&xassq, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &xassq
	push___%ebx
	mov____$i32,%ebx %0x2
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_176
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "memq", 2, (function1_t)&memq, a)
					# init_builtin(builtin_type, "memq", 2, (function1_t)&memq, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &memq
	push___%ebx
	mov____$i32,%ebx %0x2
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_177
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "equal2?", 2, (function1_t)&equal2_p, a)
					# init_builtin(builtin_type, "equal2?", 2, (function1_t)&equal2_p, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &equal2_p
	push___%ebx
	mov____$i32,%ebx %0x2
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_178
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "last-pair", 1, (function1_t)&last_pair, a)
					# init_builtin(builtin_type, "last-pair", 1, (function1_t)&last_pair, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &last_pair
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_179
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "pair?", 1, (function1_t)&pair_p, a)
					# init_builtin(builtin_type, "pair?", 1, (function1_t)&pair_p, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &pair_p
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_180
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, ">", -1, (function1_t)&greater_p, a)
					# init_builtin(builtin_type, ">", -1, (function1_t)&greater_p, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &greater_p
	push___%ebx
	mov____$i32,%ebx %0x-1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_181
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "<", -1, (function1_t)&less_p, a)
					# init_builtin(builtin_type, "<", -1, (function1_t)&less_p, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &less_p
	push___%ebx
	mov____$i32,%ebx %0x-1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_182
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "=", -1, (function1_t)&is_p, a)
					# init_builtin(builtin_type, "=", -1, (function1_t)&is_p, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &is_p
	push___%ebx
	mov____$i32,%ebx %0x-1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_183
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "-", -1, (function1_t)&minus, a)
					# init_builtin(builtin_type, "-", -1, (function1_t)&minus, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &minus
	push___%ebx
	mov____$i32,%ebx %0x-1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_184
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "+", -1, (function1_t)&plus, a)
					# init_builtin(builtin_type, "+", -1, (function1_t)&plus, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &plus
	push___%ebx
	mov____$i32,%ebx %0x-1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_185
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "/", -1, (function1_t)&divide, a)
					# init_builtin(builtin_type, "/", -1, (function1_t)&divide, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &divide
	push___%ebx
	mov____$i32,%ebx %0x-1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_186
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "modulo", 2, (function1_t)&modulo, a)
					# init_builtin(builtin_type, "modulo", 2, (function1_t)&modulo, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &modulo
	push___%ebx
	mov____$i32,%ebx %0x2
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_187
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "*", -1, (function1_t)&multiply, a)
					# init_builtin(builtin_type, "*", -1, (function1_t)&multiply, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &multiply
	push___%ebx
	mov____$i32,%ebx %0x-1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_188
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "logand", -1, (function1_t)&logand, a)
					# init_builtin(builtin_type, "logand", -1, (function1_t)&logand, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &logand
	push___%ebx
	mov____$i32,%ebx %0x-1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_189
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "logior", -1, (function1_t)&logior, a)
					# init_builtin(builtin_type, "logior", -1, (function1_t)&logior, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &logior
	push___%ebx
	mov____$i32,%ebx %0x-1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_190
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "lognot", 1, (function1_t)&lognot, a)
					# init_builtin(builtin_type, "lognot", 1, (function1_t)&lognot, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &lognot
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_191
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "logxor", -1, (function1_t)&logxor, a)
					# init_builtin(builtin_type, "logxor", -1, (function1_t)&logxor, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &logxor
	push___%ebx
	mov____$i32,%ebx %0x-1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_192
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "ash", 2, (function1_t)&ash, a)
					# init_builtin(builtin_type, "ash", 2, (function1_t)&ash, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &ash
	push___%ebx
	mov____$i32,%ebx %0x2
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_193
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "core:make-cell", 3, (function1_t)&make_cell_, a\n    )
					# init_builtin(builtin_type, "core:make-cell", 3, (function1_t)&make_cell_, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &make_cell_
	push___%ebx
	mov____$i32,%ebx %0x3
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_194
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "core:type", 1, (function1_t)&type_, a)
					# init_builtin(builtin_type, "core:type", 1, (function1_t)&type_, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &type_
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_195
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "core:car", 1, (function1_t)&car_, a)
					# init_builtin(builtin_type, "core:car", 1, (function1_t)&car_, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &car_
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_196
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "core:cdr", 1, (function1_t)&cdr_, a)
					# init_builtin(builtin_type, "core:cdr", 1, (function1_t)&cdr_, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &cdr_
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_197
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "cons", 2, (function1_t)&cons, a)
					# init_builtin(builtin_type, "cons", 2, (function1_t)&cons, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &cons
	push___%ebx
	mov____$i32,%ebx %0x2
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_198
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "car", 1, (function1_t)&car, a)
					# init_builtin(builtin_type, "car", 1, (function1_t)&car, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &car
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_98
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "cdr", 1, (function1_t)&cdr, a)
					# init_builtin(builtin_type, "cdr", 1, (function1_t)&cdr, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &cdr
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_99
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "list", -1, (function1_t)&list, a)
					# init_builtin(builtin_type, "list", -1, (function1_t)&list, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &list
	push___%ebx
	mov____$i32,%ebx %0x-1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_199
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "null?", 1, (function1_t)&null_p, a)
					# init_builtin(builtin_type, "null?", 1, (function1_t)&null_p, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &null_p
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_200
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "eq?", 2, (function1_t)&eq_p, a)
					# init_builtin(builtin_type, "eq?", 2, (function1_t)&eq_p, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &eq_p
	push___%ebx
	mov____$i32,%ebx %0x2
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_201
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "values", -1, (function1_t)&values, a)
					# init_builtin(builtin_type, "values", -1, (function1_t)&values, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &values
	push___%ebx
	mov____$i32,%ebx %0x-1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_202
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "acons", 3, (function1_t)&acons, a)
					# init_builtin(builtin_type, "acons", 3, (function1_t)&acons, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &acons
	push___%ebx
	mov____$i32,%ebx %0x3
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_203
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "length", 1, (function1_t)&length, a)
					# init_builtin(builtin_type, "length", 1, (function1_t)&length, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &length
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_204
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "error", 2, (function1_t)&error, a)
					# init_builtin(builtin_type, "error", 2, (function1_t)&error, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &error
	push___%ebx
	mov____$i32,%ebx %0x2
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_205
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "append2", 2, (function1_t)&append2, a)
					# init_builtin(builtin_type, "append2", 2, (function1_t)&append2, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &append2
	push___%ebx
	mov____$i32,%ebx %0x2
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_22
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "append-reverse", 2, (function1_t)&\n    append_reverse, a)
					# init_builtin(builtin_type, "append-reverse", 2, (function1_t)&append_reverse, a\n    )
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &append_reverse
	push___%ebx
	mov____$i32,%ebx %0x2
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_23
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "core:reverse!", 2, (function1_t)&reverse_x_, a)
					# init_builtin(builtin_type, "core:reverse!", 2, (function1_t)&reverse_x_, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &reverse_x_
	push___%ebx
	mov____$i32,%ebx %0x2
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_24
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "pairlis", 3, (function1_t)&pairlis, a)
					# init_builtin(builtin_type, "pairlis", 3, (function1_t)&pairlis, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &pairlis
	push___%ebx
	mov____$i32,%ebx %0x3
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_206
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "assq", 2, (function1_t)&assq, a)
					# init_builtin(builtin_type, "assq", 2, (function1_t)&assq, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &assq
	push___%ebx
	mov____$i32,%ebx %0x2
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_207
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "assoc", 2, (function1_t)&assoc, a)
					# init_builtin(builtin_type, "assoc", 2, (function1_t)&assoc, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &assoc
	push___%ebx
	mov____$i32,%ebx %0x2
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_208
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "set-car!", 2, (function1_t)&set_car_x, a)
					# init_builtin(builtin_type, "set-car!", 2, (function1_t)&set_car_x, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &set_car_x
	push___%ebx
	mov____$i32,%ebx %0x2
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_25
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "set-cdr!", 2, (function1_t)&set_cdr_x, a)
					# init_builtin(builtin_type, "set-cdr!", 2, (function1_t)&set_cdr_x, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &set_cdr_x
	push___%ebx
	mov____$i32,%ebx %0x2
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_26
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "set-env!", 3, (function1_t)&set_env_x, a)
					# init_builtin(builtin_type, "set-env!", 3, (function1_t)&set_env_x, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &set_env_x
	push___%ebx
	mov____$i32,%ebx %0x3
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_209
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "macro-get-handle", 1, (function1_t)&\n    macro_get_handle, a)
					# init_builtin(builtin_type, "macro-get-handle", 1, (function1_t)&\n    macro_get_handle, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &macro_get_handle
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_210
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "add-formals", 2, (function1_t)&add_formals, a)
					# init_builtin(builtin_type, "add-formals", 2, (function1_t)&add_formals, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &add_formals
	push___%ebx
	mov____$i32,%ebx %0x2
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_211
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "eval-apply", 0, (function1_t)&eval_apply, a)
					# init_builtin(builtin_type, "eval-apply", 0, (function1_t)&eval_apply, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &eval_apply
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_212
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "make-builtin-type", 0, (function1_t)&\n    make_builtin_type, a)
					# init_builtin(builtin_type, "make-builtin-type", 0, (function1_t)&\n    make_builtin_type, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &make_builtin_type
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_213
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "make-builtin", 4, (function1_t)&make_builtin, a\n    )
					# init_builtin(builtin_type, "make-builtin", 4, (function1_t)&make_builtin, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &make_builtin
	push___%ebx
	mov____$i32,%ebx %0x4
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_214
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "builtin-name", 1, (function1_t)&builtin_name, a\n    )
					# init_builtin(builtin_type, "builtin-name", 1, (function1_t)&builtin_name, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &builtin_name
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_215
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "builtin-arity", 1, (function1_t)&builtin_arity\n    , a)
					# init_builtin(builtin_type, "builtin-arity", 1, (function1_t)&builtin_arity, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &builtin_arity
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_216
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "builtin?", 1, (function1_t)&builtin_p, a)
					# init_builtin(builtin_type, "builtin?", 1, (function1_t)&builtin_p, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &builtin_p
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_217
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "builtin-printer", 1, (function1_t)&\n    builtin_printer, a)
					# init_builtin(builtin_type, "builtin-printer", 1, (function1_t)&builtin_printer\n    , a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &builtin_printer
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_152
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "make-module-type", 0, (function1_t)&\n    make_module_type, a)
					# init_builtin(builtin_type, "make-module-type", 0, (function1_t)&\n    make_module_type, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &make_module_type
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_218
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "module-printer", 1, (function1_t)&\n    module_printer, a)
					# init_builtin(builtin_type, "module-printer", 1, (function1_t)&module_printer, a\n    )
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &module_printer
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_219
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "module-variable", 2, (function1_t)&\n    module_variable, a)
					# init_builtin(builtin_type, "module-variable", 2, (function1_t)&module_variable\n    , a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &module_variable
	push___%ebx
	mov____$i32,%ebx %0x2
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_220
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "module-ref", 2, (function1_t)&module_ref, a)
					# init_builtin(builtin_type, "module-ref", 2, (function1_t)&module_ref, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &module_ref
	push___%ebx
	mov____$i32,%ebx %0x2
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_221
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "module-define!", 3, (function1_t)&\n    module_define_x, a)
					# init_builtin(builtin_type, "module-define!", 3, (function1_t)&module_define_x, \n    a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &module_define_x
	push___%ebx
	mov____$i32,%ebx %0x3
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_222
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "peek-byte", 0, (function1_t)&peek_byte, a)
					# init_builtin(builtin_type, "peek-byte", 0, (function1_t)&peek_byte, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &peek_byte
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_223
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "read-byte", 0, (function1_t)&read_byte, a)
					# init_builtin(builtin_type, "read-byte", 0, (function1_t)&read_byte, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &read_byte
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_224
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "unread-byte", 1, (function1_t)&unread_byte, a)
					# init_builtin(builtin_type, "unread-byte", 1, (function1_t)&unread_byte, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &unread_byte
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_225
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "peek-char", 0, (function1_t)&peek_char, a)
					# init_builtin(builtin_type, "peek-char", 0, (function1_t)&peek_char, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &peek_char
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_226
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "read-char", -1, (function1_t)&read_char, a)
					# init_builtin(builtin_type, "read-char", -1, (function1_t)&read_char, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &read_char
	push___%ebx
	mov____$i32,%ebx %0x-1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_227
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "unread-char", 1, (function1_t)&unread_char, a)
					# init_builtin(builtin_type, "unread-char", 1, (function1_t)&unread_char, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &unread_char
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_228
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "write-char", -1, (function1_t)&write_char, a)
					# init_builtin(builtin_type, "write-char", -1, (function1_t)&write_char, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &write_char
	push___%ebx
	mov____$i32,%ebx %0x-1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_229
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "write-byte", -1, (function1_t)&write_byte, a)
					# init_builtin(builtin_type, "write-byte", -1, (function1_t)&write_byte, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &write_byte
	push___%ebx
	mov____$i32,%ebx %0x-1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_230
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "getenv", 1, (function1_t)&getenv_, a)
					# init_builtin(builtin_type, "getenv", 1, (function1_t)&getenv_, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &getenv_
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_231
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "setenv", 2, (function1_t)&setenv_, a)
					# init_builtin(builtin_type, "setenv", 2, (function1_t)&setenv_, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &setenv_
	push___%ebx
	mov____$i32,%ebx %0x2
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_232
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "access?", 2, (function1_t)&access_p, a)
					# init_builtin(builtin_type, "access?", 2, (function1_t)&access_p, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &access_p
	push___%ebx
	mov____$i32,%ebx %0x2
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_233
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "current-input-port", 0, (function1_t)&\n    current_input_port, a)
					# init_builtin(builtin_type, "current-input-port", 0, (function1_t)&\n    current_input_port, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &current_input_port
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_234
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "open-input-file", 1, (function1_t)&\n    open_input_file, a)
					# init_builtin(builtin_type, "open-input-file", 1, (function1_t)&open_input_file\n    , a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &open_input_file
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_235
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "open-input-string", 1, (function1_t)&\n    open_input_string, a)
					# init_builtin(builtin_type, "open-input-string", 1, (function1_t)&\n    open_input_string, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &open_input_string
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_236
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "set-current-input-port", 1, (function1_t)&\n    set_current_input_port, a)
					# init_builtin(builtin_type, "set-current-input-port", 1, (function1_t)&\n    set_current_input_port, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &set_current_input_port
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_237
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "current-output-port", 0, (function1_t)&\n    current_output_port, a)
					# init_builtin(builtin_type, "current-output-port", 0, (function1_t)&\n    current_output_port, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &current_output_port
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_238
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "current-error-port", 0, (function1_t)&\n    current_error_port, a)
					# init_builtin(builtin_type, "current-error-port", 0, (function1_t)&\n    current_error_port, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &current_error_port
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_239
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "open-output-file", -1, (function1_t)&\n    open_output_file, a)
					# init_builtin(builtin_type, "open-output-file", -1, (function1_t)&\n    open_output_file, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &open_output_file
	push___%ebx
	mov____$i32,%ebx %0x-1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_240
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "set-current-output-port", 1, (function1_t)&\n    set_current_output_port, a)
					# init_builtin(builtin_type, "set-current-output-port", 1, (function1_t)&\n    set_current_output_port, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &set_current_output_port
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_241
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "set-current-error-port", 1, (function1_t)&\n    set_current_error_port, a)
					# init_builtin(builtin_type, "set-current-error-port", 1, (function1_t)&\n    set_current_error_port, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &set_current_error_port
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_242
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "force-output", -1, (function1_t)&force_output, \n    a)
					# init_builtin(builtin_type, "force-output", -1, (function1_t)&force_output, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &force_output
	push___%ebx
	mov____$i32,%ebx %0x-1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_243
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "chmod", 2, (function1_t)&chmod_, a)
					# init_builtin(builtin_type, "chmod", 2, (function1_t)&chmod_, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &chmod_
	push___%ebx
	mov____$i32,%ebx %0x2
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_244
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "isatty?", 1, (function1_t)&isatty_p, a)
					# init_builtin(builtin_type, "isatty?", 1, (function1_t)&isatty_p, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &isatty_p
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_245
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "primitive-fork", 0, (function1_t)&\n    primitive_fork, a)
					# init_builtin(builtin_type, "primitive-fork", 0, (function1_t)&primitive_fork, a\n    )
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &primitive_fork
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_246
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "execl", 2, (function1_t)&execl_, a)
					# init_builtin(builtin_type, "execl", 2, (function1_t)&execl_, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &execl_
	push___%ebx
	mov____$i32,%ebx %0x2
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_247
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "core:waitpid", 2, (function1_t)&waitpid_, a)
					# init_builtin(builtin_type, "core:waitpid", 2, (function1_t)&waitpid_, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &waitpid_
	push___%ebx
	mov____$i32,%ebx %0x2
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_248
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "current-time", 0, (function1_t)&current_time, a\n    )
					# init_builtin(builtin_type, "current-time", 0, (function1_t)&current_time, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &current_time
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_249
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "gettimeofday", 0, (function1_t)&gettimeofday_, \n    a)
					# init_builtin(builtin_type, "gettimeofday", 0, (function1_t)&gettimeofday_, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &gettimeofday_
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_250
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "get-internal-run-time", 0, (function1_t)&\n    get_internal_run_time, a)
					# init_builtin(builtin_type, "get-internal-run-time", 0, (function1_t)&\n    get_internal_run_time, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &get_internal_run_time
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_251
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "getcwd", 0, (function1_t)&getcwd_, a)
					# init_builtin(builtin_type, "getcwd", 0, (function1_t)&getcwd_, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &getcwd_
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_252
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "dup", 1, (function1_t)&dup_, a)
					# init_builtin(builtin_type, "dup", 1, (function1_t)&dup_, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &dup_
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_253
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "dup2", 2, (function1_t)&dup2_, a)
					# init_builtin(builtin_type, "dup2", 2, (function1_t)&dup2_, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &dup2_
	push___%ebx
	mov____$i32,%ebx %0x2
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_254
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "delete-file", 1, (function1_t)&delete_file, a)
					# init_builtin(builtin_type, "delete-file", 1, (function1_t)&delete_file, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &delete_file
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_255
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "core:read-input-file-env", 2, (function1_t)&\n    read_input_file_env_, a)
					# init_builtin(builtin_type, "core:read-input-file-env", 2, (function1_t)&\n    read_input_file_env_, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &read_input_file_env_
	push___%ebx
	mov____$i32,%ebx %0x2
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_256
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "read-input-file-env", 1, (function1_t)&\n    read_input_file_env, a)
					# init_builtin(builtin_type, "read-input-file-env", 1, (function1_t)&\n    read_input_file_env, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &read_input_file_env
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_257
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "read-env", 1, (function1_t)&read_env, a)
					# init_builtin(builtin_type, "read-env", 1, (function1_t)&read_env, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &read_env
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_258
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "reader-read-sexp", 3, (function1_t)&\n    reader_read_sexp, a)
					# init_builtin(builtin_type, "reader-read-sexp", 3, (function1_t)&\n    reader_read_sexp, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &reader_read_sexp
	push___%ebx
	mov____$i32,%ebx %0x3
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_259
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "reader-read-character", 0, (function1_t)&\n    reader_read_character, a)
					# init_builtin(builtin_type, "reader-read-character", 0, (function1_t)&\n    reader_read_character, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &reader_read_character
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_260
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "reader-read-binary", 0, (function1_t)&\n    reader_read_binary, a)
					# init_builtin(builtin_type, "reader-read-binary", 0, (function1_t)&\n    reader_read_binary, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &reader_read_binary
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_261
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "reader-read-octal", 0, (function1_t)&\n    reader_read_octal, a)
					# init_builtin(builtin_type, "reader-read-octal", 0, (function1_t)&\n    reader_read_octal, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &reader_read_octal
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_262
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "reader-read-hex", 0, (function1_t)&\n    reader_read_hex, a)
					# init_builtin(builtin_type, "reader-read-hex", 0, (function1_t)&reader_read_hex\n    , a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &reader_read_hex
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_263
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "reader-read-string", 0, (function1_t)&\n    reader_read_string, a)
					# init_builtin(builtin_type, "reader-read-string", 0, (function1_t)&\n    reader_read_string, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &reader_read_string
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_264
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "string=?", 2, (function1_t)&string_equal_p, a)
					# init_builtin(builtin_type, "string=?", 2, (function1_t)&string_equal_p, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &string_equal_p
	push___%ebx
	mov____$i32,%ebx %0x2
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_265
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "symbol->string", 1, (function1_t)&\n    symbol_to_string, a)
					# init_builtin(builtin_type, "symbol->string", 1, (function1_t)&symbol_to_string\n    , a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &symbol_to_string
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_266
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "symbol->keyword", 1, (function1_t)&\n    symbol_to_keyword, a)
					# init_builtin(builtin_type, "symbol->keyword", 1, (function1_t)&\n    symbol_to_keyword, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &symbol_to_keyword
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_267
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "keyword->string", 1, (function1_t)&\n    keyword_to_string, a)
					# init_builtin(builtin_type, "keyword->string", 1, (function1_t)&\n    keyword_to_string, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &keyword_to_string
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_268
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "string->symbol", 1, (function1_t)&\n    string_to_symbol, a)
					# init_builtin(builtin_type, "string->symbol", 1, (function1_t)&string_to_symbol\n    , a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &string_to_symbol
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_269
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "make-symbol", 1, (function1_t)&make_symbol, a)
					# init_builtin(builtin_type, "make-symbol", 1, (function1_t)&make_symbol, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &make_symbol
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_270
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "string->list", 1, (function1_t)&string_to_list\n    , a)
					# init_builtin(builtin_type, "string->list", 1, (function1_t)&string_to_list, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &string_to_list
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_271
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "list->string", 1, (function1_t)&list_to_string\n    , a)
					# init_builtin(builtin_type, "list->string", 1, (function1_t)&list_to_string, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &list_to_string
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_272
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "read-string", -1, (function1_t)&read_string, a)
					# init_builtin(builtin_type, "read-string", -1, (function1_t)&read_string, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &read_string
	push___%ebx
	mov____$i32,%ebx %0x-1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_273
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "string-append", -1, (function1_t)&string_append\n    , a)
					# init_builtin(builtin_type, "string-append", -1, (function1_t)&string_append, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &string_append
	push___%ebx
	mov____$i32,%ebx %0x-1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_274
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "string-length", 1, (function1_t)&string_length\n    , a)
					# init_builtin(builtin_type, "string-length", 1, (function1_t)&string_length, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &string_length
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_275
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "string-ref", 2, (function1_t)&string_ref, a)
					# init_builtin(builtin_type, "string-ref", 2, (function1_t)&string_ref, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &string_ref
	push___%ebx
	mov____$i32,%ebx %0x2
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_276
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "make-struct", 3, (function1_t)&make_struct, a)
					# init_builtin(builtin_type, "make-struct", 3, (function1_t)&make_struct, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &make_struct
	push___%ebx
	mov____$i32,%ebx %0x3
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_277
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "struct-length", 1, (function1_t)&struct_length\n    , a)
					# init_builtin(builtin_type, "struct-length", 1, (function1_t)&struct_length, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &struct_length
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_278
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "struct-ref", 2, (function1_t)&struct_ref, a)
					# init_builtin(builtin_type, "struct-ref", 2, (function1_t)&struct_ref, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &struct_ref
	push___%ebx
	mov____$i32,%ebx %0x2
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_279
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "struct-set!", 3, (function1_t)&struct_set_x, a)
					# init_builtin(builtin_type, "struct-set!", 3, (function1_t)&struct_set_x, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &struct_set_x
	push___%ebx
	mov____$i32,%ebx %0x3
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_280
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "core:make-vector", 1, (function1_t)&\n    make_vector_, a)
					# init_builtin(builtin_type, "core:make-vector", 1, (function1_t)&make_vector_, a\n    )
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &make_vector_
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_281
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "vector-length", 1, (function1_t)&vector_length\n    , a)
					# init_builtin(builtin_type, "vector-length", 1, (function1_t)&vector_length, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &vector_length
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_282
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "vector-ref", 2, (function1_t)&vector_ref, a)
					# init_builtin(builtin_type, "vector-ref", 2, (function1_t)&vector_ref, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &vector_ref
	push___%ebx
	mov____$i32,%ebx %0x2
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_283
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "vector-entry", 1, (function1_t)&vector_entry, a\n    )
					# init_builtin(builtin_type, "vector-entry", 1, (function1_t)&vector_entry, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &vector_entry
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_284
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "vector-set!", 3, (function1_t)&vector_set_x, a)
					# init_builtin(builtin_type, "vector-set!", 3, (function1_t)&vector_set_x, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &vector_set_x
	push___%ebx
	mov____$i32,%ebx %0x3
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_285
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "list->vector", 1, (function1_t)&list_to_vector\n    , a)
					# init_builtin(builtin_type, "list->vector", 1, (function1_t)&list_to_vector, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &list_to_vector
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_286
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# a = init_builtin(builtin_type, "vector->list", 1, (function1_t)&vector_to_list\n    , a)
					# init_builtin(builtin_type, "vector->list", 1, (function1_t)&vector_to_list, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx &vector_to_list
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_287
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %init_builtin
	add____$i8,%esp !0x14
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x8
	leave
	ret


:open_boot
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# strcpy(prefix + strlen(prefix), boot)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
					# strlen(prefix)
	push___%eax
	mov____%ebx,%eax
	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
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %strcpy
	add____$i8,%esp !0x8
	test___%eax,%eax
					# if (g_debug > 1) ...
	mov____0x32,%eax &g_debug
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	setg___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_open_boot_21_break
					# eputs("mes: reading boot-0 [")
	push___$i32 &_string_src/mes.x86-mes-S_288
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(location)
	mov____0x8(%ebp),%ebx !0x10
	push___%ebx
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs("]: ")
	push___$i32 &_string_src/mes.x86-mes-S_289
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(prefix)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs("\n")
	push___$i32 &_string_src/mes.x86-mes-S_4
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
	jmp32  %_open_boot_21_break
:_open_boot_21_break
					# int fd = open(prefix, 0);\n
					# open(prefix, 0)
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %open
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-4
					# if (g_debug && fd > 0) ...
	mov____0x32,%eax &g_debug
					# jmp test LABEL
	test___%eax,%eax
	je32   %_open_boot_61_break
	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   %_open_boot_61_break
					# eputs("mes: read boot-0: ")
	push___$i32 &_string_src/mes.x86-mes-S_290
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(prefix)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs("\n")
	push___$i32 &_string_src/mes.x86-mes-S_4
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
	jmp32  %_open_boot_61_break
:_open_boot_61_break
	mov____0x8(%ebp),%eax !0x-4
	leave
	ret


:read_boot
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# __stdin = -1
	mov____$i32,%eax %0x-1
	mov____%eax,0x32 &__stdin
	test___%eax,%eax
					# char prefix[1024];\n
					# char boot[1024];\n
					# if (getenv("MES_BOOT")) ...else ...
					# getenv("MES_BOOT")
	push___$i32 &_string_src/mes.x86-mes-S_291
	call32 %getenv
	add____$i8,%esp !0x4
					# jmp test LABEL
	test___%eax,%eax
	je32   %_read_boot_7_else
					# strcpy(boot, getenv("MES_BOOT"))
					# getenv("MES_BOOT")
	push___%eax
	push___%eax
	mov____%ebx,%eax
	push___$i32 &_string_src/mes.x86-mes-S_291
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %getenv
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%ebp,%ebx
	add____$i32,%ebx %0x-800
	push___%ebx
	call32 %strcpy
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_read_boot_7_break
:_read_boot_7_else
					# strcpy(boot, "boot-0.scm")
	push___$i32 &_string_src/mes.x86-mes-S_292
	mov____%ebp,%ebx
	add____$i32,%ebx %0x-800
	push___%ebx
	call32 %strcpy
	add____$i8,%esp !0x8
	test___%eax,%eax
:_read_boot_7_break
					# if (getenv("MES_PREFIX")) ...
					# getenv("MES_PREFIX")
	push___$i32 &_string_src/mes.x86-mes-S_293
	call32 %getenv
	add____$i8,%esp !0x4
					# jmp test LABEL
	test___%eax,%eax
	je32   %_read_boot_38_break
					# strcpy(prefix, getenv("MES_PREFIX"))
					# getenv("MES_PREFIX")
	push___%eax
	push___%eax
	mov____%ebx,%eax
	push___$i32 &_string_src/mes.x86-mes-S_293
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %getenv
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%ebp,%ebx
	add____$i32,%ebx %0x-400
	push___%ebx
	call32 %strcpy
	add____$i8,%esp !0x8
	test___%eax,%eax
					# strcpy(prefix + strlen(prefix), "/module")
	push___$i32 &_string_src/mes.x86-mes-S_294
	mov____%ebp,%ebx
	add____$i32,%ebx %0x-400
					# strlen(prefix)
	push___%eax
	mov____%ebx,%eax
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____%ebp,%ebx
	add____$i32,%ebx %0x-400
	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
	push___%ebx
	call32 %strcpy
	add____$i8,%esp !0x8
	test___%eax,%eax
					# strcpy(prefix + strlen(prefix), "/mes/")
	push___$i32 &_string_src/mes.x86-mes-S_295
	mov____%ebp,%ebx
	add____$i32,%ebx %0x-400
					# strlen(prefix)
	push___%eax
	mov____%ebx,%eax
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____%ebp,%ebx
	add____$i32,%ebx %0x-400
	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
	push___%ebx
	call32 %strcpy
	add____$i8,%esp !0x8
	test___%eax,%eax
					# __stdin = open_boot(prefix, boot, "MES_PREFIX")
					# open_boot(prefix, boot, "MES_PREFIX")
	push___$i32 &_string_src/mes.x86-mes-S_293
	mov____%ebp,%ebx
	add____$i32,%ebx %0x-800
	push___%ebx
	mov____%ebp,%ebx
	add____$i32,%ebx %0x-400
	push___%ebx
	call32 %open_boot
	add____$i8,%esp !0xc
	mov____%eax,0x32 &__stdin
	test___%eax,%eax
	jmp32  %_read_boot_38_break
:_read_boot_38_break
					# if (__stdin < 0) ...
	mov____0x32,%eax &__stdin
	mov____$i32,%ebx %0x0
	sub____%ebx,%eax
	setl___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_read_boot_110_break
					# char *p = \n    "/gnu/store/4h6acq92jx0vcy76b0k1gxhb8fa7y98s-mes-minimal-stripped-0.20/share/mes/module"\n     "/mes/";\n
	mov____$i32,%eax &_string_src/mes.x86-mes-S_296
	mov____%eax,0x32(%ebp) %0x-804
					# strcpy(prefix, p)
	mov____0x32(%ebp),%ebx %0x-804
	push___%ebx
	mov____%ebp,%ebx
	add____$i32,%ebx %0x-400
	push___%ebx
	call32 %strcpy
	add____$i8,%esp !0x8
	test___%eax,%eax
					# __stdin = open_boot(prefix, boot, "MODULEDIR")
					# open_boot(prefix, boot, "MODULEDIR")
	push___$i32 &_string_src/mes.x86-mes-S_297
	mov____%ebp,%ebx
	add____$i32,%ebx %0x-800
	push___%ebx
	mov____%ebp,%ebx
	add____$i32,%ebx %0x-400
	push___%ebx
	call32 %open_boot
	add____$i8,%esp !0xc
	mov____%eax,0x32 &__stdin
	test___%eax,%eax
	jmp32  %_read_boot_110_break
:_read_boot_110_break
					# if (__stdin < 0) ...
	mov____0x32,%eax &__stdin
	mov____$i32,%ebx %0x0
	sub____%ebx,%eax
	setl___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_read_boot_140_break
					# strcpy(prefix, "mes/module/mes/")
	push___$i32 &_string_src/mes.x86-mes-S_298
	mov____%ebp,%ebx
	add____$i32,%ebx %0x-400
	push___%ebx
	call32 %strcpy
	add____$i8,%esp !0x8
	test___%eax,%eax
					# __stdin = open_boot(prefix, boot, ".")
					# open_boot(prefix, boot, ".")
	push___$i32 &_string_src/mes.x86-mes-S_31
	mov____%ebp,%ebx
	add____$i32,%ebx %0x-800
	push___%ebx
	mov____%ebp,%ebx
	add____$i32,%ebx %0x-400
	push___%ebx
	call32 %open_boot
	add____$i8,%esp !0xc
	mov____%eax,0x32 &__stdin
	test___%eax,%eax
	jmp32  %_read_boot_140_break
:_read_boot_140_break
					# if (__stdin < 0) ...
	mov____0x32,%eax &__stdin
	mov____$i32,%ebx %0x0
	sub____%ebx,%eax
	setl___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_read_boot_166_break
					# prefix[0] = 0
	mov____$i32,%eax %0x0
	mov____$i32,%ebx %0x0
	push___%eax
	mov____%ebx,%eax
	mov____%ebp,%ebx
	add____$i32,%ebx %0x-400
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____%al,(%ebx)
	test___%eax,%eax
					# __stdin = open_boot(prefix, boot, "<boot>")
					# open_boot(prefix, boot, "<boot>")
	push___$i32 &_string_src/mes.x86-mes-S_299
	mov____%ebp,%ebx
	add____$i32,%ebx %0x-800
	push___%ebx
	mov____%ebp,%ebx
	add____$i32,%ebx %0x-400
	push___%ebx
	call32 %open_boot
	add____$i8,%esp !0xc
	mov____%eax,0x32 &__stdin
	test___%eax,%eax
	jmp32  %_read_boot_166_break
:_read_boot_166_break
					# if (__stdin < 0) ...
	mov____0x32,%eax &__stdin
	mov____$i32,%ebx %0x0
	sub____%ebx,%eax
	setl___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_read_boot_195_break
					# eputs("mes: boot failed: no such file: ")
	push___$i32 &_string_src/mes.x86-mes-S_300
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(boot)
	mov____%ebp,%ebx
	add____$i32,%ebx %0x-800
	push___%ebx
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs("\n")
	push___$i32 &_string_src/mes.x86-mes-S_4
	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  %_read_boot_195_break
:_read_boot_195_break
					# r2 = read_input_file_env(r0)
					# read_input_file_env(r0)
	mov____0x32,%ebx &r0
	push___%ebx
	call32 %read_input_file_env
	add____$i8,%esp !0x4
	mov____%eax,0x32 &r2
	test___%eax,%eax
					# __stdin = 0
	mov____$i32,%eax %0x0
	mov____%eax,0x32 &__stdin
	test___%eax,%eax
	mov____0x32,%eax &r2
	leave
	ret


:hash_cstring
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# int hash = s[0]*37;\n
	mov____$i32,%eax %0x0
	mov____0x8(%ebp),%ebx !0x8
	add____%ebx,%eax
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	mov____$i32,%ebx %0x25
	mul____%ebx
	mov____%eax,0x8(%ebp) !0x-4
					# if (s[0] && s[1]) ...
	mov____$i32,%eax %0x0
	mov____0x8(%ebp),%ebx !0x8
	add____%ebx,%eax
	movzbl_(%eax),%eax
	movsbl_%al,%eax
					# jmp test LABEL
	test___%eax,%eax
	test___%al,%al
	je32   %_hash_cstring_10_break
	mov____$i32,%eax %0x1
	mov____0x8(%ebp),%ebx !0x8
	add____%ebx,%eax
	movzbl_(%eax),%eax
	movsbl_%al,%eax
					# jmp test LABEL
	test___%eax,%eax
	test___%al,%al
	je32   %_hash_cstring_10_break
					# hash = hash + s[1]*43
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x1
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	movzbl_(%ebx),%ebx
	movsbl_%bl,%ebx
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x2b
	mul____%ebx
	mov____%eax,%ebx
	pop____%eax
	add____%ebx,%eax
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
	jmp32  %_hash_cstring_10_break
:_hash_cstring_10_break
					# size? ...: ...
	mov____0x8(%ebp),%eax !0xc
					# jmp test LABEL
	test___%eax,%eax
	je32   %_hash_cstring_45_else
	mov____$i32,%eax %0x0
	movzbl_%al,%eax
	jmp32  %_hash_cstring_45_break
:_hash_cstring_45_else
					# assert_fail("size")
	push___$i32 &_string_src/mes.x86-mes-S_114
	call32 %assert_fail
	add____$i8,%esp !0x4
:_hash_cstring_45_break
					# hash = hash%size
	mov____0x8(%ebp),%eax !0x-4
	mov____0x8(%ebp),%ebx !0xc
	xor____%edx,%edx
	div___%ebx
	mov____%edx,%eax
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x-4
	leave
	ret


:hashq_
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# if (g_cells[x].type == 10 || g_cells[x].type == 13) ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[x].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0xa
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_hashq__1_break_b_1
	jmp32  %_hashq__1_break_skip_b_1
:_hashq__1_break_b_1
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[x].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0xd
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_hashq__1_break
:_hashq__1_break_skip_b_1
					# hash_cstring((char*)&g_cells[g_cells[x].cdr].cdr, size)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[x].cdr
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
	push___%ebx
	call32 %hash_cstring
	add____$i8,%esp !0x8
	leave
	ret
	jmp32  %_hashq__1_break
:_hashq__1_break
					# error(77, cons(make_string("hashq_: not a symbol", strlen(\n    "hashq_: not a symbol")), x))
					# cons(make_string("hashq_: not a symbol", strlen("hashq_: not a symbol")), x)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
					# make_string("hashq_: not a symbol", strlen("hashq_: not a symbol"))
	push___%eax
	mov____%ebx,%eax
	push___%eax
					# strlen("hashq_: not a symbol")
	push___%eax
	mov____%ebx,%eax
	push___%eax
	push___%eax
	mov____%ebx,%eax
	push___$i32 &_string_src/mes.x86-mes-S_301
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %strlen
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	push___$i32 &_string_src/mes.x86-mes-S_301
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %make_string
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x4d
	push___%ebx
	call32 %error
	add____$i8,%esp !0x8
	test___%eax,%eax
	leave
	ret


:hash_
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# if (g_cells[x].type == 11) ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[x].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0xb
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_hash__1_break
					# hash_cstring((char*)&g_cells[g_cells[x].cdr].cdr, size)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[x].cdr
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
	push___%ebx
	call32 %hash_cstring
	add____$i8,%esp !0x8
	leave
	ret
	jmp32  %_hash__1_break
:_hash__1_break
					# 0? ...: ...
	mov____$i32,%eax %0x0
					# jmp test LABEL
	test___%eax,%eax
	je32   %_hash__44_else
	mov____$i32,%eax %0x0
	movzbl_%al,%eax
	jmp32  %_hash__44_break
:_hash__44_else
					# assert_fail("0")
	push___$i32 &_string_src/mes.x86-mes-S_5
	call32 %assert_fail
	add____$i8,%esp !0x4
:_hash__44_break
					# hashq_(x, size)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %hashq_
	add____$i8,%esp !0x8
	leave
	ret


:hashq
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# 0? ...: ...
	mov____$i32,%eax %0x0
					# jmp test LABEL
	test___%eax,%eax
	je32   %_hashq_1_else
	mov____$i32,%eax %0x0
	movzbl_%al,%eax
	jmp32  %_hashq_1_break
:_hashq_1_else
					# assert_fail("0")
	push___$i32 &_string_src/mes.x86-mes-S_5
	call32 %assert_fail
	add____$i8,%esp !0x4
:_hashq_1_break
					# make_cell__(6, 0, (long)hashq_(x, g_cells[size].cdr))
					# hashq_(x, g_cells[size].cdr)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0xc
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[size].cdr
	mov____(%ebx),%ebx
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %hashq_
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____$i32,%ebx %0x6
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	leave
	ret


:hash
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# 0? ...: ...
	mov____$i32,%eax %0x0
					# jmp test LABEL
	test___%eax,%eax
	je32   %_hash_1_else
	mov____$i32,%eax %0x0
	movzbl_%al,%eax
	jmp32  %_hash_1_break
:_hash_1_else
					# assert_fail("0")
	push___$i32 &_string_src/mes.x86-mes-S_5
	call32 %assert_fail
	add____$i8,%esp !0x4
:_hash_1_break
					# make_cell__(6, 0, (long)hash_(x, g_cells[size].cdr))
					# hash_(x, g_cells[size].cdr)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0xc
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[size].cdr
	mov____(%ebx),%ebx
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %hash_
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____$i32,%ebx %0x6
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	leave
	ret


:hashq_get_handle
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# long size = g_cells[struct_ref_(table, 3)].cdr;\n
					# struct_ref_(table, 3)
	mov____$i32,%ebx %0x3
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %struct_ref_
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[struct_ref_(table, 3)].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-4
					# unsigned hash = hashq_(key, size);\n
					# hashq_(key, size)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	call32 %hashq_
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-8
					# SCM buckets = struct_ref_(table, 4);\n
					# struct_ref_(table, 4)
	mov____$i32,%ebx %0x4
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %struct_ref_
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-c
					# SCM bucket = vector_ref_(buckets, hash);\n
					# vector_ref_(buckets, hash)
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-c
	push___%ebx
	call32 %vector_ref_
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-10
					# SCM x = 2;\n
	mov____$i32,%eax %0x2
	mov____%eax,0x8(%ebp) !0x-14
					# if (g_cells[dflt].type == 7) ...
	mov____0x8(%ebp),%eax !0x10
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[dflt].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_hashq_get_handle_43_break
					# x = g_cells[dflt].car
	mov____0x8(%ebp),%eax !0x10
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[dflt].car
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-14
	test___%eax,%eax
	jmp32  %_hashq_get_handle_43_break
:_hashq_get_handle_43_break
					# if (g_cells[bucket].type == 7) ...
	mov____0x8(%ebp),%eax !0x-10
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[bucket].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_hashq_get_handle_70_break
					# x = assq(key, bucket)
					# assq(key, bucket)
	mov____0x8(%ebp),%ebx !0x-10
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	call32 %assq
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-14
	test___%eax,%eax
	jmp32  %_hashq_get_handle_70_break
:_hashq_get_handle_70_break
	mov____0x8(%ebp),%eax !0x-14
	leave
	ret


:hashq_ref
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# long size = g_cells[struct_ref_(table, 3)].cdr;\n
					# struct_ref_(table, 3)
	mov____$i32,%ebx %0x3
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %struct_ref_
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[struct_ref_(table, 3)].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-4
					# unsigned hash = hashq_(key, size);\n
					# hashq_(key, size)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	call32 %hashq_
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-8
					# SCM buckets = struct_ref_(table, 4);\n
					# struct_ref_(table, 4)
	mov____$i32,%ebx %0x4
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %struct_ref_
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-c
					# SCM bucket = vector_ref_(buckets, hash);\n
					# vector_ref_(buckets, hash)
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-c
	push___%ebx
	call32 %vector_ref_
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-10
					# SCM x = 2;\n
	mov____$i32,%eax %0x2
	mov____%eax,0x8(%ebp) !0x-14
					# if (g_cells[dflt].type == 7) ...
	mov____0x8(%ebp),%eax !0x10
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[dflt].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_hashq_ref_43_break
					# x = g_cells[dflt].car
	mov____0x8(%ebp),%eax !0x10
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[dflt].car
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-14
	test___%eax,%eax
	jmp32  %_hashq_ref_43_break
:_hashq_ref_43_break
					# if (g_cells[bucket].type == 7) ...
	mov____0x8(%ebp),%eax !0x-10
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[bucket].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_hashq_ref_70_break
					# x = assq(key, bucket)
					# assq(key, bucket)
	mov____0x8(%ebp),%ebx !0x-10
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	call32 %assq
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-14
	test___%eax,%eax
	jmp32  %_hashq_ref_70_break
:_hashq_ref_70_break
					# if (x != 2) ...
	mov____0x8(%ebp),%eax !0x-14
	mov____$i32,%ebx %0x2
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_hashq_ref_95_break
					# x = g_cells[x].cdr
	mov____0x8(%ebp),%eax !0x-14
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[x].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-14
	test___%eax,%eax
	jmp32  %_hashq_ref_95_break
:_hashq_ref_95_break
	mov____0x8(%ebp),%eax !0x-14
	leave
	ret


:hash_ref
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# long size = g_cells[struct_ref_(table, 3)].cdr;\n
					# struct_ref_(table, 3)
	mov____$i32,%ebx %0x3
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %struct_ref_
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[struct_ref_(table, 3)].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-4
					# unsigned hash = hash_(key, size);\n
					# hash_(key, size)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	call32 %hash_
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-8
					# SCM buckets = struct_ref_(table, 4);\n
					# struct_ref_(table, 4)
	mov____$i32,%ebx %0x4
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %struct_ref_
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-c
					# SCM bucket = vector_ref_(buckets, hash);\n
					# vector_ref_(buckets, hash)
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-c
	push___%ebx
	call32 %vector_ref_
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-10
					# SCM x = 2;\n
	mov____$i32,%eax %0x2
	mov____%eax,0x8(%ebp) !0x-14
					# if (g_cells[dflt].type == 7) ...
	mov____0x8(%ebp),%eax !0x10
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[dflt].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_hash_ref_43_break
					# x = g_cells[dflt].car
	mov____0x8(%ebp),%eax !0x10
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[dflt].car
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-14
	test___%eax,%eax
	jmp32  %_hash_ref_43_break
:_hash_ref_43_break
					# if (g_cells[bucket].type == 7) ...
	mov____0x8(%ebp),%eax !0x-10
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[bucket].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_hash_ref_70_break
					# x = assoc(key, bucket)
					# assoc(key, bucket)
	mov____0x8(%ebp),%ebx !0x-10
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	call32 %assoc
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-14
	test___%eax,%eax
					# if (x != 2) ...
	mov____0x8(%ebp),%eax !0x-14
	mov____$i32,%ebx %0x2
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_hash_ref_93_break
					# x = g_cells[x].cdr
	mov____0x8(%ebp),%eax !0x-14
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[x].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-14
	test___%eax,%eax
	jmp32  %_hash_ref_93_break
:_hash_ref_93_break
	jmp32  %_hash_ref_70_break
:_hash_ref_70_break
	mov____0x8(%ebp),%eax !0x-14
	leave
	ret


:hashq_set_x
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# long size = g_cells[struct_ref_(table, 3)].cdr;\n
					# struct_ref_(table, 3)
	mov____$i32,%ebx %0x3
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %struct_ref_
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[struct_ref_(table, 3)].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-4
					# unsigned hash = hashq_(key, size);\n
					# hashq_(key, size)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	call32 %hashq_
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-8
					# SCM buckets = struct_ref_(table, 4);\n
					# struct_ref_(table, 4)
	mov____$i32,%ebx %0x4
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %struct_ref_
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-c
					# SCM bucket = vector_ref_(buckets, hash);\n
					# vector_ref_(buckets, hash)
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-c
	push___%ebx
	call32 %vector_ref_
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-10
					# if (g_cells[bucket].type != 7) ...
	mov____0x8(%ebp),%eax !0x-10
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[bucket].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_hashq_set_x_40_break
					# bucket = 1
	mov____$i32,%eax %0x1
	mov____%eax,0x8(%ebp) !0x-10
	test___%eax,%eax
	jmp32  %_hashq_set_x_40_break
:_hashq_set_x_40_break
					# bucket = acons(key, value, bucket)
					# acons(key, value, bucket)
	mov____0x8(%ebp),%ebx !0x-10
	push___%ebx
	mov____0x8(%ebp),%ebx !0x10
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	call32 %acons
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-10
	test___%eax,%eax
					# vector_set_x_(buckets, hash, bucket)
	mov____0x8(%ebp),%ebx !0x-10
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-c
	push___%ebx
	call32 %vector_set_x_
	add____$i8,%esp !0xc
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x10
	leave
	ret


:hash_set_x
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# long size = g_cells[struct_ref_(table, 3)].cdr;\n
					# struct_ref_(table, 3)
	mov____$i32,%ebx %0x3
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %struct_ref_
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[struct_ref_(table, 3)].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-4
					# unsigned hash = hash_(key, size);\n
					# hash_(key, size)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	call32 %hash_
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-8
					# SCM buckets = struct_ref_(table, 4);\n
					# struct_ref_(table, 4)
	mov____$i32,%ebx %0x4
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %struct_ref_
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-c
					# SCM bucket = vector_ref_(buckets, hash);\n
					# vector_ref_(buckets, hash)
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-c
	push___%ebx
	call32 %vector_ref_
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-10
					# if (g_cells[bucket].type != 7) ...
	mov____0x8(%ebp),%eax !0x-10
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[bucket].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_hash_set_x_40_break
					# bucket = 1
	mov____$i32,%eax %0x1
	mov____%eax,0x8(%ebp) !0x-10
	test___%eax,%eax
	jmp32  %_hash_set_x_40_break
:_hash_set_x_40_break
					# bucket = acons(key, value, bucket)
					# acons(key, value, bucket)
	mov____0x8(%ebp),%ebx !0x-10
	push___%ebx
	mov____0x8(%ebp),%ebx !0x10
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	call32 %acons
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-10
	test___%eax,%eax
					# vector_set_x_(buckets, hash, bucket)
	mov____0x8(%ebp),%ebx !0x-10
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-c
	push___%ebx
	call32 %vector_set_x_
	add____$i8,%esp !0xc
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x10
	leave
	ret


:hash_table_printer
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# fdputs("#<", __stdout)
	mov____0x32,%ebx &__stdout
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_302
	call32 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
					# display_(struct_ref_(table, 2))
					# struct_ref_(table, 2)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x2
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %struct_ref_
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %display_
	add____$i8,%esp !0x4
	test___%eax,%eax
					# fdputc(' ', __stdout)
	mov____0x32,%ebx &__stdout
	push___%ebx
	mov____$i32,%ebx %0x20
	push___%ebx
	call32 %fdputc
	add____$i8,%esp !0x8
	test___%eax,%eax
					# fdputs("size: ", __stdout)
	mov____0x32,%ebx &__stdout
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_303
	call32 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
					# display_(struct_ref_(table, 3))
					# struct_ref_(table, 3)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x3
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %struct_ref_
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %display_
	add____$i8,%esp !0x4
	test___%eax,%eax
					# fdputc(' ', __stdout)
	mov____0x32,%ebx &__stdout
	push___%ebx
	mov____$i32,%ebx %0x20
	push___%ebx
	call32 %fdputc
	add____$i8,%esp !0x8
	test___%eax,%eax
					# SCM buckets = struct_ref_(table, 4);\n
					# struct_ref_(table, 4)
	mov____$i32,%ebx %0x4
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %struct_ref_
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-4
					# fdputs("buckets: ", __stdout)
	mov____0x32,%ebx &__stdout
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_304
	call32 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
					# for (int i = 0; i < g_cells[buckets].car; i++) ...
					# int i = 0;\n
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x-8
	jmp32  %_hash_table_printer_79_initial_skip
:_hash_table_printer_79_loop
					# SCM e = vector_ref_(buckets, i);\n
					# vector_ref_(buckets, i)
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %vector_ref_
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-c
					# if (e != 7) ...
	mov____0x8(%ebp),%eax !0x-c
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_hash_table_printer_93_break
					# fdputc('[', __stdout)
	mov____0x32,%ebx &__stdout
	push___%ebx
	mov____$i32,%ebx %0x5b
	push___%ebx
	call32 %fdputc
	add____$i8,%esp !0x8
	test___%eax,%eax
					# while (g_cells[e].type == 7) ...
	jmp32  %_hash_table_printer_109_continue
:_hash_table_printer_109_loop
					# write_(g_cells[g_cells[e].car].car)
	mov____0x8(%ebp),%ebx !0x-c
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[e].car
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[g_cells[e].car].car
	mov____(%ebx),%ebx
	push___%ebx
	call32 %write_
	add____$i8,%esp !0x4
	test___%eax,%eax
					# e = g_cells[e].cdr
	mov____0x8(%ebp),%eax !0x-c
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[e].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-c
	test___%eax,%eax
					# if (g_cells[e].type == 7) ...
	mov____0x8(%ebp),%eax !0x-c
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[e].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_hash_table_printer_150_break
					# fdputc(' ', __stdout)
	mov____0x32,%ebx &__stdout
	push___%ebx
	mov____$i32,%ebx %0x20
	push___%ebx
	call32 %fdputc
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_hash_table_printer_150_break
:_hash_table_printer_150_break
:_hash_table_printer_109_continue
	mov____0x8(%ebp),%eax !0x-c
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[e].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_hash_table_printer_109_break
	jmp32  %_hash_table_printer_109_loop
:_hash_table_printer_109_break
					# fdputs("]\n  ", __stdout)
	mov____0x32,%ebx &__stdout
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_305
	call32 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_hash_table_printer_93_break
:_hash_table_printer_93_break
:_hash_table_printer_79_continue
	mov____0x8(%ebp),%eax !0x-8
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-8
	add____$i8,(%ebx) !0x1
:_hash_table_printer_79_initial_skip
	mov____0x8(%ebp),%eax !0x-8
	mov____0x8(%ebp),%ebx !0x-4
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[buckets].car
	mov____(%ebx),%ebx
	sub____%ebx,%eax
	setl___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_hash_table_printer_79_break
	jmp32  %_hash_table_printer_79_loop
:_hash_table_printer_79_break
					# fdputc('>', __stdout)
	mov____0x32,%ebx &__stdout
	push___%ebx
	mov____$i32,%ebx %0x3e
	push___%ebx
	call32 %fdputc
	add____$i8,%esp !0x8
	test___%eax,%eax
	leave
	ret


:make_hashq_type
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# SCM record_type = 88;\n
	mov____$i32,%eax %0x58
	mov____%eax,0x8(%ebp) !0x-4
					# SCM fields = 1;\n
	mov____$i32,%eax %0x1
	mov____%eax,0x8(%ebp) !0x-8
					# fields = cons(82, fields)
					# cons(82, fields)
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	mov____$i32,%ebx %0x52
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
					# fields = cons(89, fields)
					# cons(89, fields)
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	mov____$i32,%ebx %0x59
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
					# fields = cons(fields, 1)
					# cons(fields, 1)
	mov____$i32,%ebx %0x1
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
					# fields = cons(85, fields)
					# cons(85, fields)
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	mov____$i32,%ebx %0x55
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
					# make_struct(record_type, fields, 7)
	mov____$i32,%ebx %0x7
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %make_struct
	add____$i8,%esp !0xc
	leave
	ret


:make_hash_table_
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# if (!size) ...
	mov____0x8(%ebp),%eax !0x8
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_make_hash_table__1_break
					# size = 100
	mov____$i32,%eax %0x64
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
	jmp32  %_make_hash_table__1_break
:_make_hash_table__1_break
					# SCM hashq_type = make_hashq_type();\n
					# make_hashq_type()
	call32 %make_hashq_type
	add____$i8,%esp !0x0
	mov____%eax,0x8(%ebp) !0x-4
					# SCM buckets = make_vector__(size);\n
					# make_vector__(size)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %make_vector__
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-8
					# SCM values = 1;\n
	mov____$i32,%eax %0x1
	mov____%eax,0x8(%ebp) !0x-c
					# values = cons(buckets, values)
					# cons(buckets, values)
	mov____0x8(%ebp),%ebx !0x-c
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-c
	test___%eax,%eax
					# values = cons(make_cell__(6, 0, (long)size), values)
					# cons(make_cell__(6, 0, (long)size), values)
	mov____0x8(%ebp),%ebx !0x-c
	push___%ebx
					# make_cell__(6, 0, (long)size)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x6
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %make_cell__
	add____$i8,%esp !0xc
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-c
	test___%eax,%eax
					# values = cons(85, values)
					# cons(85, values)
	mov____0x8(%ebp),%ebx !0x-c
	push___%ebx
	mov____$i32,%ebx %0x55
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-c
	test___%eax,%eax
					# make_struct(hashq_type, values, 7)
	mov____$i32,%ebx %0x7
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-c
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %make_struct
	add____$i8,%esp !0xc
	leave
	ret


:make_hash_table
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# long size = 0;\n
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x-4
					# if (g_cells[x].type == 7) ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[x].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_make_hash_table_4_break
					# g_cells[x].type == 6? ...: ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[x].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x6
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_make_hash_table_18_else
	mov____$i32,%eax %0x0
	movzbl_%al,%eax
	jmp32  %_make_hash_table_18_break
:_make_hash_table_18_else
					# assert_fail("g_cells[x].type == 6")
	push___$i32 &_string_src/mes.x86-mes-S_306
	call32 %assert_fail
	add____$i8,%esp !0x4
:_make_hash_table_18_break
					# size = g_cells[x].cdr
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[x].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
	jmp32  %_make_hash_table_4_break
:_make_hash_table_4_break
					# make_hash_table_(size)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %make_hash_table_
	add____$i8,%esp !0x4
	leave
	ret


:make_module_type
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# SCM record_type = 88;\n
	mov____$i32,%eax %0x58
	mov____%eax,0x8(%ebp) !0x-4
					# SCM fields = 1;\n
	mov____$i32,%eax %0x1
	mov____%eax,0x8(%ebp) !0x-8
					# fields = cons(cstring_to_symbol("globals"), fields)
					# cons(cstring_to_symbol("globals"), fields)
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
					# cstring_to_symbol("globals")
	push___%eax
	push___%eax
	mov____%ebx,%eax
	push___$i32 &_string_src/mes.x86-mes-S_307
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cstring_to_symbol
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
					# fields = cons(cstring_to_symbol("locals"), fields)
					# cons(cstring_to_symbol("locals"), fields)
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
					# cstring_to_symbol("locals")
	push___%eax
	push___%eax
	mov____%ebx,%eax
	push___$i32 &_string_src/mes.x86-mes-S_308
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cstring_to_symbol
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
					# fields = cons(cstring_to_symbol("name"), fields)
					# cons(cstring_to_symbol("name"), fields)
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
					# cstring_to_symbol("name")
	push___%eax
	push___%eax
	mov____%ebx,%eax
	push___$i32 &_string_src/mes.x86-mes-S_151
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cstring_to_symbol
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
					# fields = cons(fields, 1)
					# cons(fields, 1)
	mov____$i32,%ebx %0x1
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
					# fields = cons(86, fields)
					# cons(86, fields)
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	mov____$i32,%ebx %0x56
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
					# make_struct(record_type, fields, 7)
	mov____$i32,%ebx %0x7
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %make_struct
	add____$i8,%esp !0xc
	leave
	ret


:make_initial_module
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# SCM module_type = make_module_type();\n
					# make_module_type()
	call32 %make_module_type
	add____$i8,%esp !0x0
	mov____%eax,0x8(%ebp) !0x-4
					# a = acons(86, module_type, a)
					# acons(86, module_type, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____$i32,%ebx %0x56
	push___%ebx
	call32 %acons
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# SCM hashq_type = make_hashq_type();\n
					# make_hashq_type()
	call32 %make_hashq_type
	add____$i8,%esp !0x0
	mov____%eax,0x8(%ebp) !0x-8
					# a = acons(85, hashq_type, a)
					# acons(85, hashq_type, a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	mov____$i32,%ebx %0x55
	push___%ebx
	call32 %acons
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# SCM name = cons(cstring_to_symbol("boot"), 1);\n
					# cons(cstring_to_symbol("boot"), 1)
	mov____$i32,%ebx %0x1
	push___%ebx
					# cstring_to_symbol("boot")
	push___%eax
	push___%eax
	mov____%ebx,%eax
	push___$i32 &_string_src/mes.x86-mes-S_309
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cstring_to_symbol
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-c
					# SCM globals = make_hash_table_(0);\n
					# make_hash_table_(0)
	mov____$i32,%ebx %0x0
	push___%ebx
	call32 %make_hash_table_
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-10
					# SCM locals = 1;\n
	mov____$i32,%eax %0x1
	mov____%eax,0x8(%ebp) !0x-14
					# SCM values = 1;\n
	mov____$i32,%eax %0x1
	mov____%eax,0x8(%ebp) !0x-18
					# values = cons(globals, values)
					# cons(globals, values)
	mov____0x8(%ebp),%ebx !0x-18
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-10
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-18
	test___%eax,%eax
					# values = cons(locals, values)
					# cons(locals, values)
	mov____0x8(%ebp),%ebx !0x-18
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-14
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-18
	test___%eax,%eax
					# values = cons(name, values)
					# cons(name, values)
	mov____0x8(%ebp),%ebx !0x-18
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-c
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-18
	test___%eax,%eax
					# values = cons(86, values)
					# cons(86, values)
	mov____0x8(%ebp),%ebx !0x-18
	push___%ebx
	mov____$i32,%ebx %0x56
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-18
	test___%eax,%eax
					# SCM module = make_struct(module_type, values, cstring_to_symbol(\n    "module-printer"));\n
					# make_struct(module_type, values, cstring_to_symbol("module-printer"))
					# cstring_to_symbol("module-printer")
	push___%eax
	push___%eax
	mov____%ebx,%eax
	push___$i32 &_string_src/mes.x86-mes-S_219
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cstring_to_symbol
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-18
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %make_struct
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-1c
					# r0 = 1
	mov____$i32,%eax %0x1
	mov____%eax,0x32 &r0
	test___%eax,%eax
					# r0 = cons(g_cells[g_cells[a].cdr].car, r0)
					# cons(g_cells[g_cells[a].cdr].car, r0)
	mov____0x32,%ebx &r0
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[a].cdr
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[g_cells[a].cdr].car
	mov____(%ebx),%ebx
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x32 &r0
	test___%eax,%eax
					# r0 = cons(g_cells[a].car, r0)
					# cons(g_cells[a].car, r0)
	mov____0x32,%ebx &r0
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[a].car
	mov____(%ebx),%ebx
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x32 &r0
	test___%eax,%eax
					# m0 = module
	mov____0x8(%ebp),%eax !0x-1c
	mov____%eax,0x32 &m0
	test___%eax,%eax
					# while (g_cells[a].type == 7) ...
	jmp32  %_make_initial_module_172_continue
:_make_initial_module_172_loop
					# module_define_x(module, g_cells[g_cells[a].car].car, g_cells[g_cells[a].car].\n    cdr)
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[a].car
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[g_cells[a].car].cdr
	mov____(%ebx),%ebx
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[a].car
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[g_cells[a].car].car
	mov____(%ebx),%ebx
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-1c
	push___%ebx
	call32 %module_define_x
	add____$i8,%esp !0xc
	test___%eax,%eax
					# a = g_cells[a].cdr
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[a].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
:_make_initial_module_172_continue
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[a].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_make_initial_module_172_break
	jmp32  %_make_initial_module_172_loop
:_make_initial_module_172_break
	mov____0x8(%ebp),%eax !0x-1c
	leave
	ret


:module_printer
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# fdputs("#<", __stdout)
	mov____0x32,%ebx &__stdout
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_302
	call32 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
					# display_(struct_ref_(module, 2))
					# struct_ref_(module, 2)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x2
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %struct_ref_
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %display_
	add____$i8,%esp !0x4
	test___%eax,%eax
					# fdputc(' ', __stdout)
	mov____0x32,%ebx &__stdout
	push___%ebx
	mov____$i32,%ebx %0x20
	push___%ebx
	call32 %fdputc
	add____$i8,%esp !0x8
	test___%eax,%eax
					# fdputs("name: ", __stdout)
	mov____0x32,%ebx &__stdout
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_310
	call32 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
					# display_(struct_ref_(module, 3))
					# struct_ref_(module, 3)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x3
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %struct_ref_
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %display_
	add____$i8,%esp !0x4
	test___%eax,%eax
					# fdputc(' ', __stdout)
	mov____0x32,%ebx &__stdout
	push___%ebx
	mov____$i32,%ebx %0x20
	push___%ebx
	call32 %fdputc
	add____$i8,%esp !0x8
	test___%eax,%eax
					# fdputs("locals: ", __stdout)
	mov____0x32,%ebx &__stdout
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_311
	call32 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
					# display_(struct_ref_(module, 4))
					# struct_ref_(module, 4)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x4
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %struct_ref_
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %display_
	add____$i8,%esp !0x4
	test___%eax,%eax
					# fdputc(' ', __stdout)
	mov____0x32,%ebx &__stdout
	push___%ebx
	mov____$i32,%ebx %0x20
	push___%ebx
	call32 %fdputc
	add____$i8,%esp !0x8
	test___%eax,%eax
					# SCM table = struct_ref_(module, 5);\n
					# struct_ref_(module, 5)
	mov____$i32,%ebx %0x5
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %struct_ref_
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-4
					# fdputs("globals:\n  ", __stdout)
	mov____0x32,%ebx &__stdout
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_312
	call32 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
					# display_(table)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %display_
	add____$i8,%esp !0x4
	test___%eax,%eax
					# fdputc('>', __stdout)
	mov____0x32,%ebx &__stdout
	push___%ebx
	mov____$i32,%ebx %0x3e
	push___%ebx
	call32 %fdputc
	add____$i8,%esp !0x8
	test___%eax,%eax
	leave
	ret


:module_variable
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# SCM locals = module;\n
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,0x8(%ebp) !0x-4
					# SCM x = assq(name, locals);\n
					# assq(name, locals)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	call32 %assq
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-8
					# if (x == 2) ...
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0x2
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_module_variable_12_break
					# module = m0
	mov____0x32,%eax &m0
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# SCM globals = struct_ref_(module, 5);\n
					# struct_ref_(module, 5)
	mov____$i32,%ebx %0x5
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %struct_ref_
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-c
					# x = hashq_get_handle(globals, name, 2)
					# hashq_get_handle(globals, name, 2)
	mov____$i32,%ebx %0x2
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-c
	push___%ebx
	call32 %hashq_get_handle
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
	jmp32  %_module_variable_12_break
:_module_variable_12_break
	mov____0x8(%ebp),%eax !0x-8
	leave
	ret


:module_ref
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# SCM x = module_variable(module, name);\n
					# module_variable(module, name)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %module_variable
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-4
					# if (x == 2) ...
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x2
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_module_ref_9_break
	mov____$i32,%eax %0x6
	leave
	ret
	jmp32  %_module_ref_9_break
:_module_ref_9_break
	mov____0x8(%ebp),%eax !0x-4
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[x].cdr
	mov____(%eax),%eax
	leave
	ret


:module_define_x
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# module = m0
	mov____0x32,%eax &m0
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# SCM globals = struct_ref_(module, 5);\n
					# struct_ref_(module, 5)
	mov____$i32,%ebx %0x5
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %struct_ref_
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-4
					# hashq_set_x(globals, name, value)
	mov____0x8(%ebp),%ebx !0x10
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %hashq_set_x
	add____$i8,%esp !0xc
	leave
	ret


:peekchar
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# if (__stdin >= 0) ...
	mov____0x32,%eax &__stdin
	mov____$i32,%ebx %0x0
	sub____%ebx,%eax
	setge__%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_peekchar_1_break
					# int c = readchar();\n
					# readchar()
	call32 %readchar
	add____$i8,%esp !0x0
	mov____%eax,0x8(%ebp) !0x-4
					# unreadchar(c)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %unreadchar
	add____$i8,%esp !0x4
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x-4
	leave
	ret
	jmp32  %_peekchar_1_break
:_peekchar_1_break
					# SCM port = current_input_port();\n
					# current_input_port()
	call32 %current_input_port
	add____$i8,%esp !0x0
	mov____%eax,0x8(%ebp) !0x-4
					# SCM string = g_cells[port].cdr;\n
	mov____0x8(%ebp),%eax !0x-4
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[port].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-8
					# size_t length = g_cells[string].car;\n
	mov____0x8(%ebp),%eax !0x-8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[string].car
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-c
					# if (!length) ...
	mov____0x8(%ebp),%eax !0x-c
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_peekchar_46_break
	mov____$i32,%eax %0x-1
	leave
	ret
	jmp32  %_peekchar_46_break
:_peekchar_46_break
					# char *p = (char*)&g_cells[g_cells[string].cdr].cdr;\n
	mov____0x8(%ebp),%eax !0x-8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[string].cdr
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
	mov____%eax,0x8(%ebp) !0x-10
	mov____$i32,%eax %0x0
	mov____0x8(%ebp),%ebx !0x-10
	add____%ebx,%eax
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	leave
	ret


:readchar
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# if (__stdin >= 0) ...
	mov____0x32,%eax &__stdin
	mov____$i32,%ebx %0x0
	sub____%ebx,%eax
	setge__%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_readchar_1_break
					# fdgetc(__stdin)
	mov____0x32,%ebx &__stdin
	push___%ebx
	call32 %fdgetc
	add____$i8,%esp !0x4
	leave
	ret
	jmp32  %_readchar_1_break
:_readchar_1_break
					# SCM port = current_input_port();\n
					# current_input_port()
	call32 %current_input_port
	add____$i8,%esp !0x0
	mov____%eax,0x8(%ebp) !0x-4
					# SCM string = g_cells[port].cdr;\n
	mov____0x8(%ebp),%eax !0x-4
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[port].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-8
					# size_t length = g_cells[string].car;\n
	mov____0x8(%ebp),%eax !0x-8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[string].car
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-c
					# if (!length) ...
	mov____0x8(%ebp),%eax !0x-c
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_readchar_40_break
	mov____$i32,%eax %0x-1
	leave
	ret
	jmp32  %_readchar_40_break
:_readchar_40_break
					# char *p = (char*)&g_cells[g_cells[string].cdr].cdr;\n
	mov____0x8(%ebp),%eax !0x-8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[string].cdr
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
	mov____%eax,0x8(%ebp) !0x-10
					# int c = *p++;\n
	mov____0x8(%ebp),%eax !0x-10
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-10
	add____$i8,(%ebx) !0x1
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	mov____%eax,0x8(%ebp) !0x-14
					# g_cells[port].cdr = make_string(p, length - 1)
					# make_string(p, length - 1)
	mov____0x8(%ebp),%ebx !0x-c
	add____$i8,%ebx !0x-1
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-10
	push___%ebx
	call32 %make_string
	add____$i8,%esp !0x8
	mov____0x8(%ebp),%ebx !0x-4
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
	mov____%eax,(%ebx)
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x-14
	leave
	ret


:unreadchar
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# if (__stdin >= 0) ...
	mov____0x32,%eax &__stdin
	mov____$i32,%ebx %0x0
	sub____%ebx,%eax
	setge__%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_unreadchar_1_break
					# fdungetc(c, __stdin)
	mov____0x32,%ebx &__stdin
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %fdungetc
	add____$i8,%esp !0x8
	leave
	ret
	jmp32  %_unreadchar_1_break
:_unreadchar_1_break
					# SCM port = current_input_port();\n
					# current_input_port()
	call32 %current_input_port
	add____$i8,%esp !0x0
	mov____%eax,0x8(%ebp) !0x-4
					# SCM string = g_cells[port].cdr;\n
	mov____0x8(%ebp),%eax !0x-4
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[port].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-8
					# size_t length = g_cells[string].car;\n
	mov____0x8(%ebp),%eax !0x-8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[string].car
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-c
					# char *p = (char*)&g_cells[g_cells[string].cdr].cdr;\n
	mov____0x8(%ebp),%eax !0x-8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[string].cdr
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
	mov____%eax,0x8(%ebp) !0x-10
	mov____0x8(%ebp),%eax !0x-10
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-10
	add____$i8,(%ebx) !0x-1
	test___%eax,%eax
					# string = make_string(p, length + 1)
					# make_string(p, length + 1)
	mov____0x8(%ebp),%ebx !0x-c
	add____$i8,%ebx !0x1
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-10
	push___%ebx
	call32 %make_string
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
					# p = (char*)&g_cells[g_cells[string].cdr].cdr
	mov____0x8(%ebp),%eax !0x-8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[string].cdr
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
	mov____%eax,0x8(%ebp) !0x-10
	test___%eax,%eax
					# p[0] = c
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x0
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-10
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____%al,(%ebx)
	test___%eax,%eax
					# g_cells[port].cdr = string
	mov____0x8(%ebp),%eax !0x-8
	mov____0x8(%ebp),%ebx !0x-4
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
	mov____%eax,(%ebx)
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x8
	leave
	ret


:peek_byte
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# make_cell__(6, 0, (long)peekchar())
					# peekchar()
	push___%eax
	call32 %peekchar
	add____$i8,%esp !0x0
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____$i32,%ebx %0x6
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	leave
	ret


:read_byte
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# make_cell__(6, 0, (long)readchar())
					# readchar()
	push___%eax
	call32 %readchar
	add____$i8,%esp !0x0
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____$i32,%ebx %0x6
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	leave
	ret


:unread_byte
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# unreadchar(g_cells[i].cdr)
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[i].cdr
	mov____(%ebx),%ebx
	push___%ebx
	call32 %unreadchar
	add____$i8,%esp !0x4
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x8
	leave
	ret


:peek_char
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# make_cell__(1, 0, peekchar())
					# peekchar()
	push___%eax
	call32 %peekchar
	add____$i8,%esp !0x0
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	leave
	ret


:read_char
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# int fd = __stdin;\n
	mov____0x32,%eax &__stdin
	mov____%eax,0x8(%ebp) !0x-4
					# if (g_cells[port].type == 7 && g_cells[car(port)].type == 6) ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[port].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_read_char_4_break
					# car(port)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %car
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[car(port)].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x6
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_read_char_4_break
					# __stdin = g_cells[g_cells[port].car].cdr
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[port].car
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[g_cells[port].car].cdr
	mov____(%eax),%eax
	mov____%eax,0x32 &__stdin
	test___%eax,%eax
	jmp32  %_read_char_4_break
:_read_char_4_break
					# SCM c = make_cell__(1, 0, readchar());\n
					# make_cell__(1, 0, readchar())
					# readchar()
	push___%eax
	call32 %readchar
	add____$i8,%esp !0x0
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-8
					# __stdin = fd
	mov____0x8(%ebp),%eax !0x-4
	mov____%eax,0x32 &__stdin
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x-8
	leave
	ret


:unread_char
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# unreadchar(g_cells[i].cdr)
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[i].cdr
	mov____(%ebx),%ebx
	push___%ebx
	call32 %unreadchar
	add____$i8,%esp !0x4
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x8
	leave
	ret


:write_char
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# write_byte(i)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %write_byte
	add____$i8,%esp !0x4
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x8
	leave
	ret


:write_byte
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# SCM c = car(x);\n
					# car(x)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %car
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-4
					# SCM p = cdr(x);\n
					# cdr(x)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %cdr
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-8
					# int fd = __stdout;\n
	mov____0x32,%eax &__stdout
	mov____%eax,0x8(%ebp) !0x-c
					# if (g_cells[p].type == 7 && g_cells[car(p)].type == 6 && g_cells[g_cells[p].car\n    ].cdr != 1) ...
	mov____0x8(%ebp),%eax !0x-8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[p].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_write_byte_16_break
					# car(p)
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	call32 %car
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[car(p)].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x6
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_write_byte_16_break
	mov____0x8(%ebp),%eax !0x-8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[p].car
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[g_cells[p].car].cdr
	mov____(%eax),%eax
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_write_byte_16_break
					# fd = g_cells[g_cells[p].car].cdr
	mov____0x8(%ebp),%eax !0x-8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[p].car
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[g_cells[p].car].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-c
	test___%eax,%eax
	jmp32  %_write_byte_16_break
:_write_byte_16_break
					# if (g_cells[p].type == 7 && g_cells[car(p)].type == 6 && g_cells[g_cells[p].car\n    ].cdr == 2) ...
	mov____0x8(%ebp),%eax !0x-8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[p].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_write_byte_88_break
					# car(p)
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	call32 %car
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[car(p)].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x6
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_write_byte_88_break
	mov____0x8(%ebp),%eax !0x-8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[p].car
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[g_cells[p].car].cdr
	mov____(%eax),%eax
	mov____$i32,%ebx %0x2
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_write_byte_88_break
					# fd = __stderr
	mov____0x32,%eax &__stderr
	mov____%eax,0x8(%ebp) !0x-c
	test___%eax,%eax
	jmp32  %_write_byte_88_break
:_write_byte_88_break
					# char cc = g_cells[c].cdr;\n
	mov____0x8(%ebp),%eax !0x-4
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[c].cdr
	mov____(%eax),%eax
	mov____%al,0x8(%ebp) !0x-10
					# write(fd, (char*)&cc, 1)
	mov____$i32,%ebx %0x1
	push___%ebx
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-10
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-c
	push___%ebx
	call32 %write
	add____$i8,%esp !0xc
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x-4
	leave
	ret


:getenv_
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# char *p;\n
					# p = getenv((char*)&g_cells[g_cells[s].cdr].cdr)
					# getenv((char*)&g_cells[g_cells[s].cdr].cdr)
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[s].cdr
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
	push___%ebx
	call32 %getenv
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# p? ...: ...
	mov____0x8(%ebp),%eax !0x-4
					# jmp test LABEL
	test___%eax,%eax
	je32   %_getenv__29_else
					# make_string(p, strlen(p))
					# strlen(p)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-4
	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 !0x-4
	push___%ebx
	call32 %make_string
	add____$i8,%esp !0x8
	jmp32  %_getenv__29_break
:_getenv__29_else
	mov____$i32,%eax %0x2
:_getenv__29_break
	leave
	ret


:setenv_
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# char buf[1024];\n
					# strcpy(buf, (char*)&g_cells[g_cells[s].cdr].cdr)
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[s].cdr
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
	push___%ebx
	mov____%ebp,%ebx
	add____$i32,%ebx %0x-400
	push___%ebx
	call32 %strcpy
	add____$i8,%esp !0x8
	test___%eax,%eax
					# setenv(buf, (char*)&g_cells[g_cells[v].cdr].cdr, 1)
	mov____$i32,%ebx %0x1
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[v].cdr
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
	push___%ebx
	mov____%ebp,%ebx
	add____$i32,%ebx %0x-400
	push___%ebx
	call32 %setenv
	add____$i8,%esp !0xc
	test___%eax,%eax
	mov____$i32,%eax %0x7
	leave
	ret


:access_p
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# access((char*)&g_cells[g_cells[file_name].cdr].cdr, g_cells[mode].cdr) == 0? \n    ...: ...
					# access((char*)&g_cells[g_cells[file_name].cdr].cdr, g_cells[mode].cdr)
	mov____0x8(%ebp),%ebx !0xc
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[mode].cdr
	mov____(%ebx),%ebx
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[file_name].cdr
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
	push___%ebx
	call32 %access
	add____$i8,%esp !0x8
	mov____$i32,%ebx %0x0
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_access_p_1_else
	mov____$i32,%eax %0x3
	jmp32  %_access_p_1_break
:_access_p_1_else
	mov____$i32,%eax %0x2
:_access_p_1_break
	leave
	ret


:current_input_port
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# if (__stdin >= 0) ...
	mov____0x32,%eax &__stdin
	mov____$i32,%ebx %0x0
	sub____%ebx,%eax
	setge__%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_current_input_port_1_break
					# make_cell__(6, 0, (long)__stdin)
	mov____0x32,%ebx &__stdin
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____$i32,%ebx %0x6
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	leave
	ret
	jmp32  %_current_input_port_1_break
:_current_input_port_1_break
					# SCM x = g_ports;\n
	mov____0x32,%eax &g_ports
	mov____%eax,0x8(%ebp) !0x-4
					# while (x && g_cells[g_cells[x].car].car != __stdin) ...
	jmp32  %_current_input_port_23_continue
:_current_input_port_23_loop
					# x = g_cells[x].cdr
	mov____0x8(%ebp),%eax !0x-4
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[x].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
:_current_input_port_23_continue
	mov____0x8(%ebp),%eax !0x-4
					# jmp test LABEL
	test___%eax,%eax
	je32   %_current_input_port_23_break
	mov____0x8(%ebp),%eax !0x-4
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[x].car
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[g_cells[x].car].car
	mov____(%eax),%eax
	mov____0x32,%ebx &__stdin
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_current_input_port_23_break
	jmp32  %_current_input_port_23_loop
:_current_input_port_23_break
	mov____0x8(%ebp),%eax !0x-4
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[x].car
	mov____(%eax),%eax
	leave
	ret


:open_input_file
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# make_cell__(6, 0, (long)open((char*)&g_cells[g_cells[file_name].cdr].cdr, 0))
					# open((char*)&g_cells[g_cells[file_name].cdr].cdr, 0)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[file_name].cdr
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %open
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____$i32,%ebx %0x6
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	leave
	ret


:open_input_string
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# SCM port = make_cell__(8, -length__(g_ports) - 2, string);\n
					# make_cell__(8, -length__(g_ports) - 2, string)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
					# length__(g_ports)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &g_ports
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %length__
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x0
	xchg___%eax,%ebx
	sub____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x-2
	push___%ebx
	mov____$i32,%ebx %0x8
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-4
					# g_ports = cons(port, g_ports)
					# cons(port, g_ports)
	mov____0x32,%ebx &g_ports
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x32 &g_ports
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x-4
	leave
	ret


:set_current_input_port
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# SCM prev = current_input_port();\n
					# current_input_port()
	call32 %current_input_port
	add____$i8,%esp !0x0
	mov____%eax,0x8(%ebp) !0x-4
					# if (g_cells[port].type == 6) ...else ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[port].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x6
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_set_current_input_port_5_else
					# __stdin = g_cells[port].cdr? g_cells[port].cdr: 0
					# g_cells[port].cdr? ...: ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[port].cdr
	mov____(%eax),%eax
					# jmp test LABEL
	test___%eax,%eax
	je32   %_set_current_input_port_20_else
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[port].cdr
	mov____(%eax),%eax
	jmp32  %_set_current_input_port_20_break
:_set_current_input_port_20_else
	mov____$i32,%eax %0x0
:_set_current_input_port_20_break
	mov____%eax,0x32 &__stdin
	test___%eax,%eax
	jmp32  %_set_current_input_port_5_break
:_set_current_input_port_5_else
					# if (g_cells[port].type == 8) ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[port].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x8
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_set_current_input_port_48_break
					# __stdin = g_cells[port].car
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[port].car
	mov____(%eax),%eax
	mov____%eax,0x32 &__stdin
	test___%eax,%eax
	jmp32  %_set_current_input_port_48_break
:_set_current_input_port_48_break
:_set_current_input_port_5_break
	mov____0x8(%ebp),%eax !0x-4
	leave
	ret


:current_output_port
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# make_cell__(6, 0, (long)__stdout)
	mov____0x32,%ebx &__stdout
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____$i32,%ebx %0x6
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	leave
	ret


:current_error_port
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# make_cell__(6, 0, (long)__stderr)
	mov____0x32,%ebx &__stderr
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____$i32,%ebx %0x6
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	leave
	ret


:open_output_file
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# SCM file_name = car(x);\n
					# car(x)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %car
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-4
					# x = cdr(x)
					# cdr(x)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %cdr
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# int mode = 00400 | 00200;\n
	mov____$i32,%eax %0x100
	mov____$i32,%ebx %0x80
	or_____%ebx,%eax
	mov____%eax,0x8(%ebp) !0x-8
					# if (g_cells[x].type == 7 && g_cells[car(x)].type == 6) ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[x].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_open_output_file_19_break
					# car(x)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %car
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[car(x)].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x6
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_open_output_file_19_break
					# mode = g_cells[car(x)].cdr
					# car(x)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %car
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[car(x)].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
	jmp32  %_open_output_file_19_break
:_open_output_file_19_break
					# make_cell__(6, 0, (long)open((char*)&g_cells[g_cells[file_name].cdr].cdr, (1 | \n    0x40) | 0x200, mode))
					# open((char*)&g_cells[g_cells[file_name].cdr].cdr, (1 | 0x40) | 0x200, mode)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x1
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x40
	or_____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x200
	or_____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-4
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[file_name].cdr
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %open
	add____$i8,%esp !0xc
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____$i32,%ebx %0x6
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	leave
	ret


:set_current_output_port
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# __stdout = g_cells[port].cdr? g_cells[port].cdr: 1
					# g_cells[port].cdr? ...: ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[port].cdr
	mov____(%eax),%eax
					# jmp test LABEL
	test___%eax,%eax
	je32   %_set_current_output_port_2_else
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[port].cdr
	mov____(%eax),%eax
	jmp32  %_set_current_output_port_2_break
:_set_current_output_port_2_else
	mov____$i32,%eax %0x1
:_set_current_output_port_2_break
	mov____%eax,0x32 &__stdout
	test___%eax,%eax
					# current_output_port()
	call32 %current_output_port
	add____$i8,%esp !0x0
	leave
	ret


:set_current_error_port
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# __stderr = g_cells[port].cdr? g_cells[port].cdr: 2
					# g_cells[port].cdr? ...: ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[port].cdr
	mov____(%eax),%eax
					# jmp test LABEL
	test___%eax,%eax
	je32   %_set_current_error_port_2_else
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[port].cdr
	mov____(%eax),%eax
	jmp32  %_set_current_error_port_2_break
:_set_current_error_port_2_else
	mov____$i32,%eax %0x2
:_set_current_error_port_2_break
	mov____%eax,0x32 &__stderr
	test___%eax,%eax
					# current_error_port()
	call32 %current_error_port
	add____$i8,%esp !0x0
	leave
	ret


:force_output
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
	mov____$i32,%eax %0x7
	leave
	ret


:chmod_
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# chmod((char*)&g_cells[g_cells[file_name].cdr].cdr, g_cells[mode].cdr)
	mov____0x8(%ebp),%ebx !0xc
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[mode].cdr
	mov____(%ebx),%ebx
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[file_name].cdr
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
	push___%ebx
	call32 %chmod
	add____$i8,%esp !0x8
	test___%eax,%eax
	mov____$i32,%eax %0x7
	leave
	ret


:isatty_p
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# isatty(g_cells[port].cdr)? ...: ...
					# isatty(g_cells[port].cdr)
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[port].cdr
	mov____(%ebx),%ebx
	push___%ebx
	call32 %isatty
	add____$i8,%esp !0x4
					# jmp test LABEL
	test___%eax,%eax
	je32   %_isatty_p_1_else
	mov____$i32,%eax %0x3
	jmp32  %_isatty_p_1_break
:_isatty_p_1_else
	mov____$i32,%eax %0x2
:_isatty_p_1_break
	leave
	ret


:primitive_fork
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# make_cell__(6, 0, (long)fork())
					# fork()
	push___%eax
	call32 %fork
	add____$i8,%esp !0x0
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____$i32,%ebx %0x6
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	leave
	ret


:execl_
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# char *c_argv[1000];\n
					# int i = 0;\n
	mov____$i32,%eax %0x0
	mov____%eax,0x32(%ebp) %0x-fa4
					# if (length__(args) > 1000) ...
					# length__(args)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	call32 %length__
	add____$i8,%esp !0x4
	mov____$i32,%ebx %0x3e8
	sub____%ebx,%eax
	setg___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_execl__5_break
					# error(77, cons(file_name, cons(make_string("too many arguments", strlen(\n    "too many arguments")), cons(file_name, args))))
					# cons(file_name, cons(make_string("too many arguments", strlen(\n    "too many arguments")), cons(file_name, args)))
	push___%eax
					# cons(make_string("too many arguments", strlen("too many arguments")), cons(\n    file_name, args))
	push___%eax
	mov____%ebx,%eax
	push___%eax
					# cons(file_name, args)
	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)
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
					# make_string("too many arguments", strlen("too many arguments"))
	push___%eax
	mov____%ebx,%eax
	push___%eax
					# strlen("too many arguments")
	push___%eax
	mov____%ebx,%eax
	push___%eax
	push___%eax
	mov____%ebx,%eax
	push___$i32 &_string_src/mes.x86-mes-S_313
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %strlen
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	push___$i32 &_string_src/mes.x86-mes-S_313
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %make_string
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x4d
	push___%ebx
	call32 %error
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_execl__5_break
:_execl__5_break
					# c_argv[i++] = (char*)&g_cells[g_cells[file_name].cdr].cdr
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[file_name].cdr
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
	mov____0x32(%ebp),%ebx %0x-fa4
	push___%eax
	mov____%ebx,%eax
	mov____%ebp,%ebx
	add____$i32,%ebx %0x-fa4
	add____$i8,(%ebx) !0x1
	mov____%eax,%ebx
	pop____%eax
	shl____$i8,%ebx !0x2
	push___%eax
	mov____%ebx,%eax
	mov____%ebp,%ebx
	add____$i32,%ebx %0x-fa0
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____%eax,(%ebx)
	test___%eax,%eax
					# while (args != 1) ...
	jmp32  %_execl__114_continue
:_execl__114_loop
					# g_cells[g_cells[args].car].type == 11? ...: ...
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[args].car
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[g_cells[args].car].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0xb
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_execl__117_else
	mov____$i32,%eax %0x0
	movzbl_%al,%eax
	jmp32  %_execl__117_break
:_execl__117_else
					# assert_fail("g_cells[g_cells[args].car].type == 11")
	push___$i32 &_string_src/mes.x86-mes-S_314
	call32 %assert_fail
	add____$i8,%esp !0x4
:_execl__117_break
					# c_argv[i++] = (char*)&g_cells[g_cells[g_cells[args].car].cdr].cdr
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[args].car
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[g_cells[args].car].cdr
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
	mov____0x32(%ebp),%ebx %0x-fa4
	push___%eax
	mov____%ebx,%eax
	mov____%ebp,%ebx
	add____$i32,%ebx %0x-fa4
	add____$i8,(%ebx) !0x1
	mov____%eax,%ebx
	pop____%eax
	shl____$i8,%ebx !0x2
	push___%eax
	mov____%ebx,%eax
	mov____%ebp,%ebx
	add____$i32,%ebx %0x-fa0
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____%eax,(%ebx)
	test___%eax,%eax
					# args = g_cells[args].cdr
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[args].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0xc
	test___%eax,%eax
					# if (g_debug > 2) ...
	mov____0x32,%eax &g_debug
	mov____$i32,%ebx %0x2
	sub____%ebx,%eax
	setg___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_execl__190_break
					# eputs("arg[")
	push___$i32 &_string_src/mes.x86-mes-S_315
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(itoa(i))
					# itoa(i)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x32(%ebp),%ebx %0x-fa4
	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_src/mes.x86-mes-S_289
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(c_argv[i - 1])
	mov____0x32(%ebp),%ebx %0x-fa4
	add____$i8,%ebx !0x-1
	shl____$i8,%ebx !0x2
	push___%eax
	mov____%ebx,%eax
	mov____%ebp,%ebx
	add____$i32,%ebx %0x-fa0
	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_src/mes.x86-mes-S_4
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
	jmp32  %_execl__190_break
:_execl__190_break
:_execl__114_continue
	mov____0x8(%ebp),%eax !0xc
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_execl__114_break
	jmp32  %_execl__114_loop
:_execl__114_break
					# c_argv[i] = 0
	mov____$i32,%eax %0x0
	mov____0x32(%ebp),%ebx %0x-fa4
	shl____$i8,%ebx !0x2
	push___%eax
	mov____%ebx,%eax
	mov____%ebp,%ebx
	add____$i32,%ebx %0x-fa0
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____%eax,(%ebx)
	test___%eax,%eax
					# make_cell__(6, 0, (long)execv(c_argv[0], c_argv))
					# execv(c_argv[0], c_argv)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____%ebp,%ebx
	add____$i32,%ebx %0x-fa0
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x0
	shl____$i8,%ebx !0x2
	push___%eax
	mov____%ebx,%eax
	mov____%ebp,%ebx
	add____$i32,%ebx %0x-fa0
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____(%ebx),%ebx
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %execv
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____$i32,%ebx %0x6
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	leave
	ret


:waitpid_
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# int status;\n
					# int child = waitpid(g_cells[pid].cdr, &status, g_cells[options].cdr);\n
					# waitpid(g_cells[pid].cdr, &status, g_cells[options].cdr)
	mov____0x8(%ebp),%ebx !0xc
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[options].cdr
	mov____(%ebx),%ebx
	push___%ebx
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-4
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[pid].cdr
	mov____(%ebx),%ebx
	push___%ebx
	call32 %waitpid
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-8
					# cons(make_cell__(6, 0, (long)child), make_cell__(6, 0, (long)status))
					# make_cell__(6, 0, (long)status)
	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____$i32,%ebx %0x0
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x6
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %make_cell__
	add____$i8,%esp !0xc
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
					# make_cell__(6, 0, (long)child)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x6
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %make_cell__
	add____$i8,%esp !0xc
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	leave
	ret


:init_time
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# clock_gettime(2, &g_start_time)
	mov____$i32,%ebx &g_start_time
	push___%ebx
	mov____$i32,%ebx %0x2
	push___%ebx
	call32 %clock_gettime
	add____$i8,%esp !0x8
	test___%eax,%eax
					# a = acons(94, make_cell__(6, 0, (long)1000), a)
					# acons(94, make_cell__(6, 0, (long)1000), a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
					# make_cell__(6, 0, (long)1000)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x3e8
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x6
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %make_cell__
	add____$i8,%esp !0xc
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x5e
	push___%ebx
	call32 %acons
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
	leave
	ret


:current_time
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# make_cell__(6, 0, (long)time(0))
					# time(0)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %time
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____$i32,%ebx %0x6
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	leave
	ret


:gettimeofday_
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# struct timeval time;\n
					# gettimeofday(&time, 0)
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-c
	push___%ebx
	call32 %gettimeofday
	add____$i8,%esp !0x8
	test___%eax,%eax
					# cons(make_cell__(6, 0, (long)time.tv_sec), make_cell__(6, 0, (long)time.tv_usec\n    ))
					# make_cell__(6, 0, (long)time.tv_usec)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-c
	add____$i8,%ebx !0x4
					# time.tv_usec
	mov____(%ebx),%ebx
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x6
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %make_cell__
	add____$i8,%esp !0xc
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
					# make_cell__(6, 0, (long)time.tv_sec)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-c
	add____$i8,%ebx !0x0
					# time.tv_sec
	mov____(%ebx),%ebx
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x6
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %make_cell__
	add____$i8,%esp !0xc
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	leave
	ret


:seconds_and_nanoseconds_to_long
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x3e8
	mul____%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x3b9aca00
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x3e8
	xor____%edx,%edx
	div___%ebx
	mov____%eax,%ebx
	pop____%eax
	xor____%edx,%edx
	div___%ebx
	mov____%eax,%ebx
	pop____%eax
	add____%ebx,%eax
	leave
	ret


:get_internal_run_time
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# struct timespec ts;\n
					# clock_gettime(2, &ts)
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-c
	push___%ebx
	mov____$i32,%ebx %0x2
	push___%ebx
	call32 %clock_gettime
	add____$i8,%esp !0x8
	test___%eax,%eax
					# long time = seconds_and_nanoseconds_to_long(ts.tv_sec - g_start_time.tv_sec, ts\n    .tv_nsec - g_start_time.tv_nsec);\n
					# seconds_and_nanoseconds_to_long(ts.tv_sec - g_start_time.tv_sec, ts.tv_nsec - \n    g_start_time.tv_nsec)
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-c
	add____$i8,%ebx !0x4
					# ts.tv_nsec
	mov____(%ebx),%ebx
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx &g_start_time
	add____$i8,%ebx !0x4
					# g_start_time.tv_nsec
	mov____(%ebx),%ebx
	sub____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-c
	add____$i8,%ebx !0x0
					# ts.tv_sec
	mov____(%ebx),%ebx
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx &g_start_time
	add____$i8,%ebx !0x0
					# g_start_time.tv_sec
	mov____(%ebx),%ebx
	sub____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %seconds_and_nanoseconds_to_long
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-10
					# make_cell__(6, 0, (long)time)
	mov____0x8(%ebp),%ebx !0x-10
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____$i32,%ebx %0x6
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	leave
	ret


:getcwd_
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# char buf[512];\n
					# make_string(getcwd(buf, 512), strlen(getcwd(buf, 512)))
					# strlen(getcwd(buf, 512))
	push___%eax
					# getcwd(buf, 512)
	push___%eax
	mov____%ebx,%eax
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x200
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____%ebp,%ebx
	add____$i32,%ebx %0x-200
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %getcwd
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %strlen
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
					# getcwd(buf, 512)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x200
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____%ebp,%ebx
	add____$i32,%ebx %0x-200
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %getcwd
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %make_string
	add____$i8,%esp !0x8
	leave
	ret


:dup_
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# make_cell__(6, 0, (long)dup(g_cells[port].cdr))
					# dup(g_cells[port].cdr)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[port].cdr
	mov____(%ebx),%ebx
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %dup
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____$i32,%ebx %0x6
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	leave
	ret


:dup2_
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# dup2(g_cells[old].cdr, g_cells[new].cdr)
	mov____0x8(%ebp),%ebx !0xc
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[new].cdr
	mov____(%ebx),%ebx
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[old].cdr
	mov____(%ebx),%ebx
	push___%ebx
	call32 %dup2
	add____$i8,%esp !0x8
	test___%eax,%eax
	mov____$i32,%eax %0x7
	leave
	ret


:delete_file
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# unlink((char*)&g_cells[g_cells[file_name].cdr].cdr)
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[file_name].cdr
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
	push___%ebx
	call32 %unlink
	add____$i8,%esp !0x4
	test___%eax,%eax
	mov____$i32,%eax %0x7
	leave
	ret


:assert_number
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# if (g_cells[x].type != 6) ...
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[x].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x6
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_assert_number_1_break
					# eputs(name)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# error(75, x)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____$i32,%ebx %0x4b
	push___%ebx
	call32 %error
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_assert_number_1_break
:_assert_number_1_break
	leave
	ret


:greater_p
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# if (x == 1) ...
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_greater_p_1_break
	mov____$i32,%eax %0x3
	leave
	ret
	jmp32  %_greater_p_1_break
:_greater_p_1_break
					# assert_number("greater_p", g_cells[x].car)
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[x].car
	mov____(%ebx),%ebx
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_316
	call32 %assert_number
	add____$i8,%esp !0x8
	test___%eax,%eax
					# long n = g_cells[g_cells[x].car].cdr;\n
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[x].car
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[g_cells[x].car].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-4
					# x = g_cells[x].cdr
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[x].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# while (x != 1) ...
	jmp32  %_greater_p_57_continue
:_greater_p_57_loop
					# assert_number("greater_p", g_cells[x].car)
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[x].car
	mov____(%ebx),%ebx
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_316
	call32 %assert_number
	add____$i8,%esp !0x8
	test___%eax,%eax
					# if (g_cells[car(x)].cdr >= n) ...
					# car(x)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %car
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[car(x)].cdr
	mov____(%eax),%eax
	mov____0x8(%ebp),%ebx !0x-4
	sub____%ebx,%eax
	setge__%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_greater_p_77_break
	mov____$i32,%eax %0x2
	leave
	ret
	jmp32  %_greater_p_77_break
:_greater_p_77_break
					# n = g_cells[car(x)].cdr
					# car(x)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %car
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[car(x)].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# x = cdr(x)
					# cdr(x)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %cdr
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
:_greater_p_57_continue
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_greater_p_57_break
	jmp32  %_greater_p_57_loop
:_greater_p_57_break
	mov____$i32,%eax %0x3
	leave
	ret


:less_p
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# if (x == 1) ...
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_less_p_1_break
	mov____$i32,%eax %0x3
	leave
	ret
	jmp32  %_less_p_1_break
:_less_p_1_break
					# assert_number("less_p", g_cells[x].car)
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[x].car
	mov____(%ebx),%ebx
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_317
	call32 %assert_number
	add____$i8,%esp !0x8
	test___%eax,%eax
					# long n = g_cells[g_cells[x].car].cdr;\n
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[x].car
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[g_cells[x].car].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-4
					# x = g_cells[x].cdr
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[x].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# while (x != 1) ...
	jmp32  %_less_p_57_continue
:_less_p_57_loop
					# assert_number("less_p", g_cells[x].car)
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[x].car
	mov____(%ebx),%ebx
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_317
	call32 %assert_number
	add____$i8,%esp !0x8
	test___%eax,%eax
					# if (g_cells[car(x)].cdr <= n) ...
					# car(x)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %car
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[car(x)].cdr
	mov____(%eax),%eax
	mov____0x8(%ebp),%ebx !0x-4
	sub____%ebx,%eax
	setle__%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_less_p_77_break
	mov____$i32,%eax %0x2
	leave
	ret
	jmp32  %_less_p_77_break
:_less_p_77_break
					# n = g_cells[car(x)].cdr
					# car(x)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %car
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[car(x)].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# x = cdr(x)
					# cdr(x)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %cdr
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
:_less_p_57_continue
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_less_p_57_break
	jmp32  %_less_p_57_loop
:_less_p_57_break
	mov____$i32,%eax %0x3
	leave
	ret


:is_p
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# if (x == 1) ...
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_is_p_1_break
	mov____$i32,%eax %0x3
	leave
	ret
	jmp32  %_is_p_1_break
:_is_p_1_break
					# assert_number("is_p", g_cells[x].car)
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[x].car
	mov____(%ebx),%ebx
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_318
	call32 %assert_number
	add____$i8,%esp !0x8
	test___%eax,%eax
					# long n = g_cells[g_cells[x].car].cdr;\n
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[x].car
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[g_cells[x].car].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-4
					# x = cdr(x)
					# cdr(x)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %cdr
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# while (x != 1) ...
	jmp32  %_is_p_53_continue
:_is_p_53_loop
					# if (g_cells[car(x)].cdr != n) ...
					# car(x)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %car
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[car(x)].cdr
	mov____(%eax),%eax
	mov____0x8(%ebp),%ebx !0x-4
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_is_p_56_break
	mov____$i32,%eax %0x2
	leave
	ret
	jmp32  %_is_p_56_break
:_is_p_56_break
					# x = cdr(x)
					# cdr(x)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %cdr
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
:_is_p_53_continue
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_is_p_53_break
	jmp32  %_is_p_53_loop
:_is_p_53_break
	mov____$i32,%eax %0x3
	leave
	ret


:minus
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# assert_number("minus", g_cells[x].car)
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[x].car
	mov____(%ebx),%ebx
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_319
	call32 %assert_number
	add____$i8,%esp !0x8
	test___%eax,%eax
					# long n = g_cells[g_cells[x].car].cdr;\n
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[x].car
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[g_cells[x].car].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-4
					# x = cdr(x)
					# cdr(x)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %cdr
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# if (x == 1) ...
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_minus_42_break
					# n = -n
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x0
	xchg___%eax,%ebx
	sub____%ebx,%eax
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
	jmp32  %_minus_42_break
:_minus_42_break
					# while (x != 1) ...
	jmp32  %_minus_58_continue
:_minus_58_loop
					# assert_number("minus", g_cells[x].car)
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[x].car
	mov____(%ebx),%ebx
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_319
	call32 %assert_number
	add____$i8,%esp !0x8
	test___%eax,%eax
					# n -= g_cells[car(x)].cdr
					# car(x)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %car
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[car(x)].cdr
	mov____(%eax),%eax
	mov____0x8(%ebp),%ebx !0x-4
	xchg___%eax,%ebx
	sub____%ebx,%eax
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# x = cdr(x)
					# cdr(x)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %cdr
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
:_minus_58_continue
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_minus_58_break
	jmp32  %_minus_58_loop
:_minus_58_break
					# make_cell__(6, 0, (long)n)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____$i32,%ebx %0x6
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	leave
	ret


:plus
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# long n = 0;\n
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x-4
					# while (x != 1) ...
	jmp32  %_plus_4_continue
:_plus_4_loop
					# assert_number("plus", g_cells[x].car)
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[x].car
	mov____(%ebx),%ebx
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_320
	call32 %assert_number
	add____$i8,%esp !0x8
	test___%eax,%eax
					# n += g_cells[car(x)].cdr
					# car(x)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %car
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[car(x)].cdr
	mov____(%eax),%eax
	mov____0x8(%ebp),%ebx !0x-4
	xchg___%eax,%ebx
	add____%ebx,%eax
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# x = cdr(x)
					# cdr(x)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %cdr
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
:_plus_4_continue
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_plus_4_break
	jmp32  %_plus_4_loop
:_plus_4_break
					# make_cell__(6, 0, (long)n)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____$i32,%ebx %0x6
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	leave
	ret


:divide
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# long n = 1;\n
	mov____$i32,%eax %0x1
	mov____%eax,0x8(%ebp) !0x-4
					# if (x != 1) ...
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_divide_4_break
					# assert_number("divide", g_cells[x].car)
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[x].car
	mov____(%ebx),%ebx
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_321
	call32 %assert_number
	add____$i8,%esp !0x8
	test___%eax,%eax
					# n = g_cells[car(x)].cdr
					# car(x)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %car
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[car(x)].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# x = cdr(x)
					# cdr(x)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %cdr
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
	jmp32  %_divide_4_break
:_divide_4_break
					# while (x != 1) ...
	jmp32  %_divide_53_continue
:_divide_53_loop
					# assert_number("divide", g_cells[x].car)
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[x].car
	mov____(%ebx),%ebx
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_321
	call32 %assert_number
	add____$i8,%esp !0x8
	test___%eax,%eax
					# if (!n) ...
	mov____0x8(%ebp),%eax !0x-4
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_divide_73_break
	jmp32  %_divide_53_break
	jmp32  %_divide_73_break
:_divide_73_break
					# n /= g_cells[car(x)].cdr
					# car(x)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %car
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[car(x)].cdr
	mov____(%eax),%eax
	mov____0x8(%ebp),%ebx !0x-4
	xchg___%eax,%ebx
	xor____%edx,%edx
	div___%ebx
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# x = cdr(x)
					# cdr(x)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %cdr
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
:_divide_53_continue
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_divide_53_break
	jmp32  %_divide_53_loop
:_divide_53_break
					# make_cell__(6, 0, (long)n)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____$i32,%ebx %0x6
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	leave
	ret


:modulo
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# assert_number("modulo", a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_187
	call32 %assert_number
	add____$i8,%esp !0x8
	test___%eax,%eax
					# assert_number("modulo", b)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_187
	call32 %assert_number
	add____$i8,%esp !0x8
	test___%eax,%eax
					# long x = g_cells[a].cdr;\n
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[a].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-4
					# while (x < 0) ...
	jmp32  %_modulo_23_continue
:_modulo_23_loop
					# x += g_cells[b].cdr
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[b].cdr
	mov____(%eax),%eax
	mov____0x8(%ebp),%ebx !0x-4
	xchg___%eax,%ebx
	add____%ebx,%eax
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
:_modulo_23_continue
	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   %_modulo_23_break
	jmp32  %_modulo_23_loop
:_modulo_23_break
					# x = x? x%g_cells[b].cdr: 0
					# x? ...: ...
	mov____0x8(%ebp),%eax !0x-4
					# jmp test LABEL
	test___%eax,%eax
	je32   %_modulo_51_else
	mov____0x8(%ebp),%eax !0x-4
	mov____0x8(%ebp),%ebx !0xc
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[b].cdr
	mov____(%ebx),%ebx
	xor____%edx,%edx
	div___%ebx
	mov____%edx,%eax
	jmp32  %_modulo_51_break
:_modulo_51_else
	mov____$i32,%eax %0x0
:_modulo_51_break
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# make_cell__(6, 0, (long)x)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____$i32,%ebx %0x6
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	leave
	ret


:multiply
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# long n = 1;\n
	mov____$i32,%eax %0x1
	mov____%eax,0x8(%ebp) !0x-4
					# while (x != 1) ...
	jmp32  %_multiply_4_continue
:_multiply_4_loop
					# assert_number("multiply", g_cells[x].car)
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[x].car
	mov____(%ebx),%ebx
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_322
	call32 %assert_number
	add____$i8,%esp !0x8
	test___%eax,%eax
					# n *= g_cells[car(x)].cdr
					# car(x)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %car
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[car(x)].cdr
	mov____(%eax),%eax
	mov____0x8(%ebp),%ebx !0x-4
	xchg___%eax,%ebx
	mul____%ebx
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# x = cdr(x)
					# cdr(x)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %cdr
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
:_multiply_4_continue
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_multiply_4_break
	jmp32  %_multiply_4_loop
:_multiply_4_break
					# make_cell__(6, 0, (long)n)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____$i32,%ebx %0x6
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	leave
	ret


:logand
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# long n = 0;\n
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x-4
					# while (x != 1) ...
	jmp32  %_logand_4_continue
:_logand_4_loop
					# assert_number("multiply", g_cells[x].car)
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[x].car
	mov____(%ebx),%ebx
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_322
	call32 %assert_number
	add____$i8,%esp !0x8
	test___%eax,%eax
					# n &= g_cells[car(x)].cdr
					# car(x)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %car
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[car(x)].cdr
	mov____(%eax),%eax
	mov____0x8(%ebp),%ebx !0x-4
	xchg___%eax,%ebx
	and____%ebx,%eax
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# x = cdr(x)
					# cdr(x)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %cdr
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
:_logand_4_continue
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_logand_4_break
	jmp32  %_logand_4_loop
:_logand_4_break
					# make_cell__(6, 0, (long)n)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____$i32,%ebx %0x6
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	leave
	ret


:logior
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# long n = 0;\n
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x-4
					# while (x != 1) ...
	jmp32  %_logior_4_continue
:_logior_4_loop
					# assert_number("logior", g_cells[x].car)
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[x].car
	mov____(%ebx),%ebx
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_190
	call32 %assert_number
	add____$i8,%esp !0x8
	test___%eax,%eax
					# n |= g_cells[car(x)].cdr
					# car(x)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %car
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[car(x)].cdr
	mov____(%eax),%eax
	mov____0x8(%ebp),%ebx !0x-4
	xchg___%eax,%ebx
	or_____%ebx,%eax
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# x = cdr(x)
					# cdr(x)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %cdr
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
:_logior_4_continue
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_logior_4_break
	jmp32  %_logior_4_loop
:_logior_4_break
					# make_cell__(6, 0, (long)n)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____$i32,%ebx %0x6
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	leave
	ret


:lognot
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# assert_number("lognot", x)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_191
	call32 %assert_number
	add____$i8,%esp !0x8
	test___%eax,%eax
					# long n = ~g_cells[x].cdr;\n
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[x].cdr
	mov____(%eax),%eax
	not____%eax
	mov____%eax,0x8(%ebp) !0x-4
					# make_cell__(6, 0, (long)n)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____$i32,%ebx %0x6
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	leave
	ret


:logxor
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# long n = 0;\n
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x-4
					# while (x != 1) ...
	jmp32  %_logxor_4_continue
:_logxor_4_loop
					# assert_number("logxor", g_cells[x].car)
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[x].car
	mov____(%ebx),%ebx
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_192
	call32 %assert_number
	add____$i8,%esp !0x8
	test___%eax,%eax
					# n ^= g_cells[car(x)].cdr
					# car(x)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %car
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[car(x)].cdr
	mov____(%eax),%eax
	mov____0x8(%ebp),%ebx !0x-4
	xchg___%eax,%ebx
	xor____%ebx,%eax
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# x = cdr(x)
					# cdr(x)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %cdr
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
:_logxor_4_continue
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_logxor_4_break
	jmp32  %_logxor_4_loop
:_logxor_4_break
					# make_cell__(6, 0, (long)n)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____$i32,%ebx %0x6
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	leave
	ret


:ash
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# assert_number("ash", n)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_193
	call32 %assert_number
	add____$i8,%esp !0x8
	test___%eax,%eax
					# assert_number("ash", count)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_193
	call32 %assert_number
	add____$i8,%esp !0x8
	test___%eax,%eax
					# long cn = g_cells[n].cdr;\n
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[n].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-4
					# long ccount = g_cells[count].cdr;\n
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[count].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-8
					# make_cell__(6, 0, (long)(ccount < 0)? cn<<-ccount: cn<<ccount)
					# (long)(ccount < 0)? ...: ...
	mov____0x8(%ebp),%ebx !0x-8
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x0
	sub____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	setl___%bl
	movzbl_%bl,%ebx
	test___%ebx,%ebx
					# jmp test LABEL
	test___%ebx,%ebx
	je32   %_ash_34_else
	mov____0x8(%ebp),%ebx !0x-4
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-8
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x0
	xchg___%eax,%ebx
	sub____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____%ebx,%ecx
	shr____%cl,%eax
	mov____%eax,%ebx
	pop____%eax
	jmp32  %_ash_34_break
:_ash_34_else
	mov____0x8(%ebp),%ebx !0x-4
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-8
	mov____%ebx,%ecx
	shl____%cl,%eax
	mov____%eax,%ebx
	pop____%eax
:_ash_34_break
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____$i32,%ebx %0x6
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	leave
	ret


:display_helper
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# fdputs(sep, fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	mov____0x8(%ebp),%ebx !0x10
	push___%ebx
	call32 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
					# if (g_depth == 0) ...
	mov____0x32,%eax &g_depth
	mov____$i32,%ebx %0x0
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_display_helper_8_break
	mov____$i32,%eax %0x7
	leave
	ret
	jmp32  %_display_helper_8_break
:_display_helper_8_break
					# g_depth = g_depth - 1
	mov____0x32,%eax &g_depth
	add____$i8,%eax !0x-1
	mov____%eax,0x32 &g_depth
	test___%eax,%eax
					# int t = g_cells[x].type;\n
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[x].type
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-4
					# if (t == 1) ...else ...
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_display_helper_34_else
					# if (!write_p) ...else ...
	mov____0x8(%ebp),%eax !0x18
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_display_helper_41_else
					# fdputc(g_cells[x].cdr, fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[x].cdr
	mov____(%ebx),%ebx
	push___%ebx
	call32 %fdputc
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_display_helper_41_break
:_display_helper_41_else
					# fdputs("#", fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_323
	call32 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
					# long v = g_cells[x].cdr;\n
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[x].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-8
					# if (v == '\\0') ...else ...
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0x0
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_display_helper_84_else
					# fdputs("\\nul", fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_324
	call32 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_display_helper_84_break
:_display_helper_84_else
					# if (v == '\\a') ...else ...
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_display_helper_99_else
					# fdputs("\\alarm", fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_325
	call32 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_display_helper_99_break
:_display_helper_99_else
					# if (v == '\\b') ...else ...
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0x8
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_display_helper_114_else
					# fdputs("\\backspace", fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_326
	call32 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_display_helper_114_break
:_display_helper_114_else
					# if (v == '\\t') ...else ...
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0x9
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_display_helper_129_else
					# fdputs("\\tab", fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_327
	call32 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_display_helper_129_break
:_display_helper_129_else
					# if (v == '\\n') ...else ...
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0xa
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_display_helper_144_else
					# fdputs("\\newline", fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_328
	call32 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_display_helper_144_break
:_display_helper_144_else
					# if (v == '\\v') ...else ...
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0xb
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_display_helper_159_else
					# fdputs("\\vtab", fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_329
	call32 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_display_helper_159_break
:_display_helper_159_else
					# if (v == '\\f') ...else ...
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0xc
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_display_helper_174_else
					# fdputs("\\page", fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_330
	call32 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_display_helper_174_break
:_display_helper_174_else
					# if (v == 13) ...else ...
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0xd
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_display_helper_189_else
					# fdputs("\\return", fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_331
	call32 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_display_helper_189_break
:_display_helper_189_else
					# if (v == ' ') ...else ...
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0x20
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_display_helper_204_else
					# fdputs("\\space", fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_332
	call32 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_display_helper_204_break
:_display_helper_204_else
					# if (v >= 32 && v <= 127) ...
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0x20
	sub____%ebx,%eax
	setge__%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_display_helper_219_break
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0x7f
	sub____%ebx,%eax
	setle__%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_display_helper_219_break
					# fdputc('\\', fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	mov____$i32,%ebx %0x5c
	push___%ebx
	call32 %fdputc
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_display_helper_219_break
:_display_helper_219_break
					# fdputc(g_cells[x].cdr, fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[x].cdr
	mov____(%ebx),%ebx
	push___%ebx
	call32 %fdputc
	add____$i8,%esp !0x8
	test___%eax,%eax
:_display_helper_204_break
:_display_helper_189_break
:_display_helper_174_break
:_display_helper_159_break
:_display_helper_144_break
:_display_helper_129_break
:_display_helper_114_break
:_display_helper_99_break
:_display_helper_84_break
:_display_helper_41_break
	jmp32  %_display_helper_34_break
:_display_helper_34_else
					# if (t == 2) ...else ...
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x2
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_display_helper_273_else
					# fdputs("#<closure ", fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_333
	call32 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
					# SCM circ = g_cells[g_cells[x].cdr].car;\n
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[x].cdr
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[g_cells[x].cdr].car
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-8
					# SCM name = g_cells[g_cells[circ].cdr].car;\n
	mov____0x8(%ebp),%eax !0x-8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[circ].cdr
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[g_cells[circ].cdr].car
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-c
					# SCM args = g_cells[g_cells[g_cells[x].cdr].cdr].car;\n
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[x].cdr
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[g_cells[x].cdr].cdr
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[g_cells[g_cells[x].cdr].cdr].car
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-10
					# display_helper(g_cells[name].car, 0, "", fd, 0)
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_334
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-c
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[name].car
	mov____(%ebx),%ebx
	push___%ebx
	call32 %display_helper
	add____$i8,%esp !0x14
	test___%eax,%eax
					# fdputc(' ', fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	mov____$i32,%ebx %0x20
	push___%ebx
	call32 %fdputc
	add____$i8,%esp !0x8
	test___%eax,%eax
					# display_helper(args, 0, "", fd, 0)
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_334
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-10
	push___%ebx
	call32 %display_helper
	add____$i8,%esp !0x14
	test___%eax,%eax
					# fdputs(">", fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_181
	call32 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_display_helper_273_break
:_display_helper_273_else
					# if (t == 5) ...else ...
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x5
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_display_helper_394_else
					# fdputs("#<macro ", fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_335
	call32 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
					# display_helper(g_cells[x].cdr, cont, "", fd, 0)
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_334
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[x].cdr
	mov____(%ebx),%ebx
	push___%ebx
	call32 %display_helper
	add____$i8,%esp !0x14
	test___%eax,%eax
					# fdputs(">", fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_181
	call32 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_display_helper_394_break
:_display_helper_394_else
					# if (t == 15) ...else ...
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0xf
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_display_helper_438_else
					# fdputs("#<variable ", fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_336
	call32 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
					# display_helper(g_cells[g_cells[x].car].car, cont, "", fd, 0)
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_334
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[x].car
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[g_cells[x].car].car
	mov____(%ebx),%ebx
	push___%ebx
	call32 %display_helper
	add____$i8,%esp !0x14
	test___%eax,%eax
					# fdputs(">", fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_181
	call32 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_display_helper_438_break
:_display_helper_438_else
					# if (t == 6) ...else ...
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x6
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_display_helper_493_else
					# fdputs(itoa(g_cells[x].cdr), fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
					# itoa(g_cells[x].cdr)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[x].cdr
	mov____(%ebx),%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 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_display_helper_493_break
:_display_helper_493_else
					# if (t == 7) ...else ...
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_display_helper_529_else
					# if (!cont) ...
	mov____0x8(%ebp),%eax !0xc
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_display_helper_536_break
					# fdputs("(", fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_337
	call32 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_display_helper_536_break
:_display_helper_536_break
					# if (g_cells[x].car == 9 && g_cells[g_cells[x].cdr].car != 8) ...else ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[x].car
	mov____(%eax),%eax
	mov____$i32,%ebx %0x9
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_display_helper_551_else
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[x].cdr
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[g_cells[x].cdr].car
	mov____(%eax),%eax
	mov____$i32,%ebx %0x8
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_display_helper_551_else
					# fdputs("(*circ* . ", fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_338
	call32 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
					# int i = 0;\n
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x-8
					# x = g_cells[x].cdr
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[x].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# while (x != 1 && i++ < 10) ...
	jmp32  %_display_helper_607_continue
:_display_helper_607_loop
					# fdisplay_(g_cells[g_cells[x].car].car, fd, write_p)
	mov____0x8(%ebp),%ebx !0x18
	push___%ebx
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[x].car
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[g_cells[x].car].car
	mov____(%ebx),%ebx
	push___%ebx
	call32 %fdisplay_
	add____$i8,%esp !0xc
	test___%eax,%eax
					# fdputs(" ", fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_339
	call32 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
					# x = g_cells[x].cdr
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[x].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
:_display_helper_607_continue
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_display_helper_607_break
	mov____0x8(%ebp),%eax !0x-8
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-8
	add____$i8,(%ebx) !0x1
	mov____$i32,%ebx %0xa
	sub____%ebx,%eax
	setl___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_display_helper_607_break
	jmp32  %_display_helper_607_loop
:_display_helper_607_break
					# fdputs(" ...)", fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_340
	call32 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_display_helper_551_break
:_display_helper_551_else
					# if (x && x != 1) ...
	mov____0x8(%ebp),%eax !0x8
					# jmp test LABEL
	test___%eax,%eax
	je32   %_display_helper_686_break
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_display_helper_686_break
					# fdisplay_(g_cells[x].car, fd, write_p)
	mov____0x8(%ebp),%ebx !0x18
	push___%ebx
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[x].car
	mov____(%ebx),%ebx
	push___%ebx
	call32 %fdisplay_
	add____$i8,%esp !0xc
	test___%eax,%eax
	jmp32  %_display_helper_686_break
:_display_helper_686_break
					# if (g_cells[x].cdr && g_cells[g_cells[x].cdr].type == 7) ...else ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[x].cdr
	mov____(%eax),%eax
					# jmp test LABEL
	test___%eax,%eax
	je32   %_display_helper_721_else
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[x].cdr
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[g_cells[x].cdr].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_display_helper_721_else
					# display_helper(g_cells[x].cdr, 1, " ", fd, write_p)
	mov____0x8(%ebp),%ebx !0x18
	push___%ebx
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_339
	mov____$i32,%ebx %0x1
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[x].cdr
	mov____(%ebx),%ebx
	push___%ebx
	call32 %display_helper
	add____$i8,%esp !0x14
	test___%eax,%eax
	jmp32  %_display_helper_721_break
:_display_helper_721_else
					# if (g_cells[x].cdr && g_cells[x].cdr != 1) ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[x].cdr
	mov____(%eax),%eax
					# jmp test LABEL
	test___%eax,%eax
	je32   %_display_helper_778_break
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[x].cdr
	mov____(%eax),%eax
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_display_helper_778_break
					# if (g_cells[g_cells[x].cdr].type != 7) ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[x].cdr
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[g_cells[x].cdr].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_display_helper_805_break
					# fdputs(" . ", fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_341
	call32 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_display_helper_805_break
:_display_helper_805_break
					# fdisplay_(g_cells[x].cdr, fd, write_p)
	mov____0x8(%ebp),%ebx !0x18
	push___%ebx
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[x].cdr
	mov____(%ebx),%ebx
	push___%ebx
	call32 %fdisplay_
	add____$i8,%esp !0xc
	test___%eax,%eax
	jmp32  %_display_helper_778_break
:_display_helper_778_break
:_display_helper_721_break
:_display_helper_551_break
					# if (!cont) ...
	mov____0x8(%ebp),%eax !0xc
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_display_helper_860_break
					# fdputs(")", fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_342
	call32 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_display_helper_860_break
:_display_helper_860_break
	jmp32  %_display_helper_529_break
:_display_helper_529_else
					# if ((((t == 4 || t == 8) || t == 10) || t == 11) || t == 13) ...else ...
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x4
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_display_helper_877_else_b_740_b_740_b_740_b_740
	jmp32  %_display_helper_877_else_b_740_b_740_b_740_skip_b_740
:_display_helper_877_else_b_740_b_740_b_740_b_740
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x8
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_display_helper_877_else_b_740_b_740_b_740
:_display_helper_877_else_b_740_b_740_b_740_skip_b_740
	jmp32  %_display_helper_877_else_b_740_b_740_skip_b_740
:_display_helper_877_else_b_740_b_740_b_740
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0xa
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_display_helper_877_else_b_740_b_740
:_display_helper_877_else_b_740_b_740_skip_b_740
	jmp32  %_display_helper_877_else_b_740_skip_b_740
:_display_helper_877_else_b_740_b_740
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0xb
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_display_helper_877_else_b_740
:_display_helper_877_else_b_740_skip_b_740
	jmp32  %_display_helper_877_else_skip_b_740
:_display_helper_877_else_b_740
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0xd
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_display_helper_877_else
:_display_helper_877_else_skip_b_740
					# if (t == 8) ...
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x8
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_display_helper_920_break
					# fdputs("#<port ", fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_343
	call32 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
					# fdputs(itoa(g_cells[x].car), fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
					# itoa(g_cells[x].car)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[x].car
	mov____(%ebx),%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 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
					# fdputs(" ", fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_339
	call32 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
					# x = g_cells[x].cdr
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[x].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
	jmp32  %_display_helper_920_break
:_display_helper_920_break
					# if (t == 4) ...
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x4
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_display_helper_979_break
					# fdputs("#:", fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_344
	call32 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_display_helper_979_break
:_display_helper_979_break
					# if (write_p && t == 11 || t == 8) ...
	mov____0x8(%ebp),%eax !0x18
					# jmp test LABEL
	test___%eax,%eax
	je32   %_display_helper_994_break_b_839
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0xb
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_display_helper_994_break_b_839
	jmp32  %_display_helper_994_break_skip_b_839
:_display_helper_994_break_b_839
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x8
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_display_helper_994_break
:_display_helper_994_break_skip_b_839
					# fdputc('\"', fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	mov____$i32,%ebx %0x22
	push___%ebx
	call32 %fdputc
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_display_helper_994_break
:_display_helper_994_break
					# char *s = (char*)&g_cells[g_cells[x].cdr].cdr;\n
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[x].cdr
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
	mov____%eax,0x8(%ebp) !0x-8
					# size_t length = g_cells[x].car;\n
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[x].car
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-c
					# for (size_t i = 0; i < length; i++) ...
					# size_t i = 0;\n
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x-10
	jmp32  %_display_helper_1048_initial_skip
:_display_helper_1048_loop
					# long v = write_p? s[i]: -1;\n
					# write_p? ...: ...
	mov____0x8(%ebp),%eax !0x18
					# jmp test LABEL
	test___%eax,%eax
	je32   %_display_helper_1055_else
	mov____0x8(%ebp),%eax !0x-10
	mov____0x8(%ebp),%ebx !0x-8
	add____%ebx,%eax
	movzbl_(%eax),%eax
	movsbl_%al,%eax
	jmp32  %_display_helper_1055_break
:_display_helper_1055_else
	mov____$i32,%eax %0x-1
:_display_helper_1055_break
	mov____%eax,0x8(%ebp) !0x-14
					# if (v == '\\0') ...else ...
	mov____0x8(%ebp),%eax !0x-14
	mov____$i32,%ebx %0x0
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_display_helper_1070_else
					# fdputs("\\0", fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_345
	call32 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_display_helper_1070_break
:_display_helper_1070_else
					# if (v == '\\a') ...else ...
	mov____0x8(%ebp),%eax !0x-14
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_display_helper_1085_else
					# fdputs("\\a", fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_346
	call32 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_display_helper_1085_break
:_display_helper_1085_else
					# if (v == '\\b') ...else ...
	mov____0x8(%ebp),%eax !0x-14
	mov____$i32,%ebx %0x8
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_display_helper_1100_else
					# fdputs("\\b", fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_347
	call32 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_display_helper_1100_break
:_display_helper_1100_else
					# if (v == '\\t') ...else ...
	mov____0x8(%ebp),%eax !0x-14
	mov____$i32,%ebx %0x9
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_display_helper_1115_else
					# fdputs("\\t", fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_348
	call32 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_display_helper_1115_break
:_display_helper_1115_else
					# if (v == '\\v') ...else ...
	mov____0x8(%ebp),%eax !0x-14
	mov____$i32,%ebx %0xb
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_display_helper_1130_else
					# fdputs("\\v", fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_349
	call32 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_display_helper_1130_break
:_display_helper_1130_else
					# if (v == '\\n') ...else ...
	mov____0x8(%ebp),%eax !0x-14
	mov____$i32,%ebx %0xa
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_display_helper_1145_else
					# fdputs("\\n", fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_350
	call32 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_display_helper_1145_break
:_display_helper_1145_else
					# if (v == '\\f') ...else ...
	mov____0x8(%ebp),%eax !0x-14
	mov____$i32,%ebx %0xc
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_display_helper_1160_else
					# fdputs("\\f", fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_351
	call32 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_display_helper_1160_break
:_display_helper_1160_else
					# if (v == 13) ...else ...
	mov____0x8(%ebp),%eax !0x-14
	mov____$i32,%ebx %0xd
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_display_helper_1175_else
					# fdputs("\\r", fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_352
	call32 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_display_helper_1175_break
:_display_helper_1175_else
					# if (v == 27) ...else ...
	mov____0x8(%ebp),%eax !0x-14
	mov____$i32,%ebx %0x1b
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_display_helper_1190_else
					# fdputs("\\e", fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_353
	call32 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_display_helper_1190_break
:_display_helper_1190_else
					# if (v == '\\') ...else ...
	mov____0x8(%ebp),%eax !0x-14
	mov____$i32,%ebx %0x5c
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_display_helper_1205_else
					# fdputs("\\\\", fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_354
	call32 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_display_helper_1205_break
:_display_helper_1205_else
					# if (v == '\"') ...else ...
	mov____0x8(%ebp),%eax !0x-14
	mov____$i32,%ebx %0x22
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_display_helper_1220_else
					# fdputs("\\"", fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_355
	call32 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_display_helper_1220_break
:_display_helper_1220_else
					# fdputc(s[i], fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-10
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-8
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	movzbl_(%ebx),%ebx
	movsbl_%bl,%ebx
	push___%ebx
	call32 %fdputc
	add____$i8,%esp !0x8
	test___%eax,%eax
:_display_helper_1220_break
:_display_helper_1205_break
:_display_helper_1190_break
:_display_helper_1175_break
:_display_helper_1160_break
:_display_helper_1145_break
:_display_helper_1130_break
:_display_helper_1115_break
:_display_helper_1100_break
:_display_helper_1085_break
:_display_helper_1070_break
:_display_helper_1048_continue
	mov____0x8(%ebp),%eax !0x-10
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-10
	add____$i8,(%ebx) !0x1
:_display_helper_1048_initial_skip
	mov____0x8(%ebp),%eax !0x-10
	mov____0x8(%ebp),%ebx !0x-c
	sub____%ebx,%eax
	setb___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_display_helper_1048_break
	jmp32  %_display_helper_1048_loop
:_display_helper_1048_break
					# if (write_p && t == 11 || t == 8) ...
	mov____0x8(%ebp),%eax !0x18
					# jmp test LABEL
	test___%eax,%eax
	je32   %_display_helper_1273_break_b_1069
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0xb
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_display_helper_1273_break_b_1069
	jmp32  %_display_helper_1273_break_skip_b_1069
:_display_helper_1273_break_b_1069
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x8
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_display_helper_1273_break
:_display_helper_1273_break_skip_b_1069
					# fdputc('\"', fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	mov____$i32,%ebx %0x22
	push___%ebx
	call32 %fdputc
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_display_helper_1273_break
:_display_helper_1273_break
					# if (t == 8) ...
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x8
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_display_helper_1302_break
					# fdputs(">", fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_181
	call32 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_display_helper_1302_break
:_display_helper_1302_break
	jmp32  %_display_helper_877_break
:_display_helper_877_else
					# if (t == 9) ...else ...
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x9
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_display_helper_1319_else
					# fdisplay_(g_cells[x].car, fd, write_p)
	mov____0x8(%ebp),%ebx !0x18
	push___%ebx
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[x].car
	mov____(%ebx),%ebx
	push___%ebx
	call32 %fdisplay_
	add____$i8,%esp !0xc
	test___%eax,%eax
	jmp32  %_display_helper_1319_break
:_display_helper_1319_else
					# if (t == 12) ...else ...
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0xc
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_display_helper_1348_else
					# SCM printer = struct_ref_(x, 1);\n
					# struct_ref_(x, 1)
	mov____$i32,%ebx %0x1
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %struct_ref_
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-8
					# if (g_cells[printer].type == 9) ...
	mov____0x8(%ebp),%eax !0x-8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[printer].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x9
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_display_helper_1363_break
					# printer = g_cells[printer].car
	mov____0x8(%ebp),%eax !0x-8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[printer].car
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
	jmp32  %_display_helper_1363_break
:_display_helper_1363_break
					# if (g_cells[printer].type == 2 || builtin_p(printer) == 3) ...else ...
	mov____0x8(%ebp),%eax !0x-8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[printer].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x2
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_display_helper_1390_else_b_1165
	jmp32  %_display_helper_1390_else_skip_b_1165
:_display_helper_1390_else_b_1165
					# builtin_p(printer)
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	call32 %builtin_p
	add____$i8,%esp !0x4
	mov____$i32,%ebx %0x3
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_display_helper_1390_else
:_display_helper_1390_else_skip_b_1165
					# apply(printer, cons(x, 1), r0)
	mov____0x32,%ebx &r0
	push___%ebx
					# cons(x, 1)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x1
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	call32 %apply
	add____$i8,%esp !0xc
	test___%eax,%eax
	jmp32  %_display_helper_1390_break
:_display_helper_1390_else
					# fdputs("#<", fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_302
	call32 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
					# fdisplay_(g_cells[x].cdr, fd, write_p)
	mov____0x8(%ebp),%ebx !0x18
	push___%ebx
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[x].cdr
	mov____(%ebx),%ebx
	push___%ebx
	call32 %fdisplay_
	add____$i8,%esp !0xc
	test___%eax,%eax
					# SCM t = g_cells[x].car;\n
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[x].car
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-c
					# long size = g_cells[x].car;\n
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[x].car
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-10
					# for (long i = 2; i < size; i++) ...
					# long i = 2;\n
	mov____$i32,%eax %0x2
	mov____%eax,0x8(%ebp) !0x-14
	jmp32  %_display_helper_1487_initial_skip
:_display_helper_1487_loop
					# fdputc(' ', fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	mov____$i32,%ebx %0x20
	push___%ebx
	call32 %fdputc
	add____$i8,%esp !0x8
	test___%eax,%eax
					# fdisplay_(g_cells[x].cdr + i, fd, write_p)
	mov____0x8(%ebp),%ebx !0x18
	push___%ebx
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[x].cdr
	mov____(%ebx),%ebx
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-14
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %fdisplay_
	add____$i8,%esp !0xc
	test___%eax,%eax
:_display_helper_1487_continue
	mov____0x8(%ebp),%eax !0x-14
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-14
	add____$i8,(%ebx) !0x1
:_display_helper_1487_initial_skip
	mov____0x8(%ebp),%eax !0x-14
	mov____0x8(%ebp),%ebx !0x-10
	sub____%ebx,%eax
	setl___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_display_helper_1487_break
	jmp32  %_display_helper_1487_loop
:_display_helper_1487_break
					# fdputc('>', fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	mov____$i32,%ebx %0x3e
	push___%ebx
	call32 %fdputc
	add____$i8,%esp !0x8
	test___%eax,%eax
:_display_helper_1390_break
	jmp32  %_display_helper_1348_break
:_display_helper_1348_else
					# if (t == 16) ...else ...
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x10
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_display_helper_1548_else
					# fdputs("#(", fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_356
	call32 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
					# SCM t = g_cells[x].car;\n
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[x].car
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-8
					# for (long i = 0; i < g_cells[x].car; i++) ...
					# long i = 0;\n
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x-c
	jmp32  %_display_helper_1571_initial_skip
:_display_helper_1571_loop
					# if (i) ...
	mov____0x8(%ebp),%eax !0x-c
					# jmp test LABEL
	test___%eax,%eax
	je32   %_display_helper_1577_break
					# fdputc(' ', fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	mov____$i32,%ebx %0x20
	push___%ebx
	call32 %fdputc
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_display_helper_1577_break
:_display_helper_1577_break
					# fdisplay_(g_cells[x].cdr + i, fd, write_p)
	mov____0x8(%ebp),%ebx !0x18
	push___%ebx
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[x].cdr
	mov____(%ebx),%ebx
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-c
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %fdisplay_
	add____$i8,%esp !0xc
	test___%eax,%eax
:_display_helper_1571_continue
	mov____0x8(%ebp),%eax !0x-c
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-c
	add____$i8,(%ebx) !0x1
:_display_helper_1571_initial_skip
	mov____0x8(%ebp),%eax !0x-c
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[x].car
	mov____(%ebx),%ebx
	sub____%ebx,%eax
	setl___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_display_helper_1571_break
	jmp32  %_display_helper_1571_loop
:_display_helper_1571_break
					# fdputc(')', fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	mov____$i32,%ebx %0x29
	push___%ebx
	call32 %fdputc
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_display_helper_1548_break
:_display_helper_1548_else
					# fdputs("<", fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_182
	call32 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
					# fdputs(itoa(t), fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
					# itoa(t)
	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 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
					# fdputs(":", fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_357
	call32 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
					# fdputs(itoa(x), fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
					# itoa(x)
	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 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
					# fdputs(">", fd)
	mov____0x8(%ebp),%ebx !0x14
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_181
	call32 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
:_display_helper_1548_break
:_display_helper_1348_break
:_display_helper_1319_break
:_display_helper_877_break
:_display_helper_529_break
:_display_helper_493_break
:_display_helper_438_break
:_display_helper_394_break
:_display_helper_273_break
:_display_helper_34_break
	mov____$i32,%eax %0x0
	leave
	ret


:display_
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# g_depth = 5
	mov____$i32,%eax %0x5
	mov____%eax,0x32 &g_depth
	test___%eax,%eax
					# display_helper(x, 0, "", __stdout, 0)
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____0x32,%ebx &__stdout
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_334
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %display_helper
	add____$i8,%esp !0x14
	leave
	ret


:display_error_
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# g_depth = 5
	mov____$i32,%eax %0x5
	mov____%eax,0x32 &g_depth
	test___%eax,%eax
					# display_helper(x, 0, "", __stderr, 0)
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____0x32,%ebx &__stderr
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_334
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %display_helper
	add____$i8,%esp !0x14
	leave
	ret


:display_port_
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# g_cells[p].type == 6? ...: ...
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[p].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x6
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_display_port__1_else
	mov____$i32,%eax %0x0
	movzbl_%al,%eax
	jmp32  %_display_port__1_break
:_display_port__1_else
					# assert_fail("g_cells[p].type == 6")
	push___$i32 &_string_src/mes.x86-mes-S_358
	call32 %assert_fail
	add____$i8,%esp !0x4
:_display_port__1_break
					# fdisplay_(x, g_cells[p].cdr, 0)
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[p].cdr
	mov____(%ebx),%ebx
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %fdisplay_
	add____$i8,%esp !0xc
	leave
	ret


:write_
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# g_depth = 5
	mov____$i32,%eax %0x5
	mov____%eax,0x32 &g_depth
	test___%eax,%eax
					# display_helper(x, 0, "", __stdout, 1)
	mov____$i32,%ebx %0x1
	push___%ebx
	mov____0x32,%ebx &__stdout
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_334
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %display_helper
	add____$i8,%esp !0x14
	leave
	ret


:write_error_
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# g_depth = 5
	mov____$i32,%eax %0x5
	mov____%eax,0x32 &g_depth
	test___%eax,%eax
					# display_helper(x, 0, "", __stderr, 1)
	mov____$i32,%ebx %0x1
	push___%ebx
	mov____0x32,%ebx &__stderr
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_334
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %display_helper
	add____$i8,%esp !0x14
	leave
	ret


:write_port_
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# g_cells[p].type == 6? ...: ...
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[p].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x6
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_write_port__1_else
	mov____$i32,%eax %0x0
	movzbl_%al,%eax
	jmp32  %_write_port__1_break
:_write_port__1_else
					# assert_fail("g_cells[p].type == 6")
	push___$i32 &_string_src/mes.x86-mes-S_358
	call32 %assert_fail
	add____$i8,%esp !0x4
:_write_port__1_break
					# fdisplay_(x, g_cells[p].cdr, 1)
	mov____$i32,%ebx %0x1
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[p].cdr
	mov____(%ebx),%ebx
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %fdisplay_
	add____$i8,%esp !0xc
	leave
	ret


:fdisplay_
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# g_depth = 5
	mov____$i32,%eax %0x5
	mov____%eax,0x32 &g_depth
	test___%eax,%eax
					# display_helper(x, 0, "", fd, write_p)
	mov____0x8(%ebp),%ebx !0x10
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_334
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %display_helper
	add____$i8,%esp !0x14
	leave
	ret


:exit_
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# g_cells[x].type == 6? ...: ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[x].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x6
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_exit__1_else
	mov____$i32,%eax %0x0
	movzbl_%al,%eax
	jmp32  %_exit__1_break
:_exit__1_else
					# assert_fail("g_cells[x].type == 6")
	push___$i32 &_string_src/mes.x86-mes-S_306
	call32 %assert_fail
	add____$i8,%esp !0x4
:_exit__1_break
					# exit(g_cells[x].cdr)
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[x].cdr
	mov____(%ebx),%ebx
	push___%ebx
	call32 %exit
	add____$i8,%esp !0x4
	test___%eax,%eax
	leave
	ret


:frame_printer
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# fdputs("#<", __stdout)
	mov____0x32,%ebx &__stdout
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_302
	call32 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
					# display_(struct_ref_(frame, 2))
					# struct_ref_(frame, 2)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x2
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %struct_ref_
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %display_
	add____$i8,%esp !0x4
	test___%eax,%eax
					# fdputc(' ', __stdout)
	mov____0x32,%ebx &__stdout
	push___%ebx
	mov____$i32,%ebx %0x20
	push___%ebx
	call32 %fdputc
	add____$i8,%esp !0x8
	test___%eax,%eax
					# fdputs("procedure: ", __stdout)
	mov____0x32,%ebx &__stdout
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_359
	call32 %fdputs
	add____$i8,%esp !0x8
	test___%eax,%eax
					# display_(struct_ref_(frame, 3))
					# struct_ref_(frame, 3)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x3
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %struct_ref_
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %display_
	add____$i8,%esp !0x4
	test___%eax,%eax
					# fdputc('>', __stdout)
	mov____0x32,%ebx &__stdout
	push___%ebx
	mov____$i32,%ebx %0x3e
	push___%ebx
	call32 %fdputc
	add____$i8,%esp !0x8
	test___%eax,%eax
	leave
	ret


:make_frame_type
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# SCM record_type = 88;\n
	mov____$i32,%eax %0x58
	mov____%eax,0x8(%ebp) !0x-4
					# SCM fields = 1;\n
	mov____$i32,%eax %0x1
	mov____%eax,0x8(%ebp) !0x-8
					# fields = cons(87, fields)
					# cons(87, fields)
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	mov____$i32,%ebx %0x57
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
					# fields = cons(fields, 1)
					# cons(fields, 1)
	mov____$i32,%ebx %0x1
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
					# fields = cons(84, fields)
					# cons(84, fields)
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	mov____$i32,%ebx %0x54
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
					# make_struct(record_type, fields, 7)
	mov____$i32,%ebx %0x7
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %make_struct
	add____$i8,%esp !0xc
	leave
	ret


:make_frame
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# SCM frame_type = make_frame_type();\n
					# make_frame_type()
	call32 %make_frame_type
	add____$i8,%esp !0x0
	mov____%eax,0x8(%ebp) !0x-4
					# long array_index = STACK_SIZE - index*5;\n
	mov____0x32,%eax &STACK_SIZE
	mov____0x8(%ebp),%ebx !0xc
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x5
	mul____%ebx
	mov____%eax,%ebx
	pop____%eax
	sub____%ebx,%eax
	mov____%eax,0x8(%ebp) !0x-8
					# SCM procedure = g_stack_array[array_index + 4];\n
	mov____0x8(%ebp),%eax !0x-8
	add____$i8,%eax !0x4
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_stack_array
	add____%ebx,%eax
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-c
					# if (!procedure) ...
	mov____0x8(%ebp),%eax !0x-c
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_make_frame_22_break
					# procedure = 2
	mov____$i32,%eax %0x2
	mov____%eax,0x8(%ebp) !0x-c
	test___%eax,%eax
	jmp32  %_make_frame_22_break
:_make_frame_22_break
					# SCM values = 1;\n
	mov____$i32,%eax %0x1
	mov____%eax,0x8(%ebp) !0x-10
					# values = cons(procedure, values)
					# cons(procedure, values)
	mov____0x8(%ebp),%ebx !0x-10
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-c
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-10
	test___%eax,%eax
					# values = cons(84, values)
					# cons(84, values)
	mov____0x8(%ebp),%ebx !0x-10
	push___%ebx
	mov____$i32,%ebx %0x54
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-10
	test___%eax,%eax
					# make_struct(frame_type, values, cstring_to_symbol("frame-printer"))
					# cstring_to_symbol("frame-printer")
	push___%eax
	push___%eax
	mov____%ebx,%eax
	push___$i32 &_string_src/mes.x86-mes-S_172
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cstring_to_symbol
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-10
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %make_struct
	add____$i8,%esp !0xc
	leave
	ret


:make_stack_type
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# SCM record_type = 88;\n
	mov____$i32,%eax %0x58
	mov____%eax,0x8(%ebp) !0x-4
					# SCM fields = 1;\n
	mov____$i32,%eax %0x1
	mov____%eax,0x8(%ebp) !0x-8
					# fields = cons(cstring_to_symbol("frames"), fields)
					# cons(cstring_to_symbol("frames"), fields)
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
					# cstring_to_symbol("frames")
	push___%eax
	push___%eax
	mov____%ebx,%eax
	push___$i32 &_string_src/mes.x86-mes-S_360
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cstring_to_symbol
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
					# fields = cons(fields, 1)
					# cons(fields, 1)
	mov____$i32,%ebx %0x1
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
					# fields = cons(90, fields)
					# cons(90, fields)
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	mov____$i32,%ebx %0x5a
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
					# make_struct(record_type, fields, 7)
	mov____$i32,%ebx %0x7
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %make_struct
	add____$i8,%esp !0xc
	leave
	ret


:make_stack
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# SCM stack_type = make_stack_type();\n
					# make_stack_type()
	call32 %make_stack_type
	add____$i8,%esp !0x0
	mov____%eax,0x8(%ebp) !0x-4
					# long size = (STACK_SIZE - g_stack)/5;\n
	mov____0x32,%eax &STACK_SIZE
	mov____0x32,%ebx &g_stack
	sub____%ebx,%eax
	mov____$i32,%ebx %0x5
	xor____%edx,%edx
	div___%ebx
	mov____%eax,0x8(%ebp) !0x-8
					# SCM frames = make_vector__(size);\n
					# make_vector__(size)
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	call32 %make_vector__
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-c
					# for (long i = 0; i < size; i++) ...
					# long i = 0;\n
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x-10
	jmp32  %_make_stack_18_initial_skip
:_make_stack_18_loop
					# SCM frame = make_frame(stack, i);\n
					# make_frame(stack, i)
	mov____0x8(%ebp),%ebx !0x-10
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %make_frame
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-14
					# vector_set_x_(frames, i, frame)
	mov____0x8(%ebp),%ebx !0x-14
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-10
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-c
	push___%ebx
	call32 %vector_set_x_
	add____$i8,%esp !0xc
	test___%eax,%eax
:_make_stack_18_continue
	mov____0x8(%ebp),%eax !0x-10
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-10
	add____$i8,(%ebx) !0x1
:_make_stack_18_initial_skip
	mov____0x8(%ebp),%eax !0x-10
	mov____0x8(%ebp),%ebx !0x-8
	sub____%ebx,%eax
	setl___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_make_stack_18_break
	jmp32  %_make_stack_18_loop
:_make_stack_18_break
					# SCM values = 1;\n
	mov____$i32,%eax %0x1
	mov____%eax,0x8(%ebp) !0x-10
					# values = cons(frames, values)
					# cons(frames, values)
	mov____0x8(%ebp),%ebx !0x-10
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-c
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-10
	test___%eax,%eax
					# values = cons(90, values)
					# cons(90, values)
	mov____0x8(%ebp),%ebx !0x-10
	push___%ebx
	mov____$i32,%ebx %0x5a
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-10
	test___%eax,%eax
					# make_struct(stack_type, values, 7)
	mov____$i32,%ebx %0x7
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-10
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %make_struct
	add____$i8,%esp !0xc
	leave
	ret


:stack_length
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# SCM frames = struct_ref_(stack, 3);\n
					# struct_ref_(stack, 3)
	mov____$i32,%ebx %0x3
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %struct_ref_
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-4
					# vector_length(frames)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %vector_length
	add____$i8,%esp !0x4
	leave
	ret


:stack_ref
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# SCM frames = struct_ref_(stack, 3);\n
					# struct_ref_(stack, 3)
	mov____$i32,%ebx %0x3
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %struct_ref_
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-4
					# vector_ref(frames, index)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %vector_ref
	add____$i8,%esp !0x8
	leave
	ret


:xassq
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# while (a != 1 && x != g_cells[g_cells[a].car].cdr) ...
	jmp32  %_xassq_1_continue
:_xassq_1_loop
					# a = g_cells[a].cdr
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[a].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0xc
	test___%eax,%eax
:_xassq_1_continue
	mov____0x8(%ebp),%eax !0xc
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_xassq_1_break
	mov____0x8(%ebp),%eax !0x8
	mov____0x8(%ebp),%ebx !0xc
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[a].car
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[g_cells[a].car].cdr
	mov____(%ebx),%ebx
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_xassq_1_break
	jmp32  %_xassq_1_loop
:_xassq_1_break
					# a != 1? ...: ...
	mov____0x8(%ebp),%eax !0xc
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_xassq_56_else
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[a].car
	mov____(%eax),%eax
	jmp32  %_xassq_56_break
:_xassq_56_else
	mov____$i32,%eax %0x2
:_xassq_56_break
	leave
	ret


:memq
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# int t = g_cells[x].type;\n
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[x].type
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-4
					# if (t == 1 || t == 6) ...else ...
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_memq_11_else_b_9
	jmp32  %_memq_11_else_skip_b_9
:_memq_11_else_b_9
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x6
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_memq_11_else
:_memq_11_else_skip_b_9
					# SCM v = g_cells[x].cdr;\n
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[x].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-8
					# while (a != 1 && v != g_cells[g_cells[a].car].cdr) ...
	jmp32  %_memq_37_continue
:_memq_37_loop
					# a = g_cells[a].cdr
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[a].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0xc
	test___%eax,%eax
:_memq_37_continue
	mov____0x8(%ebp),%eax !0xc
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_memq_37_break
	mov____0x8(%ebp),%eax !0x-8
	mov____0x8(%ebp),%ebx !0xc
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[a].car
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[g_cells[a].car].cdr
	mov____(%ebx),%ebx
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_memq_37_break
	jmp32  %_memq_37_loop
:_memq_37_break
	jmp32  %_memq_11_break
:_memq_11_else
					# if (t == 4) ...else ...
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x4
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_memq_94_else
					# while (a != 1 && (g_cells[g_cells[a].car].type != 4 || string_equal_p(x, \n    g_cells[a].car) == 2)) ...
	jmp32  %_memq_101_continue
:_memq_101_loop
					# a = g_cells[a].cdr
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[a].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0xc
	test___%eax,%eax
:_memq_101_continue
	mov____0x8(%ebp),%eax !0xc
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_memq_101_break
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[a].car
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[g_cells[a].car].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x4
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_memq_101_break_b_104
	jmp32  %_memq_101_break_skip_b_104
:_memq_101_break_b_104
					# string_equal_p(x, g_cells[a].car)
	mov____0x8(%ebp),%ebx !0xc
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[a].car
	mov____(%ebx),%ebx
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %string_equal_p
	add____$i8,%esp !0x8
	mov____$i32,%ebx %0x2
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_memq_101_break
:_memq_101_break_skip_b_104
	jmp32  %_memq_101_loop
:_memq_101_break
	jmp32  %_memq_94_break
:_memq_94_else
					# while (a != 1 && x != g_cells[a].car) ...
	jmp32  %_memq_175_continue
:_memq_175_loop
					# a = g_cells[a].cdr
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[a].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0xc
	test___%eax,%eax
:_memq_175_continue
	mov____0x8(%ebp),%eax !0xc
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_memq_175_break
	mov____0x8(%ebp),%eax !0x8
	mov____0x8(%ebp),%ebx !0xc
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[a].car
	mov____(%ebx),%ebx
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_memq_175_break
	jmp32  %_memq_175_loop
:_memq_175_break
:_memq_94_break
:_memq_11_break
					# a != 1? ...: ...
	mov____0x8(%ebp),%eax !0xc
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_memq_221_else
	mov____0x8(%ebp),%eax !0xc
	jmp32  %_memq_221_break
:_memq_221_else
	mov____$i32,%eax %0x2
:_memq_221_break
	leave
	ret


:equal2_p
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
:_equal2_p_label_equal2
					# if (a == b) ...
	mov____0x8(%ebp),%eax !0x8
	mov____0x8(%ebp),%ebx !0xc
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_equal2_p_2_break
	mov____$i32,%eax %0x3
	leave
	ret
	jmp32  %_equal2_p_2_break
:_equal2_p_2_break
					# if (g_cells[a].type == 7 && g_cells[b].type == 7) ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[a].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_equal2_p_13_break
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[b].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_equal2_p_13_break
					# if (equal2_p(g_cells[a].car, g_cells[b].car) == 3) ...
					# equal2_p(g_cells[a].car, g_cells[b].car)
	mov____0x8(%ebp),%ebx !0xc
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[b].car
	mov____(%ebx),%ebx
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[a].car
	mov____(%ebx),%ebx
	push___%ebx
	call32 %equal2_p
	add____$i8,%esp !0x8
	mov____$i32,%ebx %0x3
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_equal2_p_40_break
					# a = g_cells[a].cdr
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[a].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# b = g_cells[b].cdr
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[b].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0xc
	test___%eax,%eax
	jmp32  %_equal2_p_label_equal2
	jmp32  %_equal2_p_40_break
:_equal2_p_40_break
	mov____$i32,%eax %0x2
	leave
	ret
	jmp32  %_equal2_p_13_break
:_equal2_p_13_break
					# if (g_cells[a].type == 11 && g_cells[b].type == 11) ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[a].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0xb
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_equal2_p_103_break
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[b].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0xb
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_equal2_p_103_break
					# string_equal_p(a, b)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %string_equal_p
	add____$i8,%esp !0x8
	leave
	ret
	jmp32  %_equal2_p_103_break
:_equal2_p_103_break
					# if (g_cells[a].type == 16 && g_cells[b].type == 16) ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[a].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x10
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_equal2_p_139_break
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[b].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x10
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_equal2_p_139_break
					# if (g_cells[a].car != g_cells[b].car) ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[a].car
	mov____(%eax),%eax
	mov____0x8(%ebp),%ebx !0xc
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[b].car
	mov____(%ebx),%ebx
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_equal2_p_166_break
	mov____$i32,%eax %0x2
	leave
	ret
	jmp32  %_equal2_p_166_break
:_equal2_p_166_break
					# for (long i = 0; i < g_cells[a].car; i++) ...
					# long i = 0;\n
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x-4
	jmp32  %_equal2_p_197_initial_skip
:_equal2_p_197_loop
					# SCM ai = g_cells[a].cdr + i;\n
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[a].cdr
	mov____(%eax),%eax
	mov____0x8(%ebp),%ebx !0x-4
	add____%ebx,%eax
	mov____%eax,0x8(%ebp) !0x-8
					# SCM bi = g_cells[b].cdr + i;\n
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[b].cdr
	mov____(%eax),%eax
	mov____0x8(%ebp),%ebx !0x-4
	add____%ebx,%eax
	mov____%eax,0x8(%ebp) !0x-c
					# if (g_cells[ai].type == 9) ...
	mov____0x8(%ebp),%eax !0x-8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[ai].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x9
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_equal2_p_227_break
					# ai = g_cells[ai].car
	mov____0x8(%ebp),%eax !0x-8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[ai].car
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
	jmp32  %_equal2_p_227_break
:_equal2_p_227_break
					# if (g_cells[bi].type == 9) ...
	mov____0x8(%ebp),%eax !0x-c
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[bi].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x9
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_equal2_p_254_break
					# bi = g_cells[bi].car
	mov____0x8(%ebp),%eax !0x-c
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[bi].car
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-c
	test___%eax,%eax
	jmp32  %_equal2_p_254_break
:_equal2_p_254_break
					# if (equal2_p(ai, bi) == 2) ...
					# equal2_p(ai, bi)
	mov____0x8(%ebp),%ebx !0x-c
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	call32 %equal2_p
	add____$i8,%esp !0x8
	mov____$i32,%ebx %0x2
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_equal2_p_281_break
	mov____$i32,%eax %0x2
	leave
	ret
	jmp32  %_equal2_p_281_break
:_equal2_p_281_break
:_equal2_p_197_continue
	mov____0x8(%ebp),%eax !0x-4
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-4
	add____$i8,(%ebx) !0x1
:_equal2_p_197_initial_skip
	mov____0x8(%ebp),%eax !0x-4
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[a].car
	mov____(%ebx),%ebx
	sub____%ebx,%eax
	setl___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_equal2_p_197_break
	jmp32  %_equal2_p_197_loop
:_equal2_p_197_break
	mov____$i32,%eax %0x3
	leave
	ret
	jmp32  %_equal2_p_139_break
:_equal2_p_139_break
					# eq_p(a, b)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %eq_p
	add____$i8,%esp !0x8
	leave
	ret


:last_pair
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# while (x != 1 && g_cells[x].cdr != 1) ...
	jmp32  %_last_pair_1_continue
:_last_pair_1_loop
					# x = g_cells[x].cdr
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[x].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
:_last_pair_1_continue
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_last_pair_1_break
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[x].cdr
	mov____(%eax),%eax
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_last_pair_1_break
	jmp32  %_last_pair_1_loop
:_last_pair_1_break
	mov____0x8(%ebp),%eax !0x8
	leave
	ret


:pair_p
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# g_cells[x].type == 7? ...: ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[x].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_pair_p_1_else
	mov____$i32,%eax %0x3
	jmp32  %_pair_p_1_break
:_pair_p_1_else
	mov____$i32,%eax %0x2
:_pair_p_1_break
	leave
	ret


:make_vector__
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# SCM v = alloc(k);\n
					# alloc(k)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %alloc
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-4
					# SCM x = make_cell__(16, k, v);\n
					# make_cell__(16, k, v)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx %0x10
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-8
					# for (long i = 0; i < k; i++) ...
					# long i = 0;\n
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x-c
	jmp32  %_make_vector___17_initial_skip
:_make_vector___17_loop
					# g_cells[v + i] = g_cells[vector_entry(7)]
					# vector_entry(7)
	mov____$i32,%ebx %0x7
	push___%ebx
	call32 %vector_entry
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-4
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-c
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____(%eax),%ecx
	mov____%ecx,(%ebx)
	add____$i8,%ebx !0x4
	add____$i8,%eax !0x4
	mov____(%eax),%ecx
	mov____%ecx,(%ebx)
	add____$i8,%ebx !0x4
	add____$i8,%eax !0x4
	mov____(%eax),%ecx
	mov____%ecx,(%ebx)
	test___%eax,%eax
:_make_vector___17_continue
	mov____0x8(%ebp),%eax !0x-c
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-c
	add____$i8,(%ebx) !0x1
:_make_vector___17_initial_skip
	mov____0x8(%ebp),%eax !0x-c
	mov____0x8(%ebp),%ebx !0x8
	sub____%ebx,%eax
	setl___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_make_vector___17_break
	jmp32  %_make_vector___17_loop
:_make_vector___17_break
	mov____0x8(%ebp),%eax !0x-8
	leave
	ret


:make_vector_
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# make_vector__(g_cells[n].cdr)
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[n].cdr
	mov____(%ebx),%ebx
	push___%ebx
	call32 %make_vector__
	add____$i8,%esp !0x4
	leave
	ret


:vector_length
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# g_cells[x].type == 16? ...: ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[x].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x10
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_vector_length_1_else
	mov____$i32,%eax %0x0
	movzbl_%al,%eax
	jmp32  %_vector_length_1_break
:_vector_length_1_else
					# assert_fail("g_cells[x].type == 16")
	push___$i32 &_string_src/mes.x86-mes-S_361
	call32 %assert_fail
	add____$i8,%esp !0x4
:_vector_length_1_break
					# make_cell__(6, 0, (long)g_cells[x].car)
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[x].car
	mov____(%ebx),%ebx
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____$i32,%ebx %0x6
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	leave
	ret


:vector_ref_
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# g_cells[x].type == 16? ...: ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[x].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x10
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_vector_ref__1_else
	mov____$i32,%eax %0x0
	movzbl_%al,%eax
	jmp32  %_vector_ref__1_break
:_vector_ref__1_else
					# assert_fail("g_cells[x].type == 16")
	push___$i32 &_string_src/mes.x86-mes-S_361
	call32 %assert_fail
	add____$i8,%esp !0x4
:_vector_ref__1_break
					# i < g_cells[x].car? ...: ...
	mov____0x8(%ebp),%eax !0xc
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[x].car
	mov____(%ebx),%ebx
	sub____%ebx,%eax
	setl___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_vector_ref__23_else
	mov____$i32,%eax %0x0
	movzbl_%al,%eax
	jmp32  %_vector_ref__23_break
:_vector_ref__23_else
					# assert_fail("i < g_cells[x].car")
	push___$i32 &_string_src/mes.x86-mes-S_362
	call32 %assert_fail
	add____$i8,%esp !0x4
:_vector_ref__23_break
					# SCM e = g_cells[x].cdr + i;\n
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[x].cdr
	mov____(%eax),%eax
	mov____0x8(%ebp),%ebx !0xc
	add____%ebx,%eax
	mov____%eax,0x8(%ebp) !0x-4
					# if (g_cells[e].type == 9) ...
	mov____0x8(%ebp),%eax !0x-4
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[e].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x9
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_vector_ref__62_break
					# e = g_cells[e].car
	mov____0x8(%ebp),%eax !0x-4
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[e].car
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
	jmp32  %_vector_ref__62_break
:_vector_ref__62_break
					# if (g_cells[e].type == 1) ...
	mov____0x8(%ebp),%eax !0x-4
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[e].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_vector_ref__89_break
					# e = make_cell__(1, 0, g_cells[e].cdr)
					# make_cell__(1, 0, g_cells[e].cdr)
	mov____0x8(%ebp),%ebx !0x-4
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[e].cdr
	mov____(%ebx),%ebx
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
	jmp32  %_vector_ref__89_break
:_vector_ref__89_break
					# if (g_cells[e].type == 6) ...
	mov____0x8(%ebp),%eax !0x-4
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[e].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x6
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_vector_ref__127_break
					# e = make_cell__(6, 0, (long)g_cells[e].cdr)
					# make_cell__(6, 0, (long)g_cells[e].cdr)
	mov____0x8(%ebp),%ebx !0x-4
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[e].cdr
	mov____(%ebx),%ebx
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____$i32,%ebx %0x6
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
	jmp32  %_vector_ref__127_break
:_vector_ref__127_break
	mov____0x8(%ebp),%eax !0x-4
	leave
	ret


:vector_ref
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# vector_ref_(x, g_cells[i].cdr)
	mov____0x8(%ebp),%ebx !0xc
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[i].cdr
	mov____(%ebx),%ebx
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %vector_ref_
	add____$i8,%esp !0x8
	leave
	ret


:vector_entry
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# if (g_cells[x].type != 1 && g_cells[x].type != 6) ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[x].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_vector_entry_1_break
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[x].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x6
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_vector_entry_1_break
					# x = make_cell__(9, x, 0)
					# make_cell__(9, x, 0)
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____$i32,%ebx %0x9
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
	jmp32  %_vector_entry_1_break
:_vector_entry_1_break
	mov____0x8(%ebp),%eax !0x8
	leave
	ret


:vector_set_x_
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# g_cells[x].type == 16? ...: ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[x].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x10
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_vector_set_x__1_else
	mov____$i32,%eax %0x0
	movzbl_%al,%eax
	jmp32  %_vector_set_x__1_break
:_vector_set_x__1_else
					# assert_fail("g_cells[x].type == 16")
	push___$i32 &_string_src/mes.x86-mes-S_361
	call32 %assert_fail
	add____$i8,%esp !0x4
:_vector_set_x__1_break
					# i < g_cells[x].car? ...: ...
	mov____0x8(%ebp),%eax !0xc
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[x].car
	mov____(%ebx),%ebx
	sub____%ebx,%eax
	setl___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_vector_set_x__23_else
	mov____$i32,%eax %0x0
	movzbl_%al,%eax
	jmp32  %_vector_set_x__23_break
:_vector_set_x__23_else
					# assert_fail("i < g_cells[x].car")
	push___$i32 &_string_src/mes.x86-mes-S_362
	call32 %assert_fail
	add____$i8,%esp !0x4
:_vector_set_x__23_break
					# g_cells[g_cells[x].cdr + i] = g_cells[vector_entry(e)]
					# vector_entry(e)
	mov____0x8(%ebp),%ebx !0x10
	push___%ebx
	call32 %vector_entry
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[x].cdr
	mov____(%ebx),%ebx
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0xc
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____(%eax),%ecx
	mov____%ecx,(%ebx)
	add____$i8,%ebx !0x4
	add____$i8,%eax !0x4
	mov____(%eax),%ecx
	mov____%ecx,(%ebx)
	add____$i8,%ebx !0x4
	add____$i8,%eax !0x4
	mov____(%eax),%ecx
	mov____%ecx,(%ebx)
	test___%eax,%eax
	mov____$i32,%eax %0x7
	leave
	ret


:vector_set_x
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# vector_set_x_(x, g_cells[i].cdr, e)
	mov____0x8(%ebp),%ebx !0x10
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[i].cdr
	mov____(%ebx),%ebx
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %vector_set_x_
	add____$i8,%esp !0xc
	leave
	ret


:list_to_vector
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# SCM v = make_vector__(length__(x));\n
					# make_vector__(length__(x))
					# length__(x)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %length__
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %make_vector__
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-4
					# SCM p = g_cells[v].cdr;\n
	mov____0x8(%ebp),%eax !0x-4
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[v].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-8
					# while (x != 1) ...
	jmp32  %_list_to_vector_26_continue
:_list_to_vector_26_loop
					# g_cells[p++] = g_cells[vector_entry(car(x))]
					# vector_entry(car(x))
					# car(x)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %car
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %vector_entry
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	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
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____(%eax),%ecx
	mov____%ecx,(%ebx)
	add____$i8,%ebx !0x4
	add____$i8,%eax !0x4
	mov____(%eax),%ecx
	mov____%ecx,(%ebx)
	add____$i8,%ebx !0x4
	add____$i8,%eax !0x4
	mov____(%eax),%ecx
	mov____%ecx,(%ebx)
	test___%eax,%eax
					# x = cdr(x)
					# cdr(x)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %cdr
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
:_list_to_vector_26_continue
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_list_to_vector_26_break
	jmp32  %_list_to_vector_26_loop
:_list_to_vector_26_break
	mov____0x8(%ebp),%eax !0x-4
	leave
	ret


:vector_to_list
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# SCM x = 1;\n
	mov____$i32,%eax %0x1
	mov____%eax,0x8(%ebp) !0x-4
					# for (long i = g_cells[v].car; i; i--) ...
					# long i = g_cells[v].car;\n
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[v].car
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-8
	jmp32  %_vector_to_list_4_initial_skip
:_vector_to_list_4_loop
					# SCM e = g_cells[v].cdr + i - 1;\n
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[v].cdr
	mov____(%eax),%eax
	mov____0x8(%ebp),%ebx !0x-8
	add____%ebx,%eax
	add____$i8,%eax !0x-1
	mov____%eax,0x8(%ebp) !0x-c
					# if (g_cells[e].type == 9) ...
	mov____0x8(%ebp),%eax !0x-c
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[e].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x9
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_vector_to_list_30_break
					# e = g_cells[e].car
	mov____0x8(%ebp),%eax !0x-c
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[e].car
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-c
	test___%eax,%eax
	jmp32  %_vector_to_list_30_break
:_vector_to_list_30_break
					# x = cons(e, x)
					# cons(e, x)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-c
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
:_vector_to_list_4_continue
	mov____0x8(%ebp),%eax !0x-8
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-8
	add____$i8,(%ebx) !0x-1
:_vector_to_list_4_initial_skip
	mov____0x8(%ebp),%eax !0x-8
					# jmp test LABEL
	test___%eax,%eax
	je32   %_vector_to_list_4_break
	jmp32  %_vector_to_list_4_loop
:_vector_to_list_4_break
	mov____0x8(%ebp),%eax !0x-4
	leave
	ret


:assert_max_string
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# if (i > MAX_STRING) ...
	mov____0x8(%ebp),%eax !0x8
	mov____0x32,%ebx &MAX_STRING
	sub____%ebx,%eax
	seta___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_assert_max_string_1_break
					# eputs(msg)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(":string too long[")
	push___$i32 &_string_src/mes.x86-mes-S_363
	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 !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_src/mes.x86-mes-S_364
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# string[MAX_STRING - 1] = 0
	mov____$i32,%eax %0x0
	mov____0x32,%ebx &MAX_STRING
	add____$i8,%ebx !0x-1
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x10
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____%al,(%ebx)
	test___%eax,%eax
					# eputs(string)
	mov____0x8(%ebp),%ebx !0x10
	push___%ebx
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# error(77, 2)
	mov____$i32,%ebx %0x2
	push___%ebx
	mov____$i32,%ebx %0x4d
	push___%ebx
	call32 %error
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_assert_max_string_1_break
:_assert_max_string_1_break
	leave
	ret


:list_to_cstring
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# size_t i = 0;\n
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x-4
					# char *p = g_buf;\n
	mov____0x32,%eax &g_buf
	mov____%eax,0x8(%ebp) !0x-8
					# while (list != 1) ...
	jmp32  %_list_to_cstring_7_continue
:_list_to_cstring_7_loop
					# if (i > MAX_STRING) ...
	mov____0x8(%ebp),%eax !0x-4
	mov____0x32,%ebx &MAX_STRING
	sub____%ebx,%eax
	seta___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_list_to_cstring_10_break
					# assert_max_string(i, "list_to_string", g_buf)
	mov____0x32,%ebx &g_buf
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_365
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %assert_max_string
	add____$i8,%esp !0xc
	test___%eax,%eax
	jmp32  %_list_to_cstring_10_break
:_list_to_cstring_10_break
					# g_buf[i++] = g_cells[car(list)].cdr
					# car(list)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %car
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[car(list)].cdr
	mov____(%eax),%eax
	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
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &g_buf
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____%al,(%ebx)
	test___%eax,%eax
					# list = cdr(list)
					# cdr(list)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %cdr
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
:_list_to_cstring_7_continue
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_list_to_cstring_7_break
	jmp32  %_list_to_cstring_7_loop
:_list_to_cstring_7_break
					# g_buf[i] = 0
	mov____$i32,%eax %0x0
	mov____0x8(%ebp),%ebx !0x-4
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &g_buf
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____%al,(%ebx)
	test___%eax,%eax
					# *size = i
	mov____0x8(%ebp),%eax !0x-4
	mov____0x8(%ebp),%ebx !0xc
	mov____%eax,(%ebx)
	test___%eax,%eax
	mov____0x32,%eax &g_buf
	leave
	ret


:bytes_cells
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
	mov____$i32,%eax %0x1
	mov____$i32,%ebx %0x4
	add____%ebx,%eax
	mov____$i32,%ebx %0x4
	add____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	add____%ebx,%eax
	mov____$i32,%ebx %0x4
	add____%ebx,%eax
	mov____$i32,%ebx %0x4
	xor____%edx,%edx
	div___%ebx
	leave
	ret


:make_bytes
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# size_t size = bytes_cells(length);\n
					# bytes_cells(length)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	call32 %bytes_cells
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-4
					# SCM x = alloc(size);\n
					# alloc(size)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %alloc
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-8
					# g_cells[x].type = 0
	mov____$i32,%eax %0x0
	mov____0x8(%ebp),%ebx !0x-8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x0
	mov____%eax,(%ebx)
	test___%eax,%eax
					# g_cells[x].car = length
	mov____0x8(%ebp),%eax !0xc
	mov____0x8(%ebp),%ebx !0x-8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
	mov____%eax,(%ebx)
	test___%eax,%eax
					# char *p = (char*)&g_cells[x].cdr;\n
	mov____0x8(%ebp),%eax !0x-8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
	mov____%eax,0x8(%ebp) !0x-c
					# if (!length) ...else ...
	mov____0x8(%ebp),%eax !0xc
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_make_bytes_49_else
					# *((char*)p) = 0
	mov____$i32,%eax %0x0
	mov____0x8(%ebp),%ebx !0x-c
	mov____%al,(%ebx)
	test___%eax,%eax
	jmp32  %_make_bytes_49_break
:_make_bytes_49_else
					# memcpy(p, s, length + 1)
	mov____0x8(%ebp),%ebx !0xc
	add____$i8,%ebx !0x1
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-c
	push___%ebx
	call32 %memcpy
	add____$i8,%esp !0xc
	test___%eax,%eax
:_make_bytes_49_break
	mov____0x8(%ebp),%eax !0x-8
	leave
	ret


:make_string
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# if (length > MAX_STRING) ...
	mov____0x8(%ebp),%eax !0xc
	mov____0x32,%ebx &MAX_STRING
	sub____%ebx,%eax
	seta___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_make_string_1_break
					# assert_max_string(length, "make_string", (char*)s)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_366
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	call32 %assert_max_string
	add____$i8,%esp !0xc
	test___%eax,%eax
	jmp32  %_make_string_1_break
:_make_string_1_break
					# SCM x = make_cell__(11, length, 0);\n
					# make_cell__(11, length, 0)
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____$i32,%ebx %0xb
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-4
					# SCM v = make_bytes(s, length);\n
					# make_bytes(s, length)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %make_bytes
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-8
					# g_cells[x].cdr = v
	mov____0x8(%ebp),%eax !0x-8
	mov____0x8(%ebp),%ebx !0x-4
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
	mov____%eax,(%ebx)
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x-4
	leave
	ret


:string_equal_p
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# if (!(g_cells[a].type == 11 && g_cells[b].type == 11 || (g_cells[a].type == 4\n     || g_cells[b].type == 4))) ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[a].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0xb
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
	je32   %_string_equal_p_13_and_skip_b
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[b].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0xb
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
:_string_equal_p_13_and_skip_b
	test___%eax,%eax
	jne32  %_string_equal_p_29_or_skip_b
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[a].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x4
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
	jne32  %_string_equal_p_43_or_skip_b
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[b].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x4
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
:_string_equal_p_43_or_skip_b
	test___%eax,%eax
:_string_equal_p_29_or_skip_b
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_string_equal_p_1_break
					# eputs("type a: ")
	push___$i32 &_string_src/mes.x86-mes-S_367
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(itoa(g_cells[a].type))
					# itoa(g_cells[a].type)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x0
					# g_cells[a].type
	mov____(%ebx),%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_src/mes.x86-mes-S_4
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs("type b: ")
	push___$i32 &_string_src/mes.x86-mes-S_368
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(itoa(g_cells[b].type))
					# itoa(g_cells[b].type)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0xc
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x0
					# g_cells[b].type
	mov____(%ebx),%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_src/mes.x86-mes-S_4
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs("a= ")
	push___$i32 &_string_src/mes.x86-mes-S_369
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# write_error_(a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %write_error_
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs("\n")
	push___$i32 &_string_src/mes.x86-mes-S_4
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs("b= ")
	push___$i32 &_string_src/mes.x86-mes-S_370
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# write_error_(b)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	call32 %write_error_
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs("\n")
	push___$i32 &_string_src/mes.x86-mes-S_4
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# g_cells[a].type == 11 && g_cells[b].type == 11 || (g_cells[a].type == 4 || \n    g_cells[b].type == 4)? ...: ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[a].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0xb
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_string_equal_p_158_else_b_136
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[b].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0xb
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_string_equal_p_158_else_b_136
	jmp32  %_string_equal_p_158_else_skip_b_136
:_string_equal_p_158_else_b_136
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[a].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x4
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_string_equal_p_158_else_b_160
	jmp32  %_string_equal_p_158_else_skip_b_160
:_string_equal_p_158_else_b_160
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[b].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x4
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_string_equal_p_158_else
:_string_equal_p_158_else_skip_b_160
:_string_equal_p_158_else_skip_b_136
	mov____$i32,%eax %0x0
	movzbl_%al,%eax
	jmp32  %_string_equal_p_158_break
:_string_equal_p_158_else
					# assert_fail(\n    "(g_cells[a].type == 11 && g_cells[b].type == 11) || (g_cells[a].type == 4 || g_cells[b].type == 4)"\n    )
	push___$i32 &_string_src/mes.x86-mes-S_371
	call32 %assert_fail
	add____$i8,%esp !0x4
:_string_equal_p_158_break
	jmp32  %_string_equal_p_1_break
:_string_equal_p_1_break
					# if (((a == b || g_cells[a].cdr == g_cells[b].cdr) || (!g_cells[a].car && !\n    g_cells[b].car)) || (g_cells[a].car == g_cells[b].car && !memcmp((char*)&\n    g_cells[g_cells[a].cdr].cdr, (char*)&g_cells[g_cells[b].cdr].cdr, g_cells[a\n    ].car))) ...
	mov____0x8(%ebp),%eax !0x8
	mov____0x8(%ebp),%ebx !0xc
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_string_equal_p_227_break_b_195_b_195_b_195
	jmp32  %_string_equal_p_227_break_b_195_b_195_skip_b_195
:_string_equal_p_227_break_b_195_b_195_b_195
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[a].cdr
	mov____(%eax),%eax
	mov____0x8(%ebp),%ebx !0xc
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[b].cdr
	mov____(%ebx),%ebx
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_string_equal_p_227_break_b_195_b_195
:_string_equal_p_227_break_b_195_b_195_skip_b_195
	jmp32  %_string_equal_p_227_break_b_195_skip_b_195
:_string_equal_p_227_break_b_195_b_195
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[a].car
	mov____(%eax),%eax
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_string_equal_p_227_break_b_195
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[b].car
	mov____(%eax),%eax
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_string_equal_p_227_break_b_195
:_string_equal_p_227_break_b_195_skip_b_195
	jmp32  %_string_equal_p_227_break_skip_b_195
:_string_equal_p_227_break_b_195
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[a].car
	mov____(%eax),%eax
	mov____0x8(%ebp),%ebx !0xc
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[b].car
	mov____(%ebx),%ebx
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_string_equal_p_227_break
					# memcmp((char*)&g_cells[g_cells[a].cdr].cdr, (char*)&g_cells[g_cells[b].cdr].cdr\n    , g_cells[a].car)
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[a].car
	mov____(%ebx),%ebx
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[b].cdr
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[a].cdr
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
	push___%ebx
	call32 %memcmp
	add____$i8,%esp !0xc
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_string_equal_p_227_break
:_string_equal_p_227_break_skip_b_195
	mov____$i32,%eax %0x3
	leave
	ret
	jmp32  %_string_equal_p_227_break
:_string_equal_p_227_break
	mov____$i32,%eax %0x2
	leave
	ret


:symbol_to_string
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# make_cell__(11, g_cells[symbol].car, g_cells[symbol].cdr)
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[symbol].cdr
	mov____(%ebx),%ebx
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[symbol].car
	mov____(%ebx),%ebx
	push___%ebx
	mov____$i32,%ebx %0xb
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	leave
	ret


:symbol_to_keyword
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# make_cell__(4, g_cells[symbol].car, g_cells[symbol].cdr)
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[symbol].cdr
	mov____(%ebx),%ebx
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[symbol].car
	mov____(%ebx),%ebx
	push___%ebx
	mov____$i32,%ebx %0x4
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	leave
	ret


:keyword_to_string
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# make_cell__(11, g_cells[keyword].car, g_cells[keyword].cdr)
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[keyword].cdr
	mov____(%ebx),%ebx
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[keyword].car
	mov____(%ebx),%ebx
	push___%ebx
	mov____$i32,%ebx %0xb
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	leave
	ret


:string_to_symbol
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# SCM x = hash_ref(g_symbols, string, 2);\n
					# hash_ref(g_symbols, string, 2)
	mov____$i32,%ebx %0x2
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____0x32,%ebx &g_symbols
	push___%ebx
	call32 %hash_ref
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-4
					# if (x == 2) ...
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x2
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_string_to_symbol_11_break
					# x = make_symbol(string)
					# make_symbol(string)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %make_symbol
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
	jmp32  %_string_to_symbol_11_break
:_string_to_symbol_11_break
	mov____0x8(%ebp),%eax !0x-4
	leave
	ret


:make_symbol
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# SCM x = make_cell__(13, g_cells[string].car, g_cells[string].cdr);\n
					# make_cell__(13, g_cells[string].car, g_cells[string].cdr)
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[string].cdr
	mov____(%ebx),%ebx
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[string].car
	mov____(%ebx),%ebx
	push___%ebx
	mov____$i32,%ebx %0xd
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-4
					# hash_set_x(g_symbols, string, x)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____0x32,%ebx &g_symbols
	push___%ebx
	call32 %hash_set_x
	add____$i8,%esp !0xc
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x-4
	leave
	ret


:bytes_to_list
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# SCM p = 1;\n
	mov____$i32,%eax %0x1
	mov____%eax,0x8(%ebp) !0x-4
					# while (i--) ...
	jmp32  %_bytes_to_list_4_continue
:_bytes_to_list_4_loop
					# int c = (0x100 + s[i])%0x100;\n
	mov____$i32,%eax %0x100
	mov____0x8(%ebp),%ebx !0xc
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	movzbl_(%ebx),%ebx
	movsbl_%bl,%ebx
	add____%ebx,%eax
	mov____$i32,%ebx %0x100
	xor____%edx,%edx
	div___%ebx
	mov____%edx,%eax
	mov____%eax,0x8(%ebp) !0x-8
					# p = cons(make_cell__(1, 0, c), p)
					# cons(make_cell__(1, 0, c), p)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
					# make_cell__(1, 0, c)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x1
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %make_cell__
	add____$i8,%esp !0xc
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
:_bytes_to_list_4_continue
	mov____0x8(%ebp),%eax !0xc
	mov____%ebp,%ebx
	add____$i8,%ebx !0xc
	add____$i8,(%ebx) !0x-1
					# jmp test LABEL
	test___%eax,%eax
	je32   %_bytes_to_list_4_break
	jmp32  %_bytes_to_list_4_loop
:_bytes_to_list_4_break
	mov____0x8(%ebp),%eax !0x-4
	leave
	ret


:cstring_to_list
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# bytes_to_list(s, strlen(s))
					# strlen(s)
	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 %bytes_to_list
	add____$i8,%esp !0x8
	leave
	ret


:cstring_to_symbol
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# SCM string = make_string(s, strlen(s));\n
					# make_string(s, strlen(s))
					# strlen(s)
	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 %make_string
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-4
					# string_to_symbol(string)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %string_to_symbol
	add____$i8,%esp !0x4
	leave
	ret


:string_to_list
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# bytes_to_list((char*)&g_cells[g_cells[string].cdr].cdr, g_cells[string].car)
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[string].car
	mov____(%ebx),%ebx
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[string].cdr
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
	push___%ebx
	call32 %bytes_to_list
	add____$i8,%esp !0x8
	leave
	ret


:list_to_string
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# size_t size;\n
					# char *s = list_to_cstring(list, &size);\n
					# list_to_cstring(list, &size)
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-4
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %list_to_cstring
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-8
					# make_string(s, size)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	call32 %make_string
	add____$i8,%esp !0x8
	leave
	ret


:read_string
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# int fd = __stdin;\n
	mov____0x32,%eax &__stdin
	mov____%eax,0x8(%ebp) !0x-4
					# if (g_cells[port].type == 7 && g_cells[car(port)].type == 6) ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[port].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_read_string_4_break
					# car(port)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %car
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[car(port)].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x6
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_read_string_4_break
					# __stdin = g_cells[g_cells[port].car].cdr
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[port].car
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[g_cells[port].car].cdr
	mov____(%eax),%eax
	mov____%eax,0x32 &__stdin
	test___%eax,%eax
	jmp32  %_read_string_4_break
:_read_string_4_break
					# int c = readchar();\n
					# readchar()
	call32 %readchar
	add____$i8,%esp !0x0
	mov____%eax,0x8(%ebp) !0x-8
					# size_t i = 0;\n
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x-c
					# while (c != -1) ...
	jmp32  %_read_string_61_continue
:_read_string_61_loop
					# if (i > MAX_STRING) ...
	mov____0x8(%ebp),%eax !0x-c
	mov____0x32,%ebx &MAX_STRING
	sub____%ebx,%eax
	seta___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_read_string_64_break
					# assert_max_string(i, "read_string", g_buf)
	mov____0x32,%ebx &g_buf
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_372
	mov____0x8(%ebp),%ebx !0x-c
	push___%ebx
	call32 %assert_max_string
	add____$i8,%esp !0xc
	test___%eax,%eax
	jmp32  %_read_string_64_break
:_read_string_64_break
					# g_buf[i++] = c
	mov____0x8(%ebp),%eax !0x-8
	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
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &g_buf
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____%al,(%ebx)
	test___%eax,%eax
					# c = readchar()
					# readchar()
	call32 %readchar
	add____$i8,%esp !0x0
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
:_read_string_61_continue
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0x-1
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_read_string_61_break
	jmp32  %_read_string_61_loop
:_read_string_61_break
					# g_buf[i] = 0
	mov____$i32,%eax %0x0
	mov____0x8(%ebp),%ebx !0x-c
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &g_buf
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____%al,(%ebx)
	test___%eax,%eax
					# __stdin = fd
	mov____0x8(%ebp),%eax !0x-4
	mov____%eax,0x32 &__stdin
	test___%eax,%eax
					# make_string(g_buf, i)
	mov____0x8(%ebp),%ebx !0x-c
	push___%ebx
	mov____0x32,%ebx &g_buf
	push___%ebx
	call32 %make_string
	add____$i8,%esp !0x8
	leave
	ret


:string_append
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# char *p = g_buf;\n
	mov____0x32,%eax &g_buf
	mov____%eax,0x8(%ebp) !0x-4
					# g_buf[0] = 0
	mov____$i32,%eax %0x0
	mov____$i32,%ebx %0x0
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &g_buf
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____%al,(%ebx)
	test___%eax,%eax
					# size_t size = 0;\n
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x-8
					# while (x != 1) ...
	jmp32  %_string_append_16_continue
:_string_append_16_loop
					# SCM string = g_cells[x].car;\n
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[x].car
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-c
					# g_cells[string].type == 11? ...: ...
	mov____0x8(%ebp),%eax !0x-c
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[string].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0xb
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_string_append_29_else
	mov____$i32,%eax %0x0
	movzbl_%al,%eax
	jmp32  %_string_append_29_break
:_string_append_29_else
					# assert_fail("g_cells[string].type == 11")
	push___$i32 &_string_src/mes.x86-mes-S_373
	call32 %assert_fail
	add____$i8,%esp !0x4
:_string_append_29_break
					# memcpy(p, (char*)&g_cells[g_cells[string].cdr].cdr, g_cells[string].car + 1)
	mov____0x8(%ebp),%ebx !0x-c
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[string].car
	mov____(%ebx),%ebx
	add____$i8,%ebx !0x1
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-c
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[string].cdr
	mov____(%ebx),%ebx
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %memcpy
	add____$i8,%esp !0xc
	test___%eax,%eax
					# p += g_cells[string].car
	mov____0x8(%ebp),%eax !0x-c
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[string].car
	mov____(%eax),%eax
	mov____0x8(%ebp),%ebx !0x-4
	xchg___%eax,%ebx
	add____%ebx,%eax
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# size += g_cells[string].car
	mov____0x8(%ebp),%eax !0x-c
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[string].car
	mov____(%eax),%eax
	mov____0x8(%ebp),%ebx !0x-8
	xchg___%eax,%ebx
	add____%ebx,%eax
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
					# if (size > MAX_STRING) ...
	mov____0x8(%ebp),%eax !0x-8
	mov____0x32,%ebx &MAX_STRING
	sub____%ebx,%eax
	seta___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_string_append_120_break
					# assert_max_string(size, "string_append", g_buf)
	mov____0x32,%ebx &g_buf
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_374
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	call32 %assert_max_string
	add____$i8,%esp !0xc
	test___%eax,%eax
	jmp32  %_string_append_120_break
:_string_append_120_break
					# x = g_cells[x].cdr
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[x].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
:_string_append_16_continue
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_string_append_16_break
	jmp32  %_string_append_16_loop
:_string_append_16_break
					# make_string(g_buf, size)
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	mov____0x32,%ebx &g_buf
	push___%ebx
	call32 %make_string
	add____$i8,%esp !0x8
	leave
	ret


:string_length
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# g_cells[string].type == 11? ...: ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[string].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0xb
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_string_length_1_else
	mov____$i32,%eax %0x0
	movzbl_%al,%eax
	jmp32  %_string_length_1_break
:_string_length_1_else
					# assert_fail("g_cells[string].type == 11")
	push___$i32 &_string_src/mes.x86-mes-S_373
	call32 %assert_fail
	add____$i8,%esp !0x4
:_string_length_1_break
					# make_cell__(6, 0, (long)g_cells[string].car)
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[string].car
	mov____(%ebx),%ebx
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____$i32,%ebx %0x6
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	leave
	ret


:string_ref
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# g_cells[str].type == 11? ...: ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[str].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0xb
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_string_ref_1_else
	mov____$i32,%eax %0x0
	movzbl_%al,%eax
	jmp32  %_string_ref_1_break
:_string_ref_1_else
					# assert_fail("g_cells[str].type == 11")
	push___$i32 &_string_src/mes.x86-mes-S_375
	call32 %assert_fail
	add____$i8,%esp !0x4
:_string_ref_1_break
					# g_cells[k].type == 6? ...: ...
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[k].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x6
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_string_ref_23_else
	mov____$i32,%eax %0x0
	movzbl_%al,%eax
	jmp32  %_string_ref_23_break
:_string_ref_23_else
					# assert_fail("g_cells[k].type == 6")
	push___$i32 &_string_src/mes.x86-mes-S_376
	call32 %assert_fail
	add____$i8,%esp !0x4
:_string_ref_23_break
					# size_t size = g_cells[str].car;\n
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[str].car
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-4
					# size_t i = g_cells[k].cdr;\n
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[k].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-8
					# if (i > size) ...
	mov____0x8(%ebp),%eax !0x-8
	mov____0x8(%ebp),%ebx !0x-4
	sub____%ebx,%eax
	seta___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_string_ref_65_break
					# error(77, cons(make_string("value out of range", strlen("value out of range"))\n    , k))
					# cons(make_string("value out of range", strlen("value out of range")), k)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
					# make_string("value out of range", strlen("value out of range"))
	push___%eax
	mov____%ebx,%eax
	push___%eax
					# strlen("value out of range")
	push___%eax
	mov____%ebx,%eax
	push___%eax
	push___%eax
	mov____%ebx,%eax
	push___$i32 &_string_src/mes.x86-mes-S_377
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %strlen
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	push___$i32 &_string_src/mes.x86-mes-S_377
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %make_string
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x4d
	push___%ebx
	call32 %error
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_string_ref_65_break
:_string_ref_65_break
					# char *p = (char*)&g_cells[g_cells[str].cdr].cdr;\n
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[str].cdr
	mov____(%eax),%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
	mov____%eax,0x8(%ebp) !0x-c
					# make_cell__(1, 0, p[i])
	mov____0x8(%ebp),%ebx !0x-8
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-c
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	movzbl_(%ebx),%ebx
	movsbl_%bl,%ebx
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	leave
	ret


:make_struct
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# long size = 2 + length__(fields);\n
	mov____$i32,%eax %0x2
					# length__(fields)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %length__
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	add____%ebx,%eax
	mov____%eax,0x8(%ebp) !0x-4
					# SCM v = alloc(size);\n
					# alloc(size)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %alloc
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-8
					# SCM x = make_cell__(12, size, v);\n
					# make_cell__(12, size, v)
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____$i32,%ebx %0xc
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-c
					# g_cells[v] = g_cells[vector_entry(type)]
					# vector_entry(type)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %vector_entry
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____(%eax),%ecx
	mov____%ecx,(%ebx)
	add____$i8,%ebx !0x4
	add____$i8,%eax !0x4
	mov____(%eax),%ecx
	mov____%ecx,(%ebx)
	add____$i8,%ebx !0x4
	add____$i8,%eax !0x4
	mov____(%eax),%ecx
	mov____%ecx,(%ebx)
	test___%eax,%eax
					# g_cells[v + 1] = g_cells[vector_entry(printer)]
					# vector_entry(printer)
	mov____0x8(%ebp),%ebx !0x10
	push___%ebx
	call32 %vector_entry
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-8
	add____$i8,%ebx !0x1
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____(%eax),%ecx
	mov____%ecx,(%ebx)
	add____$i8,%ebx !0x4
	add____$i8,%eax !0x4
	mov____(%eax),%ecx
	mov____%ecx,(%ebx)
	add____$i8,%ebx !0x4
	add____$i8,%eax !0x4
	mov____(%eax),%ecx
	mov____%ecx,(%ebx)
	test___%eax,%eax
					# for (long i = 2; i < size; i++) ...
					# long i = 2;\n
	mov____$i32,%eax %0x2
	mov____%eax,0x8(%ebp) !0x-10
	jmp32  %_make_struct_72_initial_skip
:_make_struct_72_loop
					# SCM e = 7;\n
	mov____$i32,%eax %0x7
	mov____%eax,0x8(%ebp) !0x-14
					# if (fields != 1) ...
	mov____0x8(%ebp),%eax !0xc
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_make_struct_81_break
					# e = g_cells[fields].car
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[fields].car
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-14
	test___%eax,%eax
					# fields = g_cells[fields].cdr
	mov____0x8(%ebp),%eax !0xc
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[fields].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0xc
	test___%eax,%eax
	jmp32  %_make_struct_81_break
:_make_struct_81_break
					# g_cells[v + i] = g_cells[vector_entry(e)]
					# vector_entry(e)
	mov____0x8(%ebp),%ebx !0x-14
	push___%ebx
	call32 %vector_entry
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-8
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-10
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____(%eax),%ecx
	mov____%ecx,(%ebx)
	add____$i8,%ebx !0x4
	add____$i8,%eax !0x4
	mov____(%eax),%ecx
	mov____%ecx,(%ebx)
	add____$i8,%ebx !0x4
	add____$i8,%eax !0x4
	mov____(%eax),%ecx
	mov____%ecx,(%ebx)
	test___%eax,%eax
:_make_struct_72_continue
	mov____0x8(%ebp),%eax !0x-10
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-10
	add____$i8,(%ebx) !0x1
:_make_struct_72_initial_skip
	mov____0x8(%ebp),%eax !0x-10
	mov____0x8(%ebp),%ebx !0x-4
	sub____%ebx,%eax
	setl___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_make_struct_72_break
	jmp32  %_make_struct_72_loop
:_make_struct_72_break
	mov____0x8(%ebp),%eax !0x-c
	leave
	ret


:struct_length
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# g_cells[x].type == 12? ...: ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[x].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0xc
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_struct_length_1_else
	mov____$i32,%eax %0x0
	movzbl_%al,%eax
	jmp32  %_struct_length_1_break
:_struct_length_1_else
					# assert_fail("g_cells[x].type == 12")
	push___$i32 &_string_src/mes.x86-mes-S_378
	call32 %assert_fail
	add____$i8,%esp !0x4
:_struct_length_1_break
					# make_cell__(6, 0, (long)g_cells[x].car)
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[x].car
	mov____(%ebx),%ebx
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____$i32,%ebx %0x6
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	leave
	ret


:struct_ref_
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# g_cells[x].type == 12? ...: ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[x].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0xc
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_struct_ref__1_else
	mov____$i32,%eax %0x0
	movzbl_%al,%eax
	jmp32  %_struct_ref__1_break
:_struct_ref__1_else
					# assert_fail("g_cells[x].type == 12")
	push___$i32 &_string_src/mes.x86-mes-S_378
	call32 %assert_fail
	add____$i8,%esp !0x4
:_struct_ref__1_break
					# i < g_cells[x].car? ...: ...
	mov____0x8(%ebp),%eax !0xc
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[x].car
	mov____(%ebx),%ebx
	sub____%ebx,%eax
	setl___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_struct_ref__23_else
	mov____$i32,%eax %0x0
	movzbl_%al,%eax
	jmp32  %_struct_ref__23_break
:_struct_ref__23_else
					# assert_fail("i < g_cells[x].car")
	push___$i32 &_string_src/mes.x86-mes-S_362
	call32 %assert_fail
	add____$i8,%esp !0x4
:_struct_ref__23_break
					# SCM e = g_cells[x].cdr + i;\n
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[x].cdr
	mov____(%eax),%eax
	mov____0x8(%ebp),%ebx !0xc
	add____%ebx,%eax
	mov____%eax,0x8(%ebp) !0x-4
					# if (g_cells[e].type == 9) ...
	mov____0x8(%ebp),%eax !0x-4
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[e].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x9
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_struct_ref__62_break
					# e = g_cells[e].car
	mov____0x8(%ebp),%eax !0x-4
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[e].car
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
	jmp32  %_struct_ref__62_break
:_struct_ref__62_break
					# if (g_cells[e].type == 1) ...
	mov____0x8(%ebp),%eax !0x-4
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[e].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_struct_ref__89_break
					# e = make_cell__(1, 0, g_cells[e].cdr)
					# make_cell__(1, 0, g_cells[e].cdr)
	mov____0x8(%ebp),%ebx !0x-4
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[e].cdr
	mov____(%ebx),%ebx
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
	jmp32  %_struct_ref__89_break
:_struct_ref__89_break
					# if (g_cells[e].type == 6) ...
	mov____0x8(%ebp),%eax !0x-4
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[e].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x6
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_struct_ref__127_break
					# e = make_cell__(6, 0, (long)g_cells[e].cdr)
					# make_cell__(6, 0, (long)g_cells[e].cdr)
	mov____0x8(%ebp),%ebx !0x-4
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[e].cdr
	mov____(%ebx),%ebx
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____$i32,%ebx %0x6
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
	jmp32  %_struct_ref__127_break
:_struct_ref__127_break
	mov____0x8(%ebp),%eax !0x-4
	leave
	ret


:struct_set_x_
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# g_cells[x].type == 12? ...: ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[x].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0xc
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_struct_set_x__1_else
	mov____$i32,%eax %0x0
	movzbl_%al,%eax
	jmp32  %_struct_set_x__1_break
:_struct_set_x__1_else
					# assert_fail("g_cells[x].type == 12")
	push___$i32 &_string_src/mes.x86-mes-S_378
	call32 %assert_fail
	add____$i8,%esp !0x4
:_struct_set_x__1_break
					# i < g_cells[x].car? ...: ...
	mov____0x8(%ebp),%eax !0xc
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[x].car
	mov____(%ebx),%ebx
	sub____%ebx,%eax
	setl___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_struct_set_x__23_else
	mov____$i32,%eax %0x0
	movzbl_%al,%eax
	jmp32  %_struct_set_x__23_break
:_struct_set_x__23_else
					# assert_fail("i < g_cells[x].car")
	push___$i32 &_string_src/mes.x86-mes-S_362
	call32 %assert_fail
	add____$i8,%esp !0x4
:_struct_set_x__23_break
					# g_cells[g_cells[x].cdr + i] = g_cells[vector_entry(e)]
					# vector_entry(e)
	mov____0x8(%ebp),%ebx !0x10
	push___%ebx
	call32 %vector_entry
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[x].cdr
	mov____(%ebx),%ebx
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0xc
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____(%eax),%ecx
	mov____%ecx,(%ebx)
	add____$i8,%ebx !0x4
	add____$i8,%eax !0x4
	mov____(%eax),%ecx
	mov____%ecx,(%ebx)
	add____$i8,%ebx !0x4
	add____$i8,%eax !0x4
	mov____(%eax),%ecx
	mov____%ecx,(%ebx)
	test___%eax,%eax
	mov____$i32,%eax %0x7
	leave
	ret


:struct_ref
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# struct_ref_(x, g_cells[i].cdr)
	mov____0x8(%ebp),%ebx !0xc
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[i].cdr
	mov____(%ebx),%ebx
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %struct_ref_
	add____$i8,%esp !0x8
	leave
	ret


:struct_set_x
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# struct_set_x_(x, g_cells[i].cdr, e)
	mov____0x8(%ebp),%ebx !0x10
	push___%ebx
	mov____0x8(%ebp),%ebx !0xc
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[i].cdr
	mov____(%ebx),%ebx
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %struct_set_x_
	add____$i8,%esp !0xc
	leave
	ret


:gc_up_arena
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# long old_arena_bytes = (ARENA_SIZE + JAM_SIZE)*sizeof(struct scm);\n
	mov____0x32,%eax &ARENA_SIZE
	mov____0x32,%ebx &JAM_SIZE
	add____%ebx,%eax
	mov____$i32,%ebx %0xc
	mul____%ebx
	mov____%eax,0x8(%ebp) !0x-4
					# if (ARENA_SIZE<<1 < MAX_ARENA_SIZE<<2) ...else ...
	mov____0x32,%eax &ARENA_SIZE
	mov____$i32,%ebx %0x1
	mov____%ebx,%ecx
	shr____%cl,%eax
	mov____0x32,%ebx &MAX_ARENA_SIZE
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x2
	mov____%ebx,%ecx
	shr____%cl,%eax
	mov____%eax,%ebx
	pop____%eax
	sub____%ebx,%eax
	setl___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_gc_up_arena_8_else
					# ARENA_SIZE <<= 1
	mov____$i32,%eax %0x1
	mov____0x32,%ebx &ARENA_SIZE
	xchg___%eax,%ebx
	mov____%ebx,%ecx
	shl____%cl,%eax
	mov____%eax,0x32 &ARENA_SIZE
	test___%eax,%eax
					# JAM_SIZE <<= 1
	mov____$i32,%eax %0x1
	mov____0x32,%ebx &JAM_SIZE
	xchg___%eax,%ebx
	mov____%ebx,%ecx
	shl____%cl,%eax
	mov____%eax,0x32 &JAM_SIZE
	test___%eax,%eax
					# GC_SAFETY <<= 1
	mov____$i32,%eax %0x1
	mov____0x32,%ebx &GC_SAFETY
	xchg___%eax,%ebx
	mov____%ebx,%ecx
	shl____%cl,%eax
	mov____%eax,0x32 &GC_SAFETY
	test___%eax,%eax
	jmp32  %_gc_up_arena_8_break
:_gc_up_arena_8_else
					# ARENA_SIZE = MAX_ARENA_SIZE - JAM_SIZE
	mov____0x32,%eax &MAX_ARENA_SIZE
	mov____0x32,%ebx &JAM_SIZE
	sub____%ebx,%eax
	mov____%eax,0x32 &ARENA_SIZE
	test___%eax,%eax
:_gc_up_arena_8_break
					# long arena_bytes = (ARENA_SIZE + JAM_SIZE)*sizeof(struct scm);\n
	mov____0x32,%eax &ARENA_SIZE
	mov____0x32,%ebx &JAM_SIZE
	add____%ebx,%eax
	mov____$i32,%ebx %0xc
	mul____%ebx
	mov____%eax,0x8(%ebp) !0x-8
					# void *p = realloc(g_cells - 1, arena_bytes + STACK_SIZE*sizeof(SCM));\n
					# realloc(g_cells - 1, arena_bytes + STACK_SIZE*sizeof(SCM))
	mov____0x8(%ebp),%ebx !0x-8
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &STACK_SIZE
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x4
	mul____%ebx
	mov____%eax,%ebx
	pop____%eax
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____0x32,%ebx &g_cells
	add____$i8,%ebx !0x-c
	push___%ebx
	call32 %realloc
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-c
					# if (!p) ...
	mov____0x8(%ebp),%eax !0x-c
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_gc_up_arena_76_break
					# eputs("realloc failed, g_free=")
	push___$i32 &_string_src/mes.x86-mes-S_379
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(itoa(g_free))
					# itoa(g_free)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &g_free
	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_src/mes.x86-mes-S_357
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(itoa(ARENA_SIZE - g_free))
					# itoa(ARENA_SIZE - g_free)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &ARENA_SIZE
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &g_free
	sub____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	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_src/mes.x86-mes-S_4
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# 0? ...: ...
	mov____$i32,%eax %0x0
					# jmp test LABEL
	test___%eax,%eax
	je32   %_gc_up_arena_127_else
	mov____$i32,%eax %0x0
	movzbl_%al,%eax
	jmp32  %_gc_up_arena_127_break
:_gc_up_arena_127_else
					# assert_fail("0")
	push___$i32 &_string_src/mes.x86-mes-S_5
	call32 %assert_fail
	add____$i8,%esp !0x4
:_gc_up_arena_127_break
					# exit(1)
	mov____$i32,%ebx %0x1
	push___%ebx
	call32 %exit
	add____$i8,%esp !0x4
	test___%eax,%eax
	jmp32  %_gc_up_arena_76_break
:_gc_up_arena_76_break
					# g_cells = (struct scm*)p
	mov____0x8(%ebp),%eax !0x-c
	mov____%eax,0x32 &g_cells
	test___%eax,%eax
					# memcpy(p + arena_bytes, p + old_arena_bytes, STACK_SIZE*sizeof(SCM))
	mov____0x32,%ebx &STACK_SIZE
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x4
	mul____%ebx
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-c
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-4
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	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
	push___%ebx
	call32 %memcpy
	add____$i8,%esp !0xc
	test___%eax,%eax
	mov____0x32,%eax &g_cells
	mov____$i32,%ebx &g_cells
	add____$i8,(%ebx) !0xc
	test___%eax,%eax
	mov____$i32,%eax %0x0
	leave
	ret


:gc_flip
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# if (g_debug > 2) ...
	mov____0x32,%eax &g_debug
	mov____$i32,%ebx %0x2
	sub____%ebx,%eax
	setg___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_gc_flip_1_break
					# eputs(";;;   => jam[")
	push___$i32 &_string_src/mes.x86-mes-S_380
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(itoa(g_free))
					# itoa(g_free)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &g_free
	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_src/mes.x86-mes-S_19
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
	jmp32  %_gc_flip_1_break
:_gc_flip_1_break
					# if (g_free > JAM_SIZE) ...
	mov____0x32,%eax &g_free
	mov____0x32,%ebx &JAM_SIZE
	sub____%ebx,%eax
	setg___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_gc_flip_33_break
					# JAM_SIZE = g_free + g_free/2
	mov____0x32,%eax &g_free
	mov____0x32,%ebx &g_free
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x2
	xor____%edx,%edx
	div___%ebx
	mov____%eax,%ebx
	pop____%eax
	add____%ebx,%eax
	mov____%eax,0x32 &JAM_SIZE
	test___%eax,%eax
	jmp32  %_gc_flip_33_break
:_gc_flip_33_break
					# memcpy(g_cells - 1, g_news - 1, (g_free + 2)*sizeof(struct scm))
	mov____0x32,%ebx &g_free
	add____$i8,%ebx !0x2
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0xc
	mul____%ebx
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____0x32,%ebx &g_news
	add____$i8,%ebx !0x-c
	push___%ebx
	mov____0x32,%ebx &g_cells
	add____$i8,%ebx !0x-c
	push___%ebx
	call32 %memcpy
	add____$i8,%esp !0xc
	test___%eax,%eax
	leave
	ret


:gc_copy
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# if (g_cells[old].type == 17) ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[old].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x11
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_gc_copy_1_break
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[old].car
	mov____(%eax),%eax
	leave
	ret
	jmp32  %_gc_copy_1_break
:_gc_copy_1_break
					# SCM new = g_free++;\n
	mov____0x32,%eax &g_free
	mov____$i32,%ebx &g_free
	add____$i8,(%ebx) !0x1
	mov____%eax,0x8(%ebp) !0x-4
					# g_news[new] = g_cells[old]
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-4
	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____0x32,%ebx &g_news
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____(%eax),%ecx
	mov____%ecx,(%ebx)
	add____$i8,%ebx !0x4
	add____$i8,%eax !0x4
	mov____(%eax),%ecx
	mov____%ecx,(%ebx)
	add____$i8,%ebx !0x4
	add____$i8,%eax !0x4
	mov____(%eax),%ecx
	mov____%ecx,(%ebx)
	test___%eax,%eax
					# if (g_news[new].type == 12 || g_news[new].type == 16) ...else ...
	mov____0x8(%ebp),%eax !0x-4
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_news
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_news[new].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0xc
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_gc_copy_48_else_b_42
	jmp32  %_gc_copy_48_else_skip_b_42
:_gc_copy_48_else_b_42
	mov____0x8(%ebp),%eax !0x-4
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_news
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_news[new].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x10
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_gc_copy_48_else
:_gc_copy_48_else_skip_b_42
					# g_news[new].cdr = g_free
	mov____0x32,%eax &g_free
	mov____0x8(%ebp),%ebx !0x-4
	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____0x32,%ebx &g_news
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
	mov____%eax,(%ebx)
	test___%eax,%eax
					# for (long i = 0; i < g_cells[old].car; i++) ...
					# long i = 0;\n
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x-8
	jmp32  %_gc_copy_92_initial_skip
:_gc_copy_92_loop
					# g_news[g_free++] = g_cells[g_cells[old].cdr + i]
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[old].cdr
	mov____(%eax),%eax
	mov____0x8(%ebp),%ebx !0x-8
	add____%ebx,%eax
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____0x32,%ebx &g_free
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx &g_free
	add____$i8,(%ebx) !0x1
	mov____%eax,%ebx
	pop____%eax
	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____0x32,%ebx &g_news
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____(%eax),%ecx
	mov____%ecx,(%ebx)
	add____$i8,%ebx !0x4
	add____$i8,%eax !0x4
	mov____(%eax),%ecx
	mov____%ecx,(%ebx)
	add____$i8,%ebx !0x4
	add____$i8,%eax !0x4
	mov____(%eax),%ecx
	mov____%ecx,(%ebx)
	test___%eax,%eax
:_gc_copy_92_continue
	mov____0x8(%ebp),%eax !0x-8
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-8
	add____$i8,(%ebx) !0x1
:_gc_copy_92_initial_skip
	mov____0x8(%ebp),%eax !0x-8
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[old].car
	mov____(%ebx),%ebx
	sub____%ebx,%eax
	setl___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_gc_copy_92_break
	jmp32  %_gc_copy_92_loop
:_gc_copy_92_break
	jmp32  %_gc_copy_48_break
:_gc_copy_48_else
					# if (g_news[new].type == 0) ...
	mov____0x8(%ebp),%eax !0x-4
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_news
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_news[new].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x0
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_gc_copy_155_break
					# char *src = (char*)&g_cells[old].cdr;\n
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
	mov____%eax,0x8(%ebp) !0x-8
					# char *dest = (char*)&g_news[new].cdr;\n
	mov____0x8(%ebp),%eax !0x-4
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_news
	add____%ebx,%eax
	add____$i8,%eax !0x8
	mov____%eax,0x8(%ebp) !0x-c
					# size_t length = g_news[new].car;\n
	mov____0x8(%ebp),%eax !0x-4
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_news
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_news[new].car
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-10
					# memcpy(dest, src, length + 1)
	mov____0x8(%ebp),%ebx !0x-10
	add____$i8,%ebx !0x1
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-c
	push___%ebx
	call32 %memcpy
	add____$i8,%esp !0xc
	test___%eax,%eax
					# g_free += bytes_cells(length) - 1
					# bytes_cells(length)
	mov____0x8(%ebp),%ebx !0x-10
	push___%ebx
	call32 %bytes_cells
	add____$i8,%esp !0x4
	add____$i8,%eax !0x-1
	mov____0x32,%ebx &g_free
	xchg___%eax,%ebx
	add____%ebx,%eax
	mov____%eax,0x32 &g_free
	test___%eax,%eax
					# if (g_debug > 4) ...
	mov____0x32,%eax &g_debug
	mov____$i32,%ebx %0x4
	sub____%ebx,%eax
	setg___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_gc_copy_216_break
					# eputs("gc copy bytes: ")
	push___$i32 &_string_src/mes.x86-mes-S_381
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(src)
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs("\n")
	push___$i32 &_string_src/mes.x86-mes-S_4
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs("    length: ")
	push___$i32 &_string_src/mes.x86-mes-S_382
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(itoa(g_cells[old].car))
					# itoa(g_cells[old].car)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_cells[old].car
	mov____(%ebx),%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_src/mes.x86-mes-S_4
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs("    nlength: ")
	push___$i32 &_string_src/mes.x86-mes-S_383
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(itoa(g_news[new].car))
					# itoa(g_news[new].car)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-4
	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____0x32,%ebx &g_news
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_news[new].car
	mov____(%ebx),%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_src/mes.x86-mes-S_4
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs("        ==> ")
	push___$i32 &_string_src/mes.x86-mes-S_384
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(dest)
	mov____0x8(%ebp),%ebx !0x-c
	push___%ebx
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs("\n")
	push___$i32 &_string_src/mes.x86-mes-S_4
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
	jmp32  %_gc_copy_216_break
:_gc_copy_216_break
	jmp32  %_gc_copy_155_break
:_gc_copy_155_break
:_gc_copy_48_break
					# g_cells[old].type = 17
	mov____$i32,%eax %0x11
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x0
	mov____%eax,(%ebx)
	test___%eax,%eax
					# g_cells[old].car = new
	mov____0x8(%ebp),%eax !0x-4
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
	mov____%eax,(%ebx)
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x-4
	leave
	ret


:gc_relocate_car
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# g_news[new].car = car
	mov____0x8(%ebp),%eax !0xc
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_news
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
	mov____%eax,(%ebx)
	test___%eax,%eax
	mov____$i32,%eax %0x7
	leave
	ret


:gc_relocate_cdr
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# g_news[new].cdr = cdr
	mov____0x8(%ebp),%eax !0xc
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_news
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
	mov____%eax,(%ebx)
	test___%eax,%eax
	mov____$i32,%eax %0x7
	leave
	ret


:gc_loop
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# SCM car;\n
					# SCM cdr;\n
					# while (scan < g_free) ...
	jmp32  %_gc_loop_3_continue
:_gc_loop_3_loop
					# if (g_news[scan].type == 17) ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_news
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_news[scan].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x11
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_gc_loop_6_break
					# error(77, cstring_to_symbol("gc"))
					# cstring_to_symbol("gc")
	push___%eax
	push___%eax
	mov____%ebx,%eax
	push___$i32 &_string_src/mes.x86-mes-S_155
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cstring_to_symbol
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x4d
	push___%ebx
	call32 %error
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_gc_loop_6_break
:_gc_loop_6_break
					# if ((((g_news[scan].type == 5 || g_news[scan].type == 7) || g_news[scan].type\n     == 9) || scan == 1) || g_news[scan].type == 15) ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_news
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_news[scan].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x5
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_gc_loop_37_break_b_29_b_29_b_29_b_29
	jmp32  %_gc_loop_37_break_b_29_b_29_b_29_skip_b_29
:_gc_loop_37_break_b_29_b_29_b_29_b_29
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_news
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_news[scan].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_gc_loop_37_break_b_29_b_29_b_29
:_gc_loop_37_break_b_29_b_29_b_29_skip_b_29
	jmp32  %_gc_loop_37_break_b_29_b_29_skip_b_29
:_gc_loop_37_break_b_29_b_29_b_29
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_news
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_news[scan].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x9
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_gc_loop_37_break_b_29_b_29
:_gc_loop_37_break_b_29_b_29_skip_b_29
	jmp32  %_gc_loop_37_break_b_29_skip_b_29
:_gc_loop_37_break_b_29_b_29
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_gc_loop_37_break_b_29
:_gc_loop_37_break_b_29_skip_b_29
	jmp32  %_gc_loop_37_break_skip_b_29
:_gc_loop_37_break_b_29
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_news
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_news[scan].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0xf
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_gc_loop_37_break
:_gc_loop_37_break_skip_b_29
					# car = gc_copy(g_news[scan].car)
					# gc_copy(g_news[scan].car)
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_news
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_news[scan].car
	mov____(%ebx),%ebx
	push___%ebx
	call32 %gc_copy
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# gc_relocate_car(scan, car)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %gc_relocate_car
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_gc_loop_37_break
:_gc_loop_37_break
					# if (((((((((((g_news[scan].type == 2 || g_news[scan].type == 3) || g_news[scan]\n    .type == 4) || g_news[scan].type == 5) || g_news[scan].type == 7) || g_news\n    [scan].type == 8) || g_news[scan].type == 10) || g_news[scan].type == 11)\n     || g_news[scan].type == 13) || scan == 1) || g_news[scan].type == 14) && \n    g_news[scan].cdr) ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_news
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_news[scan].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x2
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_gc_loop_135_break_b_113_b_113_b_113_b_113_b_113_b_113_b_113_b_113_b_113_b_113
	jmp32  %_gc_loop_135_break_b_113_b_113_b_113_b_113_b_113_b_113_b_113_b_113_b_113_skip_b_113
:_gc_loop_135_break_b_113_b_113_b_113_b_113_b_113_b_113_b_113_b_113_b_113_b_113
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_news
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_news[scan].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x3
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_gc_loop_135_break_b_113_b_113_b_113_b_113_b_113_b_113_b_113_b_113_b_113
:_gc_loop_135_break_b_113_b_113_b_113_b_113_b_113_b_113_b_113_b_113_b_113_skip_b_113
	jmp32  %_gc_loop_135_break_b_113_b_113_b_113_b_113_b_113_b_113_b_113_b_113_skip_b_113
:_gc_loop_135_break_b_113_b_113_b_113_b_113_b_113_b_113_b_113_b_113_b_113
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_news
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_news[scan].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x4
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_gc_loop_135_break_b_113_b_113_b_113_b_113_b_113_b_113_b_113_b_113
:_gc_loop_135_break_b_113_b_113_b_113_b_113_b_113_b_113_b_113_b_113_skip_b_113
	jmp32  %_gc_loop_135_break_b_113_b_113_b_113_b_113_b_113_b_113_b_113_skip_b_113
:_gc_loop_135_break_b_113_b_113_b_113_b_113_b_113_b_113_b_113_b_113
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_news
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_news[scan].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x5
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_gc_loop_135_break_b_113_b_113_b_113_b_113_b_113_b_113_b_113
:_gc_loop_135_break_b_113_b_113_b_113_b_113_b_113_b_113_b_113_skip_b_113
	jmp32  %_gc_loop_135_break_b_113_b_113_b_113_b_113_b_113_b_113_skip_b_113
:_gc_loop_135_break_b_113_b_113_b_113_b_113_b_113_b_113_b_113
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_news
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_news[scan].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x7
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_gc_loop_135_break_b_113_b_113_b_113_b_113_b_113_b_113
:_gc_loop_135_break_b_113_b_113_b_113_b_113_b_113_b_113_skip_b_113
	jmp32  %_gc_loop_135_break_b_113_b_113_b_113_b_113_b_113_skip_b_113
:_gc_loop_135_break_b_113_b_113_b_113_b_113_b_113_b_113
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_news
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_news[scan].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x8
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_gc_loop_135_break_b_113_b_113_b_113_b_113_b_113
:_gc_loop_135_break_b_113_b_113_b_113_b_113_b_113_skip_b_113
	jmp32  %_gc_loop_135_break_b_113_b_113_b_113_b_113_skip_b_113
:_gc_loop_135_break_b_113_b_113_b_113_b_113_b_113
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_news
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_news[scan].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0xa
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_gc_loop_135_break_b_113_b_113_b_113_b_113
:_gc_loop_135_break_b_113_b_113_b_113_b_113_skip_b_113
	jmp32  %_gc_loop_135_break_b_113_b_113_b_113_skip_b_113
:_gc_loop_135_break_b_113_b_113_b_113_b_113
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_news
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_news[scan].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0xb
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_gc_loop_135_break_b_113_b_113_b_113
:_gc_loop_135_break_b_113_b_113_b_113_skip_b_113
	jmp32  %_gc_loop_135_break_b_113_b_113_skip_b_113
:_gc_loop_135_break_b_113_b_113_b_113
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_news
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_news[scan].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0xd
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_gc_loop_135_break_b_113_b_113
:_gc_loop_135_break_b_113_b_113_skip_b_113
	jmp32  %_gc_loop_135_break_b_113_skip_b_113
:_gc_loop_135_break_b_113_b_113
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_gc_loop_135_break_b_113
:_gc_loop_135_break_b_113_skip_b_113
	jmp32  %_gc_loop_135_break_skip_b_113
:_gc_loop_135_break_b_113
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_news
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_news[scan].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0xe
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_gc_loop_135_break
:_gc_loop_135_break_skip_b_113
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_news
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_news[scan].cdr
	mov____(%eax),%eax
					# jmp test LABEL
	test___%eax,%eax
	je32   %_gc_loop_135_break
					# cdr = gc_copy(g_news[scan].cdr)
					# gc_copy(g_news[scan].cdr)
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_news
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_news[scan].cdr
	mov____(%ebx),%ebx
	push___%ebx
	call32 %gc_copy
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
					# gc_relocate_cdr(scan, cdr)
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %gc_relocate_cdr
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_gc_loop_135_break
:_gc_loop_135_break
					# if (g_news[scan].type == 0) ...
	mov____0x8(%ebp),%eax !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_news
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_news[scan].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x0
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_gc_loop_340_break
					# scan += bytes_cells(g_news[scan].car) - 1
					# bytes_cells(g_news[scan].car)
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_news
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
					# g_news[scan].car
	mov____(%ebx),%ebx
	push___%ebx
	call32 %bytes_cells
	add____$i8,%esp !0x4
	add____$i8,%eax !0x-1
	mov____0x8(%ebp),%ebx !0x8
	xchg___%eax,%ebx
	add____%ebx,%eax
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
	jmp32  %_gc_loop_340_break
:_gc_loop_340_break
	mov____0x8(%ebp),%eax !0x8
	mov____%ebp,%ebx
	add____$i8,%ebx !0x8
	add____$i8,(%ebx) !0x1
	test___%eax,%eax
:_gc_loop_3_continue
	mov____0x8(%ebp),%eax !0x8
	mov____0x32,%ebx &g_free
	sub____%ebx,%eax
	setl___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_gc_loop_3_break
	jmp32  %_gc_loop_3_loop
:_gc_loop_3_break
					# gc_flip()
	call32 %gc_flip
	add____$i8,%esp !0x0
	test___%eax,%eax
	leave
	ret


:gc_check
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# if (g_free + GC_SAFETY > ARENA_SIZE) ...
	mov____0x32,%eax &g_free
	mov____0x32,%ebx &GC_SAFETY
	add____%ebx,%eax
	mov____0x32,%ebx &ARENA_SIZE
	sub____%ebx,%eax
	setg___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_gc_check_1_break
					# gc()
	call32 %gc
	add____$i8,%esp !0x0
	test___%eax,%eax
	jmp32  %_gc_check_1_break
:_gc_check_1_break
	mov____$i32,%eax %0x7
	leave
	ret


:gc_init_news
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# g_news = g_cells + g_free
	mov____0x32,%eax &g_free
	mov____$i32,%ebx %0xc
	mul____%ebx
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,0x32 &g_news
	test___%eax,%eax
					# g_news[0].type = 16
	mov____$i32,%eax %0x10
	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____0x32,%ebx &g_news
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x0
	mov____%eax,(%ebx)
	test___%eax,%eax
					# g_news[0].car = 1000
	mov____$i32,%eax %0x3e8
	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____0x32,%ebx &g_news
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x4
	mov____%eax,(%ebx)
	test___%eax,%eax
					# g_news[0].cdr = 0
	mov____$i32,%eax %0x0
	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____0x32,%ebx &g_news
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
	mov____%eax,(%ebx)
	test___%eax,%eax
	mov____0x32,%eax &g_news
	mov____$i32,%ebx &g_news
	add____$i8,(%ebx) !0xc
	test___%eax,%eax
					# g_news[0].type = 1
	mov____$i32,%eax %0x1
	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____0x32,%ebx &g_news
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x0
	mov____%eax,(%ebx)
	test___%eax,%eax
					# g_news[0].cdr = 'n'
	mov____$i32,%eax %0x6e
	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____0x32,%ebx &g_news
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
	mov____%eax,(%ebx)
	test___%eax,%eax
	mov____$i32,%eax %0x0
	leave
	ret


:gc_
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# gc_init_news()
	call32 %gc_init_news
	add____$i8,%esp !0x0
	test___%eax,%eax
					# if (g_debug == 2) ...
	mov____0x32,%eax &g_debug
	mov____$i32,%ebx %0x2
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_gc__4_break
					# eputs(".")
	push___$i32 &_string_src/mes.x86-mes-S_31
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
	jmp32  %_gc__4_break
:_gc__4_break
					# if (g_debug > 2) ...
	mov____0x32,%eax &g_debug
	mov____$i32,%ebx %0x2
	sub____%ebx,%eax
	setg___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_gc__17_break
					# eputs(";;; gc[")
	push___$i32 &_string_src/mes.x86-mes-S_385
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(itoa(g_free))
					# itoa(g_free)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &g_free
	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_src/mes.x86-mes-S_357
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(itoa(ARENA_SIZE - g_free))
					# itoa(ARENA_SIZE - g_free)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &ARENA_SIZE
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &g_free
	sub____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	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_src/mes.x86-mes-S_386
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
	jmp32  %_gc__17_break
:_gc__17_break
					# g_free = 1
	mov____$i32,%eax %0x1
	mov____%eax,0x32 &g_free
	test___%eax,%eax
					# if (ARENA_SIZE < MAX_ARENA_SIZE && (long)g_news > 0) ...
	mov____0x32,%eax &ARENA_SIZE
	mov____0x32,%ebx &MAX_ARENA_SIZE
	sub____%ebx,%eax
	setl___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_gc__75_break
	mov____0x32,%eax &g_news
	mov____$i32,%ebx %0x0
	sub____%ebx,%eax
	setg___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_gc__75_break
					# if (g_debug == 2) ...
	mov____0x32,%eax &g_debug
	mov____$i32,%ebx %0x2
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_gc__90_break
					# eputs("+")
	push___$i32 &_string_src/mes.x86-mes-S_185
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
	jmp32  %_gc__90_break
:_gc__90_break
					# if (g_debug > 2) ...
	mov____0x32,%eax &g_debug
	mov____$i32,%ebx %0x2
	sub____%ebx,%eax
	setg___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_gc__103_break
					# eputs(" up[")
	push___$i32 &_string_src/mes.x86-mes-S_387
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(itoa((unsigned long)g_cells))
					# itoa((unsigned long)g_cells)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &g_cells
	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_src/mes.x86-mes-S_388
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(itoa((unsigned long)g_news))
					# itoa((unsigned long)g_news)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &g_news
	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_src/mes.x86-mes-S_357
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(itoa(ARENA_SIZE))
					# itoa(ARENA_SIZE)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &ARENA_SIZE
	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_src/mes.x86-mes-S_388
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(itoa(MAX_ARENA_SIZE))
					# itoa(MAX_ARENA_SIZE)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &MAX_ARENA_SIZE
	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_src/mes.x86-mes-S_386
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
	jmp32  %_gc__103_break
:_gc__103_break
					# gc_up_arena()
	call32 %gc_up_arena
	add____$i8,%esp !0x0
	test___%eax,%eax
	jmp32  %_gc__75_break
:_gc__75_break
					# for (long i = g_free; i < g_symbol_max; i++) ...
					# long i = g_free;\n
	mov____0x32,%eax &g_free
	mov____%eax,0x8(%ebp) !0x-4
	jmp32  %_gc__194_initial_skip
:_gc__194_loop
					# gc_copy(i)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %gc_copy
	add____$i8,%esp !0x4
	test___%eax,%eax
:_gc__194_continue
	mov____0x8(%ebp),%eax !0x-4
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-4
	add____$i8,(%ebx) !0x1
:_gc__194_initial_skip
	mov____0x8(%ebp),%eax !0x-4
	mov____0x32,%ebx &g_symbol_max
	sub____%ebx,%eax
	setl___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_gc__194_break
	jmp32  %_gc__194_loop
:_gc__194_break
					# g_symbols = gc_copy(g_symbols)
					# gc_copy(g_symbols)
	mov____0x32,%ebx &g_symbols
	push___%ebx
	call32 %gc_copy
	add____$i8,%esp !0x4
	mov____%eax,0x32 &g_symbols
	test___%eax,%eax
					# g_macros = gc_copy(g_macros)
					# gc_copy(g_macros)
	mov____0x32,%ebx &g_macros
	push___%ebx
	call32 %gc_copy
	add____$i8,%esp !0x4
	mov____%eax,0x32 &g_macros
	test___%eax,%eax
					# g_ports = gc_copy(g_ports)
					# gc_copy(g_ports)
	mov____0x32,%ebx &g_ports
	push___%ebx
	call32 %gc_copy
	add____$i8,%esp !0x4
	mov____%eax,0x32 &g_ports
	test___%eax,%eax
					# m0 = gc_copy(m0)
					# gc_copy(m0)
	mov____0x32,%ebx &m0
	push___%ebx
	call32 %gc_copy
	add____$i8,%esp !0x4
	mov____%eax,0x32 &m0
	test___%eax,%eax
					# for (long i = g_stack; i < STACK_SIZE; i++) ...
					# long i = g_stack;\n
	mov____0x32,%eax &g_stack
	mov____%eax,0x8(%ebp) !0x-4
	jmp32  %_gc__247_initial_skip
:_gc__247_loop
					# g_stack_array[i] = gc_copy(g_stack_array[i])
					# gc_copy(g_stack_array[i])
	mov____0x8(%ebp),%ebx !0x-4
	shl____$i8,%ebx !0x2
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &g_stack_array
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____(%ebx),%ebx
	push___%ebx
	call32 %gc_copy
	add____$i8,%esp !0x4
	mov____0x8(%ebp),%ebx !0x-4
	shl____$i8,%ebx !0x2
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &g_stack_array
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____%eax,(%ebx)
	test___%eax,%eax
:_gc__247_continue
	mov____0x8(%ebp),%eax !0x-4
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-4
	add____$i8,(%ebx) !0x1
:_gc__247_initial_skip
	mov____0x8(%ebp),%eax !0x-4
	mov____0x32,%ebx &STACK_SIZE
	sub____%ebx,%eax
	setl___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_gc__247_break
	jmp32  %_gc__247_loop
:_gc__247_break
					# gc_loop(1)
	mov____$i32,%ebx %0x1
	push___%ebx
	call32 %gc_loop
	add____$i8,%esp !0x4
	test___%eax,%eax
	leave
	ret


:gc
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# if (g_debug > 4) ...
	mov____0x32,%eax &g_debug
	mov____$i32,%ebx %0x4
	sub____%ebx,%eax
	setg___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_gc_1_break
					# eputs("symbols: ")
	push___$i32 &_string_src/mes.x86-mes-S_389
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# write_error_(g_symbols)
	mov____0x32,%ebx &g_symbols
	push___%ebx
	call32 %write_error_
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs("\n")
	push___$i32 &_string_src/mes.x86-mes-S_4
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs("R0: ")
	push___$i32 &_string_src/mes.x86-mes-S_390
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# write_error_(r0)
	mov____0x32,%ebx &r0
	push___%ebx
	call32 %write_error_
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs("\n")
	push___$i32 &_string_src/mes.x86-mes-S_4
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
	jmp32  %_gc_1_break
:_gc_1_break
					# gc_push_frame()
	call32 %gc_push_frame
	add____$i8,%esp !0x0
	test___%eax,%eax
					# gc_()
	call32 %gc_
	add____$i8,%esp !0x0
	test___%eax,%eax
					# gc_pop_frame()
	call32 %gc_pop_frame
	add____$i8,%esp !0x0
	test___%eax,%eax
					# if (g_debug > 4) ...
	mov____0x32,%eax &g_debug
	mov____$i32,%ebx %0x4
	sub____%ebx,%eax
	setg___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_gc_46_break
					# eputs("symbols: ")
	push___$i32 &_string_src/mes.x86-mes-S_389
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# write_error_(g_symbols)
	mov____0x32,%ebx &g_symbols
	push___%ebx
	call32 %write_error_
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs("\n")
	push___$i32 &_string_src/mes.x86-mes-S_4
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs("R0: ")
	push___$i32 &_string_src/mes.x86-mes-S_390
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# write_error_(r0)
	mov____0x32,%ebx &r0
	push___%ebx
	call32 %write_error_
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs("\n")
	push___$i32 &_string_src/mes.x86-mes-S_4
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
	jmp32  %_gc_46_break
:_gc_46_break
	leave
	ret


:read_input_file_env_
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# if (e == 1) ...
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_read_input_file_env__1_break
	mov____0x8(%ebp),%eax !0x8
	leave
	ret
	jmp32  %_read_input_file_env__1_break
:_read_input_file_env__1_break
					# cons(e, read_input_file_env_(read_env(a), a))
					# read_input_file_env_(read_env(a), a)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
					# read_env(a)
	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 %read_env
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %read_input_file_env_
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	leave
	ret


:read_input_file_env
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# read_input_file_env_(read_env(1), 1)
	mov____$i32,%ebx %0x1
	push___%ebx
					# read_env(1)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x1
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %read_env
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %read_input_file_env_
	add____$i8,%esp !0x8
	leave
	ret


:reader_read_line_comment
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# while (c != -1) ...
	jmp32  %_reader_read_line_comment_1_continue
:_reader_read_line_comment_1_loop
					# if (c == '\\n') ...
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0xa
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_line_comment_4_break
	mov____0x8(%ebp),%eax !0x8
	leave
	ret
	jmp32  %_reader_read_line_comment_4_break
:_reader_read_line_comment_4_break
					# c = readchar()
					# readchar()
	call32 %readchar
	add____$i8,%esp !0x0
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
:_reader_read_line_comment_1_continue
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x-1
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_line_comment_1_break
	jmp32  %_reader_read_line_comment_1_loop
:_reader_read_line_comment_1_break
					# error(77, make_string("reader_read_line_comment", strlen(\n    "reader_read_line_comment")))
					# make_string("reader_read_line_comment", strlen("reader_read_line_comment"))
	push___%eax
					# strlen("reader_read_line_comment")
	push___%eax
	mov____%ebx,%eax
	push___%eax
	push___%eax
	mov____%ebx,%eax
	push___$i32 &_string_src/mes.x86-mes-S_391
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %strlen
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	push___$i32 &_string_src/mes.x86-mes-S_391
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %make_string
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x4d
	push___%ebx
	call32 %error
	add____$i8,%esp !0x8
	test___%eax,%eax
	leave
	ret


:reader_identifier_p
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x20
	sub____%ebx,%eax
	setg___%al
	movzbl_%al,%eax
	test___%eax,%eax
	test___%eax,%eax
	je32   %_reader_identifier_p_6_and_skip_b
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x7e
	sub____%ebx,%eax
	setle__%al
	movzbl_%al,%eax
	test___%eax,%eax
	test___%eax,%eax
:_reader_identifier_p_6_and_skip_b
	test___%eax,%eax
	je32   %_reader_identifier_p_16_and_skip_b
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x22
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
:_reader_identifier_p_16_and_skip_b
	test___%eax,%eax
	je32   %_reader_identifier_p_27_and_skip_b
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x3b
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
:_reader_identifier_p_27_and_skip_b
	test___%eax,%eax
	je32   %_reader_identifier_p_38_and_skip_b
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x28
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
:_reader_identifier_p_38_and_skip_b
	test___%eax,%eax
	je32   %_reader_identifier_p_49_and_skip_b
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x29
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
:_reader_identifier_p_49_and_skip_b
	test___%eax,%eax
	je32   %_reader_identifier_p_60_and_skip_b
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x-1
	sub____%ebx,%eax
	test___%eax,%eax
	lahf
	xor____$i8,%ah !0x40
	sahf
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
:_reader_identifier_p_60_and_skip_b
	leave
	ret


:reader_end_of_word_p
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x22
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
	jne32  %_reader_end_of_word_p_5_or_skip_b
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x3b
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
:_reader_end_of_word_p_5_or_skip_b
	test___%eax,%eax
	jne32  %_reader_end_of_word_p_14_or_skip_b
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x28
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
:_reader_end_of_word_p_14_or_skip_b
	test___%eax,%eax
	jne32  %_reader_end_of_word_p_23_or_skip_b
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x29
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
:_reader_end_of_word_p_23_or_skip_b
	test___%eax,%eax
	jne32  %_reader_end_of_word_p_32_or_skip_b
	test___%eax,%eax
					# isspace(c)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %isspace
	add____$i8,%esp !0x4
	test___%eax,%eax
:_reader_end_of_word_p_32_or_skip_b
	test___%eax,%eax
	jne32  %_reader_end_of_word_p_41_or_skip_b
	test___%eax,%eax
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x-1
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
:_reader_end_of_word_p_41_or_skip_b
	leave
	ret


:reader_read_identifier_or_number
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# int i = 0;\n
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x-4
					# long n = 0;\n
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x-8
					# int negative_p = 0;\n
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x-c
					# if (c == '+' && isdigit(peekchar())) ...else ...
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x2b
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_identifier_or_number_10_else
					# isdigit(peekchar())
					# peekchar()
	push___%eax
	call32 %peekchar
	add____$i8,%esp !0x0
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %isdigit
	add____$i8,%esp !0x4
					# jmp test LABEL
	test___%eax,%eax
	je32   %_reader_read_identifier_or_number_10_else
					# c = readchar()
					# readchar()
	call32 %readchar
	add____$i8,%esp !0x0
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
	jmp32  %_reader_read_identifier_or_number_10_break
:_reader_read_identifier_or_number_10_else
					# if (c == '-' && isdigit(peekchar())) ...
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x2d
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_identifier_or_number_35_break
					# isdigit(peekchar())
					# peekchar()
	push___%eax
	call32 %peekchar
	add____$i8,%esp !0x0
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %isdigit
	add____$i8,%esp !0x4
					# jmp test LABEL
	test___%eax,%eax
	je32   %_reader_read_identifier_or_number_35_break
					# negative_p = 1
	mov____$i32,%eax %0x1
	mov____%eax,0x8(%ebp) !0x-c
	test___%eax,%eax
					# c = readchar()
					# readchar()
	call32 %readchar
	add____$i8,%esp !0x0
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
	jmp32  %_reader_read_identifier_or_number_35_break
:_reader_read_identifier_or_number_35_break
:_reader_read_identifier_or_number_10_break
					# while (isdigit(c)) ...
	jmp32  %_reader_read_identifier_or_number_65_continue
:_reader_read_identifier_or_number_65_loop
					# g_buf[i++] = c
	mov____0x8(%ebp),%eax !0x8
	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
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &g_buf
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____%al,(%ebx)
	test___%eax,%eax
					# n *= 10
	mov____$i32,%eax %0xa
	mov____0x8(%ebp),%ebx !0x-8
	xchg___%eax,%ebx
	mul____%ebx
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
					# n += c - '0'
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x30
	sub____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-8
	xchg___%eax,%ebx
	add____%ebx,%eax
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
					# c = readchar()
					# readchar()
	call32 %readchar
	add____$i8,%esp !0x0
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
:_reader_read_identifier_or_number_65_continue
					# isdigit(c)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %isdigit
	add____$i8,%esp !0x4
					# jmp test LABEL
	test___%eax,%eax
	je32   %_reader_read_identifier_or_number_65_break
	jmp32  %_reader_read_identifier_or_number_65_loop
:_reader_read_identifier_or_number_65_break
					# if (reader_end_of_word_p(c)) ...
					# reader_end_of_word_p(c)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %reader_end_of_word_p
	add____$i8,%esp !0x4
					# jmp test LABEL
	test___%eax,%eax
	je32   %_reader_read_identifier_or_number_112_break
					# unreadchar(c)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %unreadchar
	add____$i8,%esp !0x4
	test___%eax,%eax
					# if (negative_p) ...
	mov____0x8(%ebp),%eax !0x-c
					# jmp test LABEL
	test___%eax,%eax
	je32   %_reader_read_identifier_or_number_125_break
					# n = 0 - n
	mov____$i32,%eax %0x0
	mov____0x8(%ebp),%ebx !0x-8
	sub____%ebx,%eax
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
	jmp32  %_reader_read_identifier_or_number_125_break
:_reader_read_identifier_or_number_125_break
					# make_cell__(6, 0, (long)n)
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____$i32,%ebx %0x6
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	leave
	ret
	jmp32  %_reader_read_identifier_or_number_112_break
:_reader_read_identifier_or_number_112_break
					# while (!reader_end_of_word_p(c)) ...
	jmp32  %_reader_read_identifier_or_number_149_continue
:_reader_read_identifier_or_number_149_loop
					# g_buf[i++] = c
	mov____0x8(%ebp),%eax !0x8
	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
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &g_buf
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____%al,(%ebx)
	test___%eax,%eax
					# c = readchar()
					# readchar()
	call32 %readchar
	add____$i8,%esp !0x0
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
:_reader_read_identifier_or_number_149_continue
					# reader_end_of_word_p(c)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %reader_end_of_word_p
	add____$i8,%esp !0x4
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_reader_read_identifier_or_number_149_break
	jmp32  %_reader_read_identifier_or_number_149_loop
:_reader_read_identifier_or_number_149_break
					# unreadchar(c)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %unreadchar
	add____$i8,%esp !0x4
	test___%eax,%eax
					# g_buf[i] = 0
	mov____$i32,%eax %0x0
	mov____0x8(%ebp),%ebx !0x-4
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &g_buf
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____%al,(%ebx)
	test___%eax,%eax
					# cstring_to_symbol(g_buf)
	mov____0x32,%ebx &g_buf
	push___%ebx
	call32 %cstring_to_symbol
	add____$i8,%esp !0x4
	leave
	ret


:reader_read_sexp_
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
:_reader_read_sexp__label_reset_reader
					# 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  %_reader_read_sexp__2_break
	mov____$i32,%eax %0x1
	leave
	ret
	jmp32  %_reader_read_sexp__2_break
:_reader_read_sexp__2_break
					# if (c == ';') ...
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x3b
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_sexp__13_break
					# c = reader_read_line_comment(c)
					# reader_read_line_comment(c)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %reader_read_line_comment
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
	jmp32  %_reader_read_sexp__label_reset_reader
	jmp32  %_reader_read_sexp__13_break
:_reader_read_sexp__13_break
					# if (((c == ' ' || c == '\\t') || c == '\\n') || c == '\\f') ...
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x20
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_sexp__30_break_b_24_b_24_b_24
	jmp32  %_reader_read_sexp__30_break_b_24_b_24_skip_b_24
:_reader_read_sexp__30_break_b_24_b_24_b_24
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x9
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_sexp__30_break_b_24_b_24
:_reader_read_sexp__30_break_b_24_b_24_skip_b_24
	jmp32  %_reader_read_sexp__30_break_b_24_skip_b_24
:_reader_read_sexp__30_break_b_24_b_24
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0xa
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_sexp__30_break_b_24
:_reader_read_sexp__30_break_b_24_skip_b_24
	jmp32  %_reader_read_sexp__30_break_skip_b_24
:_reader_read_sexp__30_break_b_24
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0xc
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_sexp__30_break
:_reader_read_sexp__30_break_skip_b_24
					# c = readchar()
					# readchar()
	call32 %readchar
	add____$i8,%esp !0x0
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
	jmp32  %_reader_read_sexp__label_reset_reader
	jmp32  %_reader_read_sexp__30_break
:_reader_read_sexp__30_break
					# if (c == '(') ...
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x28
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_sexp__72_break
					# reader_read_list(readchar(), a)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
					# readchar()
	push___%eax
	call32 %readchar
	add____$i8,%esp !0x0
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %reader_read_list
	add____$i8,%esp !0x8
	leave
	ret
	jmp32  %_reader_read_sexp__72_break
:_reader_read_sexp__72_break
					# if (c == ')') ...
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x29
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_sexp__92_break
	mov____$i32,%eax %0x1
	leave
	ret
	jmp32  %_reader_read_sexp__92_break
:_reader_read_sexp__92_break
					# if (c == '#') ...
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x23
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_sexp__103_break
					# reader_read_hash(readchar(), a)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
					# readchar()
	push___%eax
	call32 %readchar
	add____$i8,%esp !0x0
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %reader_read_hash
	add____$i8,%esp !0x8
	leave
	ret
	jmp32  %_reader_read_sexp__103_break
:_reader_read_sexp__103_break
					# if (c == '`') ...
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x60
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_sexp__123_break
					# cons(53, cons(reader_read_sexp_(readchar(), a), 1))
					# cons(reader_read_sexp_(readchar(), a), 1)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x1
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
					# reader_read_sexp_(readchar(), a)
	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)
					# readchar()
	push___%eax
	mov____%ebx,%eax
	push___%eax
	call32 %readchar
	add____$i8,%esp !0x0
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %reader_read_sexp_
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x35
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	leave
	ret
	jmp32  %_reader_read_sexp__123_break
:_reader_read_sexp__123_break
					# if (c == ',') ...
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x2c
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_sexp__171_break
					# if (peekchar() == '@') ...
					# peekchar()
	call32 %peekchar
	add____$i8,%esp !0x0
	mov____$i32,%ebx %0x40
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_sexp__178_break
					# readchar()
	call32 %readchar
	add____$i8,%esp !0x0
	test___%eax,%eax
					# cons(55, cons(reader_read_sexp_(readchar(), a), 1))
					# cons(reader_read_sexp_(readchar(), a), 1)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x1
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
					# reader_read_sexp_(readchar(), a)
	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)
					# readchar()
	push___%eax
	mov____%ebx,%eax
	push___%eax
	call32 %readchar
	add____$i8,%esp !0x0
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %reader_read_sexp_
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x37
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	leave
	ret
	jmp32  %_reader_read_sexp__178_break
:_reader_read_sexp__178_break
					# cons(54, cons(reader_read_sexp_(readchar(), a), 1))
					# cons(reader_read_sexp_(readchar(), a), 1)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x1
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
					# reader_read_sexp_(readchar(), a)
	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)
					# readchar()
	push___%eax
	mov____%ebx,%eax
	push___%eax
	call32 %readchar
	add____$i8,%esp !0x0
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %reader_read_sexp_
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x36
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	leave
	ret
	jmp32  %_reader_read_sexp__171_break
:_reader_read_sexp__171_break
					# if (c == '\'') ...
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x27
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_sexp__271_break
					# cons(50, cons(reader_read_sexp_(readchar(), a), 1))
					# cons(reader_read_sexp_(readchar(), a), 1)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x1
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
					# reader_read_sexp_(readchar(), a)
	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)
					# readchar()
	push___%eax
	mov____%ebx,%eax
	push___%eax
	call32 %readchar
	add____$i8,%esp !0x0
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %reader_read_sexp_
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x32
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	leave
	ret
	jmp32  %_reader_read_sexp__271_break
:_reader_read_sexp__271_break
					# if (c == '\"') ...
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x22
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_sexp__319_break
					# reader_read_string()
	call32 %reader_read_string
	add____$i8,%esp !0x0
	leave
	ret
	jmp32  %_reader_read_sexp__319_break
:_reader_read_sexp__319_break
					# if (c == '.' && !reader_identifier_p(peekchar())) ...
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x2e
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_sexp__331_break
					# reader_identifier_p(peekchar())
					# peekchar()
	push___%eax
	call32 %peekchar
	add____$i8,%esp !0x0
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %reader_identifier_p
	add____$i8,%esp !0x4
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_reader_read_sexp__331_break
	mov____$i32,%eax %0x4
	leave
	ret
	jmp32  %_reader_read_sexp__331_break
:_reader_read_sexp__331_break
					# reader_read_identifier_or_number(c)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %reader_read_identifier_or_number
	add____$i8,%esp !0x4
	leave
	ret


:reader_eat_whitespace
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# while (isspace(c)) ...
	jmp32  %_reader_eat_whitespace_1_continue
:_reader_eat_whitespace_1_loop
					# c = readchar()
					# readchar()
	call32 %readchar
	add____$i8,%esp !0x0
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
:_reader_eat_whitespace_1_continue
					# isspace(c)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %isspace
	add____$i8,%esp !0x4
					# jmp test LABEL
	test___%eax,%eax
	je32   %_reader_eat_whitespace_1_break
	jmp32  %_reader_eat_whitespace_1_loop
:_reader_eat_whitespace_1_break
					# if (c == ';') ...
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x3b
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_eat_whitespace_19_break
					# reader_eat_whitespace(reader_read_line_comment(c))
					# reader_read_line_comment(c)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %reader_read_line_comment
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %reader_eat_whitespace
	add____$i8,%esp !0x4
	leave
	ret
	jmp32  %_reader_eat_whitespace_19_break
:_reader_eat_whitespace_19_break
					# if (c == '#' && (peekchar() == '!' || peekchar() == '|')) ...
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x23
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_eat_whitespace_42_break
					# peekchar()
	call32 %peekchar
	add____$i8,%esp !0x0
	mov____$i32,%ebx %0x21
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_eat_whitespace_42_break_b_38
	jmp32  %_reader_eat_whitespace_42_break_skip_b_38
:_reader_eat_whitespace_42_break_b_38
					# peekchar()
	call32 %peekchar
	add____$i8,%esp !0x0
	mov____$i32,%ebx %0x7c
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_eat_whitespace_42_break
:_reader_eat_whitespace_42_break_skip_b_38
					# c = readchar()
					# readchar()
	call32 %readchar
	add____$i8,%esp !0x0
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# reader_read_block_comment(c, readchar())
					# readchar()
	push___%eax
	call32 %readchar
	add____$i8,%esp !0x0
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %reader_read_block_comment
	add____$i8,%esp !0x8
	test___%eax,%eax
					# reader_eat_whitespace(readchar())
					# readchar()
	push___%eax
	call32 %readchar
	add____$i8,%esp !0x0
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %reader_eat_whitespace
	add____$i8,%esp !0x4
	leave
	ret
	jmp32  %_reader_eat_whitespace_42_break
:_reader_eat_whitespace_42_break
	mov____0x8(%ebp),%eax !0x8
	leave
	ret


:reader_read_list
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# c = reader_eat_whitespace(c)
					# reader_eat_whitespace(c)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %reader_eat_whitespace
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x8
	test___%eax,%eax
					# if (c == ')') ...
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x29
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_list_8_break
	mov____$i32,%eax %0x1
	leave
	ret
	jmp32  %_reader_read_list_8_break
:_reader_read_list_8_break
					# 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  %_reader_read_list_19_break
					# error(76, make_string("EOF in list", strlen("EOF in list")))
					# make_string("EOF in list", strlen("EOF in list"))
	push___%eax
					# strlen("EOF in list")
	push___%eax
	mov____%ebx,%eax
	push___%eax
	push___%eax
	mov____%ebx,%eax
	push___$i32 &_string_src/mes.x86-mes-S_392
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %strlen
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	push___$i32 &_string_src/mes.x86-mes-S_392
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %make_string
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x4c
	push___%ebx
	call32 %error
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_reader_read_list_19_break
:_reader_read_list_19_break
					# SCM s = reader_read_sexp_(c, a);\n
					# reader_read_sexp_(c, a)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %reader_read_sexp_
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-4
					# if (s == 4) ...
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x4
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_list_64_break
					# reader_read_list(readchar(), a)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
					# readchar()
	push___%eax
	call32 %readchar
	add____$i8,%esp !0x0
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %reader_read_list
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x4
					# g_cells[reader_read_list(readchar(), a)].car
	mov____(%eax),%eax
	leave
	ret
	jmp32  %_reader_read_list_64_break
:_reader_read_list_64_break
					# cons(s, reader_read_list(readchar(), a))
					# reader_read_list(readchar(), a)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
					# readchar()
	push___%eax
	mov____%ebx,%eax
	push___%eax
	call32 %readchar
	add____$i8,%esp !0x0
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %reader_read_list
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	leave
	ret


:read_env
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# reader_read_sexp_(readchar(), a)
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
					# readchar()
	push___%eax
	call32 %readchar
	add____$i8,%esp !0x0
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %reader_read_sexp_
	add____$i8,%esp !0x8
	leave
	ret


:reader_read_block_comment
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# if (c == s && peekchar() == '#') ...
	mov____0x8(%ebp),%eax !0xc
	mov____0x8(%ebp),%ebx !0x8
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_block_comment_1_break
					# peekchar()
	call32 %peekchar
	add____$i8,%esp !0x0
	mov____$i32,%ebx %0x23
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_block_comment_1_break
					# readchar()
	call32 %readchar
	add____$i8,%esp !0x0
	leave
	ret
	jmp32  %_reader_read_block_comment_1_break
:_reader_read_block_comment_1_break
					# reader_read_block_comment(s, readchar())
					# readchar()
	push___%eax
	call32 %readchar
	add____$i8,%esp !0x0
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %reader_read_block_comment
	add____$i8,%esp !0x8
	leave
	ret


:reader_read_hash
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# if (c == '!') ...
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x21
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_hash_1_break
					# reader_read_block_comment(c, readchar())
					# readchar()
	push___%eax
	call32 %readchar
	add____$i8,%esp !0x0
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %reader_read_block_comment
	add____$i8,%esp !0x8
	test___%eax,%eax
					# reader_read_sexp_(readchar(), a)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
					# readchar()
	push___%eax
	call32 %readchar
	add____$i8,%esp !0x0
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %reader_read_sexp_
	add____$i8,%esp !0x8
	leave
	ret
	jmp32  %_reader_read_hash_1_break
:_reader_read_hash_1_break
					# if (c == '|') ...
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x7c
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_hash_32_break
					# reader_read_block_comment(c, readchar())
					# readchar()
	push___%eax
	call32 %readchar
	add____$i8,%esp !0x0
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %reader_read_block_comment
	add____$i8,%esp !0x8
	test___%eax,%eax
					# reader_read_sexp_(readchar(), a)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
					# readchar()
	push___%eax
	call32 %readchar
	add____$i8,%esp !0x0
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %reader_read_sexp_
	add____$i8,%esp !0x8
	leave
	ret
	jmp32  %_reader_read_hash_32_break
:_reader_read_hash_32_break
					# if (c == 'f') ...
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x66
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_hash_63_break
	mov____$i32,%eax %0x2
	leave
	ret
	jmp32  %_reader_read_hash_63_break
:_reader_read_hash_63_break
					# if (c == 't') ...
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x74
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_hash_74_break
	mov____$i32,%eax %0x3
	leave
	ret
	jmp32  %_reader_read_hash_74_break
:_reader_read_hash_74_break
					# if (c == ',') ...
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x2c
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_hash_85_break
					# if (peekchar() == '@') ...
					# peekchar()
	call32 %peekchar
	add____$i8,%esp !0x0
	mov____$i32,%ebx %0x40
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_hash_92_break
					# readchar()
	call32 %readchar
	add____$i8,%esp !0x0
	test___%eax,%eax
					# cons(59, cons(reader_read_sexp_(readchar(), a), 1))
					# cons(reader_read_sexp_(readchar(), a), 1)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x1
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
					# reader_read_sexp_(readchar(), a)
	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)
					# readchar()
	push___%eax
	mov____%ebx,%eax
	push___%eax
	call32 %readchar
	add____$i8,%esp !0x0
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %reader_read_sexp_
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x3b
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	leave
	ret
	jmp32  %_reader_read_hash_92_break
:_reader_read_hash_92_break
					# cons(58, cons(reader_read_sexp_(readchar(), a), 1))
					# cons(reader_read_sexp_(readchar(), a), 1)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x1
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
					# reader_read_sexp_(readchar(), a)
	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)
					# readchar()
	push___%eax
	mov____%ebx,%eax
	push___%eax
	call32 %readchar
	add____$i8,%esp !0x0
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %reader_read_sexp_
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x3a
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	leave
	ret
	jmp32  %_reader_read_hash_85_break
:_reader_read_hash_85_break
					# if (c == '\'') ...
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x27
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_hash_185_break
					# cons(56, cons(reader_read_sexp_(readchar(), a), 1))
					# cons(reader_read_sexp_(readchar(), a), 1)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x1
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
					# reader_read_sexp_(readchar(), a)
	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)
					# readchar()
	push___%eax
	mov____%ebx,%eax
	push___%eax
	call32 %readchar
	add____$i8,%esp !0x0
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %reader_read_sexp_
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x38
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	leave
	ret
	jmp32  %_reader_read_hash_185_break
:_reader_read_hash_185_break
					# if (c == '`') ...
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x60
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_hash_233_break
					# cons(57, cons(reader_read_sexp_(readchar(), a), 1))
					# cons(reader_read_sexp_(readchar(), a), 1)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____$i32,%ebx %0x1
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
					# reader_read_sexp_(readchar(), a)
	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)
					# readchar()
	push___%eax
	mov____%ebx,%eax
	push___%eax
	call32 %readchar
	add____$i8,%esp !0x0
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %reader_read_sexp_
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x39
	push___%ebx
	call32 %cons
	add____$i8,%esp !0x8
	leave
	ret
	jmp32  %_reader_read_hash_233_break
:_reader_read_hash_233_break
					# if (c == ':') ...
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x3a
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_hash_281_break
					# SCM x = reader_read_identifier_or_number(readchar());\n
					# reader_read_identifier_or_number(readchar())
					# readchar()
	push___%eax
	call32 %readchar
	add____$i8,%esp !0x0
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %reader_read_identifier_or_number
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-4
					# if (g_cells[x].type == 6) ...
	mov____0x8(%ebp),%eax !0x-4
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x0
					# g_cells[x].type
	mov____(%eax),%eax
	mov____$i32,%ebx %0x6
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_hash_298_break
					# error(77, cons(make_string("keyword perifx ':' not followed by a symbol: ", \n    strlen("keyword perifx ':' not followed by a symbol: ")), x))
					# cons(make_string("keyword perifx ':' not followed by a symbol: ", strlen(\n    "keyword perifx ':' not followed by a symbol: ")), x)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
					# make_string("keyword perifx ':' not followed by a symbol: ", strlen(\n    "keyword perifx ':' not followed by a symbol: "))
	push___%eax
	mov____%ebx,%eax
	push___%eax
					# strlen("keyword perifx ':' not followed by a symbol: ")
	push___%eax
	mov____%ebx,%eax
	push___%eax
	push___%eax
	mov____%ebx,%eax
	push___$i32 &_string_src/mes.x86-mes-S_393
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %strlen
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	push___$i32 &_string_src/mes.x86-mes-S_393
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %make_string
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %cons
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x4d
	push___%ebx
	call32 %error
	add____$i8,%esp !0x8
	test___%eax,%eax
	jmp32  %_reader_read_hash_298_break
:_reader_read_hash_298_break
					# symbol_to_keyword(x)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %symbol_to_keyword
	add____$i8,%esp !0x4
	leave
	ret
	jmp32  %_reader_read_hash_281_break
:_reader_read_hash_281_break
					# if (c == 'b') ...
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x62
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_hash_363_break
					# reader_read_binary()
	call32 %reader_read_binary
	add____$i8,%esp !0x0
	leave
	ret
	jmp32  %_reader_read_hash_363_break
:_reader_read_hash_363_break
					# if (c == 'o') ...
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x6f
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_hash_375_break
					# reader_read_octal()
	call32 %reader_read_octal
	add____$i8,%esp !0x0
	leave
	ret
	jmp32  %_reader_read_hash_375_break
:_reader_read_hash_375_break
					# if (c == 'x') ...
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x78
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_hash_387_break
					# reader_read_hex()
	call32 %reader_read_hex
	add____$i8,%esp !0x0
	leave
	ret
	jmp32  %_reader_read_hash_387_break
:_reader_read_hash_387_break
					# if (c == '\\') ...
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x5c
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_hash_399_break
					# reader_read_character()
	call32 %reader_read_character
	add____$i8,%esp !0x0
	leave
	ret
	jmp32  %_reader_read_hash_399_break
:_reader_read_hash_399_break
					# if (c == '(') ...
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x28
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_hash_411_break
					# list_to_vector(reader_read_list(readchar(), a))
					# reader_read_list(readchar(), a)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
					# readchar()
	push___%eax
	mov____%ebx,%eax
	push___%eax
	call32 %readchar
	add____$i8,%esp !0x0
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %reader_read_list
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %list_to_vector
	add____$i8,%esp !0x4
	leave
	ret
	jmp32  %_reader_read_hash_411_break
:_reader_read_hash_411_break
					# if (c == ';') ...
	mov____0x8(%ebp),%eax !0x8
	mov____$i32,%ebx %0x3b
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_hash_443_break
					# reader_read_sexp_(readchar(), a)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
					# readchar()
	push___%eax
	call32 %readchar
	add____$i8,%esp !0x0
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %reader_read_sexp_
	add____$i8,%esp !0x8
	test___%eax,%eax
					# reader_read_sexp_(readchar(), a)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
					# readchar()
	push___%eax
	call32 %readchar
	add____$i8,%esp !0x0
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %reader_read_sexp_
	add____$i8,%esp !0x8
	leave
	ret
	jmp32  %_reader_read_hash_443_break
:_reader_read_hash_443_break
					# reader_read_sexp_(readchar(), a)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
					# readchar()
	push___%eax
	call32 %readchar
	add____$i8,%esp !0x0
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	call32 %reader_read_sexp_
	add____$i8,%esp !0x8
	leave
	ret


:reader_read_sexp
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# reader_read_sexp_(g_cells[c].cdr, a)
	mov____0x8(%ebp),%ebx !0x10
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	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____0x32,%ebx &g_cells
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	add____$i8,%ebx !0x8
					# g_cells[c].cdr
	mov____(%ebx),%ebx
	push___%ebx
	call32 %reader_read_sexp_
	add____$i8,%esp !0x8
	leave
	ret


:reader_read_character
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# int c = readchar();\n
					# readchar()
	call32 %readchar
	add____$i8,%esp !0x0
	mov____%eax,0x8(%ebp) !0x-4
					# int p = peekchar();\n
					# peekchar()
	call32 %peekchar
	add____$i8,%esp !0x0
	mov____%eax,0x8(%ebp) !0x-8
					# int i = 0;\n
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x-c
					# if (c >= '0' && c <= '7' && p >= '0' && p <= '7') ...else ...
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x30
	sub____%ebx,%eax
	setge__%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_reader_read_character_12_else
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x37
	sub____%ebx,%eax
	setle__%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_reader_read_character_12_else
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0x30
	sub____%ebx,%eax
	setge__%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_reader_read_character_12_else
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0x37
	sub____%ebx,%eax
	setle__%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_reader_read_character_12_else
					# c = c - '0'
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x30
	sub____%ebx,%eax
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# while (p >= '0' && p <= '7') ...
	jmp32  %_reader_read_character_47_continue
:_reader_read_character_47_loop
					# c <<= 3
	mov____$i32,%eax %0x3
	mov____0x8(%ebp),%ebx !0x-4
	xchg___%eax,%ebx
	mov____%ebx,%ecx
	shl____%cl,%eax
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# c += readchar() - '0'
					# readchar()
	call32 %readchar
	add____$i8,%esp !0x0
	mov____$i32,%ebx %0x30
	sub____%ebx,%eax
	mov____0x8(%ebp),%ebx !0x-4
	xchg___%eax,%ebx
	add____%ebx,%eax
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# p = peekchar()
					# peekchar()
	call32 %peekchar
	add____$i8,%esp !0x0
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
:_reader_read_character_47_continue
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0x30
	sub____%ebx,%eax
	setge__%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_reader_read_character_47_break
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0x37
	sub____%ebx,%eax
	setle__%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_reader_read_character_47_break
	jmp32  %_reader_read_character_47_loop
:_reader_read_character_47_break
	jmp32  %_reader_read_character_12_break
:_reader_read_character_12_else
					# if (c == 'x' && ((p >= '0' && p <= '9' || (p >= 'a' && p <= 'f')) || (p >= 'F'\n     && p <= 'F'))) ...else ...
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x78
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_character_91_else
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0x30
	sub____%ebx,%eax
	setge__%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_reader_read_character_91_else_b_77_b_77
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0x39
	sub____%ebx,%eax
	setle__%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_reader_read_character_91_else_b_77_b_77
	jmp32  %_reader_read_character_91_else_b_77_skip_b_77
:_reader_read_character_91_else_b_77_b_77
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0x61
	sub____%ebx,%eax
	setge__%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_reader_read_character_91_else_b_77
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0x66
	sub____%ebx,%eax
	setle__%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_reader_read_character_91_else_b_77
:_reader_read_character_91_else_b_77_skip_b_77
	jmp32  %_reader_read_character_91_else_skip_b_77
:_reader_read_character_91_else_b_77
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0x46
	sub____%ebx,%eax
	setge__%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_reader_read_character_91_else
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0x46
	sub____%ebx,%eax
	setle__%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_reader_read_character_91_else
:_reader_read_character_91_else_skip_b_77
					# c = g_cells[reader_read_hex()].cdr
					# reader_read_hex()
	call32 %reader_read_hex
	add____$i8,%esp !0x0
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[reader_read_hex()].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# eputs("reading hex c=")
	push___$i32 &_string_src/mes.x86-mes-S_394
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(itoa(c))
					# itoa(c)
	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_src/mes.x86-mes-S_4
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
	jmp32  %_reader_read_character_91_break
:_reader_read_character_91_else
					# if ((c >= 'a' && c <= 'z' || c == '*') && (p >= 'a' && p <= 'z' || p == '*')) \n    ...
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x61
	sub____%ebx,%eax
	setge__%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_reader_read_character_182_break_b_148
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x7a
	sub____%ebx,%eax
	setle__%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_reader_read_character_182_break_b_148
	jmp32  %_reader_read_character_182_break_skip_b_148
:_reader_read_character_182_break_b_148
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x2a
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_character_182_break
:_reader_read_character_182_break_skip_b_148
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0x61
	sub____%ebx,%eax
	setge__%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_reader_read_character_182_break_b_168
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0x7a
	sub____%ebx,%eax
	setle__%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_reader_read_character_182_break_b_168
	jmp32  %_reader_read_character_182_break_skip_b_168
:_reader_read_character_182_break_b_168
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0x2a
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_character_182_break
:_reader_read_character_182_break_skip_b_168
					# char buf[10];\n
					# buf[i] = c
	mov____0x8(%ebp),%eax !0x-4
	mov____0x8(%ebp),%ebx !0x-c
	push___%eax
	mov____%ebx,%eax
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-18
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____%al,(%ebx)
	test___%eax,%eax
					# i = i + 1
	mov____0x8(%ebp),%eax !0x-c
	add____$i8,%eax !0x1
	mov____%eax,0x8(%ebp) !0x-c
	test___%eax,%eax
					# while (p >= 'a' && p <= 'z' || p == '*') ...
	jmp32  %_reader_read_character_244_continue
:_reader_read_character_244_loop
					# buf[i] = readchar()
					# readchar()
	call32 %readchar
	add____$i8,%esp !0x0
	mov____0x8(%ebp),%ebx !0x-c
	push___%eax
	mov____%ebx,%eax
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-18
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____%al,(%ebx)
	test___%eax,%eax
					# i = i + 1
	mov____0x8(%ebp),%eax !0x-c
	add____$i8,%eax !0x1
	mov____%eax,0x8(%ebp) !0x-c
	test___%eax,%eax
					# p = peekchar()
					# peekchar()
	call32 %peekchar
	add____$i8,%esp !0x0
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
:_reader_read_character_244_continue
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0x61
	sub____%ebx,%eax
	setge__%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_reader_read_character_244_break_b_218
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0x7a
	sub____%ebx,%eax
	setle__%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_reader_read_character_244_break_b_218
	jmp32  %_reader_read_character_244_break_skip_b_218
:_reader_read_character_244_break_b_218
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0x2a
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_character_244_break
:_reader_read_character_244_break_skip_b_218
	jmp32  %_reader_read_character_244_loop
:_reader_read_character_244_break
					# buf[i] = 0
	mov____$i32,%eax %0x0
	mov____0x8(%ebp),%ebx !0x-c
	push___%eax
	mov____%ebx,%eax
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-18
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____%al,(%ebx)
	test___%eax,%eax
					# if (!strcmp(buf, "*eof*")) ...else ...
					# strcmp(buf, "*eof*")
	push___$i32 &_string_src/mes.x86-mes-S_395
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-18
	push___%ebx
	call32 %strcmp
	add____$i8,%esp !0x8
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_reader_read_character_302_else
					# c = -1
	mov____$i32,%eax %0x-1
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
	jmp32  %_reader_read_character_302_break
:_reader_read_character_302_else
					# if (!strcmp(buf, "nul")) ...else ...
					# strcmp(buf, "nul")
	push___$i32 &_string_src/mes.x86-mes-S_396
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-18
	push___%ebx
	call32 %strcmp
	add____$i8,%esp !0x8
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_reader_read_character_319_else
					# c = '\\0'
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
	jmp32  %_reader_read_character_319_break
:_reader_read_character_319_else
					# if (!strcmp(buf, "alarm")) ...else ...
					# strcmp(buf, "alarm")
	push___$i32 &_string_src/mes.x86-mes-S_397
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-18
	push___%ebx
	call32 %strcmp
	add____$i8,%esp !0x8
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_reader_read_character_336_else
					# c = '\\a'
	mov____$i32,%eax %0x7
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
	jmp32  %_reader_read_character_336_break
:_reader_read_character_336_else
					# if (!strcmp(buf, "backspace")) ...else ...
					# strcmp(buf, "backspace")
	push___$i32 &_string_src/mes.x86-mes-S_398
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-18
	push___%ebx
	call32 %strcmp
	add____$i8,%esp !0x8
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_reader_read_character_353_else
					# c = '\\b'
	mov____$i32,%eax %0x8
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
	jmp32  %_reader_read_character_353_break
:_reader_read_character_353_else
					# if (!strcmp(buf, "tab")) ...else ...
					# strcmp(buf, "tab")
	push___$i32 &_string_src/mes.x86-mes-S_399
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-18
	push___%ebx
	call32 %strcmp
	add____$i8,%esp !0x8
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_reader_read_character_370_else
					# c = '\\t'
	mov____$i32,%eax %0x9
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
	jmp32  %_reader_read_character_370_break
:_reader_read_character_370_else
					# if (!strcmp(buf, "linefeed")) ...else ...
					# strcmp(buf, "linefeed")
	push___$i32 &_string_src/mes.x86-mes-S_400
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-18
	push___%ebx
	call32 %strcmp
	add____$i8,%esp !0x8
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_reader_read_character_387_else
					# c = '\\n'
	mov____$i32,%eax %0xa
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
	jmp32  %_reader_read_character_387_break
:_reader_read_character_387_else
					# if (!strcmp(buf, "newline")) ...else ...
					# strcmp(buf, "newline")
	push___$i32 &_string_src/mes.x86-mes-S_401
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-18
	push___%ebx
	call32 %strcmp
	add____$i8,%esp !0x8
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_reader_read_character_404_else
					# c = '\\n'
	mov____$i32,%eax %0xa
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
	jmp32  %_reader_read_character_404_break
:_reader_read_character_404_else
					# if (!strcmp(buf, "vtab")) ...else ...
					# strcmp(buf, "vtab")
	push___$i32 &_string_src/mes.x86-mes-S_402
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-18
	push___%ebx
	call32 %strcmp
	add____$i8,%esp !0x8
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_reader_read_character_421_else
					# c = '\\v'
	mov____$i32,%eax %0xb
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
	jmp32  %_reader_read_character_421_break
:_reader_read_character_421_else
					# if (!strcmp(buf, "page")) ...else ...
					# strcmp(buf, "page")
	push___$i32 &_string_src/mes.x86-mes-S_403
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-18
	push___%ebx
	call32 %strcmp
	add____$i8,%esp !0x8
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_reader_read_character_438_else
					# c = '\\f'
	mov____$i32,%eax %0xc
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
	jmp32  %_reader_read_character_438_break
:_reader_read_character_438_else
					# if (!strcmp(buf, "return")) ...else ...
					# strcmp(buf, "return")
	push___$i32 &_string_src/mes.x86-mes-S_404
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-18
	push___%ebx
	call32 %strcmp
	add____$i8,%esp !0x8
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_reader_read_character_455_else
					# c = 13
	mov____$i32,%eax %0xd
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
	jmp32  %_reader_read_character_455_break
:_reader_read_character_455_else
					# if (!strcmp(buf, "esc")) ...else ...
					# strcmp(buf, "esc")
	push___$i32 &_string_src/mes.x86-mes-S_405
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-18
	push___%ebx
	call32 %strcmp
	add____$i8,%esp !0x8
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_reader_read_character_472_else
					# c = 27
	mov____$i32,%eax %0x1b
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
	jmp32  %_reader_read_character_472_break
:_reader_read_character_472_else
					# if (!strcmp(buf, "space")) ...else ...
					# strcmp(buf, "space")
	push___$i32 &_string_src/mes.x86-mes-S_406
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-18
	push___%ebx
	call32 %strcmp
	add____$i8,%esp !0x8
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_reader_read_character_489_else
					# c = ' '
	mov____$i32,%eax %0x20
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
	jmp32  %_reader_read_character_489_break
:_reader_read_character_489_else
					# if (!strcmp(buf, "bel")) ...else ...
					# strcmp(buf, "bel")
	push___$i32 &_string_src/mes.x86-mes-S_407
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-18
	push___%ebx
	call32 %strcmp
	add____$i8,%esp !0x8
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_reader_read_character_506_else
					# c = '\\a'
	mov____$i32,%eax %0x7
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
	jmp32  %_reader_read_character_506_break
:_reader_read_character_506_else
					# if (!strcmp(buf, "bs")) ...else ...
					# strcmp(buf, "bs")
	push___$i32 &_string_src/mes.x86-mes-S_408
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-18
	push___%ebx
	call32 %strcmp
	add____$i8,%esp !0x8
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_reader_read_character_523_else
					# c = '\\b'
	mov____$i32,%eax %0x8
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
	jmp32  %_reader_read_character_523_break
:_reader_read_character_523_else
					# if (!strcmp(buf, "ht")) ...else ...
					# strcmp(buf, "ht")
	push___$i32 &_string_src/mes.x86-mes-S_409
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-18
	push___%ebx
	call32 %strcmp
	add____$i8,%esp !0x8
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_reader_read_character_540_else
					# c = '\\t'
	mov____$i32,%eax %0x9
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
	jmp32  %_reader_read_character_540_break
:_reader_read_character_540_else
					# if (!strcmp(buf, "vt")) ...else ...
					# strcmp(buf, "vt")
	push___$i32 &_string_src/mes.x86-mes-S_410
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-18
	push___%ebx
	call32 %strcmp
	add____$i8,%esp !0x8
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_reader_read_character_557_else
					# c = '\\v'
	mov____$i32,%eax %0xb
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
	jmp32  %_reader_read_character_557_break
:_reader_read_character_557_else
					# if (!strcmp(buf, "cr")) ...else ...
					# strcmp(buf, "cr")
	push___$i32 &_string_src/mes.x86-mes-S_411
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-18
	push___%ebx
	call32 %strcmp
	add____$i8,%esp !0x8
	test___%eax,%eax
	sete___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_reader_read_character_574_else
					# c = 13
	mov____$i32,%eax %0xd
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
	jmp32  %_reader_read_character_574_break
:_reader_read_character_574_else
					# eputs("char not supported: ")
	push___$i32 &_string_src/mes.x86-mes-S_412
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(buf)
	mov____%ebp,%ebx
	add____$i8,%ebx !0x-18
	push___%ebx
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs("\n")
	push___$i32 &_string_src/mes.x86-mes-S_4
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# error(77, make_string("char not supported", strlen("char not supported")))
					# make_string("char not supported", strlen("char not supported"))
	push___%eax
					# strlen("char not supported")
	push___%eax
	mov____%ebx,%eax
	push___%eax
	push___%eax
	mov____%ebx,%eax
	push___$i32 &_string_src/mes.x86-mes-S_413
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %strlen
	add____$i8,%esp !0x4
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	push___%eax
	mov____%ebx,%eax
	push___$i32 &_string_src/mes.x86-mes-S_413
	mov____%eax,%ebx
	pop____%eax
	xchg___%eax,(%esp)
	call32 %make_string
	add____$i8,%esp !0x8
	mov____%eax,%ebx
	pop____%eax
	push___%ebx
	mov____$i32,%ebx %0x4d
	push___%ebx
	call32 %error
	add____$i8,%esp !0x8
	test___%eax,%eax
:_reader_read_character_574_break
:_reader_read_character_557_break
:_reader_read_character_540_break
:_reader_read_character_523_break
:_reader_read_character_506_break
:_reader_read_character_489_break
:_reader_read_character_472_break
:_reader_read_character_455_break
:_reader_read_character_438_break
:_reader_read_character_421_break
:_reader_read_character_404_break
:_reader_read_character_387_break
:_reader_read_character_370_break
:_reader_read_character_353_break
:_reader_read_character_336_break
:_reader_read_character_319_break
:_reader_read_character_302_break
	jmp32  %_reader_read_character_182_break
:_reader_read_character_182_break
:_reader_read_character_91_break
:_reader_read_character_12_break
					# make_cell__(1, 0, c)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____$i32,%ebx %0x1
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	leave
	ret


:reader_read_binary
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# long n = 0;\n
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x-4
					# int c = peekchar();\n
					# peekchar()
	call32 %peekchar
	add____$i8,%esp !0x0
	mov____%eax,0x8(%ebp) !0x-8
					# int negative_p = 0;\n
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x-c
					# if (c == '-') ...
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0x2d
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_binary_11_break
					# negative_p = 1
	mov____$i32,%eax %0x1
	mov____%eax,0x8(%ebp) !0x-c
	test___%eax,%eax
					# readchar()
	call32 %readchar
	add____$i8,%esp !0x0
	test___%eax,%eax
					# c = peekchar()
					# peekchar()
	call32 %peekchar
	add____$i8,%esp !0x0
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
	jmp32  %_reader_read_binary_11_break
:_reader_read_binary_11_break
					# while (c == '0' || c == '1') ...
	jmp32  %_reader_read_binary_32_continue
:_reader_read_binary_32_loop
					# n = n<<1
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x1
	mov____%ebx,%ecx
	shl____%cl,%eax
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# n = n + c - '0'
	mov____0x8(%ebp),%eax !0x-4
	mov____0x8(%ebp),%ebx !0x-8
	add____%ebx,%eax
	mov____$i32,%ebx %0x30
	sub____%ebx,%eax
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# readchar()
	call32 %readchar
	add____$i8,%esp !0x0
	test___%eax,%eax
					# c = peekchar()
					# peekchar()
	call32 %peekchar
	add____$i8,%esp !0x0
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
:_reader_read_binary_32_continue
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0x30
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_binary_32_break_b_42
	jmp32  %_reader_read_binary_32_break_skip_b_42
:_reader_read_binary_32_break_b_42
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0x31
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_binary_32_break
:_reader_read_binary_32_break_skip_b_42
	jmp32  %_reader_read_binary_32_loop
:_reader_read_binary_32_break
					# if (negative_p) ...
	mov____0x8(%ebp),%eax !0x-c
					# jmp test LABEL
	test___%eax,%eax
	je32   %_reader_read_binary_75_break
					# n = 0 - n
	mov____$i32,%eax %0x0
	mov____0x8(%ebp),%ebx !0x-4
	sub____%ebx,%eax
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
	jmp32  %_reader_read_binary_75_break
:_reader_read_binary_75_break
					# make_cell__(6, 0, (long)n)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____$i32,%ebx %0x6
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	leave
	ret


:reader_read_octal
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# long n = 0;\n
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x-4
					# int c = peekchar();\n
					# peekchar()
	call32 %peekchar
	add____$i8,%esp !0x0
	mov____%eax,0x8(%ebp) !0x-8
					# int negative_p = 0;\n
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x-c
					# if (c == '-') ...
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0x2d
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_octal_11_break
					# negative_p = 1
	mov____$i32,%eax %0x1
	mov____%eax,0x8(%ebp) !0x-c
	test___%eax,%eax
					# readchar()
	call32 %readchar
	add____$i8,%esp !0x0
	test___%eax,%eax
					# c = peekchar()
					# peekchar()
	call32 %peekchar
	add____$i8,%esp !0x0
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
	jmp32  %_reader_read_octal_11_break
:_reader_read_octal_11_break
					# while (c >= '0' && c <= '7') ...
	jmp32  %_reader_read_octal_32_continue
:_reader_read_octal_32_loop
					# n = n<<3
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x3
	mov____%ebx,%ecx
	shl____%cl,%eax
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# n = n + c - '0'
	mov____0x8(%ebp),%eax !0x-4
	mov____0x8(%ebp),%ebx !0x-8
	add____%ebx,%eax
	mov____$i32,%ebx %0x30
	sub____%ebx,%eax
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# readchar()
	call32 %readchar
	add____$i8,%esp !0x0
	test___%eax,%eax
					# c = peekchar()
					# peekchar()
	call32 %peekchar
	add____$i8,%esp !0x0
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
:_reader_read_octal_32_continue
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0x30
	sub____%ebx,%eax
	setge__%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_reader_read_octal_32_break
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0x37
	sub____%ebx,%eax
	setle__%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_reader_read_octal_32_break
	jmp32  %_reader_read_octal_32_loop
:_reader_read_octal_32_break
					# if (negative_p) ...
	mov____0x8(%ebp),%eax !0x-c
					# jmp test LABEL
	test___%eax,%eax
	je32   %_reader_read_octal_74_break
					# n = 0 - n
	mov____$i32,%eax %0x0
	mov____0x8(%ebp),%ebx !0x-4
	sub____%ebx,%eax
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
	jmp32  %_reader_read_octal_74_break
:_reader_read_octal_74_break
					# make_cell__(6, 0, (long)n)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____$i32,%ebx %0x6
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	leave
	ret


:reader_read_hex
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# long n = 0;\n
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x-4
					# int c = peekchar();\n
					# peekchar()
	call32 %peekchar
	add____$i8,%esp !0x0
	mov____%eax,0x8(%ebp) !0x-8
					# int negative_p = 0;\n
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x-c
					# if (c == '-') ...
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0x2d
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_hex_11_break
					# negative_p = 1
	mov____$i32,%eax %0x1
	mov____%eax,0x8(%ebp) !0x-c
	test___%eax,%eax
					# readchar()
	call32 %readchar
	add____$i8,%esp !0x0
	test___%eax,%eax
					# c = peekchar()
					# peekchar()
	call32 %peekchar
	add____$i8,%esp !0x0
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
	jmp32  %_reader_read_hex_11_break
:_reader_read_hex_11_break
					# while ((c >= '0' && c <= '9' || (c >= 'A' && c <= 'F')) || (c >= 'a' && c <= \n    'f')) ...
	jmp32  %_reader_read_hex_32_continue
:_reader_read_hex_32_loop
					# n = n<<4
	mov____0x8(%ebp),%eax !0x-4
	mov____$i32,%ebx %0x4
	mov____%ebx,%ecx
	shl____%cl,%eax
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
					# if (c >= 'a') ...else ...
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0x61
	sub____%ebx,%eax
	setge__%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_reader_read_hex_41_else
					# n = n + c - 'a' + 10
	mov____0x8(%ebp),%eax !0x-4
	mov____0x8(%ebp),%ebx !0x-8
	add____%ebx,%eax
	mov____$i32,%ebx %0x61
	sub____%ebx,%eax
	add____$i8,%eax !0xa
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
	jmp32  %_reader_read_hex_41_break
:_reader_read_hex_41_else
					# if (c >= 'A') ...else ...
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0x41
	sub____%ebx,%eax
	setge__%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_reader_read_hex_60_else
					# n = n + c - 'A' + 10
	mov____0x8(%ebp),%eax !0x-4
	mov____0x8(%ebp),%ebx !0x-8
	add____%ebx,%eax
	mov____$i32,%ebx %0x41
	sub____%ebx,%eax
	add____$i8,%eax !0xa
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
	jmp32  %_reader_read_hex_60_break
:_reader_read_hex_60_else
					# n = n + c - '0'
	mov____0x8(%ebp),%eax !0x-4
	mov____0x8(%ebp),%ebx !0x-8
	add____%ebx,%eax
	mov____$i32,%ebx %0x30
	sub____%ebx,%eax
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
:_reader_read_hex_60_break
:_reader_read_hex_41_break
					# readchar()
	call32 %readchar
	add____$i8,%esp !0x0
	test___%eax,%eax
					# c = peekchar()
					# peekchar()
	call32 %peekchar
	add____$i8,%esp !0x0
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
:_reader_read_hex_32_continue
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0x30
	sub____%ebx,%eax
	setge__%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_reader_read_hex_32_break_b_76_b_76
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0x39
	sub____%ebx,%eax
	setle__%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_reader_read_hex_32_break_b_76_b_76
	jmp32  %_reader_read_hex_32_break_b_76_skip_b_76
:_reader_read_hex_32_break_b_76_b_76
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0x41
	sub____%ebx,%eax
	setge__%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_reader_read_hex_32_break_b_76
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0x46
	sub____%ebx,%eax
	setle__%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_reader_read_hex_32_break_b_76
:_reader_read_hex_32_break_b_76_skip_b_76
	jmp32  %_reader_read_hex_32_break_skip_b_76
:_reader_read_hex_32_break_b_76
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0x61
	sub____%ebx,%eax
	setge__%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_reader_read_hex_32_break
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0x66
	sub____%ebx,%eax
	setle__%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_reader_read_hex_32_break
:_reader_read_hex_32_break_skip_b_76
	jmp32  %_reader_read_hex_32_loop
:_reader_read_hex_32_break
					# if (negative_p) ...
	mov____0x8(%ebp),%eax !0x-c
					# jmp test LABEL
	test___%eax,%eax
	je32   %_reader_read_hex_148_break
					# n = 0 - n
	mov____$i32,%eax %0x0
	mov____0x8(%ebp),%ebx !0x-4
	sub____%ebx,%eax
	mov____%eax,0x8(%ebp) !0x-4
	test___%eax,%eax
	jmp32  %_reader_read_hex_148_break
:_reader_read_hex_148_break
					# make_cell__(6, 0, (long)n)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____$i32,%ebx %0x0
	push___%ebx
	mov____$i32,%ebx %0x6
	push___%ebx
	call32 %make_cell__
	add____$i8,%esp !0xc
	leave
	ret


:reader_read_string
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# size_t i = 0;\n
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x-4
					# int c;\n
					# do 1while (...);\n
:_reader_read_string_5_loop
					# if (i > MAX_STRING) ...
	mov____0x8(%ebp),%eax !0x-4
	mov____0x32,%ebx &MAX_STRING
	sub____%ebx,%eax
	seta___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_reader_read_string_7_break
					# assert_max_string(i, "reader_read_string", g_buf)
	mov____0x32,%ebx &g_buf
	push___%ebx
	push___$i32 &_string_src/mes.x86-mes-S_414
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %assert_max_string
	add____$i8,%esp !0xc
	test___%eax,%eax
	jmp32  %_reader_read_string_7_break
:_reader_read_string_7_break
					# c = readchar()
					# readchar()
	call32 %readchar
	add____$i8,%esp !0x0
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
					# if (c == '\"') ...
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0x22
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_string_30_break
	jmp32  %_reader_read_string_5_break
	jmp32  %_reader_read_string_30_break
:_reader_read_string_30_break
					# if (c == '\\') ...
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0x5c
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_string_40_break
					# c = readchar()
					# readchar()
	call32 %readchar
	add____$i8,%esp !0x0
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
					# if (c == '\\' || c == '\"') ...else ...
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0x5c
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_string_52_else_b_38
	jmp32  %_reader_read_string_52_else_skip_b_38
:_reader_read_string_52_else_b_38
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0x22
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_string_52_else
:_reader_read_string_52_else_skip_b_38
	jmp32  %_reader_read_string_52_break
:_reader_read_string_52_else
					# if (c == '0') ...else ...
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0x30
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_string_70_else
					# c = '\\0'
	mov____$i32,%eax %0x0
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
	jmp32  %_reader_read_string_70_break
:_reader_read_string_70_else
					# if (c == 'a') ...else ...
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0x61
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_string_83_else
					# c = '\\a'
	mov____$i32,%eax %0x7
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
	jmp32  %_reader_read_string_83_break
:_reader_read_string_83_else
					# if (c == 'b') ...else ...
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0x62
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_string_96_else
					# c = '\\b'
	mov____$i32,%eax %0x8
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
	jmp32  %_reader_read_string_96_break
:_reader_read_string_96_else
					# if (c == 't') ...else ...
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0x74
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_string_109_else
					# c = '\\t'
	mov____$i32,%eax %0x9
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
	jmp32  %_reader_read_string_109_break
:_reader_read_string_109_else
					# if (c == 'n') ...else ...
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0x6e
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_string_122_else
					# c = '\\n'
	mov____$i32,%eax %0xa
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
	jmp32  %_reader_read_string_122_break
:_reader_read_string_122_else
					# if (c == 'v') ...else ...
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0x76
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_string_135_else
					# c = '\\v'
	mov____$i32,%eax %0xb
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
	jmp32  %_reader_read_string_135_break
:_reader_read_string_135_else
					# if (c == 'f') ...else ...
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0x66
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_string_148_else
					# c = '\\f'
	mov____$i32,%eax %0xc
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
	jmp32  %_reader_read_string_148_break
:_reader_read_string_148_else
					# if (c == 'r') ...else ...
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0x72
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_string_161_else
					# c = 13
	mov____$i32,%eax %0xd
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
	jmp32  %_reader_read_string_161_break
:_reader_read_string_161_else
					# if (c == 'e') ...else ...
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0x65
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_string_174_else
					# c = 27
	mov____$i32,%eax %0x1b
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
	jmp32  %_reader_read_string_174_break
:_reader_read_string_174_else
					# if (c == 'x') ...
	mov____0x8(%ebp),%eax !0x-8
	mov____$i32,%ebx %0x78
	sub____%ebx,%eax
	sete___%al
	movzbl_%al,%eax
					# jmp test LABEL
	jne32  %_reader_read_string_187_break
					# c = g_cells[reader_read_hex()].cdr
					# reader_read_hex()
	call32 %reader_read_hex
	add____$i8,%esp !0x0
	mov____%eax,%ebx
	add____%ebx,%ebx
	add____%ebx,%eax
	shl____$i8,%eax !0x2
	mov____0x32,%ebx &g_cells
	add____%ebx,%eax
	add____$i8,%eax !0x8
					# g_cells[reader_read_hex()].cdr
	mov____(%eax),%eax
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
	jmp32  %_reader_read_string_187_break
:_reader_read_string_187_break
:_reader_read_string_174_break
:_reader_read_string_161_break
:_reader_read_string_148_break
:_reader_read_string_135_break
:_reader_read_string_122_break
:_reader_read_string_109_break
:_reader_read_string_96_break
:_reader_read_string_83_break
:_reader_read_string_70_break
:_reader_read_string_52_break
	jmp32  %_reader_read_string_40_break
:_reader_read_string_40_break
					# g_buf[i++] = c
	mov____0x8(%ebp),%eax !0x-8
	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
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &g_buf
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____%al,(%ebx)
	test___%eax,%eax
:_reader_read_string_5_continue
	mov____$i32,%eax %0x1
					# jmp test LABEL
	test___%eax,%eax
	je32   %_reader_read_string_5_break
	jmp32  %_reader_read_string_5_loop
:_reader_read_string_5_break
					# g_buf[i] = 0
	mov____$i32,%eax %0x0
	mov____0x8(%ebp),%ebx !0x-4
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &g_buf
	add____%ebx,%eax
	mov____%eax,%ebx
	pop____%eax
	mov____%al,(%ebx)
	test___%eax,%eax
					# make_string(g_buf, i)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	mov____0x32,%ebx &g_buf
	push___%ebx
	call32 %make_string
	add____$i8,%esp !0x8
	leave
	ret


:main
	push___%ebp
	mov____%esp,%ebp
	sub____$i32,%esp %0x1054
					# char *p;\n
					# if (p = getenv("MES_DEBUG")) ...
					# p = getenv("MES_DEBUG")
					# getenv("MES_DEBUG")
	push___$i32 &_string_src/mes.x86-mes-S_415
	call32 %getenv
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-4
					# jmp test LABEL
	mov____0x8(%ebp),%eax !0x-4
	test___%eax,%eax
	je32   %_main_2_break
					# g_debug = atoi(p)
					# atoi(p)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %atoi
	add____$i8,%esp !0x4
	mov____%eax,0x32 &g_debug
	test___%eax,%eax
	jmp32  %_main_2_break
:_main_2_break
					# if (g_debug > 1) ...
	mov____0x32,%eax &g_debug
	mov____$i32,%ebx %0x1
	sub____%ebx,%eax
	setg___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_main_21_break
					# eputs(";;; MODULEDIR=")
	push___$i32 &_string_src/mes.x86-mes-S_416
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(\n    "/gnu/store/4h6acq92jx0vcy76b0k1gxhb8fa7y98s-mes-minimal-stripped-0.20/share/mes/module"\n    )
	push___$i32 &_string_src/mes.x86-mes-S_417
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs("\n")
	push___$i32 &_string_src/mes.x86-mes-S_4
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
	jmp32  %_main_21_break
:_main_21_break
					# if (p = getenv("MES_MAX_ARENA")) ...
					# p = getenv("MES_MAX_ARENA")
					# getenv("MES_MAX_ARENA")
	push___$i32 &_string_src/mes.x86-mes-S_418
	call32 %getenv
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-4
					# jmp test LABEL
	mov____0x8(%ebp),%eax !0x-4
	test___%eax,%eax
	je32   %_main_43_break
					# MAX_ARENA_SIZE = atoi(p)
					# atoi(p)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %atoi
	add____$i8,%esp !0x4
	mov____%eax,0x32 &MAX_ARENA_SIZE
	test___%eax,%eax
	jmp32  %_main_43_break
:_main_43_break
					# if (p = getenv("MES_ARENA")) ...
					# p = getenv("MES_ARENA")
					# getenv("MES_ARENA")
	push___$i32 &_string_src/mes.x86-mes-S_419
	call32 %getenv
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-4
					# jmp test LABEL
	mov____0x8(%ebp),%eax !0x-4
	test___%eax,%eax
	je32   %_main_62_break
					# ARENA_SIZE = atoi(p)
					# atoi(p)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %atoi
	add____$i8,%esp !0x4
	mov____%eax,0x32 &ARENA_SIZE
	test___%eax,%eax
	jmp32  %_main_62_break
:_main_62_break
					# JAM_SIZE = ARENA_SIZE/10
	mov____0x32,%eax &ARENA_SIZE
	mov____$i32,%ebx %0xa
	xor____%edx,%edx
	div___%ebx
	mov____%eax,0x32 &JAM_SIZE
	test___%eax,%eax
					# if (p = getenv("MES_JAM")) ...
					# p = getenv("MES_JAM")
					# getenv("MES_JAM")
	push___$i32 &_string_src/mes.x86-mes-S_420
	call32 %getenv
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-4
					# jmp test LABEL
	mov____0x8(%ebp),%eax !0x-4
	test___%eax,%eax
	je32   %_main_87_break
					# JAM_SIZE = atoi(p)
					# atoi(p)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %atoi
	add____$i8,%esp !0x4
	mov____%eax,0x32 &JAM_SIZE
	test___%eax,%eax
	jmp32  %_main_87_break
:_main_87_break
					# GC_SAFETY = ARENA_SIZE/100
	mov____0x32,%eax &ARENA_SIZE
	mov____$i32,%ebx %0x64
	xor____%edx,%edx
	div___%ebx
	mov____%eax,0x32 &GC_SAFETY
	test___%eax,%eax
					# if (p = getenv("MES_SAFETY")) ...
					# p = getenv("MES_SAFETY")
					# getenv("MES_SAFETY")
	push___$i32 &_string_src/mes.x86-mes-S_421
	call32 %getenv
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-4
					# jmp test LABEL
	mov____0x8(%ebp),%eax !0x-4
	test___%eax,%eax
	je32   %_main_112_break
					# GC_SAFETY = atoi(p)
					# atoi(p)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %atoi
	add____$i8,%esp !0x4
	mov____%eax,0x32 &GC_SAFETY
	test___%eax,%eax
	jmp32  %_main_112_break
:_main_112_break
					# if (p = getenv("MES_STACK")) ...
					# p = getenv("MES_STACK")
					# getenv("MES_STACK")
	push___$i32 &_string_src/mes.x86-mes-S_422
	call32 %getenv
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-4
					# jmp test LABEL
	mov____0x8(%ebp),%eax !0x-4
	test___%eax,%eax
	je32   %_main_131_break
					# STACK_SIZE = atoi(p)
					# atoi(p)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %atoi
	add____$i8,%esp !0x4
	mov____%eax,0x32 &STACK_SIZE
	test___%eax,%eax
	jmp32  %_main_131_break
:_main_131_break
					# if (p = getenv("MES_MAX_STRING")) ...
					# p = getenv("MES_MAX_STRING")
					# getenv("MES_MAX_STRING")
	push___$i32 &_string_src/mes.x86-mes-S_423
	call32 %getenv
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-4
					# jmp test LABEL
	mov____0x8(%ebp),%eax !0x-4
	test___%eax,%eax
	je32   %_main_150_break
					# MAX_STRING = atoi(p)
					# atoi(p)
	mov____0x8(%ebp),%ebx !0x-4
	push___%ebx
	call32 %atoi
	add____$i8,%esp !0x4
	mov____%eax,0x32 &MAX_STRING
	test___%eax,%eax
	jmp32  %_main_150_break
:_main_150_break
					# SCM a = mes_environment(argc, argv);\n
					# mes_environment(argc, argv)
	mov____0x8(%ebp),%ebx !0xc
	push___%ebx
	mov____0x8(%ebp),%ebx !0x8
	push___%ebx
	call32 %mes_environment
	add____$i8,%esp !0x8
	mov____%eax,0x8(%ebp) !0x-8
					# a = mes_builtins(a)
					# mes_builtins(a)
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	call32 %mes_builtins
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
					# a = init_time(a)
					# init_time(a)
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	call32 %init_time
	add____$i8,%esp !0x4
	mov____%eax,0x8(%ebp) !0x-8
	test___%eax,%eax
					# m0 = make_initial_module(a)
					# make_initial_module(a)
	mov____0x8(%ebp),%ebx !0x-8
	push___%ebx
	call32 %make_initial_module
	add____$i8,%esp !0x4
	mov____%eax,0x32 &m0
	test___%eax,%eax
					# g_macros = make_hash_table_(0)
					# make_hash_table_(0)
	mov____$i32,%ebx %0x0
	push___%ebx
	call32 %make_hash_table_
	add____$i8,%esp !0x4
	mov____%eax,0x32 &g_macros
	test___%eax,%eax
					# if (g_debug > 3) ...
	mov____0x32,%eax &g_debug
	mov____$i32,%ebx %0x3
	sub____%ebx,%eax
	setg___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_main_205_break
					# module_printer(m0)
	mov____0x32,%ebx &m0
	push___%ebx
	call32 %module_printer
	add____$i8,%esp !0x4
	test___%eax,%eax
	jmp32  %_main_205_break
:_main_205_break
					# SCM program = read_boot();\n
					# read_boot()
	call32 %read_boot
	add____$i8,%esp !0x0
	mov____%eax,0x8(%ebp) !0x-c
					# push_cc(r2, 7, r0, 7)
	mov____$i32,%ebx %0x7
	push___%ebx
	mov____0x32,%ebx &r0
	push___%ebx
	mov____$i32,%ebx %0x7
	push___%ebx
	mov____0x32,%ebx &r2
	push___%ebx
	call32 %push_cc
	add____$i8,%esp !0x10
	test___%eax,%eax
					# if (g_debug > 2) ...
	mov____0x32,%eax &g_debug
	mov____$i32,%ebx %0x2
	sub____%ebx,%eax
	setg___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_main_235_break
					# eputs("\ngc stats: [")
	push___$i32 &_string_src/mes.x86-mes-S_424
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(itoa(g_free))
					# itoa(g_free)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &g_free
	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_src/mes.x86-mes-S_19
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
	jmp32  %_main_235_break
:_main_235_break
					# if (g_debug > 3) ...
	mov____0x32,%eax &g_debug
	mov____$i32,%ebx %0x3
	sub____%ebx,%eax
	setg___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_main_267_break
					# eputs("program: ")
	push___$i32 &_string_src/mes.x86-mes-S_425
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# write_error_(r1)
	mov____0x32,%ebx &r1
	push___%ebx
	call32 %write_error_
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs("\n")
	push___$i32 &_string_src/mes.x86-mes-S_4
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
	jmp32  %_main_267_break
:_main_267_break
					# r3 = 16
	mov____$i32,%eax %0x10
	mov____%eax,0x32 &r3
	test___%eax,%eax
					# r1 = eval_apply()
					# eval_apply()
	call32 %eval_apply
	add____$i8,%esp !0x0
	mov____%eax,0x32 &r1
	test___%eax,%eax
					# if (g_debug) ...
	mov____0x32,%eax &g_debug
					# jmp test LABEL
	test___%eax,%eax
	je32   %_main_299_break
					# write_error_(r1)
	mov____0x32,%ebx &r1
	push___%ebx
	call32 %write_error_
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs("\n")
	push___$i32 &_string_src/mes.x86-mes-S_4
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
	jmp32  %_main_299_break
:_main_299_break
					# if (g_debug) ...
	mov____0x32,%eax &g_debug
					# jmp test LABEL
	test___%eax,%eax
	je32   %_main_315_break
					# if (g_debug > 3) ...
	mov____0x32,%eax &g_debug
	mov____$i32,%ebx %0x3
	sub____%ebx,%eax
	setg___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_main_320_break
					# module_printer(m0)
	mov____0x32,%ebx &m0
	push___%ebx
	call32 %module_printer
	add____$i8,%esp !0x4
	test___%eax,%eax
	jmp32  %_main_320_break
:_main_320_break
					# eputs("\ngc stats: [")
	push___$i32 &_string_src/mes.x86-mes-S_424
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(itoa(g_free))
					# itoa(g_free)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &g_free
	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
					# MAX_ARENA_SIZE = 0
	mov____$i32,%eax %0x0
	mov____%eax,0x32 &MAX_ARENA_SIZE
	test___%eax,%eax
					# gc(g_stack)
	mov____0x32,%ebx &g_stack
	push___%ebx
	call32 %gc
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(" => ")
	push___$i32 &_string_src/mes.x86-mes-S_426
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(itoa(g_free))
					# itoa(g_free)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &g_free
	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_src/mes.x86-mes-S_19
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# if (g_debug > 3) ...
	mov____0x32,%eax &g_debug
	mov____$i32,%ebx %0x3
	sub____%ebx,%eax
	setg___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_main_384_break
					# module_printer(m0)
	mov____0x32,%ebx &m0
	push___%ebx
	call32 %module_printer
	add____$i8,%esp !0x4
	test___%eax,%eax
	jmp32  %_main_384_break
:_main_384_break
					# eputs("\n")
	push___$i32 &_string_src/mes.x86-mes-S_4
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# gc(g_stack)
	mov____0x32,%ebx &g_stack
	push___%ebx
	call32 %gc
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(" => ")
	push___$i32 &_string_src/mes.x86-mes-S_426
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(itoa(g_free))
					# itoa(g_free)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &g_free
	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_src/mes.x86-mes-S_19
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# if (g_debug > 3) ...
	mov____0x32,%eax &g_debug
	mov____$i32,%ebx %0x3
	sub____%ebx,%eax
	setg___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_main_430_break
					# module_printer(m0)
	mov____0x32,%ebx &m0
	push___%ebx
	call32 %module_printer
	add____$i8,%esp !0x4
	test___%eax,%eax
	jmp32  %_main_430_break
:_main_430_break
					# eputs("\n")
	push___$i32 &_string_src/mes.x86-mes-S_4
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# gc(g_stack)
	mov____0x32,%ebx &g_stack
	push___%ebx
	call32 %gc
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(" => ")
	push___$i32 &_string_src/mes.x86-mes-S_426
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs(itoa(g_free))
					# itoa(g_free)
	push___%eax
	push___%eax
	mov____%ebx,%eax
	mov____0x32,%ebx &g_free
	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_src/mes.x86-mes-S_19
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# if (g_debug > 3) ...
	mov____0x32,%eax &g_debug
	mov____$i32,%ebx %0x3
	sub____%ebx,%eax
	setg___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_main_476_break
					# module_printer(m0)
	mov____0x32,%ebx &m0
	push___%ebx
	call32 %module_printer
	add____$i8,%esp !0x4
	test___%eax,%eax
	jmp32  %_main_476_break
:_main_476_break
					# if (g_debug > 3) ...
	mov____0x32,%eax &g_debug
	mov____$i32,%ebx %0x3
	sub____%ebx,%eax
	setg___%al
	movzbl_%al,%eax
	test___%eax,%eax
					# jmp test LABEL
	je32   %_main_491_break
					# eputs("ports:")
	push___$i32 &_string_src/mes.x86-mes-S_427
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
					# write_error_(g_ports)
	mov____0x32,%ebx &g_ports
	push___%ebx
	call32 %write_error_
	add____$i8,%esp !0x4
	test___%eax,%eax
					# eputs("\n")
	push___$i32 &_string_src/mes.x86-mes-S_4
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
	jmp32  %_main_491_break
:_main_491_break
					# eputs("\n")
	push___$i32 &_string_src/mes.x86-mes-S_4
	call32 %eputs
	add____$i8,%esp !0x4
	test___%eax,%eax
	jmp32  %_main_315_break
:_main_315_break
	mov____$i32,%eax %0x0
	leave
	ret


:ELF_data


:HEX2_data

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

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

:__stdin
!0x00 !0x00 !0x00 !0x00

:__stdout
!0x00 !0x00 !0x00 !0x00

:__stderr
!0x00 !0x00 !0x00 !0x00

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

:ARENA_SIZE
!0x-20 !0x-6d !0x04 !0x00

:MAX_ARENA_SIZE
!0x00 !0x-1f !0x-b !0x05

:STACK_SIZE
!0x20 !0x4e !0x00 !0x00

:JAM_SIZE
!0x20 !0x4e !0x00 !0x00

:GC_SAFETY
!0x-30 !0x07 !0x00 !0x00

:MAX_STRING
!0x00 !0x00 !0x08 !0x00

:g_arena
!0x00 !0x00 !0x00 !0x00

:g_debug
!0x00 !0x00 !0x00 !0x00

:g_free
!0x00 !0x00 !0x00 !0x00

:g_buf
!0x00 !0x00 !0x00 !0x00

:g_continuations
!0x00 !0x00 !0x00 !0x00

:g_symbols
!0x00 !0x00 !0x00 !0x00

:g_stack
!0x00 !0x00 !0x00 !0x00

:g_stack_array
!0x00 !0x00 !0x00 !0x00

:r0
!0x00 !0x00 !0x00 !0x00

:r1
!0x00 !0x00 !0x00 !0x00

:r2
!0x00 !0x00 !0x00 !0x00

:r3
!0x00 !0x00 !0x00 !0x00

:m0
!0x00 !0x00 !0x00 !0x00

:g_macros
!0x00 !0x00 !0x00 !0x00

:g_ports
!0x01 !0x00 !0x00 !0x00

:foobar
!0x00 !0x00 !0x00 !0x00

:g_cells
&foobar !0x00 !0x00 !0x00

:g_news
&foobar !0x00 !0x00 !0x00

:_string_src/mes.x86-mes-S_0
"alloc: out of memory"

:_string_src/mes.x86-mes-S_1
!0x21 !0x22 !0x61 !0x6c !0x6c !0x6f !0x63 !0x3a !0x20 !0x6f !0x75 !0x74 !0x20 !0x6f !0x66 !0x20 !0x6d !0x65 !0x6d !0x6f !0x72 !0x79 !0x22 !0x00

:_string_src/mes.x86-mes-S_2
"g_cells[type].type == 6"

:_string_src/mes.x86-mes-S_3
": "

:_string_src/mes.x86-mes-S_4
"
"

:_string_src/mes.x86-mes-S_5
"0"

:_string_src/mes.x86-mes-S_6
"apply: wrong number of arguments; expected: "

:_string_src/mes.x86-mes-S_7
", got: "

:_string_src/mes.x86-mes-S_8
"bool"

:_string_src/mes.x86-mes-S_9
"nil"

:_string_src/mes.x86-mes-S_10
"*unspecified*"

:_string_src/mes.x86-mes-S_11
"*undefined*"

:_string_src/mes.x86-mes-S_12
"char"

:_string_src/mes.x86-mes-S_13
"number"

:_string_src/mes.x86-mes-S_14
"string"

:_string_src/mes.x86-mes-S_15
"#<...>"

:_string_src/mes.x86-mes-S_16
"<3"

:_string_src/mes.x86-mes-S_17
"cannot apply: "

:_string_src/mes.x86-mes-S_18
"["

:_string_src/mes.x86-mes-S_19
"]
"

:_string_src/mes.x86-mes-S_20
"STACK FULL"

:_string_src/mes.x86-mes-S_21
!0x21 !0x22 !0x53 !0x54 !0x41 !0x43 !0x4b !0x20 !0x46 !0x55 !0x4c !0x4c !0x22 !0x00

:_string_src/mes.x86-mes-S_22
"append2"

:_string_src/mes.x86-mes-S_23
"append-reverse"

:_string_src/mes.x86-mes-S_24
"core:reverse!"

:_string_src/mes.x86-mes-S_25
"set-car!"

:_string_src/mes.x86-mes-S_26
"set-cdr!"

:_string_src/mes.x86-mes-S_27
"eval/apply unknown continuation"

:g_symbol_max
!0x00 !0x00 !0x00 !0x00

:_string_src/mes.x86-mes-S_28
"()"

:_string_src/mes.x86-mes-S_29
"#f"

:_string_src/mes.x86-mes-S_30
"#t"

:_string_src/mes.x86-mes-S_31
"."

:_string_src/mes.x86-mes-S_32
"=>"

:_string_src/mes.x86-mes-S_33
"*closure*"

:_string_src/mes.x86-mes-S_34
"*circular*"

:_string_src/mes.x86-mes-S_35
"*begin*"

:_string_src/mes.x86-mes-S_36
"*call/cc*"

:_string_src/mes.x86-mes-S_37
"core:apply"

:_string_src/mes.x86-mes-S_38
"*vm-apply2*"

:_string_src/mes.x86-mes-S_39
"*vm-begin*"

:_string_src/mes.x86-mes-S_40
"*vm:begin-eval*"

:_string_src/mes.x86-mes-S_41
"core:eval"

:_string_src/mes.x86-mes-S_42
"*vm:begin-expand-eval*"

:_string_src/mes.x86-mes-S_43
"*vm:begin-expand-macro*"

:_string_src/mes.x86-mes-S_44
"*vm:core:begin-expand-primitive-load*"

:_string_src/mes.x86-mes-S_45
"*vm:core:begin-primitive-load*"

:_string_src/mes.x86-mes-S_46
"*vm-begin-read-input-file*"

:_string_src/mes.x86-mes-S_47
"*vm-call-with-current-continuation2*"

:_string_src/mes.x86-mes-S_48
"*vm-call-with-values2*"

:_string_src/mes.x86-mes-S_49
"core:eval-expanded"

:_string_src/mes.x86-mes-S_50
"*vm-eval2*"

:_string_src/mes.x86-mes-S_51
"*vm-eval-check-func*"

:_string_src/mes.x86-mes-S_52
"*vm-eval-define*"

:_string_src/mes.x86-mes-S_53
"*vm:eval-macro-expand-eval*"

:_string_src/mes.x86-mes-S_54
"*vm:eval-macro-expand-expand*"

:_string_src/mes.x86-mes-S_55
"*vm-eval-pmatch-car*"

:_string_src/mes.x86-mes-S_56
"*vm-eval-pmatch-cdr*"

:_string_src/mes.x86-mes-S_57
"*vm-eval-set!*"

:_string_src/mes.x86-mes-S_58
"*vm-evlis*"

:_string_src/mes.x86-mes-S_59
"*vm-evlis2*"

:_string_src/mes.x86-mes-S_60
"*vm-evlis3*"

:_string_src/mes.x86-mes-S_61
"*vm-if*"

:_string_src/mes.x86-mes-S_62
"*vm-if-expr*"

:_string_src/mes.x86-mes-S_63
"core:macro-expand"

:_string_src/mes.x86-mes-S_64
"*vm:core:macro-expand-car*"

:_string_src/mes.x86-mes-S_65
"*vm:macro-expand-cdr*"

:_string_src/mes.x86-mes-S_66
"*vm:core:macro-expand-define*"

:_string_src/mes.x86-mes-S_67
"*vm:core:macro-expand-define-macro*"

:_string_src/mes.x86-mes-S_68
"*vm:core:macro-expand-lambda*"

:_string_src/mes.x86-mes-S_69
"*vm:core:macro-expand-set!*"

:_string_src/mes.x86-mes-S_70
"*vm-return*"

:_string_src/mes.x86-mes-S_71
"*dot*"

:_string_src/mes.x86-mes-S_72
"lambda"

:_string_src/mes.x86-mes-S_73
"begin"

:_string_src/mes.x86-mes-S_74
"if"

:_string_src/mes.x86-mes-S_75
"quote"

:_string_src/mes.x86-mes-S_76
"define"

:_string_src/mes.x86-mes-S_77
"define-macro"

:_string_src/mes.x86-mes-S_78
"quasiquote"

:_string_src/mes.x86-mes-S_79
"unquote"

:_string_src/mes.x86-mes-S_80
"unquote-splicing"

:_string_src/mes.x86-mes-S_81
"syntax"

:_string_src/mes.x86-mes-S_82
"quasisyntax"

:_string_src/mes.x86-mes-S_83
"unsyntax"

:_string_src/mes.x86-mes-S_84
"unsyntax-splicing"

:_string_src/mes.x86-mes-S_85
"set!"

:_string_src/mes.x86-mes-S_86
"sc-expand"

:_string_src/mes.x86-mes-S_87
"macro-expand"

:_string_src/mes.x86-mes-S_88
"portable-macro-expand"

:_string_src/mes.x86-mes-S_89
"*sc-expander-alist*"

:_string_src/mes.x86-mes-S_90
"call-with-values"

:_string_src/mes.x86-mes-S_91
"call-with-current-continuation"

:_string_src/mes.x86-mes-S_92
"boot-module"

:_string_src/mes.x86-mes-S_93
"current-module"

:_string_src/mes.x86-mes-S_94
"primitive-load"

:_string_src/mes.x86-mes-S_95
"read-input-file"

:_string_src/mes.x86-mes-S_96
"write"

:_string_src/mes.x86-mes-S_97
"display"

:_string_src/mes.x86-mes-S_98
"car"

:_string_src/mes.x86-mes-S_99
"cdr"

:_string_src/mes.x86-mes-S_100
"not-a-number"

:_string_src/mes.x86-mes-S_101
"not-a-pair"

:_string_src/mes.x86-mes-S_102
"system-error"

:_string_src/mes.x86-mes-S_103
"throw"

:_string_src/mes.x86-mes-S_104
"unbound-variable"

:_string_src/mes.x86-mes-S_105
"wrong-number-of-args"

:_string_src/mes.x86-mes-S_106
"wrong-type-arg"

:_string_src/mes.x86-mes-S_107
"buckets"

:_string_src/mes.x86-mes-S_108
"<builtin>"

:_string_src/mes.x86-mes-S_109
"<frame>"

:_string_src/mes.x86-mes-S_110
"<hashq-table>"

:_string_src/mes.x86-mes-S_111
"<module>"

:_string_src/mes.x86-mes-S_112
"procedure"

:_string_src/mes.x86-mes-S_113
"<record-type>"

:_string_src/mes.x86-mes-S_114
"size"

:_string_src/mes.x86-mes-S_115
"<stack>"

:_string_src/mes.x86-mes-S_116
"%argv"

:_string_src/mes.x86-mes-S_117
"%prefix"

:_string_src/mes.x86-mes-S_118
"%version"

:_string_src/mes.x86-mes-S_119
"internal-time-units-per-second"

:_string_src/mes.x86-mes-S_120
"%compiler"

:_string_src/mes.x86-mes-S_121
"%arch"

:_string_src/mes.x86-mes-S_122
"pmatch-car"

:_string_src/mes.x86-mes-S_123
"pmatch-cdr"

:_string_src/mes.x86-mes-S_124
"<cell:bytes>"

:_string_src/mes.x86-mes-S_125
"<cell:char>"

:_string_src/mes.x86-mes-S_126
"<cell:closure>"

:_string_src/mes.x86-mes-S_127
"<cell:continuation>"

:_string_src/mes.x86-mes-S_128
"<cell:function>"

:_string_src/mes.x86-mes-S_129
"<cell:keyword>"

:_string_src/mes.x86-mes-S_130
"<cell:macro>"

:_string_src/mes.x86-mes-S_131
"<cell:number>"

:_string_src/mes.x86-mes-S_132
"<cell:pair>"

:_string_src/mes.x86-mes-S_133
"<cell:port>"

:_string_src/mes.x86-mes-S_134
"<cell:ref>"

:_string_src/mes.x86-mes-S_135
"<cell:special>"

:_string_src/mes.x86-mes-S_136
"<cell:string>"

:_string_src/mes.x86-mes-S_137
"<cell:struct>"

:_string_src/mes.x86-mes-S_138
"<cell:symbol>"

:_string_src/mes.x86-mes-S_139
"<cell:values>"

:_string_src/mes.x86-mes-S_140
"<cell:variable>"

:_string_src/mes.x86-mes-S_141
"<cell:vector>"

:_string_src/mes.x86-mes-S_142
"<cell:broken-heart>"

:_string_src/mes.x86-mes-S_143
"%%test"

:_string_src/mes.x86-mes-S_144
"0.19"

:_string_src/mes.x86-mes-S_145
"/gnu/store/4h6acq92jx0vcy76b0k1gxhb8fa7y98s-mes-minimal-stripped-0.20"

:_string_src/mes.x86-mes-S_146
"gnuc"

:_string_src/mes.x86-mes-S_147
"mesc"

:_string_src/mes.x86-mes-S_148
"x86"

:_string_src/mes.x86-mes-S_149
"address"

:_string_src/mes.x86-mes-S_150
"arity"

:_string_src/mes.x86-mes-S_151
"name"

:_string_src/mes.x86-mes-S_152
"builtin-printer"

:_string_src/mes.x86-mes-S_153
"#<procedure "

:_string_src/mes.x86-mes-S_154
"gc-check"

:_string_src/mes.x86-mes-S_155
"gc"

:_string_src/mes.x86-mes-S_156
"hashq"

:_string_src/mes.x86-mes-S_157
"hash"

:_string_src/mes.x86-mes-S_158
"hashq-get-handle"

:_string_src/mes.x86-mes-S_159
"hashq-ref"

:_string_src/mes.x86-mes-S_160
"hash-ref"

:_string_src/mes.x86-mes-S_161
"hashq-set!"

:_string_src/mes.x86-mes-S_162
"hash-set!"

:_string_src/mes.x86-mes-S_163
"hash-table-printer"

:_string_src/mes.x86-mes-S_164
"make-hash-table"

:_string_src/mes.x86-mes-S_165
"core:display"

:_string_src/mes.x86-mes-S_166
"core:display-error"

:_string_src/mes.x86-mes-S_167
"core:display-port"

:_string_src/mes.x86-mes-S_168
"core:write"

:_string_src/mes.x86-mes-S_169
"core:write-error"

:_string_src/mes.x86-mes-S_170
"core:write-port"

:_string_src/mes.x86-mes-S_171
"exit"

:_string_src/mes.x86-mes-S_172
"frame-printer"

:_string_src/mes.x86-mes-S_173
"make-stack"

:_string_src/mes.x86-mes-S_174
"stack-length"

:_string_src/mes.x86-mes-S_175
"stack-ref"

:_string_src/mes.x86-mes-S_176
"xassq"

:_string_src/mes.x86-mes-S_177
"memq"

:_string_src/mes.x86-mes-S_178
"equal2?"

:_string_src/mes.x86-mes-S_179
"last-pair"

:_string_src/mes.x86-mes-S_180
"pair?"

:_string_src/mes.x86-mes-S_181
">"

:_string_src/mes.x86-mes-S_182
"<"

:_string_src/mes.x86-mes-S_183
"="

:_string_src/mes.x86-mes-S_184
"-"

:_string_src/mes.x86-mes-S_185
"+"

:_string_src/mes.x86-mes-S_186
"/"

:_string_src/mes.x86-mes-S_187
"modulo"

:_string_src/mes.x86-mes-S_188
"*"

:_string_src/mes.x86-mes-S_189
"logand"

:_string_src/mes.x86-mes-S_190
"logior"

:_string_src/mes.x86-mes-S_191
"lognot"

:_string_src/mes.x86-mes-S_192
"logxor"

:_string_src/mes.x86-mes-S_193
"ash"

:_string_src/mes.x86-mes-S_194
"core:make-cell"

:_string_src/mes.x86-mes-S_195
"core:type"

:_string_src/mes.x86-mes-S_196
"core:car"

:_string_src/mes.x86-mes-S_197
"core:cdr"

:_string_src/mes.x86-mes-S_198
"cons"

:_string_src/mes.x86-mes-S_199
"list"

:_string_src/mes.x86-mes-S_200
"null?"

:_string_src/mes.x86-mes-S_201
"eq?"

:_string_src/mes.x86-mes-S_202
"values"

:_string_src/mes.x86-mes-S_203
"acons"

:_string_src/mes.x86-mes-S_204
"length"

:_string_src/mes.x86-mes-S_205
"error"

:_string_src/mes.x86-mes-S_206
"pairlis"

:_string_src/mes.x86-mes-S_207
"assq"

:_string_src/mes.x86-mes-S_208
"assoc"

:_string_src/mes.x86-mes-S_209
"set-env!"

:_string_src/mes.x86-mes-S_210
"macro-get-handle"

:_string_src/mes.x86-mes-S_211
"add-formals"

:_string_src/mes.x86-mes-S_212
"eval-apply"

:_string_src/mes.x86-mes-S_213
"make-builtin-type"

:_string_src/mes.x86-mes-S_214
"make-builtin"

:_string_src/mes.x86-mes-S_215
"builtin-name"

:_string_src/mes.x86-mes-S_216
"builtin-arity"

:_string_src/mes.x86-mes-S_217
"builtin?"

:_string_src/mes.x86-mes-S_218
"make-module-type"

:_string_src/mes.x86-mes-S_219
"module-printer"

:_string_src/mes.x86-mes-S_220
"module-variable"

:_string_src/mes.x86-mes-S_221
"module-ref"

:_string_src/mes.x86-mes-S_222
"module-define!"

:_string_src/mes.x86-mes-S_223
"peek-byte"

:_string_src/mes.x86-mes-S_224
"read-byte"

:_string_src/mes.x86-mes-S_225
"unread-byte"

:_string_src/mes.x86-mes-S_226
"peek-char"

:_string_src/mes.x86-mes-S_227
"read-char"

:_string_src/mes.x86-mes-S_228
"unread-char"

:_string_src/mes.x86-mes-S_229
"write-char"

:_string_src/mes.x86-mes-S_230
"write-byte"

:_string_src/mes.x86-mes-S_231
"getenv"

:_string_src/mes.x86-mes-S_232
"setenv"

:_string_src/mes.x86-mes-S_233
"access?"

:_string_src/mes.x86-mes-S_234
"current-input-port"

:_string_src/mes.x86-mes-S_235
"open-input-file"

:_string_src/mes.x86-mes-S_236
"open-input-string"

:_string_src/mes.x86-mes-S_237
"set-current-input-port"

:_string_src/mes.x86-mes-S_238
"current-output-port"

:_string_src/mes.x86-mes-S_239
"current-error-port"

:_string_src/mes.x86-mes-S_240
"open-output-file"

:_string_src/mes.x86-mes-S_241
"set-current-output-port"

:_string_src/mes.x86-mes-S_242
"set-current-error-port"

:_string_src/mes.x86-mes-S_243
"force-output"

:_string_src/mes.x86-mes-S_244
"chmod"

:_string_src/mes.x86-mes-S_245
"isatty?"

:_string_src/mes.x86-mes-S_246
"primitive-fork"

:_string_src/mes.x86-mes-S_247
"execl"

:_string_src/mes.x86-mes-S_248
"core:waitpid"

:_string_src/mes.x86-mes-S_249
"current-time"

:_string_src/mes.x86-mes-S_250
"gettimeofday"

:_string_src/mes.x86-mes-S_251
"get-internal-run-time"

:_string_src/mes.x86-mes-S_252
"getcwd"

:_string_src/mes.x86-mes-S_253
"dup"

:_string_src/mes.x86-mes-S_254
"dup2"

:_string_src/mes.x86-mes-S_255
"delete-file"

:_string_src/mes.x86-mes-S_256
"core:read-input-file-env"

:_string_src/mes.x86-mes-S_257
"read-input-file-env"

:_string_src/mes.x86-mes-S_258
"read-env"

:_string_src/mes.x86-mes-S_259
"reader-read-sexp"

:_string_src/mes.x86-mes-S_260
"reader-read-character"

:_string_src/mes.x86-mes-S_261
"reader-read-binary"

:_string_src/mes.x86-mes-S_262
"reader-read-octal"

:_string_src/mes.x86-mes-S_263
"reader-read-hex"

:_string_src/mes.x86-mes-S_264
"reader-read-string"

:_string_src/mes.x86-mes-S_265
"string=?"

:_string_src/mes.x86-mes-S_266
"symbol->string"

:_string_src/mes.x86-mes-S_267
"symbol->keyword"

:_string_src/mes.x86-mes-S_268
"keyword->string"

:_string_src/mes.x86-mes-S_269
"string->symbol"

:_string_src/mes.x86-mes-S_270
"make-symbol"

:_string_src/mes.x86-mes-S_271
"string->list"

:_string_src/mes.x86-mes-S_272
"list->string"

:_string_src/mes.x86-mes-S_273
"read-string"

:_string_src/mes.x86-mes-S_274
"string-append"

:_string_src/mes.x86-mes-S_275
"string-length"

:_string_src/mes.x86-mes-S_276
"string-ref"

:_string_src/mes.x86-mes-S_277
"make-struct"

:_string_src/mes.x86-mes-S_278
"struct-length"

:_string_src/mes.x86-mes-S_279
"struct-ref"

:_string_src/mes.x86-mes-S_280
"struct-set!"

:_string_src/mes.x86-mes-S_281
"core:make-vector"

:_string_src/mes.x86-mes-S_282
"vector-length"

:_string_src/mes.x86-mes-S_283
"vector-ref"

:_string_src/mes.x86-mes-S_284
"vector-entry"

:_string_src/mes.x86-mes-S_285
"vector-set!"

:_string_src/mes.x86-mes-S_286
"list->vector"

:_string_src/mes.x86-mes-S_287
"vector->list"

:_string_src/mes.x86-mes-S_288
"mes: reading boot-0 ["

:_string_src/mes.x86-mes-S_289
"]: "

:_string_src/mes.x86-mes-S_290
"mes: read boot-0: "

:_string_src/mes.x86-mes-S_291
"MES_BOOT"

:_string_src/mes.x86-mes-S_292
"boot-0.scm"

:_string_src/mes.x86-mes-S_293
"MES_PREFIX"

:_string_src/mes.x86-mes-S_294
"/module"

:_string_src/mes.x86-mes-S_295
"/mes/"

:_string_src/mes.x86-mes-S_296
"/gnu/store/4h6acq92jx0vcy76b0k1gxhb8fa7y98s-mes-minimal-stripped-0.20/share/mes/module/mes/"

:_string_src/mes.x86-mes-S_297
"MODULEDIR"

:_string_src/mes.x86-mes-S_298
"mes/module/mes/"

:_string_src/mes.x86-mes-S_299
"<boot>"

:_string_src/mes.x86-mes-S_300
"mes: boot failed: no such file: "

:_string_src/mes.x86-mes-S_301
"hashq_: not a symbol"

:_string_src/mes.x86-mes-S_302
"#<"

:_string_src/mes.x86-mes-S_303
"size: "

:_string_src/mes.x86-mes-S_304
"buckets: "

:_string_src/mes.x86-mes-S_305
"]
  "

:_string_src/mes.x86-mes-S_306
"g_cells[x].type == 6"

:_string_src/mes.x86-mes-S_307
"globals"

:_string_src/mes.x86-mes-S_308
"locals"

:_string_src/mes.x86-mes-S_309
"boot"

:_string_src/mes.x86-mes-S_310
"name: "

:_string_src/mes.x86-mes-S_311
"locals: "

:_string_src/mes.x86-mes-S_312
"globals:
  "

:_string_src/mes.x86-mes-S_313
"too many arguments"

:_string_src/mes.x86-mes-S_314
"g_cells[g_cells[args].car].type == 11"

:_string_src/mes.x86-mes-S_315
"arg["

:g_start_time
!0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00 !0x00

:_string_src/mes.x86-mes-S_316
"greater_p"

:_string_src/mes.x86-mes-S_317
"less_p"

:_string_src/mes.x86-mes-S_318
"is_p"

:_string_src/mes.x86-mes-S_319
"minus"

:_string_src/mes.x86-mes-S_320
"plus"

:_string_src/mes.x86-mes-S_321
"divide"

:_string_src/mes.x86-mes-S_322
"multiply"

:g_depth
!0x00 !0x00 !0x00 !0x00

:_string_src/mes.x86-mes-S_323
"#"

:_string_src/mes.x86-mes-S_324
"\nul"

:_string_src/mes.x86-mes-S_325
"\alarm"

:_string_src/mes.x86-mes-S_326
"\backspace"

:_string_src/mes.x86-mes-S_327
"\tab"

:_string_src/mes.x86-mes-S_328
"\newline"

:_string_src/mes.x86-mes-S_329
"\vtab"

:_string_src/mes.x86-mes-S_330
"\page"

:_string_src/mes.x86-mes-S_331
"\return"

:_string_src/mes.x86-mes-S_332
"\space"

:_string_src/mes.x86-mes-S_333
"#<closure "

:_string_src/mes.x86-mes-S_334
""

:_string_src/mes.x86-mes-S_335
"#<macro "

:_string_src/mes.x86-mes-S_336
"#<variable "

:_string_src/mes.x86-mes-S_337
"("

:_string_src/mes.x86-mes-S_338
"(*circ* . "

:_string_src/mes.x86-mes-S_339
" "

:_string_src/mes.x86-mes-S_340
" ...)"

:_string_src/mes.x86-mes-S_341
" . "

:_string_src/mes.x86-mes-S_342
")"

:_string_src/mes.x86-mes-S_343
"#<port "

:_string_src/mes.x86-mes-S_344
"#:"

:_string_src/mes.x86-mes-S_345
"\0"

:_string_src/mes.x86-mes-S_346
"\a"

:_string_src/mes.x86-mes-S_347
"\b"

:_string_src/mes.x86-mes-S_348
"\t"

:_string_src/mes.x86-mes-S_349
"\v"

:_string_src/mes.x86-mes-S_350
"\n"

:_string_src/mes.x86-mes-S_351
"\f"

:_string_src/mes.x86-mes-S_352
"\r"

:_string_src/mes.x86-mes-S_353
"\e"

:_string_src/mes.x86-mes-S_354
"\\"

:_string_src/mes.x86-mes-S_355
!0x5c !0x22 !0x00

:_string_src/mes.x86-mes-S_356
"#("

:_string_src/mes.x86-mes-S_357
":"

:_string_src/mes.x86-mes-S_358
"g_cells[p].type == 6"

:_string_src/mes.x86-mes-S_359
"procedure: "

:_string_src/mes.x86-mes-S_360
"frames"

:_string_src/mes.x86-mes-S_361
"g_cells[x].type == 16"

:_string_src/mes.x86-mes-S_362
"i < g_cells[x].car"

:_string_src/mes.x86-mes-S_363
":string too long["

:_string_src/mes.x86-mes-S_364
"]:"

:_string_src/mes.x86-mes-S_365
"list_to_string"

:_string_src/mes.x86-mes-S_366
"make_string"

:_string_src/mes.x86-mes-S_367
"type a: "

:_string_src/mes.x86-mes-S_368
"type b: "

:_string_src/mes.x86-mes-S_369
"a= "

:_string_src/mes.x86-mes-S_370
"b= "

:_string_src/mes.x86-mes-S_371
"(g_cells[a].type == 11 && g_cells[b].type == 11) || (g_cells[a].type == 4 || g_cells[b].type == 4)"

:_string_src/mes.x86-mes-S_372
"read_string"

:_string_src/mes.x86-mes-S_373
"g_cells[string].type == 11"

:_string_src/mes.x86-mes-S_374
"string_append"

:_string_src/mes.x86-mes-S_375
"g_cells[str].type == 11"

:_string_src/mes.x86-mes-S_376
"g_cells[k].type == 6"

:_string_src/mes.x86-mes-S_377
"value out of range"

:_string_src/mes.x86-mes-S_378
"g_cells[x].type == 12"

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

:_string_src/mes.x86-mes-S_379
"realloc failed, g_free="

:_string_src/mes.x86-mes-S_380
";;;   => jam["

:_string_src/mes.x86-mes-S_381
"gc copy bytes: "

:_string_src/mes.x86-mes-S_382
"    length: "

:_string_src/mes.x86-mes-S_383
"    nlength: "

:_string_src/mes.x86-mes-S_384
"        ==> "

:_string_src/mes.x86-mes-S_385
";;; gc["

:_string_src/mes.x86-mes-S_386
"]..."

:_string_src/mes.x86-mes-S_387
" up["

:_string_src/mes.x86-mes-S_388
","

:_string_src/mes.x86-mes-S_389
"symbols: "

:_string_src/mes.x86-mes-S_390
"R0: "

:_string_src/mes.x86-mes-S_391
"reader_read_line_comment"

:_string_src/mes.x86-mes-S_392
"EOF in list"

:_string_src/mes.x86-mes-S_393
"keyword perifx ':' not followed by a symbol: "

:_string_src/mes.x86-mes-S_394
"reading hex c="

:_string_src/mes.x86-mes-S_395
"*eof*"

:_string_src/mes.x86-mes-S_396
"nul"

:_string_src/mes.x86-mes-S_397
"alarm"

:_string_src/mes.x86-mes-S_398
"backspace"

:_string_src/mes.x86-mes-S_399
"tab"

:_string_src/mes.x86-mes-S_400
"linefeed"

:_string_src/mes.x86-mes-S_401
"newline"

:_string_src/mes.x86-mes-S_402
"vtab"

:_string_src/mes.x86-mes-S_403
"page"

:_string_src/mes.x86-mes-S_404
"return"

:_string_src/mes.x86-mes-S_405
"esc"

:_string_src/mes.x86-mes-S_406
"space"

:_string_src/mes.x86-mes-S_407
"bel"

:_string_src/mes.x86-mes-S_408
"bs"

:_string_src/mes.x86-mes-S_409
"ht"

:_string_src/mes.x86-mes-S_410
"vt"

:_string_src/mes.x86-mes-S_411
"cr"

:_string_src/mes.x86-mes-S_412
"char not supported: "

:_string_src/mes.x86-mes-S_413
"char not supported"

:_string_src/mes.x86-mes-S_414
"reader_read_string"

:_string_src/mes.x86-mes-S_415
"MES_DEBUG"

:_string_src/mes.x86-mes-S_416
";;; MODULEDIR="

:_string_src/mes.x86-mes-S_417
"/gnu/store/4h6acq92jx0vcy76b0k1gxhb8fa7y98s-mes-minimal-stripped-0.20/share/mes/module"

:_string_src/mes.x86-mes-S_418
"MES_MAX_ARENA"

:_string_src/mes.x86-mes-S_419
"MES_ARENA"

:_string_src/mes.x86-mes-S_420
"MES_JAM"

:_string_src/mes.x86-mes-S_421
"MES_SAFETY"

:_string_src/mes.x86-mes-S_422
"MES_STACK"

:_string_src/mes.x86-mes-S_423
"MES_MAX_STRING"

:_string_src/mes.x86-mes-S_424
"
gc stats: ["

:_string_src/mes.x86-mes-S_425
"program: "

:_string_src/mes.x86-mes-S_426
" => "

:_string_src/mes.x86-mes-S_427
"ports:"
