
kernel.sys:     file format elf32-i386


Disassembly of section .text:

c001d000 <entry_hh>:
c001d000:	bc 00 b0 02 c0       	mov    $0xc002b000,%esp
c001d005:	50                   	push   %eax
c001d006:	0f 20 c0             	mov    %cr0,%eax
c001d009:	66 83 e0 fb          	and    $0xfffb,%ax
c001d00d:	66 83 c8 02          	or     $0x2,%ax
c001d011:	0f 22 c0             	mov    %eax,%cr0
c001d014:	0f 20 e0             	mov    %cr4,%eax
c001d017:	66 0d 00 06          	or     $0x600,%ax
c001d01b:	0f 22 e0             	mov    %eax,%cr4
c001d01e:	81 c3 00 00 00 c0    	add    $0xc0000000,%ebx
c001d024:	53                   	push   %ebx
c001d025:	e8 2c 27 00 00       	call   c001f756 <kmain>
c001d02a:	fa                   	cli    
c001d02b:	f4                   	hlt    

c001d02c <idle_proc_>:
c001d02c:	e8 c5 26 00 00       	call   c001f6f6 <Idle_process>
c001d031:	eb f9                	jmp    c001d02c <idle_proc_>
c001d033:	f4                   	hlt    
c001d034:	66 90                	xchg   %ax,%ax
c001d036:	66 90                	xchg   %ax,%ax
c001d038:	66 90                	xchg   %ax,%ax
c001d03a:	66 90                	xchg   %ax,%ax
c001d03c:	66 90                	xchg   %ax,%ax
c001d03e:	66 90                	xchg   %ax,%ax

c001d040 <gdt_flush>:
c001d040:	8b 44 24 04          	mov    0x4(%esp),%eax
c001d044:	0f 01 10             	lgdtl  (%eax)
c001d047:	66 b8 10 00          	mov    $0x10,%ax
c001d04b:	8e d8                	mov    %eax,%ds
c001d04d:	8e c0                	mov    %eax,%es
c001d04f:	8e e0                	mov    %eax,%fs
c001d051:	8e e8                	mov    %eax,%gs
c001d053:	8e d0                	mov    %eax,%ss
c001d055:	ea 5c d0 01 c0 08 00 	ljmp   $0x8,$0xc001d05c

c001d05c <gdt_flush.return>:
c001d05c:	c3                   	ret    
c001d05d:	66 90                	xchg   %ax,%ax
c001d05f:	90                   	nop

c001d060 <idt_flush>:
c001d060:	0f 01 1d c0 ba 02 c0 	lidtl  0xc002bac0
c001d067:	c3                   	ret    

c001d068 <isr_common_stub>:
c001d068:	60                   	pusha  
c001d069:	1e                   	push   %ds
c001d06a:	06                   	push   %es
c001d06b:	0f a0                	push   %fs
c001d06d:	0f a8                	push   %gs
c001d06f:	66 b8 10 00          	mov    $0x10,%ax
c001d073:	8e d8                	mov    %eax,%ds
c001d075:	8e c0                	mov    %eax,%es
c001d077:	8e e0                	mov    %eax,%fs
c001d079:	8e e8                	mov    %eax,%gs
c001d07b:	89 e0                	mov    %esp,%eax
c001d07d:	50                   	push   %eax
c001d07e:	b8 d4 f1 01 c0       	mov    $0xc001f1d4,%eax
c001d083:	ff d0                	call   *%eax
c001d085:	58                   	pop    %eax
c001d086:	0f a9                	pop    %gs
c001d088:	0f a1                	pop    %fs
c001d08a:	07                   	pop    %es
c001d08b:	1f                   	pop    %ds
c001d08c:	61                   	popa   
c001d08d:	83 c4 08             	add    $0x8,%esp
c001d090:	cf                   	iret   

c001d091 <irq_common_stub>:
c001d091:	60                   	pusha  
c001d092:	1e                   	push   %ds
c001d093:	06                   	push   %es
c001d094:	0f a0                	push   %fs
c001d096:	0f a8                	push   %gs
c001d098:	66 b8 10 00          	mov    $0x10,%ax
c001d09c:	8e d8                	mov    %eax,%ds
c001d09e:	8e c0                	mov    %eax,%es
c001d0a0:	8e e0                	mov    %eax,%fs
c001d0a2:	8e e8                	mov    %eax,%gs
c001d0a4:	89 e0                	mov    %esp,%eax
c001d0a6:	50                   	push   %eax
c001d0a7:	b8 c2 f2 01 c0       	mov    $0xc001f2c2,%eax
c001d0ac:	ff d0                	call   *%eax
c001d0ae:	58                   	pop    %eax
c001d0af:	0f a9                	pop    %gs
c001d0b1:	0f a1                	pop    %fs
c001d0b3:	07                   	pop    %es
c001d0b4:	1f                   	pop    %ds
c001d0b5:	61                   	popa   
c001d0b6:	83 c4 08             	add    $0x8,%esp
c001d0b9:	cf                   	iret   

c001d0ba <isr0>:
c001d0ba:	fa                   	cli    
c001d0bb:	6a 00                	push   $0x0
c001d0bd:	6a 00                	push   $0x0
c001d0bf:	eb a7                	jmp    c001d068 <isr_common_stub>

c001d0c1 <isr1>:
c001d0c1:	fa                   	cli    
c001d0c2:	6a 00                	push   $0x0
c001d0c4:	6a 01                	push   $0x1
c001d0c6:	eb a0                	jmp    c001d068 <isr_common_stub>

c001d0c8 <isr2>:
c001d0c8:	fa                   	cli    
c001d0c9:	6a 00                	push   $0x0
c001d0cb:	6a 02                	push   $0x2
c001d0cd:	eb 99                	jmp    c001d068 <isr_common_stub>

c001d0cf <isr3>:
c001d0cf:	fa                   	cli    
c001d0d0:	6a 00                	push   $0x0
c001d0d2:	6a 03                	push   $0x3
c001d0d4:	eb 92                	jmp    c001d068 <isr_common_stub>

c001d0d6 <isr4>:
c001d0d6:	fa                   	cli    
c001d0d7:	6a 00                	push   $0x0
c001d0d9:	6a 04                	push   $0x4
c001d0db:	eb 8b                	jmp    c001d068 <isr_common_stub>

c001d0dd <isr5>:
c001d0dd:	fa                   	cli    
c001d0de:	6a 00                	push   $0x0
c001d0e0:	6a 05                	push   $0x5
c001d0e2:	eb 84                	jmp    c001d068 <isr_common_stub>

c001d0e4 <isr6>:
c001d0e4:	fa                   	cli    
c001d0e5:	6a 00                	push   $0x0
c001d0e7:	6a 06                	push   $0x6
c001d0e9:	e9 7a ff ff ff       	jmp    c001d068 <isr_common_stub>

c001d0ee <isr7>:
c001d0ee:	fa                   	cli    
c001d0ef:	6a 00                	push   $0x0
c001d0f1:	6a 07                	push   $0x7
c001d0f3:	e9 70 ff ff ff       	jmp    c001d068 <isr_common_stub>

c001d0f8 <isr8>:
c001d0f8:	fa                   	cli    
c001d0f9:	6a 08                	push   $0x8
c001d0fb:	e9 68 ff ff ff       	jmp    c001d068 <isr_common_stub>

c001d100 <isr9>:
c001d100:	fa                   	cli    
c001d101:	6a 00                	push   $0x0
c001d103:	6a 09                	push   $0x9
c001d105:	e9 5e ff ff ff       	jmp    c001d068 <isr_common_stub>

c001d10a <isr10>:
c001d10a:	fa                   	cli    
c001d10b:	6a 0a                	push   $0xa
c001d10d:	e9 56 ff ff ff       	jmp    c001d068 <isr_common_stub>

c001d112 <isr11>:
c001d112:	fa                   	cli    
c001d113:	6a 0b                	push   $0xb
c001d115:	e9 4e ff ff ff       	jmp    c001d068 <isr_common_stub>

c001d11a <isr12>:
c001d11a:	fa                   	cli    
c001d11b:	6a 0c                	push   $0xc
c001d11d:	e9 46 ff ff ff       	jmp    c001d068 <isr_common_stub>

c001d122 <isr13>:
c001d122:	fa                   	cli    
c001d123:	6a 0d                	push   $0xd
c001d125:	e9 3e ff ff ff       	jmp    c001d068 <isr_common_stub>

c001d12a <isr14>:
c001d12a:	fa                   	cli    
c001d12b:	6a 0e                	push   $0xe
c001d12d:	e9 36 ff ff ff       	jmp    c001d068 <isr_common_stub>

c001d132 <isr15>:
c001d132:	fa                   	cli    
c001d133:	6a 00                	push   $0x0
c001d135:	6a 0f                	push   $0xf
c001d137:	e9 2c ff ff ff       	jmp    c001d068 <isr_common_stub>

c001d13c <isr16>:
c001d13c:	fa                   	cli    
c001d13d:	6a 00                	push   $0x0
c001d13f:	6a 10                	push   $0x10
c001d141:	e9 22 ff ff ff       	jmp    c001d068 <isr_common_stub>

c001d146 <isr17>:
c001d146:	fa                   	cli    
c001d147:	6a 11                	push   $0x11
c001d149:	e9 1a ff ff ff       	jmp    c001d068 <isr_common_stub>

c001d14e <isr18>:
c001d14e:	fa                   	cli    
c001d14f:	6a 00                	push   $0x0
c001d151:	6a 12                	push   $0x12
c001d153:	e9 10 ff ff ff       	jmp    c001d068 <isr_common_stub>

c001d158 <isr19>:
c001d158:	fa                   	cli    
c001d159:	6a 00                	push   $0x0
c001d15b:	6a 13                	push   $0x13
c001d15d:	e9 06 ff ff ff       	jmp    c001d068 <isr_common_stub>

c001d162 <isr20>:
c001d162:	fa                   	cli    
c001d163:	6a 00                	push   $0x0
c001d165:	6a 14                	push   $0x14
c001d167:	e9 fc fe ff ff       	jmp    c001d068 <isr_common_stub>

c001d16c <isr21>:
c001d16c:	fa                   	cli    
c001d16d:	6a 00                	push   $0x0
c001d16f:	6a 15                	push   $0x15
c001d171:	e9 f2 fe ff ff       	jmp    c001d068 <isr_common_stub>

c001d176 <isr22>:
c001d176:	fa                   	cli    
c001d177:	6a 00                	push   $0x0
c001d179:	6a 16                	push   $0x16
c001d17b:	e9 e8 fe ff ff       	jmp    c001d068 <isr_common_stub>

c001d180 <isr23>:
c001d180:	fa                   	cli    
c001d181:	6a 00                	push   $0x0
c001d183:	6a 17                	push   $0x17
c001d185:	e9 de fe ff ff       	jmp    c001d068 <isr_common_stub>

c001d18a <isr24>:
c001d18a:	fa                   	cli    
c001d18b:	6a 00                	push   $0x0
c001d18d:	6a 18                	push   $0x18
c001d18f:	e9 d4 fe ff ff       	jmp    c001d068 <isr_common_stub>

c001d194 <isr25>:
c001d194:	fa                   	cli    
c001d195:	6a 00                	push   $0x0
c001d197:	6a 19                	push   $0x19
c001d199:	e9 ca fe ff ff       	jmp    c001d068 <isr_common_stub>

c001d19e <isr26>:
c001d19e:	fa                   	cli    
c001d19f:	6a 00                	push   $0x0
c001d1a1:	6a 1a                	push   $0x1a
c001d1a3:	e9 c0 fe ff ff       	jmp    c001d068 <isr_common_stub>

c001d1a8 <isr27>:
c001d1a8:	fa                   	cli    
c001d1a9:	6a 00                	push   $0x0
c001d1ab:	6a 1b                	push   $0x1b
c001d1ad:	e9 b6 fe ff ff       	jmp    c001d068 <isr_common_stub>

c001d1b2 <isr28>:
c001d1b2:	fa                   	cli    
c001d1b3:	6a 00                	push   $0x0
c001d1b5:	6a 1c                	push   $0x1c
c001d1b7:	e9 ac fe ff ff       	jmp    c001d068 <isr_common_stub>

c001d1bc <isr29>:
c001d1bc:	fa                   	cli    
c001d1bd:	6a 00                	push   $0x0
c001d1bf:	6a 1d                	push   $0x1d
c001d1c1:	e9 a2 fe ff ff       	jmp    c001d068 <isr_common_stub>

c001d1c6 <isr30>:
c001d1c6:	fa                   	cli    
c001d1c7:	6a 1e                	push   $0x1e
c001d1c9:	e9 9a fe ff ff       	jmp    c001d068 <isr_common_stub>

c001d1ce <isr31>:
c001d1ce:	fa                   	cli    
c001d1cf:	6a 00                	push   $0x0
c001d1d1:	6a 1f                	push   $0x1f
c001d1d3:	e9 90 fe ff ff       	jmp    c001d068 <isr_common_stub>

c001d1d8 <isr32>:
c001d1d8:	fa                   	cli    
c001d1d9:	6a 00                	push   $0x0
c001d1db:	6a 20                	push   $0x20
c001d1dd:	e9 86 fe ff ff       	jmp    c001d068 <isr_common_stub>

c001d1e2 <isr0x69>:
c001d1e2:	fa                   	cli    
c001d1e3:	6a 00                	push   $0x0
c001d1e5:	6a 69                	push   $0x69
c001d1e7:	e9 7c fe ff ff       	jmp    c001d068 <isr_common_stub>

c001d1ec <irq0>:
c001d1ec:	fa                   	cli    
c001d1ed:	6a 00                	push   $0x0
c001d1ef:	6a 20                	push   $0x20
c001d1f1:	e9 9b fe ff ff       	jmp    c001d091 <irq_common_stub>

c001d1f6 <irq1>:
c001d1f6:	fa                   	cli    
c001d1f7:	6a 00                	push   $0x0
c001d1f9:	6a 21                	push   $0x21
c001d1fb:	e9 91 fe ff ff       	jmp    c001d091 <irq_common_stub>

c001d200 <irq2>:
c001d200:	fa                   	cli    
c001d201:	6a 00                	push   $0x0
c001d203:	6a 22                	push   $0x22
c001d205:	e9 87 fe ff ff       	jmp    c001d091 <irq_common_stub>

c001d20a <irq3>:
c001d20a:	fa                   	cli    
c001d20b:	6a 00                	push   $0x0
c001d20d:	6a 23                	push   $0x23
c001d20f:	e9 7d fe ff ff       	jmp    c001d091 <irq_common_stub>

c001d214 <irq4>:
c001d214:	fa                   	cli    
c001d215:	6a 00                	push   $0x0
c001d217:	6a 24                	push   $0x24
c001d219:	e9 73 fe ff ff       	jmp    c001d091 <irq_common_stub>

c001d21e <irq5>:
c001d21e:	fa                   	cli    
c001d21f:	6a 00                	push   $0x0
c001d221:	6a 25                	push   $0x25
c001d223:	e9 69 fe ff ff       	jmp    c001d091 <irq_common_stub>

c001d228 <irq6>:
c001d228:	fa                   	cli    
c001d229:	6a 00                	push   $0x0
c001d22b:	6a 26                	push   $0x26
c001d22d:	e9 5f fe ff ff       	jmp    c001d091 <irq_common_stub>

c001d232 <irq7>:
c001d232:	fa                   	cli    
c001d233:	6a 00                	push   $0x0
c001d235:	6a 27                	push   $0x27
c001d237:	e9 55 fe ff ff       	jmp    c001d091 <irq_common_stub>

c001d23c <irq8>:
c001d23c:	fa                   	cli    
c001d23d:	6a 00                	push   $0x0
c001d23f:	6a 28                	push   $0x28
c001d241:	e9 4b fe ff ff       	jmp    c001d091 <irq_common_stub>

c001d246 <irq9>:
c001d246:	fa                   	cli    
c001d247:	6a 00                	push   $0x0
c001d249:	6a 29                	push   $0x29
c001d24b:	e9 41 fe ff ff       	jmp    c001d091 <irq_common_stub>

c001d250 <irq10>:
c001d250:	fa                   	cli    
c001d251:	6a 00                	push   $0x0
c001d253:	6a 2a                	push   $0x2a
c001d255:	e9 37 fe ff ff       	jmp    c001d091 <irq_common_stub>

c001d25a <irq11>:
c001d25a:	fa                   	cli    
c001d25b:	6a 00                	push   $0x0
c001d25d:	6a 2b                	push   $0x2b
c001d25f:	e9 2d fe ff ff       	jmp    c001d091 <irq_common_stub>

c001d264 <irq12>:
c001d264:	fa                   	cli    
c001d265:	6a 00                	push   $0x0
c001d267:	6a 2c                	push   $0x2c
c001d269:	e9 23 fe ff ff       	jmp    c001d091 <irq_common_stub>

c001d26e <irq13>:
c001d26e:	fa                   	cli    
c001d26f:	6a 00                	push   $0x0
c001d271:	6a 2d                	push   $0x2d
c001d273:	e9 19 fe ff ff       	jmp    c001d091 <irq_common_stub>

c001d278 <irq14>:
c001d278:	fa                   	cli    
c001d279:	6a 00                	push   $0x0
c001d27b:	6a 2e                	push   $0x2e
c001d27d:	e9 0f fe ff ff       	jmp    c001d091 <irq_common_stub>

c001d282 <irq15>:
c001d282:	fa                   	cli    
c001d283:	6a 00                	push   $0x0
c001d285:	6a 2f                	push   $0x2f
c001d287:	e9 05 fe ff ff       	jmp    c001d091 <irq_common_stub>
c001d28c:	66 90                	xchg   %ax,%ax
c001d28e:	66 90                	xchg   %ax,%ax

c001d290 <memcpy_sse2_internal>:
c001d290:	55                   	push   %ebp
c001d291:	89 e5                	mov    %esp,%ebp
c001d293:	8b 45 08             	mov    0x8(%ebp),%eax
c001d296:	8b 5d 0c             	mov    0xc(%ebp),%ebx
c001d299:	8b 4d 10             	mov    0x10(%ebp),%ecx

c001d29c <memcpy_sse2_internal.loop>:
c001d29c:	66 0f 6f 03          	movdqa (%ebx),%xmm0
c001d2a0:	66 0f 7f 00          	movdqa %xmm0,(%eax)
c001d2a4:	83 c0 10             	add    $0x10,%eax
c001d2a7:	83 c3 10             	add    $0x10,%ebx
c001d2aa:	e2 f0                	loop   c001d29c <memcpy_sse2_internal.loop>
c001d2ac:	89 ec                	mov    %ebp,%esp
c001d2ae:	5d                   	pop    %ebp
c001d2af:	c3                   	ret    

c001d2b0 <read_eip>:
c001d2b0:	8b 04 24             	mov    (%esp),%eax
c001d2b3:	c3                   	ret    

c001d2b4 <task_switch>:
c001d2b4:	fa                   	cli    
c001d2b5:	8b 1d 70 c1 02 c0    	mov    0xc002c170,%ebx
c001d2bb:	8b 25 6c c1 02 c0    	mov    0xc002c16c,%esp
c001d2c1:	8b 2d 68 c1 02 c0    	mov    0xc002c168,%ebp
c001d2c7:	a1 74 c1 02 c0       	mov    0xc002c174,%eax
c001d2cc:	0f 22 d8             	mov    %eax,%cr3
c001d2cf:	b8 23 01 00 c0       	mov    $0xc0000123,%eax
c001d2d4:	fb                   	sti    
c001d2d5:	ff e3                	jmp    *%ebx

c001d2d7 <liballoc_memset>:
c001d2d7:	55                   	push   %ebp
c001d2d8:	89 e5                	mov    %esp,%ebp
c001d2da:	83 ec 10             	sub    $0x10,%esp
c001d2dd:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
c001d2e4:	eb 11                	jmp    c001d2f7 <liballoc_memset+0x20>
c001d2e6:	8b 55 08             	mov    0x8(%ebp),%edx
c001d2e9:	8b 45 fc             	mov    -0x4(%ebp),%eax
c001d2ec:	01 d0                	add    %edx,%eax
c001d2ee:	8b 55 0c             	mov    0xc(%ebp),%edx
c001d2f1:	88 10                	mov    %dl,(%eax)
c001d2f3:	83 45 fc 01          	addl   $0x1,-0x4(%ebp)
c001d2f7:	8b 45 fc             	mov    -0x4(%ebp),%eax
c001d2fa:	3b 45 10             	cmp    0x10(%ebp),%eax
c001d2fd:	72 e7                	jb     c001d2e6 <liballoc_memset+0xf>
c001d2ff:	8b 45 08             	mov    0x8(%ebp),%eax
c001d302:	c9                   	leave  
c001d303:	c3                   	ret    

c001d304 <liballoc_memcpy>:
c001d304:	55                   	push   %ebp
c001d305:	89 e5                	mov    %esp,%ebp
c001d307:	83 ec 10             	sub    $0x10,%esp
c001d30a:	8b 45 08             	mov    0x8(%ebp),%eax
c001d30d:	89 45 f4             	mov    %eax,-0xc(%ebp)
c001d310:	8b 45 0c             	mov    0xc(%ebp),%eax
c001d313:	89 45 f0             	mov    %eax,-0x10(%ebp)
c001d316:	eb 1a                	jmp    c001d332 <liballoc_memcpy+0x2e>
c001d318:	8b 55 f0             	mov    -0x10(%ebp),%edx
c001d31b:	8d 42 04             	lea    0x4(%edx),%eax
c001d31e:	89 45 f0             	mov    %eax,-0x10(%ebp)
c001d321:	8b 45 f4             	mov    -0xc(%ebp),%eax
c001d324:	8d 48 04             	lea    0x4(%eax),%ecx
c001d327:	89 4d f4             	mov    %ecx,-0xc(%ebp)
c001d32a:	8b 12                	mov    (%edx),%edx
c001d32c:	89 10                	mov    %edx,(%eax)
c001d32e:	83 6d 10 04          	subl   $0x4,0x10(%ebp)
c001d332:	83 7d 10 03          	cmpl   $0x3,0x10(%ebp)
c001d336:	77 e0                	ja     c001d318 <liballoc_memcpy+0x14>
c001d338:	8b 45 f4             	mov    -0xc(%ebp),%eax
c001d33b:	89 45 fc             	mov    %eax,-0x4(%ebp)
c001d33e:	8b 45 f0             	mov    -0x10(%ebp),%eax
c001d341:	89 45 f8             	mov    %eax,-0x8(%ebp)
c001d344:	eb 1b                	jmp    c001d361 <liballoc_memcpy+0x5d>
c001d346:	8b 55 f8             	mov    -0x8(%ebp),%edx
c001d349:	8d 42 01             	lea    0x1(%edx),%eax
c001d34c:	89 45 f8             	mov    %eax,-0x8(%ebp)
c001d34f:	8b 45 fc             	mov    -0x4(%ebp),%eax
c001d352:	8d 48 01             	lea    0x1(%eax),%ecx
c001d355:	89 4d fc             	mov    %ecx,-0x4(%ebp)
c001d358:	0f b6 12             	movzbl (%edx),%edx
c001d35b:	88 10                	mov    %dl,(%eax)
c001d35d:	83 6d 10 01          	subl   $0x1,0x10(%ebp)
c001d361:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
c001d365:	75 df                	jne    c001d346 <liballoc_memcpy+0x42>
c001d367:	8b 45 08             	mov    0x8(%ebp),%eax
c001d36a:	c9                   	leave  
c001d36b:	c3                   	ret    

c001d36c <allocate_new_page>:
c001d36c:	55                   	push   %ebp
c001d36d:	89 e5                	mov    %esp,%ebp
c001d36f:	53                   	push   %ebx
c001d370:	83 ec 14             	sub    $0x14,%esp
c001d373:	8b 45 08             	mov    0x8(%ebp),%eax
c001d376:	83 c0 18             	add    $0x18,%eax
c001d379:	89 45 f4             	mov    %eax,-0xc(%ebp)
c001d37c:	83 45 f4 18          	addl   $0x18,-0xc(%ebp)
c001d380:	8b 0d 00 60 02 c0    	mov    0xc0026000,%ecx
c001d386:	8b 45 f4             	mov    -0xc(%ebp),%eax
c001d389:	ba 00 00 00 00       	mov    $0x0,%edx
c001d38e:	f7 f1                	div    %ecx
c001d390:	89 d0                	mov    %edx,%eax
c001d392:	85 c0                	test   %eax,%eax
c001d394:	75 15                	jne    c001d3ab <allocate_new_page+0x3f>
c001d396:	8b 1d 00 60 02 c0    	mov    0xc0026000,%ebx
c001d39c:	8b 45 f4             	mov    -0xc(%ebp),%eax
c001d39f:	ba 00 00 00 00       	mov    $0x0,%edx
c001d3a4:	f7 f3                	div    %ebx
c001d3a6:	89 45 f4             	mov    %eax,-0xc(%ebp)
c001d3a9:	eb 16                	jmp    c001d3c1 <allocate_new_page+0x55>
c001d3ab:	8b 1d 00 60 02 c0    	mov    0xc0026000,%ebx
c001d3b1:	8b 45 f4             	mov    -0xc(%ebp),%eax
c001d3b4:	ba 00 00 00 00       	mov    $0x0,%edx
c001d3b9:	f7 f3                	div    %ebx
c001d3bb:	83 c0 01             	add    $0x1,%eax
c001d3be:	89 45 f4             	mov    %eax,-0xc(%ebp)
c001d3c1:	a1 04 60 02 c0       	mov    0xc0026004,%eax
c001d3c6:	39 45 f4             	cmp    %eax,-0xc(%ebp)
c001d3c9:	73 08                	jae    c001d3d3 <allocate_new_page+0x67>
c001d3cb:	a1 04 60 02 c0       	mov    0xc0026004,%eax
c001d3d0:	89 45 f4             	mov    %eax,-0xc(%ebp)
c001d3d3:	83 ec 0c             	sub    $0xc,%esp
c001d3d6:	ff 75 f4             	pushl  -0xc(%ebp)
c001d3d9:	e8 c0 0b 00 00       	call   c001df9e <liballoc_alloc>
c001d3de:	83 c4 10             	add    $0x10,%esp
c001d3e1:	89 45 f0             	mov    %eax,-0x10(%ebp)
c001d3e4:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
c001d3e8:	75 23                	jne    c001d40d <allocate_new_page+0xa1>
c001d3ea:	a1 20 b0 02 c0       	mov    0xc002b020,%eax
c001d3ef:	8b 15 24 b0 02 c0    	mov    0xc002b024,%edx
c001d3f5:	83 c0 01             	add    $0x1,%eax
c001d3f8:	83 d2 00             	adc    $0x0,%edx
c001d3fb:	a3 20 b0 02 c0       	mov    %eax,0xc002b020
c001d400:	89 15 24 b0 02 c0    	mov    %edx,0xc002b024
c001d406:	b8 00 00 00 00       	mov    $0x0,%eax
c001d40b:	eb 6b                	jmp    c001d478 <allocate_new_page+0x10c>
c001d40d:	8b 45 f0             	mov    -0x10(%ebp),%eax
c001d410:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
c001d416:	8b 45 f0             	mov    -0x10(%ebp),%eax
c001d419:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
c001d420:	8b 45 f0             	mov    -0x10(%ebp),%eax
c001d423:	8b 55 f4             	mov    -0xc(%ebp),%edx
c001d426:	89 50 08             	mov    %edx,0x8(%eax)
c001d429:	a1 00 60 02 c0       	mov    0xc0026000,%eax
c001d42e:	0f af 45 f4          	imul   -0xc(%ebp),%eax
c001d432:	89 c2                	mov    %eax,%edx
c001d434:	8b 45 f0             	mov    -0x10(%ebp),%eax
c001d437:	89 50 0c             	mov    %edx,0xc(%eax)
c001d43a:	8b 45 f0             	mov    -0x10(%ebp),%eax
c001d43d:	c7 40 10 18 00 00 00 	movl   $0x18,0x10(%eax)
c001d444:	8b 45 f0             	mov    -0x10(%ebp),%eax
c001d447:	c7 40 14 00 00 00 00 	movl   $0x0,0x14(%eax)
c001d44e:	8b 45 f0             	mov    -0x10(%ebp),%eax
c001d451:	8b 40 0c             	mov    0xc(%eax),%eax
c001d454:	89 c1                	mov    %eax,%ecx
c001d456:	bb 00 00 00 00       	mov    $0x0,%ebx
c001d45b:	a1 00 b0 02 c0       	mov    0xc002b000,%eax
c001d460:	8b 15 04 b0 02 c0    	mov    0xc002b004,%edx
c001d466:	01 c8                	add    %ecx,%eax
c001d468:	11 da                	adc    %ebx,%edx
c001d46a:	a3 00 b0 02 c0       	mov    %eax,0xc002b000
c001d46f:	89 15 04 b0 02 c0    	mov    %edx,0xc002b004
c001d475:	8b 45 f0             	mov    -0x10(%ebp),%eax
c001d478:	8b 5d fc             	mov    -0x4(%ebp),%ebx
c001d47b:	c9                   	leave  
c001d47c:	c3                   	ret    

c001d47d <kmalloc>:
c001d47d:	55                   	push   %ebp
c001d47e:	89 e5                	mov    %esp,%ebp
c001d480:	56                   	push   %esi
c001d481:	53                   	push   %ebx
c001d482:	83 ec 40             	sub    $0x40,%esp
c001d485:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
c001d48c:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
c001d493:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
c001d49a:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
c001d4a1:	8b 45 08             	mov    0x8(%ebp),%eax
c001d4a4:	89 45 c8             	mov    %eax,-0x38(%ebp)
c001d4a7:	83 45 c8 20          	addl   $0x20,-0x38(%ebp)
c001d4ab:	e8 d8 0a 00 00       	call   c001df88 <liballoc_lock>
c001d4b0:	83 7d c8 00          	cmpl   $0x0,-0x38(%ebp)
c001d4b4:	75 33                	jne    c001d4e9 <kmalloc+0x6c>
c001d4b6:	a1 20 b0 02 c0       	mov    0xc002b020,%eax
c001d4bb:	8b 15 24 b0 02 c0    	mov    0xc002b024,%edx
c001d4c1:	83 c0 01             	add    $0x1,%eax
c001d4c4:	83 d2 00             	adc    $0x0,%edx
c001d4c7:	a3 20 b0 02 c0       	mov    %eax,0xc002b020
c001d4cc:	89 15 24 b0 02 c0    	mov    %edx,0xc002b024
c001d4d2:	e8 bc 0a 00 00       	call   c001df93 <liballoc_unlock>
c001d4d7:	83 ec 0c             	sub    $0xc,%esp
c001d4da:	6a 01                	push   $0x1
c001d4dc:	e8 9c ff ff ff       	call   c001d47d <kmalloc>
c001d4e1:	83 c4 10             	add    $0x10,%esp
c001d4e4:	e9 ad 06 00 00       	jmp    c001db96 <kmalloc+0x719>
c001d4e9:	a1 18 b0 02 c0       	mov    0xc002b018,%eax
c001d4ee:	85 c0                	test   %eax,%eax
c001d4f0:	75 2b                	jne    c001d51d <kmalloc+0xa0>
c001d4f2:	83 ec 0c             	sub    $0xc,%esp
c001d4f5:	ff 75 c8             	pushl  -0x38(%ebp)
c001d4f8:	e8 6f fe ff ff       	call   c001d36c <allocate_new_page>
c001d4fd:	83 c4 10             	add    $0x10,%esp
c001d500:	a3 18 b0 02 c0       	mov    %eax,0xc002b018
c001d505:	a1 18 b0 02 c0       	mov    0xc002b018,%eax
c001d50a:	85 c0                	test   %eax,%eax
c001d50c:	75 0f                	jne    c001d51d <kmalloc+0xa0>
c001d50e:	e8 80 0a 00 00       	call   c001df93 <liballoc_unlock>
c001d513:	b8 00 00 00 00       	mov    $0x0,%eax
c001d518:	e9 79 06 00 00       	jmp    c001db96 <kmalloc+0x719>
c001d51d:	a1 18 b0 02 c0       	mov    0xc002b018,%eax
c001d522:	89 45 e0             	mov    %eax,-0x20(%ebp)
c001d525:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
c001d52c:	a1 1c b0 02 c0       	mov    0xc002b01c,%eax
c001d531:	85 c0                	test   %eax,%eax
c001d533:	0f 84 43 06 00 00    	je     c001db7c <kmalloc+0x6ff>
c001d539:	a1 1c b0 02 c0       	mov    0xc002b01c,%eax
c001d53e:	8b 50 0c             	mov    0xc(%eax),%edx
c001d541:	a1 1c b0 02 c0       	mov    0xc002b01c,%eax
c001d546:	8b 40 10             	mov    0x10(%eax),%eax
c001d549:	29 c2                	sub    %eax,%edx
c001d54b:	89 d0                	mov    %edx,%eax
c001d54d:	89 45 e8             	mov    %eax,-0x18(%ebp)
c001d550:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
c001d557:	8b 45 c8             	mov    -0x38(%ebp),%eax
c001d55a:	83 c0 18             	add    $0x18,%eax
c001d55d:	ba 00 00 00 00       	mov    $0x0,%edx
c001d562:	3b 45 e8             	cmp    -0x18(%ebp),%eax
c001d565:	89 d0                	mov    %edx,%eax
c001d567:	1b 45 ec             	sbb    -0x14(%ebp),%eax
c001d56a:	0f 83 0c 06 00 00    	jae    c001db7c <kmalloc+0x6ff>
c001d570:	a1 1c b0 02 c0       	mov    0xc002b01c,%eax
c001d575:	89 45 e0             	mov    %eax,-0x20(%ebp)
c001d578:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
c001d57f:	e9 f8 05 00 00       	jmp    c001db7c <kmalloc+0x6ff>
c001d584:	8b 45 e0             	mov    -0x20(%ebp),%eax
c001d587:	8b 50 0c             	mov    0xc(%eax),%edx
c001d58a:	8b 45 e0             	mov    -0x20(%ebp),%eax
c001d58d:	8b 40 10             	mov    0x10(%eax),%eax
c001d590:	29 c2                	sub    %eax,%edx
c001d592:	89 d0                	mov    %edx,%eax
c001d594:	89 45 c4             	mov    %eax,-0x3c(%ebp)
c001d597:	8b 45 c4             	mov    -0x3c(%ebp),%eax
c001d59a:	ba 00 00 00 00       	mov    $0x0,%edx
c001d59f:	8b 4d ec             	mov    -0x14(%ebp),%ecx
c001d5a2:	39 45 e8             	cmp    %eax,-0x18(%ebp)
c001d5a5:	19 d1                	sbb    %edx,%ecx
c001d5a7:	73 15                	jae    c001d5be <kmalloc+0x141>
c001d5a9:	8b 45 e0             	mov    -0x20(%ebp),%eax
c001d5ac:	a3 1c b0 02 c0       	mov    %eax,0xc002b01c
c001d5b1:	8b 45 c4             	mov    -0x3c(%ebp),%eax
c001d5b4:	89 45 e8             	mov    %eax,-0x18(%ebp)
c001d5b7:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
c001d5be:	8b 45 c8             	mov    -0x38(%ebp),%eax
c001d5c1:	83 c0 18             	add    $0x18,%eax
c001d5c4:	39 45 c4             	cmp    %eax,-0x3c(%ebp)
c001d5c7:	73 6a                	jae    c001d633 <kmalloc+0x1b6>
c001d5c9:	8b 45 e0             	mov    -0x20(%ebp),%eax
c001d5cc:	8b 40 04             	mov    0x4(%eax),%eax
c001d5cf:	85 c0                	test   %eax,%eax
c001d5d1:	74 0e                	je     c001d5e1 <kmalloc+0x164>
c001d5d3:	8b 45 e0             	mov    -0x20(%ebp),%eax
c001d5d6:	8b 40 04             	mov    0x4(%eax),%eax
c001d5d9:	89 45 e0             	mov    %eax,-0x20(%ebp)
c001d5dc:	e9 9b 05 00 00       	jmp    c001db7c <kmalloc+0x6ff>
c001d5e1:	83 7d f4 01          	cmpl   $0x1,-0xc(%ebp)
c001d5e5:	75 14                	jne    c001d5fb <kmalloc+0x17e>
c001d5e7:	a1 18 b0 02 c0       	mov    0xc002b018,%eax
c001d5ec:	89 45 e0             	mov    %eax,-0x20(%ebp)
c001d5ef:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
c001d5f6:	e9 81 05 00 00       	jmp    c001db7c <kmalloc+0x6ff>
c001d5fb:	83 ec 0c             	sub    $0xc,%esp
c001d5fe:	ff 75 c8             	pushl  -0x38(%ebp)
c001d601:	e8 66 fd ff ff       	call   c001d36c <allocate_new_page>
c001d606:	83 c4 10             	add    $0x10,%esp
c001d609:	89 c2                	mov    %eax,%edx
c001d60b:	8b 45 e0             	mov    -0x20(%ebp),%eax
c001d60e:	89 50 04             	mov    %edx,0x4(%eax)
c001d611:	8b 45 e0             	mov    -0x20(%ebp),%eax
c001d614:	8b 40 04             	mov    0x4(%eax),%eax
c001d617:	85 c0                	test   %eax,%eax
c001d619:	0f 84 69 05 00 00    	je     c001db88 <kmalloc+0x70b>
c001d61f:	8b 45 e0             	mov    -0x20(%ebp),%eax
c001d622:	8b 40 04             	mov    0x4(%eax),%eax
c001d625:	8b 55 e0             	mov    -0x20(%ebp),%edx
c001d628:	89 10                	mov    %edx,(%eax)
c001d62a:	8b 45 e0             	mov    -0x20(%ebp),%eax
c001d62d:	8b 40 04             	mov    0x4(%eax),%eax
c001d630:	89 45 e0             	mov    %eax,-0x20(%ebp)
c001d633:	8b 45 e0             	mov    -0x20(%ebp),%eax
c001d636:	8b 40 14             	mov    0x14(%eax),%eax
c001d639:	85 c0                	test   %eax,%eax
c001d63b:	0f 85 12 01 00 00    	jne    c001d753 <kmalloc+0x2d6>
c001d641:	8b 45 e0             	mov    -0x20(%ebp),%eax
c001d644:	83 c0 18             	add    $0x18,%eax
c001d647:	89 c2                	mov    %eax,%edx
c001d649:	8b 45 e0             	mov    -0x20(%ebp),%eax
c001d64c:	89 50 14             	mov    %edx,0x14(%eax)
c001d64f:	8b 45 e0             	mov    -0x20(%ebp),%eax
c001d652:	8b 40 14             	mov    0x14(%eax),%eax
c001d655:	c7 40 0c de c0 01 c0 	movl   $0xc001c0de,0xc(%eax)
c001d65c:	8b 45 e0             	mov    -0x20(%ebp),%eax
c001d65f:	8b 40 14             	mov    0x14(%eax),%eax
c001d662:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
c001d668:	8b 45 e0             	mov    -0x20(%ebp),%eax
c001d66b:	8b 40 14             	mov    0x14(%eax),%eax
c001d66e:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
c001d675:	8b 45 e0             	mov    -0x20(%ebp),%eax
c001d678:	8b 40 14             	mov    0x14(%eax),%eax
c001d67b:	8b 55 e0             	mov    -0x20(%ebp),%edx
c001d67e:	89 50 08             	mov    %edx,0x8(%eax)
c001d681:	8b 45 e0             	mov    -0x20(%ebp),%eax
c001d684:	8b 40 14             	mov    0x14(%eax),%eax
c001d687:	8b 55 c8             	mov    -0x38(%ebp),%edx
c001d68a:	89 50 10             	mov    %edx,0x10(%eax)
c001d68d:	8b 45 e0             	mov    -0x20(%ebp),%eax
c001d690:	8b 40 14             	mov    0x14(%eax),%eax
c001d693:	8b 55 08             	mov    0x8(%ebp),%edx
c001d696:	89 50 14             	mov    %edx,0x14(%eax)
c001d699:	8b 45 e0             	mov    -0x20(%ebp),%eax
c001d69c:	8b 50 10             	mov    0x10(%eax),%edx
c001d69f:	8b 45 c8             	mov    -0x38(%ebp),%eax
c001d6a2:	01 d0                	add    %edx,%eax
c001d6a4:	8d 50 18             	lea    0x18(%eax),%edx
c001d6a7:	8b 45 e0             	mov    -0x20(%ebp),%eax
c001d6aa:	89 50 10             	mov    %edx,0x10(%eax)
c001d6ad:	8b 4d c8             	mov    -0x38(%ebp),%ecx
c001d6b0:	bb 00 00 00 00       	mov    $0x0,%ebx
c001d6b5:	a1 08 b0 02 c0       	mov    0xc002b008,%eax
c001d6ba:	8b 15 0c b0 02 c0    	mov    0xc002b00c,%edx
c001d6c0:	01 c8                	add    %ecx,%eax
c001d6c2:	11 da                	adc    %ebx,%edx
c001d6c4:	a3 08 b0 02 c0       	mov    %eax,0xc002b008
c001d6c9:	89 15 0c b0 02 c0    	mov    %edx,0xc002b00c
c001d6cf:	8b 0d 10 b0 02 c0    	mov    0xc002b010,%ecx
c001d6d5:	8b 1d 14 b0 02 c0    	mov    0xc002b014,%ebx
c001d6db:	a1 08 b0 02 c0       	mov    0xc002b008,%eax
c001d6e0:	8b 15 0c b0 02 c0    	mov    0xc002b00c,%edx
c001d6e6:	39 c1                	cmp    %eax,%ecx
c001d6e8:	89 de                	mov    %ebx,%esi
c001d6ea:	19 d6                	sbb    %edx,%esi
c001d6ec:	73 04                	jae    c001d6f2 <kmalloc+0x275>
c001d6ee:	89 c1                	mov    %eax,%ecx
c001d6f0:	89 d3                	mov    %edx,%ebx
c001d6f2:	89 0d 10 b0 02 c0    	mov    %ecx,0xc002b010
c001d6f8:	89 1d 14 b0 02 c0    	mov    %ebx,0xc002b014
c001d6fe:	8b 45 e0             	mov    -0x20(%ebp),%eax
c001d701:	8b 40 14             	mov    0x14(%eax),%eax
c001d704:	83 c0 18             	add    $0x18,%eax
c001d707:	89 45 e4             	mov    %eax,-0x1c(%ebp)
c001d70a:	8b 45 e4             	mov    -0x1c(%ebp),%eax
c001d70d:	83 c0 10             	add    $0x10,%eax
c001d710:	89 45 e4             	mov    %eax,-0x1c(%ebp)
c001d713:	8b 45 e4             	mov    -0x1c(%ebp),%eax
c001d716:	83 e0 0f             	and    $0xf,%eax
c001d719:	89 45 d8             	mov    %eax,-0x28(%ebp)
c001d71c:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
c001d720:	74 16                	je     c001d738 <kmalloc+0x2bb>
c001d722:	b8 10 00 00 00       	mov    $0x10,%eax
c001d727:	2b 45 d8             	sub    -0x28(%ebp),%eax
c001d72a:	89 45 d8             	mov    %eax,-0x28(%ebp)
c001d72d:	8b 55 e4             	mov    -0x1c(%ebp),%edx
c001d730:	8b 45 d8             	mov    -0x28(%ebp),%eax
c001d733:	01 d0                	add    %edx,%eax
c001d735:	89 45 e4             	mov    %eax,-0x1c(%ebp)
c001d738:	8b 45 d8             	mov    -0x28(%ebp),%eax
c001d73b:	8d 50 10             	lea    0x10(%eax),%edx
c001d73e:	8b 45 e4             	mov    -0x1c(%ebp),%eax
c001d741:	83 e8 10             	sub    $0x10,%eax
c001d744:	88 10                	mov    %dl,(%eax)
c001d746:	e8 48 08 00 00       	call   c001df93 <liballoc_unlock>
c001d74b:	8b 45 e4             	mov    -0x1c(%ebp),%eax
c001d74e:	e9 43 04 00 00       	jmp    c001db96 <kmalloc+0x719>
c001d753:	8b 45 e0             	mov    -0x20(%ebp),%eax
c001d756:	8b 40 14             	mov    0x14(%eax),%eax
c001d759:	89 45 c4             	mov    %eax,-0x3c(%ebp)
c001d75c:	8b 45 e0             	mov    -0x20(%ebp),%eax
c001d75f:	29 45 c4             	sub    %eax,-0x3c(%ebp)
c001d762:	83 6d c4 18          	subl   $0x18,-0x3c(%ebp)
c001d766:	8b 45 c8             	mov    -0x38(%ebp),%eax
c001d769:	83 c0 18             	add    $0x18,%eax
c001d76c:	39 45 c4             	cmp    %eax,-0x3c(%ebp)
c001d76f:	0f 82 24 01 00 00    	jb     c001d899 <kmalloc+0x41c>
c001d775:	8b 45 e0             	mov    -0x20(%ebp),%eax
c001d778:	8d 50 18             	lea    0x18(%eax),%edx
c001d77b:	8b 45 e0             	mov    -0x20(%ebp),%eax
c001d77e:	8b 40 14             	mov    0x14(%eax),%eax
c001d781:	89 10                	mov    %edx,(%eax)
c001d783:	8b 45 e0             	mov    -0x20(%ebp),%eax
c001d786:	8b 40 14             	mov    0x14(%eax),%eax
c001d789:	8b 00                	mov    (%eax),%eax
c001d78b:	8b 55 e0             	mov    -0x20(%ebp),%edx
c001d78e:	8b 52 14             	mov    0x14(%edx),%edx
c001d791:	89 50 04             	mov    %edx,0x4(%eax)
c001d794:	8b 45 e0             	mov    -0x20(%ebp),%eax
c001d797:	8b 40 14             	mov    0x14(%eax),%eax
c001d79a:	8b 10                	mov    (%eax),%edx
c001d79c:	8b 45 e0             	mov    -0x20(%ebp),%eax
c001d79f:	89 50 14             	mov    %edx,0x14(%eax)
c001d7a2:	8b 45 e0             	mov    -0x20(%ebp),%eax
c001d7a5:	8b 40 14             	mov    0x14(%eax),%eax
c001d7a8:	c7 40 0c de c0 01 c0 	movl   $0xc001c0de,0xc(%eax)
c001d7af:	8b 45 e0             	mov    -0x20(%ebp),%eax
c001d7b2:	8b 40 14             	mov    0x14(%eax),%eax
c001d7b5:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
c001d7bb:	8b 45 e0             	mov    -0x20(%ebp),%eax
c001d7be:	8b 40 14             	mov    0x14(%eax),%eax
c001d7c1:	8b 55 e0             	mov    -0x20(%ebp),%edx
c001d7c4:	89 50 08             	mov    %edx,0x8(%eax)
c001d7c7:	8b 45 e0             	mov    -0x20(%ebp),%eax
c001d7ca:	8b 40 14             	mov    0x14(%eax),%eax
c001d7cd:	8b 55 c8             	mov    -0x38(%ebp),%edx
c001d7d0:	89 50 10             	mov    %edx,0x10(%eax)
c001d7d3:	8b 45 e0             	mov    -0x20(%ebp),%eax
c001d7d6:	8b 40 14             	mov    0x14(%eax),%eax
c001d7d9:	8b 55 08             	mov    0x8(%ebp),%edx
c001d7dc:	89 50 14             	mov    %edx,0x14(%eax)
c001d7df:	8b 45 e0             	mov    -0x20(%ebp),%eax
c001d7e2:	8b 50 10             	mov    0x10(%eax),%edx
c001d7e5:	8b 45 c8             	mov    -0x38(%ebp),%eax
c001d7e8:	01 d0                	add    %edx,%eax
c001d7ea:	8d 50 18             	lea    0x18(%eax),%edx
c001d7ed:	8b 45 e0             	mov    -0x20(%ebp),%eax
c001d7f0:	89 50 10             	mov    %edx,0x10(%eax)
c001d7f3:	8b 4d c8             	mov    -0x38(%ebp),%ecx
c001d7f6:	bb 00 00 00 00       	mov    $0x0,%ebx
c001d7fb:	a1 08 b0 02 c0       	mov    0xc002b008,%eax
c001d800:	8b 15 0c b0 02 c0    	mov    0xc002b00c,%edx
c001d806:	01 c8                	add    %ecx,%eax
c001d808:	11 da                	adc    %ebx,%edx
c001d80a:	a3 08 b0 02 c0       	mov    %eax,0xc002b008
c001d80f:	89 15 0c b0 02 c0    	mov    %edx,0xc002b00c
c001d815:	8b 0d 10 b0 02 c0    	mov    0xc002b010,%ecx
c001d81b:	8b 1d 14 b0 02 c0    	mov    0xc002b014,%ebx
c001d821:	a1 08 b0 02 c0       	mov    0xc002b008,%eax
c001d826:	8b 15 0c b0 02 c0    	mov    0xc002b00c,%edx
c001d82c:	39 c1                	cmp    %eax,%ecx
c001d82e:	89 de                	mov    %ebx,%esi
c001d830:	19 d6                	sbb    %edx,%esi
c001d832:	73 04                	jae    c001d838 <kmalloc+0x3bb>
c001d834:	89 c1                	mov    %eax,%ecx
c001d836:	89 d3                	mov    %edx,%ebx
c001d838:	89 0d 10 b0 02 c0    	mov    %ecx,0xc002b010
c001d83e:	89 1d 14 b0 02 c0    	mov    %ebx,0xc002b014
c001d844:	8b 45 e0             	mov    -0x20(%ebp),%eax
c001d847:	8b 40 14             	mov    0x14(%eax),%eax
c001d84a:	83 c0 18             	add    $0x18,%eax
c001d84d:	89 45 e4             	mov    %eax,-0x1c(%ebp)
c001d850:	8b 45 e4             	mov    -0x1c(%ebp),%eax
c001d853:	83 c0 10             	add    $0x10,%eax
c001d856:	89 45 e4             	mov    %eax,-0x1c(%ebp)
c001d859:	8b 45 e4             	mov    -0x1c(%ebp),%eax
c001d85c:	83 e0 0f             	and    $0xf,%eax
c001d85f:	89 45 d4             	mov    %eax,-0x2c(%ebp)
c001d862:	83 7d d4 00          	cmpl   $0x0,-0x2c(%ebp)
c001d866:	74 16                	je     c001d87e <kmalloc+0x401>
c001d868:	b8 10 00 00 00       	mov    $0x10,%eax
c001d86d:	2b 45 d4             	sub    -0x2c(%ebp),%eax
c001d870:	89 45 d4             	mov    %eax,-0x2c(%ebp)
c001d873:	8b 55 e4             	mov    -0x1c(%ebp),%edx
c001d876:	8b 45 d4             	mov    -0x2c(%ebp),%eax
c001d879:	01 d0                	add    %edx,%eax
c001d87b:	89 45 e4             	mov    %eax,-0x1c(%ebp)
c001d87e:	8b 45 d4             	mov    -0x2c(%ebp),%eax
c001d881:	8d 50 10             	lea    0x10(%eax),%edx
c001d884:	8b 45 e4             	mov    -0x1c(%ebp),%eax
c001d887:	83 e8 10             	sub    $0x10,%eax
c001d88a:	88 10                	mov    %dl,(%eax)
c001d88c:	e8 02 07 00 00       	call   c001df93 <liballoc_unlock>
c001d891:	8b 45 e4             	mov    -0x1c(%ebp),%eax
c001d894:	e9 fd 02 00 00       	jmp    c001db96 <kmalloc+0x719>
c001d899:	8b 45 e0             	mov    -0x20(%ebp),%eax
c001d89c:	8b 40 14             	mov    0x14(%eax),%eax
c001d89f:	89 45 dc             	mov    %eax,-0x24(%ebp)
c001d8a2:	e9 76 02 00 00       	jmp    c001db1d <kmalloc+0x6a0>
c001d8a7:	8b 45 dc             	mov    -0x24(%ebp),%eax
c001d8aa:	8b 40 04             	mov    0x4(%eax),%eax
c001d8ad:	85 c0                	test   %eax,%eax
c001d8af:	0f 85 40 01 00 00    	jne    c001d9f5 <kmalloc+0x578>
c001d8b5:	8b 45 e0             	mov    -0x20(%ebp),%eax
c001d8b8:	8b 50 0c             	mov    0xc(%eax),%edx
c001d8bb:	8b 45 e0             	mov    -0x20(%ebp),%eax
c001d8be:	01 d0                	add    %edx,%eax
c001d8c0:	89 45 c4             	mov    %eax,-0x3c(%ebp)
c001d8c3:	8b 45 dc             	mov    -0x24(%ebp),%eax
c001d8c6:	29 45 c4             	sub    %eax,-0x3c(%ebp)
c001d8c9:	83 6d c4 18          	subl   $0x18,-0x3c(%ebp)
c001d8cd:	8b 45 dc             	mov    -0x24(%ebp),%eax
c001d8d0:	8b 40 10             	mov    0x10(%eax),%eax
c001d8d3:	29 45 c4             	sub    %eax,-0x3c(%ebp)
c001d8d6:	8b 45 c8             	mov    -0x38(%ebp),%eax
c001d8d9:	83 c0 18             	add    $0x18,%eax
c001d8dc:	39 45 c4             	cmp    %eax,-0x3c(%ebp)
c001d8df:	0f 82 10 01 00 00    	jb     c001d9f5 <kmalloc+0x578>
c001d8e5:	8b 45 dc             	mov    -0x24(%ebp),%eax
c001d8e8:	8b 50 10             	mov    0x10(%eax),%edx
c001d8eb:	8b 45 dc             	mov    -0x24(%ebp),%eax
c001d8ee:	01 d0                	add    %edx,%eax
c001d8f0:	83 c0 18             	add    $0x18,%eax
c001d8f3:	89 c2                	mov    %eax,%edx
c001d8f5:	8b 45 dc             	mov    -0x24(%ebp),%eax
c001d8f8:	89 50 04             	mov    %edx,0x4(%eax)
c001d8fb:	8b 45 dc             	mov    -0x24(%ebp),%eax
c001d8fe:	8b 40 04             	mov    0x4(%eax),%eax
c001d901:	8b 55 dc             	mov    -0x24(%ebp),%edx
c001d904:	89 10                	mov    %edx,(%eax)
c001d906:	8b 45 dc             	mov    -0x24(%ebp),%eax
c001d909:	8b 40 04             	mov    0x4(%eax),%eax
c001d90c:	89 45 dc             	mov    %eax,-0x24(%ebp)
c001d90f:	8b 45 dc             	mov    -0x24(%ebp),%eax
c001d912:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
c001d919:	8b 45 dc             	mov    -0x24(%ebp),%eax
c001d91c:	c7 40 0c de c0 01 c0 	movl   $0xc001c0de,0xc(%eax)
c001d923:	8b 45 dc             	mov    -0x24(%ebp),%eax
c001d926:	8b 55 e0             	mov    -0x20(%ebp),%edx
c001d929:	89 50 08             	mov    %edx,0x8(%eax)
c001d92c:	8b 45 dc             	mov    -0x24(%ebp),%eax
c001d92f:	8b 55 c8             	mov    -0x38(%ebp),%edx
c001d932:	89 50 10             	mov    %edx,0x10(%eax)
c001d935:	8b 45 dc             	mov    -0x24(%ebp),%eax
c001d938:	8b 55 08             	mov    0x8(%ebp),%edx
c001d93b:	89 50 14             	mov    %edx,0x14(%eax)
c001d93e:	8b 45 e0             	mov    -0x20(%ebp),%eax
c001d941:	8b 50 10             	mov    0x10(%eax),%edx
c001d944:	8b 45 c8             	mov    -0x38(%ebp),%eax
c001d947:	01 d0                	add    %edx,%eax
c001d949:	8d 50 18             	lea    0x18(%eax),%edx
c001d94c:	8b 45 e0             	mov    -0x20(%ebp),%eax
c001d94f:	89 50 10             	mov    %edx,0x10(%eax)
c001d952:	8b 4d c8             	mov    -0x38(%ebp),%ecx
c001d955:	bb 00 00 00 00       	mov    $0x0,%ebx
c001d95a:	a1 08 b0 02 c0       	mov    0xc002b008,%eax
c001d95f:	8b 15 0c b0 02 c0    	mov    0xc002b00c,%edx
c001d965:	01 c8                	add    %ecx,%eax
c001d967:	11 da                	adc    %ebx,%edx
c001d969:	a3 08 b0 02 c0       	mov    %eax,0xc002b008
c001d96e:	89 15 0c b0 02 c0    	mov    %edx,0xc002b00c
c001d974:	8b 0d 10 b0 02 c0    	mov    0xc002b010,%ecx
c001d97a:	8b 1d 14 b0 02 c0    	mov    0xc002b014,%ebx
c001d980:	a1 08 b0 02 c0       	mov    0xc002b008,%eax
c001d985:	8b 15 0c b0 02 c0    	mov    0xc002b00c,%edx
c001d98b:	39 c1                	cmp    %eax,%ecx
c001d98d:	89 de                	mov    %ebx,%esi
c001d98f:	19 d6                	sbb    %edx,%esi
c001d991:	73 04                	jae    c001d997 <kmalloc+0x51a>
c001d993:	89 c1                	mov    %eax,%ecx
c001d995:	89 d3                	mov    %edx,%ebx
c001d997:	89 0d 10 b0 02 c0    	mov    %ecx,0xc002b010
c001d99d:	89 1d 14 b0 02 c0    	mov    %ebx,0xc002b014
c001d9a3:	8b 45 dc             	mov    -0x24(%ebp),%eax
c001d9a6:	83 c0 18             	add    $0x18,%eax
c001d9a9:	89 45 e4             	mov    %eax,-0x1c(%ebp)
c001d9ac:	8b 45 e4             	mov    -0x1c(%ebp),%eax
c001d9af:	83 c0 10             	add    $0x10,%eax
c001d9b2:	89 45 e4             	mov    %eax,-0x1c(%ebp)
c001d9b5:	8b 45 e4             	mov    -0x1c(%ebp),%eax
c001d9b8:	83 e0 0f             	and    $0xf,%eax
c001d9bb:	89 45 d0             	mov    %eax,-0x30(%ebp)
c001d9be:	83 7d d0 00          	cmpl   $0x0,-0x30(%ebp)
c001d9c2:	74 16                	je     c001d9da <kmalloc+0x55d>
c001d9c4:	b8 10 00 00 00       	mov    $0x10,%eax
c001d9c9:	2b 45 d0             	sub    -0x30(%ebp),%eax
c001d9cc:	89 45 d0             	mov    %eax,-0x30(%ebp)
c001d9cf:	8b 55 e4             	mov    -0x1c(%ebp),%edx
c001d9d2:	8b 45 d0             	mov    -0x30(%ebp),%eax
c001d9d5:	01 d0                	add    %edx,%eax
c001d9d7:	89 45 e4             	mov    %eax,-0x1c(%ebp)
c001d9da:	8b 45 d0             	mov    -0x30(%ebp),%eax
c001d9dd:	8d 50 10             	lea    0x10(%eax),%edx
c001d9e0:	8b 45 e4             	mov    -0x1c(%ebp),%eax
c001d9e3:	83 e8 10             	sub    $0x10,%eax
c001d9e6:	88 10                	mov    %dl,(%eax)
c001d9e8:	e8 a6 05 00 00       	call   c001df93 <liballoc_unlock>
c001d9ed:	8b 45 e4             	mov    -0x1c(%ebp),%eax
c001d9f0:	e9 a1 01 00 00       	jmp    c001db96 <kmalloc+0x719>
c001d9f5:	8b 45 dc             	mov    -0x24(%ebp),%eax
c001d9f8:	8b 40 04             	mov    0x4(%eax),%eax
c001d9fb:	85 c0                	test   %eax,%eax
c001d9fd:	0f 84 11 01 00 00    	je     c001db14 <kmalloc+0x697>
c001da03:	8b 45 dc             	mov    -0x24(%ebp),%eax
c001da06:	8b 40 04             	mov    0x4(%eax),%eax
c001da09:	89 45 c4             	mov    %eax,-0x3c(%ebp)
c001da0c:	8b 45 dc             	mov    -0x24(%ebp),%eax
c001da0f:	29 45 c4             	sub    %eax,-0x3c(%ebp)
c001da12:	83 6d c4 18          	subl   $0x18,-0x3c(%ebp)
c001da16:	8b 45 dc             	mov    -0x24(%ebp),%eax
c001da19:	8b 40 10             	mov    0x10(%eax),%eax
c001da1c:	29 45 c4             	sub    %eax,-0x3c(%ebp)
c001da1f:	8b 45 c8             	mov    -0x38(%ebp),%eax
c001da22:	83 c0 18             	add    $0x18,%eax
c001da25:	39 45 c4             	cmp    %eax,-0x3c(%ebp)
c001da28:	0f 82 e6 00 00 00    	jb     c001db14 <kmalloc+0x697>
c001da2e:	8b 45 dc             	mov    -0x24(%ebp),%eax
c001da31:	8b 50 10             	mov    0x10(%eax),%edx
c001da34:	8b 45 dc             	mov    -0x24(%ebp),%eax
c001da37:	01 d0                	add    %edx,%eax
c001da39:	83 c0 18             	add    $0x18,%eax
c001da3c:	89 45 c0             	mov    %eax,-0x40(%ebp)
c001da3f:	8b 45 c0             	mov    -0x40(%ebp),%eax
c001da42:	c7 40 0c de c0 01 c0 	movl   $0xc001c0de,0xc(%eax)
c001da49:	8b 45 dc             	mov    -0x24(%ebp),%eax
c001da4c:	8b 50 04             	mov    0x4(%eax),%edx
c001da4f:	8b 45 c0             	mov    -0x40(%ebp),%eax
c001da52:	89 50 04             	mov    %edx,0x4(%eax)
c001da55:	8b 45 c0             	mov    -0x40(%ebp),%eax
c001da58:	8b 55 dc             	mov    -0x24(%ebp),%edx
c001da5b:	89 10                	mov    %edx,(%eax)
c001da5d:	8b 45 c0             	mov    -0x40(%ebp),%eax
c001da60:	8b 55 c8             	mov    -0x38(%ebp),%edx
c001da63:	89 50 10             	mov    %edx,0x10(%eax)
c001da66:	8b 45 c0             	mov    -0x40(%ebp),%eax
c001da69:	8b 55 08             	mov    0x8(%ebp),%edx
c001da6c:	89 50 14             	mov    %edx,0x14(%eax)
c001da6f:	8b 45 c0             	mov    -0x40(%ebp),%eax
c001da72:	8b 55 e0             	mov    -0x20(%ebp),%edx
c001da75:	89 50 08             	mov    %edx,0x8(%eax)
c001da78:	8b 45 dc             	mov    -0x24(%ebp),%eax
c001da7b:	8b 40 04             	mov    0x4(%eax),%eax
c001da7e:	8b 55 c0             	mov    -0x40(%ebp),%edx
c001da81:	89 10                	mov    %edx,(%eax)
c001da83:	8b 45 dc             	mov    -0x24(%ebp),%eax
c001da86:	8b 55 c0             	mov    -0x40(%ebp),%edx
c001da89:	89 50 04             	mov    %edx,0x4(%eax)
c001da8c:	8b 45 e0             	mov    -0x20(%ebp),%eax
c001da8f:	8b 50 10             	mov    0x10(%eax),%edx
c001da92:	8b 45 c8             	mov    -0x38(%ebp),%eax
c001da95:	01 d0                	add    %edx,%eax
c001da97:	8d 50 18             	lea    0x18(%eax),%edx
c001da9a:	8b 45 e0             	mov    -0x20(%ebp),%eax
c001da9d:	89 50 10             	mov    %edx,0x10(%eax)
c001daa0:	8b 4d c8             	mov    -0x38(%ebp),%ecx
c001daa3:	bb 00 00 00 00       	mov    $0x0,%ebx
c001daa8:	a1 08 b0 02 c0       	mov    0xc002b008,%eax
c001daad:	8b 15 0c b0 02 c0    	mov    0xc002b00c,%edx
c001dab3:	01 c8                	add    %ecx,%eax
c001dab5:	11 da                	adc    %ebx,%edx
c001dab7:	a3 08 b0 02 c0       	mov    %eax,0xc002b008
c001dabc:	89 15 0c b0 02 c0    	mov    %edx,0xc002b00c
c001dac2:	8b 45 c0             	mov    -0x40(%ebp),%eax
c001dac5:	83 c0 18             	add    $0x18,%eax
c001dac8:	89 45 e4             	mov    %eax,-0x1c(%ebp)
c001dacb:	8b 45 e4             	mov    -0x1c(%ebp),%eax
c001dace:	83 c0 10             	add    $0x10,%eax
c001dad1:	89 45 e4             	mov    %eax,-0x1c(%ebp)
c001dad4:	8b 45 e4             	mov    -0x1c(%ebp),%eax
c001dad7:	83 e0 0f             	and    $0xf,%eax
c001dada:	89 45 cc             	mov    %eax,-0x34(%ebp)
c001dadd:	83 7d cc 00          	cmpl   $0x0,-0x34(%ebp)
c001dae1:	74 16                	je     c001daf9 <kmalloc+0x67c>
c001dae3:	b8 10 00 00 00       	mov    $0x10,%eax
c001dae8:	2b 45 cc             	sub    -0x34(%ebp),%eax
c001daeb:	89 45 cc             	mov    %eax,-0x34(%ebp)
c001daee:	8b 55 e4             	mov    -0x1c(%ebp),%edx
c001daf1:	8b 45 cc             	mov    -0x34(%ebp),%eax
c001daf4:	01 d0                	add    %edx,%eax
c001daf6:	89 45 e4             	mov    %eax,-0x1c(%ebp)
c001daf9:	8b 45 cc             	mov    -0x34(%ebp),%eax
c001dafc:	8d 50 10             	lea    0x10(%eax),%edx
c001daff:	8b 45 e4             	mov    -0x1c(%ebp),%eax
c001db02:	83 e8 10             	sub    $0x10,%eax
c001db05:	88 10                	mov    %dl,(%eax)
c001db07:	e8 87 04 00 00       	call   c001df93 <liballoc_unlock>
c001db0c:	8b 45 e4             	mov    -0x1c(%ebp),%eax
c001db0f:	e9 82 00 00 00       	jmp    c001db96 <kmalloc+0x719>
c001db14:	8b 45 dc             	mov    -0x24(%ebp),%eax
c001db17:	8b 40 04             	mov    0x4(%eax),%eax
c001db1a:	89 45 dc             	mov    %eax,-0x24(%ebp)
c001db1d:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
c001db21:	0f 85 80 fd ff ff    	jne    c001d8a7 <kmalloc+0x42a>
c001db27:	8b 45 e0             	mov    -0x20(%ebp),%eax
c001db2a:	8b 40 04             	mov    0x4(%eax),%eax
c001db2d:	85 c0                	test   %eax,%eax
c001db2f:	75 42                	jne    c001db73 <kmalloc+0x6f6>
c001db31:	83 7d f4 01          	cmpl   $0x1,-0xc(%ebp)
c001db35:	75 11                	jne    c001db48 <kmalloc+0x6cb>
c001db37:	a1 18 b0 02 c0       	mov    0xc002b018,%eax
c001db3c:	89 45 e0             	mov    %eax,-0x20(%ebp)
c001db3f:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
c001db46:	eb 34                	jmp    c001db7c <kmalloc+0x6ff>
c001db48:	83 ec 0c             	sub    $0xc,%esp
c001db4b:	ff 75 c8             	pushl  -0x38(%ebp)
c001db4e:	e8 19 f8 ff ff       	call   c001d36c <allocate_new_page>
c001db53:	83 c4 10             	add    $0x10,%esp
c001db56:	89 c2                	mov    %eax,%edx
c001db58:	8b 45 e0             	mov    -0x20(%ebp),%eax
c001db5b:	89 50 04             	mov    %edx,0x4(%eax)
c001db5e:	8b 45 e0             	mov    -0x20(%ebp),%eax
c001db61:	8b 40 04             	mov    0x4(%eax),%eax
c001db64:	85 c0                	test   %eax,%eax
c001db66:	74 23                	je     c001db8b <kmalloc+0x70e>
c001db68:	8b 45 e0             	mov    -0x20(%ebp),%eax
c001db6b:	8b 40 04             	mov    0x4(%eax),%eax
c001db6e:	8b 55 e0             	mov    -0x20(%ebp),%edx
c001db71:	89 10                	mov    %edx,(%eax)
c001db73:	8b 45 e0             	mov    -0x20(%ebp),%eax
c001db76:	8b 40 04             	mov    0x4(%eax),%eax
c001db79:	89 45 e0             	mov    %eax,-0x20(%ebp)
c001db7c:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
c001db80:	0f 85 fe f9 ff ff    	jne    c001d584 <kmalloc+0x107>
c001db86:	eb 04                	jmp    c001db8c <kmalloc+0x70f>
c001db88:	90                   	nop
c001db89:	eb 01                	jmp    c001db8c <kmalloc+0x70f>
c001db8b:	90                   	nop
c001db8c:	e8 02 04 00 00       	call   c001df93 <liballoc_unlock>
c001db91:	b8 00 00 00 00       	mov    $0x0,%eax
c001db96:	8d 65 f8             	lea    -0x8(%ebp),%esp
c001db99:	5b                   	pop    %ebx
c001db9a:	5e                   	pop    %esi
c001db9b:	5d                   	pop    %ebp
c001db9c:	c3                   	ret    

c001db9d <kfree>:
c001db9d:	55                   	push   %ebp
c001db9e:	89 e5                	mov    %esp,%ebp
c001dba0:	53                   	push   %ebx
c001dba1:	83 ec 24             	sub    $0x24,%esp
c001dba4:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
c001dba8:	75 21                	jne    c001dbcb <kfree+0x2e>
c001dbaa:	a1 20 b0 02 c0       	mov    0xc002b020,%eax
c001dbaf:	8b 15 24 b0 02 c0    	mov    0xc002b024,%edx
c001dbb5:	83 c0 01             	add    $0x1,%eax
c001dbb8:	83 d2 00             	adc    $0x0,%edx
c001dbbb:	a3 20 b0 02 c0       	mov    %eax,0xc002b020
c001dbc0:	89 15 24 b0 02 c0    	mov    %edx,0xc002b024
c001dbc6:	e9 2a 02 00 00       	jmp    c001ddf5 <kfree+0x258>
c001dbcb:	8b 45 08             	mov    0x8(%ebp),%eax
c001dbce:	83 e8 10             	sub    $0x10,%eax
c001dbd1:	0f b6 00             	movzbl (%eax),%eax
c001dbd4:	0f be c0             	movsbl %al,%eax
c001dbd7:	89 45 f4             	mov    %eax,-0xc(%ebp)
c001dbda:	83 7d f4 1f          	cmpl   $0x1f,-0xc(%ebp)
c001dbde:	77 09                	ja     c001dbe9 <kfree+0x4c>
c001dbe0:	8b 45 08             	mov    0x8(%ebp),%eax
c001dbe3:	2b 45 f4             	sub    -0xc(%ebp),%eax
c001dbe6:	89 45 08             	mov    %eax,0x8(%ebp)
c001dbe9:	e8 9a 03 00 00       	call   c001df88 <liballoc_lock>
c001dbee:	8b 45 08             	mov    0x8(%ebp),%eax
c001dbf1:	83 e8 18             	sub    $0x18,%eax
c001dbf4:	89 45 f0             	mov    %eax,-0x10(%ebp)
c001dbf7:	8b 45 f0             	mov    -0x10(%ebp),%eax
c001dbfa:	8b 40 0c             	mov    0xc(%eax),%eax
c001dbfd:	3d de c0 01 c0       	cmp    $0xc001c0de,%eax
c001dc02:	74 74                	je     c001dc78 <kfree+0xdb>
c001dc04:	a1 28 b0 02 c0       	mov    0xc002b028,%eax
c001dc09:	8b 15 2c b0 02 c0    	mov    0xc002b02c,%edx
c001dc0f:	83 c0 01             	add    $0x1,%eax
c001dc12:	83 d2 00             	adc    $0x0,%edx
c001dc15:	a3 28 b0 02 c0       	mov    %eax,0xc002b028
c001dc1a:	89 15 2c b0 02 c0    	mov    %edx,0xc002b02c
c001dc20:	8b 45 f0             	mov    -0x10(%ebp),%eax
c001dc23:	8b 40 0c             	mov    0xc(%eax),%eax
c001dc26:	25 ff ff ff 00       	and    $0xffffff,%eax
c001dc2b:	3d de c0 01 00       	cmp    $0x1c0de,%eax
c001dc30:	74 20                	je     c001dc52 <kfree+0xb5>
c001dc32:	8b 45 f0             	mov    -0x10(%ebp),%eax
c001dc35:	8b 40 0c             	mov    0xc(%eax),%eax
c001dc38:	0f b7 c0             	movzwl %ax,%eax
c001dc3b:	3d de c0 00 00       	cmp    $0xc0de,%eax
c001dc40:	74 10                	je     c001dc52 <kfree+0xb5>
c001dc42:	8b 45 f0             	mov    -0x10(%ebp),%eax
c001dc45:	8b 40 0c             	mov    0xc(%eax),%eax
c001dc48:	0f b6 c0             	movzbl %al,%eax
c001dc4b:	3d de 00 00 00       	cmp    $0xde,%eax
c001dc50:	75 1c                	jne    c001dc6e <kfree+0xd1>
c001dc52:	a1 30 b0 02 c0       	mov    0xc002b030,%eax
c001dc57:	8b 15 34 b0 02 c0    	mov    0xc002b034,%edx
c001dc5d:	83 c0 01             	add    $0x1,%eax
c001dc60:	83 d2 00             	adc    $0x0,%edx
c001dc63:	a3 30 b0 02 c0       	mov    %eax,0xc002b030
c001dc68:	89 15 34 b0 02 c0    	mov    %edx,0xc002b034
c001dc6e:	e8 20 03 00 00       	call   c001df93 <liballoc_unlock>
c001dc73:	e9 7d 01 00 00       	jmp    c001ddf5 <kfree+0x258>
c001dc78:	8b 45 f0             	mov    -0x10(%ebp),%eax
c001dc7b:	8b 40 08             	mov    0x8(%eax),%eax
c001dc7e:	89 45 ec             	mov    %eax,-0x14(%ebp)
c001dc81:	a1 08 b0 02 c0       	mov    0xc002b008,%eax
c001dc86:	8b 15 0c b0 02 c0    	mov    0xc002b00c,%edx
c001dc8c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
c001dc8f:	8b 49 10             	mov    0x10(%ecx),%ecx
c001dc92:	bb 00 00 00 00       	mov    $0x0,%ebx
c001dc97:	29 c8                	sub    %ecx,%eax
c001dc99:	19 da                	sbb    %ebx,%edx
c001dc9b:	a3 08 b0 02 c0       	mov    %eax,0xc002b008
c001dca0:	89 15 0c b0 02 c0    	mov    %edx,0xc002b00c
c001dca6:	8b 45 ec             	mov    -0x14(%ebp),%eax
c001dca9:	8b 50 10             	mov    0x10(%eax),%edx
c001dcac:	8b 45 f0             	mov    -0x10(%ebp),%eax
c001dcaf:	8b 40 10             	mov    0x10(%eax),%eax
c001dcb2:	29 c2                	sub    %eax,%edx
c001dcb4:	89 d0                	mov    %edx,%eax
c001dcb6:	8d 50 e8             	lea    -0x18(%eax),%edx
c001dcb9:	8b 45 ec             	mov    -0x14(%ebp),%eax
c001dcbc:	89 50 10             	mov    %edx,0x10(%eax)
c001dcbf:	8b 45 f0             	mov    -0x10(%ebp),%eax
c001dcc2:	c7 40 0c ad de ad de 	movl   $0xdeaddead,0xc(%eax)
c001dcc9:	8b 45 f0             	mov    -0x10(%ebp),%eax
c001dccc:	8b 40 04             	mov    0x4(%eax),%eax
c001dccf:	85 c0                	test   %eax,%eax
c001dcd1:	74 0d                	je     c001dce0 <kfree+0x143>
c001dcd3:	8b 45 f0             	mov    -0x10(%ebp),%eax
c001dcd6:	8b 40 04             	mov    0x4(%eax),%eax
c001dcd9:	8b 55 f0             	mov    -0x10(%ebp),%edx
c001dcdc:	8b 12                	mov    (%edx),%edx
c001dcde:	89 10                	mov    %edx,(%eax)
c001dce0:	8b 45 f0             	mov    -0x10(%ebp),%eax
c001dce3:	8b 00                	mov    (%eax),%eax
c001dce5:	85 c0                	test   %eax,%eax
c001dce7:	74 0e                	je     c001dcf7 <kfree+0x15a>
c001dce9:	8b 45 f0             	mov    -0x10(%ebp),%eax
c001dcec:	8b 00                	mov    (%eax),%eax
c001dcee:	8b 55 f0             	mov    -0x10(%ebp),%edx
c001dcf1:	8b 52 04             	mov    0x4(%edx),%edx
c001dcf4:	89 50 04             	mov    %edx,0x4(%eax)
c001dcf7:	8b 45 f0             	mov    -0x10(%ebp),%eax
c001dcfa:	8b 00                	mov    (%eax),%eax
c001dcfc:	85 c0                	test   %eax,%eax
c001dcfe:	75 0c                	jne    c001dd0c <kfree+0x16f>
c001dd00:	8b 45 f0             	mov    -0x10(%ebp),%eax
c001dd03:	8b 50 04             	mov    0x4(%eax),%edx
c001dd06:	8b 45 ec             	mov    -0x14(%ebp),%eax
c001dd09:	89 50 14             	mov    %edx,0x14(%eax)
c001dd0c:	8b 45 ec             	mov    -0x14(%ebp),%eax
c001dd0f:	8b 40 14             	mov    0x14(%eax),%eax
c001dd12:	85 c0                	test   %eax,%eax
c001dd14:	0f 85 93 00 00 00    	jne    c001ddad <kfree+0x210>
c001dd1a:	a1 18 b0 02 c0       	mov    0xc002b018,%eax
c001dd1f:	39 45 ec             	cmp    %eax,-0x14(%ebp)
c001dd22:	75 0b                	jne    c001dd2f <kfree+0x192>
c001dd24:	8b 45 ec             	mov    -0x14(%ebp),%eax
c001dd27:	8b 40 04             	mov    0x4(%eax),%eax
c001dd2a:	a3 18 b0 02 c0       	mov    %eax,0xc002b018
c001dd2f:	a1 1c b0 02 c0       	mov    0xc002b01c,%eax
c001dd34:	39 45 ec             	cmp    %eax,-0x14(%ebp)
c001dd37:	75 0a                	jne    c001dd43 <kfree+0x1a6>
c001dd39:	c7 05 1c b0 02 c0 00 	movl   $0x0,0xc002b01c
c001dd40:	00 00 00 
c001dd43:	8b 45 ec             	mov    -0x14(%ebp),%eax
c001dd46:	8b 00                	mov    (%eax),%eax
c001dd48:	85 c0                	test   %eax,%eax
c001dd4a:	74 0e                	je     c001dd5a <kfree+0x1bd>
c001dd4c:	8b 45 ec             	mov    -0x14(%ebp),%eax
c001dd4f:	8b 00                	mov    (%eax),%eax
c001dd51:	8b 55 ec             	mov    -0x14(%ebp),%edx
c001dd54:	8b 52 04             	mov    0x4(%edx),%edx
c001dd57:	89 50 04             	mov    %edx,0x4(%eax)
c001dd5a:	8b 45 ec             	mov    -0x14(%ebp),%eax
c001dd5d:	8b 40 04             	mov    0x4(%eax),%eax
c001dd60:	85 c0                	test   %eax,%eax
c001dd62:	74 0d                	je     c001dd71 <kfree+0x1d4>
c001dd64:	8b 45 ec             	mov    -0x14(%ebp),%eax
c001dd67:	8b 40 04             	mov    0x4(%eax),%eax
c001dd6a:	8b 55 ec             	mov    -0x14(%ebp),%edx
c001dd6d:	8b 12                	mov    (%edx),%edx
c001dd6f:	89 10                	mov    %edx,(%eax)
c001dd71:	a1 00 b0 02 c0       	mov    0xc002b000,%eax
c001dd76:	8b 15 04 b0 02 c0    	mov    0xc002b004,%edx
c001dd7c:	8b 4d ec             	mov    -0x14(%ebp),%ecx
c001dd7f:	8b 49 0c             	mov    0xc(%ecx),%ecx
c001dd82:	bb 00 00 00 00       	mov    $0x0,%ebx
c001dd87:	29 c8                	sub    %ecx,%eax
c001dd89:	19 da                	sbb    %ebx,%edx
c001dd8b:	a3 00 b0 02 c0       	mov    %eax,0xc002b000
c001dd90:	89 15 04 b0 02 c0    	mov    %edx,0xc002b004
c001dd96:	8b 45 ec             	mov    -0x14(%ebp),%eax
c001dd99:	8b 40 08             	mov    0x8(%eax),%eax
c001dd9c:	83 ec 08             	sub    $0x8,%esp
c001dd9f:	50                   	push   %eax
c001dda0:	ff 75 ec             	pushl  -0x14(%ebp)
c001dda3:	e8 4e 02 00 00       	call   c001dff6 <liballoc_free>
c001dda8:	83 c4 10             	add    $0x10,%esp
c001ddab:	eb 43                	jmp    c001ddf0 <kfree+0x253>
c001ddad:	a1 1c b0 02 c0       	mov    0xc002b01c,%eax
c001ddb2:	85 c0                	test   %eax,%eax
c001ddb4:	74 3a                	je     c001ddf0 <kfree+0x253>
c001ddb6:	a1 1c b0 02 c0       	mov    0xc002b01c,%eax
c001ddbb:	8b 50 0c             	mov    0xc(%eax),%edx
c001ddbe:	a1 1c b0 02 c0       	mov    0xc002b01c,%eax
c001ddc3:	8b 40 10             	mov    0x10(%eax),%eax
c001ddc6:	29 c2                	sub    %eax,%edx
c001ddc8:	89 d0                	mov    %edx,%eax
c001ddca:	89 45 e8             	mov    %eax,-0x18(%ebp)
c001ddcd:	8b 45 ec             	mov    -0x14(%ebp),%eax
c001ddd0:	8b 50 0c             	mov    0xc(%eax),%edx
c001ddd3:	8b 45 ec             	mov    -0x14(%ebp),%eax
c001ddd6:	8b 40 10             	mov    0x10(%eax),%eax
c001ddd9:	29 c2                	sub    %eax,%edx
c001dddb:	89 d0                	mov    %edx,%eax
c001dddd:	89 45 e4             	mov    %eax,-0x1c(%ebp)
c001dde0:	8b 45 e4             	mov    -0x1c(%ebp),%eax
c001dde3:	3b 45 e8             	cmp    -0x18(%ebp),%eax
c001dde6:	7e 08                	jle    c001ddf0 <kfree+0x253>
c001dde8:	8b 45 ec             	mov    -0x14(%ebp),%eax
c001ddeb:	a3 1c b0 02 c0       	mov    %eax,0xc002b01c
c001ddf0:	e8 9e 01 00 00       	call   c001df93 <liballoc_unlock>
c001ddf5:	8b 5d fc             	mov    -0x4(%ebp),%ebx
c001ddf8:	c9                   	leave  
c001ddf9:	c3                   	ret    

c001ddfa <kcalloc>:
c001ddfa:	55                   	push   %ebp
c001ddfb:	89 e5                	mov    %esp,%ebp
c001ddfd:	83 ec 18             	sub    $0x18,%esp
c001de00:	8b 45 08             	mov    0x8(%ebp),%eax
c001de03:	0f af 45 0c          	imul   0xc(%ebp),%eax
c001de07:	89 45 f4             	mov    %eax,-0xc(%ebp)
c001de0a:	8b 45 f4             	mov    -0xc(%ebp),%eax
c001de0d:	83 ec 0c             	sub    $0xc,%esp
c001de10:	50                   	push   %eax
c001de11:	e8 67 f6 ff ff       	call   c001d47d <kmalloc>
c001de16:	83 c4 10             	add    $0x10,%esp
c001de19:	89 45 f0             	mov    %eax,-0x10(%ebp)
c001de1c:	8b 45 f4             	mov    -0xc(%ebp),%eax
c001de1f:	83 ec 04             	sub    $0x4,%esp
c001de22:	50                   	push   %eax
c001de23:	6a 00                	push   $0x0
c001de25:	ff 75 f0             	pushl  -0x10(%ebp)
c001de28:	e8 aa f4 ff ff       	call   c001d2d7 <liballoc_memset>
c001de2d:	83 c4 10             	add    $0x10,%esp
c001de30:	8b 45 f0             	mov    -0x10(%ebp),%eax
c001de33:	c9                   	leave  
c001de34:	c3                   	ret    

c001de35 <krealloc>:
c001de35:	55                   	push   %ebp
c001de36:	89 e5                	mov    %esp,%ebp
c001de38:	83 ec 18             	sub    $0x18,%esp
c001de3b:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
c001de3f:	75 18                	jne    c001de59 <krealloc+0x24>
c001de41:	83 ec 0c             	sub    $0xc,%esp
c001de44:	ff 75 08             	pushl  0x8(%ebp)
c001de47:	e8 51 fd ff ff       	call   c001db9d <kfree>
c001de4c:	83 c4 10             	add    $0x10,%esp
c001de4f:	b8 00 00 00 00       	mov    $0x0,%eax
c001de54:	e9 2d 01 00 00       	jmp    c001df86 <krealloc+0x151>
c001de59:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
c001de5d:	75 13                	jne    c001de72 <krealloc+0x3d>
c001de5f:	83 ec 0c             	sub    $0xc,%esp
c001de62:	ff 75 0c             	pushl  0xc(%ebp)
c001de65:	e8 13 f6 ff ff       	call   c001d47d <kmalloc>
c001de6a:	83 c4 10             	add    $0x10,%esp
c001de6d:	e9 14 01 00 00       	jmp    c001df86 <krealloc+0x151>
c001de72:	8b 45 08             	mov    0x8(%ebp),%eax
c001de75:	89 45 f4             	mov    %eax,-0xc(%ebp)
c001de78:	8b 45 f4             	mov    -0xc(%ebp),%eax
c001de7b:	83 e8 10             	sub    $0x10,%eax
c001de7e:	0f b6 00             	movzbl (%eax),%eax
c001de81:	0f be c0             	movsbl %al,%eax
c001de84:	89 45 f0             	mov    %eax,-0x10(%ebp)
c001de87:	83 7d f0 1f          	cmpl   $0x1f,-0x10(%ebp)
c001de8b:	77 09                	ja     c001de96 <krealloc+0x61>
c001de8d:	8b 45 f4             	mov    -0xc(%ebp),%eax
c001de90:	2b 45 f0             	sub    -0x10(%ebp),%eax
c001de93:	89 45 f4             	mov    %eax,-0xc(%ebp)
c001de96:	e8 ed 00 00 00       	call   c001df88 <liballoc_lock>
c001de9b:	8b 45 f4             	mov    -0xc(%ebp),%eax
c001de9e:	83 e8 18             	sub    $0x18,%eax
c001dea1:	89 45 ec             	mov    %eax,-0x14(%ebp)
c001dea4:	8b 45 ec             	mov    -0x14(%ebp),%eax
c001dea7:	8b 40 0c             	mov    0xc(%eax),%eax
c001deaa:	3d de c0 01 c0       	cmp    $0xc001c0de,%eax
c001deaf:	74 76                	je     c001df27 <krealloc+0xf2>
c001deb1:	a1 28 b0 02 c0       	mov    0xc002b028,%eax
c001deb6:	8b 15 2c b0 02 c0    	mov    0xc002b02c,%edx
c001debc:	83 c0 01             	add    $0x1,%eax
c001debf:	83 d2 00             	adc    $0x0,%edx
c001dec2:	a3 28 b0 02 c0       	mov    %eax,0xc002b028
c001dec7:	89 15 2c b0 02 c0    	mov    %edx,0xc002b02c
c001decd:	8b 45 ec             	mov    -0x14(%ebp),%eax
c001ded0:	8b 40 0c             	mov    0xc(%eax),%eax
c001ded3:	25 ff ff ff 00       	and    $0xffffff,%eax
c001ded8:	3d de c0 01 00       	cmp    $0x1c0de,%eax
c001dedd:	74 20                	je     c001deff <krealloc+0xca>
c001dedf:	8b 45 ec             	mov    -0x14(%ebp),%eax
c001dee2:	8b 40 0c             	mov    0xc(%eax),%eax
c001dee5:	0f b7 c0             	movzwl %ax,%eax
c001dee8:	3d de c0 00 00       	cmp    $0xc0de,%eax
c001deed:	74 10                	je     c001deff <krealloc+0xca>
c001deef:	8b 45 ec             	mov    -0x14(%ebp),%eax
c001def2:	8b 40 0c             	mov    0xc(%eax),%eax
c001def5:	0f b6 c0             	movzbl %al,%eax
c001def8:	3d de 00 00 00       	cmp    $0xde,%eax
c001defd:	75 1c                	jne    c001df1b <krealloc+0xe6>
c001deff:	a1 30 b0 02 c0       	mov    0xc002b030,%eax
c001df04:	8b 15 34 b0 02 c0    	mov    0xc002b034,%edx
c001df0a:	83 c0 01             	add    $0x1,%eax
c001df0d:	83 d2 00             	adc    $0x0,%edx
c001df10:	a3 30 b0 02 c0       	mov    %eax,0xc002b030
c001df15:	89 15 34 b0 02 c0    	mov    %edx,0xc002b034
c001df1b:	e8 73 00 00 00       	call   c001df93 <liballoc_unlock>
c001df20:	b8 00 00 00 00       	mov    $0x0,%eax
c001df25:	eb 5f                	jmp    c001df86 <krealloc+0x151>
c001df27:	8b 45 ec             	mov    -0x14(%ebp),%eax
c001df2a:	8b 40 14             	mov    0x14(%eax),%eax
c001df2d:	89 45 e8             	mov    %eax,-0x18(%ebp)
c001df30:	8b 45 e8             	mov    -0x18(%ebp),%eax
c001df33:	3b 45 0c             	cmp    0xc(%ebp),%eax
c001df36:	72 13                	jb     c001df4b <krealloc+0x116>
c001df38:	8b 45 ec             	mov    -0x14(%ebp),%eax
c001df3b:	8b 55 0c             	mov    0xc(%ebp),%edx
c001df3e:	89 50 14             	mov    %edx,0x14(%eax)
c001df41:	e8 4d 00 00 00       	call   c001df93 <liballoc_unlock>
c001df46:	8b 45 08             	mov    0x8(%ebp),%eax
c001df49:	eb 3b                	jmp    c001df86 <krealloc+0x151>
c001df4b:	e8 43 00 00 00       	call   c001df93 <liballoc_unlock>
c001df50:	83 ec 0c             	sub    $0xc,%esp
c001df53:	ff 75 0c             	pushl  0xc(%ebp)
c001df56:	e8 22 f5 ff ff       	call   c001d47d <kmalloc>
c001df5b:	83 c4 10             	add    $0x10,%esp
c001df5e:	89 45 f4             	mov    %eax,-0xc(%ebp)
c001df61:	83 ec 04             	sub    $0x4,%esp
c001df64:	ff 75 e8             	pushl  -0x18(%ebp)
c001df67:	ff 75 08             	pushl  0x8(%ebp)
c001df6a:	ff 75 f4             	pushl  -0xc(%ebp)
c001df6d:	e8 92 f3 ff ff       	call   c001d304 <liballoc_memcpy>
c001df72:	83 c4 10             	add    $0x10,%esp
c001df75:	83 ec 0c             	sub    $0xc,%esp
c001df78:	ff 75 08             	pushl  0x8(%ebp)
c001df7b:	e8 1d fc ff ff       	call   c001db9d <kfree>
c001df80:	83 c4 10             	add    $0x10,%esp
c001df83:	8b 45 f4             	mov    -0xc(%ebp),%eax
c001df86:	c9                   	leave  
c001df87:	c3                   	ret    

c001df88 <liballoc_lock>:
c001df88:	55                   	push   %ebp
c001df89:	89 e5                	mov    %esp,%ebp
c001df8b:	fa                   	cli    
c001df8c:	b8 00 00 00 00       	mov    $0x0,%eax
c001df91:	5d                   	pop    %ebp
c001df92:	c3                   	ret    

c001df93 <liballoc_unlock>:
c001df93:	55                   	push   %ebp
c001df94:	89 e5                	mov    %esp,%ebp
c001df96:	fb                   	sti    
c001df97:	b8 00 00 00 00       	mov    $0x0,%eax
c001df9c:	5d                   	pop    %ebp
c001df9d:	c3                   	ret    

c001df9e <liballoc_alloc>:
c001df9e:	55                   	push   %ebp
c001df9f:	89 e5                	mov    %esp,%ebp
c001dfa1:	83 ec 18             	sub    $0x18,%esp
c001dfa4:	8b 45 08             	mov    0x8(%ebp),%eax
c001dfa7:	83 ec 0c             	sub    $0xc,%esp
c001dfaa:	50                   	push   %eax
c001dfab:	e8 94 2c 00 00       	call   c0020c44 <_Z21kernel_pages_allocatem>
c001dfb0:	83 c4 10             	add    $0x10,%esp
c001dfb3:	89 45 f0             	mov    %eax,-0x10(%ebp)
c001dfb6:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
c001dfbd:	8b 45 f4             	mov    -0xc(%ebp),%eax
c001dfc0:	3b 45 08             	cmp    0x8(%ebp),%eax
c001dfc3:	7d 2c                	jge    c001dff1 <liballoc_alloc+0x53>
c001dfc5:	e8 ef 39 00 00       	call   c00219b9 <_Z21physalloc_alloc_blockv>
c001dfca:	89 45 ec             	mov    %eax,-0x14(%ebp)
c001dfcd:	8b 45 f4             	mov    -0xc(%ebp),%eax
c001dfd0:	c1 e0 0c             	shl    $0xc,%eax
c001dfd3:	89 c2                	mov    %eax,%edx
c001dfd5:	8b 45 f0             	mov    -0x10(%ebp),%eax
c001dfd8:	01 d0                	add    %edx,%eax
c001dfda:	83 ec 04             	sub    $0x4,%esp
c001dfdd:	6a 01                	push   $0x1
c001dfdf:	50                   	push   %eax
c001dfe0:	ff 75 ec             	pushl  -0x14(%ebp)
c001dfe3:	e8 88 2e 00 00       	call   c0020e70 <_Z8map_pagemmm>
c001dfe8:	83 c4 10             	add    $0x10,%esp
c001dfeb:	83 45 f4 01          	addl   $0x1,-0xc(%ebp)
c001dfef:	eb cc                	jmp    c001dfbd <liballoc_alloc+0x1f>
c001dff1:	8b 45 f0             	mov    -0x10(%ebp),%eax
c001dff4:	c9                   	leave  
c001dff5:	c3                   	ret    

c001dff6 <liballoc_free>:
c001dff6:	55                   	push   %ebp
c001dff7:	89 e5                	mov    %esp,%ebp
c001dff9:	83 ec 08             	sub    $0x8,%esp
c001dffc:	8b 45 08             	mov    0x8(%ebp),%eax
c001dfff:	83 ec 08             	sub    $0x8,%esp
c001e002:	ff 75 0c             	pushl  0xc(%ebp)
c001e005:	50                   	push   %eax
c001e006:	e8 21 2e 00 00       	call   c0020e2c <_Z10pages_freemm>
c001e00b:	83 c4 10             	add    $0x10,%esp
c001e00e:	b8 00 00 00 00       	mov    $0x0,%eax
c001e013:	c9                   	leave  
c001e014:	c3                   	ret    
c001e015:	90                   	nop

c001e016 <_ZN7ConsoleC1Etttt>:
c001e016:	55                   	push   %ebp
c001e017:	89 e5                	mov    %esp,%ebp
c001e019:	53                   	push   %ebx
c001e01a:	83 ec 14             	sub    $0x14,%esp
c001e01d:	8b 5d 0c             	mov    0xc(%ebp),%ebx
c001e020:	8b 4d 10             	mov    0x10(%ebp),%ecx
c001e023:	8b 55 14             	mov    0x14(%ebp),%edx
c001e026:	8b 45 18             	mov    0x18(%ebp),%eax
c001e029:	66 89 5d f4          	mov    %bx,-0xc(%ebp)
c001e02d:	66 89 4d f0          	mov    %cx,-0x10(%ebp)
c001e031:	66 89 55 ec          	mov    %dx,-0x14(%ebp)
c001e035:	66 89 45 e8          	mov    %ax,-0x18(%ebp)
c001e039:	8b 45 08             	mov    0x8(%ebp),%eax
c001e03c:	66 c7 40 04 00 00    	movw   $0x0,0x4(%eax)
c001e042:	8b 45 08             	mov    0x8(%ebp),%eax
c001e045:	66 c7 40 06 00 00    	movw   $0x0,0x6(%eax)
c001e04b:	8b 45 08             	mov    0x8(%ebp),%eax
c001e04e:	66 c7 40 08 00 00    	movw   $0x0,0x8(%eax)
c001e054:	8b 45 08             	mov    0x8(%ebp),%eax
c001e057:	66 c7 40 0a 00 00    	movw   $0x0,0xa(%eax)
c001e05d:	8b 45 08             	mov    0x8(%ebp),%eax
c001e060:	66 c7 40 0c 00 00    	movw   $0x0,0xc(%eax)
c001e066:	8b 45 08             	mov    0x8(%ebp),%eax
c001e069:	66 c7 40 0e 00 00    	movw   $0x0,0xe(%eax)
c001e06f:	8b 45 08             	mov    0x8(%ebp),%eax
c001e072:	0f b7 55 f4          	movzwl -0xc(%ebp),%edx
c001e076:	66 89 50 08          	mov    %dx,0x8(%eax)
c001e07a:	8b 45 08             	mov    0x8(%ebp),%eax
c001e07d:	0f b7 55 f0          	movzwl -0x10(%ebp),%edx
c001e081:	66 89 50 0a          	mov    %dx,0xa(%eax)
c001e085:	8b 45 08             	mov    0x8(%ebp),%eax
c001e088:	0f b7 55 ec          	movzwl -0x14(%ebp),%edx
c001e08c:	66 89 50 0c          	mov    %dx,0xc(%eax)
c001e090:	8b 45 08             	mov    0x8(%ebp),%eax
c001e093:	0f b7 55 e8          	movzwl -0x18(%ebp),%edx
c001e097:	66 89 50 0e          	mov    %dx,0xe(%eax)
c001e09b:	8b 45 08             	mov    0x8(%ebp),%eax
c001e09e:	0f b7 40 0c          	movzwl 0xc(%eax),%eax
c001e0a2:	0f b7 c0             	movzwl %ax,%eax
c001e0a5:	c1 f8 03             	sar    $0x3,%eax
c001e0a8:	89 c2                	mov    %eax,%edx
c001e0aa:	8b 45 08             	mov    0x8(%ebp),%eax
c001e0ad:	66 89 10             	mov    %dx,(%eax)
c001e0b0:	8b 45 08             	mov    0x8(%ebp),%eax
c001e0b3:	0f b7 40 0e          	movzwl 0xe(%eax),%eax
c001e0b7:	0f b7 c0             	movzwl %ax,%eax
c001e0ba:	c1 f8 03             	sar    $0x3,%eax
c001e0bd:	89 c2                	mov    %eax,%edx
c001e0bf:	8b 45 08             	mov    0x8(%ebp),%eax
c001e0c2:	66 89 50 02          	mov    %dx,0x2(%eax)
c001e0c6:	8b 45 08             	mov    0x8(%ebp),%eax
c001e0c9:	66 c7 40 04 00 00    	movw   $0x0,0x4(%eax)
c001e0cf:	8b 45 08             	mov    0x8(%ebp),%eax
c001e0d2:	66 c7 40 06 00 00    	movw   $0x0,0x6(%eax)
c001e0d8:	8b 45 08             	mov    0x8(%ebp),%eax
c001e0db:	0f b7 00             	movzwl (%eax),%eax
c001e0de:	0f b7 d0             	movzwl %ax,%edx
c001e0e1:	8b 45 08             	mov    0x8(%ebp),%eax
c001e0e4:	0f b7 40 02          	movzwl 0x2(%eax),%eax
c001e0e8:	0f b7 c0             	movzwl %ax,%eax
c001e0eb:	0f af c2             	imul   %edx,%eax
c001e0ee:	c1 e0 02             	shl    $0x2,%eax
c001e0f1:	83 ec 0c             	sub    $0xc,%esp
c001e0f4:	50                   	push   %eax
c001e0f5:	e8 83 f3 ff ff       	call   c001d47d <kmalloc>
c001e0fa:	83 c4 10             	add    $0x10,%esp
c001e0fd:	89 c2                	mov    %eax,%edx
c001e0ff:	8b 45 08             	mov    0x8(%ebp),%eax
c001e102:	89 50 10             	mov    %edx,0x10(%eax)
c001e105:	8b 45 08             	mov    0x8(%ebp),%eax
c001e108:	0f b7 00             	movzwl (%eax),%eax
c001e10b:	0f b7 d0             	movzwl %ax,%edx
c001e10e:	8b 45 08             	mov    0x8(%ebp),%eax
c001e111:	0f b7 40 02          	movzwl 0x2(%eax),%eax
c001e115:	0f b7 c0             	movzwl %ax,%eax
c001e118:	0f af c2             	imul   %edx,%eax
c001e11b:	89 c2                	mov    %eax,%edx
c001e11d:	8b 45 08             	mov    0x8(%ebp),%eax
c001e120:	8b 40 10             	mov    0x10(%eax),%eax
c001e123:	83 ec 04             	sub    $0x4,%esp
c001e126:	52                   	push   %edx
c001e127:	6a 00                	push   $0x0
c001e129:	50                   	push   %eax
c001e12a:	e8 35 1c 00 00       	call   c001fd64 <memset>
c001e12f:	83 c4 10             	add    $0x10,%esp
c001e132:	90                   	nop
c001e133:	8b 5d fc             	mov    -0x4(%ebp),%ebx
c001e136:	c9                   	leave  
c001e137:	c3                   	ret    

c001e138 <_ZN7Console4putcEchhh>:
c001e138:	55                   	push   %ebp
c001e139:	89 e5                	mov    %esp,%ebp
c001e13b:	57                   	push   %edi
c001e13c:	56                   	push   %esi
c001e13d:	53                   	push   %ebx
c001e13e:	83 ec 2c             	sub    $0x2c,%esp
c001e141:	8b 5d 0c             	mov    0xc(%ebp),%ebx
c001e144:	8b 4d 10             	mov    0x10(%ebp),%ecx
c001e147:	8b 55 14             	mov    0x14(%ebp),%edx
c001e14a:	8b 45 18             	mov    0x18(%ebp),%eax
c001e14d:	88 5d d4             	mov    %bl,-0x2c(%ebp)
c001e150:	88 4d d0             	mov    %cl,-0x30(%ebp)
c001e153:	88 55 cc             	mov    %dl,-0x34(%ebp)
c001e156:	88 45 c8             	mov    %al,-0x38(%ebp)
c001e159:	0f be 45 d4          	movsbl -0x2c(%ebp),%eax
c001e15d:	83 f8 09             	cmp    $0x9,%eax
c001e160:	74 2b                	je     c001e18d <_ZN7Console4putcEchhh+0x55>
c001e162:	83 f8 0a             	cmp    $0xa,%eax
c001e165:	74 07                	je     c001e16e <_ZN7Console4putcEchhh+0x36>
c001e167:	83 f8 08             	cmp    $0x8,%eax
c001e16a:	74 37                	je     c001e1a3 <_ZN7Console4putcEchhh+0x6b>
c001e16c:	eb 78                	jmp    c001e1e6 <_ZN7Console4putcEchhh+0xae>
c001e16e:	8b 45 08             	mov    0x8(%ebp),%eax
c001e171:	66 c7 40 04 00 00    	movw   $0x0,0x4(%eax)
c001e177:	8b 45 08             	mov    0x8(%ebp),%eax
c001e17a:	0f b7 40 06          	movzwl 0x6(%eax),%eax
c001e17e:	8d 50 01             	lea    0x1(%eax),%edx
c001e181:	8b 45 08             	mov    0x8(%ebp),%eax
c001e184:	66 89 50 06          	mov    %dx,0x6(%eax)
c001e188:	e9 c4 00 00 00       	jmp    c001e251 <_ZN7Console4putcEchhh+0x119>
c001e18d:	8b 45 08             	mov    0x8(%ebp),%eax
c001e190:	0f b7 40 04          	movzwl 0x4(%eax),%eax
c001e194:	8d 50 04             	lea    0x4(%eax),%edx
c001e197:	8b 45 08             	mov    0x8(%ebp),%eax
c001e19a:	66 89 50 04          	mov    %dx,0x4(%eax)
c001e19e:	e9 ae 00 00 00       	jmp    c001e251 <_ZN7Console4putcEchhh+0x119>
c001e1a3:	8b 45 08             	mov    0x8(%ebp),%eax
c001e1a6:	8b 50 10             	mov    0x10(%eax),%edx
c001e1a9:	8b 45 08             	mov    0x8(%ebp),%eax
c001e1ac:	0f b7 40 06          	movzwl 0x6(%eax),%eax
c001e1b0:	0f b7 c8             	movzwl %ax,%ecx
c001e1b3:	8b 45 08             	mov    0x8(%ebp),%eax
c001e1b6:	0f b7 00             	movzwl (%eax),%eax
c001e1b9:	0f b7 c0             	movzwl %ax,%eax
c001e1bc:	0f af c8             	imul   %eax,%ecx
c001e1bf:	8b 45 08             	mov    0x8(%ebp),%eax
c001e1c2:	0f b7 40 04          	movzwl 0x4(%eax),%eax
c001e1c6:	0f b7 c0             	movzwl %ax,%eax
c001e1c9:	01 c8                	add    %ecx,%eax
c001e1cb:	c1 e0 02             	shl    $0x2,%eax
c001e1ce:	01 d0                	add    %edx,%eax
c001e1d0:	c6 00 00             	movb   $0x0,(%eax)
c001e1d3:	8b 45 08             	mov    0x8(%ebp),%eax
c001e1d6:	0f b7 40 04          	movzwl 0x4(%eax),%eax
c001e1da:	8d 50 ff             	lea    -0x1(%eax),%edx
c001e1dd:	8b 45 08             	mov    0x8(%ebp),%eax
c001e1e0:	66 89 50 04          	mov    %dx,0x4(%eax)
c001e1e4:	eb 6b                	jmp    c001e251 <_ZN7Console4putcEchhh+0x119>
c001e1e6:	0f b6 5d c8          	movzbl -0x38(%ebp),%ebx
c001e1ea:	0f b6 4d cc          	movzbl -0x34(%ebp),%ecx
c001e1ee:	0f b6 55 d0          	movzbl -0x30(%ebp),%edx
c001e1f2:	8b 45 08             	mov    0x8(%ebp),%eax
c001e1f5:	0f b7 40 0a          	movzwl 0xa(%eax),%eax
c001e1f9:	0f b7 f0             	movzwl %ax,%esi
c001e1fc:	8b 45 08             	mov    0x8(%ebp),%eax
c001e1ff:	0f b7 40 06          	movzwl 0x6(%eax),%eax
c001e203:	0f b7 c0             	movzwl %ax,%eax
c001e206:	c1 e0 03             	shl    $0x3,%eax
c001e209:	01 f0                	add    %esi,%eax
c001e20b:	89 c7                	mov    %eax,%edi
c001e20d:	8b 45 08             	mov    0x8(%ebp),%eax
c001e210:	0f b7 40 08          	movzwl 0x8(%eax),%eax
c001e214:	0f b7 f0             	movzwl %ax,%esi
c001e217:	8b 45 08             	mov    0x8(%ebp),%eax
c001e21a:	0f b7 40 04          	movzwl 0x4(%eax),%eax
c001e21e:	0f b7 c0             	movzwl %ax,%eax
c001e221:	c1 e0 03             	shl    $0x3,%eax
c001e224:	01 f0                	add    %esi,%eax
c001e226:	89 c6                	mov    %eax,%esi
c001e228:	0f be 45 d4          	movsbl -0x2c(%ebp),%eax
c001e22c:	83 ec 04             	sub    $0x4,%esp
c001e22f:	6a 01                	push   $0x1
c001e231:	53                   	push   %ebx
c001e232:	51                   	push   %ecx
c001e233:	52                   	push   %edx
c001e234:	57                   	push   %edi
c001e235:	56                   	push   %esi
c001e236:	50                   	push   %eax
c001e237:	e8 98 5e 00 00       	call   c00240d4 <_Z8drawcharcjjhhhi>
c001e23c:	83 c4 20             	add    $0x20,%esp
c001e23f:	8b 45 08             	mov    0x8(%ebp),%eax
c001e242:	0f b7 40 04          	movzwl 0x4(%eax),%eax
c001e246:	8d 50 01             	lea    0x1(%eax),%edx
c001e249:	8b 45 08             	mov    0x8(%ebp),%eax
c001e24c:	66 89 50 04          	mov    %dx,0x4(%eax)
c001e250:	90                   	nop
c001e251:	8b 45 08             	mov    0x8(%ebp),%eax
c001e254:	8b 50 10             	mov    0x10(%eax),%edx
c001e257:	8b 45 08             	mov    0x8(%ebp),%eax
c001e25a:	0f b7 40 06          	movzwl 0x6(%eax),%eax
c001e25e:	0f b7 c8             	movzwl %ax,%ecx
c001e261:	8b 45 08             	mov    0x8(%ebp),%eax
c001e264:	0f b7 00             	movzwl (%eax),%eax
c001e267:	0f b7 c0             	movzwl %ax,%eax
c001e26a:	0f af c8             	imul   %eax,%ecx
c001e26d:	8b 45 08             	mov    0x8(%ebp),%eax
c001e270:	0f b7 40 04          	movzwl 0x4(%eax),%eax
c001e274:	0f b7 c0             	movzwl %ax,%eax
c001e277:	01 c8                	add    %ecx,%eax
c001e279:	c1 e0 02             	shl    $0x2,%eax
c001e27c:	01 d0                	add    %edx,%eax
c001e27e:	0f b6 55 d4          	movzbl -0x2c(%ebp),%edx
c001e282:	88 10                	mov    %dl,(%eax)
c001e284:	0f b6 55 d0          	movzbl -0x30(%ebp),%edx
c001e288:	88 50 01             	mov    %dl,0x1(%eax)
c001e28b:	0f b6 55 cc          	movzbl -0x34(%ebp),%edx
c001e28f:	88 50 02             	mov    %dl,0x2(%eax)
c001e292:	0f b6 55 c8          	movzbl -0x38(%ebp),%edx
c001e296:	88 50 03             	mov    %dl,0x3(%eax)
c001e299:	8b 45 08             	mov    0x8(%ebp),%eax
c001e29c:	0f b7 50 04          	movzwl 0x4(%eax),%edx
c001e2a0:	8b 45 08             	mov    0x8(%ebp),%eax
c001e2a3:	0f b7 00             	movzwl (%eax),%eax
c001e2a6:	66 39 c2             	cmp    %ax,%dx
c001e2a9:	72 1a                	jb     c001e2c5 <_ZN7Console4putcEchhh+0x18d>
c001e2ab:	8b 45 08             	mov    0x8(%ebp),%eax
c001e2ae:	0f b7 40 06          	movzwl 0x6(%eax),%eax
c001e2b2:	8d 50 01             	lea    0x1(%eax),%edx
c001e2b5:	8b 45 08             	mov    0x8(%ebp),%eax
c001e2b8:	66 89 50 06          	mov    %dx,0x6(%eax)
c001e2bc:	8b 45 08             	mov    0x8(%ebp),%eax
c001e2bf:	66 c7 40 04 00 00    	movw   $0x0,0x4(%eax)
c001e2c5:	8b 45 08             	mov    0x8(%ebp),%eax
c001e2c8:	0f b7 50 06          	movzwl 0x6(%eax),%edx
c001e2cc:	8b 45 08             	mov    0x8(%ebp),%eax
c001e2cf:	0f b7 40 02          	movzwl 0x2(%eax),%eax
c001e2d3:	66 39 c2             	cmp    %ax,%dx
c001e2d6:	0f 82 c6 00 00 00    	jb     c001e3a2 <_ZN7Console4putcEchhh+0x26a>
c001e2dc:	c7 45 e4 01 00 00 00 	movl   $0x1,-0x1c(%ebp)
c001e2e3:	8b 45 08             	mov    0x8(%ebp),%eax
c001e2e6:	0f b7 40 02          	movzwl 0x2(%eax),%eax
c001e2ea:	0f b7 c0             	movzwl %ax,%eax
c001e2ed:	39 45 e4             	cmp    %eax,-0x1c(%ebp)
c001e2f0:	0f 8d 9b 00 00 00    	jge    c001e391 <_ZN7Console4putcEchhh+0x259>
c001e2f6:	8b 45 08             	mov    0x8(%ebp),%eax
c001e2f9:	0f b7 00             	movzwl (%eax),%eax
c001e2fc:	0f b7 c0             	movzwl %ax,%eax
c001e2ff:	8d 14 85 00 00 00 00 	lea    0x0(,%eax,4),%edx
c001e306:	8b 45 08             	mov    0x8(%ebp),%eax
c001e309:	8b 40 10             	mov    0x10(%eax),%eax
c001e30c:	89 c1                	mov    %eax,%ecx
c001e30e:	8b 45 08             	mov    0x8(%ebp),%eax
c001e311:	0f b7 00             	movzwl (%eax),%eax
c001e314:	0f b7 c0             	movzwl %ax,%eax
c001e317:	0f af 45 e4          	imul   -0x1c(%ebp),%eax
c001e31b:	c1 e0 02             	shl    $0x2,%eax
c001e31e:	01 c8                	add    %ecx,%eax
c001e320:	89 c3                	mov    %eax,%ebx
c001e322:	8b 45 08             	mov    0x8(%ebp),%eax
c001e325:	8b 40 10             	mov    0x10(%eax),%eax
c001e328:	89 c6                	mov    %eax,%esi
c001e32a:	8b 45 e4             	mov    -0x1c(%ebp),%eax
c001e32d:	8d 48 ff             	lea    -0x1(%eax),%ecx
c001e330:	8b 45 08             	mov    0x8(%ebp),%eax
c001e333:	0f b7 00             	movzwl (%eax),%eax
c001e336:	0f b7 c0             	movzwl %ax,%eax
c001e339:	0f af c1             	imul   %ecx,%eax
c001e33c:	c1 e0 02             	shl    $0x2,%eax
c001e33f:	01 f0                	add    %esi,%eax
c001e341:	83 ec 04             	sub    $0x4,%esp
c001e344:	52                   	push   %edx
c001e345:	53                   	push   %ebx
c001e346:	50                   	push   %eax
c001e347:	e8 4b 1a 00 00       	call   c001fd97 <_Z6memcpyPvS_m>
c001e34c:	83 c4 10             	add    $0x10,%esp
c001e34f:	8b 45 08             	mov    0x8(%ebp),%eax
c001e352:	0f b7 00             	movzwl (%eax),%eax
c001e355:	0f b7 c0             	movzwl %ax,%eax
c001e358:	8d 14 85 00 00 00 00 	lea    0x0(,%eax,4),%edx
c001e35f:	8b 45 08             	mov    0x8(%ebp),%eax
c001e362:	8b 40 10             	mov    0x10(%eax),%eax
c001e365:	89 c1                	mov    %eax,%ecx
c001e367:	8b 45 08             	mov    0x8(%ebp),%eax
c001e36a:	0f b7 00             	movzwl (%eax),%eax
c001e36d:	0f b7 c0             	movzwl %ax,%eax
c001e370:	0f af 45 e4          	imul   -0x1c(%ebp),%eax
c001e374:	c1 e0 02             	shl    $0x2,%eax
c001e377:	01 c8                	add    %ecx,%eax
c001e379:	83 ec 04             	sub    $0x4,%esp
c001e37c:	52                   	push   %edx
c001e37d:	6a 00                	push   $0x0
c001e37f:	50                   	push   %eax
c001e380:	e8 df 19 00 00       	call   c001fd64 <memset>
c001e385:	83 c4 10             	add    $0x10,%esp
c001e388:	83 45 e4 01          	addl   $0x1,-0x1c(%ebp)
c001e38c:	e9 52 ff ff ff       	jmp    c001e2e3 <_ZN7Console4putcEchhh+0x1ab>
c001e391:	8b 45 08             	mov    0x8(%ebp),%eax
c001e394:	0f b7 40 06          	movzwl 0x6(%eax),%eax
c001e398:	8d 50 ff             	lea    -0x1(%eax),%edx
c001e39b:	8b 45 08             	mov    0x8(%ebp),%eax
c001e39e:	66 89 50 06          	mov    %dx,0x6(%eax)
c001e3a2:	90                   	nop
c001e3a3:	8d 65 f4             	lea    -0xc(%ebp),%esp
c001e3a6:	5b                   	pop    %ebx
c001e3a7:	5e                   	pop    %esi
c001e3a8:	5f                   	pop    %edi
c001e3a9:	5d                   	pop    %ebp
c001e3aa:	c3                   	ret    
c001e3ab:	90                   	nop

c001e3ac <_ZN7Console4putsEPchhh>:
c001e3ac:	55                   	push   %ebp
c001e3ad:	89 e5                	mov    %esp,%ebp
c001e3af:	56                   	push   %esi
c001e3b0:	53                   	push   %ebx
c001e3b1:	83 ec 20             	sub    $0x20,%esp
c001e3b4:	8b 4d 10             	mov    0x10(%ebp),%ecx
c001e3b7:	8b 55 14             	mov    0x14(%ebp),%edx
c001e3ba:	8b 45 18             	mov    0x18(%ebp),%eax
c001e3bd:	88 4d e4             	mov    %cl,-0x1c(%ebp)
c001e3c0:	88 55 e0             	mov    %dl,-0x20(%ebp)
c001e3c3:	88 45 dc             	mov    %al,-0x24(%ebp)
c001e3c6:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
c001e3cd:	8b 55 f4             	mov    -0xc(%ebp),%edx
c001e3d0:	8b 45 0c             	mov    0xc(%ebp),%eax
c001e3d3:	01 d0                	add    %edx,%eax
c001e3d5:	0f b6 00             	movzbl (%eax),%eax
c001e3d8:	84 c0                	test   %al,%al
c001e3da:	74 36                	je     c001e412 <_ZN7Console4putsEPchhh+0x66>
c001e3dc:	0f b6 5d dc          	movzbl -0x24(%ebp),%ebx
c001e3e0:	0f b6 4d e0          	movzbl -0x20(%ebp),%ecx
c001e3e4:	0f b6 55 e4          	movzbl -0x1c(%ebp),%edx
c001e3e8:	8b 45 f4             	mov    -0xc(%ebp),%eax
c001e3eb:	8d 70 01             	lea    0x1(%eax),%esi
c001e3ee:	89 75 f4             	mov    %esi,-0xc(%ebp)
c001e3f1:	89 c6                	mov    %eax,%esi
c001e3f3:	8b 45 0c             	mov    0xc(%ebp),%eax
c001e3f6:	01 f0                	add    %esi,%eax
c001e3f8:	0f b6 00             	movzbl (%eax),%eax
c001e3fb:	0f be c0             	movsbl %al,%eax
c001e3fe:	83 ec 0c             	sub    $0xc,%esp
c001e401:	53                   	push   %ebx
c001e402:	51                   	push   %ecx
c001e403:	52                   	push   %edx
c001e404:	50                   	push   %eax
c001e405:	ff 75 08             	pushl  0x8(%ebp)
c001e408:	e8 2b fd ff ff       	call   c001e138 <_ZN7Console4putcEchhh>
c001e40d:	83 c4 20             	add    $0x20,%esp
c001e410:	eb bb                	jmp    c001e3cd <_ZN7Console4putsEPchhh+0x21>
c001e412:	90                   	nop
c001e413:	8d 65 f8             	lea    -0x8(%ebp),%esp
c001e416:	5b                   	pop    %ebx
c001e417:	5e                   	pop    %esi
c001e418:	5d                   	pop    %ebp
c001e419:	c3                   	ret    

c001e41a <_ZN7Console5clearEhhh>:
c001e41a:	55                   	push   %ebp
c001e41b:	89 e5                	mov    %esp,%ebp
c001e41d:	83 ec 18             	sub    $0x18,%esp
c001e420:	8b 4d 0c             	mov    0xc(%ebp),%ecx
c001e423:	8b 55 10             	mov    0x10(%ebp),%edx
c001e426:	8b 45 14             	mov    0x14(%ebp),%eax
c001e429:	88 4d f4             	mov    %cl,-0xc(%ebp)
c001e42c:	88 55 f0             	mov    %dl,-0x10(%ebp)
c001e42f:	88 45 ec             	mov    %al,-0x14(%ebp)
c001e432:	8b 45 08             	mov    0x8(%ebp),%eax
c001e435:	66 c7 40 04 00 00    	movw   $0x0,0x4(%eax)
c001e43b:	8b 45 08             	mov    0x8(%ebp),%eax
c001e43e:	66 c7 40 06 00 00    	movw   $0x0,0x6(%eax)
c001e444:	8b 45 08             	mov    0x8(%ebp),%eax
c001e447:	0f b7 00             	movzwl (%eax),%eax
c001e44a:	0f b7 d0             	movzwl %ax,%edx
c001e44d:	8b 45 08             	mov    0x8(%ebp),%eax
c001e450:	0f b7 40 02          	movzwl 0x2(%eax),%eax
c001e454:	0f b7 c0             	movzwl %ax,%eax
c001e457:	0f af c2             	imul   %edx,%eax
c001e45a:	8d 14 85 00 00 00 00 	lea    0x0(,%eax,4),%edx
c001e461:	8b 45 08             	mov    0x8(%ebp),%eax
c001e464:	8b 40 10             	mov    0x10(%eax),%eax
c001e467:	83 ec 04             	sub    $0x4,%esp
c001e46a:	52                   	push   %edx
c001e46b:	6a 00                	push   $0x0
c001e46d:	50                   	push   %eax
c001e46e:	e8 f1 18 00 00       	call   c001fd64 <memset>
c001e473:	83 c4 10             	add    $0x10,%esp
c001e476:	90                   	nop
c001e477:	c9                   	leave  
c001e478:	c3                   	ret    
c001e479:	90                   	nop

c001e47a <_ZN7Console7refreshEv>:
c001e47a:	55                   	push   %ebp
c001e47b:	89 e5                	mov    %esp,%ebp
c001e47d:	57                   	push   %edi
c001e47e:	56                   	push   %esi
c001e47f:	53                   	push   %ebx
c001e480:	83 ec 1c             	sub    $0x1c,%esp
c001e483:	8b 45 08             	mov    0x8(%ebp),%eax
c001e486:	0f b7 40 0e          	movzwl 0xe(%eax),%eax
c001e48a:	0f b7 d8             	movzwl %ax,%ebx
c001e48d:	8b 45 08             	mov    0x8(%ebp),%eax
c001e490:	0f b7 40 0c          	movzwl 0xc(%eax),%eax
c001e494:	0f b7 c8             	movzwl %ax,%ecx
c001e497:	8b 45 08             	mov    0x8(%ebp),%eax
c001e49a:	0f b7 40 0a          	movzwl 0xa(%eax),%eax
c001e49e:	0f b7 d0             	movzwl %ax,%edx
c001e4a1:	8b 45 08             	mov    0x8(%ebp),%eax
c001e4a4:	0f b7 40 08          	movzwl 0x8(%eax),%eax
c001e4a8:	0f b7 c0             	movzwl %ax,%eax
c001e4ab:	83 ec 04             	sub    $0x4,%esp
c001e4ae:	6a 00                	push   $0x0
c001e4b0:	6a 00                	push   $0x0
c001e4b2:	6a 00                	push   $0x0
c001e4b4:	53                   	push   %ebx
c001e4b5:	51                   	push   %ecx
c001e4b6:	52                   	push   %edx
c001e4b7:	50                   	push   %eax
c001e4b8:	e8 b9 5a 00 00       	call   c0023f76 <_Z15screen_fillrectjjjjhhh>
c001e4bd:	83 c4 20             	add    $0x20,%esp
c001e4c0:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
c001e4c7:	8b 45 08             	mov    0x8(%ebp),%eax
c001e4ca:	0f b7 40 02          	movzwl 0x2(%eax),%eax
c001e4ce:	0f b7 c0             	movzwl %ax,%eax
c001e4d1:	39 45 e4             	cmp    %eax,-0x1c(%ebp)
c001e4d4:	0f 8d ae 00 00 00    	jge    c001e588 <_ZN7Console7refreshEv+0x10e>
c001e4da:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
c001e4e1:	8b 45 08             	mov    0x8(%ebp),%eax
c001e4e4:	0f b7 00             	movzwl (%eax),%eax
c001e4e7:	0f b7 c0             	movzwl %ax,%eax
c001e4ea:	39 45 e0             	cmp    %eax,-0x20(%ebp)
c001e4ed:	0f 8d 8c 00 00 00    	jge    c001e57f <_ZN7Console7refreshEv+0x105>
c001e4f3:	8b 45 08             	mov    0x8(%ebp),%eax
c001e4f6:	8b 50 10             	mov    0x10(%eax),%edx
c001e4f9:	8b 45 08             	mov    0x8(%ebp),%eax
c001e4fc:	0f b7 00             	movzwl (%eax),%eax
c001e4ff:	0f b7 c0             	movzwl %ax,%eax
c001e502:	0f af 45 e4          	imul   -0x1c(%ebp),%eax
c001e506:	89 c1                	mov    %eax,%ecx
c001e508:	8b 45 e0             	mov    -0x20(%ebp),%eax
c001e50b:	01 c8                	add    %ecx,%eax
c001e50d:	c1 e0 02             	shl    $0x2,%eax
c001e510:	01 d0                	add    %edx,%eax
c001e512:	8b 00                	mov    (%eax),%eax
c001e514:	89 45 dc             	mov    %eax,-0x24(%ebp)
c001e517:	0f b6 45 dc          	movzbl -0x24(%ebp),%eax
c001e51b:	84 c0                	test   %al,%al
c001e51d:	74 57                	je     c001e576 <_ZN7Console7refreshEv+0xfc>
c001e51f:	0f b6 45 df          	movzbl -0x21(%ebp),%eax
c001e523:	0f b6 d8             	movzbl %al,%ebx
c001e526:	0f b6 45 de          	movzbl -0x22(%ebp),%eax
c001e52a:	0f b6 c8             	movzbl %al,%ecx
c001e52d:	0f b6 45 dd          	movzbl -0x23(%ebp),%eax
c001e531:	0f b6 d0             	movzbl %al,%edx
c001e534:	8b 45 08             	mov    0x8(%ebp),%eax
c001e537:	0f b7 40 0a          	movzwl 0xa(%eax),%eax
c001e53b:	0f b7 c0             	movzwl %ax,%eax
c001e53e:	8b 75 e4             	mov    -0x1c(%ebp),%esi
c001e541:	c1 e6 03             	shl    $0x3,%esi
c001e544:	01 f0                	add    %esi,%eax
c001e546:	89 c7                	mov    %eax,%edi
c001e548:	8b 45 08             	mov    0x8(%ebp),%eax
c001e54b:	0f b7 40 08          	movzwl 0x8(%eax),%eax
c001e54f:	0f b7 c0             	movzwl %ax,%eax
c001e552:	8b 75 e0             	mov    -0x20(%ebp),%esi
c001e555:	c1 e6 03             	shl    $0x3,%esi
c001e558:	01 f0                	add    %esi,%eax
c001e55a:	89 c6                	mov    %eax,%esi
c001e55c:	0f b6 45 dc          	movzbl -0x24(%ebp),%eax
c001e560:	0f be c0             	movsbl %al,%eax
c001e563:	83 ec 04             	sub    $0x4,%esp
c001e566:	6a 01                	push   $0x1
c001e568:	53                   	push   %ebx
c001e569:	51                   	push   %ecx
c001e56a:	52                   	push   %edx
c001e56b:	57                   	push   %edi
c001e56c:	56                   	push   %esi
c001e56d:	50                   	push   %eax
c001e56e:	e8 61 5b 00 00       	call   c00240d4 <_Z8drawcharcjjhhhi>
c001e573:	83 c4 20             	add    $0x20,%esp
c001e576:	83 45 e0 01          	addl   $0x1,-0x20(%ebp)
c001e57a:	e9 62 ff ff ff       	jmp    c001e4e1 <_ZN7Console7refreshEv+0x67>
c001e57f:	83 45 e4 01          	addl   $0x1,-0x1c(%ebp)
c001e583:	e9 3f ff ff ff       	jmp    c001e4c7 <_ZN7Console7refreshEv+0x4d>
c001e588:	90                   	nop
c001e589:	8d 65 f4             	lea    -0xc(%ebp),%esp
c001e58c:	5b                   	pop    %ebx
c001e58d:	5e                   	pop    %esi
c001e58e:	5f                   	pop    %edi
c001e58f:	5d                   	pop    %ebp
c001e590:	c3                   	ret    
c001e591:	90                   	nop

c001e592 <_ZN7Console8relocateEtt>:
c001e592:	55                   	push   %ebp
c001e593:	89 e5                	mov    %esp,%ebp
c001e595:	83 ec 08             	sub    $0x8,%esp
c001e598:	8b 55 0c             	mov    0xc(%ebp),%edx
c001e59b:	8b 45 10             	mov    0x10(%ebp),%eax
c001e59e:	66 89 55 fc          	mov    %dx,-0x4(%ebp)
c001e5a2:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
c001e5a6:	8b 45 08             	mov    0x8(%ebp),%eax
c001e5a9:	0f b7 55 fc          	movzwl -0x4(%ebp),%edx
c001e5ad:	66 89 50 08          	mov    %dx,0x8(%eax)
c001e5b1:	8b 45 08             	mov    0x8(%ebp),%eax
c001e5b4:	0f b7 55 f8          	movzwl -0x8(%ebp),%edx
c001e5b8:	66 89 50 0a          	mov    %dx,0xa(%eax)
c001e5bc:	90                   	nop
c001e5bd:	c9                   	leave  
c001e5be:	c3                   	ret    

c001e5bf <_Z14cpuid_get_infov>:
c001e5bf:	55                   	push   %ebp
c001e5c0:	89 e5                	mov    %esp,%ebp
c001e5c2:	53                   	push   %ebx
c001e5c3:	83 ec 24             	sub    $0x24,%esp
c001e5c6:	83 ec 0c             	sub    $0xc,%esp
c001e5c9:	ff 75 08             	pushl  0x8(%ebp)
c001e5cc:	e8 13 65 00 00       	call   c0024ae4 <_ZN12cpuid_info_tC1Ev>
c001e5d1:	83 c4 10             	add    $0x10,%esp
c001e5d4:	b8 00 00 00 00       	mov    $0x0,%eax
c001e5d9:	0f a2                	cpuid  
c001e5db:	89 c8                	mov    %ecx,%eax
c001e5dd:	89 5d e8             	mov    %ebx,-0x18(%ebp)
c001e5e0:	89 55 e4             	mov    %edx,-0x1c(%ebp)
c001e5e3:	89 45 e0             	mov    %eax,-0x20(%ebp)
c001e5e6:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
c001e5ed:	83 7d f4 03          	cmpl   $0x3,-0xc(%ebp)
c001e5f1:	7f 21                	jg     c001e614 <_Z14cpuid_get_infov+0x55>
c001e5f3:	8b 45 f4             	mov    -0xc(%ebp),%eax
c001e5f6:	c1 e0 03             	shl    $0x3,%eax
c001e5f9:	8b 55 e8             	mov    -0x18(%ebp),%edx
c001e5fc:	89 c1                	mov    %eax,%ecx
c001e5fe:	d3 ea                	shr    %cl,%edx
c001e600:	89 d0                	mov    %edx,%eax
c001e602:	89 c1                	mov    %eax,%ecx
c001e604:	8b 55 08             	mov    0x8(%ebp),%edx
c001e607:	8b 45 f4             	mov    -0xc(%ebp),%eax
c001e60a:	01 d0                	add    %edx,%eax
c001e60c:	88 08                	mov    %cl,(%eax)
c001e60e:	83 45 f4 01          	addl   $0x1,-0xc(%ebp)
c001e612:	eb d9                	jmp    c001e5ed <_Z14cpuid_get_infov+0x2e>
c001e614:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
c001e61b:	83 7d f0 03          	cmpl   $0x3,-0x10(%ebp)
c001e61f:	7f 21                	jg     c001e642 <_Z14cpuid_get_infov+0x83>
c001e621:	8b 45 f0             	mov    -0x10(%ebp),%eax
c001e624:	c1 e0 03             	shl    $0x3,%eax
c001e627:	8b 55 e4             	mov    -0x1c(%ebp),%edx
c001e62a:	89 c1                	mov    %eax,%ecx
c001e62c:	d3 ea                	shr    %cl,%edx
c001e62e:	89 d1                	mov    %edx,%ecx
c001e630:	8b 45 f0             	mov    -0x10(%ebp),%eax
c001e633:	8d 50 04             	lea    0x4(%eax),%edx
c001e636:	8b 45 08             	mov    0x8(%ebp),%eax
c001e639:	88 0c 10             	mov    %cl,(%eax,%edx,1)
c001e63c:	83 45 f0 01          	addl   $0x1,-0x10(%ebp)
c001e640:	eb d9                	jmp    c001e61b <_Z14cpuid_get_infov+0x5c>
c001e642:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
c001e649:	83 7d ec 03          	cmpl   $0x3,-0x14(%ebp)
c001e64d:	7f 21                	jg     c001e670 <_Z14cpuid_get_infov+0xb1>
c001e64f:	8b 45 ec             	mov    -0x14(%ebp),%eax
c001e652:	c1 e0 03             	shl    $0x3,%eax
c001e655:	8b 55 e0             	mov    -0x20(%ebp),%edx
c001e658:	89 c1                	mov    %eax,%ecx
c001e65a:	d3 ea                	shr    %cl,%edx
c001e65c:	89 d1                	mov    %edx,%ecx
c001e65e:	8b 45 ec             	mov    -0x14(%ebp),%eax
c001e661:	8d 50 08             	lea    0x8(%eax),%edx
c001e664:	8b 45 08             	mov    0x8(%ebp),%eax
c001e667:	88 0c 10             	mov    %cl,(%eax,%edx,1)
c001e66a:	83 45 ec 01          	addl   $0x1,-0x14(%ebp)
c001e66e:	eb d9                	jmp    c001e649 <_Z14cpuid_get_infov+0x8a>
c001e670:	b8 01 00 00 00       	mov    $0x1,%eax
c001e675:	0f a2                	cpuid  
c001e677:	89 c8                	mov    %ecx,%eax
c001e679:	89 55 e4             	mov    %edx,-0x1c(%ebp)
c001e67c:	89 45 e0             	mov    %eax,-0x20(%ebp)
c001e67f:	8b 45 08             	mov    0x8(%ebp),%eax
c001e682:	8b 55 e0             	mov    -0x20(%ebp),%edx
c001e685:	89 50 0d             	mov    %edx,0xd(%eax)
c001e688:	8b 45 08             	mov    0x8(%ebp),%eax
c001e68b:	8b 55 e4             	mov    -0x1c(%ebp),%edx
c001e68e:	89 50 11             	mov    %edx,0x11(%eax)
c001e691:	90                   	nop
c001e692:	8b 45 08             	mov    0x8(%ebp),%eax
c001e695:	8b 5d fc             	mov    -0x4(%ebp),%ebx
c001e698:	c9                   	leave  
c001e699:	c2 04 00             	ret    $0x4

c001e69c <fatal_error>:
c001e69c:	55                   	push   %ebp
c001e69d:	89 e5                	mov    %esp,%ebp
c001e69f:	83 ec 08             	sub    $0x8,%esp
c001e6a2:	83 ec 0c             	sub    $0xc,%esp
c001e6a5:	ff 75 08             	pushl  0x8(%ebp)
c001e6a8:	e8 e1 34 00 00       	call   c0021b8e <write_serial_string>
c001e6ad:	83 c4 10             	add    $0x10,%esp
c001e6b0:	83 ec 0c             	sub    $0xc,%esp
c001e6b3:	6a 0a                	push   $0xa
c001e6b5:	e8 9d 34 00 00       	call   c0021b57 <_Z12write_serialc>
c001e6ba:	83 c4 10             	add    $0x10,%esp
c001e6bd:	83 ec 0c             	sub    $0xc,%esp
c001e6c0:	ff 75 0c             	pushl  0xc(%ebp)
c001e6c3:	e8 c6 34 00 00       	call   c0021b8e <write_serial_string>
c001e6c8:	83 c4 10             	add    $0x10,%esp
c001e6cb:	83 ec 04             	sub    $0x4,%esp
c001e6ce:	6a 00                	push   $0x0
c001e6d0:	6a 00                	push   $0x0
c001e6d2:	68 ff 00 00 00       	push   $0xff
c001e6d7:	e8 97 57 00 00       	call   c0023e73 <_Z19screen_clear_directhhh>
c001e6dc:	83 c4 10             	add    $0x10,%esp
c001e6df:	83 ec 04             	sub    $0x4,%esp
c001e6e2:	6a 02                	push   $0x2
c001e6e4:	68 ff 00 00 00       	push   $0xff
c001e6e9:	68 ff 00 00 00       	push   $0xff
c001e6ee:	68 ff 00 00 00       	push   $0xff
c001e6f3:	6a 0a                	push   $0xa
c001e6f5:	6a 02                	push   $0x2
c001e6f7:	68 20 67 02 c0       	push   $0xc0026720
c001e6fc:	e8 9d 5c 00 00       	call   c002439e <_Z17drawstring_directPcjjhhhi>
c001e701:	83 c4 20             	add    $0x20,%esp
c001e704:	83 ec 04             	sub    $0x4,%esp
c001e707:	6a 02                	push   $0x2
c001e709:	68 ff 00 00 00       	push   $0xff
c001e70e:	68 ff 00 00 00       	push   $0xff
c001e713:	68 ff 00 00 00       	push   $0xff
c001e718:	6a 1e                	push   $0x1e
c001e71a:	6a 02                	push   $0x2
c001e71c:	68 45 67 02 c0       	push   $0xc0026745
c001e721:	e8 78 5c 00 00       	call   c002439e <_Z17drawstring_directPcjjhhhi>
c001e726:	83 c4 20             	add    $0x20,%esp
c001e729:	83 ec 04             	sub    $0x4,%esp
c001e72c:	6a 02                	push   $0x2
c001e72e:	68 ff 00 00 00       	push   $0xff
c001e733:	68 ff 00 00 00       	push   $0xff
c001e738:	68 ff 00 00 00       	push   $0xff
c001e73d:	6a 3c                	push   $0x3c
c001e73f:	6a 02                	push   $0x2
c001e741:	ff 75 08             	pushl  0x8(%ebp)
c001e744:	e8 55 5c 00 00       	call   c002439e <_Z17drawstring_directPcjjhhhi>
c001e749:	83 c4 20             	add    $0x20,%esp
c001e74c:	83 ec 04             	sub    $0x4,%esp
c001e74f:	6a 02                	push   $0x2
c001e751:	68 ff 00 00 00       	push   $0xff
c001e756:	68 ff 00 00 00       	push   $0xff
c001e75b:	68 ff 00 00 00       	push   $0xff
c001e760:	6a 50                	push   $0x50
c001e762:	6a 02                	push   $0x2
c001e764:	ff 75 0c             	pushl  0xc(%ebp)
c001e767:	e8 32 5c 00 00       	call   c002439e <_Z17drawstring_directPcjjhhhi>
c001e76c:	83 c4 20             	add    $0x20,%esp
c001e76f:	83 ec 0c             	sub    $0xc,%esp
c001e772:	68 00 65 02 c0       	push   $0xc0026500
c001e777:	6a 0d                	push   $0xd
c001e779:	6a 14                	push   $0x14
c001e77b:	6a 64                	push   $0x64
c001e77d:	6a 02                	push   $0x2
c001e77f:	e8 8c 5c 00 00       	call   c0024410 <_Z19drawgrayscalebitmapjjjjPh>
c001e784:	83 c4 20             	add    $0x20,%esp
c001e787:	fa                   	cli    
c001e788:	f4                   	hlt    
c001e789:	eb fe                	jmp    c001e789 <fatal_error+0xed>

c001e78b <_ZN2fs4readEP7fs_nodemmPh>:
c001e78b:	55                   	push   %ebp
c001e78c:	89 e5                	mov    %esp,%ebp
c001e78e:	83 ec 08             	sub    $0x8,%esp
c001e791:	8b 45 08             	mov    0x8(%ebp),%eax
c001e794:	8b 80 94 00 00 00    	mov    0x94(%eax),%eax
c001e79a:	85 c0                	test   %eax,%eax
c001e79c:	74 1c                	je     c001e7ba <_ZN2fs4readEP7fs_nodemmPh+0x2f>
c001e79e:	8b 45 08             	mov    0x8(%ebp),%eax
c001e7a1:	8b 80 94 00 00 00    	mov    0x94(%eax),%eax
c001e7a7:	ff 75 14             	pushl  0x14(%ebp)
c001e7aa:	ff 75 10             	pushl  0x10(%ebp)
c001e7ad:	ff 75 0c             	pushl  0xc(%ebp)
c001e7b0:	ff 75 08             	pushl  0x8(%ebp)
c001e7b3:	ff d0                	call   *%eax
c001e7b5:	83 c4 10             	add    $0x10,%esp
c001e7b8:	eb 05                	jmp    c001e7bf <_ZN2fs4readEP7fs_nodemmPh+0x34>
c001e7ba:	b8 00 00 00 00       	mov    $0x0,%eax
c001e7bf:	c9                   	leave  
c001e7c0:	c3                   	ret    

c001e7c1 <_ZN2fs5writeEP7fs_nodemmPh>:
c001e7c1:	55                   	push   %ebp
c001e7c2:	89 e5                	mov    %esp,%ebp
c001e7c4:	83 ec 08             	sub    $0x8,%esp
c001e7c7:	8b 45 08             	mov    0x8(%ebp),%eax
c001e7ca:	8b 80 98 00 00 00    	mov    0x98(%eax),%eax
c001e7d0:	85 c0                	test   %eax,%eax
c001e7d2:	74 1c                	je     c001e7f0 <_ZN2fs5writeEP7fs_nodemmPh+0x2f>
c001e7d4:	8b 45 08             	mov    0x8(%ebp),%eax
c001e7d7:	8b 80 98 00 00 00    	mov    0x98(%eax),%eax
c001e7dd:	ff 75 14             	pushl  0x14(%ebp)
c001e7e0:	ff 75 10             	pushl  0x10(%ebp)
c001e7e3:	ff 75 0c             	pushl  0xc(%ebp)
c001e7e6:	ff 75 08             	pushl  0x8(%ebp)
c001e7e9:	ff d0                	call   *%eax
c001e7eb:	83 c4 10             	add    $0x10,%esp
c001e7ee:	eb 05                	jmp    c001e7f5 <_ZN2fs5writeEP7fs_nodemmPh+0x34>
c001e7f0:	b8 00 00 00 00       	mov    $0x0,%eax
c001e7f5:	c9                   	leave  
c001e7f6:	c3                   	ret    

c001e7f7 <_ZN2fs4openEP7fs_nodem>:
c001e7f7:	55                   	push   %ebp
c001e7f8:	89 e5                	mov    %esp,%ebp
c001e7fa:	83 ec 08             	sub    $0x8,%esp
c001e7fd:	8b 45 08             	mov    0x8(%ebp),%eax
c001e800:	8b 80 98 00 00 00    	mov    0x98(%eax),%eax
c001e806:	85 c0                	test   %eax,%eax
c001e808:	74 18                	je     c001e822 <_ZN2fs4openEP7fs_nodem+0x2b>
c001e80a:	8b 45 08             	mov    0x8(%ebp),%eax
c001e80d:	8b 80 9c 00 00 00    	mov    0x9c(%eax),%eax
c001e813:	83 ec 08             	sub    $0x8,%esp
c001e816:	ff 75 0c             	pushl  0xc(%ebp)
c001e819:	ff 75 08             	pushl  0x8(%ebp)
c001e81c:	ff d0                	call   *%eax
c001e81e:	83 c4 10             	add    $0x10,%esp
c001e821:	90                   	nop
c001e822:	c9                   	leave  
c001e823:	c3                   	ret    

c001e824 <_ZN2fs5closeEP7fs_node>:
c001e824:	55                   	push   %ebp
c001e825:	89 e5                	mov    %esp,%ebp
c001e827:	83 ec 08             	sub    $0x8,%esp
c001e82a:	8b 45 08             	mov    0x8(%ebp),%eax
c001e82d:	8b 80 98 00 00 00    	mov    0x98(%eax),%eax
c001e833:	85 c0                	test   %eax,%eax
c001e835:	74 15                	je     c001e84c <_ZN2fs5closeEP7fs_node+0x28>
c001e837:	8b 45 08             	mov    0x8(%ebp),%eax
c001e83a:	8b 80 a0 00 00 00    	mov    0xa0(%eax),%eax
c001e840:	83 ec 0c             	sub    $0xc,%esp
c001e843:	ff 75 08             	pushl  0x8(%ebp)
c001e846:	ff d0                	call   *%eax
c001e848:	83 c4 10             	add    $0x10,%esp
c001e84b:	90                   	nop
c001e84c:	c9                   	leave  
c001e84d:	c3                   	ret    

c001e84e <_ZN2fs8read_dirEP7fs_nodem>:
c001e84e:	55                   	push   %ebp
c001e84f:	89 e5                	mov    %esp,%ebp
c001e851:	83 ec 08             	sub    $0x8,%esp
c001e854:	8b 45 08             	mov    0x8(%ebp),%eax
c001e857:	8b 80 a4 00 00 00    	mov    0xa4(%eax),%eax
c001e85d:	85 c0                	test   %eax,%eax
c001e85f:	74 19                	je     c001e87a <_ZN2fs8read_dirEP7fs_nodem+0x2c>
c001e861:	8b 45 08             	mov    0x8(%ebp),%eax
c001e864:	8b 80 a4 00 00 00    	mov    0xa4(%eax),%eax
c001e86a:	83 ec 08             	sub    $0x8,%esp
c001e86d:	ff 75 0c             	pushl  0xc(%ebp)
c001e870:	ff 75 08             	pushl  0x8(%ebp)
c001e873:	ff d0                	call   *%eax
c001e875:	83 c4 10             	add    $0x10,%esp
c001e878:	eb 05                	jmp    c001e87f <_ZN2fs8read_dirEP7fs_nodem+0x31>
c001e87a:	b8 00 00 00 00       	mov    $0x0,%eax
c001e87f:	c9                   	leave  
c001e880:	c3                   	ret    

c001e881 <_ZN2fs8find_dirEP7fs_nodePc>:
c001e881:	55                   	push   %ebp
c001e882:	89 e5                	mov    %esp,%ebp
c001e884:	83 ec 08             	sub    $0x8,%esp
c001e887:	8b 45 08             	mov    0x8(%ebp),%eax
c001e88a:	8b 80 a8 00 00 00    	mov    0xa8(%eax),%eax
c001e890:	85 c0                	test   %eax,%eax
c001e892:	74 19                	je     c001e8ad <_ZN2fs8find_dirEP7fs_nodePc+0x2c>
c001e894:	8b 45 08             	mov    0x8(%ebp),%eax
c001e897:	8b 80 a8 00 00 00    	mov    0xa8(%eax),%eax
c001e89d:	83 ec 08             	sub    $0x8,%esp
c001e8a0:	ff 75 0c             	pushl  0xc(%ebp)
c001e8a3:	ff 75 08             	pushl  0x8(%ebp)
c001e8a6:	ff d0                	call   *%eax
c001e8a8:	83 c4 10             	add    $0x10,%esp
c001e8ab:	eb 05                	jmp    c001e8b2 <_ZN2fs8find_dirEP7fs_nodePc+0x31>
c001e8ad:	b8 00 00 00 00       	mov    $0x0,%eax
c001e8b2:	c9                   	leave  
c001e8b3:	c3                   	ret    

c001e8b4 <_ZN2fs4initEv>:
c001e8b4:	55                   	push   %ebp
c001e8b5:	89 e5                	mov    %esp,%ebp
c001e8b7:	90                   	nop
c001e8b8:	5d                   	pop    %ebp
c001e8b9:	c3                   	ret    

c001e8ba <_ZL12gdt_set_gatelmmhh>:
c001e8ba:	55                   	push   %ebp
c001e8bb:	89 e5                	mov    %esp,%ebp
c001e8bd:	83 ec 08             	sub    $0x8,%esp
c001e8c0:	8b 55 14             	mov    0x14(%ebp),%edx
c001e8c3:	8b 45 18             	mov    0x18(%ebp),%eax
c001e8c6:	88 55 fc             	mov    %dl,-0x4(%ebp)
c001e8c9:	88 45 f8             	mov    %al,-0x8(%ebp)
c001e8cc:	8b 45 0c             	mov    0xc(%ebp),%eax
c001e8cf:	c1 e8 18             	shr    $0x18,%eax
c001e8d2:	89 c2                	mov    %eax,%edx
c001e8d4:	8b 45 08             	mov    0x8(%ebp),%eax
c001e8d7:	88 14 c5 47 b1 02 c0 	mov    %dl,-0x3ffd4eb9(,%eax,8)
c001e8de:	8b 45 0c             	mov    0xc(%ebp),%eax
c001e8e1:	c1 e8 10             	shr    $0x10,%eax
c001e8e4:	89 c2                	mov    %eax,%edx
c001e8e6:	8b 45 08             	mov    0x8(%ebp),%eax
c001e8e9:	88 14 c5 44 b1 02 c0 	mov    %dl,-0x3ffd4ebc(,%eax,8)
c001e8f0:	8b 45 0c             	mov    0xc(%ebp),%eax
c001e8f3:	89 c2                	mov    %eax,%edx
c001e8f5:	8b 45 08             	mov    0x8(%ebp),%eax
c001e8f8:	66 89 14 c5 42 b1 02 	mov    %dx,-0x3ffd4ebe(,%eax,8)
c001e8ff:	c0 
c001e900:	8b 45 10             	mov    0x10(%ebp),%eax
c001e903:	89 c2                	mov    %eax,%edx
c001e905:	8b 45 08             	mov    0x8(%ebp),%eax
c001e908:	66 89 14 c5 40 b1 02 	mov    %dx,-0x3ffd4ec0(,%eax,8)
c001e90f:	c0 
c001e910:	8b 45 10             	mov    0x10(%ebp),%eax
c001e913:	c1 e8 10             	shr    $0x10,%eax
c001e916:	83 e0 0f             	and    $0xf,%eax
c001e919:	89 c2                	mov    %eax,%edx
c001e91b:	8b 45 08             	mov    0x8(%ebp),%eax
c001e91e:	88 14 c5 46 b1 02 c0 	mov    %dl,-0x3ffd4eba(,%eax,8)
c001e925:	8b 45 08             	mov    0x8(%ebp),%eax
c001e928:	0f b6 14 c5 46 b1 02 	movzbl -0x3ffd4eba(,%eax,8),%edx
c001e92f:	c0 
c001e930:	0f b6 45 f8          	movzbl -0x8(%ebp),%eax
c001e934:	83 e0 f0             	and    $0xfffffff0,%eax
c001e937:	09 c2                	or     %eax,%edx
c001e939:	8b 45 08             	mov    0x8(%ebp),%eax
c001e93c:	88 14 c5 46 b1 02 c0 	mov    %dl,-0x3ffd4eba(,%eax,8)
c001e943:	8b 45 08             	mov    0x8(%ebp),%eax
c001e946:	0f b6 55 fc          	movzbl -0x4(%ebp),%edx
c001e94a:	88 14 c5 45 b1 02 c0 	mov    %dl,-0x3ffd4ebb(,%eax,8)
c001e951:	90                   	nop
c001e952:	c9                   	leave  
c001e953:	c3                   	ret    

c001e954 <_Z14gdt_initializev>:
c001e954:	55                   	push   %ebp
c001e955:	89 e5                	mov    %esp,%ebp
c001e957:	83 ec 08             	sub    $0x8,%esp
c001e95a:	66 c7 05 68 b1 02 c0 	movw   $0x27,0xc002b168
c001e961:	27 00 
c001e963:	b8 40 b1 02 c0       	mov    $0xc002b140,%eax
c001e968:	a3 6a b1 02 c0       	mov    %eax,0xc002b16a
c001e96d:	6a 00                	push   $0x0
c001e96f:	6a 00                	push   $0x0
c001e971:	6a 00                	push   $0x0
c001e973:	6a 00                	push   $0x0
c001e975:	6a 00                	push   $0x0
c001e977:	e8 3e ff ff ff       	call   c001e8ba <_ZL12gdt_set_gatelmmhh>
c001e97c:	83 c4 14             	add    $0x14,%esp
c001e97f:	68 cf 00 00 00       	push   $0xcf
c001e984:	68 9a 00 00 00       	push   $0x9a
c001e989:	6a ff                	push   $0xffffffff
c001e98b:	6a 00                	push   $0x0
c001e98d:	6a 01                	push   $0x1
c001e98f:	e8 26 ff ff ff       	call   c001e8ba <_ZL12gdt_set_gatelmmhh>
c001e994:	83 c4 14             	add    $0x14,%esp
c001e997:	68 cf 00 00 00       	push   $0xcf
c001e99c:	68 92 00 00 00       	push   $0x92
c001e9a1:	6a ff                	push   $0xffffffff
c001e9a3:	6a 00                	push   $0x0
c001e9a5:	6a 02                	push   $0x2
c001e9a7:	e8 0e ff ff ff       	call   c001e8ba <_ZL12gdt_set_gatelmmhh>
c001e9ac:	83 c4 14             	add    $0x14,%esp
c001e9af:	68 cf 00 00 00       	push   $0xcf
c001e9b4:	68 fa 00 00 00       	push   $0xfa
c001e9b9:	6a ff                	push   $0xffffffff
c001e9bb:	6a 00                	push   $0x0
c001e9bd:	6a 03                	push   $0x3
c001e9bf:	e8 f6 fe ff ff       	call   c001e8ba <_ZL12gdt_set_gatelmmhh>
c001e9c4:	83 c4 14             	add    $0x14,%esp
c001e9c7:	68 cf 00 00 00       	push   $0xcf
c001e9cc:	68 f2 00 00 00       	push   $0xf2
c001e9d1:	6a ff                	push   $0xffffffff
c001e9d3:	6a 00                	push   $0x0
c001e9d5:	6a 04                	push   $0x4
c001e9d7:	e8 de fe ff ff       	call   c001e8ba <_ZL12gdt_set_gatelmmhh>
c001e9dc:	83 c4 14             	add    $0x14,%esp
c001e9df:	b8 68 b1 02 c0       	mov    $0xc002b168,%eax
c001e9e4:	83 ec 0c             	sub    $0xc,%esp
c001e9e7:	50                   	push   %eax
c001e9e8:	e8 53 e6 ff ff       	call   c001d040 <gdt_flush>
c001e9ed:	83 c4 10             	add    $0x10,%esp
c001e9f0:	90                   	nop
c001e9f1:	c9                   	leave  
c001e9f2:	c3                   	ret    

c001e9f3 <_ZeqRK8Vector2iS1_>:
c001e9f3:	55                   	push   %ebp
c001e9f4:	89 e5                	mov    %esp,%ebp
c001e9f6:	8b 45 08             	mov    0x8(%ebp),%eax
c001e9f9:	8b 10                	mov    (%eax),%edx
c001e9fb:	8b 45 0c             	mov    0xc(%ebp),%eax
c001e9fe:	8b 00                	mov    (%eax),%eax
c001ea00:	39 c2                	cmp    %eax,%edx
c001ea02:	75 17                	jne    c001ea1b <_ZeqRK8Vector2iS1_+0x28>
c001ea04:	8b 45 08             	mov    0x8(%ebp),%eax
c001ea07:	8b 50 04             	mov    0x4(%eax),%edx
c001ea0a:	8b 45 0c             	mov    0xc(%ebp),%eax
c001ea0d:	8b 40 04             	mov    0x4(%eax),%eax
c001ea10:	39 c2                	cmp    %eax,%edx
c001ea12:	75 07                	jne    c001ea1b <_ZeqRK8Vector2iS1_+0x28>
c001ea14:	b8 01 00 00 00       	mov    $0x1,%eax
c001ea19:	eb 05                	jmp    c001ea20 <_ZeqRK8Vector2iS1_+0x2d>
c001ea1b:	b8 00 00 00 00       	mov    $0x0,%eax
c001ea20:	5d                   	pop    %ebp
c001ea21:	c3                   	ret    

c001ea22 <_ZN3HAL15initialize_coreE16multiboot_info_t>:
c001ea22:	55                   	push   %ebp
c001ea23:	89 e5                	mov    %esp,%ebp
c001ea25:	57                   	push   %edi
c001ea26:	56                   	push   %esi
c001ea27:	83 ec 10             	sub    $0x10,%esp
c001ea2a:	ba 40 b2 02 c0       	mov    $0xc002b240,%edx
c001ea2f:	8d 45 08             	lea    0x8(%ebp),%eax
c001ea32:	b9 1b 00 00 00       	mov    $0x1b,%ecx
c001ea37:	89 d7                	mov    %edx,%edi
c001ea39:	89 c6                	mov    %eax,%esi
c001ea3b:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
c001ea3d:	89 f0                	mov    %esi,%eax
c001ea3f:	89 fa                	mov    %edi,%edx
c001ea41:	0f b7 08             	movzwl (%eax),%ecx
c001ea44:	66 89 0a             	mov    %cx,(%edx)
c001ea47:	8d 52 02             	lea    0x2(%edx),%edx
c001ea4a:	8d 40 02             	lea    0x2(%eax),%eax
c001ea4d:	e8 5a 30 00 00       	call   c0021aac <_Z11init_serialv>
c001ea52:	83 ec 0c             	sub    $0xc,%esp
c001ea55:	68 61 67 02 c0       	push   $0xc0026761
c001ea5a:	e8 2f 31 00 00       	call   c0021b8e <write_serial_string>
c001ea5f:	83 c4 10             	add    $0x10,%esp
c001ea62:	e8 ed fe ff ff       	call   c001e954 <_Z14gdt_initializev>
c001ea67:	e8 0c 02 00 00       	call   c001ec78 <_Z14idt_initializev>
c001ea6c:	e8 cf 26 00 00       	call   c0021140 <_Z17paging_initializev>
c001ea71:	8b 45 34             	mov    0x34(%ebp),%eax
c001ea74:	c1 e8 0c             	shr    $0xc,%eax
c001ea77:	83 c0 01             	add    $0x1,%eax
c001ea7a:	83 ec 0c             	sub    $0xc,%esp
c001ea7d:	50                   	push   %eax
c001ea7e:	e8 c1 21 00 00       	call   c0020c44 <_Z21kernel_pages_allocatem>
c001ea83:	83 c4 10             	add    $0x10,%esp
c001ea86:	89 45 f4             	mov    %eax,-0xc(%ebp)
c001ea89:	8b 45 34             	mov    0x34(%ebp),%eax
c001ea8c:	c1 e8 0c             	shr    $0xc,%eax
c001ea8f:	8d 50 01             	lea    0x1(%eax),%edx
c001ea92:	8b 45 38             	mov    0x38(%ebp),%eax
c001ea95:	83 ec 04             	sub    $0x4,%esp
c001ea98:	52                   	push   %edx
c001ea99:	ff 75 f4             	pushl  -0xc(%ebp)
c001ea9c:	50                   	push   %eax
c001ea9d:	e8 ce 23 00 00       	call   c0020e70 <_Z8map_pagemmm>
c001eaa2:	83 c4 10             	add    $0x10,%esp
c001eaa5:	8b 45 38             	mov    0x38(%ebp),%eax
c001eaa8:	89 45 f0             	mov    %eax,-0x10(%ebp)
c001eaab:	8b 45 10             	mov    0x10(%ebp),%eax
c001eaae:	a3 04 b2 02 c0       	mov    %eax,0xc002b204
c001eab3:	8b 45 0c             	mov    0xc(%ebp),%eax
c001eab6:	a3 00 b2 02 c0       	mov    %eax,0xc002b200
c001eabb:	8b 45 f0             	mov    -0x10(%ebp),%eax
c001eabe:	a3 08 b2 02 c0       	mov    %eax,0xc002b208
c001eac3:	8b 45 34             	mov    0x34(%ebp),%eax
c001eac6:	a3 0c b2 02 c0       	mov    %eax,0xc002b20c
c001eacb:	83 ec 0c             	sub    $0xc,%esp
c001eace:	68 00 b2 02 c0       	push   $0xc002b200
c001ead3:	e8 26 2d 00 00       	call   c00217fe <_Z14physalloc_initP13memory_info_t>
c001ead8:	83 c4 10             	add    $0x10,%esp
c001eadb:	90                   	nop
c001eadc:	8d 65 f8             	lea    -0x8(%ebp),%esp
c001eadf:	5e                   	pop    %esi
c001eae0:	5f                   	pop    %edi
c001eae1:	5d                   	pop    %ebp
c001eae2:	c3                   	ret    

c001eae3 <_ZN3HAL16initialize_videoEv>:
c001eae3:	55                   	push   %ebp
c001eae4:	89 e5                	mov    %esp,%ebp
c001eae6:	83 ec 18             	sub    $0x18,%esp
c001eae9:	8b 15 a8 b2 02 c0    	mov    0xc002b2a8,%edx
c001eaef:	a1 a0 b2 02 c0       	mov    0xc002b2a0,%eax
c001eaf4:	0f af c2             	imul   %edx,%eax
c001eaf7:	89 45 f4             	mov    %eax,-0xc(%ebp)
c001eafa:	8b 45 f4             	mov    -0xc(%ebp),%eax
c001eafd:	c1 e8 0c             	shr    $0xc,%eax
c001eb00:	83 c0 01             	add    $0x1,%eax
c001eb03:	83 ec 0c             	sub    $0xc,%esp
c001eb06:	50                   	push   %eax
c001eb07:	e8 38 21 00 00       	call   c0020c44 <_Z21kernel_pages_allocatem>
c001eb0c:	83 c4 10             	add    $0x10,%esp
c001eb0f:	89 45 f0             	mov    %eax,-0x10(%ebp)
c001eb12:	8b 45 f4             	mov    -0xc(%ebp),%eax
c001eb15:	c1 e8 0c             	shr    $0xc,%eax
c001eb18:	8d 48 01             	lea    0x1(%eax),%ecx
c001eb1b:	a1 98 b2 02 c0       	mov    0xc002b298,%eax
c001eb20:	8b 15 9c b2 02 c0    	mov    0xc002b29c,%edx
c001eb26:	83 ec 04             	sub    $0x4,%esp
c001eb29:	51                   	push   %ecx
c001eb2a:	ff 75 f0             	pushl  -0x10(%ebp)
c001eb2d:	50                   	push   %eax
c001eb2e:	e8 3d 23 00 00       	call   c0020e70 <_Z8map_pagemmm>
c001eb33:	83 c4 10             	add    $0x10,%esp
c001eb36:	a1 98 b2 02 c0       	mov    0xc002b298,%eax
c001eb3b:	8b 15 9c b2 02 c0    	mov    0xc002b29c,%edx
c001eb41:	83 ec 08             	sub    $0x8,%esp
c001eb44:	ff 75 f4             	pushl  -0xc(%ebp)
c001eb47:	50                   	push   %eax
c001eb48:	e8 d4 2d 00 00       	call   c0021921 <_Z26physalloc_mark_region_usedmm>
c001eb4d:	83 c4 10             	add    $0x10,%esp
c001eb50:	a1 a4 b2 02 c0       	mov    0xc002b2a4,%eax
c001eb55:	a3 10 b2 02 c0       	mov    %eax,0xc002b210
c001eb5a:	a1 a8 b2 02 c0       	mov    0xc002b2a8,%eax
c001eb5f:	a3 14 b2 02 c0       	mov    %eax,0xc002b214
c001eb64:	0f b6 05 ac b2 02 c0 	movzbl 0xc002b2ac,%eax
c001eb6b:	0f b6 c0             	movzbl %al,%eax
c001eb6e:	66 a3 18 b2 02 c0    	mov    %ax,0xc002b218
c001eb74:	a1 a0 b2 02 c0       	mov    0xc002b2a0,%eax
c001eb79:	a3 1c b2 02 c0       	mov    %eax,0xc002b21c
c001eb7e:	8b 45 f0             	mov    -0x10(%ebp),%eax
c001eb81:	a3 24 b2 02 c0       	mov    %eax,0xc002b224
c001eb86:	c7 05 20 b2 02 c0 01 	movl   $0x1,0xc002b220
c001eb8d:	00 00 00 
c001eb90:	83 ec 08             	sub    $0x8,%esp
c001eb93:	ff 35 24 b2 02 c0    	pushl  0xc002b224
c001eb99:	ff 35 20 b2 02 c0    	pushl  0xc002b220
c001eb9f:	ff 35 1c b2 02 c0    	pushl  0xc002b21c
c001eba5:	ff 35 18 b2 02 c0    	pushl  0xc002b218
c001ebab:	ff 35 14 b2 02 c0    	pushl  0xc002b214
c001ebb1:	ff 35 10 b2 02 c0    	pushl  0xc002b210
c001ebb7:	e8 a7 51 00 00       	call   c0023d63 <_Z16video_initialize12video_mode_t>
c001ebbc:	83 c4 20             	add    $0x20,%esp
c001ebbf:	90                   	nop
c001ebc0:	c9                   	leave  
c001ebc1:	c3                   	ret    

c001ebc2 <_ZN3HAL14initialize_hidEv>:
c001ebc2:	55                   	push   %ebp
c001ebc3:	89 e5                	mov    %esp,%ebp
c001ebc5:	90                   	nop
c001ebc6:	5d                   	pop    %ebp
c001ebc7:	c3                   	ret    

c001ebc8 <_ZN3HAL14initialize_allE16multiboot_info_t>:
c001ebc8:	55                   	push   %ebp
c001ebc9:	89 e5                	mov    %esp,%ebp
c001ebcb:	57                   	push   %edi
c001ebcc:	56                   	push   %esi
c001ebcd:	83 ec 70             	sub    $0x70,%esp
c001ebd0:	89 e0                	mov    %esp,%eax
c001ebd2:	89 c2                	mov    %eax,%edx
c001ebd4:	8d 45 08             	lea    0x8(%ebp),%eax
c001ebd7:	b9 1b 00 00 00       	mov    $0x1b,%ecx
c001ebdc:	89 d7                	mov    %edx,%edi
c001ebde:	89 c6                	mov    %eax,%esi
c001ebe0:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
c001ebe2:	89 f0                	mov    %esi,%eax
c001ebe4:	89 fa                	mov    %edi,%edx
c001ebe6:	0f b7 08             	movzwl (%eax),%ecx
c001ebe9:	66 89 0a             	mov    %cx,(%edx)
c001ebec:	8d 52 02             	lea    0x2(%edx),%edx
c001ebef:	8d 40 02             	lea    0x2(%eax),%eax
c001ebf2:	e8 2b fe ff ff       	call   c001ea22 <_ZN3HAL15initialize_coreE16multiboot_info_t>
c001ebf7:	83 c4 70             	add    $0x70,%esp
c001ebfa:	e8 e4 fe ff ff       	call   c001eae3 <_ZN3HAL16initialize_videoEv>
c001ebff:	e8 be ff ff ff       	call   c001ebc2 <_ZN3HAL14initialize_hidEv>
c001ec04:	90                   	nop
c001ec05:	8d 65 f8             	lea    -0x8(%ebp),%esp
c001ec08:	5e                   	pop    %esi
c001ec09:	5f                   	pop    %edi
c001ec0a:	5d                   	pop    %ebp
c001ec0b:	c3                   	ret    

c001ec0c <_ZL12idt_set_gatehmth>:
c001ec0c:	55                   	push   %ebp
c001ec0d:	89 e5                	mov    %esp,%ebp
c001ec0f:	83 ec 0c             	sub    $0xc,%esp
c001ec12:	8b 4d 08             	mov    0x8(%ebp),%ecx
c001ec15:	8b 45 10             	mov    0x10(%ebp),%eax
c001ec18:	8b 55 14             	mov    0x14(%ebp),%edx
c001ec1b:	88 4d fc             	mov    %cl,-0x4(%ebp)
c001ec1e:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
c001ec22:	89 d0                	mov    %edx,%eax
c001ec24:	88 45 f4             	mov    %al,-0xc(%ebp)
c001ec27:	8b 45 0c             	mov    0xc(%ebp),%eax
c001ec2a:	c1 e8 10             	shr    $0x10,%eax
c001ec2d:	89 c2                	mov    %eax,%edx
c001ec2f:	0f b6 45 fc          	movzbl -0x4(%ebp),%eax
c001ec33:	66 89 14 c5 c6 b2 02 	mov    %dx,-0x3ffd4d3a(,%eax,8)
c001ec3a:	c0 
c001ec3b:	0f b6 45 fc          	movzbl -0x4(%ebp),%eax
c001ec3f:	8b 55 0c             	mov    0xc(%ebp),%edx
c001ec42:	66 89 14 c5 c0 b2 02 	mov    %dx,-0x3ffd4d40(,%eax,8)
c001ec49:	c0 
c001ec4a:	0f b6 45 fc          	movzbl -0x4(%ebp),%eax
c001ec4e:	0f b7 55 f8          	movzwl -0x8(%ebp),%edx
c001ec52:	66 89 14 c5 c2 b2 02 	mov    %dx,-0x3ffd4d3e(,%eax,8)
c001ec59:	c0 
c001ec5a:	0f b6 45 fc          	movzbl -0x4(%ebp),%eax
c001ec5e:	c6 04 c5 c4 b2 02 c0 	movb   $0x0,-0x3ffd4d3c(,%eax,8)
c001ec65:	00 
c001ec66:	0f b6 45 fc          	movzbl -0x4(%ebp),%eax
c001ec6a:	0f b6 55 f4          	movzbl -0xc(%ebp),%edx
c001ec6e:	88 14 c5 c5 b2 02 c0 	mov    %dl,-0x3ffd4d3b(,%eax,8)
c001ec75:	90                   	nop
c001ec76:	c9                   	leave  
c001ec77:	c3                   	ret    

c001ec78 <_Z14idt_initializev>:
c001ec78:	55                   	push   %ebp
c001ec79:	89 e5                	mov    %esp,%ebp
c001ec7b:	83 ec 08             	sub    $0x8,%esp
c001ec7e:	66 c7 05 c0 ba 02 c0 	movw   $0x7ff,0xc002bac0
c001ec85:	ff 07 
c001ec87:	b8 c0 b2 02 c0       	mov    $0xc002b2c0,%eax
c001ec8c:	a3 c2 ba 02 c0       	mov    %eax,0xc002bac2
c001ec91:	83 ec 04             	sub    $0x4,%esp
c001ec94:	68 00 08 00 00       	push   $0x800
c001ec99:	6a 00                	push   $0x0
c001ec9b:	68 c0 b2 02 c0       	push   $0xc002b2c0
c001eca0:	e8 bf 10 00 00       	call   c001fd64 <memset>
c001eca5:	83 c4 10             	add    $0x10,%esp
c001eca8:	b8 ba d0 01 c0       	mov    $0xc001d0ba,%eax
c001ecad:	68 8e 00 00 00       	push   $0x8e
c001ecb2:	6a 08                	push   $0x8
c001ecb4:	50                   	push   %eax
c001ecb5:	6a 00                	push   $0x0
c001ecb7:	e8 50 ff ff ff       	call   c001ec0c <_ZL12idt_set_gatehmth>
c001ecbc:	83 c4 10             	add    $0x10,%esp
c001ecbf:	b8 c1 d0 01 c0       	mov    $0xc001d0c1,%eax
c001ecc4:	68 8e 00 00 00       	push   $0x8e
c001ecc9:	6a 08                	push   $0x8
c001eccb:	50                   	push   %eax
c001eccc:	6a 01                	push   $0x1
c001ecce:	e8 39 ff ff ff       	call   c001ec0c <_ZL12idt_set_gatehmth>
c001ecd3:	83 c4 10             	add    $0x10,%esp
c001ecd6:	b8 c8 d0 01 c0       	mov    $0xc001d0c8,%eax
c001ecdb:	68 8e 00 00 00       	push   $0x8e
c001ece0:	6a 08                	push   $0x8
c001ece2:	50                   	push   %eax
c001ece3:	6a 02                	push   $0x2
c001ece5:	e8 22 ff ff ff       	call   c001ec0c <_ZL12idt_set_gatehmth>
c001ecea:	83 c4 10             	add    $0x10,%esp
c001eced:	b8 cf d0 01 c0       	mov    $0xc001d0cf,%eax
c001ecf2:	68 8e 00 00 00       	push   $0x8e
c001ecf7:	6a 08                	push   $0x8
c001ecf9:	50                   	push   %eax
c001ecfa:	6a 03                	push   $0x3
c001ecfc:	e8 0b ff ff ff       	call   c001ec0c <_ZL12idt_set_gatehmth>
c001ed01:	83 c4 10             	add    $0x10,%esp
c001ed04:	b8 d6 d0 01 c0       	mov    $0xc001d0d6,%eax
c001ed09:	68 8e 00 00 00       	push   $0x8e
c001ed0e:	6a 08                	push   $0x8
c001ed10:	50                   	push   %eax
c001ed11:	6a 04                	push   $0x4
c001ed13:	e8 f4 fe ff ff       	call   c001ec0c <_ZL12idt_set_gatehmth>
c001ed18:	83 c4 10             	add    $0x10,%esp
c001ed1b:	b8 dd d0 01 c0       	mov    $0xc001d0dd,%eax
c001ed20:	68 8e 00 00 00       	push   $0x8e
c001ed25:	6a 08                	push   $0x8
c001ed27:	50                   	push   %eax
c001ed28:	6a 05                	push   $0x5
c001ed2a:	e8 dd fe ff ff       	call   c001ec0c <_ZL12idt_set_gatehmth>
c001ed2f:	83 c4 10             	add    $0x10,%esp
c001ed32:	b8 e4 d0 01 c0       	mov    $0xc001d0e4,%eax
c001ed37:	68 8e 00 00 00       	push   $0x8e
c001ed3c:	6a 08                	push   $0x8
c001ed3e:	50                   	push   %eax
c001ed3f:	6a 06                	push   $0x6
c001ed41:	e8 c6 fe ff ff       	call   c001ec0c <_ZL12idt_set_gatehmth>
c001ed46:	83 c4 10             	add    $0x10,%esp
c001ed49:	b8 ee d0 01 c0       	mov    $0xc001d0ee,%eax
c001ed4e:	68 8e 00 00 00       	push   $0x8e
c001ed53:	6a 08                	push   $0x8
c001ed55:	50                   	push   %eax
c001ed56:	6a 07                	push   $0x7
c001ed58:	e8 af fe ff ff       	call   c001ec0c <_ZL12idt_set_gatehmth>
c001ed5d:	83 c4 10             	add    $0x10,%esp
c001ed60:	b8 f8 d0 01 c0       	mov    $0xc001d0f8,%eax
c001ed65:	68 8e 00 00 00       	push   $0x8e
c001ed6a:	6a 08                	push   $0x8
c001ed6c:	50                   	push   %eax
c001ed6d:	6a 08                	push   $0x8
c001ed6f:	e8 98 fe ff ff       	call   c001ec0c <_ZL12idt_set_gatehmth>
c001ed74:	83 c4 10             	add    $0x10,%esp
c001ed77:	b8 00 d1 01 c0       	mov    $0xc001d100,%eax
c001ed7c:	68 8e 00 00 00       	push   $0x8e
c001ed81:	6a 08                	push   $0x8
c001ed83:	50                   	push   %eax
c001ed84:	6a 09                	push   $0x9
c001ed86:	e8 81 fe ff ff       	call   c001ec0c <_ZL12idt_set_gatehmth>
c001ed8b:	83 c4 10             	add    $0x10,%esp
c001ed8e:	b8 0a d1 01 c0       	mov    $0xc001d10a,%eax
c001ed93:	68 8e 00 00 00       	push   $0x8e
c001ed98:	6a 08                	push   $0x8
c001ed9a:	50                   	push   %eax
c001ed9b:	6a 0a                	push   $0xa
c001ed9d:	e8 6a fe ff ff       	call   c001ec0c <_ZL12idt_set_gatehmth>
c001eda2:	83 c4 10             	add    $0x10,%esp
c001eda5:	b8 12 d1 01 c0       	mov    $0xc001d112,%eax
c001edaa:	68 8e 00 00 00       	push   $0x8e
c001edaf:	6a 08                	push   $0x8
c001edb1:	50                   	push   %eax
c001edb2:	6a 0b                	push   $0xb
c001edb4:	e8 53 fe ff ff       	call   c001ec0c <_ZL12idt_set_gatehmth>
c001edb9:	83 c4 10             	add    $0x10,%esp
c001edbc:	b8 1a d1 01 c0       	mov    $0xc001d11a,%eax
c001edc1:	68 8e 00 00 00       	push   $0x8e
c001edc6:	6a 08                	push   $0x8
c001edc8:	50                   	push   %eax
c001edc9:	6a 0c                	push   $0xc
c001edcb:	e8 3c fe ff ff       	call   c001ec0c <_ZL12idt_set_gatehmth>
c001edd0:	83 c4 10             	add    $0x10,%esp
c001edd3:	b8 22 d1 01 c0       	mov    $0xc001d122,%eax
c001edd8:	68 8e 00 00 00       	push   $0x8e
c001eddd:	6a 08                	push   $0x8
c001eddf:	50                   	push   %eax
c001ede0:	6a 0d                	push   $0xd
c001ede2:	e8 25 fe ff ff       	call   c001ec0c <_ZL12idt_set_gatehmth>
c001ede7:	83 c4 10             	add    $0x10,%esp
c001edea:	b8 2a d1 01 c0       	mov    $0xc001d12a,%eax
c001edef:	68 8e 00 00 00       	push   $0x8e
c001edf4:	6a 08                	push   $0x8
c001edf6:	50                   	push   %eax
c001edf7:	6a 0e                	push   $0xe
c001edf9:	e8 0e fe ff ff       	call   c001ec0c <_ZL12idt_set_gatehmth>
c001edfe:	83 c4 10             	add    $0x10,%esp
c001ee01:	b8 32 d1 01 c0       	mov    $0xc001d132,%eax
c001ee06:	68 8e 00 00 00       	push   $0x8e
c001ee0b:	6a 08                	push   $0x8
c001ee0d:	50                   	push   %eax
c001ee0e:	6a 0f                	push   $0xf
c001ee10:	e8 f7 fd ff ff       	call   c001ec0c <_ZL12idt_set_gatehmth>
c001ee15:	83 c4 10             	add    $0x10,%esp
c001ee18:	b8 3c d1 01 c0       	mov    $0xc001d13c,%eax
c001ee1d:	68 8e 00 00 00       	push   $0x8e
c001ee22:	6a 08                	push   $0x8
c001ee24:	50                   	push   %eax
c001ee25:	6a 10                	push   $0x10
c001ee27:	e8 e0 fd ff ff       	call   c001ec0c <_ZL12idt_set_gatehmth>
c001ee2c:	83 c4 10             	add    $0x10,%esp
c001ee2f:	b8 46 d1 01 c0       	mov    $0xc001d146,%eax
c001ee34:	68 8e 00 00 00       	push   $0x8e
c001ee39:	6a 08                	push   $0x8
c001ee3b:	50                   	push   %eax
c001ee3c:	6a 11                	push   $0x11
c001ee3e:	e8 c9 fd ff ff       	call   c001ec0c <_ZL12idt_set_gatehmth>
c001ee43:	83 c4 10             	add    $0x10,%esp
c001ee46:	b8 4e d1 01 c0       	mov    $0xc001d14e,%eax
c001ee4b:	68 8e 00 00 00       	push   $0x8e
c001ee50:	6a 08                	push   $0x8
c001ee52:	50                   	push   %eax
c001ee53:	6a 12                	push   $0x12
c001ee55:	e8 b2 fd ff ff       	call   c001ec0c <_ZL12idt_set_gatehmth>
c001ee5a:	83 c4 10             	add    $0x10,%esp
c001ee5d:	b8 58 d1 01 c0       	mov    $0xc001d158,%eax
c001ee62:	68 8e 00 00 00       	push   $0x8e
c001ee67:	6a 08                	push   $0x8
c001ee69:	50                   	push   %eax
c001ee6a:	6a 13                	push   $0x13
c001ee6c:	e8 9b fd ff ff       	call   c001ec0c <_ZL12idt_set_gatehmth>
c001ee71:	83 c4 10             	add    $0x10,%esp
c001ee74:	b8 62 d1 01 c0       	mov    $0xc001d162,%eax
c001ee79:	68 8e 00 00 00       	push   $0x8e
c001ee7e:	6a 08                	push   $0x8
c001ee80:	50                   	push   %eax
c001ee81:	6a 14                	push   $0x14
c001ee83:	e8 84 fd ff ff       	call   c001ec0c <_ZL12idt_set_gatehmth>
c001ee88:	83 c4 10             	add    $0x10,%esp
c001ee8b:	b8 6c d1 01 c0       	mov    $0xc001d16c,%eax
c001ee90:	68 8e 00 00 00       	push   $0x8e
c001ee95:	6a 08                	push   $0x8
c001ee97:	50                   	push   %eax
c001ee98:	6a 15                	push   $0x15
c001ee9a:	e8 6d fd ff ff       	call   c001ec0c <_ZL12idt_set_gatehmth>
c001ee9f:	83 c4 10             	add    $0x10,%esp
c001eea2:	b8 76 d1 01 c0       	mov    $0xc001d176,%eax
c001eea7:	68 8e 00 00 00       	push   $0x8e
c001eeac:	6a 08                	push   $0x8
c001eeae:	50                   	push   %eax
c001eeaf:	6a 16                	push   $0x16
c001eeb1:	e8 56 fd ff ff       	call   c001ec0c <_ZL12idt_set_gatehmth>
c001eeb6:	83 c4 10             	add    $0x10,%esp
c001eeb9:	b8 80 d1 01 c0       	mov    $0xc001d180,%eax
c001eebe:	68 8e 00 00 00       	push   $0x8e
c001eec3:	6a 08                	push   $0x8
c001eec5:	50                   	push   %eax
c001eec6:	6a 17                	push   $0x17
c001eec8:	e8 3f fd ff ff       	call   c001ec0c <_ZL12idt_set_gatehmth>
c001eecd:	83 c4 10             	add    $0x10,%esp
c001eed0:	b8 8a d1 01 c0       	mov    $0xc001d18a,%eax
c001eed5:	68 8e 00 00 00       	push   $0x8e
c001eeda:	6a 08                	push   $0x8
c001eedc:	50                   	push   %eax
c001eedd:	6a 18                	push   $0x18
c001eedf:	e8 28 fd ff ff       	call   c001ec0c <_ZL12idt_set_gatehmth>
c001eee4:	83 c4 10             	add    $0x10,%esp
c001eee7:	b8 94 d1 01 c0       	mov    $0xc001d194,%eax
c001eeec:	68 8e 00 00 00       	push   $0x8e
c001eef1:	6a 08                	push   $0x8
c001eef3:	50                   	push   %eax
c001eef4:	6a 19                	push   $0x19
c001eef6:	e8 11 fd ff ff       	call   c001ec0c <_ZL12idt_set_gatehmth>
c001eefb:	83 c4 10             	add    $0x10,%esp
c001eefe:	b8 9e d1 01 c0       	mov    $0xc001d19e,%eax
c001ef03:	68 8e 00 00 00       	push   $0x8e
c001ef08:	6a 08                	push   $0x8
c001ef0a:	50                   	push   %eax
c001ef0b:	6a 1a                	push   $0x1a
c001ef0d:	e8 fa fc ff ff       	call   c001ec0c <_ZL12idt_set_gatehmth>
c001ef12:	83 c4 10             	add    $0x10,%esp
c001ef15:	b8 a8 d1 01 c0       	mov    $0xc001d1a8,%eax
c001ef1a:	68 8e 00 00 00       	push   $0x8e
c001ef1f:	6a 08                	push   $0x8
c001ef21:	50                   	push   %eax
c001ef22:	6a 1b                	push   $0x1b
c001ef24:	e8 e3 fc ff ff       	call   c001ec0c <_ZL12idt_set_gatehmth>
c001ef29:	83 c4 10             	add    $0x10,%esp
c001ef2c:	b8 b2 d1 01 c0       	mov    $0xc001d1b2,%eax
c001ef31:	68 8e 00 00 00       	push   $0x8e
c001ef36:	6a 08                	push   $0x8
c001ef38:	50                   	push   %eax
c001ef39:	6a 1c                	push   $0x1c
c001ef3b:	e8 cc fc ff ff       	call   c001ec0c <_ZL12idt_set_gatehmth>
c001ef40:	83 c4 10             	add    $0x10,%esp
c001ef43:	b8 bc d1 01 c0       	mov    $0xc001d1bc,%eax
c001ef48:	68 8e 00 00 00       	push   $0x8e
c001ef4d:	6a 08                	push   $0x8
c001ef4f:	50                   	push   %eax
c001ef50:	6a 1d                	push   $0x1d
c001ef52:	e8 b5 fc ff ff       	call   c001ec0c <_ZL12idt_set_gatehmth>
c001ef57:	83 c4 10             	add    $0x10,%esp
c001ef5a:	b8 c6 d1 01 c0       	mov    $0xc001d1c6,%eax
c001ef5f:	68 8e 00 00 00       	push   $0x8e
c001ef64:	6a 08                	push   $0x8
c001ef66:	50                   	push   %eax
c001ef67:	6a 1e                	push   $0x1e
c001ef69:	e8 9e fc ff ff       	call   c001ec0c <_ZL12idt_set_gatehmth>
c001ef6e:	83 c4 10             	add    $0x10,%esp
c001ef71:	b8 ce d1 01 c0       	mov    $0xc001d1ce,%eax
c001ef76:	68 8e 00 00 00       	push   $0x8e
c001ef7b:	6a 08                	push   $0x8
c001ef7d:	50                   	push   %eax
c001ef7e:	6a 1f                	push   $0x1f
c001ef80:	e8 87 fc ff ff       	call   c001ec0c <_ZL12idt_set_gatehmth>
c001ef85:	83 c4 10             	add    $0x10,%esp
c001ef88:	b8 e2 d1 01 c0       	mov    $0xc001d1e2,%eax
c001ef8d:	68 8e 00 00 00       	push   $0x8e
c001ef92:	6a 08                	push   $0x8
c001ef94:	50                   	push   %eax
c001ef95:	6a 69                	push   $0x69
c001ef97:	e8 70 fc ff ff       	call   c001ec0c <_ZL12idt_set_gatehmth>
c001ef9c:	83 c4 10             	add    $0x10,%esp
c001ef9f:	e8 bc e0 ff ff       	call   c001d060 <idt_flush>
c001efa4:	83 ec 08             	sub    $0x8,%esp
c001efa7:	6a 11                	push   $0x11
c001efa9:	6a 20                	push   $0x20
c001efab:	e8 ec 4a 00 00       	call   c0023a9c <_Z8outportbth>
c001efb0:	83 c4 10             	add    $0x10,%esp
c001efb3:	83 ec 08             	sub    $0x8,%esp
c001efb6:	6a 11                	push   $0x11
c001efb8:	68 a0 00 00 00       	push   $0xa0
c001efbd:	e8 da 4a 00 00       	call   c0023a9c <_Z8outportbth>
c001efc2:	83 c4 10             	add    $0x10,%esp
c001efc5:	83 ec 08             	sub    $0x8,%esp
c001efc8:	6a 20                	push   $0x20
c001efca:	6a 21                	push   $0x21
c001efcc:	e8 cb 4a 00 00       	call   c0023a9c <_Z8outportbth>
c001efd1:	83 c4 10             	add    $0x10,%esp
c001efd4:	83 ec 08             	sub    $0x8,%esp
c001efd7:	6a 28                	push   $0x28
c001efd9:	68 a1 00 00 00       	push   $0xa1
c001efde:	e8 b9 4a 00 00       	call   c0023a9c <_Z8outportbth>
c001efe3:	83 c4 10             	add    $0x10,%esp
c001efe6:	83 ec 08             	sub    $0x8,%esp
c001efe9:	6a 04                	push   $0x4
c001efeb:	6a 21                	push   $0x21
c001efed:	e8 aa 4a 00 00       	call   c0023a9c <_Z8outportbth>
c001eff2:	83 c4 10             	add    $0x10,%esp
c001eff5:	83 ec 08             	sub    $0x8,%esp
c001eff8:	6a 02                	push   $0x2
c001effa:	68 a1 00 00 00       	push   $0xa1
c001efff:	e8 98 4a 00 00       	call   c0023a9c <_Z8outportbth>
c001f004:	83 c4 10             	add    $0x10,%esp
c001f007:	83 ec 08             	sub    $0x8,%esp
c001f00a:	6a 01                	push   $0x1
c001f00c:	6a 21                	push   $0x21
c001f00e:	e8 89 4a 00 00       	call   c0023a9c <_Z8outportbth>
c001f013:	83 c4 10             	add    $0x10,%esp
c001f016:	83 ec 08             	sub    $0x8,%esp
c001f019:	6a 01                	push   $0x1
c001f01b:	68 a1 00 00 00       	push   $0xa1
c001f020:	e8 77 4a 00 00       	call   c0023a9c <_Z8outportbth>
c001f025:	83 c4 10             	add    $0x10,%esp
c001f028:	83 ec 08             	sub    $0x8,%esp
c001f02b:	6a 00                	push   $0x0
c001f02d:	6a 21                	push   $0x21
c001f02f:	e8 68 4a 00 00       	call   c0023a9c <_Z8outportbth>
c001f034:	83 c4 10             	add    $0x10,%esp
c001f037:	83 ec 08             	sub    $0x8,%esp
c001f03a:	6a 00                	push   $0x0
c001f03c:	68 a1 00 00 00       	push   $0xa1
c001f041:	e8 56 4a 00 00       	call   c0023a9c <_Z8outportbth>
c001f046:	83 c4 10             	add    $0x10,%esp
c001f049:	b8 ec d1 01 c0       	mov    $0xc001d1ec,%eax
c001f04e:	68 8e 00 00 00       	push   $0x8e
c001f053:	6a 08                	push   $0x8
c001f055:	50                   	push   %eax
c001f056:	6a 20                	push   $0x20
c001f058:	e8 af fb ff ff       	call   c001ec0c <_ZL12idt_set_gatehmth>
c001f05d:	83 c4 10             	add    $0x10,%esp
c001f060:	b8 f6 d1 01 c0       	mov    $0xc001d1f6,%eax
c001f065:	68 8e 00 00 00       	push   $0x8e
c001f06a:	6a 08                	push   $0x8
c001f06c:	50                   	push   %eax
c001f06d:	6a 21                	push   $0x21
c001f06f:	e8 98 fb ff ff       	call   c001ec0c <_ZL12idt_set_gatehmth>
c001f074:	83 c4 10             	add    $0x10,%esp
c001f077:	b8 00 d2 01 c0       	mov    $0xc001d200,%eax
c001f07c:	68 8e 00 00 00       	push   $0x8e
c001f081:	6a 08                	push   $0x8
c001f083:	50                   	push   %eax
c001f084:	6a 22                	push   $0x22
c001f086:	e8 81 fb ff ff       	call   c001ec0c <_ZL12idt_set_gatehmth>
c001f08b:	83 c4 10             	add    $0x10,%esp
c001f08e:	b8 0a d2 01 c0       	mov    $0xc001d20a,%eax
c001f093:	68 8e 00 00 00       	push   $0x8e
c001f098:	6a 08                	push   $0x8
c001f09a:	50                   	push   %eax
c001f09b:	6a 23                	push   $0x23
c001f09d:	e8 6a fb ff ff       	call   c001ec0c <_ZL12idt_set_gatehmth>
c001f0a2:	83 c4 10             	add    $0x10,%esp
c001f0a5:	b8 14 d2 01 c0       	mov    $0xc001d214,%eax
c001f0aa:	68 8e 00 00 00       	push   $0x8e
c001f0af:	6a 08                	push   $0x8
c001f0b1:	50                   	push   %eax
c001f0b2:	6a 24                	push   $0x24
c001f0b4:	e8 53 fb ff ff       	call   c001ec0c <_ZL12idt_set_gatehmth>
c001f0b9:	83 c4 10             	add    $0x10,%esp
c001f0bc:	b8 1e d2 01 c0       	mov    $0xc001d21e,%eax
c001f0c1:	68 8e 00 00 00       	push   $0x8e
c001f0c6:	6a 08                	push   $0x8
c001f0c8:	50                   	push   %eax
c001f0c9:	6a 25                	push   $0x25
c001f0cb:	e8 3c fb ff ff       	call   c001ec0c <_ZL12idt_set_gatehmth>
c001f0d0:	83 c4 10             	add    $0x10,%esp
c001f0d3:	b8 28 d2 01 c0       	mov    $0xc001d228,%eax
c001f0d8:	68 8e 00 00 00       	push   $0x8e
c001f0dd:	6a 08                	push   $0x8
c001f0df:	50                   	push   %eax
c001f0e0:	6a 26                	push   $0x26
c001f0e2:	e8 25 fb ff ff       	call   c001ec0c <_ZL12idt_set_gatehmth>
c001f0e7:	83 c4 10             	add    $0x10,%esp
c001f0ea:	b8 32 d2 01 c0       	mov    $0xc001d232,%eax
c001f0ef:	68 8e 00 00 00       	push   $0x8e
c001f0f4:	6a 08                	push   $0x8
c001f0f6:	50                   	push   %eax
c001f0f7:	6a 27                	push   $0x27
c001f0f9:	e8 0e fb ff ff       	call   c001ec0c <_ZL12idt_set_gatehmth>
c001f0fe:	83 c4 10             	add    $0x10,%esp
c001f101:	b8 3c d2 01 c0       	mov    $0xc001d23c,%eax
c001f106:	68 8e 00 00 00       	push   $0x8e
c001f10b:	6a 08                	push   $0x8
c001f10d:	50                   	push   %eax
c001f10e:	6a 28                	push   $0x28
c001f110:	e8 f7 fa ff ff       	call   c001ec0c <_ZL12idt_set_gatehmth>
c001f115:	83 c4 10             	add    $0x10,%esp
c001f118:	b8 46 d2 01 c0       	mov    $0xc001d246,%eax
c001f11d:	68 8e 00 00 00       	push   $0x8e
c001f122:	6a 08                	push   $0x8
c001f124:	50                   	push   %eax
c001f125:	6a 29                	push   $0x29
c001f127:	e8 e0 fa ff ff       	call   c001ec0c <_ZL12idt_set_gatehmth>
c001f12c:	83 c4 10             	add    $0x10,%esp
c001f12f:	b8 50 d2 01 c0       	mov    $0xc001d250,%eax
c001f134:	68 8e 00 00 00       	push   $0x8e
c001f139:	6a 08                	push   $0x8
c001f13b:	50                   	push   %eax
c001f13c:	6a 2a                	push   $0x2a
c001f13e:	e8 c9 fa ff ff       	call   c001ec0c <_ZL12idt_set_gatehmth>
c001f143:	83 c4 10             	add    $0x10,%esp
c001f146:	b8 5a d2 01 c0       	mov    $0xc001d25a,%eax
c001f14b:	68 8e 00 00 00       	push   $0x8e
c001f150:	6a 08                	push   $0x8
c001f152:	50                   	push   %eax
c001f153:	6a 2b                	push   $0x2b
c001f155:	e8 b2 fa ff ff       	call   c001ec0c <_ZL12idt_set_gatehmth>
c001f15a:	83 c4 10             	add    $0x10,%esp
c001f15d:	b8 64 d2 01 c0       	mov    $0xc001d264,%eax
c001f162:	68 8e 00 00 00       	push   $0x8e
c001f167:	6a 08                	push   $0x8
c001f169:	50                   	push   %eax
c001f16a:	6a 2c                	push   $0x2c
c001f16c:	e8 9b fa ff ff       	call   c001ec0c <_ZL12idt_set_gatehmth>
c001f171:	83 c4 10             	add    $0x10,%esp
c001f174:	b8 6e d2 01 c0       	mov    $0xc001d26e,%eax
c001f179:	68 8e 00 00 00       	push   $0x8e
c001f17e:	6a 08                	push   $0x8
c001f180:	50                   	push   %eax
c001f181:	6a 2d                	push   $0x2d
c001f183:	e8 84 fa ff ff       	call   c001ec0c <_ZL12idt_set_gatehmth>
c001f188:	83 c4 10             	add    $0x10,%esp
c001f18b:	b8 78 d2 01 c0       	mov    $0xc001d278,%eax
c001f190:	68 8e 00 00 00       	push   $0x8e
c001f195:	6a 08                	push   $0x8
c001f197:	50                   	push   %eax
c001f198:	6a 2e                	push   $0x2e
c001f19a:	e8 6d fa ff ff       	call   c001ec0c <_ZL12idt_set_gatehmth>
c001f19f:	83 c4 10             	add    $0x10,%esp
c001f1a2:	b8 82 d2 01 c0       	mov    $0xc001d282,%eax
c001f1a7:	68 8e 00 00 00       	push   $0x8e
c001f1ac:	6a 08                	push   $0x8
c001f1ae:	50                   	push   %eax
c001f1af:	6a 2f                	push   $0x2f
c001f1b1:	e8 56 fa ff ff       	call   c001ec0c <_ZL12idt_set_gatehmth>
c001f1b6:	83 c4 10             	add    $0x10,%esp
c001f1b9:	83 ec 04             	sub    $0x4,%esp
c001f1bc:	68 00 04 00 00       	push   $0x400
c001f1c1:	6a 00                	push   $0x0
c001f1c3:	68 e0 ba 02 c0       	push   $0xc002bae0
c001f1c8:	e8 97 0b 00 00       	call   c001fd64 <memset>
c001f1cd:	83 c4 10             	add    $0x10,%esp
c001f1d0:	fb                   	sti    
c001f1d1:	90                   	nop
c001f1d2:	c9                   	leave  
c001f1d3:	c3                   	ret    

c001f1d4 <isr_handler>:
c001f1d4:	55                   	push   %ebp
c001f1d5:	89 e5                	mov    %esp,%ebp
c001f1d7:	83 ec 08             	sub    $0x8,%esp
c001f1da:	8b 45 08             	mov    0x8(%ebp),%eax
c001f1dd:	8b 40 30             	mov    0x30(%eax),%eax
c001f1e0:	8b 04 85 e0 ba 02 c0 	mov    -0x3ffd4520(,%eax,4),%eax
c001f1e7:	85 c0                	test   %eax,%eax
c001f1e9:	74 1d                	je     c001f208 <isr_handler+0x34>
c001f1eb:	8b 45 08             	mov    0x8(%ebp),%eax
c001f1ee:	8b 40 30             	mov    0x30(%eax),%eax
c001f1f1:	8b 04 85 e0 ba 02 c0 	mov    -0x3ffd4520(,%eax,4),%eax
c001f1f8:	83 ec 0c             	sub    $0xc,%esp
c001f1fb:	ff 75 08             	pushl  0x8(%ebp)
c001f1fe:	ff d0                	call   *%eax
c001f200:	83 c4 10             	add    $0x10,%esp
c001f203:	e9 b8 00 00 00       	jmp    c001f2c0 <isr_handler+0xec>
c001f208:	8b 45 08             	mov    0x8(%ebp),%eax
c001f20b:	8b 40 30             	mov    0x30(%eax),%eax
c001f20e:	83 f8 69             	cmp    $0x69,%eax
c001f211:	75 15                	jne    c001f228 <isr_handler+0x54>
c001f213:	83 ec 0c             	sub    $0xc,%esp
c001f216:	68 79 67 02 c0       	push   $0xc0026779
c001f21b:	e8 6e 29 00 00       	call   c0021b8e <write_serial_string>
c001f220:	83 c4 10             	add    $0x10,%esp
c001f223:	e9 98 00 00 00       	jmp    c001f2c0 <isr_handler+0xec>
c001f228:	83 ec 0c             	sub    $0xc,%esp
c001f22b:	68 8f 67 02 c0       	push   $0xc002678f
c001f230:	e8 59 29 00 00       	call   c0021b8e <write_serial_string>
c001f235:	83 c4 10             	add    $0x10,%esp
c001f238:	8b 45 08             	mov    0x8(%ebp),%eax
c001f23b:	8b 40 30             	mov    0x30(%eax),%eax
c001f23e:	83 ec 04             	sub    $0x4,%esp
c001f241:	6a 0a                	push   $0xa
c001f243:	6a 00                	push   $0x0
c001f245:	50                   	push   %eax
c001f246:	e8 72 3f 00 00       	call   c00231bd <_Z4itoamPci>
c001f24b:	83 c4 10             	add    $0x10,%esp
c001f24e:	83 ec 0c             	sub    $0xc,%esp
c001f251:	50                   	push   %eax
c001f252:	e8 37 29 00 00       	call   c0021b8e <write_serial_string>
c001f257:	83 c4 10             	add    $0x10,%esp
c001f25a:	83 ec 0c             	sub    $0xc,%esp
c001f25d:	68 a1 67 02 c0       	push   $0xc00267a1
c001f262:	e8 27 29 00 00       	call   c0021b8e <write_serial_string>
c001f267:	83 c4 10             	add    $0x10,%esp
c001f26a:	8b 45 08             	mov    0x8(%ebp),%eax
c001f26d:	8b 40 38             	mov    0x38(%eax),%eax
c001f270:	83 ec 04             	sub    $0x4,%esp
c001f273:	6a 10                	push   $0x10
c001f275:	6a 00                	push   $0x0
c001f277:	50                   	push   %eax
c001f278:	e8 40 3f 00 00       	call   c00231bd <_Z4itoamPci>
c001f27d:	83 c4 10             	add    $0x10,%esp
c001f280:	83 ec 0c             	sub    $0xc,%esp
c001f283:	50                   	push   %eax
c001f284:	e8 05 29 00 00       	call   c0021b8e <write_serial_string>
c001f289:	83 c4 10             	add    $0x10,%esp
c001f28c:	83 ec 0c             	sub    $0xc,%esp
c001f28f:	68 a9 67 02 c0       	push   $0xc00267a9
c001f294:	e8 f5 28 00 00       	call   c0021b8e <write_serial_string>
c001f299:	83 c4 10             	add    $0x10,%esp
c001f29c:	8b 45 08             	mov    0x8(%ebp),%eax
c001f29f:	8b 40 34             	mov    0x34(%eax),%eax
c001f2a2:	83 ec 04             	sub    $0x4,%esp
c001f2a5:	6a 10                	push   $0x10
c001f2a7:	6a 00                	push   $0x0
c001f2a9:	50                   	push   %eax
c001f2aa:	e8 0e 3f 00 00       	call   c00231bd <_Z4itoamPci>
c001f2af:	83 c4 10             	add    $0x10,%esp
c001f2b2:	83 ec 0c             	sub    $0xc,%esp
c001f2b5:	50                   	push   %eax
c001f2b6:	e8 d3 28 00 00       	call   c0021b8e <write_serial_string>
c001f2bb:	83 c4 10             	add    $0x10,%esp
c001f2be:	eb fe                	jmp    c001f2be <isr_handler+0xea>
c001f2c0:	c9                   	leave  
c001f2c1:	c3                   	ret    

c001f2c2 <irq_handler>:
c001f2c2:	55                   	push   %ebp
c001f2c3:	89 e5                	mov    %esp,%ebp
c001f2c5:	83 ec 18             	sub    $0x18,%esp
c001f2c8:	8b 45 08             	mov    0x8(%ebp),%eax
c001f2cb:	8b 40 30             	mov    0x30(%eax),%eax
c001f2ce:	83 f8 27             	cmp    $0x27,%eax
c001f2d1:	76 12                	jbe    c001f2e5 <irq_handler+0x23>
c001f2d3:	83 ec 08             	sub    $0x8,%esp
c001f2d6:	6a 20                	push   $0x20
c001f2d8:	68 a0 00 00 00       	push   $0xa0
c001f2dd:	e8 ba 47 00 00       	call   c0023a9c <_Z8outportbth>
c001f2e2:	83 c4 10             	add    $0x10,%esp
c001f2e5:	83 ec 08             	sub    $0x8,%esp
c001f2e8:	6a 20                	push   $0x20
c001f2ea:	6a 20                	push   $0x20
c001f2ec:	e8 ab 47 00 00       	call   c0023a9c <_Z8outportbth>
c001f2f1:	83 c4 10             	add    $0x10,%esp
c001f2f4:	8b 45 08             	mov    0x8(%ebp),%eax
c001f2f7:	8b 40 30             	mov    0x30(%eax),%eax
c001f2fa:	8b 04 85 e0 ba 02 c0 	mov    -0x3ffd4520(,%eax,4),%eax
c001f301:	85 c0                	test   %eax,%eax
c001f303:	74 1e                	je     c001f323 <irq_handler+0x61>
c001f305:	8b 45 08             	mov    0x8(%ebp),%eax
c001f308:	8b 40 30             	mov    0x30(%eax),%eax
c001f30b:	8b 04 85 e0 ba 02 c0 	mov    -0x3ffd4520(,%eax,4),%eax
c001f312:	89 45 f4             	mov    %eax,-0xc(%ebp)
c001f315:	83 ec 0c             	sub    $0xc,%esp
c001f318:	ff 75 08             	pushl  0x8(%ebp)
c001f31b:	8b 45 f4             	mov    -0xc(%ebp),%eax
c001f31e:	ff d0                	call   *%eax
c001f320:	83 c4 10             	add    $0x10,%esp
c001f323:	90                   	nop
c001f324:	c9                   	leave  
c001f325:	c3                   	ret    

c001f326 <interrupt_register_handler>:
c001f326:	55                   	push   %ebp
c001f327:	89 e5                	mov    %esp,%ebp
c001f329:	83 ec 04             	sub    $0x4,%esp
c001f32c:	8b 45 08             	mov    0x8(%ebp),%eax
c001f32f:	88 45 fc             	mov    %al,-0x4(%ebp)
c001f332:	0f b6 45 fc          	movzbl -0x4(%ebp),%eax
c001f336:	8b 55 0c             	mov    0xc(%ebp),%edx
c001f339:	89 14 85 e0 ba 02 c0 	mov    %edx,-0x3ffd4520(,%eax,4)
c001f340:	90                   	nop
c001f341:	c9                   	leave  
c001f342:	c3                   	ret    

c001f343 <_Z11initrd_initmm>:
c001f343:	55                   	push   %ebp
c001f344:	89 e5                	mov    %esp,%ebp
c001f346:	83 ec 18             	sub    $0x18,%esp
c001f349:	8b 45 0c             	mov    0xc(%ebp),%eax
c001f34c:	c1 e8 0c             	shr    $0xc,%eax
c001f34f:	83 c0 01             	add    $0x1,%eax
c001f352:	83 ec 0c             	sub    $0xc,%esp
c001f355:	50                   	push   %eax
c001f356:	e8 e9 18 00 00       	call   c0020c44 <_Z21kernel_pages_allocatem>
c001f35b:	83 c4 10             	add    $0x10,%esp
c001f35e:	89 45 f4             	mov    %eax,-0xc(%ebp)
c001f361:	8b 45 0c             	mov    0xc(%ebp),%eax
c001f364:	c1 e8 0c             	shr    $0xc,%eax
c001f367:	83 c0 01             	add    $0x1,%eax
c001f36a:	83 ec 04             	sub    $0x4,%esp
c001f36d:	50                   	push   %eax
c001f36e:	ff 75 f4             	pushl  -0xc(%ebp)
c001f371:	ff 75 08             	pushl  0x8(%ebp)
c001f374:	e8 f7 1a 00 00       	call   c0020e70 <_Z8map_pagemmm>
c001f379:	83 c4 10             	add    $0x10,%esp
c001f37c:	8b 45 f4             	mov    -0xc(%ebp),%eax
c001f37f:	a3 f8 be 02 c0       	mov    %eax,0xc002bef8
c001f384:	8b 45 08             	mov    0x8(%ebp),%eax
c001f387:	8b 10                	mov    (%eax),%edx
c001f389:	89 15 e0 be 02 c0    	mov    %edx,0xc002bee0
c001f38f:	8b 50 04             	mov    0x4(%eax),%edx
c001f392:	89 15 e4 be 02 c0    	mov    %edx,0xc002bee4
c001f398:	8b 50 08             	mov    0x8(%eax),%edx
c001f39b:	89 15 e8 be 02 c0    	mov    %edx,0xc002bee8
c001f3a1:	8b 50 0c             	mov    0xc(%eax),%edx
c001f3a4:	89 15 ec be 02 c0    	mov    %edx,0xc002beec
c001f3aa:	8b 40 10             	mov    0x10(%eax),%eax
c001f3ad:	a3 f0 be 02 c0       	mov    %eax,0xc002bef0
c001f3b2:	8b 45 f4             	mov    -0xc(%ebp),%eax
c001f3b5:	83 c0 14             	add    $0x14,%eax
c001f3b8:	a3 f4 be 02 c0       	mov    %eax,0xc002bef4
c001f3bd:	83 ec 08             	sub    $0x8,%esp
c001f3c0:	68 b8 67 02 c0       	push   $0xc00267b8
c001f3c5:	68 00 bf 02 c0       	push   $0xc002bf00
c001f3ca:	e8 6b 3f 00 00       	call   c002333a <_Z6strcpyPcPKc>
c001f3cf:	83 c4 10             	add    $0x10,%esp
c001f3d2:	c7 05 80 bf 02 c0 02 	movl   $0x2,0xc002bf80
c001f3d9:	00 00 00 
c001f3dc:	c7 05 8c bf 02 c0 00 	movl   $0x0,0xc002bf8c
c001f3e3:	00 00 00 
c001f3e6:	c7 05 a4 bf 02 c0 49 	movl   $0xc001f549,0xc002bfa4
c001f3ed:	f5 01 c0 
c001f3f0:	c7 05 a8 bf 02 c0 53 	movl   $0xc001f553,0xc002bfa8
c001f3f7:	f5 01 c0 
c001f3fa:	83 ec 08             	sub    $0x8,%esp
c001f3fd:	68 b9 67 02 c0       	push   $0xc00267b9
c001f402:	68 c0 bf 02 c0       	push   $0xc002bfc0
c001f407:	e8 2e 3f 00 00       	call   c002333a <_Z6strcpyPcPKc>
c001f40c:	83 c4 10             	add    $0x10,%esp
c001f40f:	c7 05 40 c0 02 c0 02 	movl   $0x2,0xc002c040
c001f416:	00 00 00 
c001f419:	c7 05 4c c0 02 c0 00 	movl   $0x0,0xc002c04c
c001f420:	00 00 00 
c001f423:	c7 05 64 c0 02 c0 49 	movl   $0xc001f549,0xc002c064
c001f42a:	f5 01 c0 
c001f42d:	c7 05 68 c0 02 c0 53 	movl   $0xc001f553,0xc002c068
c001f434:	f5 01 c0 
c001f437:	83 ec 08             	sub    $0x8,%esp
c001f43a:	68 bd 67 02 c0       	push   $0xc00267bd
c001f43f:	68 80 c0 02 c0       	push   $0xc002c080
c001f444:	e8 f1 3e 00 00       	call   c002333a <_Z6strcpyPcPKc>
c001f449:	83 c4 10             	add    $0x10,%esp
c001f44c:	c7 05 00 c1 02 c0 01 	movl   $0x1,0xc002c100
c001f453:	00 00 00 
c001f456:	c7 05 0c c1 02 c0 00 	movl   $0x0,0xc002c10c
c001f45d:	00 00 00 
c001f460:	c7 05 14 c1 02 c0 15 	movl   $0xc001f515,0xc002c114
c001f467:	f5 01 c0 
c001f46a:	90                   	nop
c001f46b:	c9                   	leave  
c001f46c:	c3                   	ret    

c001f46d <_Z4readP7fs_nodemmPh>:
c001f46d:	55                   	push   %ebp
c001f46e:	89 e5                	mov    %esp,%ebp
c001f470:	83 ec 38             	sub    $0x38,%esp
c001f473:	8b 15 f4 be 02 c0    	mov    0xc002bef4,%edx
c001f479:	8b 45 08             	mov    0x8(%ebp),%eax
c001f47c:	8b 80 8c 00 00 00    	mov    0x8c(%eax),%eax
c001f482:	6b c0 2b             	imul   $0x2b,%eax,%eax
c001f485:	01 d0                	add    %edx,%eax
c001f487:	8b 10                	mov    (%eax),%edx
c001f489:	89 55 cd             	mov    %edx,-0x33(%ebp)
c001f48c:	8b 50 04             	mov    0x4(%eax),%edx
c001f48f:	89 55 d1             	mov    %edx,-0x2f(%ebp)
c001f492:	8b 50 08             	mov    0x8(%eax),%edx
c001f495:	89 55 d5             	mov    %edx,-0x2b(%ebp)
c001f498:	8b 50 0c             	mov    0xc(%eax),%edx
c001f49b:	89 55 d9             	mov    %edx,-0x27(%ebp)
c001f49e:	8b 50 10             	mov    0x10(%eax),%edx
c001f4a1:	89 55 dd             	mov    %edx,-0x23(%ebp)
c001f4a4:	8b 50 14             	mov    0x14(%eax),%edx
c001f4a7:	89 55 e1             	mov    %edx,-0x1f(%ebp)
c001f4aa:	8b 50 18             	mov    0x18(%eax),%edx
c001f4ad:	89 55 e5             	mov    %edx,-0x1b(%ebp)
c001f4b0:	8b 50 1c             	mov    0x1c(%eax),%edx
c001f4b3:	89 55 e9             	mov    %edx,-0x17(%ebp)
c001f4b6:	8b 50 20             	mov    0x20(%eax),%edx
c001f4b9:	89 55 ed             	mov    %edx,-0x13(%ebp)
c001f4bc:	8b 50 24             	mov    0x24(%eax),%edx
c001f4bf:	89 55 f1             	mov    %edx,-0xf(%ebp)
c001f4c2:	0f b7 50 28          	movzwl 0x28(%eax),%edx
c001f4c6:	66 89 55 f5          	mov    %dx,-0xb(%ebp)
c001f4ca:	0f b6 40 2a          	movzbl 0x2a(%eax),%eax
c001f4ce:	88 45 f7             	mov    %al,-0x9(%ebp)
c001f4d1:	8b 45 f3             	mov    -0xd(%ebp),%eax
c001f4d4:	39 45 0c             	cmp    %eax,0xc(%ebp)
c001f4d7:	77 0f                	ja     c001f4e8 <_Z4readP7fs_nodemmPh+0x7b>
c001f4d9:	8b 55 0c             	mov    0xc(%ebp),%edx
c001f4dc:	8b 45 10             	mov    0x10(%ebp),%eax
c001f4df:	01 c2                	add    %eax,%edx
c001f4e1:	8b 45 f3             	mov    -0xd(%ebp),%eax
c001f4e4:	39 c2                	cmp    %eax,%edx
c001f4e6:	76 07                	jbe    c001f4ef <_Z4readP7fs_nodemmPh+0x82>
c001f4e8:	b8 00 00 00 00       	mov    $0x0,%eax
c001f4ed:	eb 24                	jmp    c001f513 <_Z4readP7fs_nodemmPh+0xa6>
c001f4ef:	8b 55 ef             	mov    -0x11(%ebp),%edx
c001f4f2:	a1 f8 be 02 c0       	mov    0xc002bef8,%eax
c001f4f7:	01 c2                	add    %eax,%edx
c001f4f9:	8b 45 0c             	mov    0xc(%ebp),%eax
c001f4fc:	01 d0                	add    %edx,%eax
c001f4fe:	83 ec 04             	sub    $0x4,%esp
c001f501:	ff 75 10             	pushl  0x10(%ebp)
c001f504:	50                   	push   %eax
c001f505:	ff 75 14             	pushl  0x14(%ebp)
c001f508:	e8 f8 08 00 00       	call   c001fe05 <_Z11memcpy_sse2PvS_m>
c001f50d:	83 c4 10             	add    $0x10,%esp
c001f510:	8b 45 10             	mov    0x10(%ebp),%eax
c001f513:	c9                   	leave  
c001f514:	c3                   	ret    

c001f515 <_Z9read_nullP7fs_nodemmPh>:
c001f515:	55                   	push   %ebp
c001f516:	89 e5                	mov    %esp,%ebp
c001f518:	83 ec 08             	sub    $0x8,%esp
c001f51b:	83 ec 04             	sub    $0x4,%esp
c001f51e:	ff 75 10             	pushl  0x10(%ebp)
c001f521:	6a ff                	push   $0xffffffff
c001f523:	ff 75 14             	pushl  0x14(%ebp)
c001f526:	e8 39 08 00 00       	call   c001fd64 <memset>
c001f52b:	83 c4 10             	add    $0x10,%esp
c001f52e:	8b 45 10             	mov    0x10(%ebp),%eax
c001f531:	c9                   	leave  
c001f532:	c3                   	ret    

c001f533 <_Z5writeP7fs_nodemmPh>:
c001f533:	55                   	push   %ebp
c001f534:	89 e5                	mov    %esp,%ebp
c001f536:	b8 00 00 00 00       	mov    $0x0,%eax
c001f53b:	5d                   	pop    %ebp
c001f53c:	c3                   	ret    

c001f53d <_Z4openP7fs_nodem>:
c001f53d:	55                   	push   %ebp
c001f53e:	89 e5                	mov    %esp,%ebp
c001f540:	90                   	nop
c001f541:	5d                   	pop    %ebp
c001f542:	c3                   	ret    

c001f543 <_Z5closeP7fs_node>:
c001f543:	55                   	push   %ebp
c001f544:	89 e5                	mov    %esp,%ebp
c001f546:	90                   	nop
c001f547:	5d                   	pop    %ebp
c001f548:	c3                   	ret    

c001f549 <_Z8read_dirP7fs_nodem>:
c001f549:	55                   	push   %ebp
c001f54a:	89 e5                	mov    %esp,%ebp
c001f54c:	b8 00 00 00 00       	mov    $0x0,%eax
c001f551:	5d                   	pop    %ebp
c001f552:	c3                   	ret    

c001f553 <_Z8find_dirP7fs_nodePc>:
c001f553:	55                   	push   %ebp
c001f554:	89 e5                	mov    %esp,%ebp
c001f556:	b8 00 00 00 00       	mov    $0x0,%eax
c001f55b:	5d                   	pop    %ebp
c001f55c:	c3                   	ret    

c001f55d <_Z11initrd_listv>:
c001f55d:	55                   	push   %ebp
c001f55e:	89 e5                	mov    %esp,%ebp
c001f560:	a1 f4 be 02 c0       	mov    0xc002bef4,%eax
c001f565:	5d                   	pop    %ebp
c001f566:	c3                   	ret    

c001f567 <_Z17initrd_get_headerv>:
c001f567:	55                   	push   %ebp
c001f568:	89 e5                	mov    %esp,%ebp
c001f56a:	b8 e0 be 02 c0       	mov    $0xc002bee0,%eax
c001f56f:	5d                   	pop    %ebp
c001f570:	c3                   	ret    

c001f571 <_Z11initrd_readi>:
c001f571:	55                   	push   %ebp
c001f572:	89 e5                	mov    %esp,%ebp
c001f574:	8b 15 f4 be 02 c0    	mov    0xc002bef4,%edx
c001f57a:	8b 45 08             	mov    0x8(%ebp),%eax
c001f57d:	6b c0 2b             	imul   $0x2b,%eax,%eax
c001f580:	01 d0                	add    %edx,%eax
c001f582:	8b 50 22             	mov    0x22(%eax),%edx
c001f585:	a1 f8 be 02 c0       	mov    0xc002bef8,%eax
c001f58a:	01 d0                	add    %edx,%eax
c001f58c:	5d                   	pop    %ebp
c001f58d:	c3                   	ret    

c001f58e <_Z11initrd_read18lemoninitfs_node_tPh>:
c001f58e:	55                   	push   %ebp
c001f58f:	89 e5                	mov    %esp,%ebp
c001f591:	83 ec 08             	sub    $0x8,%esp
c001f594:	8b 45 2e             	mov    0x2e(%ebp),%eax
c001f597:	8b 4d 2a             	mov    0x2a(%ebp),%ecx
c001f59a:	8b 15 f8 be 02 c0    	mov    0xc002bef8,%edx
c001f5a0:	01 ca                	add    %ecx,%edx
c001f5a2:	83 ec 04             	sub    $0x4,%esp
c001f5a5:	50                   	push   %eax
c001f5a6:	52                   	push   %edx
c001f5a7:	ff 75 34             	pushl  0x34(%ebp)
c001f5aa:	e8 e8 07 00 00       	call   c001fd97 <_Z6memcpyPvS_m>
c001f5af:	83 c4 10             	add    $0x10,%esp
c001f5b2:	8b 45 34             	mov    0x34(%ebp),%eax
c001f5b5:	c9                   	leave  
c001f5b6:	c3                   	ret    

c001f5b7 <_Z11initrd_readPc>:
c001f5b7:	55                   	push   %ebp
c001f5b8:	89 e5                	mov    %esp,%ebp
c001f5ba:	83 ec 10             	sub    $0x10,%esp
c001f5bd:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
c001f5c4:	a1 e0 be 02 c0       	mov    0xc002bee0,%eax
c001f5c9:	39 45 fc             	cmp    %eax,-0x4(%ebp)
c001f5cc:	73 36                	jae    c001f604 <_Z11initrd_readPc+0x4d>
c001f5ce:	8b 15 f4 be 02 c0    	mov    0xc002bef4,%edx
c001f5d4:	8b 45 fc             	mov    -0x4(%ebp),%eax
c001f5d7:	6b c0 2b             	imul   $0x2b,%eax,%eax
c001f5da:	01 d0                	add    %edx,%eax
c001f5dc:	83 c0 02             	add    $0x2,%eax
c001f5df:	39 45 08             	cmp    %eax,0x8(%ebp)
c001f5e2:	75 1a                	jne    c001f5fe <_Z11initrd_readPc+0x47>
c001f5e4:	8b 15 f4 be 02 c0    	mov    0xc002bef4,%edx
c001f5ea:	8b 45 fc             	mov    -0x4(%ebp),%eax
c001f5ed:	6b c0 2b             	imul   $0x2b,%eax,%eax
c001f5f0:	01 d0                	add    %edx,%eax
c001f5f2:	8b 50 22             	mov    0x22(%eax),%edx
c001f5f5:	a1 f8 be 02 c0       	mov    0xc002bef8,%eax
c001f5fa:	01 d0                	add    %edx,%eax
c001f5fc:	eb 0b                	jmp    c001f609 <_Z11initrd_readPc+0x52>
c001f5fe:	83 45 fc 01          	addl   $0x1,-0x4(%ebp)
c001f602:	eb c0                	jmp    c001f5c4 <_Z11initrd_readPc+0xd>
c001f604:	b8 00 00 00 00       	mov    $0x0,%eax
c001f609:	c9                   	leave  
c001f60a:	c3                   	ret    

c001f60b <_Z15initrd_get_nodePc>:
c001f60b:	55                   	push   %ebp
c001f60c:	89 e5                	mov    %esp,%ebp
c001f60e:	83 ec 10             	sub    $0x10,%esp
c001f611:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
c001f618:	a1 e0 be 02 c0       	mov    0xc002bee0,%eax
c001f61d:	39 45 fc             	cmp    %eax,-0x4(%ebp)
c001f620:	73 7b                	jae    c001f69d <_Z15initrd_get_nodePc+0x92>
c001f622:	8b 15 f4 be 02 c0    	mov    0xc002bef4,%edx
c001f628:	8b 45 fc             	mov    -0x4(%ebp),%eax
c001f62b:	6b c0 2b             	imul   $0x2b,%eax,%eax
c001f62e:	01 d0                	add    %edx,%eax
c001f630:	83 c0 02             	add    $0x2,%eax
c001f633:	39 45 0c             	cmp    %eax,0xc(%ebp)
c001f636:	75 5c                	jne    c001f694 <_Z15initrd_get_nodePc+0x89>
c001f638:	8b 15 f4 be 02 c0    	mov    0xc002bef4,%edx
c001f63e:	8b 45 fc             	mov    -0x4(%ebp),%eax
c001f641:	6b c0 2b             	imul   $0x2b,%eax,%eax
c001f644:	01 c2                	add    %eax,%edx
c001f646:	8b 45 08             	mov    0x8(%ebp),%eax
c001f649:	8b 0a                	mov    (%edx),%ecx
c001f64b:	89 08                	mov    %ecx,(%eax)
c001f64d:	8b 4a 04             	mov    0x4(%edx),%ecx
c001f650:	89 48 04             	mov    %ecx,0x4(%eax)
c001f653:	8b 4a 08             	mov    0x8(%edx),%ecx
c001f656:	89 48 08             	mov    %ecx,0x8(%eax)
c001f659:	8b 4a 0c             	mov    0xc(%edx),%ecx
c001f65c:	89 48 0c             	mov    %ecx,0xc(%eax)
c001f65f:	8b 4a 10             	mov    0x10(%edx),%ecx
c001f662:	89 48 10             	mov    %ecx,0x10(%eax)
c001f665:	8b 4a 14             	mov    0x14(%edx),%ecx
c001f668:	89 48 14             	mov    %ecx,0x14(%eax)
c001f66b:	8b 4a 18             	mov    0x18(%edx),%ecx
c001f66e:	89 48 18             	mov    %ecx,0x18(%eax)
c001f671:	8b 4a 1c             	mov    0x1c(%edx),%ecx
c001f674:	89 48 1c             	mov    %ecx,0x1c(%eax)
c001f677:	8b 4a 20             	mov    0x20(%edx),%ecx
c001f67a:	89 48 20             	mov    %ecx,0x20(%eax)
c001f67d:	8b 4a 24             	mov    0x24(%edx),%ecx
c001f680:	89 48 24             	mov    %ecx,0x24(%eax)
c001f683:	0f b7 4a 28          	movzwl 0x28(%edx),%ecx
c001f687:	66 89 48 28          	mov    %cx,0x28(%eax)
c001f68b:	0f b6 52 2a          	movzbl 0x2a(%edx),%edx
c001f68f:	88 50 2a             	mov    %dl,0x2a(%eax)
c001f692:	eb 5b                	jmp    c001f6ef <_Z15initrd_get_nodePc+0xe4>
c001f694:	83 45 fc 01          	addl   $0x1,-0x4(%ebp)
c001f698:	e9 7b ff ff ff       	jmp    c001f618 <_Z15initrd_get_nodePc+0xd>
c001f69d:	8b 15 f4 be 02 c0    	mov    0xc002bef4,%edx
c001f6a3:	8b 45 08             	mov    0x8(%ebp),%eax
c001f6a6:	8b 0a                	mov    (%edx),%ecx
c001f6a8:	89 08                	mov    %ecx,(%eax)
c001f6aa:	8b 4a 04             	mov    0x4(%edx),%ecx
c001f6ad:	89 48 04             	mov    %ecx,0x4(%eax)
c001f6b0:	8b 4a 08             	mov    0x8(%edx),%ecx
c001f6b3:	89 48 08             	mov    %ecx,0x8(%eax)
c001f6b6:	8b 4a 0c             	mov    0xc(%edx),%ecx
c001f6b9:	89 48 0c             	mov    %ecx,0xc(%eax)
c001f6bc:	8b 4a 10             	mov    0x10(%edx),%ecx
c001f6bf:	89 48 10             	mov    %ecx,0x10(%eax)
c001f6c2:	8b 4a 14             	mov    0x14(%edx),%ecx
c001f6c5:	89 48 14             	mov    %ecx,0x14(%eax)
c001f6c8:	8b 4a 18             	mov    0x18(%edx),%ecx
c001f6cb:	89 48 18             	mov    %ecx,0x18(%eax)
c001f6ce:	8b 4a 1c             	mov    0x1c(%edx),%ecx
c001f6d1:	89 48 1c             	mov    %ecx,0x1c(%eax)
c001f6d4:	8b 4a 20             	mov    0x20(%edx),%ecx
c001f6d7:	89 48 20             	mov    %ecx,0x20(%eax)
c001f6da:	8b 4a 24             	mov    0x24(%edx),%ecx
c001f6dd:	89 48 24             	mov    %ecx,0x24(%eax)
c001f6e0:	0f b7 4a 28          	movzwl 0x28(%edx),%ecx
c001f6e4:	66 89 48 28          	mov    %cx,0x28(%eax)
c001f6e8:	0f b6 52 2a          	movzbl 0x2a(%edx),%edx
c001f6ec:	88 50 2a             	mov    %dl,0x2a(%eax)
c001f6ef:	8b 45 08             	mov    0x8(%ebp),%eax
c001f6f2:	c9                   	leave  
c001f6f3:	c2 04 00             	ret    $0x4

c001f6f6 <Idle_process>:
c001f6f6:	55                   	push   %ebp
c001f6f7:	89 e5                	mov    %esp,%ebp
c001f6f9:	53                   	push   %ebx
c001f6fa:	83 ec 04             	sub    $0x4,%esp
c001f6fd:	83 ec 0c             	sub    $0xc,%esp
c001f700:	6a 02                	push   $0x2
c001f702:	e8 6a fe ff ff       	call   c001f571 <_Z11initrd_readi>
c001f707:	83 c4 10             	add    $0x10,%esp
c001f70a:	83 ec 0c             	sub    $0xc,%esp
c001f70d:	50                   	push   %eax
c001f70e:	e8 4b 0d 00 00       	call   c002045e <_Z18create_process_elfPv>
c001f713:	83 c4 10             	add    $0x10,%esp
c001f716:	e8 b0 53 00 00       	call   c0024acb <_Z16get_main_desktopv>
c001f71b:	85 c0                	test   %eax,%eax
c001f71d:	0f 95 c0             	setne  %al
c001f720:	84 c0                	test   %al,%al
c001f722:	74 2b                	je     c001f74f <Idle_process+0x59>
c001f724:	8b 15 14 b2 02 c0    	mov    0xc002b214,%edx
c001f72a:	a1 1c b2 02 c0       	mov    0xc002b21c,%eax
c001f72f:	89 d3                	mov    %edx,%ebx
c001f731:	0f af d8             	imul   %eax,%ebx
c001f734:	e8 92 53 00 00       	call   c0024acb <_Z16get_main_desktopv>
c001f739:	8b 50 18             	mov    0x18(%eax),%edx
c001f73c:	a1 c4 e6 44 c0       	mov    0xc044e6c4,%eax
c001f741:	83 ec 04             	sub    $0x4,%esp
c001f744:	53                   	push   %ebx
c001f745:	52                   	push   %edx
c001f746:	50                   	push   %eax
c001f747:	e8 b9 06 00 00       	call   c001fe05 <_Z11memcpy_sse2PvS_m>
c001f74c:	83 c4 10             	add    $0x10,%esp
c001f74f:	e8 45 53 00 00       	call   c0024a99 <_Z13screen_updatev>
c001f754:	eb c0                	jmp    c001f716 <Idle_process+0x20>

c001f756 <kmain>:
c001f756:	55                   	push   %ebp
c001f757:	89 e5                	mov    %esp,%ebp
c001f759:	57                   	push   %edi
c001f75a:	56                   	push   %esi
c001f75b:	53                   	push   %ebx
c001f75c:	81 ec fc 00 00 00    	sub    $0xfc,%esp
c001f762:	8b 55 08             	mov    0x8(%ebp),%edx
c001f765:	8d 85 72 ff ff ff    	lea    -0x8e(%ebp),%eax
c001f76b:	89 d3                	mov    %edx,%ebx
c001f76d:	ba 6e 00 00 00       	mov    $0x6e,%edx
c001f772:	8b 0b                	mov    (%ebx),%ecx
c001f774:	89 08                	mov    %ecx,(%eax)
c001f776:	8b 4c 13 fc          	mov    -0x4(%ebx,%edx,1),%ecx
c001f77a:	89 4c 10 fc          	mov    %ecx,-0x4(%eax,%edx,1)
c001f77e:	8d 78 04             	lea    0x4(%eax),%edi
c001f781:	83 e7 fc             	and    $0xfffffffc,%edi
c001f784:	29 f8                	sub    %edi,%eax
c001f786:	29 c3                	sub    %eax,%ebx
c001f788:	01 c2                	add    %eax,%edx
c001f78a:	83 e2 fc             	and    $0xfffffffc,%edx
c001f78d:	89 d0                	mov    %edx,%eax
c001f78f:	c1 e8 02             	shr    $0x2,%eax
c001f792:	89 de                	mov    %ebx,%esi
c001f794:	89 c1                	mov    %eax,%ecx
c001f796:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
c001f798:	83 ec 70             	sub    $0x70,%esp
c001f79b:	89 e0                	mov    %esp,%eax
c001f79d:	89 c2                	mov    %eax,%edx
c001f79f:	8d 85 72 ff ff ff    	lea    -0x8e(%ebp),%eax
c001f7a5:	b9 1b 00 00 00       	mov    $0x1b,%ecx
c001f7aa:	89 d7                	mov    %edx,%edi
c001f7ac:	89 c6                	mov    %eax,%esi
c001f7ae:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
c001f7b0:	89 f0                	mov    %esi,%eax
c001f7b2:	89 fa                	mov    %edi,%edx
c001f7b4:	0f b7 08             	movzwl (%eax),%ecx
c001f7b7:	66 89 0a             	mov    %cx,(%edx)
c001f7ba:	8d 52 02             	lea    0x2(%edx),%edx
c001f7bd:	8d 40 02             	lea    0x2(%eax),%eax
c001f7c0:	e8 03 f4 ff ff       	call   c001ebc8 <_ZN3HAL14initialize_allE16multiboot_info_t>
c001f7c5:	83 c4 70             	add    $0x70,%esp
c001f7c8:	83 ec 0c             	sub    $0xc,%esp
c001f7cb:	68 98 68 02 c0       	push   $0xc0026898
c001f7d0:	e8 b9 23 00 00       	call   c0021b8e <write_serial_string>
c001f7d5:	83 c4 10             	add    $0x10,%esp
c001f7d8:	8b 45 8a             	mov    -0x76(%ebp),%eax
c001f7db:	8b 10                	mov    (%eax),%edx
c001f7dd:	89 95 62 ff ff ff    	mov    %edx,-0x9e(%ebp)
c001f7e3:	8b 50 04             	mov    0x4(%eax),%edx
c001f7e6:	89 95 66 ff ff ff    	mov    %edx,-0x9a(%ebp)
c001f7ec:	8b 50 08             	mov    0x8(%eax),%edx
c001f7ef:	89 95 6a ff ff ff    	mov    %edx,-0x96(%ebp)
c001f7f5:	8b 40 0c             	mov    0xc(%eax),%eax
c001f7f8:	89 85 6e ff ff ff    	mov    %eax,-0x92(%ebp)
c001f7fe:	8d 85 f8 fe ff ff    	lea    -0x108(%ebp),%eax
c001f804:	83 ec 0c             	sub    $0xc,%esp
c001f807:	50                   	push   %eax
c001f808:	e8 b2 ed ff ff       	call   c001e5bf <_Z14cpuid_get_infov>
c001f80d:	83 c4 0c             	add    $0xc,%esp
c001f810:	8b 85 f8 fe ff ff    	mov    -0x108(%ebp),%eax
c001f816:	a3 30 c1 02 c0       	mov    %eax,0xc002c130
c001f81b:	8b 85 fc fe ff ff    	mov    -0x104(%ebp),%eax
c001f821:	a3 34 c1 02 c0       	mov    %eax,0xc002c134
c001f826:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
c001f82c:	a3 38 c1 02 c0       	mov    %eax,0xc002c138
c001f831:	8b 85 04 ff ff ff    	mov    -0xfc(%ebp),%eax
c001f837:	a3 3c c1 02 c0       	mov    %eax,0xc002c13c
c001f83c:	8b 85 08 ff ff ff    	mov    -0xf8(%ebp),%eax
c001f842:	a3 40 c1 02 c0       	mov    %eax,0xc002c140
c001f847:	0f b6 85 0c ff ff ff 	movzbl -0xf4(%ebp),%eax
c001f84e:	a2 44 c1 02 c0       	mov    %al,0xc002c144
c001f853:	a1 00 b2 02 c0       	mov    0xc002b200,%eax
c001f858:	89 85 50 ff ff ff    	mov    %eax,-0xb0(%ebp)
c001f85e:	a1 04 b2 02 c0       	mov    0xc002b204,%eax
c001f863:	89 85 54 ff ff ff    	mov    %eax,-0xac(%ebp)
c001f869:	a1 08 b2 02 c0       	mov    0xc002b208,%eax
c001f86e:	89 85 58 ff ff ff    	mov    %eax,-0xa8(%ebp)
c001f874:	a1 0c b2 02 c0       	mov    0xc002b20c,%eax
c001f879:	89 85 5c ff ff ff    	mov    %eax,-0xa4(%ebp)
c001f87f:	a1 10 b2 02 c0       	mov    0xc002b210,%eax
c001f884:	89 85 38 ff ff ff    	mov    %eax,-0xc8(%ebp)
c001f88a:	a1 14 b2 02 c0       	mov    0xc002b214,%eax
c001f88f:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
c001f895:	a1 18 b2 02 c0       	mov    0xc002b218,%eax
c001f89a:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
c001f8a0:	a1 1c b2 02 c0       	mov    0xc002b21c,%eax
c001f8a5:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
c001f8ab:	a1 20 b2 02 c0       	mov    0xc002b220,%eax
c001f8b0:	89 85 48 ff ff ff    	mov    %eax,-0xb8(%ebp)
c001f8b6:	a1 24 b2 02 c0       	mov    0xc002b224,%eax
c001f8bb:	89 85 4c ff ff ff    	mov    %eax,-0xb4(%ebp)
c001f8c1:	8b 45 86             	mov    -0x7a(%ebp),%eax
c001f8c4:	85 c0                	test   %eax,%eax
c001f8c6:	75 17                	jne    c001f8df <kmain+0x189>
c001f8c8:	83 ec 08             	sub    $0x8,%esp
c001f8cb:	68 9c 68 02 c0       	push   $0xc002689c
c001f8d0:	68 a8 68 02 c0       	push   $0xc00268a8
c001f8d5:	e8 c2 ed ff ff       	call   c001e69c <fatal_error>
c001f8da:	83 c4 10             	add    $0x10,%esp
c001f8dd:	eb 4f                	jmp    c001f92e <kmain+0x1d8>
c001f8df:	8b 95 54 ff ff ff    	mov    -0xac(%ebp),%edx
c001f8e5:	8b 85 50 ff ff ff    	mov    -0xb0(%ebp),%eax
c001f8eb:	01 d0                	add    %edx,%eax
c001f8ed:	3d ff 7c 00 00       	cmp    $0x7cff,%eax
c001f8f2:	77 17                	ja     c001f90b <kmain+0x1b5>
c001f8f4:	83 ec 08             	sub    $0x8,%esp
c001f8f7:	68 d1 68 02 c0       	push   $0xc00268d1
c001f8fc:	68 e4 68 02 c0       	push   $0xc00268e4
c001f901:	e8 96 ed ff ff       	call   c001e69c <fatal_error>
c001f906:	83 c4 10             	add    $0x10,%esp
c001f909:	eb 23                	jmp    c001f92e <kmain+0x1d8>
c001f90b:	a1 41 c1 02 c0       	mov    0xc002c141,%eax
c001f910:	25 00 00 00 04       	and    $0x4000000,%eax
c001f915:	85 c0                	test   %eax,%eax
c001f917:	75 15                	jne    c001f92e <kmain+0x1d8>
c001f919:	83 ec 08             	sub    $0x8,%esp
c001f91c:	68 00 69 02 c0       	push   $0xc0026900
c001f921:	68 0c 69 02 c0       	push   $0xc002690c
c001f926:	e8 71 ed ff ff       	call   c001e69c <fatal_error>
c001f92b:	83 c4 10             	add    $0x10,%esp
c001f92e:	8b 95 66 ff ff ff    	mov    -0x9a(%ebp),%edx
c001f934:	8b 85 62 ff ff ff    	mov    -0x9e(%ebp),%eax
c001f93a:	29 c2                	sub    %eax,%edx
c001f93c:	8b 85 62 ff ff ff    	mov    -0x9e(%ebp),%eax
c001f942:	83 ec 08             	sub    $0x8,%esp
c001f945:	52                   	push   %edx
c001f946:	50                   	push   %eax
c001f947:	e8 f7 f9 ff ff       	call   c001f343 <_Z11initrd_initmm>
c001f94c:	83 c4 10             	add    $0x10,%esp
c001f94f:	8b 45 82             	mov    -0x7e(%ebp),%eax
c001f952:	83 ec 08             	sub    $0x8,%esp
c001f955:	68 26 69 02 c0       	push   $0xc0026926
c001f95a:	50                   	push   %eax
c001f95b:	e8 8e 37 00 00       	call   c00230ee <_Z6strcmpPcS_>
c001f960:	83 c4 10             	add    $0x10,%esp
c001f963:	85 c0                	test   %eax,%eax
c001f965:	0f 94 c0             	sete   %al
c001f968:	84 c0                	test   %al,%al
c001f96a:	0f 84 ab 00 00 00    	je     c001fa1b <kmain+0x2c5>
c001f970:	8b 85 3c ff ff ff    	mov    -0xc4(%ebp),%eax
c001f976:	0f b7 d0             	movzwl %ax,%edx
c001f979:	8b 85 38 ff ff ff    	mov    -0xc8(%ebp),%eax
c001f97f:	0f b7 c0             	movzwl %ax,%eax
c001f982:	83 ec 0c             	sub    $0xc,%esp
c001f985:	52                   	push   %edx
c001f986:	50                   	push   %eax
c001f987:	6a 00                	push   $0x0
c001f989:	6a 00                	push   $0x0
c001f98b:	8d 85 24 ff ff ff    	lea    -0xdc(%ebp),%eax
c001f991:	50                   	push   %eax
c001f992:	e8 7f e6 ff ff       	call   c001e016 <_ZN7ConsoleC1Etttt>
c001f997:	83 c4 20             	add    $0x20,%esp
c001f99a:	83 ec 0c             	sub    $0xc,%esp
c001f99d:	68 ff 00 00 00       	push   $0xff
c001f9a2:	68 ff 00 00 00       	push   $0xff
c001f9a7:	68 ff 00 00 00       	push   $0xff
c001f9ac:	68 30 69 02 c0       	push   $0xc0026930
c001f9b1:	8d 85 24 ff ff ff    	lea    -0xdc(%ebp),%eax
c001f9b7:	50                   	push   %eax
c001f9b8:	e8 ef e9 ff ff       	call   c001e3ac <_ZN7Console4putsEPchhh>
c001f9bd:	83 c4 20             	add    $0x20,%esp
c001f9c0:	83 ec 08             	sub    $0x8,%esp
c001f9c3:	8d 85 24 ff ff ff    	lea    -0xdc(%ebp),%eax
c001f9c9:	50                   	push   %eax
c001f9ca:	8d 85 1c ff ff ff    	lea    -0xe4(%ebp),%eax
c001f9d0:	50                   	push   %eax
c001f9d1:	e8 e8 21 00 00       	call   c0021bbe <_ZN5ShellC1EP7Console>
c001f9d6:	83 c4 10             	add    $0x10,%esp
c001f9d9:	e8 9a 02 00 00       	call   c001fc78 <_Z16keyboard_installv>
c001f9de:	e8 cd 02 00 00       	call   c001fcb0 <_Z7get_keyv>
c001f9e3:	0f be d8             	movsbl %al,%ebx
c001f9e6:	e8 a8 02 00 00       	call   c001fc93 <_Z11key_updatedv>
c001f9eb:	0f b6 c0             	movzbl %al,%eax
c001f9ee:	83 ec 04             	sub    $0x4,%esp
c001f9f1:	53                   	push   %ebx
c001f9f2:	50                   	push   %eax
c001f9f3:	8d 85 1c ff ff ff    	lea    -0xe4(%ebp),%eax
c001f9f9:	50                   	push   %eax
c001f9fa:	e8 47 23 00 00       	call   c0021d46 <_ZN5Shell6UpdateEbc>
c001f9ff:	83 c4 10             	add    $0x10,%esp
c001fa02:	83 ec 0c             	sub    $0xc,%esp
c001fa05:	8d 85 24 ff ff ff    	lea    -0xdc(%ebp),%eax
c001fa0b:	50                   	push   %eax
c001fa0c:	e8 69 ea ff ff       	call   c001e47a <_ZN7Console7refreshEv>
c001fa11:	83 c4 10             	add    $0x10,%esp
c001fa14:	e8 80 50 00 00       	call   c0024a99 <_Z13screen_updatev>
c001fa19:	eb c3                	jmp    c001f9de <kmain+0x288>
c001fa1b:	8b 95 66 ff ff ff    	mov    -0x9a(%ebp),%edx
c001fa21:	8b 85 62 ff ff ff    	mov    -0x9e(%ebp),%eax
c001fa27:	29 c2                	sub    %eax,%edx
c001fa29:	8b 85 62 ff ff ff    	mov    -0x9e(%ebp),%eax
c001fa2f:	83 ec 08             	sub    $0x8,%esp
c001fa32:	52                   	push   %edx
c001fa33:	50                   	push   %eax
c001fa34:	e8 0a f9 ff ff       	call   c001f343 <_Z11initrd_initmm>
c001fa39:	83 c4 10             	add    $0x10,%esp
c001fa3c:	83 ec 0c             	sub    $0xc,%esp
c001fa3f:	6a 01                	push   $0x1
c001fa41:	e8 2b fb ff ff       	call   c001f571 <_Z11initrd_readi>
c001fa46:	83 c4 10             	add    $0x10,%esp
c001fa49:	89 45 e4             	mov    %eax,-0x1c(%ebp)
c001fa4c:	83 ec 0c             	sub    $0xc,%esp
c001fa4f:	6a 00                	push   $0x0
c001fa51:	e8 1b fb ff ff       	call   c001f571 <_Z11initrd_readi>
c001fa56:	83 c4 10             	add    $0x10,%esp
c001fa59:	89 45 e0             	mov    %eax,-0x20(%ebp)
c001fa5c:	83 ec 04             	sub    $0x4,%esp
c001fa5f:	6a 00                	push   $0x0
c001fa61:	6a 00                	push   $0x0
c001fa63:	6a 00                	push   $0x0
c001fa65:	e8 b0 43 00 00       	call   c0023e1a <_Z12screen_clearhhh>
c001fa6a:	83 c4 10             	add    $0x10,%esp
c001fa6d:	8b 45 e4             	mov    -0x1c(%ebp),%eax
c001fa70:	83 c0 36             	add    $0x36,%eax
c001fa73:	8b 95 3c ff ff ff    	mov    -0xc4(%ebp),%edx
c001fa79:	d1 ea                	shr    %edx
c001fa7b:	81 ea fa 00 00 00    	sub    $0xfa,%edx
c001fa81:	89 d1                	mov    %edx,%ecx
c001fa83:	8b 95 38 ff ff ff    	mov    -0xc8(%ebp),%edx
c001fa89:	d1 ea                	shr    %edx
c001fa8b:	81 ea 04 01 00 00    	sub    $0x104,%edx
c001fa91:	83 ec 08             	sub    $0x8,%esp
c001fa94:	6a 18                	push   $0x18
c001fa96:	50                   	push   %eax
c001fa97:	68 6e 01 00 00       	push   $0x16e
c001fa9c:	68 0d 02 00 00       	push   $0x20d
c001faa1:	51                   	push   %ecx
c001faa2:	52                   	push   %edx
c001faa3:	e8 8b 4e 00 00       	call   c0024933 <_Z18drawbitmap_noscaleiiiiPhi>
c001faa8:	83 c4 20             	add    $0x20,%esp
c001faab:	e8 e9 4f 00 00       	call   c0024a99 <_Z13screen_updatev>
c001fab0:	8b 45 e0             	mov    -0x20(%ebp),%eax
c001fab3:	83 c0 36             	add    $0x36,%eax
c001fab6:	8b 95 3c ff ff ff    	mov    -0xc4(%ebp),%edx
c001fabc:	d1 ea                	shr    %edx
c001fabe:	81 c2 fa 00 00 00    	add    $0xfa,%edx
c001fac4:	89 d1                	mov    %edx,%ecx
c001fac6:	8b 95 38 ff ff ff    	mov    -0xc8(%ebp),%edx
c001facc:	d1 ea                	shr    %edx
c001face:	83 ea 40             	sub    $0x40,%edx
c001fad1:	83 ec 08             	sub    $0x8,%esp
c001fad4:	6a 18                	push   $0x18
c001fad6:	50                   	push   %eax
c001fad7:	6a 20                	push   $0x20
c001fad9:	6a 20                	push   $0x20
c001fadb:	51                   	push   %ecx
c001fadc:	52                   	push   %edx
c001fadd:	e8 51 4e 00 00       	call   c0024933 <_Z18drawbitmap_noscaleiiiiPhi>
c001fae2:	83 c4 20             	add    $0x20,%esp
c001fae5:	e8 af 4f 00 00       	call   c0024a99 <_Z13screen_updatev>
c001faea:	e8 89 01 00 00       	call   c001fc78 <_Z16keyboard_installv>
c001faef:	e8 4f 04 00 00       	call   c001ff43 <_Z13mouse_installv>
c001faf4:	8b 45 e0             	mov    -0x20(%ebp),%eax
c001faf7:	83 c0 36             	add    $0x36,%eax
c001fafa:	8b 95 3c ff ff ff    	mov    -0xc4(%ebp),%edx
c001fb00:	d1 ea                	shr    %edx
c001fb02:	81 c2 fa 00 00 00    	add    $0xfa,%edx
c001fb08:	89 d1                	mov    %edx,%ecx
c001fb0a:	8b 95 38 ff ff ff    	mov    -0xc8(%ebp),%edx
c001fb10:	d1 ea                	shr    %edx
c001fb12:	83 ea 20             	sub    $0x20,%edx
c001fb15:	83 ec 08             	sub    $0x8,%esp
c001fb18:	6a 18                	push   $0x18
c001fb1a:	50                   	push   %eax
c001fb1b:	6a 20                	push   $0x20
c001fb1d:	6a 20                	push   $0x20
c001fb1f:	51                   	push   %ecx
c001fb20:	52                   	push   %edx
c001fb21:	e8 0d 4e 00 00       	call   c0024933 <_Z18drawbitmap_noscaleiiiiPhi>
c001fb26:	83 c4 20             	add    $0x20,%esp
c001fb29:	e8 6b 4f 00 00       	call   c0024a99 <_Z13screen_updatev>
c001fb2e:	8b 45 e0             	mov    -0x20(%ebp),%eax
c001fb31:	83 c0 36             	add    $0x36,%eax
c001fb34:	8b 95 3c ff ff ff    	mov    -0xc4(%ebp),%edx
c001fb3a:	d1 ea                	shr    %edx
c001fb3c:	81 c2 fa 00 00 00    	add    $0xfa,%edx
c001fb42:	89 d1                	mov    %edx,%ecx
c001fb44:	8b 95 38 ff ff ff    	mov    -0xc8(%ebp),%edx
c001fb4a:	d1 ea                	shr    %edx
c001fb4c:	83 ec 08             	sub    $0x8,%esp
c001fb4f:	6a 18                	push   $0x18
c001fb51:	50                   	push   %eax
c001fb52:	6a 20                	push   $0x20
c001fb54:	6a 20                	push   $0x20
c001fb56:	51                   	push   %ecx
c001fb57:	52                   	push   %edx
c001fb58:	e8 d6 4d 00 00       	call   c0024933 <_Z18drawbitmap_noscaleiiiiPhi>
c001fb5d:	83 c4 20             	add    $0x20,%esp
c001fb60:	e8 34 4f 00 00       	call   c0024a99 <_Z13screen_updatev>
c001fb65:	83 ec 04             	sub    $0x4,%esp
c001fb68:	68 c0 00 00 00       	push   $0xc0
c001fb6d:	68 c0 00 00 00       	push   $0xc0
c001fb72:	6a 60                	push   $0x60
c001fb74:	e8 a1 42 00 00       	call   c0023e1a <_Z12screen_clearhhh>
c001fb79:	83 c4 10             	add    $0x10,%esp
c001fb7c:	e8 18 4f 00 00       	call   c0024a99 <_Z13screen_updatev>
c001fb81:	e8 c1 3e 00 00       	call   c0023a47 <_Z13syscalls_initv>
c001fb86:	83 ec 0c             	sub    $0xc,%esp
c001fb89:	68 e8 03 00 00       	push   $0x3e8
c001fb8e:	e8 db 3f 00 00       	call   c0023b6e <_Z13timer_installm>
c001fb93:	83 c4 10             	add    $0x10,%esp
c001fb96:	8b 45 e0             	mov    -0x20(%ebp),%eax
c001fb99:	83 c0 36             	add    $0x36,%eax
c001fb9c:	8b 95 3c ff ff ff    	mov    -0xc4(%ebp),%edx
c001fba2:	d1 ea                	shr    %edx
c001fba4:	81 c2 fa 00 00 00    	add    $0xfa,%edx
c001fbaa:	89 d1                	mov    %edx,%ecx
c001fbac:	8b 95 38 ff ff ff    	mov    -0xc8(%ebp),%edx
c001fbb2:	d1 ea                	shr    %edx
c001fbb4:	83 c2 20             	add    $0x20,%edx
c001fbb7:	83 ec 08             	sub    $0x8,%esp
c001fbba:	6a 18                	push   $0x18
c001fbbc:	50                   	push   %eax
c001fbbd:	6a 20                	push   $0x20
c001fbbf:	6a 20                	push   $0x20
c001fbc1:	51                   	push   %ecx
c001fbc2:	52                   	push   %edx
c001fbc3:	e8 6b 4d 00 00       	call   c0024933 <_Z18drawbitmap_noscaleiiiiPhi>
c001fbc8:	83 c4 20             	add    $0x20,%esp
c001fbcb:	e8 c9 4e 00 00       	call   c0024a99 <_Z13screen_updatev>
c001fbd0:	e8 7b 04 00 00       	call   c0020050 <_Z17multitasking_initv>
c001fbd5:	eb fe                	jmp    c001fbd5 <kmain+0x47f>

c001fbd7 <_Z41__static_initialization_and_destruction_0ii>:
c001fbd7:	55                   	push   %ebp
c001fbd8:	89 e5                	mov    %esp,%ebp
c001fbda:	83 ec 08             	sub    $0x8,%esp
c001fbdd:	83 7d 08 01          	cmpl   $0x1,0x8(%ebp)
c001fbe1:	75 19                	jne    c001fbfc <_Z41__static_initialization_and_destruction_0ii+0x25>
c001fbe3:	81 7d 0c ff ff 00 00 	cmpl   $0xffff,0xc(%ebp)
c001fbea:	75 10                	jne    c001fbfc <_Z41__static_initialization_and_destruction_0ii+0x25>
c001fbec:	83 ec 0c             	sub    $0xc,%esp
c001fbef:	68 30 c1 02 c0       	push   $0xc002c130
c001fbf4:	e8 eb 4e 00 00       	call   c0024ae4 <_ZN12cpuid_info_tC1Ev>
c001fbf9:	83 c4 10             	add    $0x10,%esp
c001fbfc:	90                   	nop
c001fbfd:	c9                   	leave  
c001fbfe:	c3                   	ret    

c001fbff <_GLOBAL__sub_I_cpuid_info>:
c001fbff:	55                   	push   %ebp
c001fc00:	89 e5                	mov    %esp,%ebp
c001fc02:	83 ec 08             	sub    $0x8,%esp
c001fc05:	83 ec 08             	sub    $0x8,%esp
c001fc08:	68 ff ff 00 00       	push   $0xffff
c001fc0d:	6a 01                	push   $0x1
c001fc0f:	e8 c3 ff ff ff       	call   c001fbd7 <_Z41__static_initialization_and_destruction_0ii>
c001fc14:	83 c4 10             	add    $0x10,%esp
c001fc17:	c9                   	leave  
c001fc18:	c3                   	ret    

c001fc19 <_Z16keyboard_handlerP8regs32_t>:
c001fc19:	55                   	push   %ebp
c001fc1a:	89 e5                	mov    %esp,%ebp
c001fc1c:	83 ec 08             	sub    $0x8,%esp
c001fc1f:	83 ec 0c             	sub    $0xc,%esp
c001fc22:	6a 60                	push   $0x60
c001fc24:	e8 94 3e 00 00       	call   c0023abd <_Z7inportbt>
c001fc29:	83 c4 10             	add    $0x10,%esp
c001fc2c:	a2 4d c1 02 c0       	mov    %al,0xc002c14d
c001fc31:	0f b6 05 4d c1 02 c0 	movzbl 0xc002c14d,%eax
c001fc38:	84 c0                	test   %al,%al
c001fc3a:	78 39                	js     c001fc75 <_Z16keyboard_handlerP8regs32_t+0x5c>
c001fc3c:	0f b6 05 4d c1 02 c0 	movzbl 0xc002c14d,%eax
c001fc43:	3c 3a                	cmp    $0x3a,%al
c001fc45:	75 11                	jne    c001fc58 <_Z16keyboard_handlerP8regs32_t+0x3f>
c001fc47:	0f b6 05 4e c1 02 c0 	movzbl 0xc002c14e,%eax
c001fc4e:	83 f0 01             	xor    $0x1,%eax
c001fc51:	a2 4e c1 02 c0       	mov    %al,0xc002c14e
c001fc56:	eb 1d                	jmp    c001fc75 <_Z16keyboard_handlerP8regs32_t+0x5c>
c001fc58:	c6 05 4f c1 02 c0 01 	movb   $0x1,0xc002c14f
c001fc5f:	0f b6 05 4d c1 02 c0 	movzbl 0xc002c14d,%eax
c001fc66:	0f b6 c0             	movzbl %al,%eax
c001fc69:	0f b6 80 20 66 02 c0 	movzbl -0x3ffd99e0(%eax),%eax
c001fc70:	a2 4c c1 02 c0       	mov    %al,0xc002c14c
c001fc75:	90                   	nop
c001fc76:	c9                   	leave  
c001fc77:	c3                   	ret    

c001fc78 <_Z16keyboard_installv>:
c001fc78:	55                   	push   %ebp
c001fc79:	89 e5                	mov    %esp,%ebp
c001fc7b:	83 ec 08             	sub    $0x8,%esp
c001fc7e:	83 ec 08             	sub    $0x8,%esp
c001fc81:	68 19 fc 01 c0       	push   $0xc001fc19
c001fc86:	6a 21                	push   $0x21
c001fc88:	e8 99 f6 ff ff       	call   c001f326 <interrupt_register_handler>
c001fc8d:	83 c4 10             	add    $0x10,%esp
c001fc90:	90                   	nop
c001fc91:	c9                   	leave  
c001fc92:	c3                   	ret    

c001fc93 <_Z11key_updatedv>:
c001fc93:	55                   	push   %ebp
c001fc94:	89 e5                	mov    %esp,%ebp
c001fc96:	83 ec 10             	sub    $0x10,%esp
c001fc99:	0f b6 05 4f c1 02 c0 	movzbl 0xc002c14f,%eax
c001fca0:	88 45 ff             	mov    %al,-0x1(%ebp)
c001fca3:	c6 05 4f c1 02 c0 00 	movb   $0x0,0xc002c14f
c001fcaa:	0f b6 45 ff          	movzbl -0x1(%ebp),%eax
c001fcae:	c9                   	leave  
c001fcaf:	c3                   	ret    

c001fcb0 <_Z7get_keyv>:
c001fcb0:	55                   	push   %ebp
c001fcb1:	89 e5                	mov    %esp,%ebp
c001fcb3:	0f b6 05 4c c1 02 c0 	movzbl 0xc002c14c,%eax
c001fcba:	5d                   	pop    %ebp
c001fcbb:	c3                   	ret    

c001fcbc <_Z11get_key_rawv>:
c001fcbc:	55                   	push   %ebp
c001fcbd:	89 e5                	mov    %esp,%ebp
c001fcbf:	0f b6 05 4d c1 02 c0 	movzbl 0xc002c14d,%eax
c001fcc6:	5d                   	pop    %ebp
c001fcc7:	c3                   	ret    

c001fcc8 <_Z7is_capsv>:
c001fcc8:	55                   	push   %ebp
c001fcc9:	89 e5                	mov    %esp,%ebp
c001fccb:	0f b6 05 4e c1 02 c0 	movzbl 0xc002c14e,%eax
c001fcd2:	5d                   	pop    %ebp
c001fcd3:	c3                   	ret    

c001fcd4 <_Z8log_infoPc>:
c001fcd4:	55                   	push   %ebp
c001fcd5:	89 e5                	mov    %esp,%ebp
c001fcd7:	90                   	nop
c001fcd8:	5d                   	pop    %ebp
c001fcd9:	c3                   	ret    

c001fcda <_Z8log_warnPc>:
c001fcda:	55                   	push   %ebp
c001fcdb:	89 e5                	mov    %esp,%ebp
c001fcdd:	90                   	nop
c001fcde:	5d                   	pop    %ebp
c001fcdf:	c3                   	ret    

c001fce0 <_Z7log_errPc>:
c001fce0:	55                   	push   %ebp
c001fce1:	89 e5                	mov    %esp,%ebp
c001fce3:	90                   	nop
c001fce4:	5d                   	pop    %ebp
c001fce5:	c3                   	ret    

c001fce6 <_Z4randv>:
c001fce6:	55                   	push   %ebp
c001fce7:	89 e5                	mov    %esp,%ebp
c001fce9:	a1 a0 66 02 c0       	mov    0xc00266a0,%eax
c001fcee:	69 c0 6d 4e c6 41    	imul   $0x41c64e6d,%eax,%eax
c001fcf4:	05 39 30 00 00       	add    $0x3039,%eax
c001fcf9:	a3 a0 66 02 c0       	mov    %eax,0xc00266a0
c001fcfe:	a1 a0 66 02 c0       	mov    0xc00266a0,%eax
c001fd03:	c1 e8 10             	shr    $0x10,%eax
c001fd06:	25 ff 7f 00 00       	and    $0x7fff,%eax
c001fd0b:	5d                   	pop    %ebp
c001fd0c:	c3                   	ret    

c001fd0d <_Z5floord>:
c001fd0d:	55                   	push   %ebp
c001fd0e:	89 e5                	mov    %esp,%ebp
c001fd10:	83 ec 20             	sub    $0x20,%esp
c001fd13:	8b 45 08             	mov    0x8(%ebp),%eax
c001fd16:	89 45 e8             	mov    %eax,-0x18(%ebp)
c001fd19:	8b 45 0c             	mov    0xc(%ebp),%eax
c001fd1c:	89 45 ec             	mov    %eax,-0x14(%ebp)
c001fd1f:	dd 45 e8             	fldl   -0x18(%ebp)
c001fd22:	d9 7d e6             	fnstcw -0x1a(%ebp)
c001fd25:	0f b7 45 e6          	movzwl -0x1a(%ebp),%eax
c001fd29:	80 cc 0c             	or     $0xc,%ah
c001fd2c:	66 89 45 e4          	mov    %ax,-0x1c(%ebp)
c001fd30:	d9 6d e4             	fldcw  -0x1c(%ebp)
c001fd33:	db 5d fc             	fistpl -0x4(%ebp)
c001fd36:	d9 6d e6             	fldcw  -0x1a(%ebp)
c001fd39:	db 45 fc             	fildl  -0x4(%ebp)
c001fd3c:	dd 45 e8             	fldl   -0x18(%ebp)
c001fd3f:	d9 c9                	fxch   %st(1)
c001fd41:	df f1                	fcomip %st(1),%st
c001fd43:	dd d8                	fstp   %st(0)
c001fd45:	76 08                	jbe    c001fd4f <_Z5floord+0x42>
c001fd47:	8b 45 fc             	mov    -0x4(%ebp),%eax
c001fd4a:	83 e8 01             	sub    $0x1,%eax
c001fd4d:	eb 03                	jmp    c001fd52 <_Z5floord+0x45>
c001fd4f:	8b 45 fc             	mov    -0x4(%ebp),%eax
c001fd52:	c9                   	leave  
c001fd53:	c3                   	ret    

c001fd54 <_Z3absi>:
c001fd54:	55                   	push   %ebp
c001fd55:	89 e5                	mov    %esp,%ebp
c001fd57:	8b 45 08             	mov    0x8(%ebp),%eax
c001fd5a:	99                   	cltd   
c001fd5b:	89 d0                	mov    %edx,%eax
c001fd5d:	33 45 08             	xor    0x8(%ebp),%eax
c001fd60:	29 d0                	sub    %edx,%eax
c001fd62:	5d                   	pop    %ebp
c001fd63:	c3                   	ret    

c001fd64 <memset>:
c001fd64:	55                   	push   %ebp
c001fd65:	89 e5                	mov    %esp,%ebp
c001fd67:	83 ec 10             	sub    $0x10,%esp
c001fd6a:	8b 45 08             	mov    0x8(%ebp),%eax
c001fd6d:	89 45 fc             	mov    %eax,-0x4(%ebp)
c001fd70:	8b 45 10             	mov    0x10(%ebp),%eax
c001fd73:	8d 50 ff             	lea    -0x1(%eax),%edx
c001fd76:	89 55 10             	mov    %edx,0x10(%ebp)
c001fd79:	85 c0                	test   %eax,%eax
c001fd7b:	0f 95 c0             	setne  %al
c001fd7e:	84 c0                	test   %al,%al
c001fd80:	74 10                	je     c001fd92 <memset+0x2e>
c001fd82:	8b 45 fc             	mov    -0x4(%ebp),%eax
c001fd85:	8d 50 01             	lea    0x1(%eax),%edx
c001fd88:	89 55 fc             	mov    %edx,-0x4(%ebp)
c001fd8b:	8b 55 0c             	mov    0xc(%ebp),%edx
c001fd8e:	88 10                	mov    %dl,(%eax)
c001fd90:	eb de                	jmp    c001fd70 <memset+0xc>
c001fd92:	8b 45 08             	mov    0x8(%ebp),%eax
c001fd95:	c9                   	leave  
c001fd96:	c3                   	ret    

c001fd97 <_Z6memcpyPvS_m>:
c001fd97:	55                   	push   %ebp
c001fd98:	89 e5                	mov    %esp,%ebp
c001fd9a:	83 ec 10             	sub    $0x10,%esp
c001fd9d:	8b 45 0c             	mov    0xc(%ebp),%eax
c001fda0:	89 45 fc             	mov    %eax,-0x4(%ebp)
c001fda3:	8b 45 08             	mov    0x8(%ebp),%eax
c001fda6:	89 45 f8             	mov    %eax,-0x8(%ebp)
c001fda9:	8b 45 10             	mov    0x10(%ebp),%eax
c001fdac:	89 45 f4             	mov    %eax,-0xc(%ebp)
c001fdaf:	83 7d f4 03          	cmpl   $0x3,-0xc(%ebp)
c001fdb3:	76 1e                	jbe    c001fdd3 <_Z6memcpyPvS_m+0x3c>
c001fdb5:	8b 45 fc             	mov    -0x4(%ebp),%eax
c001fdb8:	8b 10                	mov    (%eax),%edx
c001fdba:	8b 45 f8             	mov    -0x8(%ebp),%eax
c001fdbd:	89 10                	mov    %edx,(%eax)
c001fdbf:	83 45 fc 04          	addl   $0x4,-0x4(%ebp)
c001fdc3:	83 45 f8 04          	addl   $0x4,-0x8(%ebp)
c001fdc7:	83 6d 10 04          	subl   $0x4,0x10(%ebp)
c001fdcb:	8b 45 10             	mov    0x10(%ebp),%eax
c001fdce:	89 45 f4             	mov    %eax,-0xc(%ebp)
c001fdd1:	eb dc                	jmp    c001fdaf <_Z6memcpyPvS_m+0x18>
c001fdd3:	8b 45 10             	mov    0x10(%ebp),%eax
c001fdd6:	89 45 f0             	mov    %eax,-0x10(%ebp)
c001fdd9:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
c001fddd:	74 21                	je     c001fe00 <_Z6memcpyPvS_m+0x69>
c001fddf:	8b 55 fc             	mov    -0x4(%ebp),%edx
c001fde2:	8b 45 f0             	mov    -0x10(%ebp),%eax
c001fde5:	01 d0                	add    %edx,%eax
c001fde7:	8b 4d f8             	mov    -0x8(%ebp),%ecx
c001fdea:	8b 55 f0             	mov    -0x10(%ebp),%edx
c001fded:	01 ca                	add    %ecx,%edx
c001fdef:	0f b6 00             	movzbl (%eax),%eax
c001fdf2:	88 02                	mov    %al,(%edx)
c001fdf4:	83 6d 10 01          	subl   $0x1,0x10(%ebp)
c001fdf8:	8b 45 10             	mov    0x10(%ebp),%eax
c001fdfb:	89 45 f0             	mov    %eax,-0x10(%ebp)
c001fdfe:	eb d9                	jmp    c001fdd9 <_Z6memcpyPvS_m+0x42>
c001fe00:	8b 45 08             	mov    0x8(%ebp),%eax
c001fe03:	c9                   	leave  
c001fe04:	c3                   	ret    

c001fe05 <_Z11memcpy_sse2PvS_m>:
c001fe05:	55                   	push   %ebp
c001fe06:	89 e5                	mov    %esp,%ebp
c001fe08:	83 ec 18             	sub    $0x18,%esp
c001fe0b:	fa                   	cli    
c001fe0c:	8b 45 08             	mov    0x8(%ebp),%eax
c001fe0f:	83 e0 0f             	and    $0xf,%eax
c001fe12:	89 45 f4             	mov    %eax,-0xc(%ebp)
c001fe15:	b8 10 00 00 00       	mov    $0x10,%eax
c001fe1a:	2b 45 f4             	sub    -0xc(%ebp),%eax
c001fe1d:	50                   	push   %eax
c001fe1e:	ff 75 0c             	pushl  0xc(%ebp)
c001fe21:	ff 75 08             	pushl  0x8(%ebp)
c001fe24:	e8 6e ff ff ff       	call   c001fd97 <_Z6memcpyPvS_m>
c001fe29:	83 c4 0c             	add    $0xc,%esp
c001fe2c:	b8 10 00 00 00       	mov    $0x10,%eax
c001fe31:	2b 45 f4             	sub    -0xc(%ebp),%eax
c001fe34:	01 45 08             	add    %eax,0x8(%ebp)
c001fe37:	8b 55 f4             	mov    -0xc(%ebp),%edx
c001fe3a:	8b 45 10             	mov    0x10(%ebp),%eax
c001fe3d:	01 d0                	add    %edx,%eax
c001fe3f:	83 e8 10             	sub    $0x10,%eax
c001fe42:	89 45 10             	mov    %eax,0x10(%ebp)
c001fe45:	8b 45 10             	mov    0x10(%ebp),%eax
c001fe48:	83 e0 0f             	and    $0xf,%eax
c001fe4b:	89 45 f0             	mov    %eax,-0x10(%ebp)
c001fe4e:	8b 45 10             	mov    0x10(%ebp),%eax
c001fe51:	2b 45 f0             	sub    -0x10(%ebp),%eax
c001fe54:	89 45 ec             	mov    %eax,-0x14(%ebp)
c001fe57:	8b 45 ec             	mov    -0x14(%ebp),%eax
c001fe5a:	c1 e8 04             	shr    $0x4,%eax
c001fe5d:	83 ec 04             	sub    $0x4,%esp
c001fe60:	50                   	push   %eax
c001fe61:	ff 75 0c             	pushl  0xc(%ebp)
c001fe64:	ff 75 08             	pushl  0x8(%ebp)
c001fe67:	e8 24 d4 ff ff       	call   c001d290 <memcpy_sse2_internal>
c001fe6c:	83 c4 10             	add    $0x10,%esp
c001fe6f:	fb                   	sti    
c001fe70:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
c001fe74:	74 20                	je     c001fe96 <_Z11memcpy_sse2PvS_m+0x91>
c001fe76:	8b 55 0c             	mov    0xc(%ebp),%edx
c001fe79:	8b 45 ec             	mov    -0x14(%ebp),%eax
c001fe7c:	01 c2                	add    %eax,%edx
c001fe7e:	8b 4d 08             	mov    0x8(%ebp),%ecx
c001fe81:	8b 45 ec             	mov    -0x14(%ebp),%eax
c001fe84:	01 c8                	add    %ecx,%eax
c001fe86:	83 ec 04             	sub    $0x4,%esp
c001fe89:	ff 75 f0             	pushl  -0x10(%ebp)
c001fe8c:	52                   	push   %edx
c001fe8d:	50                   	push   %eax
c001fe8e:	e8 04 ff ff ff       	call   c001fd97 <_Z6memcpyPvS_m>
c001fe93:	83 c4 10             	add    $0x10,%esp
c001fe96:	90                   	nop
c001fe97:	c9                   	leave  
c001fe98:	c3                   	ret    

c001fe99 <_Z13mouse_handlerP8regs32_t>:
c001fe99:	55                   	push   %ebp
c001fe9a:	89 e5                	mov    %esp,%ebp
c001fe9c:	83 ec 08             	sub    $0x8,%esp
c001fe9f:	0f b6 05 53 c1 02 c0 	movzbl 0xc002c153,%eax
c001fea6:	0f b6 c0             	movzbl %al,%eax
c001fea9:	83 f8 01             	cmp    $0x1,%eax
c001feac:	74 2c                	je     c001feda <_Z13mouse_handlerP8regs32_t+0x41>
c001feae:	83 f8 02             	cmp    $0x2,%eax
c001feb1:	74 4a                	je     c001fefd <_Z13mouse_handlerP8regs32_t+0x64>
c001feb3:	85 c0                	test   %eax,%eax
c001feb5:	75 67                	jne    c001ff1e <_Z13mouse_handlerP8regs32_t+0x85>
c001feb7:	83 ec 0c             	sub    $0xc,%esp
c001feba:	6a 60                	push   $0x60
c001febc:	e8 fc 3b 00 00       	call   c0023abd <_Z7inportbt>
c001fec1:	83 c4 10             	add    $0x10,%esp
c001fec4:	a2 50 c1 02 c0       	mov    %al,0xc002c150
c001fec9:	0f b6 05 53 c1 02 c0 	movzbl 0xc002c153,%eax
c001fed0:	83 c0 01             	add    $0x1,%eax
c001fed3:	a2 53 c1 02 c0       	mov    %al,0xc002c153
c001fed8:	eb 44                	jmp    c001ff1e <_Z13mouse_handlerP8regs32_t+0x85>
c001feda:	83 ec 0c             	sub    $0xc,%esp
c001fedd:	6a 60                	push   $0x60
c001fedf:	e8 d9 3b 00 00       	call   c0023abd <_Z7inportbt>
c001fee4:	83 c4 10             	add    $0x10,%esp
c001fee7:	a2 51 c1 02 c0       	mov    %al,0xc002c151
c001feec:	0f b6 05 53 c1 02 c0 	movzbl 0xc002c153,%eax
c001fef3:	83 c0 01             	add    $0x1,%eax
c001fef6:	a2 53 c1 02 c0       	mov    %al,0xc002c153
c001fefb:	eb 21                	jmp    c001ff1e <_Z13mouse_handlerP8regs32_t+0x85>
c001fefd:	83 ec 0c             	sub    $0xc,%esp
c001ff00:	6a 60                	push   $0x60
c001ff02:	e8 b6 3b 00 00       	call   c0023abd <_Z7inportbt>
c001ff07:	83 c4 10             	add    $0x10,%esp
c001ff0a:	a2 52 c1 02 c0       	mov    %al,0xc002c152
c001ff0f:	c6 05 53 c1 02 c0 00 	movb   $0x0,0xc002c153
c001ff16:	c6 05 54 c1 02 c0 01 	movb   $0x1,0xc002c154
c001ff1d:	90                   	nop
c001ff1e:	90                   	nop
c001ff1f:	c9                   	leave  
c001ff20:	c3                   	ret    

c001ff21 <_Z10mouse_readv>:
c001ff21:	55                   	push   %ebp
c001ff22:	89 e5                	mov    %esp,%ebp
c001ff24:	83 ec 08             	sub    $0x8,%esp
c001ff27:	83 ec 0c             	sub    $0xc,%esp
c001ff2a:	6a 00                	push   $0x0
c001ff2c:	e8 c0 4b 00 00       	call   c0024af1 <_Z10mouse_waith>
c001ff31:	83 c4 10             	add    $0x10,%esp
c001ff34:	83 ec 0c             	sub    $0xc,%esp
c001ff37:	6a 60                	push   $0x60
c001ff39:	e8 7f 3b 00 00       	call   c0023abd <_Z7inportbt>
c001ff3e:	83 c4 10             	add    $0x10,%esp
c001ff41:	c9                   	leave  
c001ff42:	c3                   	ret    

c001ff43 <_Z13mouse_installv>:
c001ff43:	55                   	push   %ebp
c001ff44:	89 e5                	mov    %esp,%ebp
c001ff46:	83 ec 18             	sub    $0x18,%esp
c001ff49:	83 ec 0c             	sub    $0xc,%esp
c001ff4c:	6a 01                	push   $0x1
c001ff4e:	e8 9e 4b 00 00       	call   c0024af1 <_Z10mouse_waith>
c001ff53:	83 c4 10             	add    $0x10,%esp
c001ff56:	83 ec 08             	sub    $0x8,%esp
c001ff59:	68 a8 00 00 00       	push   $0xa8
c001ff5e:	6a 64                	push   $0x64
c001ff60:	e8 37 3b 00 00       	call   c0023a9c <_Z8outportbth>
c001ff65:	83 c4 10             	add    $0x10,%esp
c001ff68:	83 ec 0c             	sub    $0xc,%esp
c001ff6b:	6a 01                	push   $0x1
c001ff6d:	e8 7f 4b 00 00       	call   c0024af1 <_Z10mouse_waith>
c001ff72:	83 c4 10             	add    $0x10,%esp
c001ff75:	83 ec 08             	sub    $0x8,%esp
c001ff78:	6a 20                	push   $0x20
c001ff7a:	6a 64                	push   $0x64
c001ff7c:	e8 1b 3b 00 00       	call   c0023a9c <_Z8outportbth>
c001ff81:	83 c4 10             	add    $0x10,%esp
c001ff84:	83 ec 0c             	sub    $0xc,%esp
c001ff87:	6a 00                	push   $0x0
c001ff89:	e8 63 4b 00 00       	call   c0024af1 <_Z10mouse_waith>
c001ff8e:	83 c4 10             	add    $0x10,%esp
c001ff91:	83 ec 0c             	sub    $0xc,%esp
c001ff94:	6a 60                	push   $0x60
c001ff96:	e8 22 3b 00 00       	call   c0023abd <_Z7inportbt>
c001ff9b:	83 c4 10             	add    $0x10,%esp
c001ff9e:	83 c8 02             	or     $0x2,%eax
c001ffa1:	88 45 f7             	mov    %al,-0x9(%ebp)
c001ffa4:	83 ec 0c             	sub    $0xc,%esp
c001ffa7:	6a 01                	push   $0x1
c001ffa9:	e8 43 4b 00 00       	call   c0024af1 <_Z10mouse_waith>
c001ffae:	83 c4 10             	add    $0x10,%esp
c001ffb1:	83 ec 08             	sub    $0x8,%esp
c001ffb4:	6a 60                	push   $0x60
c001ffb6:	6a 64                	push   $0x64
c001ffb8:	e8 df 3a 00 00       	call   c0023a9c <_Z8outportbth>
c001ffbd:	83 c4 10             	add    $0x10,%esp
c001ffc0:	83 ec 0c             	sub    $0xc,%esp
c001ffc3:	6a 01                	push   $0x1
c001ffc5:	e8 27 4b 00 00       	call   c0024af1 <_Z10mouse_waith>
c001ffca:	83 c4 10             	add    $0x10,%esp
c001ffcd:	0f b6 45 f7          	movzbl -0x9(%ebp),%eax
c001ffd1:	83 ec 08             	sub    $0x8,%esp
c001ffd4:	50                   	push   %eax
c001ffd5:	6a 60                	push   $0x60
c001ffd7:	e8 c0 3a 00 00       	call   c0023a9c <_Z8outportbth>
c001ffdc:	83 c4 10             	add    $0x10,%esp
c001ffdf:	83 ec 0c             	sub    $0xc,%esp
c001ffe2:	68 f6 00 00 00       	push   $0xf6
c001ffe7:	e8 85 4b 00 00       	call   c0024b71 <_Z11mouse_writeh>
c001ffec:	83 c4 10             	add    $0x10,%esp
c001ffef:	e8 2d ff ff ff       	call   c001ff21 <_Z10mouse_readv>
c001fff4:	83 ec 0c             	sub    $0xc,%esp
c001fff7:	68 f4 00 00 00       	push   $0xf4
c001fffc:	e8 70 4b 00 00       	call   c0024b71 <_Z11mouse_writeh>
c0020001:	83 c4 10             	add    $0x10,%esp
c0020004:	e8 18 ff ff ff       	call   c001ff21 <_Z10mouse_readv>
c0020009:	83 ec 08             	sub    $0x8,%esp
c002000c:	68 99 fe 01 c0       	push   $0xc001fe99
c0020011:	6a 2c                	push   $0x2c
c0020013:	e8 0e f3 ff ff       	call   c001f326 <interrupt_register_handler>
c0020018:	83 c4 10             	add    $0x10,%esp
c002001b:	90                   	nop
c002001c:	c9                   	leave  
c002001d:	c3                   	ret    

c002001e <_Z14mouse_get_datav>:
c002001e:	55                   	push   %ebp
c002001f:	89 e5                	mov    %esp,%ebp
c0020021:	b8 50 c1 02 c0       	mov    $0xc002c150,%eax
c0020026:	5d                   	pop    %ebp
c0020027:	c3                   	ret    

c0020028 <_Z18mouse_data_updatedv>:
c0020028:	55                   	push   %ebp
c0020029:	89 e5                	mov    %esp,%ebp
c002002b:	83 ec 10             	sub    $0x10,%esp
c002002e:	0f b6 05 54 c1 02 c0 	movzbl 0xc002c154,%eax
c0020035:	88 45 ff             	mov    %al,-0x1(%ebp)
c0020038:	0f b6 05 54 c1 02 c0 	movzbl 0xc002c154,%eax
c002003f:	84 c0                	test   %al,%al
c0020041:	74 07                	je     c002004a <_Z18mouse_data_updatedv+0x22>
c0020043:	c6 05 54 c1 02 c0 00 	movb   $0x0,0xc002c154
c002004a:	0f b6 45 ff          	movzbl -0x1(%ebp),%eax
c002004e:	c9                   	leave  
c002004f:	c3                   	ret    

c0020050 <_Z17multitasking_initv>:
c0020050:	55                   	push   %ebp
c0020051:	89 e5                	mov    %esp,%ebp
c0020053:	53                   	push   %ebx
c0020054:	83 ec 04             	sub    $0x4,%esp
c0020057:	c6 05 a4 66 02 c0 01 	movb   $0x1,0xc00266a4
c002005e:	83 ec 0c             	sub    $0xc,%esp
c0020061:	6a 0c                	push   $0xc
c0020063:	e8 bc 19 00 00       	call   c0021a24 <_Znwm>
c0020068:	83 c4 10             	add    $0x10,%esp
c002006b:	89 c3                	mov    %eax,%ebx
c002006d:	83 ec 0c             	sub    $0xc,%esp
c0020070:	53                   	push   %ebx
c0020071:	e8 48 4b 00 00       	call   c0024bbe <_ZN4ListI11HandleIndexEC1Ev>
c0020076:	83 c4 10             	add    $0x10,%esp
c0020079:	89 1d 7c c1 02 c0    	mov    %ebx,0xc002c17c
c002007f:	83 ec 0c             	sub    $0xc,%esp
c0020082:	68 2c d0 01 c0       	push   $0xc001d02c
c0020087:	e8 1f 01 00 00       	call   c00201ab <_Z14create_processPv>
c002008c:	83 c4 10             	add    $0x10,%esp
c002008f:	a1 60 c1 02 c0       	mov    0xc002c160,%eax
c0020094:	8b 40 5c             	mov    0x5c(%eax),%eax
c0020097:	a3 70 c1 02 c0       	mov    %eax,0xc002c170
c002009c:	a1 60 c1 02 c0       	mov    0xc002c160,%eax
c00200a1:	8b 40 40             	mov    0x40(%eax),%eax
c00200a4:	a3 6c c1 02 c0       	mov    %eax,0xc002c16c
c00200a9:	a1 60 c1 02 c0       	mov    0xc002c160,%eax
c00200ae:	8b 40 3c             	mov    0x3c(%eax),%eax
c00200b1:	a3 68 c1 02 c0       	mov    %eax,0xc002c168
c00200b6:	a1 60 c1 02 c0       	mov    0xc002c160,%eax
c00200bb:	8b 40 09             	mov    0x9(%eax),%eax
c00200be:	a3 74 c1 02 c0       	mov    %eax,0xc002c174
c00200c3:	fa                   	cli    
c00200c4:	c6 05 a4 66 02 c0 00 	movb   $0x0,0xc00266a4
c00200cb:	e8 e4 d1 ff ff       	call   c001d2b4 <task_switch>
c00200d0:	90                   	nop
c00200d1:	8b 5d fc             	mov    -0x4(%ebp),%ebx
c00200d4:	c9                   	leave  
c00200d5:	c3                   	ret    

c00200d6 <_Z16get_current_procv>:
c00200d6:	55                   	push   %ebp
c00200d7:	89 e5                	mov    %esp,%ebp
c00200d9:	a1 60 c1 02 c0       	mov    0xc002c160,%eax
c00200de:	5d                   	pop    %ebp
c00200df:	c3                   	ret    

c00200e0 <_Z15register_handlePv>:
c00200e0:	55                   	push   %ebp
c00200e1:	89 e5                	mov    %esp,%ebp
c00200e3:	83 ec 18             	sub    $0x18,%esp
c00200e6:	8b 45 08             	mov    0x8(%ebp),%eax
c00200e9:	89 45 f4             	mov    %eax,-0xc(%ebp)
c00200ec:	a1 60 c1 02 c0       	mov    0xc002c160,%eax
c00200f1:	89 45 f0             	mov    %eax,-0x10(%ebp)
c00200f4:	a1 60 c1 02 c0       	mov    0xc002c160,%eax
c00200f9:	8b 00                	mov    (%eax),%eax
c00200fb:	89 45 ec             	mov    %eax,-0x14(%ebp)
c00200fe:	a1 7c c1 02 c0       	mov    0xc002c17c,%eax
c0020103:	ff 75 f4             	pushl  -0xc(%ebp)
c0020106:	ff 75 f0             	pushl  -0x10(%ebp)
c0020109:	ff 75 ec             	pushl  -0x14(%ebp)
c002010c:	50                   	push   %eax
c002010d:	e8 e0 4a 00 00       	call   c0024bf2 <_ZN4ListI11HandleIndexE8add_backES0_>
c0020112:	83 c4 10             	add    $0x10,%esp
c0020115:	90                   	nop
c0020116:	c9                   	leave  
c0020117:	c3                   	ret    

c0020118 <_Z11find_handlePv>:
c0020118:	55                   	push   %ebp
c0020119:	89 e5                	mov    %esp,%ebp
c002011b:	83 ec 28             	sub    $0x28,%esp
c002011e:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
c0020125:	a1 7c c1 02 c0       	mov    0xc002c17c,%eax
c002012a:	83 ec 0c             	sub    $0xc,%esp
c002012d:	50                   	push   %eax
c002012e:	e8 81 4b 00 00       	call   c0024cb4 <_ZN4ListI11HandleIndexE10get_lengthEv>
c0020133:	83 c4 10             	add    $0x10,%esp
c0020136:	39 45 f4             	cmp    %eax,-0xc(%ebp)
c0020139:	0f 9c c0             	setl   %al
c002013c:	84 c0                	test   %al,%al
c002013e:	74 49                	je     c0020189 <_Z11find_handlePv+0x71>
c0020140:	8b 4d f4             	mov    -0xc(%ebp),%ecx
c0020143:	8b 15 7c c1 02 c0    	mov    0xc002c17c,%edx
c0020149:	8d 45 e8             	lea    -0x18(%ebp),%eax
c002014c:	83 ec 04             	sub    $0x4,%esp
c002014f:	51                   	push   %ecx
c0020150:	52                   	push   %edx
c0020151:	50                   	push   %eax
c0020152:	e8 69 4b 00 00       	call   c0024cc0 <_ZN4ListI11HandleIndexEixEj>
c0020157:	83 c4 0c             	add    $0xc,%esp
c002015a:	8b 45 f0             	mov    -0x10(%ebp),%eax
c002015d:	39 45 0c             	cmp    %eax,0xc(%ebp)
c0020160:	0f 94 c0             	sete   %al
c0020163:	84 c0                	test   %al,%al
c0020165:	74 1c                	je     c0020183 <_Z11find_handlePv+0x6b>
c0020167:	8b 4d f4             	mov    -0xc(%ebp),%ecx
c002016a:	8b 15 7c c1 02 c0    	mov    0xc002c17c,%edx
c0020170:	8b 45 08             	mov    0x8(%ebp),%eax
c0020173:	83 ec 04             	sub    $0x4,%esp
c0020176:	51                   	push   %ecx
c0020177:	52                   	push   %edx
c0020178:	50                   	push   %eax
c0020179:	e8 42 4b 00 00       	call   c0024cc0 <_ZN4ListI11HandleIndexEixEj>
c002017e:	83 c4 0c             	add    $0xc,%esp
c0020181:	eb 21                	jmp    c00201a4 <_Z11find_handlePv+0x8c>
c0020183:	83 45 f4 01          	addl   $0x1,-0xc(%ebp)
c0020187:	eb 9c                	jmp    c0020125 <_Z11find_handlePv+0xd>
c0020189:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
c0020190:	8b 45 08             	mov    0x8(%ebp),%eax
c0020193:	8b 55 dc             	mov    -0x24(%ebp),%edx
c0020196:	89 10                	mov    %edx,(%eax)
c0020198:	8b 55 e0             	mov    -0x20(%ebp),%edx
c002019b:	89 50 04             	mov    %edx,0x4(%eax)
c002019e:	8b 55 e4             	mov    -0x1c(%ebp),%edx
c00201a1:	89 50 08             	mov    %edx,0x8(%eax)
c00201a4:	8b 45 08             	mov    0x8(%ebp),%eax
c00201a7:	c9                   	leave  
c00201a8:	c2 04 00             	ret    $0x4

c00201ab <_Z14create_processPv>:
c00201ab:	55                   	push   %ebp
c00201ac:	89 e5                	mov    %esp,%ebp
c00201ae:	53                   	push   %ebx
c00201af:	83 ec 34             	sub    $0x34,%esp
c00201b2:	0f b6 05 a4 66 02 c0 	movzbl 0xc00266a4,%eax
c00201b9:	88 45 f3             	mov    %al,-0xd(%ebp)
c00201bc:	c6 05 a4 66 02 c0 01 	movb   $0x1,0xc00266a4
c00201c3:	83 ec 0c             	sub    $0xc,%esp
c00201c6:	68 94 00 00 00       	push   $0x94
c00201cb:	e8 ad d2 ff ff       	call   c001d47d <kmalloc>
c00201d0:	83 c4 10             	add    $0x10,%esp
c00201d3:	89 45 ec             	mov    %eax,-0x14(%ebp)
c00201d6:	83 ec 0c             	sub    $0xc,%esp
c00201d9:	68 6b 69 02 c0       	push   $0xc002696b
c00201de:	e8 ab 19 00 00       	call   c0021b8e <write_serial_string>
c00201e3:	83 c4 10             	add    $0x10,%esp
c00201e6:	8b 45 ec             	mov    -0x14(%ebp),%eax
c00201e9:	83 ec 04             	sub    $0x4,%esp
c00201ec:	6a 10                	push   $0x10
c00201ee:	6a 00                	push   $0x0
c00201f0:	50                   	push   %eax
c00201f1:	e8 c7 2f 00 00       	call   c00231bd <_Z4itoamPci>
c00201f6:	83 c4 10             	add    $0x10,%esp
c00201f9:	83 ec 0c             	sub    $0xc,%esp
c00201fc:	50                   	push   %eax
c00201fd:	e8 8c 19 00 00       	call   c0021b8e <write_serial_string>
c0020202:	83 c4 10             	add    $0x10,%esp
c0020205:	83 ec 0c             	sub    $0xc,%esp
c0020208:	68 76 69 02 c0       	push   $0xc0026976
c002020d:	e8 7c 19 00 00       	call   c0021b8e <write_serial_string>
c0020212:	83 c4 10             	add    $0x10,%esp
c0020215:	83 ec 04             	sub    $0x4,%esp
c0020218:	68 94 00 00 00       	push   $0x94
c002021d:	6a 00                	push   $0x0
c002021f:	ff 75 ec             	pushl  -0x14(%ebp)
c0020222:	e8 3d fb ff ff       	call   c001fd64 <memset>
c0020227:	83 c4 10             	add    $0x10,%esp
c002022a:	a1 64 c1 02 c0       	mov    0xc002c164,%eax
c002022f:	8d 50 01             	lea    0x1(%eax),%edx
c0020232:	89 15 64 c1 02 c0    	mov    %edx,0xc002c164
c0020238:	8b 55 ec             	mov    -0x14(%ebp),%edx
c002023b:	89 02                	mov    %eax,(%edx)
c002023d:	8b 45 ec             	mov    -0x14(%ebp),%eax
c0020240:	c6 40 04 01          	movb   $0x1,0x4(%eax)
c0020244:	8b 45 ec             	mov    -0x14(%ebp),%eax
c0020247:	c7 40 70 01 00 00 00 	movl   $0x1,0x70(%eax)
c002024e:	8b 45 ec             	mov    -0x14(%ebp),%eax
c0020251:	c6 40 11 01          	movb   $0x1,0x11(%eax)
c0020255:	8b 45 ec             	mov    -0x14(%ebp),%eax
c0020258:	c7 40 70 01 00 00 00 	movl   $0x1,0x70(%eax)
c002025f:	8b 5d ec             	mov    -0x14(%ebp),%ebx
c0020262:	8d 45 c8             	lea    -0x38(%ebp),%eax
c0020265:	83 ec 0c             	sub    $0xc,%esp
c0020268:	50                   	push   %eax
c0020269:	e8 ae 12 00 00       	call   c002151c <_Z17new_address_spacev>
c002026e:	83 c4 0c             	add    $0xc,%esp
c0020271:	8b 45 c8             	mov    -0x38(%ebp),%eax
c0020274:	89 43 05             	mov    %eax,0x5(%ebx)
c0020277:	8b 45 cc             	mov    -0x34(%ebp),%eax
c002027a:	89 43 09             	mov    %eax,0x9(%ebx)
c002027d:	8b 45 d0             	mov    -0x30(%ebp),%eax
c0020280:	89 43 0d             	mov    %eax,0xd(%ebx)
c0020283:	8b 45 ec             	mov    -0x14(%ebp),%eax
c0020286:	83 c0 12             	add    $0x12,%eax
c0020289:	89 45 e8             	mov    %eax,-0x18(%ebp)
c002028c:	8b 45 e8             	mov    -0x18(%ebp),%eax
c002028f:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
c0020296:	8b 45 e8             	mov    -0x18(%ebp),%eax
c0020299:	c7 40 0c 00 00 00 00 	movl   $0x0,0xc(%eax)
c00202a0:	8b 45 e8             	mov    -0x18(%ebp),%eax
c00202a3:	8b 55 ec             	mov    -0x14(%ebp),%edx
c00202a6:	89 10                	mov    %edx,(%eax)
c00202a8:	8b 45 e8             	mov    -0x18(%ebp),%eax
c00202ab:	c6 40 10 01          	movb   $0x1,0x10(%eax)
c00202af:	8b 45 e8             	mov    -0x18(%ebp),%eax
c00202b2:	8b 50 04             	mov    0x4(%eax),%edx
c00202b5:	8b 45 e8             	mov    -0x18(%ebp),%eax
c00202b8:	89 50 08             	mov    %edx,0x8(%eax)
c00202bb:	8b 45 e8             	mov    -0x18(%ebp),%eax
c00202be:	8b 55 ec             	mov    -0x14(%ebp),%edx
c00202c1:	89 10                	mov    %edx,(%eax)
c00202c3:	8b 45 e8             	mov    -0x18(%ebp),%eax
c00202c6:	83 c0 12             	add    $0x12,%eax
c00202c9:	89 45 e4             	mov    %eax,-0x1c(%ebp)
c00202cc:	83 ec 04             	sub    $0x4,%esp
c00202cf:	6a 4c                	push   $0x4c
c00202d1:	6a 00                	push   $0x0
c00202d3:	ff 75 e4             	pushl  -0x1c(%ebp)
c00202d6:	e8 89 fa ff ff       	call   c001fd64 <memset>
c00202db:	83 c4 10             	add    $0x10,%esp
c00202de:	8b 45 e4             	mov    -0x1c(%ebp),%eax
c00202e1:	c7 40 40 00 02 00 00 	movl   $0x200,0x40(%eax)
c00202e8:	83 ec 0c             	sub    $0xc,%esp
c00202eb:	68 79 69 02 c0       	push   $0xc0026979
c00202f0:	e8 99 18 00 00       	call   c0021b8e <write_serial_string>
c00202f5:	83 c4 10             	add    $0x10,%esp
c00202f8:	8b 45 08             	mov    0x8(%ebp),%eax
c00202fb:	83 ec 04             	sub    $0x4,%esp
c00202fe:	6a 10                	push   $0x10
c0020300:	6a 00                	push   $0x0
c0020302:	50                   	push   %eax
c0020303:	e8 b5 2e 00 00       	call   c00231bd <_Z4itoamPci>
c0020308:	83 c4 10             	add    $0x10,%esp
c002030b:	83 ec 0c             	sub    $0xc,%esp
c002030e:	50                   	push   %eax
c002030f:	e8 7a 18 00 00       	call   c0021b8e <write_serial_string>
c0020314:	83 c4 10             	add    $0x10,%esp
c0020317:	83 ec 0c             	sub    $0xc,%esp
c002031a:	68 76 69 02 c0       	push   $0xc0026976
c002031f:	e8 6a 18 00 00       	call   c0021b8e <write_serial_string>
c0020324:	83 c4 10             	add    $0x10,%esp
c0020327:	83 ec 0c             	sub    $0xc,%esp
c002032a:	6a 04                	push   $0x4
c002032c:	e8 13 09 00 00       	call   c0020c44 <_Z21kernel_pages_allocatem>
c0020331:	83 c4 10             	add    $0x10,%esp
c0020334:	89 45 e0             	mov    %eax,-0x20(%ebp)
c0020337:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
c002033e:	83 7d f4 03          	cmpl   $0x3,-0xc(%ebp)
c0020342:	7f 28                	jg     c002036c <_Z14create_processPv+0x1c1>
c0020344:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0020347:	c1 e0 0c             	shl    $0xc,%eax
c002034a:	89 c2                	mov    %eax,%edx
c002034c:	8b 45 e0             	mov    -0x20(%ebp),%eax
c002034f:	8d 1c 02             	lea    (%edx,%eax,1),%ebx
c0020352:	e8 62 16 00 00       	call   c00219b9 <_Z21physalloc_alloc_blockv>
c0020357:	83 ec 04             	sub    $0x4,%esp
c002035a:	6a 01                	push   $0x1
c002035c:	53                   	push   %ebx
c002035d:	50                   	push   %eax
c002035e:	e8 0d 0b 00 00       	call   c0020e70 <_Z8map_pagemmm>
c0020363:	83 c4 10             	add    $0x10,%esp
c0020366:	83 45 f4 01          	addl   $0x1,-0xc(%ebp)
c002036a:	eb d2                	jmp    c002033e <_Z14create_processPv+0x193>
c002036c:	8b 45 e0             	mov    -0x20(%ebp),%eax
c002036f:	8d 90 00 40 00 00    	lea    0x4000(%eax),%edx
c0020375:	8b 45 e8             	mov    -0x18(%ebp),%eax
c0020378:	89 50 04             	mov    %edx,0x4(%eax)
c002037b:	8b 45 e8             	mov    -0x18(%ebp),%eax
c002037e:	8b 40 04             	mov    0x4(%eax),%eax
c0020381:	89 c2                	mov    %eax,%edx
c0020383:	8b 45 e8             	mov    -0x18(%ebp),%eax
c0020386:	89 50 2e             	mov    %edx,0x2e(%eax)
c0020389:	8b 45 e8             	mov    -0x18(%ebp),%eax
c002038c:	8b 40 04             	mov    0x4(%eax),%eax
c002038f:	89 c2                	mov    %eax,%edx
c0020391:	8b 45 e8             	mov    -0x18(%ebp),%eax
c0020394:	89 50 2a             	mov    %edx,0x2a(%eax)
c0020397:	8b 55 08             	mov    0x8(%ebp),%edx
c002039a:	8b 45 e8             	mov    -0x18(%ebp),%eax
c002039d:	89 50 4a             	mov    %edx,0x4a(%eax)
c00203a0:	a1 5c c1 02 c0       	mov    0xc002c15c,%eax
c00203a5:	85 c0                	test   %eax,%eax
c00203a7:	75 1b                	jne    c00203c4 <_Z14create_processPv+0x219>
c00203a9:	8b 45 ec             	mov    -0x14(%ebp),%eax
c00203ac:	a3 5c c1 02 c0       	mov    %eax,0xc002c15c
c00203b1:	8b 45 ec             	mov    -0x14(%ebp),%eax
c00203b4:	8b 55 ec             	mov    -0x14(%ebp),%edx
c00203b7:	89 50 74             	mov    %edx,0x74(%eax)
c00203ba:	8b 45 ec             	mov    -0x14(%ebp),%eax
c00203bd:	a3 60 c1 02 c0       	mov    %eax,0xc002c160
c00203c2:	eb 3e                	jmp    c0020402 <_Z14create_processPv+0x257>
c00203c4:	a1 5c c1 02 c0       	mov    0xc002c15c,%eax
c00203c9:	8b 40 74             	mov    0x74(%eax),%eax
c00203cc:	85 c0                	test   %eax,%eax
c00203ce:	74 1b                	je     c00203eb <_Z14create_processPv+0x240>
c00203d0:	a1 5c c1 02 c0       	mov    0xc002c15c,%eax
c00203d5:	8b 50 74             	mov    0x74(%eax),%edx
c00203d8:	8b 45 ec             	mov    -0x14(%ebp),%eax
c00203db:	89 50 74             	mov    %edx,0x74(%eax)
c00203de:	a1 5c c1 02 c0       	mov    0xc002c15c,%eax
c00203e3:	8b 55 ec             	mov    -0x14(%ebp),%edx
c00203e6:	89 50 74             	mov    %edx,0x74(%eax)
c00203e9:	eb 17                	jmp    c0020402 <_Z14create_processPv+0x257>
c00203eb:	a1 5c c1 02 c0       	mov    0xc002c15c,%eax
c00203f0:	8b 55 ec             	mov    -0x14(%ebp),%edx
c00203f3:	89 50 74             	mov    %edx,0x74(%eax)
c00203f6:	8b 15 5c c1 02 c0    	mov    0xc002c15c,%edx
c00203fc:	8b 45 ec             	mov    -0x14(%ebp),%eax
c00203ff:	89 50 74             	mov    %edx,0x74(%eax)
c0020402:	0f b6 45 f3          	movzbl -0xd(%ebp),%eax
c0020406:	a2 a4 66 02 c0       	mov    %al,0xc00266a4
c002040b:	8b 45 ec             	mov    -0x14(%ebp),%eax
c002040e:	8b 00                	mov    (%eax),%eax
c0020410:	8b 5d fc             	mov    -0x4(%ebp),%ebx
c0020413:	c9                   	leave  
c0020414:	c3                   	ret    

c0020415 <_Z11find_by_pidm>:
c0020415:	55                   	push   %ebp
c0020416:	89 e5                	mov    %esp,%ebp
c0020418:	83 ec 10             	sub    $0x10,%esp
c002041b:	a1 5c c1 02 c0       	mov    0xc002c15c,%eax
c0020420:	89 45 fc             	mov    %eax,-0x4(%ebp)
c0020423:	8b 45 fc             	mov    -0x4(%ebp),%eax
c0020426:	8b 00                	mov    (%eax),%eax
c0020428:	89 45 f8             	mov    %eax,-0x8(%ebp)
c002042b:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
c002042f:	74 2b                	je     c002045c <_Z11find_by_pidm+0x47>
c0020431:	8b 45 fc             	mov    -0x4(%ebp),%eax
c0020434:	8b 00                	mov    (%eax),%eax
c0020436:	39 45 08             	cmp    %eax,0x8(%ebp)
c0020439:	75 05                	jne    c0020440 <_Z11find_by_pidm+0x2b>
c002043b:	8b 45 fc             	mov    -0x4(%ebp),%eax
c002043e:	eb 1c                	jmp    c002045c <_Z11find_by_pidm+0x47>
c0020440:	8b 45 fc             	mov    -0x4(%ebp),%eax
c0020443:	8b 00                	mov    (%eax),%eax
c0020445:	39 45 f8             	cmp    %eax,-0x8(%ebp)
c0020448:	75 07                	jne    c0020451 <_Z11find_by_pidm+0x3c>
c002044a:	b8 00 00 00 00       	mov    $0x0,%eax
c002044f:	eb 0b                	jmp    c002045c <_Z11find_by_pidm+0x47>
c0020451:	8b 45 fc             	mov    -0x4(%ebp),%eax
c0020454:	8b 40 74             	mov    0x74(%eax),%eax
c0020457:	89 45 fc             	mov    %eax,-0x4(%ebp)
c002045a:	eb cf                	jmp    c002042b <_Z11find_by_pidm+0x16>
c002045c:	c9                   	leave  
c002045d:	c3                   	ret    

c002045e <_Z18create_process_elfPv>:
c002045e:	55                   	push   %ebp
c002045f:	89 e5                	mov    %esp,%ebp
c0020461:	53                   	push   %ebx
c0020462:	81 ec b4 00 00 00    	sub    $0xb4,%esp
c0020468:	0f b6 05 a4 66 02 c0 	movzbl 0xc00266a4,%eax
c002046f:	88 45 eb             	mov    %al,-0x15(%ebp)
c0020472:	c6 05 a4 66 02 c0 01 	movb   $0x1,0xc00266a4
c0020479:	83 ec 0c             	sub    $0xc,%esp
c002047c:	68 94 00 00 00       	push   $0x94
c0020481:	e8 f7 cf ff ff       	call   c001d47d <kmalloc>
c0020486:	83 c4 10             	add    $0x10,%esp
c0020489:	89 45 e4             	mov    %eax,-0x1c(%ebp)
c002048c:	83 ec 0c             	sub    $0xc,%esp
c002048f:	68 6b 69 02 c0       	push   $0xc002696b
c0020494:	e8 f5 16 00 00       	call   c0021b8e <write_serial_string>
c0020499:	83 c4 10             	add    $0x10,%esp
c002049c:	8b 45 e4             	mov    -0x1c(%ebp),%eax
c002049f:	83 ec 04             	sub    $0x4,%esp
c00204a2:	6a 10                	push   $0x10
c00204a4:	6a 00                	push   $0x0
c00204a6:	50                   	push   %eax
c00204a7:	e8 11 2d 00 00       	call   c00231bd <_Z4itoamPci>
c00204ac:	83 c4 10             	add    $0x10,%esp
c00204af:	83 ec 0c             	sub    $0xc,%esp
c00204b2:	50                   	push   %eax
c00204b3:	e8 d6 16 00 00       	call   c0021b8e <write_serial_string>
c00204b8:	83 c4 10             	add    $0x10,%esp
c00204bb:	83 ec 0c             	sub    $0xc,%esp
c00204be:	68 76 69 02 c0       	push   $0xc0026976
c00204c3:	e8 c6 16 00 00       	call   c0021b8e <write_serial_string>
c00204c8:	83 c4 10             	add    $0x10,%esp
c00204cb:	83 ec 04             	sub    $0x4,%esp
c00204ce:	68 94 00 00 00       	push   $0x94
c00204d3:	6a 00                	push   $0x0
c00204d5:	ff 75 e4             	pushl  -0x1c(%ebp)
c00204d8:	e8 87 f8 ff ff       	call   c001fd64 <memset>
c00204dd:	83 c4 10             	add    $0x10,%esp
c00204e0:	a1 64 c1 02 c0       	mov    0xc002c164,%eax
c00204e5:	8d 50 01             	lea    0x1(%eax),%edx
c00204e8:	89 15 64 c1 02 c0    	mov    %edx,0xc002c164
c00204ee:	8b 55 e4             	mov    -0x1c(%ebp),%edx
c00204f1:	89 02                	mov    %eax,(%edx)
c00204f3:	8b 45 e4             	mov    -0x1c(%ebp),%eax
c00204f6:	c6 40 04 01          	movb   $0x1,0x4(%eax)
c00204fa:	8b 45 e4             	mov    -0x1c(%ebp),%eax
c00204fd:	c7 40 70 01 00 00 00 	movl   $0x1,0x70(%eax)
c0020504:	8b 45 e4             	mov    -0x1c(%ebp),%eax
c0020507:	c6 40 11 01          	movb   $0x1,0x11(%eax)
c002050b:	8b 45 e4             	mov    -0x1c(%ebp),%eax
c002050e:	c7 40 70 01 00 00 00 	movl   $0x1,0x70(%eax)
c0020515:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
c0020518:	8d 85 48 ff ff ff    	lea    -0xb8(%ebp),%eax
c002051e:	83 ec 0c             	sub    $0xc,%esp
c0020521:	50                   	push   %eax
c0020522:	e8 f5 0f 00 00       	call   c002151c <_Z17new_address_spacev>
c0020527:	83 c4 0c             	add    $0xc,%esp
c002052a:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
c0020530:	89 43 05             	mov    %eax,0x5(%ebx)
c0020533:	8b 85 4c ff ff ff    	mov    -0xb4(%ebp),%eax
c0020539:	89 43 09             	mov    %eax,0x9(%ebx)
c002053c:	8b 85 50 ff ff ff    	mov    -0xb0(%ebp),%eax
c0020542:	89 43 0d             	mov    %eax,0xd(%ebx)
c0020545:	8b 45 08             	mov    0x8(%ebp),%eax
c0020548:	8b 10                	mov    (%eax),%edx
c002054a:	89 55 a0             	mov    %edx,-0x60(%ebp)
c002054d:	8b 50 04             	mov    0x4(%eax),%edx
c0020550:	89 55 a4             	mov    %edx,-0x5c(%ebp)
c0020553:	8b 50 08             	mov    0x8(%eax),%edx
c0020556:	89 55 a8             	mov    %edx,-0x58(%ebp)
c0020559:	8b 50 0c             	mov    0xc(%eax),%edx
c002055c:	89 55 ac             	mov    %edx,-0x54(%ebp)
c002055f:	8b 50 10             	mov    0x10(%eax),%edx
c0020562:	89 55 b0             	mov    %edx,-0x50(%ebp)
c0020565:	8b 50 14             	mov    0x14(%eax),%edx
c0020568:	89 55 b4             	mov    %edx,-0x4c(%ebp)
c002056b:	8b 50 18             	mov    0x18(%eax),%edx
c002056e:	89 55 b8             	mov    %edx,-0x48(%ebp)
c0020571:	8b 50 1c             	mov    0x1c(%eax),%edx
c0020574:	89 55 bc             	mov    %edx,-0x44(%ebp)
c0020577:	8b 50 20             	mov    0x20(%eax),%edx
c002057a:	89 55 c0             	mov    %edx,-0x40(%ebp)
c002057d:	8b 50 24             	mov    0x24(%eax),%edx
c0020580:	89 55 c4             	mov    %edx,-0x3c(%ebp)
c0020583:	8b 50 28             	mov    0x28(%eax),%edx
c0020586:	89 55 c8             	mov    %edx,-0x38(%ebp)
c0020589:	8b 50 2c             	mov    0x2c(%eax),%edx
c002058c:	89 55 cc             	mov    %edx,-0x34(%ebp)
c002058f:	8b 40 30             	mov    0x30(%eax),%eax
c0020592:	89 45 d0             	mov    %eax,-0x30(%ebp)
c0020595:	8b 55 c0             	mov    -0x40(%ebp),%edx
c0020598:	8b 45 08             	mov    0x8(%ebp),%eax
c002059b:	8d 0c 02             	lea    (%edx,%eax,1),%ecx
c002059e:	0f b7 45 d2          	movzwl -0x2e(%ebp),%eax
c00205a2:	0f b7 d0             	movzwl %ax,%edx
c00205a5:	0f b7 45 ce          	movzwl -0x32(%ebp),%eax
c00205a9:	0f b7 c0             	movzwl %ax,%eax
c00205ac:	0f af c2             	imul   %edx,%eax
c00205af:	01 c8                	add    %ecx,%eax
c00205b1:	8b 10                	mov    (%eax),%edx
c00205b3:	89 95 78 ff ff ff    	mov    %edx,-0x88(%ebp)
c00205b9:	8b 50 04             	mov    0x4(%eax),%edx
c00205bc:	89 95 7c ff ff ff    	mov    %edx,-0x84(%ebp)
c00205c2:	8b 50 08             	mov    0x8(%eax),%edx
c00205c5:	89 55 80             	mov    %edx,-0x80(%ebp)
c00205c8:	8b 50 0c             	mov    0xc(%eax),%edx
c00205cb:	89 55 84             	mov    %edx,-0x7c(%ebp)
c00205ce:	8b 50 10             	mov    0x10(%eax),%edx
c00205d1:	89 55 88             	mov    %edx,-0x78(%ebp)
c00205d4:	8b 50 14             	mov    0x14(%eax),%edx
c00205d7:	89 55 8c             	mov    %edx,-0x74(%ebp)
c00205da:	8b 50 18             	mov    0x18(%eax),%edx
c00205dd:	89 55 90             	mov    %edx,-0x70(%ebp)
c00205e0:	8b 50 1c             	mov    0x1c(%eax),%edx
c00205e3:	89 55 94             	mov    %edx,-0x6c(%ebp)
c00205e6:	8b 50 20             	mov    0x20(%eax),%edx
c00205e9:	89 55 98             	mov    %edx,-0x68(%ebp)
c00205ec:	8b 40 24             	mov    0x24(%eax),%eax
c00205ef:	89 45 9c             	mov    %eax,-0x64(%ebp)
c00205f2:	fa                   	cli    
c00205f3:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
c00205fa:	0f b7 45 cc          	movzwl -0x34(%ebp),%eax
c00205fe:	0f b7 c0             	movzwl %ax,%eax
c0020601:	39 45 f4             	cmp    %eax,-0xc(%ebp)
c0020604:	0f 8d 7d 01 00 00    	jge    c0020787 <_Z18create_process_elfPv+0x329>
c002060a:	8b 55 bc             	mov    -0x44(%ebp),%edx
c002060d:	0f b7 45 ca          	movzwl -0x36(%ebp),%eax
c0020611:	0f b7 c0             	movzwl %ax,%eax
c0020614:	0f af 45 f4          	imul   -0xc(%ebp),%eax
c0020618:	01 c2                	add    %eax,%edx
c002061a:	8b 45 08             	mov    0x8(%ebp),%eax
c002061d:	01 d0                	add    %edx,%eax
c002061f:	8b 10                	mov    (%eax),%edx
c0020621:	89 95 58 ff ff ff    	mov    %edx,-0xa8(%ebp)
c0020627:	8b 50 04             	mov    0x4(%eax),%edx
c002062a:	89 95 5c ff ff ff    	mov    %edx,-0xa4(%ebp)
c0020630:	8b 50 08             	mov    0x8(%eax),%edx
c0020633:	89 95 60 ff ff ff    	mov    %edx,-0xa0(%ebp)
c0020639:	8b 50 0c             	mov    0xc(%eax),%edx
c002063c:	89 95 64 ff ff ff    	mov    %edx,-0x9c(%ebp)
c0020642:	8b 50 10             	mov    0x10(%eax),%edx
c0020645:	89 95 68 ff ff ff    	mov    %edx,-0x98(%ebp)
c002064b:	8b 50 14             	mov    0x14(%eax),%edx
c002064e:	89 95 6c ff ff ff    	mov    %edx,-0x94(%ebp)
c0020654:	8b 50 18             	mov    0x18(%eax),%edx
c0020657:	89 95 70 ff ff ff    	mov    %edx,-0x90(%ebp)
c002065d:	8b 40 1c             	mov    0x1c(%eax),%eax
c0020660:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
c0020666:	8b 85 6c ff ff ff    	mov    -0x94(%ebp),%eax
c002066c:	85 c0                	test   %eax,%eax
c002066e:	0f 84 09 01 00 00    	je     c002077d <_Z18create_process_elfPv+0x31f>
c0020674:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
c002067b:	8b 85 6c ff ff ff    	mov    -0x94(%ebp),%eax
c0020681:	c1 e8 0c             	shr    $0xc,%eax
c0020684:	8d 50 01             	lea    0x1(%eax),%edx
c0020687:	8b 45 f0             	mov    -0x10(%ebp),%eax
c002068a:	39 c2                	cmp    %eax,%edx
c002068c:	0f 86 85 00 00 00    	jbe    c0020717 <_Z18create_process_elfPv+0x2b9>
c0020692:	e8 22 13 00 00       	call   c00219b9 <_Z21physalloc_alloc_blockv>
c0020697:	89 45 e0             	mov    %eax,-0x20(%ebp)
c002069a:	a1 60 c1 02 c0       	mov    0xc002c160,%eax
c002069f:	8b 95 60 ff ff ff    	mov    -0xa0(%ebp),%edx
c00206a5:	8b 4d f0             	mov    -0x10(%ebp),%ecx
c00206a8:	c1 e1 0c             	shl    $0xc,%ecx
c00206ab:	8d 1c 0a             	lea    (%edx,%ecx,1),%ebx
c00206ae:	83 ec 08             	sub    $0x8,%esp
c00206b1:	83 ec 0c             	sub    $0xc,%esp
c00206b4:	89 e2                	mov    %esp,%edx
c00206b6:	8b 48 05             	mov    0x5(%eax),%ecx
c00206b9:	89 0a                	mov    %ecx,(%edx)
c00206bb:	8b 48 09             	mov    0x9(%eax),%ecx
c00206be:	89 4a 04             	mov    %ecx,0x4(%edx)
c00206c1:	8b 40 0d             	mov    0xd(%eax),%eax
c00206c4:	89 42 08             	mov    %eax,0x8(%edx)
c00206c7:	6a 01                	push   $0x1
c00206c9:	53                   	push   %ebx
c00206ca:	ff 75 e0             	pushl  -0x20(%ebp)
c00206cd:	e8 7d 08 00 00       	call   c0020f4f <_Z8map_pagemmm20page_directory_ptr_t>
c00206d2:	83 c4 20             	add    $0x20,%esp
c00206d5:	8b 85 60 ff ff ff    	mov    -0xa0(%ebp),%eax
c00206db:	8b 55 f0             	mov    -0x10(%ebp),%edx
c00206de:	c1 e2 0c             	shl    $0xc,%edx
c00206e1:	8d 1c 10             	lea    (%eax,%edx,1),%ebx
c00206e4:	83 ec 08             	sub    $0x8,%esp
c00206e7:	8b 45 e4             	mov    -0x1c(%ebp),%eax
c00206ea:	83 ec 0c             	sub    $0xc,%esp
c00206ed:	89 e2                	mov    %esp,%edx
c00206ef:	8b 48 05             	mov    0x5(%eax),%ecx
c00206f2:	89 0a                	mov    %ecx,(%edx)
c00206f4:	8b 48 09             	mov    0x9(%eax),%ecx
c00206f7:	89 4a 04             	mov    %ecx,0x4(%edx)
c00206fa:	8b 40 0d             	mov    0xd(%eax),%eax
c00206fd:	89 42 08             	mov    %eax,0x8(%edx)
c0020700:	6a 01                	push   $0x1
c0020702:	53                   	push   %ebx
c0020703:	ff 75 e0             	pushl  -0x20(%ebp)
c0020706:	e8 44 08 00 00       	call   c0020f4f <_Z8map_pagemmm20page_directory_ptr_t>
c002070b:	83 c4 20             	add    $0x20,%esp
c002070e:	83 45 f0 01          	addl   $0x1,-0x10(%ebp)
c0020712:	e9 64 ff ff ff       	jmp    c002067b <_Z18create_process_elfPv+0x21d>
c0020717:	8b 85 6c ff ff ff    	mov    -0x94(%ebp),%eax
c002071d:	85 c0                	test   %eax,%eax
c002071f:	74 5d                	je     c002077e <_Z18create_process_elfPv+0x320>
c0020721:	83 ec 0c             	sub    $0xc,%esp
c0020724:	68 83 69 02 c0       	push   $0xc0026983
c0020729:	e8 60 14 00 00       	call   c0021b8e <write_serial_string>
c002072e:	83 c4 10             	add    $0x10,%esp
c0020731:	8b 85 60 ff ff ff    	mov    -0xa0(%ebp),%eax
c0020737:	83 ec 04             	sub    $0x4,%esp
c002073a:	6a 10                	push   $0x10
c002073c:	68 00 00 00 c0       	push   $0xc0000000
c0020741:	50                   	push   %eax
c0020742:	e8 76 2a 00 00       	call   c00231bd <_Z4itoamPci>
c0020747:	83 c4 10             	add    $0x10,%esp
c002074a:	83 ec 0c             	sub    $0xc,%esp
c002074d:	50                   	push   %eax
c002074e:	e8 3b 14 00 00       	call   c0021b8e <write_serial_string>
c0020753:	83 c4 10             	add    $0x10,%esp
c0020756:	8b 85 6c ff ff ff    	mov    -0x94(%ebp),%eax
c002075c:	8b 8d 5c ff ff ff    	mov    -0xa4(%ebp),%ecx
c0020762:	8b 55 08             	mov    0x8(%ebp),%edx
c0020765:	01 ca                	add    %ecx,%edx
c0020767:	8b 8d 60 ff ff ff    	mov    -0xa0(%ebp),%ecx
c002076d:	83 ec 04             	sub    $0x4,%esp
c0020770:	50                   	push   %eax
c0020771:	52                   	push   %edx
c0020772:	51                   	push   %ecx
c0020773:	e8 1f f6 ff ff       	call   c001fd97 <_Z6memcpyPvS_m>
c0020778:	83 c4 10             	add    $0x10,%esp
c002077b:	eb 01                	jmp    c002077e <_Z18create_process_elfPv+0x320>
c002077d:	90                   	nop
c002077e:	83 45 f4 01          	addl   $0x1,-0xc(%ebp)
c0020782:	e9 73 fe ff ff       	jmp    c00205fa <_Z18create_process_elfPv+0x19c>
c0020787:	83 ec 0c             	sub    $0xc,%esp
c002078a:	68 9c 69 02 c0       	push   $0xc002699c
c002078f:	e8 fa 13 00 00       	call   c0021b8e <write_serial_string>
c0020794:	83 c4 10             	add    $0x10,%esp
c0020797:	8b 45 b8             	mov    -0x48(%ebp),%eax
c002079a:	0f b7 00             	movzwl (%eax),%eax
c002079d:	0f b7 c0             	movzwl %ax,%eax
c00207a0:	83 ec 04             	sub    $0x4,%esp
c00207a3:	6a 10                	push   $0x10
c00207a5:	6a 00                	push   $0x0
c00207a7:	50                   	push   %eax
c00207a8:	e8 10 2a 00 00       	call   c00231bd <_Z4itoamPci>
c00207ad:	83 c4 10             	add    $0x10,%esp
c00207b0:	83 ec 0c             	sub    $0xc,%esp
c00207b3:	50                   	push   %eax
c00207b4:	e8 d5 13 00 00       	call   c0021b8e <write_serial_string>
c00207b9:	83 c4 10             	add    $0x10,%esp
c00207bc:	83 ec 0c             	sub    $0xc,%esp
c00207bf:	68 ab 69 02 c0       	push   $0xc00269ab
c00207c4:	e8 c5 13 00 00       	call   c0021b8e <write_serial_string>
c00207c9:	83 c4 10             	add    $0x10,%esp
c00207cc:	8b 45 b8             	mov    -0x48(%ebp),%eax
c00207cf:	83 ec 04             	sub    $0x4,%esp
c00207d2:	6a 10                	push   $0x10
c00207d4:	6a 00                	push   $0x0
c00207d6:	50                   	push   %eax
c00207d7:	e8 e1 29 00 00       	call   c00231bd <_Z4itoamPci>
c00207dc:	83 c4 10             	add    $0x10,%esp
c00207df:	83 ec 0c             	sub    $0xc,%esp
c00207e2:	50                   	push   %eax
c00207e3:	e8 a6 13 00 00       	call   c0021b8e <write_serial_string>
c00207e8:	83 c4 10             	add    $0x10,%esp
c00207eb:	fb                   	sti    
c00207ec:	8b 45 e4             	mov    -0x1c(%ebp),%eax
c00207ef:	83 c0 12             	add    $0x12,%eax
c00207f2:	89 45 dc             	mov    %eax,-0x24(%ebp)
c00207f5:	8b 45 dc             	mov    -0x24(%ebp),%eax
c00207f8:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
c00207ff:	8b 45 dc             	mov    -0x24(%ebp),%eax
c0020802:	c7 40 0c 00 00 00 00 	movl   $0x0,0xc(%eax)
c0020809:	8b 45 dc             	mov    -0x24(%ebp),%eax
c002080c:	8b 55 e4             	mov    -0x1c(%ebp),%edx
c002080f:	89 10                	mov    %edx,(%eax)
c0020811:	8b 45 dc             	mov    -0x24(%ebp),%eax
c0020814:	c6 40 10 01          	movb   $0x1,0x10(%eax)
c0020818:	8b 45 dc             	mov    -0x24(%ebp),%eax
c002081b:	8b 50 04             	mov    0x4(%eax),%edx
c002081e:	8b 45 dc             	mov    -0x24(%ebp),%eax
c0020821:	89 50 08             	mov    %edx,0x8(%eax)
c0020824:	8b 45 dc             	mov    -0x24(%ebp),%eax
c0020827:	8b 55 e4             	mov    -0x1c(%ebp),%edx
c002082a:	89 10                	mov    %edx,(%eax)
c002082c:	8b 45 dc             	mov    -0x24(%ebp),%eax
c002082f:	83 c0 12             	add    $0x12,%eax
c0020832:	89 45 d8             	mov    %eax,-0x28(%ebp)
c0020835:	83 ec 04             	sub    $0x4,%esp
c0020838:	6a 4c                	push   $0x4c
c002083a:	6a 00                	push   $0x0
c002083c:	ff 75 d8             	pushl  -0x28(%ebp)
c002083f:	e8 20 f5 ff ff       	call   c001fd64 <memset>
c0020844:	83 c4 10             	add    $0x10,%esp
c0020847:	8b 45 d8             	mov    -0x28(%ebp),%eax
c002084a:	c7 40 40 00 02 00 00 	movl   $0x200,0x40(%eax)
c0020851:	83 ec 0c             	sub    $0xc,%esp
c0020854:	68 79 69 02 c0       	push   $0xc0026979
c0020859:	e8 30 13 00 00       	call   c0021b8e <write_serial_string>
c002085e:	83 c4 10             	add    $0x10,%esp
c0020861:	8b 45 b8             	mov    -0x48(%ebp),%eax
c0020864:	83 ec 04             	sub    $0x4,%esp
c0020867:	6a 10                	push   $0x10
c0020869:	6a 00                	push   $0x0
c002086b:	50                   	push   %eax
c002086c:	e8 4c 29 00 00       	call   c00231bd <_Z4itoamPci>
c0020871:	83 c4 10             	add    $0x10,%esp
c0020874:	83 ec 0c             	sub    $0xc,%esp
c0020877:	50                   	push   %eax
c0020878:	e8 11 13 00 00       	call   c0021b8e <write_serial_string>
c002087d:	83 c4 10             	add    $0x10,%esp
c0020880:	83 ec 0c             	sub    $0xc,%esp
c0020883:	68 76 69 02 c0       	push   $0xc0026976
c0020888:	e8 01 13 00 00       	call   c0021b8e <write_serial_string>
c002088d:	83 c4 10             	add    $0x10,%esp
c0020890:	83 ec 0c             	sub    $0xc,%esp
c0020893:	6a 04                	push   $0x4
c0020895:	e8 aa 03 00 00       	call   c0020c44 <_Z21kernel_pages_allocatem>
c002089a:	83 c4 10             	add    $0x10,%esp
c002089d:	89 45 d4             	mov    %eax,-0x2c(%ebp)
c00208a0:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
c00208a7:	83 7d ec 03          	cmpl   $0x3,-0x14(%ebp)
c00208ab:	7f 28                	jg     c00208d5 <_Z18create_process_elfPv+0x477>
c00208ad:	8b 45 ec             	mov    -0x14(%ebp),%eax
c00208b0:	c1 e0 0c             	shl    $0xc,%eax
c00208b3:	89 c2                	mov    %eax,%edx
c00208b5:	8b 45 d4             	mov    -0x2c(%ebp),%eax
c00208b8:	8d 1c 02             	lea    (%edx,%eax,1),%ebx
c00208bb:	e8 f9 10 00 00       	call   c00219b9 <_Z21physalloc_alloc_blockv>
c00208c0:	83 ec 04             	sub    $0x4,%esp
c00208c3:	6a 01                	push   $0x1
c00208c5:	53                   	push   %ebx
c00208c6:	50                   	push   %eax
c00208c7:	e8 a4 05 00 00       	call   c0020e70 <_Z8map_pagemmm>
c00208cc:	83 c4 10             	add    $0x10,%esp
c00208cf:	83 45 ec 01          	addl   $0x1,-0x14(%ebp)
c00208d3:	eb d2                	jmp    c00208a7 <_Z18create_process_elfPv+0x449>
c00208d5:	8b 45 d4             	mov    -0x2c(%ebp),%eax
c00208d8:	8d 90 00 40 00 00    	lea    0x4000(%eax),%edx
c00208de:	8b 45 dc             	mov    -0x24(%ebp),%eax
c00208e1:	89 50 04             	mov    %edx,0x4(%eax)
c00208e4:	8b 45 dc             	mov    -0x24(%ebp),%eax
c00208e7:	8b 40 04             	mov    0x4(%eax),%eax
c00208ea:	89 c2                	mov    %eax,%edx
c00208ec:	8b 45 dc             	mov    -0x24(%ebp),%eax
c00208ef:	89 50 2e             	mov    %edx,0x2e(%eax)
c00208f2:	8b 45 dc             	mov    -0x24(%ebp),%eax
c00208f5:	8b 40 04             	mov    0x4(%eax),%eax
c00208f8:	89 c2                	mov    %eax,%edx
c00208fa:	8b 45 dc             	mov    -0x24(%ebp),%eax
c00208fd:	89 50 2a             	mov    %edx,0x2a(%eax)
c0020900:	8b 45 dc             	mov    -0x24(%ebp),%eax
c0020903:	8b 40 04             	mov    0x4(%eax),%eax
c0020906:	2d 00 40 00 00       	sub    $0x4000,%eax
c002090b:	83 ec 04             	sub    $0x4,%esp
c002090e:	68 00 40 00 00       	push   $0x4000
c0020913:	6a 00                	push   $0x0
c0020915:	50                   	push   %eax
c0020916:	e8 49 f4 ff ff       	call   c001fd64 <memset>
c002091b:	83 c4 10             	add    $0x10,%esp
c002091e:	8b 55 b8             	mov    -0x48(%ebp),%edx
c0020921:	8b 45 dc             	mov    -0x24(%ebp),%eax
c0020924:	89 50 4a             	mov    %edx,0x4a(%eax)
c0020927:	a1 5c c1 02 c0       	mov    0xc002c15c,%eax
c002092c:	85 c0                	test   %eax,%eax
c002092e:	75 1b                	jne    c002094b <_Z18create_process_elfPv+0x4ed>
c0020930:	8b 45 e4             	mov    -0x1c(%ebp),%eax
c0020933:	a3 5c c1 02 c0       	mov    %eax,0xc002c15c
c0020938:	8b 45 e4             	mov    -0x1c(%ebp),%eax
c002093b:	8b 55 e4             	mov    -0x1c(%ebp),%edx
c002093e:	89 50 74             	mov    %edx,0x74(%eax)
c0020941:	8b 45 e4             	mov    -0x1c(%ebp),%eax
c0020944:	a3 60 c1 02 c0       	mov    %eax,0xc002c160
c0020949:	eb 3e                	jmp    c0020989 <_Z18create_process_elfPv+0x52b>
c002094b:	a1 5c c1 02 c0       	mov    0xc002c15c,%eax
c0020950:	8b 40 74             	mov    0x74(%eax),%eax
c0020953:	85 c0                	test   %eax,%eax
c0020955:	74 1b                	je     c0020972 <_Z18create_process_elfPv+0x514>
c0020957:	a1 5c c1 02 c0       	mov    0xc002c15c,%eax
c002095c:	8b 50 74             	mov    0x74(%eax),%edx
c002095f:	8b 45 e4             	mov    -0x1c(%ebp),%eax
c0020962:	89 50 74             	mov    %edx,0x74(%eax)
c0020965:	a1 5c c1 02 c0       	mov    0xc002c15c,%eax
c002096a:	8b 55 e4             	mov    -0x1c(%ebp),%edx
c002096d:	89 50 74             	mov    %edx,0x74(%eax)
c0020970:	eb 17                	jmp    c0020989 <_Z18create_process_elfPv+0x52b>
c0020972:	a1 5c c1 02 c0       	mov    0xc002c15c,%eax
c0020977:	8b 55 e4             	mov    -0x1c(%ebp),%edx
c002097a:	89 50 74             	mov    %edx,0x74(%eax)
c002097d:	8b 15 5c c1 02 c0    	mov    0xc002c15c,%edx
c0020983:	8b 45 e4             	mov    -0x1c(%ebp),%eax
c0020986:	89 50 74             	mov    %edx,0x74(%eax)
c0020989:	0f b6 45 eb          	movzbl -0x15(%ebp),%eax
c002098d:	a2 a4 66 02 c0       	mov    %al,0xc00266a4
c0020992:	8b 45 e4             	mov    -0x1c(%ebp),%eax
c0020995:	8b 00                	mov    (%eax),%eax
c0020997:	8b 5d fc             	mov    -0x4(%ebp),%ebx
c002099a:	c9                   	leave  
c002099b:	c3                   	ret    

c002099c <_Z14scheduler_tickv>:
c002099c:	55                   	push   %ebp
c002099d:	89 e5                	mov    %esp,%ebp
c002099f:	83 ec 18             	sub    $0x18,%esp
c00209a2:	0f b6 05 a4 66 02 c0 	movzbl 0xc00266a4,%eax
c00209a9:	84 c0                	test   %al,%al
c00209ab:	0f 85 84 00 00 00    	jne    c0020a35 <_Z14scheduler_tickv+0x99>
c00209b1:	89 e0                	mov    %esp,%eax
c00209b3:	89 45 f4             	mov    %eax,-0xc(%ebp)
c00209b6:	89 e8                	mov    %ebp,%eax
c00209b8:	89 45 f0             	mov    %eax,-0x10(%ebp)
c00209bb:	e8 f0 c8 ff ff       	call   c001d2b0 <read_eip>
c00209c0:	89 45 ec             	mov    %eax,-0x14(%ebp)
c00209c3:	81 7d ec 23 01 00 c0 	cmpl   $0xc0000123,-0x14(%ebp)
c00209ca:	74 6c                	je     c0020a38 <_Z14scheduler_tickv+0x9c>
c00209cc:	a1 60 c1 02 c0       	mov    0xc002c160,%eax
c00209d1:	8b 55 f4             	mov    -0xc(%ebp),%edx
c00209d4:	89 50 40             	mov    %edx,0x40(%eax)
c00209d7:	a1 60 c1 02 c0       	mov    0xc002c160,%eax
c00209dc:	8b 55 ec             	mov    -0x14(%ebp),%edx
c00209df:	89 50 5c             	mov    %edx,0x5c(%eax)
c00209e2:	a1 60 c1 02 c0       	mov    0xc002c160,%eax
c00209e7:	8b 55 f0             	mov    -0x10(%ebp),%edx
c00209ea:	89 50 3c             	mov    %edx,0x3c(%eax)
c00209ed:	a1 60 c1 02 c0       	mov    0xc002c160,%eax
c00209f2:	8b 40 74             	mov    0x74(%eax),%eax
c00209f5:	a3 60 c1 02 c0       	mov    %eax,0xc002c160
c00209fa:	a1 60 c1 02 c0       	mov    0xc002c160,%eax
c00209ff:	8b 40 5c             	mov    0x5c(%eax),%eax
c0020a02:	a3 70 c1 02 c0       	mov    %eax,0xc002c170
c0020a07:	a1 60 c1 02 c0       	mov    0xc002c160,%eax
c0020a0c:	8b 40 40             	mov    0x40(%eax),%eax
c0020a0f:	a3 6c c1 02 c0       	mov    %eax,0xc002c16c
c0020a14:	a1 60 c1 02 c0       	mov    0xc002c160,%eax
c0020a19:	8b 40 3c             	mov    0x3c(%eax),%eax
c0020a1c:	a3 68 c1 02 c0       	mov    %eax,0xc002c168
c0020a21:	a1 60 c1 02 c0       	mov    0xc002c160,%eax
c0020a26:	8b 40 09             	mov    0x9(%eax),%eax
c0020a29:	a3 74 c1 02 c0       	mov    %eax,0xc002c174
c0020a2e:	e8 81 c8 ff ff       	call   c001d2b4 <task_switch>
c0020a33:	eb 04                	jmp    c0020a39 <_Z14scheduler_tickv+0x9d>
c0020a35:	90                   	nop
c0020a36:	eb 01                	jmp    c0020a39 <_Z14scheduler_tickv+0x9d>
c0020a38:	90                   	nop
c0020a39:	c9                   	leave  
c0020a3a:	c3                   	ret    

c0020a3b <_ZL14page_set_framePmm>:
c0020a3b:	55                   	push   %ebp
c0020a3c:	89 e5                	mov    %esp,%ebp
c0020a3e:	8b 45 08             	mov    0x8(%ebp),%eax
c0020a41:	8b 00                	mov    (%eax),%eax
c0020a43:	25 ff 0f 00 80       	and    $0x80000fff,%eax
c0020a48:	0b 45 0c             	or     0xc(%ebp),%eax
c0020a4b:	89 c2                	mov    %eax,%edx
c0020a4d:	8b 45 08             	mov    0x8(%ebp),%eax
c0020a50:	89 10                	mov    %edx,(%eax)
c0020a52:	90                   	nop
c0020a53:	5d                   	pop    %ebp
c0020a54:	c3                   	ret    

c0020a55 <_ZL14page_get_framem>:
c0020a55:	55                   	push   %ebp
c0020a56:	89 e5                	mov    %esp,%ebp
c0020a58:	8b 45 08             	mov    0x8(%ebp),%eax
c0020a5b:	c1 e8 0c             	shr    $0xc,%eax
c0020a5e:	25 ff ff 07 00       	and    $0x7ffff,%eax
c0020a63:	5d                   	pop    %ebp
c0020a64:	c3                   	ret    

c0020a65 <_ZL13pde_set_framePmm>:
c0020a65:	55                   	push   %ebp
c0020a66:	89 e5                	mov    %esp,%ebp
c0020a68:	8b 45 08             	mov    0x8(%ebp),%eax
c0020a6b:	8b 00                	mov    (%eax),%eax
c0020a6d:	25 ff 0f 00 80       	and    $0x80000fff,%eax
c0020a72:	0b 45 0c             	or     0xc(%ebp),%eax
c0020a75:	89 c2                	mov    %eax,%edx
c0020a77:	8b 45 08             	mov    0x8(%ebp),%eax
c0020a7a:	89 10                	mov    %edx,(%eax)
c0020a7c:	90                   	nop
c0020a7d:	5d                   	pop    %ebp
c0020a7e:	c3                   	ret    

c0020a7f <_ZL9set_flagsPmm>:
c0020a7f:	55                   	push   %ebp
c0020a80:	89 e5                	mov    %esp,%ebp
c0020a82:	8b 45 08             	mov    0x8(%ebp),%eax
c0020a85:	8b 00                	mov    (%eax),%eax
c0020a87:	0b 45 0c             	or     0xc(%ebp),%eax
c0020a8a:	89 c2                	mov    %eax,%edx
c0020a8c:	8b 45 08             	mov    0x8(%ebp),%eax
c0020a8f:	89 10                	mov    %edx,(%eax)
c0020a91:	90                   	nop
c0020a92:	5d                   	pop    %ebp
c0020a93:	c3                   	ret    

c0020a94 <_ZL11clear_flagsPmm>:
c0020a94:	55                   	push   %ebp
c0020a95:	89 e5                	mov    %esp,%ebp
c0020a97:	8b 45 08             	mov    0x8(%ebp),%eax
c0020a9a:	8b 00                	mov    (%eax),%eax
c0020a9c:	8b 55 0c             	mov    0xc(%ebp),%edx
c0020a9f:	f7 d2                	not    %edx
c0020aa1:	21 c2                	and    %eax,%edx
c0020aa3:	8b 45 08             	mov    0x8(%ebp),%eax
c0020aa6:	89 10                	mov    %edx,(%eax)
c0020aa8:	90                   	nop
c0020aa9:	5d                   	pop    %ebp
c0020aaa:	c3                   	ret    

c0020aab <_ZL15flush_tlb_entrym>:
c0020aab:	55                   	push   %ebp
c0020aac:	89 e5                	mov    %esp,%ebp
c0020aae:	8b 45 08             	mov    0x8(%ebp),%eax
c0020ab1:	0f 01 38             	invlpg (%eax)
c0020ab4:	90                   	nop
c0020ab5:	5d                   	pop    %ebp
c0020ab6:	c3                   	ret    

c0020ab7 <_ZL8get_pagem>:
c0020ab7:	55                   	push   %ebp
c0020ab8:	89 e5                	mov    %esp,%ebp
c0020aba:	83 ec 10             	sub    $0x10,%esp
c0020abd:	8b 45 08             	mov    0x8(%ebp),%eax
c0020ac0:	c1 e8 16             	shr    $0x16,%eax
c0020ac3:	89 45 fc             	mov    %eax,-0x4(%ebp)
c0020ac6:	8b 45 08             	mov    0x8(%ebp),%eax
c0020ac9:	c1 e8 0c             	shr    $0xc,%eax
c0020acc:	25 ff 03 00 00       	and    $0x3ff,%eax
c0020ad1:	89 45 f8             	mov    %eax,-0x8(%ebp)
c0020ad4:	a1 04 e0 42 c0       	mov    0xc042e004,%eax
c0020ad9:	8b 55 fc             	mov    -0x4(%ebp),%edx
c0020adc:	c1 e2 0c             	shl    $0xc,%edx
c0020adf:	01 d0                	add    %edx,%eax
c0020ae1:	89 45 f4             	mov    %eax,-0xc(%ebp)
c0020ae4:	8b 45 f8             	mov    -0x8(%ebp),%eax
c0020ae7:	8d 14 85 00 00 00 00 	lea    0x0(,%eax,4),%edx
c0020aee:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0020af1:	01 d0                	add    %edx,%eax
c0020af3:	c9                   	leave  
c0020af4:	c3                   	ret    

c0020af5 <_Z14pages_allocatem20page_directory_ptr_t>:
c0020af5:	55                   	push   %ebp
c0020af6:	89 e5                	mov    %esp,%ebp
c0020af8:	83 ec 28             	sub    $0x28,%esp
c0020afb:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
c0020b02:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
c0020b09:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
c0020b10:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
c0020b17:	83 45 08 02          	addl   $0x2,0x8(%ebp)
c0020b1b:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0020b1e:	89 45 e8             	mov    %eax,-0x18(%ebp)
c0020b21:	81 7d e8 ff 02 00 00 	cmpl   $0x2ff,-0x18(%ebp)
c0020b28:	0f 87 ff 00 00 00    	ja     c0020c2d <_Z14pages_allocatem20page_directory_ptr_t+0x138>
c0020b2e:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
c0020b35:	81 7d e4 ff 03 00 00 	cmpl   $0x3ff,-0x1c(%ebp)
c0020b3c:	0f 87 e2 00 00 00    	ja     c0020c24 <_Z14pages_allocatem20page_directory_ptr_t+0x12f>
c0020b42:	8b 45 14             	mov    0x14(%ebp),%eax
c0020b45:	8b 55 e8             	mov    -0x18(%ebp),%edx
c0020b48:	c1 e2 0c             	shl    $0xc,%edx
c0020b4b:	01 c2                	add    %eax,%edx
c0020b4d:	8b 45 e4             	mov    -0x1c(%ebp),%eax
c0020b50:	8b 04 82             	mov    (%edx,%eax,4),%eax
c0020b53:	83 e0 01             	and    $0x1,%eax
c0020b56:	85 c0                	test   %eax,%eax
c0020b58:	74 18                	je     c0020b72 <_Z14pages_allocatem20page_directory_ptr_t+0x7d>
c0020b5a:	8b 45 e4             	mov    -0x1c(%ebp),%eax
c0020b5d:	89 45 f0             	mov    %eax,-0x10(%ebp)
c0020b60:	8b 45 e8             	mov    -0x18(%ebp),%eax
c0020b63:	89 45 f4             	mov    %eax,-0xc(%ebp)
c0020b66:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
c0020b6d:	e9 a9 00 00 00       	jmp    c0020c1b <_Z14pages_allocatem20page_directory_ptr_t+0x126>
c0020b72:	83 45 ec 01          	addl   $0x1,-0x14(%ebp)
c0020b76:	8b 45 ec             	mov    -0x14(%ebp),%eax
c0020b79:	3b 45 08             	cmp    0x8(%ebp),%eax
c0020b7c:	0f 85 99 00 00 00    	jne    c0020c1b <_Z14pages_allocatem20page_directory_ptr_t+0x126>
c0020b82:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0020b85:	c1 e0 0a             	shl    $0xa,%eax
c0020b88:	89 c2                	mov    %eax,%edx
c0020b8a:	8b 45 f0             	mov    -0x10(%ebp),%eax
c0020b8d:	01 d0                	add    %edx,%eax
c0020b8f:	83 c0 01             	add    $0x1,%eax
c0020b92:	c1 e0 0c             	shl    $0xc,%eax
c0020b95:	89 45 e0             	mov    %eax,-0x20(%ebp)
c0020b98:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
c0020b9c:	74 78                	je     c0020c16 <_Z14pages_allocatem20page_directory_ptr_t+0x121>
c0020b9e:	8b 45 14             	mov    0x14(%ebp),%eax
c0020ba1:	8b 55 f4             	mov    -0xc(%ebp),%edx
c0020ba4:	c1 e2 0c             	shl    $0xc,%edx
c0020ba7:	01 c2                	add    %eax,%edx
c0020ba9:	8b 45 f0             	mov    -0x10(%ebp),%eax
c0020bac:	c1 e0 02             	shl    $0x2,%eax
c0020baf:	01 d0                	add    %edx,%eax
c0020bb1:	6a 03                	push   $0x3
c0020bb3:	50                   	push   %eax
c0020bb4:	e8 c6 fe ff ff       	call   c0020a7f <_ZL9set_flagsPmm>
c0020bb9:	83 c4 08             	add    $0x8,%esp
c0020bbc:	8b 45 0c             	mov    0xc(%ebp),%eax
c0020bbf:	8b 55 f4             	mov    -0xc(%ebp),%edx
c0020bc2:	c1 e2 02             	shl    $0x2,%edx
c0020bc5:	01 d0                	add    %edx,%eax
c0020bc7:	6a 03                	push   $0x3
c0020bc9:	50                   	push   %eax
c0020bca:	e8 b0 fe ff ff       	call   c0020a7f <_ZL9set_flagsPmm>
c0020bcf:	83 c4 08             	add    $0x8,%esp
c0020bd2:	8b 45 14             	mov    0x14(%ebp),%eax
c0020bd5:	8b 55 f4             	mov    -0xc(%ebp),%edx
c0020bd8:	c1 e2 0c             	shl    $0xc,%edx
c0020bdb:	01 d0                	add    %edx,%eax
c0020bdd:	8d 90 00 00 00 40    	lea    0x40000000(%eax),%edx
c0020be3:	8b 45 0c             	mov    0xc(%ebp),%eax
c0020be6:	8b 4d f4             	mov    -0xc(%ebp),%ecx
c0020be9:	c1 e1 02             	shl    $0x2,%ecx
c0020bec:	01 c8                	add    %ecx,%eax
c0020bee:	52                   	push   %edx
c0020bef:	50                   	push   %eax
c0020bf0:	e8 70 fe ff ff       	call   c0020a65 <_ZL13pde_set_framePmm>
c0020bf5:	83 c4 08             	add    $0x8,%esp
c0020bf8:	83 45 f0 01          	addl   $0x1,-0x10(%ebp)
c0020bfc:	83 6d ec 01          	subl   $0x1,-0x14(%ebp)
c0020c00:	81 7d f0 ff 03 00 00 	cmpl   $0x3ff,-0x10(%ebp)
c0020c07:	76 8f                	jbe    c0020b98 <_Z14pages_allocatem20page_directory_ptr_t+0xa3>
c0020c09:	83 45 f4 01          	addl   $0x1,-0xc(%ebp)
c0020c0d:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
c0020c14:	eb 82                	jmp    c0020b98 <_Z14pages_allocatem20page_directory_ptr_t+0xa3>
c0020c16:	8b 45 e0             	mov    -0x20(%ebp),%eax
c0020c19:	eb 27                	jmp    c0020c42 <_Z14pages_allocatem20page_directory_ptr_t+0x14d>
c0020c1b:	83 45 e4 01          	addl   $0x1,-0x1c(%ebp)
c0020c1f:	e9 11 ff ff ff       	jmp    c0020b35 <_Z14pages_allocatem20page_directory_ptr_t+0x40>
c0020c24:	83 45 e8 01          	addl   $0x1,-0x18(%ebp)
c0020c28:	e9 f4 fe ff ff       	jmp    c0020b21 <_Z14pages_allocatem20page_directory_ptr_t+0x2c>
c0020c2d:	83 ec 0c             	sub    $0xc,%esp
c0020c30:	68 bc 69 02 c0       	push   $0xc00269bc
c0020c35:	e8 54 0f 00 00       	call   c0021b8e <write_serial_string>
c0020c3a:	83 c4 10             	add    $0x10,%esp
c0020c3d:	b8 00 00 00 00       	mov    $0x0,%eax
c0020c42:	c9                   	leave  
c0020c43:	c3                   	ret    

c0020c44 <_Z21kernel_pages_allocatem>:
c0020c44:	55                   	push   %ebp
c0020c45:	89 e5                	mov    %esp,%ebp
c0020c47:	83 ec 28             	sub    $0x28,%esp
c0020c4a:	c7 45 f4 00 03 00 00 	movl   $0x300,-0xc(%ebp)
c0020c51:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
c0020c58:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
c0020c5f:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
c0020c66:	83 45 08 01          	addl   $0x1,0x8(%ebp)
c0020c6a:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0020c6d:	89 45 e8             	mov    %eax,-0x18(%ebp)
c0020c70:	81 7d e8 ff 03 00 00 	cmpl   $0x3ff,-0x18(%ebp)
c0020c77:	0f 87 04 01 00 00    	ja     c0020d81 <_Z21kernel_pages_allocatem+0x13d>
c0020c7d:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
c0020c84:	81 7d e4 ff 03 00 00 	cmpl   $0x3ff,-0x1c(%ebp)
c0020c8b:	0f 87 e7 00 00 00    	ja     c0020d78 <_Z21kernel_pages_allocatem+0x134>
c0020c91:	8b 45 e8             	mov    -0x18(%ebp),%eax
c0020c94:	c1 e0 0a             	shl    $0xa,%eax
c0020c97:	89 c2                	mov    %eax,%edx
c0020c99:	8b 45 e4             	mov    -0x1c(%ebp),%eax
c0020c9c:	01 d0                	add    %edx,%eax
c0020c9e:	8b 04 85 00 e0 02 c0 	mov    -0x3ffd2000(,%eax,4),%eax
c0020ca5:	83 e0 01             	and    $0x1,%eax
c0020ca8:	85 c0                	test   %eax,%eax
c0020caa:	74 18                	je     c0020cc4 <_Z21kernel_pages_allocatem+0x80>
c0020cac:	8b 45 e4             	mov    -0x1c(%ebp),%eax
c0020caf:	89 45 f0             	mov    %eax,-0x10(%ebp)
c0020cb2:	8b 45 e8             	mov    -0x18(%ebp),%eax
c0020cb5:	89 45 f4             	mov    %eax,-0xc(%ebp)
c0020cb8:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
c0020cbf:	e9 ab 00 00 00       	jmp    c0020d6f <_Z21kernel_pages_allocatem+0x12b>
c0020cc4:	83 45 ec 01          	addl   $0x1,-0x14(%ebp)
c0020cc8:	8b 45 ec             	mov    -0x14(%ebp),%eax
c0020ccb:	3b 45 08             	cmp    0x8(%ebp),%eax
c0020cce:	0f 82 9b 00 00 00    	jb     c0020d6f <_Z21kernel_pages_allocatem+0x12b>
c0020cd4:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0020cd7:	c1 e0 0a             	shl    $0xa,%eax
c0020cda:	89 c2                	mov    %eax,%edx
c0020cdc:	8b 45 f0             	mov    -0x10(%ebp),%eax
c0020cdf:	01 d0                	add    %edx,%eax
c0020ce1:	83 c0 01             	add    $0x1,%eax
c0020ce4:	c1 e0 0c             	shl    $0xc,%eax
c0020ce7:	89 45 e0             	mov    %eax,-0x20(%ebp)
c0020cea:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
c0020cee:	74 7a                	je     c0020d6a <_Z21kernel_pages_allocatem+0x126>
c0020cf0:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0020cf3:	c1 e0 0a             	shl    $0xa,%eax
c0020cf6:	89 c2                	mov    %eax,%edx
c0020cf8:	8b 45 f0             	mov    -0x10(%ebp),%eax
c0020cfb:	01 d0                	add    %edx,%eax
c0020cfd:	c1 e0 02             	shl    $0x2,%eax
c0020d00:	05 00 e0 02 c0       	add    $0xc002e000,%eax
c0020d05:	6a 03                	push   $0x3
c0020d07:	50                   	push   %eax
c0020d08:	e8 72 fd ff ff       	call   c0020a7f <_ZL9set_flagsPmm>
c0020d0d:	83 c4 08             	add    $0x8,%esp
c0020d10:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0020d13:	c1 e0 02             	shl    $0x2,%eax
c0020d16:	05 00 d0 02 c0       	add    $0xc002d000,%eax
c0020d1b:	6a 03                	push   $0x3
c0020d1d:	50                   	push   %eax
c0020d1e:	e8 5c fd ff ff       	call   c0020a7f <_ZL9set_flagsPmm>
c0020d23:	83 c4 08             	add    $0x8,%esp
c0020d26:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0020d29:	c1 e0 0c             	shl    $0xc,%eax
c0020d2c:	05 00 e0 02 c0       	add    $0xc002e000,%eax
c0020d31:	8d 90 00 00 00 40    	lea    0x40000000(%eax),%edx
c0020d37:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0020d3a:	c1 e0 02             	shl    $0x2,%eax
c0020d3d:	05 00 d0 02 c0       	add    $0xc002d000,%eax
c0020d42:	52                   	push   %edx
c0020d43:	50                   	push   %eax
c0020d44:	e8 1c fd ff ff       	call   c0020a65 <_ZL13pde_set_framePmm>
c0020d49:	83 c4 08             	add    $0x8,%esp
c0020d4c:	83 45 f0 01          	addl   $0x1,-0x10(%ebp)
c0020d50:	83 6d ec 01          	subl   $0x1,-0x14(%ebp)
c0020d54:	81 7d f0 ff 03 00 00 	cmpl   $0x3ff,-0x10(%ebp)
c0020d5b:	76 8d                	jbe    c0020cea <_Z21kernel_pages_allocatem+0xa6>
c0020d5d:	83 45 f4 01          	addl   $0x1,-0xc(%ebp)
c0020d61:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
c0020d68:	eb 80                	jmp    c0020cea <_Z21kernel_pages_allocatem+0xa6>
c0020d6a:	8b 45 e0             	mov    -0x20(%ebp),%eax
c0020d6d:	eb 39                	jmp    c0020da8 <_Z21kernel_pages_allocatem+0x164>
c0020d6f:	83 45 e4 01          	addl   $0x1,-0x1c(%ebp)
c0020d73:	e9 0c ff ff ff       	jmp    c0020c84 <_Z21kernel_pages_allocatem+0x40>
c0020d78:	83 45 e8 01          	addl   $0x1,-0x18(%ebp)
c0020d7c:	e9 ef fe ff ff       	jmp    c0020c70 <_Z21kernel_pages_allocatem+0x2c>
c0020d81:	83 ec 0c             	sub    $0xc,%esp
c0020d84:	68 d8 69 02 c0       	push   $0xc00269d8
c0020d89:	e8 00 0e 00 00       	call   c0021b8e <write_serial_string>
c0020d8e:	83 c4 10             	add    $0x10,%esp
c0020d91:	83 ec 08             	sub    $0x8,%esp
c0020d94:	68 03 6a 02 c0       	push   $0xc0026a03
c0020d99:	68 14 6a 02 c0       	push   $0xc0026a14
c0020d9e:	e8 f9 d8 ff ff       	call   c001e69c <fatal_error>
c0020da3:	83 c4 10             	add    $0x10,%esp
c0020da6:	eb fe                	jmp    c0020da6 <_Z21kernel_pages_allocatem+0x162>
c0020da8:	c9                   	leave  
c0020da9:	c3                   	ret    

c0020daa <_Z17addr_virt_to_physm>:
c0020daa:	55                   	push   %ebp
c0020dab:	89 e5                	mov    %esp,%ebp
c0020dad:	83 ec 10             	sub    $0x10,%esp
c0020db0:	8b 45 08             	mov    0x8(%ebp),%eax
c0020db3:	c1 e8 16             	shr    $0x16,%eax
c0020db6:	89 45 fc             	mov    %eax,-0x4(%ebp)
c0020db9:	8b 45 08             	mov    0x8(%ebp),%eax
c0020dbc:	c1 e8 0c             	shr    $0xc,%eax
c0020dbf:	25 ff 03 00 00       	and    $0x3ff,%eax
c0020dc4:	89 45 f8             	mov    %eax,-0x8(%ebp)
c0020dc7:	a1 04 e0 42 c0       	mov    0xc042e004,%eax
c0020dcc:	8b 55 fc             	mov    -0x4(%ebp),%edx
c0020dcf:	c1 e2 0c             	shl    $0xc,%edx
c0020dd2:	01 c2                	add    %eax,%edx
c0020dd4:	8b 45 f8             	mov    -0x8(%ebp),%eax
c0020dd7:	8b 04 82             	mov    (%edx,%eax,4),%eax
c0020dda:	50                   	push   %eax
c0020ddb:	e8 75 fc ff ff       	call   c0020a55 <_ZL14page_get_framem>
c0020de0:	83 c4 04             	add    $0x4,%esp
c0020de3:	c1 e0 0c             	shl    $0xc,%eax
c0020de6:	89 45 f4             	mov    %eax,-0xc(%ebp)
c0020de9:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0020dec:	c9                   	leave  
c0020ded:	c3                   	ret    

c0020dee <_Z10pages_freePm>:
c0020dee:	55                   	push   %ebp
c0020def:	89 e5                	mov    %esp,%ebp
c0020df1:	83 ec 10             	sub    $0x10,%esp
c0020df4:	8b 45 08             	mov    0x8(%ebp),%eax
c0020df7:	8b 00                	mov    (%eax),%eax
c0020df9:	50                   	push   %eax
c0020dfa:	e8 56 fc ff ff       	call   c0020a55 <_ZL14page_get_framem>
c0020dff:	83 c4 04             	add    $0x4,%esp
c0020e02:	89 45 fc             	mov    %eax,-0x4(%ebp)
c0020e05:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
c0020e09:	0f 95 c0             	setne  %al
c0020e0c:	84 c0                	test   %al,%al
c0020e0e:	74 19                	je     c0020e29 <_Z10pages_freePm+0x3b>
c0020e10:	6a 01                	push   $0x1
c0020e12:	ff 75 08             	pushl  0x8(%ebp)
c0020e15:	e8 7a fc ff ff       	call   c0020a94 <_ZL11clear_flagsPmm>
c0020e1a:	83 c4 08             	add    $0x8,%esp
c0020e1d:	8b 45 08             	mov    0x8(%ebp),%eax
c0020e20:	50                   	push   %eax
c0020e21:	e8 85 fc ff ff       	call   c0020aab <_ZL15flush_tlb_entrym>
c0020e26:	83 c4 04             	add    $0x4,%esp
c0020e29:	90                   	nop
c0020e2a:	c9                   	leave  
c0020e2b:	c3                   	ret    

c0020e2c <_Z10pages_freemm>:
c0020e2c:	55                   	push   %ebp
c0020e2d:	89 e5                	mov    %esp,%ebp
c0020e2f:	83 ec 10             	sub    $0x10,%esp
c0020e32:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
c0020e39:	8b 45 fc             	mov    -0x4(%ebp),%eax
c0020e3c:	3b 45 0c             	cmp    0xc(%ebp),%eax
c0020e3f:	73 2c                	jae    c0020e6d <_Z10pages_freemm+0x41>
c0020e41:	8b 45 fc             	mov    -0x4(%ebp),%eax
c0020e44:	c1 e0 0c             	shl    $0xc,%eax
c0020e47:	89 c2                	mov    %eax,%edx
c0020e49:	8b 45 08             	mov    0x8(%ebp),%eax
c0020e4c:	01 d0                	add    %edx,%eax
c0020e4e:	50                   	push   %eax
c0020e4f:	e8 63 fc ff ff       	call   c0020ab7 <_ZL8get_pagem>
c0020e54:	83 c4 04             	add    $0x4,%esp
c0020e57:	89 45 f8             	mov    %eax,-0x8(%ebp)
c0020e5a:	6a 01                	push   $0x1
c0020e5c:	ff 75 f8             	pushl  -0x8(%ebp)
c0020e5f:	e8 30 fc ff ff       	call   c0020a94 <_ZL11clear_flagsPmm>
c0020e64:	83 c4 08             	add    $0x8,%esp
c0020e67:	83 45 fc 01          	addl   $0x1,-0x4(%ebp)
c0020e6b:	eb cc                	jmp    c0020e39 <_Z10pages_freemm+0xd>
c0020e6d:	90                   	nop
c0020e6e:	c9                   	leave  
c0020e6f:	c3                   	ret    

c0020e70 <_Z8map_pagemmm>:
c0020e70:	55                   	push   %ebp
c0020e71:	89 e5                	mov    %esp,%ebp
c0020e73:	83 ec 18             	sub    $0x18,%esp
c0020e76:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
c0020e7a:	75 1a                	jne    c0020e96 <_Z8map_pagemmm+0x26>
c0020e7c:	83 ec 0c             	sub    $0xc,%esp
c0020e7f:	68 4c 6a 02 c0       	push   $0xc0026a4c
c0020e84:	e8 05 0d 00 00       	call   c0021b8e <write_serial_string>
c0020e89:	83 c4 10             	add    $0x10,%esp
c0020e8c:	b8 00 00 00 00       	mov    $0x0,%eax
c0020e91:	e9 b7 00 00 00       	jmp    c0020f4d <_Z8map_pagemmm+0xdd>
c0020e96:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
c0020e9d:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0020ea0:	3b 45 10             	cmp    0x10(%ebp),%eax
c0020ea3:	0f 83 9f 00 00 00    	jae    c0020f48 <_Z8map_pagemmm+0xd8>
c0020ea9:	8b 45 0c             	mov    0xc(%ebp),%eax
c0020eac:	c1 e8 16             	shr    $0x16,%eax
c0020eaf:	89 45 f0             	mov    %eax,-0x10(%ebp)
c0020eb2:	8b 45 0c             	mov    0xc(%ebp),%eax
c0020eb5:	83 ec 0c             	sub    $0xc,%esp
c0020eb8:	50                   	push   %eax
c0020eb9:	e8 f9 fb ff ff       	call   c0020ab7 <_ZL8get_pagem>
c0020ebe:	83 c4 10             	add    $0x10,%esp
c0020ec1:	89 45 ec             	mov    %eax,-0x14(%ebp)
c0020ec4:	83 ec 08             	sub    $0x8,%esp
c0020ec7:	6a 03                	push   $0x3
c0020ec9:	ff 75 ec             	pushl  -0x14(%ebp)
c0020ecc:	e8 ae fb ff ff       	call   c0020a7f <_ZL9set_flagsPmm>
c0020ed1:	83 c4 10             	add    $0x10,%esp
c0020ed4:	83 ec 08             	sub    $0x8,%esp
c0020ed7:	ff 75 08             	pushl  0x8(%ebp)
c0020eda:	ff 75 ec             	pushl  -0x14(%ebp)
c0020edd:	e8 59 fb ff ff       	call   c0020a3b <_ZL14page_set_framePmm>
c0020ee2:	83 c4 10             	add    $0x10,%esp
c0020ee5:	a1 00 e0 42 c0       	mov    0xc042e000,%eax
c0020eea:	8b 55 f0             	mov    -0x10(%ebp),%edx
c0020eed:	c1 e2 02             	shl    $0x2,%edx
c0020ef0:	01 d0                	add    %edx,%eax
c0020ef2:	83 ec 08             	sub    $0x8,%esp
c0020ef5:	6a 03                	push   $0x3
c0020ef7:	50                   	push   %eax
c0020ef8:	e8 82 fb ff ff       	call   c0020a7f <_ZL9set_flagsPmm>
c0020efd:	83 c4 10             	add    $0x10,%esp
c0020f00:	a1 04 e0 42 c0       	mov    0xc042e004,%eax
c0020f05:	8b 55 f0             	mov    -0x10(%ebp),%edx
c0020f08:	c1 e2 0c             	shl    $0xc,%edx
c0020f0b:	01 d0                	add    %edx,%eax
c0020f0d:	8d 90 00 00 00 40    	lea    0x40000000(%eax),%edx
c0020f13:	a1 00 e0 42 c0       	mov    0xc042e000,%eax
c0020f18:	8b 4d f0             	mov    -0x10(%ebp),%ecx
c0020f1b:	c1 e1 02             	shl    $0x2,%ecx
c0020f1e:	01 c8                	add    %ecx,%eax
c0020f20:	83 ec 08             	sub    $0x8,%esp
c0020f23:	52                   	push   %edx
c0020f24:	50                   	push   %eax
c0020f25:	e8 3b fb ff ff       	call   c0020a65 <_ZL13pde_set_framePmm>
c0020f2a:	83 c4 10             	add    $0x10,%esp
c0020f2d:	83 45 f4 01          	addl   $0x1,-0xc(%ebp)
c0020f31:	81 45 08 00 10 00 00 	addl   $0x1000,0x8(%ebp)
c0020f38:	8b 45 0c             	mov    0xc(%ebp),%eax
c0020f3b:	05 00 10 00 00       	add    $0x1000,%eax
c0020f40:	89 45 0c             	mov    %eax,0xc(%ebp)
c0020f43:	e9 55 ff ff ff       	jmp    c0020e9d <_Z8map_pagemmm+0x2d>
c0020f48:	b8 01 00 00 00       	mov    $0x1,%eax
c0020f4d:	c9                   	leave  
c0020f4e:	c3                   	ret    

c0020f4f <_Z8map_pagemmm20page_directory_ptr_t>:
c0020f4f:	55                   	push   %ebp
c0020f50:	89 e5                	mov    %esp,%ebp
c0020f52:	83 ec 18             	sub    $0x18,%esp
c0020f55:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
c0020f59:	75 1a                	jne    c0020f75 <_Z8map_pagemmm20page_directory_ptr_t+0x26>
c0020f5b:	83 ec 0c             	sub    $0xc,%esp
c0020f5e:	68 4c 6a 02 c0       	push   $0xc0026a4c
c0020f63:	e8 26 0c 00 00       	call   c0021b8e <write_serial_string>
c0020f68:	83 c4 10             	add    $0x10,%esp
c0020f6b:	b8 00 00 00 00       	mov    $0x0,%eax
c0020f70:	e9 d1 00 00 00       	jmp    c0021046 <_Z8map_pagemmm20page_directory_ptr_t+0xf7>
c0020f75:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
c0020f7c:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0020f7f:	3b 45 10             	cmp    0x10(%ebp),%eax
c0020f82:	0f 83 b9 00 00 00    	jae    c0021041 <_Z8map_pagemmm20page_directory_ptr_t+0xf2>
c0020f88:	8b 45 0c             	mov    0xc(%ebp),%eax
c0020f8b:	c1 e8 16             	shr    $0x16,%eax
c0020f8e:	89 45 f0             	mov    %eax,-0x10(%ebp)
c0020f91:	a1 04 e0 42 c0       	mov    0xc042e004,%eax
c0020f96:	89 45 ec             	mov    %eax,-0x14(%ebp)
c0020f99:	8b 45 1c             	mov    0x1c(%ebp),%eax
c0020f9c:	a3 04 e0 42 c0       	mov    %eax,0xc042e004
c0020fa1:	8b 45 0c             	mov    0xc(%ebp),%eax
c0020fa4:	83 ec 0c             	sub    $0xc,%esp
c0020fa7:	50                   	push   %eax
c0020fa8:	e8 0a fb ff ff       	call   c0020ab7 <_ZL8get_pagem>
c0020fad:	83 c4 10             	add    $0x10,%esp
c0020fb0:	89 45 e8             	mov    %eax,-0x18(%ebp)
c0020fb3:	8b 45 ec             	mov    -0x14(%ebp),%eax
c0020fb6:	a3 04 e0 42 c0       	mov    %eax,0xc042e004
c0020fbb:	83 ec 08             	sub    $0x8,%esp
c0020fbe:	6a 03                	push   $0x3
c0020fc0:	ff 75 e8             	pushl  -0x18(%ebp)
c0020fc3:	e8 b7 fa ff ff       	call   c0020a7f <_ZL9set_flagsPmm>
c0020fc8:	83 c4 10             	add    $0x10,%esp
c0020fcb:	83 ec 08             	sub    $0x8,%esp
c0020fce:	ff 75 08             	pushl  0x8(%ebp)
c0020fd1:	ff 75 e8             	pushl  -0x18(%ebp)
c0020fd4:	e8 62 fa ff ff       	call   c0020a3b <_ZL14page_set_framePmm>
c0020fd9:	83 c4 10             	add    $0x10,%esp
c0020fdc:	8b 45 14             	mov    0x14(%ebp),%eax
c0020fdf:	8b 55 f0             	mov    -0x10(%ebp),%edx
c0020fe2:	c1 e2 02             	shl    $0x2,%edx
c0020fe5:	01 d0                	add    %edx,%eax
c0020fe7:	83 ec 08             	sub    $0x8,%esp
c0020fea:	6a 03                	push   $0x3
c0020fec:	50                   	push   %eax
c0020fed:	e8 8d fa ff ff       	call   c0020a7f <_ZL9set_flagsPmm>
c0020ff2:	83 c4 10             	add    $0x10,%esp
c0020ff5:	8b 45 1c             	mov    0x1c(%ebp),%eax
c0020ff8:	8b 55 f0             	mov    -0x10(%ebp),%edx
c0020ffb:	c1 e2 0c             	shl    $0xc,%edx
c0020ffe:	01 d0                	add    %edx,%eax
c0021000:	83 ec 0c             	sub    $0xc,%esp
c0021003:	50                   	push   %eax
c0021004:	e8 a1 fd ff ff       	call   c0020daa <_Z17addr_virt_to_physm>
c0021009:	83 c4 10             	add    $0x10,%esp
c002100c:	89 c1                	mov    %eax,%ecx
c002100e:	8b 45 14             	mov    0x14(%ebp),%eax
c0021011:	8b 55 f0             	mov    -0x10(%ebp),%edx
c0021014:	c1 e2 02             	shl    $0x2,%edx
c0021017:	01 d0                	add    %edx,%eax
c0021019:	83 ec 08             	sub    $0x8,%esp
c002101c:	51                   	push   %ecx
c002101d:	50                   	push   %eax
c002101e:	e8 42 fa ff ff       	call   c0020a65 <_ZL13pde_set_framePmm>
c0021023:	83 c4 10             	add    $0x10,%esp
c0021026:	83 45 f4 01          	addl   $0x1,-0xc(%ebp)
c002102a:	81 45 08 00 10 00 00 	addl   $0x1000,0x8(%ebp)
c0021031:	8b 45 0c             	mov    0xc(%ebp),%eax
c0021034:	05 00 10 00 00       	add    $0x1000,%eax
c0021039:	89 45 0c             	mov    %eax,0xc(%ebp)
c002103c:	e9 3b ff ff ff       	jmp    c0020f7c <_Z8map_pagemmm20page_directory_ptr_t+0x2d>
c0021041:	b8 01 00 00 00       	mov    $0x1,%eax
c0021046:	c9                   	leave  
c0021047:	c3                   	ret    

c0021048 <_Z19mark_pages_reservedmmm>:
c0021048:	55                   	push   %ebp
c0021049:	89 e5                	mov    %esp,%ebp
c002104b:	83 ec 18             	sub    $0x18,%esp
c002104e:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
c0021052:	75 1a                	jne    c002106e <_Z19mark_pages_reservedmmm+0x26>
c0021054:	83 ec 0c             	sub    $0xc,%esp
c0021057:	68 90 6a 02 c0       	push   $0xc0026a90
c002105c:	e8 2d 0b 00 00       	call   c0021b8e <write_serial_string>
c0021061:	83 c4 10             	add    $0x10,%esp
c0021064:	b8 00 00 00 00       	mov    $0x0,%eax
c0021069:	e9 b6 00 00 00       	jmp    c0021124 <_Z19mark_pages_reservedmmm+0xdc>
c002106e:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
c0021075:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0021078:	3b 45 10             	cmp    0x10(%ebp),%eax
c002107b:	0f 83 9e 00 00 00    	jae    c002111f <_Z19mark_pages_reservedmmm+0xd7>
c0021081:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
c0021088:	83 ec 08             	sub    $0x8,%esp
c002108b:	6a 03                	push   $0x3
c002108d:	8d 45 ec             	lea    -0x14(%ebp),%eax
c0021090:	50                   	push   %eax
c0021091:	e8 e9 f9 ff ff       	call   c0020a7f <_ZL9set_flagsPmm>
c0021096:	83 c4 10             	add    $0x10,%esp
c0021099:	83 ec 08             	sub    $0x8,%esp
c002109c:	ff 75 08             	pushl  0x8(%ebp)
c002109f:	8d 45 ec             	lea    -0x14(%ebp),%eax
c00210a2:	50                   	push   %eax
c00210a3:	e8 93 f9 ff ff       	call   c0020a3b <_ZL14page_set_framePmm>
c00210a8:	83 c4 10             	add    $0x10,%esp
c00210ab:	8b 45 0c             	mov    0xc(%ebp),%eax
c00210ae:	c1 e8 16             	shr    $0x16,%eax
c00210b1:	89 45 f0             	mov    %eax,-0x10(%ebp)
c00210b4:	a1 00 e0 42 c0       	mov    0xc042e000,%eax
c00210b9:	8b 55 f0             	mov    -0x10(%ebp),%edx
c00210bc:	c1 e2 0c             	shl    $0xc,%edx
c00210bf:	01 d0                	add    %edx,%eax
c00210c1:	83 ec 08             	sub    $0x8,%esp
c00210c4:	6a 03                	push   $0x3
c00210c6:	50                   	push   %eax
c00210c7:	e8 b3 f9 ff ff       	call   c0020a7f <_ZL9set_flagsPmm>
c00210cc:	83 c4 10             	add    $0x10,%esp
c00210cf:	a1 04 e0 42 c0       	mov    0xc042e004,%eax
c00210d4:	8b 55 f0             	mov    -0x10(%ebp),%edx
c00210d7:	c1 e2 0c             	shl    $0xc,%edx
c00210da:	01 d0                	add    %edx,%eax
c00210dc:	89 c1                	mov    %eax,%ecx
c00210de:	a1 00 e0 42 c0       	mov    0xc042e000,%eax
c00210e3:	8b 55 f0             	mov    -0x10(%ebp),%edx
c00210e6:	c1 e2 0c             	shl    $0xc,%edx
c00210e9:	01 d0                	add    %edx,%eax
c00210eb:	83 ec 08             	sub    $0x8,%esp
c00210ee:	51                   	push   %ecx
c00210ef:	50                   	push   %eax
c00210f0:	e8 70 f9 ff ff       	call   c0020a65 <_ZL13pde_set_framePmm>
c00210f5:	83 c4 10             	add    $0x10,%esp
c00210f8:	a1 04 e0 42 c0       	mov    0xc042e004,%eax
c00210fd:	8b 55 f0             	mov    -0x10(%ebp),%edx
c0021100:	c1 e2 0c             	shl    $0xc,%edx
c0021103:	01 c2                	add    %eax,%edx
c0021105:	8b 45 0c             	mov    0xc(%ebp),%eax
c0021108:	c1 e8 0c             	shr    $0xc,%eax
c002110b:	25 ff 03 00 00       	and    $0x3ff,%eax
c0021110:	89 c1                	mov    %eax,%ecx
c0021112:	8b 45 ec             	mov    -0x14(%ebp),%eax
c0021115:	89 04 8a             	mov    %eax,(%edx,%ecx,4)
c0021118:	b8 01 00 00 00       	mov    $0x1,%eax
c002111d:	eb 05                	jmp    c0021124 <_Z19mark_pages_reservedmmm+0xdc>
c002111f:	b8 00 00 00 00       	mov    $0x0,%eax
c0021124:	c9                   	leave  
c0021125:	c3                   	ret    

c0021126 <_Z10unmap_pagem>:
c0021126:	55                   	push   %ebp
c0021127:	89 e5                	mov    %esp,%ebp
c0021129:	ff 75 08             	pushl  0x8(%ebp)
c002112c:	e8 86 f9 ff ff       	call   c0020ab7 <_ZL8get_pagem>
c0021131:	83 c4 04             	add    $0x4,%esp
c0021134:	50                   	push   %eax
c0021135:	e8 b4 fc ff ff       	call   c0020dee <_Z10pages_freePm>
c002113a:	83 c4 04             	add    $0x4,%esp
c002113d:	90                   	nop
c002113e:	c9                   	leave  
c002113f:	c3                   	ret    

c0021140 <_Z17paging_initializev>:
c0021140:	55                   	push   %ebp
c0021141:	89 e5                	mov    %esp,%ebp
c0021143:	83 ec 38             	sub    $0x38,%esp
c0021146:	83 ec 08             	sub    $0x8,%esp
c0021149:	68 9a 16 02 c0       	push   $0xc002169a
c002114e:	6a 0e                	push   $0xe
c0021150:	e8 d1 e1 ff ff       	call   c001f326 <interrupt_register_handler>
c0021155:	83 c4 10             	add    $0x10,%esp
c0021158:	c7 05 00 e0 42 c0 00 	movl   $0xc002d000,0xc042e000
c002115f:	d0 02 c0 
c0021162:	c7 05 04 e0 42 c0 00 	movl   $0xc002e000,0xc042e004
c0021169:	e0 02 c0 
c002116c:	83 ec 0c             	sub    $0xc,%esp
c002116f:	68 dc 6a 02 c0       	push   $0xc0026adc
c0021174:	e8 15 0a 00 00       	call   c0021b8e <write_serial_string>
c0021179:	83 c4 10             	add    $0x10,%esp
c002117c:	b8 d0 e6 44 c0       	mov    $0xc044e6d0,%eax
c0021181:	83 ec 04             	sub    $0x4,%esp
c0021184:	6a 10                	push   $0x10
c0021186:	6a 00                	push   $0x0
c0021188:	50                   	push   %eax
c0021189:	e8 2f 20 00 00       	call   c00231bd <_Z4itoamPci>
c002118e:	83 c4 10             	add    $0x10,%esp
c0021191:	83 ec 0c             	sub    $0xc,%esp
c0021194:	50                   	push   %eax
c0021195:	e8 f4 09 00 00       	call   c0021b8e <write_serial_string>
c002119a:	83 c4 10             	add    $0x10,%esp
c002119d:	83 ec 0c             	sub    $0xc,%esp
c00211a0:	68 e1 6a 02 c0       	push   $0xc0026ae1
c00211a5:	e8 e4 09 00 00       	call   c0021b8e <write_serial_string>
c00211aa:	83 c4 10             	add    $0x10,%esp
c00211ad:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
c00211b4:	81 7d f4 ff 03 00 00 	cmpl   $0x3ff,-0xc(%ebp)
c00211bb:	77 42                	ja     c00211ff <_Z17paging_initializev+0xbf>
c00211bd:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
c00211c4:	81 7d f0 ff 03 00 00 	cmpl   $0x3ff,-0x10(%ebp)
c00211cb:	77 1e                	ja     c00211eb <_Z17paging_initializev+0xab>
c00211cd:	8b 45 f4             	mov    -0xc(%ebp),%eax
c00211d0:	c1 e0 0a             	shl    $0xa,%eax
c00211d3:	89 c2                	mov    %eax,%edx
c00211d5:	8b 45 f0             	mov    -0x10(%ebp),%eax
c00211d8:	01 d0                	add    %edx,%eax
c00211da:	c7 04 85 00 e0 02 c0 	movl   $0x0,-0x3ffd2000(,%eax,4)
c00211e1:	00 00 00 00 
c00211e5:	83 45 f0 01          	addl   $0x1,-0x10(%ebp)
c00211e9:	eb d9                	jmp    c00211c4 <_Z17paging_initializev+0x84>
c00211eb:	8b 45 f4             	mov    -0xc(%ebp),%eax
c00211ee:	c7 04 85 00 d0 02 c0 	movl   $0x2,-0x3ffd3000(,%eax,4)
c00211f5:	02 00 00 00 
c00211f9:	83 45 f4 01          	addl   $0x1,-0xc(%ebp)
c00211fd:	eb b5                	jmp    c00211b4 <_Z17paging_initializev+0x74>
c00211ff:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
c0021206:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
c002120d:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
c0021214:	81 7d ec ff 17 00 00 	cmpl   $0x17ff,-0x14(%ebp)
c002121b:	0f 8f c9 00 00 00    	jg     c00212ea <_Z17paging_initializev+0x1aa>
c0021221:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
c0021228:	83 ec 08             	sub    $0x8,%esp
c002122b:	6a 03                	push   $0x3
c002122d:	8d 45 d0             	lea    -0x30(%ebp),%eax
c0021230:	50                   	push   %eax
c0021231:	e8 49 f8 ff ff       	call   c0020a7f <_ZL9set_flagsPmm>
c0021236:	83 c4 10             	add    $0x10,%esp
c0021239:	8b 45 e8             	mov    -0x18(%ebp),%eax
c002123c:	83 ec 08             	sub    $0x8,%esp
c002123f:	50                   	push   %eax
c0021240:	8d 45 d0             	lea    -0x30(%ebp),%eax
c0021243:	50                   	push   %eax
c0021244:	e8 f2 f7 ff ff       	call   c0020a3b <_ZL14page_set_framePmm>
c0021249:	83 c4 10             	add    $0x10,%esp
c002124c:	8b 45 d4             	mov    -0x2c(%ebp),%eax
c002124f:	c1 e8 16             	shr    $0x16,%eax
c0021252:	89 45 dc             	mov    %eax,-0x24(%ebp)
c0021255:	8b 45 dc             	mov    -0x24(%ebp),%eax
c0021258:	c1 e0 02             	shl    $0x2,%eax
c002125b:	05 00 d0 02 c0       	add    $0xc002d000,%eax
c0021260:	83 ec 08             	sub    $0x8,%esp
c0021263:	6a 01                	push   $0x1
c0021265:	50                   	push   %eax
c0021266:	e8 14 f8 ff ff       	call   c0020a7f <_ZL9set_flagsPmm>
c002126b:	83 c4 10             	add    $0x10,%esp
c002126e:	8b 45 dc             	mov    -0x24(%ebp),%eax
c0021271:	c1 e0 02             	shl    $0x2,%eax
c0021274:	05 00 d0 02 c0       	add    $0xc002d000,%eax
c0021279:	83 ec 08             	sub    $0x8,%esp
c002127c:	6a 02                	push   $0x2
c002127e:	50                   	push   %eax
c002127f:	e8 fb f7 ff ff       	call   c0020a7f <_ZL9set_flagsPmm>
c0021284:	83 c4 10             	add    $0x10,%esp
c0021287:	8b 45 dc             	mov    -0x24(%ebp),%eax
c002128a:	c1 e0 0c             	shl    $0xc,%eax
c002128d:	05 00 e0 02 c0       	add    $0xc002e000,%eax
c0021292:	8d 90 00 00 00 40    	lea    0x40000000(%eax),%edx
c0021298:	8b 45 dc             	mov    -0x24(%ebp),%eax
c002129b:	c1 e0 02             	shl    $0x2,%eax
c002129e:	05 00 d0 02 c0       	add    $0xc002d000,%eax
c00212a3:	83 ec 08             	sub    $0x8,%esp
c00212a6:	52                   	push   %edx
c00212a7:	50                   	push   %eax
c00212a8:	e8 b8 f7 ff ff       	call   c0020a65 <_ZL13pde_set_framePmm>
c00212ad:	83 c4 10             	add    $0x10,%esp
c00212b0:	8b 45 d4             	mov    -0x2c(%ebp),%eax
c00212b3:	c1 f8 0c             	sar    $0xc,%eax
c00212b6:	25 ff 03 00 00       	and    $0x3ff,%eax
c00212bb:	89 c1                	mov    %eax,%ecx
c00212bd:	8b 45 d0             	mov    -0x30(%ebp),%eax
c00212c0:	8b 55 dc             	mov    -0x24(%ebp),%edx
c00212c3:	c1 e2 0a             	shl    $0xa,%edx
c00212c6:	01 ca                	add    %ecx,%edx
c00212c8:	89 04 95 00 e0 02 c0 	mov    %eax,-0x3ffd2000(,%edx,4)
c00212cf:	83 45 ec 01          	addl   $0x1,-0x14(%ebp)
c00212d3:	81 45 e8 00 10 00 00 	addl   $0x1000,-0x18(%ebp)
c00212da:	8b 45 d4             	mov    -0x2c(%ebp),%eax
c00212dd:	05 00 10 00 00       	add    $0x1000,%eax
c00212e2:	89 45 d4             	mov    %eax,-0x2c(%ebp)
c00212e5:	e9 2a ff ff ff       	jmp    c0021214 <_Z17paging_initializev+0xd4>
c00212ea:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
c00212f1:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
c00212f8:	c7 45 cc 00 00 00 c0 	movl   $0xc0000000,-0x34(%ebp)
c00212ff:	81 7d e4 ff 17 00 00 	cmpl   $0x17ff,-0x1c(%ebp)
c0021306:	0f 8f da 00 00 00    	jg     c00213e6 <_Z17paging_initializev+0x2a6>
c002130c:	c7 45 c8 00 00 00 00 	movl   $0x0,-0x38(%ebp)
c0021313:	83 ec 08             	sub    $0x8,%esp
c0021316:	6a 01                	push   $0x1
c0021318:	8d 45 c8             	lea    -0x38(%ebp),%eax
c002131b:	50                   	push   %eax
c002131c:	e8 5e f7 ff ff       	call   c0020a7f <_ZL9set_flagsPmm>
c0021321:	83 c4 10             	add    $0x10,%esp
c0021324:	83 ec 08             	sub    $0x8,%esp
c0021327:	6a 02                	push   $0x2
c0021329:	8d 45 c8             	lea    -0x38(%ebp),%eax
c002132c:	50                   	push   %eax
c002132d:	e8 4d f7 ff ff       	call   c0020a7f <_ZL9set_flagsPmm>
c0021332:	83 c4 10             	add    $0x10,%esp
c0021335:	8b 45 e0             	mov    -0x20(%ebp),%eax
c0021338:	83 ec 08             	sub    $0x8,%esp
c002133b:	50                   	push   %eax
c002133c:	8d 45 c8             	lea    -0x38(%ebp),%eax
c002133f:	50                   	push   %eax
c0021340:	e8 f6 f6 ff ff       	call   c0020a3b <_ZL14page_set_framePmm>
c0021345:	83 c4 10             	add    $0x10,%esp
c0021348:	8b 45 cc             	mov    -0x34(%ebp),%eax
c002134b:	c1 e8 16             	shr    $0x16,%eax
c002134e:	89 45 d8             	mov    %eax,-0x28(%ebp)
c0021351:	8b 45 d8             	mov    -0x28(%ebp),%eax
c0021354:	c1 e0 02             	shl    $0x2,%eax
c0021357:	05 00 d0 02 c0       	add    $0xc002d000,%eax
c002135c:	83 ec 08             	sub    $0x8,%esp
c002135f:	6a 01                	push   $0x1
c0021361:	50                   	push   %eax
c0021362:	e8 18 f7 ff ff       	call   c0020a7f <_ZL9set_flagsPmm>
c0021367:	83 c4 10             	add    $0x10,%esp
c002136a:	8b 45 d8             	mov    -0x28(%ebp),%eax
c002136d:	c1 e0 02             	shl    $0x2,%eax
c0021370:	05 00 d0 02 c0       	add    $0xc002d000,%eax
c0021375:	83 ec 08             	sub    $0x8,%esp
c0021378:	6a 02                	push   $0x2
c002137a:	50                   	push   %eax
c002137b:	e8 ff f6 ff ff       	call   c0020a7f <_ZL9set_flagsPmm>
c0021380:	83 c4 10             	add    $0x10,%esp
c0021383:	8b 45 d8             	mov    -0x28(%ebp),%eax
c0021386:	c1 e0 0c             	shl    $0xc,%eax
c0021389:	05 00 e0 02 c0       	add    $0xc002e000,%eax
c002138e:	8d 90 00 00 00 40    	lea    0x40000000(%eax),%edx
c0021394:	8b 45 d8             	mov    -0x28(%ebp),%eax
c0021397:	c1 e0 02             	shl    $0x2,%eax
c002139a:	05 00 d0 02 c0       	add    $0xc002d000,%eax
c002139f:	83 ec 08             	sub    $0x8,%esp
c00213a2:	52                   	push   %edx
c00213a3:	50                   	push   %eax
c00213a4:	e8 bc f6 ff ff       	call   c0020a65 <_ZL13pde_set_framePmm>
c00213a9:	83 c4 10             	add    $0x10,%esp
c00213ac:	8b 45 cc             	mov    -0x34(%ebp),%eax
c00213af:	c1 f8 0c             	sar    $0xc,%eax
c00213b2:	25 ff 03 00 00       	and    $0x3ff,%eax
c00213b7:	89 c1                	mov    %eax,%ecx
c00213b9:	8b 45 c8             	mov    -0x38(%ebp),%eax
c00213bc:	8b 55 d8             	mov    -0x28(%ebp),%edx
c00213bf:	c1 e2 0a             	shl    $0xa,%edx
c00213c2:	01 ca                	add    %ecx,%edx
c00213c4:	89 04 95 00 e0 02 c0 	mov    %eax,-0x3ffd2000(,%edx,4)
c00213cb:	83 45 e4 01          	addl   $0x1,-0x1c(%ebp)
c00213cf:	81 45 e0 00 10 00 00 	addl   $0x1000,-0x20(%ebp)
c00213d6:	8b 45 cc             	mov    -0x34(%ebp),%eax
c00213d9:	05 00 10 00 00       	add    $0x1000,%eax
c00213de:	89 45 cc             	mov    %eax,-0x34(%ebp)
c00213e1:	e9 19 ff ff ff       	jmp    c00212ff <_Z17paging_initializev+0x1bf>
c00213e6:	b8 00 d0 02 c0       	mov    $0xc002d000,%eax
c00213eb:	05 00 00 00 40       	add    $0x40000000,%eax
c00213f0:	83 ec 0c             	sub    $0xc,%esp
c00213f3:	50                   	push   %eax
c00213f4:	e8 e7 00 00 00       	call   c00214e0 <_Z21switch_page_directorym>
c00213f9:	83 c4 10             	add    $0x10,%esp
c00213fc:	90                   	nop
c00213fd:	c9                   	leave  
c00213fe:	c3                   	ret    

c00213ff <_Z10map_kernelv>:
c00213ff:	55                   	push   %ebp
c0021400:	89 e5                	mov    %esp,%ebp
c0021402:	83 ec 20             	sub    $0x20,%esp
c0021405:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
c002140c:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
c0021413:	c7 45 f0 00 00 00 c0 	movl   $0xc0000000,-0x10(%ebp)
c002141a:	81 7d fc ff 1f 00 00 	cmpl   $0x1fff,-0x4(%ebp)
c0021421:	0f 8f b6 00 00 00    	jg     c00214dd <_Z10map_kernelv+0xde>
c0021427:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
c002142e:	6a 03                	push   $0x3
c0021430:	8d 45 ec             	lea    -0x14(%ebp),%eax
c0021433:	50                   	push   %eax
c0021434:	e8 46 f6 ff ff       	call   c0020a7f <_ZL9set_flagsPmm>
c0021439:	83 c4 08             	add    $0x8,%esp
c002143c:	8b 45 f8             	mov    -0x8(%ebp),%eax
c002143f:	50                   	push   %eax
c0021440:	8d 45 ec             	lea    -0x14(%ebp),%eax
c0021443:	50                   	push   %eax
c0021444:	e8 f2 f5 ff ff       	call   c0020a3b <_ZL14page_set_framePmm>
c0021449:	83 c4 08             	add    $0x8,%esp
c002144c:	8b 45 f0             	mov    -0x10(%ebp),%eax
c002144f:	c1 e8 16             	shr    $0x16,%eax
c0021452:	89 45 f4             	mov    %eax,-0xc(%ebp)
c0021455:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0021458:	c1 e0 02             	shl    $0x2,%eax
c002145b:	05 00 d0 02 c0       	add    $0xc002d000,%eax
c0021460:	6a 01                	push   $0x1
c0021462:	50                   	push   %eax
c0021463:	e8 17 f6 ff ff       	call   c0020a7f <_ZL9set_flagsPmm>
c0021468:	83 c4 08             	add    $0x8,%esp
c002146b:	8b 45 f4             	mov    -0xc(%ebp),%eax
c002146e:	c1 e0 02             	shl    $0x2,%eax
c0021471:	05 00 d0 02 c0       	add    $0xc002d000,%eax
c0021476:	6a 02                	push   $0x2
c0021478:	50                   	push   %eax
c0021479:	e8 01 f6 ff ff       	call   c0020a7f <_ZL9set_flagsPmm>
c002147e:	83 c4 08             	add    $0x8,%esp
c0021481:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0021484:	c1 e0 0c             	shl    $0xc,%eax
c0021487:	05 00 e0 02 c0       	add    $0xc002e000,%eax
c002148c:	89 c2                	mov    %eax,%edx
c002148e:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0021491:	c1 e0 02             	shl    $0x2,%eax
c0021494:	05 00 d0 02 c0       	add    $0xc002d000,%eax
c0021499:	52                   	push   %edx
c002149a:	50                   	push   %eax
c002149b:	e8 c5 f5 ff ff       	call   c0020a65 <_ZL13pde_set_framePmm>
c00214a0:	83 c4 08             	add    $0x8,%esp
c00214a3:	8b 45 f0             	mov    -0x10(%ebp),%eax
c00214a6:	c1 f8 0c             	sar    $0xc,%eax
c00214a9:	25 ff 03 00 00       	and    $0x3ff,%eax
c00214ae:	89 c1                	mov    %eax,%ecx
c00214b0:	8b 45 ec             	mov    -0x14(%ebp),%eax
c00214b3:	8b 55 f4             	mov    -0xc(%ebp),%edx
c00214b6:	c1 e2 0a             	shl    $0xa,%edx
c00214b9:	01 ca                	add    %ecx,%edx
c00214bb:	89 04 95 00 e0 02 c0 	mov    %eax,-0x3ffd2000(,%edx,4)
c00214c2:	83 45 fc 01          	addl   $0x1,-0x4(%ebp)
c00214c6:	81 45 f8 00 10 00 00 	addl   $0x1000,-0x8(%ebp)
c00214cd:	8b 45 f0             	mov    -0x10(%ebp),%eax
c00214d0:	05 00 10 00 00       	add    $0x1000,%eax
c00214d5:	89 45 f0             	mov    %eax,-0x10(%ebp)
c00214d8:	e9 3d ff ff ff       	jmp    c002141a <_Z10map_kernelv+0x1b>
c00214dd:	90                   	nop
c00214de:	c9                   	leave  
c00214df:	c3                   	ret    

c00214e0 <_Z21switch_page_directorym>:
c00214e0:	55                   	push   %ebp
c00214e1:	89 e5                	mov    %esp,%ebp
c00214e3:	8b 45 08             	mov    0x8(%ebp),%eax
c00214e6:	0f 22 d8             	mov    %eax,%cr3
c00214e9:	90                   	nop
c00214ea:	5d                   	pop    %ebp
c00214eb:	c3                   	ret    

c00214ec <_Z26set_current_page_directory20page_directory_ptr_t>:
c00214ec:	55                   	push   %ebp
c00214ed:	89 e5                	mov    %esp,%ebp
c00214ef:	8b 45 08             	mov    0x8(%ebp),%eax
c00214f2:	a3 00 e0 42 c0       	mov    %eax,0xc042e000
c00214f7:	8b 45 10             	mov    0x10(%ebp),%eax
c00214fa:	a3 04 e0 42 c0       	mov    %eax,0xc042e004
c00214ff:	90                   	nop
c0021500:	5d                   	pop    %ebp
c0021501:	c3                   	ret    

c0021502 <_Z33set_current_page_directory_kernelv>:
c0021502:	55                   	push   %ebp
c0021503:	89 e5                	mov    %esp,%ebp
c0021505:	c7 05 00 e0 42 c0 00 	movl   $0xc002d000,0xc042e000
c002150c:	d0 02 c0 
c002150f:	c7 05 04 e0 42 c0 00 	movl   $0xc002e000,0xc042e004
c0021516:	e0 02 c0 
c0021519:	90                   	nop
c002151a:	5d                   	pop    %ebp
c002151b:	c3                   	ret    

c002151c <_Z17new_address_spacev>:
c002151c:	55                   	push   %ebp
c002151d:	89 e5                	mov    %esp,%ebp
c002151f:	83 ec 18             	sub    $0x18,%esp
c0021522:	fa                   	cli    
c0021523:	83 ec 0c             	sub    $0xc,%esp
c0021526:	6a 01                	push   $0x1
c0021528:	e8 17 f7 ff ff       	call   c0020c44 <_Z21kernel_pages_allocatem>
c002152d:	83 c4 10             	add    $0x10,%esp
c0021530:	89 c2                	mov    %eax,%edx
c0021532:	8b 45 08             	mov    0x8(%ebp),%eax
c0021535:	89 10                	mov    %edx,(%eax)
c0021537:	e8 7d 04 00 00       	call   c00219b9 <_Z21physalloc_alloc_blockv>
c002153c:	89 c2                	mov    %eax,%edx
c002153e:	8b 45 08             	mov    0x8(%ebp),%eax
c0021541:	89 50 04             	mov    %edx,0x4(%eax)
c0021544:	8b 45 08             	mov    0x8(%ebp),%eax
c0021547:	8b 00                	mov    (%eax),%eax
c0021549:	89 c2                	mov    %eax,%edx
c002154b:	8b 45 08             	mov    0x8(%ebp),%eax
c002154e:	8b 40 04             	mov    0x4(%eax),%eax
c0021551:	83 ec 04             	sub    $0x4,%esp
c0021554:	6a 01                	push   $0x1
c0021556:	52                   	push   %edx
c0021557:	50                   	push   %eax
c0021558:	e8 13 f9 ff ff       	call   c0020e70 <_Z8map_pagemmm>
c002155d:	83 c4 10             	add    $0x10,%esp
c0021560:	c7 45 f4 00 03 00 00 	movl   $0x300,-0xc(%ebp)
c0021567:	81 7d f4 ff 03 00 00 	cmpl   $0x3ff,-0xc(%ebp)
c002156e:	77 4c                	ja     c00215bc <_Z17new_address_spacev+0xa0>
c0021570:	8b 45 08             	mov    0x8(%ebp),%eax
c0021573:	8b 00                	mov    (%eax),%eax
c0021575:	8b 55 f4             	mov    -0xc(%ebp),%edx
c0021578:	c1 e2 02             	shl    $0x2,%edx
c002157b:	01 d0                	add    %edx,%eax
c002157d:	83 ec 08             	sub    $0x8,%esp
c0021580:	6a 03                	push   $0x3
c0021582:	50                   	push   %eax
c0021583:	e8 f7 f4 ff ff       	call   c0020a7f <_ZL9set_flagsPmm>
c0021588:	83 c4 10             	add    $0x10,%esp
c002158b:	8b 45 f4             	mov    -0xc(%ebp),%eax
c002158e:	c1 e0 0c             	shl    $0xc,%eax
c0021591:	05 00 e0 02 c0       	add    $0xc002e000,%eax
c0021596:	8d 90 00 00 00 40    	lea    0x40000000(%eax),%edx
c002159c:	8b 45 08             	mov    0x8(%ebp),%eax
c002159f:	8b 00                	mov    (%eax),%eax
c00215a1:	8b 4d f4             	mov    -0xc(%ebp),%ecx
c00215a4:	c1 e1 02             	shl    $0x2,%ecx
c00215a7:	01 c8                	add    %ecx,%eax
c00215a9:	83 ec 08             	sub    $0x8,%esp
c00215ac:	52                   	push   %edx
c00215ad:	50                   	push   %eax
c00215ae:	e8 b2 f4 ff ff       	call   c0020a65 <_ZL13pde_set_framePmm>
c00215b3:	83 c4 10             	add    $0x10,%esp
c00215b6:	83 45 f4 01          	addl   $0x1,-0xc(%ebp)
c00215ba:	eb ab                	jmp    c0021567 <_Z17new_address_spacev+0x4b>
c00215bc:	83 ec 0c             	sub    $0xc,%esp
c00215bf:	68 00 13 00 00       	push   $0x1300
c00215c4:	e8 7b f6 ff ff       	call   c0020c44 <_Z21kernel_pages_allocatem>
c00215c9:	83 c4 10             	add    $0x10,%esp
c00215cc:	89 c2                	mov    %eax,%edx
c00215ce:	8b 45 08             	mov    0x8(%ebp),%eax
c00215d1:	89 50 08             	mov    %edx,0x8(%eax)
c00215d4:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
c00215db:	81 7d f0 ff 02 00 00 	cmpl   $0x2ff,-0x10(%ebp)
c00215e2:	77 2d                	ja     c0021611 <_Z17new_address_spacev+0xf5>
c00215e4:	e8 d0 03 00 00       	call   c00219b9 <_Z21physalloc_alloc_blockv>
c00215e9:	89 45 e8             	mov    %eax,-0x18(%ebp)
c00215ec:	8b 45 08             	mov    0x8(%ebp),%eax
c00215ef:	8b 40 08             	mov    0x8(%eax),%eax
c00215f2:	8b 55 f0             	mov    -0x10(%ebp),%edx
c00215f5:	c1 e2 0c             	shl    $0xc,%edx
c00215f8:	01 d0                	add    %edx,%eax
c00215fa:	83 ec 04             	sub    $0x4,%esp
c00215fd:	6a 01                	push   $0x1
c00215ff:	50                   	push   %eax
c0021600:	ff 75 e8             	pushl  -0x18(%ebp)
c0021603:	e8 68 f8 ff ff       	call   c0020e70 <_Z8map_pagemmm>
c0021608:	83 c4 10             	add    $0x10,%esp
c002160b:	83 45 f0 01          	addl   $0x1,-0x10(%ebp)
c002160f:	eb ca                	jmp    c00215db <_Z17new_address_spacev+0xbf>
c0021611:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
c0021618:	81 7d ec ff 02 00 00 	cmpl   $0x2ff,-0x14(%ebp)
c002161f:	77 57                	ja     c0021678 <_Z17new_address_spacev+0x15c>
c0021621:	8b 45 08             	mov    0x8(%ebp),%eax
c0021624:	8b 00                	mov    (%eax),%eax
c0021626:	8b 55 ec             	mov    -0x14(%ebp),%edx
c0021629:	c1 e2 02             	shl    $0x2,%edx
c002162c:	01 d0                	add    %edx,%eax
c002162e:	83 ec 08             	sub    $0x8,%esp
c0021631:	6a 07                	push   $0x7
c0021633:	50                   	push   %eax
c0021634:	e8 46 f4 ff ff       	call   c0020a7f <_ZL9set_flagsPmm>
c0021639:	83 c4 10             	add    $0x10,%esp
c002163c:	8b 45 08             	mov    0x8(%ebp),%eax
c002163f:	8b 40 08             	mov    0x8(%eax),%eax
c0021642:	8b 55 ec             	mov    -0x14(%ebp),%edx
c0021645:	c1 e2 0c             	shl    $0xc,%edx
c0021648:	01 d0                	add    %edx,%eax
c002164a:	83 ec 0c             	sub    $0xc,%esp
c002164d:	50                   	push   %eax
c002164e:	e8 57 f7 ff ff       	call   c0020daa <_Z17addr_virt_to_physm>
c0021653:	83 c4 10             	add    $0x10,%esp
c0021656:	89 c1                	mov    %eax,%ecx
c0021658:	8b 45 08             	mov    0x8(%ebp),%eax
c002165b:	8b 00                	mov    (%eax),%eax
c002165d:	8b 55 ec             	mov    -0x14(%ebp),%edx
c0021660:	c1 e2 02             	shl    $0x2,%edx
c0021663:	01 d0                	add    %edx,%eax
c0021665:	83 ec 08             	sub    $0x8,%esp
c0021668:	51                   	push   %ecx
c0021669:	50                   	push   %eax
c002166a:	e8 f6 f3 ff ff       	call   c0020a65 <_ZL13pde_set_framePmm>
c002166f:	83 c4 10             	add    $0x10,%esp
c0021672:	83 45 ec 01          	addl   $0x1,-0x14(%ebp)
c0021676:	eb a0                	jmp    c0021618 <_Z17new_address_spacev+0xfc>
c0021678:	8b 45 08             	mov    0x8(%ebp),%eax
c002167b:	8b 40 08             	mov    0x8(%eax),%eax
c002167e:	83 ec 04             	sub    $0x4,%esp
c0021681:	68 00 00 40 00       	push   $0x400000
c0021686:	6a 00                	push   $0x0
c0021688:	50                   	push   %eax
c0021689:	e8 d6 e6 ff ff       	call   c001fd64 <memset>
c002168e:	83 c4 10             	add    $0x10,%esp
c0021691:	fb                   	sti    
c0021692:	90                   	nop
c0021693:	8b 45 08             	mov    0x8(%ebp),%eax
c0021696:	c9                   	leave  
c0021697:	c2 04 00             	ret    $0x4

c002169a <_Z18page_fault_handlerP8regs32_t>:
c002169a:	55                   	push   %ebp
c002169b:	89 e5                	mov    %esp,%ebp
c002169d:	83 ec 28             	sub    $0x28,%esp
c00216a0:	83 ec 0c             	sub    $0xc,%esp
c00216a3:	68 e4 6a 02 c0       	push   $0xc0026ae4
c00216a8:	e8 e1 04 00 00       	call   c0021b8e <write_serial_string>
c00216ad:	83 c4 10             	add    $0x10,%esp
c00216b0:	0f 20 d0             	mov    %cr2,%eax
c00216b3:	89 45 f0             	mov    %eax,-0x10(%ebp)
c00216b6:	8b 45 08             	mov    0x8(%ebp),%eax
c00216b9:	8b 40 34             	mov    0x34(%eax),%eax
c00216bc:	83 e0 01             	and    $0x1,%eax
c00216bf:	85 c0                	test   %eax,%eax
c00216c1:	0f 94 c0             	sete   %al
c00216c4:	0f b6 c0             	movzbl %al,%eax
c00216c7:	89 45 ec             	mov    %eax,-0x14(%ebp)
c00216ca:	8b 45 08             	mov    0x8(%ebp),%eax
c00216cd:	8b 40 34             	mov    0x34(%eax),%eax
c00216d0:	83 e0 02             	and    $0x2,%eax
c00216d3:	89 45 e8             	mov    %eax,-0x18(%ebp)
c00216d6:	8b 45 08             	mov    0x8(%ebp),%eax
c00216d9:	8b 40 34             	mov    0x34(%eax),%eax
c00216dc:	83 e0 04             	and    $0x4,%eax
c00216df:	89 45 e4             	mov    %eax,-0x1c(%ebp)
c00216e2:	8b 45 08             	mov    0x8(%ebp),%eax
c00216e5:	8b 40 34             	mov    0x34(%eax),%eax
c00216e8:	83 e0 08             	and    $0x8,%eax
c00216eb:	89 45 e0             	mov    %eax,-0x20(%ebp)
c00216ee:	8b 45 08             	mov    0x8(%ebp),%eax
c00216f1:	8b 40 34             	mov    0x34(%eax),%eax
c00216f4:	83 e0 10             	and    $0x10,%eax
c00216f7:	89 45 dc             	mov    %eax,-0x24(%ebp)
c00216fa:	c7 45 d8 f2 6a 02 c0 	movl   $0xc0026af2,-0x28(%ebp)
c0021701:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
c0021705:	74 07                	je     c002170e <_Z18page_fault_handlerP8regs32_t+0x74>
c0021707:	c7 45 f4 fe 6a 02 c0 	movl   $0xc0026afe,-0xc(%ebp)
c002170e:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
c0021712:	74 07                	je     c002171b <_Z18page_fault_handlerP8regs32_t+0x81>
c0021714:	c7 45 f4 0f 6b 02 c0 	movl   $0xc0026b0f,-0xc(%ebp)
c002171b:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
c002171f:	74 07                	je     c0021728 <_Z18page_fault_handlerP8regs32_t+0x8e>
c0021721:	c7 45 f4 1a 6b 02 c0 	movl   $0xc0026b1a,-0xc(%ebp)
c0021728:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
c002172c:	74 07                	je     c0021735 <_Z18page_fault_handlerP8regs32_t+0x9b>
c002172e:	c7 45 f4 25 6b 02 c0 	movl   $0xc0026b25,-0xc(%ebp)
c0021735:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
c0021739:	74 07                	je     c0021742 <_Z18page_fault_handlerP8regs32_t+0xa8>
c002173b:	c7 45 f4 2f 6b 02 c0 	movl   $0xc0026b2f,-0xc(%ebp)
c0021742:	83 ec 0c             	sub    $0xc,%esp
c0021745:	ff 75 f4             	pushl  -0xc(%ebp)
c0021748:	e8 41 04 00 00       	call   c0021b8e <write_serial_string>
c002174d:	83 c4 10             	add    $0x10,%esp
c0021750:	83 ec 08             	sub    $0x8,%esp
c0021753:	ff 75 f4             	pushl  -0xc(%ebp)
c0021756:	ff 75 d8             	pushl  -0x28(%ebp)
c0021759:	e8 6a 16 00 00       	call   c0022dc8 <strcat>
c002175e:	83 c4 10             	add    $0x10,%esp
c0021761:	83 ec 0c             	sub    $0xc,%esp
c0021764:	ff 75 d8             	pushl  -0x28(%ebp)
c0021767:	e8 22 04 00 00       	call   c0021b8e <write_serial_string>
c002176c:	83 c4 10             	add    $0x10,%esp
c002176f:	83 ec 0c             	sub    $0xc,%esp
c0021772:	68 41 6b 02 c0       	push   $0xc0026b41
c0021777:	e8 12 04 00 00       	call   c0021b8e <write_serial_string>
c002177c:	83 c4 10             	add    $0x10,%esp
c002177f:	8b 45 08             	mov    0x8(%ebp),%eax
c0021782:	8b 40 38             	mov    0x38(%eax),%eax
c0021785:	83 ec 04             	sub    $0x4,%esp
c0021788:	6a 10                	push   $0x10
c002178a:	68 00 00 00 c0       	push   $0xc0000000
c002178f:	50                   	push   %eax
c0021790:	e8 28 1a 00 00       	call   c00231bd <_Z4itoamPci>
c0021795:	83 c4 10             	add    $0x10,%esp
c0021798:	83 ec 0c             	sub    $0xc,%esp
c002179b:	50                   	push   %eax
c002179c:	e8 ed 03 00 00       	call   c0021b8e <write_serial_string>
c00217a1:	83 c4 10             	add    $0x10,%esp
c00217a4:	83 ec 0c             	sub    $0xc,%esp
c00217a7:	68 e1 6a 02 c0       	push   $0xc0026ae1
c00217ac:	e8 dd 03 00 00       	call   c0021b8e <write_serial_string>
c00217b1:	83 c4 10             	add    $0x10,%esp
c00217b4:	83 ec 04             	sub    $0x4,%esp
c00217b7:	6a 10                	push   $0x10
c00217b9:	68 08 e0 42 c0       	push   $0xc042e008
c00217be:	ff 75 f0             	pushl  -0x10(%ebp)
c00217c1:	e8 f7 19 00 00       	call   c00231bd <_Z4itoamPci>
c00217c6:	83 c4 10             	add    $0x10,%esp
c00217c9:	83 ec 0c             	sub    $0xc,%esp
c00217cc:	68 4b 6b 02 c0       	push   $0xc0026b4b
c00217d1:	e8 b8 03 00 00       	call   c0021b8e <write_serial_string>
c00217d6:	83 c4 10             	add    $0x10,%esp
c00217d9:	83 ec 0c             	sub    $0xc,%esp
c00217dc:	68 08 e0 42 c0       	push   $0xc042e008
c00217e1:	e8 a8 03 00 00       	call   c0021b8e <write_serial_string>
c00217e6:	83 c4 10             	add    $0x10,%esp
c00217e9:	83 ec 08             	sub    $0x8,%esp
c00217ec:	68 08 e0 42 c0       	push   $0xc042e008
c00217f1:	ff 75 d8             	pushl  -0x28(%ebp)
c00217f4:	e8 a3 ce ff ff       	call   c001e69c <fatal_error>
c00217f9:	83 c4 10             	add    $0x10,%esp
c00217fc:	eb fe                	jmp    c00217fc <_Z18page_fault_handlerP8regs32_t+0x162>

c00217fe <_Z14physalloc_initP13memory_info_t>:
c00217fe:	55                   	push   %ebp
c00217ff:	89 e5                	mov    %esp,%ebp
c0021801:	83 ec 18             	sub    $0x18,%esp
c0021804:	83 ec 04             	sub    $0x4,%esp
c0021807:	68 00 00 02 00       	push   $0x20000
c002180c:	6a ff                	push   $0xffffffff
c002180e:	68 20 e0 42 c0       	push   $0xc042e020
c0021813:	e8 4c e5 ff ff       	call   c001fd64 <memset>
c0021818:	83 c4 10             	add    $0x10,%esp
c002181b:	8b 45 08             	mov    0x8(%ebp),%eax
c002181e:	8b 40 08             	mov    0x8(%eax),%eax
c0021821:	89 45 f4             	mov    %eax,-0xc(%ebp)
c0021824:	8b 45 08             	mov    0x8(%ebp),%eax
c0021827:	8b 48 08             	mov    0x8(%eax),%ecx
c002182a:	8b 45 08             	mov    0x8(%ebp),%eax
c002182d:	8b 50 0c             	mov    0xc(%eax),%edx
c0021830:	89 d0                	mov    %edx,%eax
c0021832:	01 c0                	add    %eax,%eax
c0021834:	01 d0                	add    %edx,%eax
c0021836:	c1 e0 03             	shl    $0x3,%eax
c0021839:	01 c8                	add    %ecx,%eax
c002183b:	89 45 f0             	mov    %eax,-0x10(%ebp)
c002183e:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0021841:	3b 45 f0             	cmp    -0x10(%ebp),%eax
c0021844:	73 3e                	jae    c0021884 <_Z14physalloc_initP13memory_info_t+0x86>
c0021846:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0021849:	8b 40 14             	mov    0x14(%eax),%eax
c002184c:	83 f8 01             	cmp    $0x1,%eax
c002184f:	75 21                	jne    c0021872 <_Z14physalloc_initP13memory_info_t+0x74>
c0021851:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0021854:	8b 50 10             	mov    0x10(%eax),%edx
c0021857:	8b 40 0c             	mov    0xc(%eax),%eax
c002185a:	89 c1                	mov    %eax,%ecx
c002185c:	8b 45 f4             	mov    -0xc(%ebp),%eax
c002185f:	8b 50 08             	mov    0x8(%eax),%edx
c0021862:	8b 40 04             	mov    0x4(%eax),%eax
c0021865:	83 ec 08             	sub    $0x8,%esp
c0021868:	51                   	push   %ecx
c0021869:	50                   	push   %eax
c002186a:	e8 fe 00 00 00       	call   c002196d <_Z26physalloc_mark_region_freemm>
c002186f:	83 c4 10             	add    $0x10,%esp
c0021872:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0021875:	8b 10                	mov    (%eax),%edx
c0021877:	8b 45 f4             	mov    -0xc(%ebp),%eax
c002187a:	01 d0                	add    %edx,%eax
c002187c:	83 c0 04             	add    $0x4,%eax
c002187f:	89 45 f4             	mov    %eax,-0xc(%ebp)
c0021882:	eb ba                	jmp    c002183e <_Z14physalloc_initP13memory_info_t+0x40>
c0021884:	8b 45 08             	mov    0x8(%ebp),%eax
c0021887:	8b 40 04             	mov    0x4(%eax),%eax
c002188a:	c1 e0 0a             	shl    $0xa,%eax
c002188d:	c1 e8 0c             	shr    $0xc,%eax
c0021890:	a3 24 e0 44 c0       	mov    %eax,0xc044e024
c0021895:	83 ec 08             	sub    $0x8,%esp
c0021898:	68 00 00 80 01       	push   $0x1800000
c002189d:	6a 00                	push   $0x0
c002189f:	e8 7d 00 00 00       	call   c0021921 <_Z26physalloc_mark_region_usedmm>
c00218a4:	83 c4 10             	add    $0x10,%esp
c00218a7:	90                   	nop
c00218a8:	c9                   	leave  
c00218a9:	c3                   	ret    

c00218aa <_Z26physalloc_first_free_blockv>:
c00218aa:	55                   	push   %ebp
c00218ab:	89 e5                	mov    %esp,%ebp
c00218ad:	53                   	push   %ebx
c00218ae:	83 ec 10             	sub    $0x10,%esp
c00218b1:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
c00218b8:	81 7d f8 ff 7f 00 00 	cmpl   $0x7fff,-0x8(%ebp)
c00218bf:	77 55                	ja     c0021916 <_Z26physalloc_first_free_blockv+0x6c>
c00218c1:	8b 45 f8             	mov    -0x8(%ebp),%eax
c00218c4:	8b 04 85 20 e0 42 c0 	mov    -0x3fbd1fe0(,%eax,4),%eax
c00218cb:	83 f8 ff             	cmp    $0xffffffff,%eax
c00218ce:	74 40                	je     c0021910 <_Z26physalloc_first_free_blockv+0x66>
c00218d0:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
c00218d7:	83 7d f4 1f          	cmpl   $0x1f,-0xc(%ebp)
c00218db:	77 33                	ja     c0021910 <_Z26physalloc_first_free_blockv+0x66>
c00218dd:	8b 45 f8             	mov    -0x8(%ebp),%eax
c00218e0:	8b 14 85 20 e0 42 c0 	mov    -0x3fbd1fe0(,%eax,4),%edx
c00218e7:	8b 45 f4             	mov    -0xc(%ebp),%eax
c00218ea:	bb 01 00 00 00       	mov    $0x1,%ebx
c00218ef:	89 c1                	mov    %eax,%ecx
c00218f1:	d3 e3                	shl    %cl,%ebx
c00218f3:	89 d8                	mov    %ebx,%eax
c00218f5:	21 d0                	and    %edx,%eax
c00218f7:	85 c0                	test   %eax,%eax
c00218f9:	75 0f                	jne    c002190a <_Z26physalloc_first_free_blockv+0x60>
c00218fb:	8b 45 f8             	mov    -0x8(%ebp),%eax
c00218fe:	c1 e0 05             	shl    $0x5,%eax
c0021901:	89 c2                	mov    %eax,%edx
c0021903:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0021906:	01 d0                	add    %edx,%eax
c0021908:	eb 11                	jmp    c002191b <_Z26physalloc_first_free_blockv+0x71>
c002190a:	83 45 f4 01          	addl   $0x1,-0xc(%ebp)
c002190e:	eb c7                	jmp    c00218d7 <_Z26physalloc_first_free_blockv+0x2d>
c0021910:	83 45 f8 01          	addl   $0x1,-0x8(%ebp)
c0021914:	eb a2                	jmp    c00218b8 <_Z26physalloc_first_free_blockv+0xe>
c0021916:	b8 00 00 00 00       	mov    $0x0,%eax
c002191b:	83 c4 10             	add    $0x10,%esp
c002191e:	5b                   	pop    %ebx
c002191f:	5d                   	pop    %ebp
c0021920:	c3                   	ret    

c0021921 <_Z26physalloc_mark_region_usedmm>:
c0021921:	55                   	push   %ebp
c0021922:	89 e5                	mov    %esp,%ebp
c0021924:	83 ec 18             	sub    $0x18,%esp
c0021927:	8b 45 0c             	mov    0xc(%ebp),%eax
c002192a:	c1 e8 0c             	shr    $0xc,%eax
c002192d:	83 c0 01             	add    $0x1,%eax
c0021930:	89 45 f4             	mov    %eax,-0xc(%ebp)
c0021933:	8b 45 08             	mov    0x8(%ebp),%eax
c0021936:	c1 e8 0c             	shr    $0xc,%eax
c0021939:	89 45 f0             	mov    %eax,-0x10(%ebp)
c002193c:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
c0021940:	74 28                	je     c002196a <_Z26physalloc_mark_region_usedmm+0x49>
c0021942:	8b 45 f0             	mov    -0x10(%ebp),%eax
c0021945:	8d 50 01             	lea    0x1(%eax),%edx
c0021948:	89 55 f0             	mov    %edx,-0x10(%ebp)
c002194b:	83 ec 0c             	sub    $0xc,%esp
c002194e:	50                   	push   %eax
c002194f:	e8 da 33 00 00       	call   c0024d2e <_Z17physalloc_bit_setm>
c0021954:	83 c4 10             	add    $0x10,%esp
c0021957:	83 6d f4 01          	subl   $0x1,-0xc(%ebp)
c002195b:	a1 20 e0 44 c0       	mov    0xc044e020,%eax
c0021960:	83 c0 01             	add    $0x1,%eax
c0021963:	a3 20 e0 44 c0       	mov    %eax,0xc044e020
c0021968:	eb d2                	jmp    c002193c <_Z26physalloc_mark_region_usedmm+0x1b>
c002196a:	90                   	nop
c002196b:	c9                   	leave  
c002196c:	c3                   	ret    

c002196d <_Z26physalloc_mark_region_freemm>:
c002196d:	55                   	push   %ebp
c002196e:	89 e5                	mov    %esp,%ebp
c0021970:	83 ec 18             	sub    $0x18,%esp
c0021973:	8b 45 0c             	mov    0xc(%ebp),%eax
c0021976:	c1 e8 0c             	shr    $0xc,%eax
c0021979:	83 c0 01             	add    $0x1,%eax
c002197c:	89 45 f4             	mov    %eax,-0xc(%ebp)
c002197f:	8b 45 08             	mov    0x8(%ebp),%eax
c0021982:	c1 e8 0c             	shr    $0xc,%eax
c0021985:	89 45 f0             	mov    %eax,-0x10(%ebp)
c0021988:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
c002198c:	74 28                	je     c00219b6 <_Z26physalloc_mark_region_freemm+0x49>
c002198e:	8b 45 f0             	mov    -0x10(%ebp),%eax
c0021991:	8d 50 01             	lea    0x1(%eax),%edx
c0021994:	89 55 f0             	mov    %edx,-0x10(%ebp)
c0021997:	83 ec 0c             	sub    $0xc,%esp
c002199a:	50                   	push   %eax
c002199b:	e8 bb 33 00 00       	call   c0024d5b <_Z19physalloc_bit_clearm>
c00219a0:	83 c4 10             	add    $0x10,%esp
c00219a3:	83 6d f4 01          	subl   $0x1,-0xc(%ebp)
c00219a7:	a1 20 e0 44 c0       	mov    0xc044e020,%eax
c00219ac:	83 c0 01             	add    $0x1,%eax
c00219af:	a3 20 e0 44 c0       	mov    %eax,0xc044e020
c00219b4:	eb d2                	jmp    c0021988 <_Z26physalloc_mark_region_freemm+0x1b>
c00219b6:	90                   	nop
c00219b7:	c9                   	leave  
c00219b8:	c3                   	ret    

c00219b9 <_Z21physalloc_alloc_blockv>:
c00219b9:	55                   	push   %ebp
c00219ba:	89 e5                	mov    %esp,%ebp
c00219bc:	83 ec 18             	sub    $0x18,%esp
c00219bf:	e8 e6 fe ff ff       	call   c00218aa <_Z26physalloc_first_free_blockv>
c00219c4:	89 45 f4             	mov    %eax,-0xc(%ebp)
c00219c7:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
c00219cb:	75 07                	jne    c00219d4 <_Z21physalloc_alloc_blockv+0x1b>
c00219cd:	b8 00 00 00 00       	mov    $0x0,%eax
c00219d2:	eb 21                	jmp    c00219f5 <_Z21physalloc_alloc_blockv+0x3c>
c00219d4:	83 ec 0c             	sub    $0xc,%esp
c00219d7:	ff 75 f4             	pushl  -0xc(%ebp)
c00219da:	e8 4f 33 00 00       	call   c0024d2e <_Z17physalloc_bit_setm>
c00219df:	83 c4 10             	add    $0x10,%esp
c00219e2:	a1 20 e0 44 c0       	mov    0xc044e020,%eax
c00219e7:	83 c0 01             	add    $0x1,%eax
c00219ea:	a3 20 e0 44 c0       	mov    %eax,0xc044e020
c00219ef:	8b 45 f4             	mov    -0xc(%ebp),%eax
c00219f2:	c1 e0 0c             	shl    $0xc,%eax
c00219f5:	c9                   	leave  
c00219f6:	c3                   	ret    

c00219f7 <_Z20physalloc_free_blockm>:
c00219f7:	55                   	push   %ebp
c00219f8:	89 e5                	mov    %esp,%ebp
c00219fa:	83 ec 18             	sub    $0x18,%esp
c00219fd:	8b 45 08             	mov    0x8(%ebp),%eax
c0021a00:	c1 e8 0c             	shr    $0xc,%eax
c0021a03:	89 45 f4             	mov    %eax,-0xc(%ebp)
c0021a06:	83 ec 0c             	sub    $0xc,%esp
c0021a09:	ff 75 f4             	pushl  -0xc(%ebp)
c0021a0c:	e8 4a 33 00 00       	call   c0024d5b <_Z19physalloc_bit_clearm>
c0021a11:	83 c4 10             	add    $0x10,%esp
c0021a14:	a1 20 e0 44 c0       	mov    0xc044e020,%eax
c0021a19:	83 e8 01             	sub    $0x1,%eax
c0021a1c:	a3 20 e0 44 c0       	mov    %eax,0xc044e020
c0021a21:	90                   	nop
c0021a22:	c9                   	leave  
c0021a23:	c3                   	ret    

c0021a24 <_Znwm>:
c0021a24:	55                   	push   %ebp
c0021a25:	89 e5                	mov    %esp,%ebp
c0021a27:	83 ec 08             	sub    $0x8,%esp
c0021a2a:	83 ec 0c             	sub    $0xc,%esp
c0021a2d:	ff 75 08             	pushl  0x8(%ebp)
c0021a30:	e8 48 ba ff ff       	call   c001d47d <kmalloc>
c0021a35:	83 c4 10             	add    $0x10,%esp
c0021a38:	c9                   	leave  
c0021a39:	c3                   	ret    

c0021a3a <_Znam>:
c0021a3a:	55                   	push   %ebp
c0021a3b:	89 e5                	mov    %esp,%ebp
c0021a3d:	83 ec 08             	sub    $0x8,%esp
c0021a40:	83 ec 0c             	sub    $0xc,%esp
c0021a43:	ff 75 08             	pushl  0x8(%ebp)
c0021a46:	e8 32 ba ff ff       	call   c001d47d <kmalloc>
c0021a4b:	83 c4 10             	add    $0x10,%esp
c0021a4e:	c9                   	leave  
c0021a4f:	c3                   	ret    

c0021a50 <_ZdlPv>:
c0021a50:	55                   	push   %ebp
c0021a51:	89 e5                	mov    %esp,%ebp
c0021a53:	83 ec 08             	sub    $0x8,%esp
c0021a56:	83 ec 0c             	sub    $0xc,%esp
c0021a59:	ff 75 08             	pushl  0x8(%ebp)
c0021a5c:	e8 3c c1 ff ff       	call   c001db9d <kfree>
c0021a61:	83 c4 10             	add    $0x10,%esp
c0021a64:	90                   	nop
c0021a65:	c9                   	leave  
c0021a66:	c3                   	ret    

c0021a67 <_ZdlPvm>:
c0021a67:	55                   	push   %ebp
c0021a68:	89 e5                	mov    %esp,%ebp
c0021a6a:	83 ec 08             	sub    $0x8,%esp
c0021a6d:	83 ec 0c             	sub    $0xc,%esp
c0021a70:	ff 75 08             	pushl  0x8(%ebp)
c0021a73:	e8 d8 ff ff ff       	call   c0021a50 <_ZdlPv>
c0021a78:	83 c4 10             	add    $0x10,%esp
c0021a7b:	90                   	nop
c0021a7c:	c9                   	leave  
c0021a7d:	c3                   	ret    

c0021a7e <_ZdaPv>:
c0021a7e:	55                   	push   %ebp
c0021a7f:	89 e5                	mov    %esp,%ebp
c0021a81:	83 ec 08             	sub    $0x8,%esp
c0021a84:	83 ec 0c             	sub    $0xc,%esp
c0021a87:	ff 75 08             	pushl  0x8(%ebp)
c0021a8a:	e8 0e c1 ff ff       	call   c001db9d <kfree>
c0021a8f:	83 c4 10             	add    $0x10,%esp
c0021a92:	90                   	nop
c0021a93:	c9                   	leave  
c0021a94:	c3                   	ret    

c0021a95 <_ZdaPvm>:
c0021a95:	55                   	push   %ebp
c0021a96:	89 e5                	mov    %esp,%ebp
c0021a98:	83 ec 08             	sub    $0x8,%esp
c0021a9b:	83 ec 0c             	sub    $0xc,%esp
c0021a9e:	ff 75 08             	pushl  0x8(%ebp)
c0021aa1:	e8 d8 ff ff ff       	call   c0021a7e <_ZdaPv>
c0021aa6:	83 c4 10             	add    $0x10,%esp
c0021aa9:	90                   	nop
c0021aaa:	c9                   	leave  
c0021aab:	c3                   	ret    

c0021aac <_Z11init_serialv>:
c0021aac:	55                   	push   %ebp
c0021aad:	89 e5                	mov    %esp,%ebp
c0021aaf:	83 ec 08             	sub    $0x8,%esp
c0021ab2:	83 ec 08             	sub    $0x8,%esp
c0021ab5:	6a 00                	push   $0x0
c0021ab7:	68 f9 03 00 00       	push   $0x3f9
c0021abc:	e8 db 1f 00 00       	call   c0023a9c <_Z8outportbth>
c0021ac1:	83 c4 10             	add    $0x10,%esp
c0021ac4:	83 ec 08             	sub    $0x8,%esp
c0021ac7:	68 80 00 00 00       	push   $0x80
c0021acc:	68 fb 03 00 00       	push   $0x3fb
c0021ad1:	e8 c6 1f 00 00       	call   c0023a9c <_Z8outportbth>
c0021ad6:	83 c4 10             	add    $0x10,%esp
c0021ad9:	83 ec 08             	sub    $0x8,%esp
c0021adc:	6a 03                	push   $0x3
c0021ade:	68 f8 03 00 00       	push   $0x3f8
c0021ae3:	e8 b4 1f 00 00       	call   c0023a9c <_Z8outportbth>
c0021ae8:	83 c4 10             	add    $0x10,%esp
c0021aeb:	83 ec 08             	sub    $0x8,%esp
c0021aee:	6a 00                	push   $0x0
c0021af0:	68 f9 03 00 00       	push   $0x3f9
c0021af5:	e8 a2 1f 00 00       	call   c0023a9c <_Z8outportbth>
c0021afa:	83 c4 10             	add    $0x10,%esp
c0021afd:	83 ec 08             	sub    $0x8,%esp
c0021b00:	6a 03                	push   $0x3
c0021b02:	68 fb 03 00 00       	push   $0x3fb
c0021b07:	e8 90 1f 00 00       	call   c0023a9c <_Z8outportbth>
c0021b0c:	83 c4 10             	add    $0x10,%esp
c0021b0f:	83 ec 08             	sub    $0x8,%esp
c0021b12:	68 c7 00 00 00       	push   $0xc7
c0021b17:	68 fa 03 00 00       	push   $0x3fa
c0021b1c:	e8 7b 1f 00 00       	call   c0023a9c <_Z8outportbth>
c0021b21:	83 c4 10             	add    $0x10,%esp
c0021b24:	83 ec 08             	sub    $0x8,%esp
c0021b27:	6a 0b                	push   $0xb
c0021b29:	68 fc 03 00 00       	push   $0x3fc
c0021b2e:	e8 69 1f 00 00       	call   c0023a9c <_Z8outportbth>
c0021b33:	83 c4 10             	add    $0x10,%esp
c0021b36:	90                   	nop
c0021b37:	c9                   	leave  
c0021b38:	c3                   	ret    

c0021b39 <_Z17is_transmit_emptyv>:
c0021b39:	55                   	push   %ebp
c0021b3a:	89 e5                	mov    %esp,%ebp
c0021b3c:	83 ec 08             	sub    $0x8,%esp
c0021b3f:	83 ec 0c             	sub    $0xc,%esp
c0021b42:	68 fd 03 00 00       	push   $0x3fd
c0021b47:	e8 71 1f 00 00       	call   c0023abd <_Z7inportbt>
c0021b4c:	83 c4 10             	add    $0x10,%esp
c0021b4f:	0f b6 c0             	movzbl %al,%eax
c0021b52:	83 e0 20             	and    $0x20,%eax
c0021b55:	c9                   	leave  
c0021b56:	c3                   	ret    

c0021b57 <_Z12write_serialc>:
c0021b57:	55                   	push   %ebp
c0021b58:	89 e5                	mov    %esp,%ebp
c0021b5a:	83 ec 18             	sub    $0x18,%esp
c0021b5d:	8b 45 08             	mov    0x8(%ebp),%eax
c0021b60:	88 45 f4             	mov    %al,-0xc(%ebp)
c0021b63:	e8 d1 ff ff ff       	call   c0021b39 <_Z17is_transmit_emptyv>
c0021b68:	85 c0                	test   %eax,%eax
c0021b6a:	0f 94 c0             	sete   %al
c0021b6d:	84 c0                	test   %al,%al
c0021b6f:	74 02                	je     c0021b73 <_Z12write_serialc+0x1c>
c0021b71:	eb f0                	jmp    c0021b63 <_Z12write_serialc+0xc>
c0021b73:	0f b6 45 f4          	movzbl -0xc(%ebp),%eax
c0021b77:	0f b6 c0             	movzbl %al,%eax
c0021b7a:	83 ec 08             	sub    $0x8,%esp
c0021b7d:	50                   	push   %eax
c0021b7e:	68 f8 03 00 00       	push   $0x3f8
c0021b83:	e8 14 1f 00 00       	call   c0023a9c <_Z8outportbth>
c0021b88:	83 c4 10             	add    $0x10,%esp
c0021b8b:	90                   	nop
c0021b8c:	c9                   	leave  
c0021b8d:	c3                   	ret    

c0021b8e <write_serial_string>:
c0021b8e:	55                   	push   %ebp
c0021b8f:	89 e5                	mov    %esp,%ebp
c0021b91:	83 ec 08             	sub    $0x8,%esp
c0021b94:	8b 45 08             	mov    0x8(%ebp),%eax
c0021b97:	0f b6 00             	movzbl (%eax),%eax
c0021b9a:	84 c0                	test   %al,%al
c0021b9c:	74 1d                	je     c0021bbb <write_serial_string+0x2d>
c0021b9e:	8b 45 08             	mov    0x8(%ebp),%eax
c0021ba1:	8d 50 01             	lea    0x1(%eax),%edx
c0021ba4:	89 55 08             	mov    %edx,0x8(%ebp)
c0021ba7:	0f b6 00             	movzbl (%eax),%eax
c0021baa:	0f be c0             	movsbl %al,%eax
c0021bad:	83 ec 0c             	sub    $0xc,%esp
c0021bb0:	50                   	push   %eax
c0021bb1:	e8 a1 ff ff ff       	call   c0021b57 <_Z12write_serialc>
c0021bb6:	83 c4 10             	add    $0x10,%esp
c0021bb9:	eb d9                	jmp    c0021b94 <write_serial_string+0x6>
c0021bbb:	90                   	nop
c0021bbc:	c9                   	leave  
c0021bbd:	c3                   	ret    

c0021bbe <_ZN5ShellC1EP7Console>:
c0021bbe:	55                   	push   %ebp
c0021bbf:	89 e5                	mov    %esp,%ebp
c0021bc1:	83 ec 08             	sub    $0x8,%esp
c0021bc4:	8b 45 08             	mov    0x8(%ebp),%eax
c0021bc7:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
c0021bcd:	8b 45 08             	mov    0x8(%ebp),%eax
c0021bd0:	c7 40 04 0b 00 00 00 	movl   $0xb,0x4(%eax)
c0021bd7:	8b 45 0c             	mov    0xc(%ebp),%eax
c0021bda:	a3 54 e2 44 c0       	mov    %eax,0xc044e254
c0021bdf:	83 ec 04             	sub    $0x4,%esp
c0021be2:	68 00 02 00 00       	push   $0x200
c0021be7:	6a 00                	push   $0x0
c0021be9:	68 40 e0 44 c0       	push   $0xc044e040
c0021bee:	e8 71 e1 ff ff       	call   c001fd64 <memset>
c0021bf3:	83 c4 10             	add    $0x10,%esp
c0021bf6:	a1 54 e2 44 c0       	mov    0xc044e254,%eax
c0021bfb:	83 ec 0c             	sub    $0xc,%esp
c0021bfe:	6a 00                	push   $0x0
c0021c00:	68 ff 00 00 00       	push   $0xff
c0021c05:	68 ff 00 00 00       	push   $0xff
c0021c0a:	68 24 6c 02 c0       	push   $0xc0026c24
c0021c0f:	50                   	push   %eax
c0021c10:	e8 97 c7 ff ff       	call   c001e3ac <_ZN7Console4putsEPchhh>
c0021c15:	83 c4 20             	add    $0x20,%esp
c0021c18:	a1 54 e2 44 c0       	mov    0xc044e254,%eax
c0021c1d:	8b 15 ac 66 02 c0    	mov    0xc00266ac,%edx
c0021c23:	83 ec 0c             	sub    $0xc,%esp
c0021c26:	6a 40                	push   $0x40
c0021c28:	68 ff 00 00 00       	push   $0xff
c0021c2d:	6a 00                	push   $0x0
c0021c2f:	52                   	push   %edx
c0021c30:	50                   	push   %eax
c0021c31:	e8 76 c7 ff ff       	call   c001e3ac <_ZN7Console4putsEPchhh>
c0021c36:	83 c4 20             	add    $0x20,%esp
c0021c39:	a1 54 e2 44 c0       	mov    0xc044e254,%eax
c0021c3e:	83 ec 0c             	sub    $0xc,%esp
c0021c41:	68 ff 00 00 00       	push   $0xff
c0021c46:	68 ff 00 00 00       	push   $0xff
c0021c4b:	68 ff 00 00 00       	push   $0xff
c0021c50:	68 2c 6c 02 c0       	push   $0xc0026c2c
c0021c55:	50                   	push   %eax
c0021c56:	e8 51 c7 ff ff       	call   c001e3ac <_ZN7Console4putsEPchhh>
c0021c5b:	83 c4 20             	add    $0x20,%esp
c0021c5e:	83 ec 0c             	sub    $0xc,%esp
c0021c61:	6a 28                	push   $0x28
c0021c63:	e8 15 b8 ff ff       	call   c001d47d <kmalloc>
c0021c68:	83 c4 10             	add    $0x10,%esp
c0021c6b:	a3 44 e2 44 c0       	mov    %eax,0xc044e244
c0021c70:	90                   	nop
c0021c71:	c9                   	leave  
c0021c72:	c3                   	ret    

c0021c73 <_Z10split_linePc>:
c0021c73:	55                   	push   %ebp
c0021c74:	89 e5                	mov    %esp,%ebp
c0021c76:	83 ec 18             	sub    $0x18,%esp
c0021c79:	c7 45 f4 40 00 00 00 	movl   $0x40,-0xc(%ebp)
c0021c80:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
c0021c87:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0021c8a:	c1 e0 02             	shl    $0x2,%eax
c0021c8d:	83 ec 0c             	sub    $0xc,%esp
c0021c90:	50                   	push   %eax
c0021c91:	e8 e7 b7 ff ff       	call   c001d47d <kmalloc>
c0021c96:	83 c4 10             	add    $0x10,%esp
c0021c99:	89 45 ec             	mov    %eax,-0x14(%ebp)
c0021c9c:	83 ec 08             	sub    $0x8,%esp
c0021c9f:	68 2f 6c 02 c0       	push   $0xc0026c2f
c0021ca4:	ff 75 0c             	pushl  0xc(%ebp)
c0021ca7:	e8 9d 13 00 00       	call   c0023049 <_Z6strtokPcPKc>
c0021cac:	83 c4 10             	add    $0x10,%esp
c0021caf:	89 45 e8             	mov    %eax,-0x18(%ebp)
c0021cb2:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
c0021cb6:	74 61                	je     c0021d19 <_Z10split_linePc+0xa6>
c0021cb8:	83 ec 0c             	sub    $0xc,%esp
c0021cbb:	ff 75 e8             	pushl  -0x18(%ebp)
c0021cbe:	e8 cb fe ff ff       	call   c0021b8e <write_serial_string>
c0021cc3:	83 c4 10             	add    $0x10,%esp
c0021cc6:	8b 45 f0             	mov    -0x10(%ebp),%eax
c0021cc9:	8d 14 85 00 00 00 00 	lea    0x0(,%eax,4),%edx
c0021cd0:	8b 45 ec             	mov    -0x14(%ebp),%eax
c0021cd3:	01 c2                	add    %eax,%edx
c0021cd5:	8b 45 e8             	mov    -0x18(%ebp),%eax
c0021cd8:	89 02                	mov    %eax,(%edx)
c0021cda:	83 45 f0 01          	addl   $0x1,-0x10(%ebp)
c0021cde:	8b 45 f0             	mov    -0x10(%ebp),%eax
c0021ce1:	3b 45 f4             	cmp    -0xc(%ebp),%eax
c0021ce4:	7c 1c                	jl     c0021d02 <_Z10split_linePc+0x8f>
c0021ce6:	83 45 f4 40          	addl   $0x40,-0xc(%ebp)
c0021cea:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0021ced:	c1 e0 02             	shl    $0x2,%eax
c0021cf0:	83 ec 08             	sub    $0x8,%esp
c0021cf3:	50                   	push   %eax
c0021cf4:	ff 75 ec             	pushl  -0x14(%ebp)
c0021cf7:	e8 39 c1 ff ff       	call   c001de35 <krealloc>
c0021cfc:	83 c4 10             	add    $0x10,%esp
c0021cff:	89 45 ec             	mov    %eax,-0x14(%ebp)
c0021d02:	83 ec 08             	sub    $0x8,%esp
c0021d05:	68 34 6c 02 c0       	push   $0xc0026c34
c0021d0a:	6a 00                	push   $0x0
c0021d0c:	e8 38 13 00 00       	call   c0023049 <_Z6strtokPcPKc>
c0021d11:	83 c4 10             	add    $0x10,%esp
c0021d14:	89 45 e8             	mov    %eax,-0x18(%ebp)
c0021d17:	eb 99                	jmp    c0021cb2 <_Z10split_linePc+0x3f>
c0021d19:	8b 45 f0             	mov    -0x10(%ebp),%eax
c0021d1c:	8d 14 85 00 00 00 00 	lea    0x0(,%eax,4),%edx
c0021d23:	8b 45 ec             	mov    -0x14(%ebp),%eax
c0021d26:	01 d0                	add    %edx,%eax
c0021d28:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
c0021d2e:	8b 45 08             	mov    0x8(%ebp),%eax
c0021d31:	8b 55 ec             	mov    -0x14(%ebp),%edx
c0021d34:	89 10                	mov    %edx,(%eax)
c0021d36:	8b 45 08             	mov    0x8(%ebp),%eax
c0021d39:	8b 55 f0             	mov    -0x10(%ebp),%edx
c0021d3c:	89 50 04             	mov    %edx,0x4(%eax)
c0021d3f:	8b 45 08             	mov    0x8(%ebp),%eax
c0021d42:	c9                   	leave  
c0021d43:	c2 04 00             	ret    $0x4

c0021d46 <_ZN5Shell6UpdateEbc>:
c0021d46:	55                   	push   %ebp
c0021d47:	89 e5                	mov    %esp,%ebp
c0021d49:	53                   	push   %ebx
c0021d4a:	83 ec 34             	sub    $0x34,%esp
c0021d4d:	8b 55 0c             	mov    0xc(%ebp),%edx
c0021d50:	8b 45 10             	mov    0x10(%ebp),%eax
c0021d53:	88 55 d4             	mov    %dl,-0x2c(%ebp)
c0021d56:	88 45 d0             	mov    %al,-0x30(%ebp)
c0021d59:	80 7d d4 00          	cmpb   $0x0,-0x2c(%ebp)
c0021d5d:	0f 84 8b 02 00 00    	je     c0021fee <_ZN5Shell6UpdateEbc+0x2a8>
c0021d63:	80 7d d0 0a          	cmpb   $0xa,-0x30(%ebp)
c0021d67:	0f 85 81 01 00 00    	jne    c0021eee <_ZN5Shell6UpdateEbc+0x1a8>
c0021d6d:	8b 45 08             	mov    0x8(%ebp),%eax
c0021d70:	8b 00                	mov    (%eax),%eax
c0021d72:	c6 80 40 e0 44 c0 00 	movb   $0x0,-0x3fbb1fc0(%eax)
c0021d79:	0f b6 05 50 e2 44 c0 	movzbl 0xc044e250,%eax
c0021d80:	84 c0                	test   %al,%al
c0021d82:	74 47                	je     c0021dcb <_ZN5Shell6UpdateEbc+0x85>
c0021d84:	83 ec 0c             	sub    $0xc,%esp
c0021d87:	68 40 e0 44 c0       	push   $0xc044e040
c0021d8c:	e8 7b 11 00 00       	call   c0022f0c <_Z6strlenPc>
c0021d91:	83 c4 10             	add    $0x10,%esp
c0021d94:	8b 1d 48 e2 44 c0    	mov    0xc044e248,%ebx
c0021d9a:	83 ec 0c             	sub    $0xc,%esp
c0021d9d:	50                   	push   %eax
c0021d9e:	e8 da b6 ff ff       	call   c001d47d <kmalloc>
c0021da3:	83 c4 10             	add    $0x10,%esp
c0021da6:	89 43 04             	mov    %eax,0x4(%ebx)
c0021da9:	a1 48 e2 44 c0       	mov    0xc044e248,%eax
c0021dae:	8b 40 04             	mov    0x4(%eax),%eax
c0021db1:	83 ec 08             	sub    $0x8,%esp
c0021db4:	68 40 e0 44 c0       	push   $0xc044e040
c0021db9:	50                   	push   %eax
c0021dba:	e8 7b 15 00 00       	call   c002333a <_Z6strcpyPcPKc>
c0021dbf:	83 c4 10             	add    $0x10,%esp
c0021dc2:	c6 05 50 e2 44 c0 00 	movb   $0x0,0xc044e250
c0021dc9:	eb 74                	jmp    c0021e3f <_ZN5Shell6UpdateEbc+0xf9>
c0021dcb:	8d 45 e0             	lea    -0x20(%ebp),%eax
c0021dce:	83 ec 08             	sub    $0x8,%esp
c0021dd1:	68 40 e0 44 c0       	push   $0xc044e040
c0021dd6:	50                   	push   %eax
c0021dd7:	e8 97 fe ff ff       	call   c0021c73 <_Z10split_linePc>
c0021ddc:	83 c4 0c             	add    $0xc,%esp
c0021ddf:	8b 45 e0             	mov    -0x20(%ebp),%eax
c0021de2:	89 45 f0             	mov    %eax,-0x10(%ebp)
c0021de5:	8b 45 e4             	mov    -0x1c(%ebp),%eax
c0021de8:	89 45 ec             	mov    %eax,-0x14(%ebp)
c0021deb:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
c0021df2:	83 7d f4 0a          	cmpl   $0xa,-0xc(%ebp)
c0021df6:	7f 47                	jg     c0021e3f <_ZN5Shell6UpdateEbc+0xf9>
c0021df8:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0021dfb:	8b 14 c5 c0 6b 02 c0 	mov    -0x3ffd9440(,%eax,8),%edx
c0021e02:	8b 45 f0             	mov    -0x10(%ebp),%eax
c0021e05:	8b 00                	mov    (%eax),%eax
c0021e07:	83 ec 08             	sub    $0x8,%esp
c0021e0a:	52                   	push   %edx
c0021e0b:	50                   	push   %eax
c0021e0c:	e8 dd 12 00 00       	call   c00230ee <_Z6strcmpPcS_>
c0021e11:	83 c4 10             	add    $0x10,%esp
c0021e14:	85 c0                	test   %eax,%eax
c0021e16:	0f 94 c0             	sete   %al
c0021e19:	84 c0                	test   %al,%al
c0021e1b:	74 1c                	je     c0021e39 <_ZN5Shell6UpdateEbc+0xf3>
c0021e1d:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0021e20:	8b 04 c5 c4 6b 02 c0 	mov    -0x3ffd943c(,%eax,8),%eax
c0021e27:	83 ec 08             	sub    $0x8,%esp
c0021e2a:	ff 75 f0             	pushl  -0x10(%ebp)
c0021e2d:	ff 75 ec             	pushl  -0x14(%ebp)
c0021e30:	ff d0                	call   *%eax
c0021e32:	83 c4 10             	add    $0x10,%esp
c0021e35:	c6 45 eb 01          	movb   $0x1,-0x15(%ebp)
c0021e39:	83 45 f4 01          	addl   $0x1,-0xc(%ebp)
c0021e3d:	eb b3                	jmp    c0021df2 <_ZN5Shell6UpdateEbc+0xac>
c0021e3f:	8b 45 08             	mov    0x8(%ebp),%eax
c0021e42:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
c0021e48:	83 ec 04             	sub    $0x4,%esp
c0021e4b:	68 00 02 00 00       	push   $0x200
c0021e50:	6a 00                	push   $0x0
c0021e52:	68 40 e0 44 c0       	push   $0xc044e040
c0021e57:	e8 08 df ff ff       	call   c001fd64 <memset>
c0021e5c:	83 c4 10             	add    $0x10,%esp
c0021e5f:	a1 54 e2 44 c0       	mov    0xc044e254,%eax
c0021e64:	83 ec 0c             	sub    $0xc,%esp
c0021e67:	68 ff 00 00 00       	push   $0xff
c0021e6c:	68 ff 00 00 00       	push   $0xff
c0021e71:	68 ff 00 00 00       	push   $0xff
c0021e76:	6a 0a                	push   $0xa
c0021e78:	50                   	push   %eax
c0021e79:	e8 ba c2 ff ff       	call   c001e138 <_ZN7Console4putcEchhh>
c0021e7e:	83 c4 20             	add    $0x20,%esp
c0021e81:	a1 54 e2 44 c0       	mov    0xc044e254,%eax
c0021e86:	83 ec 0c             	sub    $0xc,%esp
c0021e89:	6a 00                	push   $0x0
c0021e8b:	68 ff 00 00 00       	push   $0xff
c0021e90:	68 ff 00 00 00       	push   $0xff
c0021e95:	68 24 6c 02 c0       	push   $0xc0026c24
c0021e9a:	50                   	push   %eax
c0021e9b:	e8 0c c5 ff ff       	call   c001e3ac <_ZN7Console4putsEPchhh>
c0021ea0:	83 c4 20             	add    $0x20,%esp
c0021ea3:	a1 54 e2 44 c0       	mov    0xc044e254,%eax
c0021ea8:	8b 15 ac 66 02 c0    	mov    0xc00266ac,%edx
c0021eae:	83 ec 0c             	sub    $0xc,%esp
c0021eb1:	6a 40                	push   $0x40
c0021eb3:	68 ff 00 00 00       	push   $0xff
c0021eb8:	6a 00                	push   $0x0
c0021eba:	52                   	push   %edx
c0021ebb:	50                   	push   %eax
c0021ebc:	e8 eb c4 ff ff       	call   c001e3ac <_ZN7Console4putsEPchhh>
c0021ec1:	83 c4 20             	add    $0x20,%esp
c0021ec4:	a1 54 e2 44 c0       	mov    0xc044e254,%eax
c0021ec9:	83 ec 0c             	sub    $0xc,%esp
c0021ecc:	68 ff 00 00 00       	push   $0xff
c0021ed1:	68 ff 00 00 00       	push   $0xff
c0021ed6:	68 ff 00 00 00       	push   $0xff
c0021edb:	68 2c 6c 02 c0       	push   $0xc0026c2c
c0021ee0:	50                   	push   %eax
c0021ee1:	e8 c6 c4 ff ff       	call   c001e3ac <_ZN7Console4putsEPchhh>
c0021ee6:	83 c4 20             	add    $0x20,%esp
c0021ee9:	e9 00 01 00 00       	jmp    c0021fee <_ZN5Shell6UpdateEbc+0x2a8>
c0021eee:	e8 d5 dd ff ff       	call   c001fcc8 <_Z7is_capsv>
c0021ef3:	84 c0                	test   %al,%al
c0021ef5:	74 0d                	je     c0021f04 <_ZN5Shell6UpdateEbc+0x1be>
c0021ef7:	80 7d d0 34          	cmpb   $0x34,-0x30(%ebp)
c0021efb:	75 07                	jne    c0021f04 <_ZN5Shell6UpdateEbc+0x1be>
c0021efd:	b8 01 00 00 00       	mov    $0x1,%eax
c0021f02:	eb 05                	jmp    c0021f09 <_ZN5Shell6UpdateEbc+0x1c3>
c0021f04:	b8 00 00 00 00       	mov    $0x0,%eax
c0021f09:	84 c0                	test   %al,%al
c0021f0b:	74 4c                	je     c0021f59 <_ZN5Shell6UpdateEbc+0x213>
c0021f0d:	8b 45 08             	mov    0x8(%ebp),%eax
c0021f10:	8b 00                	mov    (%eax),%eax
c0021f12:	8d 48 01             	lea    0x1(%eax),%ecx
c0021f15:	8b 55 08             	mov    0x8(%ebp),%edx
c0021f18:	89 0a                	mov    %ecx,(%edx)
c0021f1a:	c6 80 40 e0 44 c0 24 	movb   $0x24,-0x3fbb1fc0(%eax)
c0021f21:	a1 54 e2 44 c0       	mov    0xc044e254,%eax
c0021f26:	8b 55 08             	mov    0x8(%ebp),%edx
c0021f29:	8b 12                	mov    (%edx),%edx
c0021f2b:	83 ea 01             	sub    $0x1,%edx
c0021f2e:	0f b6 92 40 e0 44 c0 	movzbl -0x3fbb1fc0(%edx),%edx
c0021f35:	0f be d2             	movsbl %dl,%edx
c0021f38:	83 ec 0c             	sub    $0xc,%esp
c0021f3b:	68 ff 00 00 00       	push   $0xff
c0021f40:	68 ff 00 00 00       	push   $0xff
c0021f45:	68 ff 00 00 00       	push   $0xff
c0021f4a:	52                   	push   %edx
c0021f4b:	50                   	push   %eax
c0021f4c:	e8 e7 c1 ff ff       	call   c001e138 <_ZN7Console4putcEchhh>
c0021f51:	83 c4 20             	add    $0x20,%esp
c0021f54:	e9 95 00 00 00       	jmp    c0021fee <_ZN5Shell6UpdateEbc+0x2a8>
c0021f59:	80 7d d0 08          	cmpb   $0x8,-0x30(%ebp)
c0021f5d:	75 45                	jne    c0021fa4 <_ZN5Shell6UpdateEbc+0x25e>
c0021f5f:	8b 45 08             	mov    0x8(%ebp),%eax
c0021f62:	8b 00                	mov    (%eax),%eax
c0021f64:	85 c0                	test   %eax,%eax
c0021f66:	0f 8e 82 00 00 00    	jle    c0021fee <_ZN5Shell6UpdateEbc+0x2a8>
c0021f6c:	8b 45 08             	mov    0x8(%ebp),%eax
c0021f6f:	8b 00                	mov    (%eax),%eax
c0021f71:	8d 48 ff             	lea    -0x1(%eax),%ecx
c0021f74:	8b 55 08             	mov    0x8(%ebp),%edx
c0021f77:	89 0a                	mov    %ecx,(%edx)
c0021f79:	c6 80 40 e0 44 c0 00 	movb   $0x0,-0x3fbb1fc0(%eax)
c0021f80:	a1 54 e2 44 c0       	mov    0xc044e254,%eax
c0021f85:	83 ec 0c             	sub    $0xc,%esp
c0021f88:	68 ff 00 00 00       	push   $0xff
c0021f8d:	68 ff 00 00 00       	push   $0xff
c0021f92:	68 ff 00 00 00       	push   $0xff
c0021f97:	6a 08                	push   $0x8
c0021f99:	50                   	push   %eax
c0021f9a:	e8 99 c1 ff ff       	call   c001e138 <_ZN7Console4putcEchhh>
c0021f9f:	83 c4 20             	add    $0x20,%esp
c0021fa2:	eb 4a                	jmp    c0021fee <_ZN5Shell6UpdateEbc+0x2a8>
c0021fa4:	8b 45 08             	mov    0x8(%ebp),%eax
c0021fa7:	8b 00                	mov    (%eax),%eax
c0021fa9:	8d 48 01             	lea    0x1(%eax),%ecx
c0021fac:	8b 55 08             	mov    0x8(%ebp),%edx
c0021faf:	89 0a                	mov    %ecx,(%edx)
c0021fb1:	0f b6 55 d0          	movzbl -0x30(%ebp),%edx
c0021fb5:	88 90 40 e0 44 c0    	mov    %dl,-0x3fbb1fc0(%eax)
c0021fbb:	a1 54 e2 44 c0       	mov    0xc044e254,%eax
c0021fc0:	8b 55 08             	mov    0x8(%ebp),%edx
c0021fc3:	8b 12                	mov    (%edx),%edx
c0021fc5:	83 ea 01             	sub    $0x1,%edx
c0021fc8:	0f b6 92 40 e0 44 c0 	movzbl -0x3fbb1fc0(%edx),%edx
c0021fcf:	0f be d2             	movsbl %dl,%edx
c0021fd2:	83 ec 0c             	sub    $0xc,%esp
c0021fd5:	68 ff 00 00 00       	push   $0xff
c0021fda:	68 ff 00 00 00       	push   $0xff
c0021fdf:	68 ff 00 00 00       	push   $0xff
c0021fe4:	52                   	push   %edx
c0021fe5:	50                   	push   %eax
c0021fe6:	e8 4d c1 ff ff       	call   c001e138 <_ZN7Console4putcEchhh>
c0021feb:	83 c4 20             	add    $0x20,%esp
c0021fee:	90                   	nop
c0021fef:	8b 5d fc             	mov    -0x4(%ebp),%ebx
c0021ff2:	c9                   	leave  
c0021ff3:	c3                   	ret    

c0021ff4 <_Z5crashiPPc>:
c0021ff4:	55                   	push   %ebp
c0021ff5:	89 e5                	mov    %esp,%ebp
c0021ff7:	83 ec 08             	sub    $0x8,%esp
c0021ffa:	83 ec 08             	sub    $0x8,%esp
c0021ffd:	68 38 6c 02 c0       	push   $0xc0026c38
c0022002:	68 4f 6c 02 c0       	push   $0xc0026c4f
c0022007:	e8 90 c6 ff ff       	call   c001e69c <fatal_error>
c002200c:	83 c4 10             	add    $0x10,%esp
c002200f:	90                   	nop
c0022010:	c9                   	leave  
c0022011:	c3                   	ret    

c0022012 <_Z5cleariPPc>:
c0022012:	55                   	push   %ebp
c0022013:	89 e5                	mov    %esp,%ebp
c0022015:	83 ec 08             	sub    $0x8,%esp
c0022018:	a1 54 e2 44 c0       	mov    0xc044e254,%eax
c002201d:	6a 00                	push   $0x0
c002201f:	6a 00                	push   $0x0
c0022021:	6a 00                	push   $0x0
c0022023:	50                   	push   %eax
c0022024:	e8 f1 c3 ff ff       	call   c001e41a <_ZN7Console5clearEhhh>
c0022029:	83 c4 10             	add    $0x10,%esp
c002202c:	90                   	nop
c002202d:	c9                   	leave  
c002202e:	c3                   	ret    

c002202f <_Z5printiPPc>:
c002202f:	55                   	push   %ebp
c0022030:	89 e5                	mov    %esp,%ebp
c0022032:	83 ec 18             	sub    $0x18,%esp
c0022035:	a1 54 e2 44 c0       	mov    0xc044e254,%eax
c002203a:	83 ec 0c             	sub    $0xc,%esp
c002203d:	68 ff 00 00 00       	push   $0xff
c0022042:	68 ff 00 00 00       	push   $0xff
c0022047:	68 ff 00 00 00       	push   $0xff
c002204c:	6a 0a                	push   $0xa
c002204e:	50                   	push   %eax
c002204f:	e8 e4 c0 ff ff       	call   c001e138 <_ZN7Console4putcEchhh>
c0022054:	83 c4 20             	add    $0x20,%esp
c0022057:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
c002205e:	a1 40 e2 44 c0       	mov    0xc044e240,%eax
c0022063:	39 45 f4             	cmp    %eax,-0xc(%ebp)
c0022066:	7d 5c                	jge    c00220c4 <_Z5printiPPc+0x95>
c0022068:	a1 54 e2 44 c0       	mov    0xc044e254,%eax
c002206d:	83 ec 0c             	sub    $0xc,%esp
c0022070:	68 ff 00 00 00       	push   $0xff
c0022075:	68 ff 00 00 00       	push   $0xff
c002207a:	68 ff 00 00 00       	push   $0xff
c002207f:	68 6b 6c 02 c0       	push   $0xc0026c6b
c0022084:	50                   	push   %eax
c0022085:	e8 22 c3 ff ff       	call   c001e3ac <_ZN7Console4putsEPchhh>
c002208a:	83 c4 20             	add    $0x20,%esp
c002208d:	a1 54 e2 44 c0       	mov    0xc044e254,%eax
c0022092:	8b 15 44 e2 44 c0    	mov    0xc044e244,%edx
c0022098:	8b 4d f4             	mov    -0xc(%ebp),%ecx
c002209b:	c1 e1 03             	shl    $0x3,%ecx
c002209e:	01 ca                	add    %ecx,%edx
c00220a0:	8b 12                	mov    (%edx),%edx
c00220a2:	83 ec 0c             	sub    $0xc,%esp
c00220a5:	68 ff 00 00 00       	push   $0xff
c00220aa:	68 ff 00 00 00       	push   $0xff
c00220af:	68 ff 00 00 00       	push   $0xff
c00220b4:	52                   	push   %edx
c00220b5:	50                   	push   %eax
c00220b6:	e8 f1 c2 ff ff       	call   c001e3ac <_ZN7Console4putsEPchhh>
c00220bb:	83 c4 20             	add    $0x20,%esp
c00220be:	83 45 f4 01          	addl   $0x1,-0xc(%ebp)
c00220c2:	eb 9a                	jmp    c002205e <_Z5printiPPc+0x2f>
c00220c4:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
c00220cb:	8b 45 f0             	mov    -0x10(%ebp),%eax
c00220ce:	3b 45 08             	cmp    0x8(%ebp),%eax
c00220d1:	0f 8d 4f 01 00 00    	jge    c0022226 <_Z5printiPPc+0x1f7>
c00220d7:	8b 45 f0             	mov    -0x10(%ebp),%eax
c00220da:	8d 14 85 00 00 00 00 	lea    0x0(,%eax,4),%edx
c00220e1:	8b 45 0c             	mov    0xc(%ebp),%eax
c00220e4:	01 d0                	add    %edx,%eax
c00220e6:	8b 00                	mov    (%eax),%eax
c00220e8:	0f b6 00             	movzbl (%eax),%eax
c00220eb:	3c 24                	cmp    $0x24,%al
c00220ed:	74 37                	je     c0022126 <_Z5printiPPc+0xf7>
c00220ef:	a1 54 e2 44 c0       	mov    0xc044e254,%eax
c00220f4:	8b 55 f0             	mov    -0x10(%ebp),%edx
c00220f7:	8d 0c 95 00 00 00 00 	lea    0x0(,%edx,4),%ecx
c00220fe:	8b 55 0c             	mov    0xc(%ebp),%edx
c0022101:	01 ca                	add    %ecx,%edx
c0022103:	8b 12                	mov    (%edx),%edx
c0022105:	83 ec 0c             	sub    $0xc,%esp
c0022108:	68 ff 00 00 00       	push   $0xff
c002210d:	68 ff 00 00 00       	push   $0xff
c0022112:	68 ff 00 00 00       	push   $0xff
c0022117:	52                   	push   %edx
c0022118:	50                   	push   %eax
c0022119:	e8 8e c2 ff ff       	call   c001e3ac <_ZN7Console4putsEPchhh>
c002211e:	83 c4 20             	add    $0x20,%esp
c0022121:	e9 f7 00 00 00       	jmp    c002221d <_Z5printiPPc+0x1ee>
c0022126:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
c002212d:	a1 40 e2 44 c0       	mov    0xc044e240,%eax
c0022132:	39 45 ec             	cmp    %eax,-0x14(%ebp)
c0022135:	7d 5a                	jge    c0022191 <_Z5printiPPc+0x162>
c0022137:	a1 44 e2 44 c0       	mov    0xc044e244,%eax
c002213c:	8b 55 ec             	mov    -0x14(%ebp),%edx
c002213f:	c1 e2 03             	shl    $0x3,%edx
c0022142:	01 d0                	add    %edx,%eax
c0022144:	8b 10                	mov    (%eax),%edx
c0022146:	8b 45 f0             	mov    -0x10(%ebp),%eax
c0022149:	8d 0c 85 00 00 00 00 	lea    0x0(,%eax,4),%ecx
c0022150:	8b 45 0c             	mov    0xc(%ebp),%eax
c0022153:	01 c8                	add    %ecx,%eax
c0022155:	8b 00                	mov    (%eax),%eax
c0022157:	83 ec 08             	sub    $0x8,%esp
c002215a:	52                   	push   %edx
c002215b:	50                   	push   %eax
c002215c:	e8 8d 0f 00 00       	call   c00230ee <_Z6strcmpPcS_>
c0022161:	83 c4 10             	add    $0x10,%esp
c0022164:	85 c0                	test   %eax,%eax
c0022166:	0f 94 c0             	sete   %al
c0022169:	84 c0                	test   %al,%al
c002216b:	74 14                	je     c0022181 <_Z5printiPPc+0x152>
c002216d:	a1 44 e2 44 c0       	mov    0xc044e244,%eax
c0022172:	8b 55 ec             	mov    -0x14(%ebp),%edx
c0022175:	c1 e2 03             	shl    $0x3,%edx
c0022178:	01 d0                	add    %edx,%eax
c002217a:	a3 48 e2 44 c0       	mov    %eax,0xc044e248
c002217f:	eb 10                	jmp    c0022191 <_Z5printiPPc+0x162>
c0022181:	c7 05 48 e2 44 c0 00 	movl   $0x0,0xc044e248
c0022188:	00 00 00 
c002218b:	83 45 ec 01          	addl   $0x1,-0x14(%ebp)
c002218f:	eb 9c                	jmp    c002212d <_Z5printiPPc+0xfe>
c0022191:	a1 48 e2 44 c0       	mov    0xc044e248,%eax
c0022196:	85 c0                	test   %eax,%eax
c0022198:	75 59                	jne    c00221f3 <_Z5printiPPc+0x1c4>
c002219a:	a1 54 e2 44 c0       	mov    0xc044e254,%eax
c002219f:	83 ec 0c             	sub    $0xc,%esp
c00221a2:	68 ff 00 00 00       	push   $0xff
c00221a7:	68 ff 00 00 00       	push   $0xff
c00221ac:	68 ff 00 00 00       	push   $0xff
c00221b1:	68 71 6c 02 c0       	push   $0xc0026c71
c00221b6:	50                   	push   %eax
c00221b7:	e8 f0 c1 ff ff       	call   c001e3ac <_ZN7Console4putsEPchhh>
c00221bc:	83 c4 20             	add    $0x20,%esp
c00221bf:	a1 54 e2 44 c0       	mov    0xc044e254,%eax
c00221c4:	8b 55 f0             	mov    -0x10(%ebp),%edx
c00221c7:	8d 0c 95 00 00 00 00 	lea    0x0(,%edx,4),%ecx
c00221ce:	8b 55 0c             	mov    0xc(%ebp),%edx
c00221d1:	01 ca                	add    %ecx,%edx
c00221d3:	8b 12                	mov    (%edx),%edx
c00221d5:	83 ec 0c             	sub    $0xc,%esp
c00221d8:	68 ff 00 00 00       	push   $0xff
c00221dd:	68 ff 00 00 00       	push   $0xff
c00221e2:	68 ff 00 00 00       	push   $0xff
c00221e7:	52                   	push   %edx
c00221e8:	50                   	push   %eax
c00221e9:	e8 be c1 ff ff       	call   c001e3ac <_ZN7Console4putsEPchhh>
c00221ee:	83 c4 20             	add    $0x20,%esp
c00221f1:	eb 2a                	jmp    c002221d <_Z5printiPPc+0x1ee>
c00221f3:	a1 54 e2 44 c0       	mov    0xc044e254,%eax
c00221f8:	8b 15 48 e2 44 c0    	mov    0xc044e248,%edx
c00221fe:	8b 52 04             	mov    0x4(%edx),%edx
c0022201:	83 ec 0c             	sub    $0xc,%esp
c0022204:	68 ff 00 00 00       	push   $0xff
c0022209:	68 ff 00 00 00       	push   $0xff
c002220e:	68 ff 00 00 00       	push   $0xff
c0022213:	52                   	push   %edx
c0022214:	50                   	push   %eax
c0022215:	e8 92 c1 ff ff       	call   c001e3ac <_ZN7Console4putsEPchhh>
c002221a:	83 c4 20             	add    $0x20,%esp
c002221d:	83 45 f0 01          	addl   $0x1,-0x10(%ebp)
c0022221:	e9 a5 fe ff ff       	jmp    c00220cb <_Z5printiPPc+0x9c>
c0022226:	90                   	nop
c0022227:	c9                   	leave  
c0022228:	c3                   	ret    

c0022229 <_Z5inputiPPc>:
c0022229:	55                   	push   %ebp
c002222a:	89 e5                	mov    %esp,%ebp
c002222c:	53                   	push   %ebx
c002222d:	83 ec 14             	sub    $0x14,%esp
c0022230:	83 7d 08 01          	cmpl   $0x1,0x8(%ebp)
c0022234:	7e 0f                	jle    c0022245 <_Z5inputiPPc+0x1c>
c0022236:	8b 45 0c             	mov    0xc(%ebp),%eax
c0022239:	83 c0 04             	add    $0x4,%eax
c002223c:	8b 00                	mov    (%eax),%eax
c002223e:	0f b6 00             	movzbl (%eax),%eax
c0022241:	3c 24                	cmp    $0x24,%al
c0022243:	74 2a                	je     c002226f <_Z5inputiPPc+0x46>
c0022245:	a1 54 e2 44 c0       	mov    0xc044e254,%eax
c002224a:	83 ec 0c             	sub    $0xc,%esp
c002224d:	68 ff 00 00 00       	push   $0xff
c0022252:	68 ff 00 00 00       	push   $0xff
c0022257:	68 ff 00 00 00       	push   $0xff
c002225c:	68 84 6c 02 c0       	push   $0xc0026c84
c0022261:	50                   	push   %eax
c0022262:	e8 45 c1 ff ff       	call   c001e3ac <_ZN7Console4putsEPchhh>
c0022267:	83 c4 20             	add    $0x20,%esp
c002226a:	e9 65 01 00 00       	jmp    c00223d4 <_Z5inputiPPc+0x1ab>
c002226f:	a1 40 e2 44 c0       	mov    0xc044e240,%eax
c0022274:	85 c0                	test   %eax,%eax
c0022276:	7e 62                	jle    c00222da <_Z5inputiPPc+0xb1>
c0022278:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
c002227f:	a1 40 e2 44 c0       	mov    0xc044e240,%eax
c0022284:	39 45 f4             	cmp    %eax,-0xc(%ebp)
c0022287:	7d 51                	jge    c00222da <_Z5inputiPPc+0xb1>
c0022289:	a1 44 e2 44 c0       	mov    0xc044e244,%eax
c002228e:	8b 55 f4             	mov    -0xc(%ebp),%edx
c0022291:	c1 e2 03             	shl    $0x3,%edx
c0022294:	01 d0                	add    %edx,%eax
c0022296:	8b 10                	mov    (%eax),%edx
c0022298:	8b 45 0c             	mov    0xc(%ebp),%eax
c002229b:	83 c0 04             	add    $0x4,%eax
c002229e:	8b 00                	mov    (%eax),%eax
c00222a0:	83 ec 08             	sub    $0x8,%esp
c00222a3:	52                   	push   %edx
c00222a4:	50                   	push   %eax
c00222a5:	e8 44 0e 00 00       	call   c00230ee <_Z6strcmpPcS_>
c00222aa:	83 c4 10             	add    $0x10,%esp
c00222ad:	85 c0                	test   %eax,%eax
c00222af:	0f 94 c0             	sete   %al
c00222b2:	84 c0                	test   %al,%al
c00222b4:	74 14                	je     c00222ca <_Z5inputiPPc+0xa1>
c00222b6:	a1 44 e2 44 c0       	mov    0xc044e244,%eax
c00222bb:	8b 55 f4             	mov    -0xc(%ebp),%edx
c00222be:	c1 e2 03             	shl    $0x3,%edx
c00222c1:	01 d0                	add    %edx,%eax
c00222c3:	a3 48 e2 44 c0       	mov    %eax,0xc044e248
c00222c8:	eb 10                	jmp    c00222da <_Z5inputiPPc+0xb1>
c00222ca:	c7 05 48 e2 44 c0 00 	movl   $0x0,0xc044e248
c00222d1:	00 00 00 
c00222d4:	83 45 f4 01          	addl   $0x1,-0xc(%ebp)
c00222d8:	eb a5                	jmp    c002227f <_Z5inputiPPc+0x56>
c00222da:	a1 48 e2 44 c0       	mov    0xc044e248,%eax
c00222df:	85 c0                	test   %eax,%eax
c00222e1:	0f 85 e6 00 00 00    	jne    c00223cd <_Z5inputiPPc+0x1a4>
c00222e7:	a1 54 e2 44 c0       	mov    0xc044e254,%eax
c00222ec:	83 ec 0c             	sub    $0xc,%esp
c00222ef:	68 ff 00 00 00       	push   $0xff
c00222f4:	68 ff 00 00 00       	push   $0xff
c00222f9:	68 ff 00 00 00       	push   $0xff
c00222fe:	68 97 6c 02 c0       	push   $0xc0026c97
c0022303:	50                   	push   %eax
c0022304:	e8 a3 c0 ff ff       	call   c001e3ac <_ZN7Console4putsEPchhh>
c0022309:	83 c4 20             	add    $0x20,%esp
c002230c:	a1 54 e2 44 c0       	mov    0xc044e254,%eax
c0022311:	8b 55 0c             	mov    0xc(%ebp),%edx
c0022314:	83 c2 04             	add    $0x4,%edx
c0022317:	8b 12                	mov    (%edx),%edx
c0022319:	83 ec 0c             	sub    $0xc,%esp
c002231c:	68 ff 00 00 00       	push   $0xff
c0022321:	68 ff 00 00 00       	push   $0xff
c0022326:	68 ff 00 00 00       	push   $0xff
c002232b:	52                   	push   %edx
c002232c:	50                   	push   %eax
c002232d:	e8 7a c0 ff ff       	call   c001e3ac <_ZN7Console4putsEPchhh>
c0022332:	83 c4 20             	add    $0x20,%esp
c0022335:	a1 40 e2 44 c0       	mov    0xc044e240,%eax
c002233a:	83 c0 01             	add    $0x1,%eax
c002233d:	a3 40 e2 44 c0       	mov    %eax,0xc044e240
c0022342:	a1 40 e2 44 c0       	mov    0xc044e240,%eax
c0022347:	8d 14 c5 00 00 00 00 	lea    0x0(,%eax,8),%edx
c002234e:	a1 44 e2 44 c0       	mov    0xc044e244,%eax
c0022353:	83 ec 08             	sub    $0x8,%esp
c0022356:	52                   	push   %edx
c0022357:	50                   	push   %eax
c0022358:	e8 d8 ba ff ff       	call   c001de35 <krealloc>
c002235d:	83 c4 10             	add    $0x10,%esp
c0022360:	a3 44 e2 44 c0       	mov    %eax,0xc044e244
c0022365:	8b 45 0c             	mov    0xc(%ebp),%eax
c0022368:	83 c0 04             	add    $0x4,%eax
c002236b:	8b 00                	mov    (%eax),%eax
c002236d:	83 ec 0c             	sub    $0xc,%esp
c0022370:	50                   	push   %eax
c0022371:	e8 96 0b 00 00       	call   c0022f0c <_Z6strlenPc>
c0022376:	83 c4 10             	add    $0x10,%esp
c0022379:	89 c1                	mov    %eax,%ecx
c002237b:	a1 44 e2 44 c0       	mov    0xc044e244,%eax
c0022380:	8b 15 40 e2 44 c0    	mov    0xc044e240,%edx
c0022386:	81 c2 ff ff ff 1f    	add    $0x1fffffff,%edx
c002238c:	c1 e2 03             	shl    $0x3,%edx
c002238f:	8d 1c 10             	lea    (%eax,%edx,1),%ebx
c0022392:	83 ec 0c             	sub    $0xc,%esp
c0022395:	51                   	push   %ecx
c0022396:	e8 e2 b0 ff ff       	call   c001d47d <kmalloc>
c002239b:	83 c4 10             	add    $0x10,%esp
c002239e:	89 03                	mov    %eax,(%ebx)
c00223a0:	8b 45 0c             	mov    0xc(%ebp),%eax
c00223a3:	83 c0 04             	add    $0x4,%eax
c00223a6:	8b 10                	mov    (%eax),%edx
c00223a8:	a1 44 e2 44 c0       	mov    0xc044e244,%eax
c00223ad:	8b 0d 40 e2 44 c0    	mov    0xc044e240,%ecx
c00223b3:	81 c1 ff ff ff 1f    	add    $0x1fffffff,%ecx
c00223b9:	c1 e1 03             	shl    $0x3,%ecx
c00223bc:	01 c8                	add    %ecx,%eax
c00223be:	8b 00                	mov    (%eax),%eax
c00223c0:	83 ec 08             	sub    $0x8,%esp
c00223c3:	52                   	push   %edx
c00223c4:	50                   	push   %eax
c00223c5:	e8 70 0f 00 00       	call   c002333a <_Z6strcpyPcPKc>
c00223ca:	83 c4 10             	add    $0x10,%esp
c00223cd:	c6 05 50 e2 44 c0 01 	movb   $0x1,0xc044e250
c00223d4:	8b 5d fc             	mov    -0x4(%ebp),%ebx
c00223d7:	c9                   	leave  
c00223d8:	c3                   	ret    

c00223d9 <_Z7sysinfoiPPc>:
c00223d9:	55                   	push   %ebp
c00223da:	89 e5                	mov    %esp,%ebp
c00223dc:	83 ec 08             	sub    $0x8,%esp
c00223df:	a1 54 e2 44 c0       	mov    0xc044e254,%eax
c00223e4:	83 ec 0c             	sub    $0xc,%esp
c00223e7:	6a 00                	push   $0x0
c00223e9:	68 ff 00 00 00       	push   $0xff
c00223ee:	68 ff 00 00 00       	push   $0xff
c00223f3:	68 ac 6c 02 c0       	push   $0xc0026cac
c00223f8:	50                   	push   %eax
c00223f9:	e8 ae bf ff ff       	call   c001e3ac <_ZN7Console4putsEPchhh>
c00223fe:	83 c4 20             	add    $0x20,%esp
c0022401:	a1 54 e2 44 c0       	mov    0xc044e254,%eax
c0022406:	83 ec 0c             	sub    $0xc,%esp
c0022409:	6a 00                	push   $0x0
c002240b:	68 ff 00 00 00       	push   $0xff
c0022410:	68 ff 00 00 00       	push   $0xff
c0022415:	68 c0 6c 02 c0       	push   $0xc0026cc0
c002241a:	50                   	push   %eax
c002241b:	e8 8c bf ff ff       	call   c001e3ac <_ZN7Console4putsEPchhh>
c0022420:	83 c4 20             	add    $0x20,%esp
c0022423:	90                   	nop
c0022424:	c9                   	leave  
c0022425:	c3                   	ret    

c0022426 <_Z10randomtextiPPc>:
c0022426:	55                   	push   %ebp
c0022427:	89 e5                	mov    %esp,%ebp
c0022429:	57                   	push   %edi
c002242a:	56                   	push   %esi
c002242b:	53                   	push   %ebx
c002242c:	83 ec 2c             	sub    $0x2c,%esp
c002242f:	a1 54 e2 44 c0       	mov    0xc044e254,%eax
c0022434:	83 ec 0c             	sub    $0xc,%esp
c0022437:	68 ff 00 00 00       	push   $0xff
c002243c:	68 ff 00 00 00       	push   $0xff
c0022441:	68 ff 00 00 00       	push   $0xff
c0022446:	6a 0a                	push   $0xa
c0022448:	50                   	push   %eax
c0022449:	e8 ea bc ff ff       	call   c001e138 <_ZN7Console4putcEchhh>
c002244e:	83 c4 20             	add    $0x20,%esp
c0022451:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
c0022458:	81 7d e4 e7 03 00 00 	cmpl   $0x3e7,-0x1c(%ebp)
c002245f:	0f 8f 9d 00 00 00    	jg     c0022502 <_Z10randomtextiPPc+0xdc>
c0022465:	8b 1d 54 e2 44 c0    	mov    0xc044e254,%ebx
c002246b:	e8 76 d8 ff ff       	call   c001fce6 <_Z4randv>
c0022470:	89 c1                	mov    %eax,%ecx
c0022472:	ba 81 80 80 80       	mov    $0x80808081,%edx
c0022477:	89 c8                	mov    %ecx,%eax
c0022479:	f7 e2                	mul    %edx
c002247b:	c1 ea 07             	shr    $0x7,%edx
c002247e:	89 d0                	mov    %edx,%eax
c0022480:	c1 e0 08             	shl    $0x8,%eax
c0022483:	29 d0                	sub    %edx,%eax
c0022485:	29 c1                	sub    %eax,%ecx
c0022487:	89 ca                	mov    %ecx,%edx
c0022489:	89 d0                	mov    %edx,%eax
c002248b:	0f b6 c0             	movzbl %al,%eax
c002248e:	89 45 d4             	mov    %eax,-0x2c(%ebp)
c0022491:	e8 50 d8 ff ff       	call   c001fce6 <_Z4randv>
c0022496:	89 c1                	mov    %eax,%ecx
c0022498:	ba 81 80 80 80       	mov    $0x80808081,%edx
c002249d:	89 c8                	mov    %ecx,%eax
c002249f:	f7 e2                	mul    %edx
c00224a1:	c1 ea 07             	shr    $0x7,%edx
c00224a4:	89 d0                	mov    %edx,%eax
c00224a6:	c1 e0 08             	shl    $0x8,%eax
c00224a9:	29 d0                	sub    %edx,%eax
c00224ab:	29 c1                	sub    %eax,%ecx
c00224ad:	89 ca                	mov    %ecx,%edx
c00224af:	89 d0                	mov    %edx,%eax
c00224b1:	0f b6 f8             	movzbl %al,%edi
c00224b4:	e8 2d d8 ff ff       	call   c001fce6 <_Z4randv>
c00224b9:	89 c1                	mov    %eax,%ecx
c00224bb:	ba 81 80 80 80       	mov    $0x80808081,%edx
c00224c0:	89 c8                	mov    %ecx,%eax
c00224c2:	f7 e2                	mul    %edx
c00224c4:	c1 ea 07             	shr    $0x7,%edx
c00224c7:	89 d0                	mov    %edx,%eax
c00224c9:	c1 e0 08             	shl    $0x8,%eax
c00224cc:	29 d0                	sub    %edx,%eax
c00224ce:	29 c1                	sub    %eax,%ecx
c00224d0:	89 ca                	mov    %ecx,%edx
c00224d2:	89 d0                	mov    %edx,%eax
c00224d4:	0f b6 f0             	movzbl %al,%esi
c00224d7:	e8 0a d8 ff ff       	call   c001fce6 <_Z4randv>
c00224dc:	0f be c0             	movsbl %al,%eax
c00224df:	83 e0 7f             	and    $0x7f,%eax
c00224e2:	83 ec 0c             	sub    $0xc,%esp
c00224e5:	ff 75 d4             	pushl  -0x2c(%ebp)
c00224e8:	57                   	push   %edi
c00224e9:	56                   	push   %esi
c00224ea:	50                   	push   %eax
c00224eb:	53                   	push   %ebx
c00224ec:	e8 47 bc ff ff       	call   c001e138 <_ZN7Console4putcEchhh>
c00224f1:	83 c4 20             	add    $0x20,%esp
c00224f4:	e8 a0 25 00 00       	call   c0024a99 <_Z13screen_updatev>
c00224f9:	83 45 e4 01          	addl   $0x1,-0x1c(%ebp)
c00224fd:	e9 56 ff ff ff       	jmp    c0022458 <_Z10randomtextiPPc+0x32>
c0022502:	90                   	nop
c0022503:	8d 65 f4             	lea    -0xc(%ebp),%esp
c0022506:	5b                   	pop    %ebx
c0022507:	5e                   	pop    %esi
c0022508:	5f                   	pop    %edi
c0022509:	5d                   	pop    %ebp
c002250a:	c3                   	ret    

c002250b <_Z2lsiPPc>:
c002250b:	55                   	push   %ebp
c002250c:	89 e5                	mov    %esp,%ebp
c002250e:	53                   	push   %ebx
c002250f:	83 ec 14             	sub    $0x14,%esp
c0022512:	e8 46 d0 ff ff       	call   c001f55d <_Z11initrd_listv>
c0022517:	89 45 ec             	mov    %eax,-0x14(%ebp)
c002251a:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
c0022521:	e8 41 d0 ff ff       	call   c001f567 <_Z17initrd_get_headerv>
c0022526:	8b 00                	mov    (%eax),%eax
c0022528:	39 45 f4             	cmp    %eax,-0xc(%ebp)
c002252b:	0f 92 c0             	setb   %al
c002252e:	84 c0                	test   %al,%al
c0022530:	0f 84 46 01 00 00    	je     c002267c <_Z2lsiPPc+0x171>
c0022536:	a1 54 e2 44 c0       	mov    0xc044e254,%eax
c002253b:	83 ec 0c             	sub    $0xc,%esp
c002253e:	68 ff 00 00 00       	push   $0xff
c0022543:	68 ff 00 00 00       	push   $0xff
c0022548:	68 ff 00 00 00       	push   $0xff
c002254d:	68 ff 6c 02 c0       	push   $0xc0026cff
c0022552:	50                   	push   %eax
c0022553:	e8 54 be ff ff       	call   c001e3ac <_ZN7Console4putsEPchhh>
c0022558:	83 c4 20             	add    $0x20,%esp
c002255b:	a1 54 e2 44 c0       	mov    0xc044e254,%eax
c0022560:	8b 55 f4             	mov    -0xc(%ebp),%edx
c0022563:	6b ca 2b             	imul   $0x2b,%edx,%ecx
c0022566:	8b 55 ec             	mov    -0x14(%ebp),%edx
c0022569:	01 ca                	add    %ecx,%edx
c002256b:	83 c2 02             	add    $0x2,%edx
c002256e:	83 ec 0c             	sub    $0xc,%esp
c0022571:	68 ff 00 00 00       	push   $0xff
c0022576:	68 ff 00 00 00       	push   $0xff
c002257b:	68 ff 00 00 00       	push   $0xff
c0022580:	52                   	push   %edx
c0022581:	50                   	push   %eax
c0022582:	e8 25 be ff ff       	call   c001e3ac <_ZN7Console4putsEPchhh>
c0022587:	83 c4 20             	add    $0x20,%esp
c002258a:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
c0022591:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0022594:	6b d0 2b             	imul   $0x2b,%eax,%edx
c0022597:	8b 45 ec             	mov    -0x14(%ebp),%eax
c002259a:	01 d0                	add    %edx,%eax
c002259c:	83 c0 02             	add    $0x2,%eax
c002259f:	83 ec 0c             	sub    $0xc,%esp
c00225a2:	50                   	push   %eax
c00225a3:	e8 64 09 00 00       	call   c0022f0c <_Z6strlenPc>
c00225a8:	83 c4 10             	add    $0x10,%esp
c00225ab:	ba 14 00 00 00       	mov    $0x14,%edx
c00225b0:	29 c2                	sub    %eax,%edx
c00225b2:	89 d0                	mov    %edx,%eax
c00225b4:	39 45 f0             	cmp    %eax,-0x10(%ebp)
c00225b7:	0f 9c c0             	setl   %al
c00225ba:	84 c0                	test   %al,%al
c00225bc:	74 28                	je     c00225e6 <_Z2lsiPPc+0xdb>
c00225be:	a1 54 e2 44 c0       	mov    0xc044e254,%eax
c00225c3:	83 ec 0c             	sub    $0xc,%esp
c00225c6:	68 ff 00 00 00       	push   $0xff
c00225cb:	68 ff 00 00 00       	push   $0xff
c00225d0:	68 ff 00 00 00       	push   $0xff
c00225d5:	6a 20                	push   $0x20
c00225d7:	50                   	push   %eax
c00225d8:	e8 5b bb ff ff       	call   c001e138 <_ZN7Console4putcEchhh>
c00225dd:	83 c4 20             	add    $0x20,%esp
c00225e0:	83 45 f0 01          	addl   $0x1,-0x10(%ebp)
c00225e4:	eb ab                	jmp    c0022591 <_Z2lsiPPc+0x86>
c00225e6:	a1 54 e2 44 c0       	mov    0xc044e254,%eax
c00225eb:	83 ec 0c             	sub    $0xc,%esp
c00225ee:	68 ff 00 00 00       	push   $0xff
c00225f3:	68 ff 00 00 00       	push   $0xff
c00225f8:	68 ff 00 00 00       	push   $0xff
c00225fd:	68 01 6d 02 c0       	push   $0xc0026d01
c0022602:	50                   	push   %eax
c0022603:	e8 a4 bd ff ff       	call   c001e3ac <_ZN7Console4putsEPchhh>
c0022608:	83 c4 20             	add    $0x20,%esp
c002260b:	8b 1d 54 e2 44 c0    	mov    0xc044e254,%ebx
c0022611:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0022614:	6b d0 2b             	imul   $0x2b,%eax,%edx
c0022617:	8b 45 ec             	mov    -0x14(%ebp),%eax
c002261a:	01 d0                	add    %edx,%eax
c002261c:	8b 40 26             	mov    0x26(%eax),%eax
c002261f:	c1 e8 0a             	shr    $0xa,%eax
c0022622:	83 ec 04             	sub    $0x4,%esp
c0022625:	6a 0a                	push   $0xa
c0022627:	6a 00                	push   $0x0
c0022629:	50                   	push   %eax
c002262a:	e8 8e 0b 00 00       	call   c00231bd <_Z4itoamPci>
c002262f:	83 c4 10             	add    $0x10,%esp
c0022632:	83 ec 0c             	sub    $0xc,%esp
c0022635:	68 ff 00 00 00       	push   $0xff
c002263a:	68 ff 00 00 00       	push   $0xff
c002263f:	68 ff 00 00 00       	push   $0xff
c0022644:	50                   	push   %eax
c0022645:	53                   	push   %ebx
c0022646:	e8 61 bd ff ff       	call   c001e3ac <_ZN7Console4putsEPchhh>
c002264b:	83 c4 20             	add    $0x20,%esp
c002264e:	a1 54 e2 44 c0       	mov    0xc044e254,%eax
c0022653:	83 ec 0c             	sub    $0xc,%esp
c0022656:	68 ff 00 00 00       	push   $0xff
c002265b:	68 ff 00 00 00       	push   $0xff
c0022660:	68 ff 00 00 00       	push   $0xff
c0022665:	68 06 6d 02 c0       	push   $0xc0026d06
c002266a:	50                   	push   %eax
c002266b:	e8 3c bd ff ff       	call   c001e3ac <_ZN7Console4putsEPchhh>
c0022670:	83 c4 20             	add    $0x20,%esp
c0022673:	83 45 f4 01          	addl   $0x1,-0xc(%ebp)
c0022677:	e9 a5 fe ff ff       	jmp    c0022521 <_Z2lsiPPc+0x16>
c002267c:	90                   	nop
c002267d:	8b 5d fc             	mov    -0x4(%ebp),%ebx
c0022680:	c9                   	leave  
c0022681:	c3                   	ret    

c0022682 <_Z7randintiPPc>:
c0022682:	55                   	push   %ebp
c0022683:	89 e5                	mov    %esp,%ebp
c0022685:	53                   	push   %ebx
c0022686:	83 ec 14             	sub    $0x14,%esp
c0022689:	83 ec 0c             	sub    $0xc,%esp
c002268c:	6a 0c                	push   $0xc
c002268e:	e8 ea ad ff ff       	call   c001d47d <kmalloc>
c0022693:	83 c4 10             	add    $0x10,%esp
c0022696:	89 45 f4             	mov    %eax,-0xc(%ebp)
c0022699:	a1 54 e2 44 c0       	mov    0xc044e254,%eax
c002269e:	83 ec 0c             	sub    $0xc,%esp
c00226a1:	68 ff 00 00 00       	push   $0xff
c00226a6:	68 ff 00 00 00       	push   $0xff
c00226ab:	68 ff 00 00 00       	push   $0xff
c00226b0:	6a 0a                	push   $0xa
c00226b2:	50                   	push   %eax
c00226b3:	e8 80 ba ff ff       	call   c001e138 <_ZN7Console4putcEchhh>
c00226b8:	83 c4 20             	add    $0x20,%esp
c00226bb:	8b 1d 54 e2 44 c0    	mov    0xc044e254,%ebx
c00226c1:	e8 20 d6 ff ff       	call   c001fce6 <_Z4randv>
c00226c6:	89 c1                	mov    %eax,%ecx
c00226c8:	ba 1f 85 eb 51       	mov    $0x51eb851f,%edx
c00226cd:	89 c8                	mov    %ecx,%eax
c00226cf:	f7 e2                	mul    %edx
c00226d1:	89 d0                	mov    %edx,%eax
c00226d3:	c1 e8 05             	shr    $0x5,%eax
c00226d6:	6b c0 64             	imul   $0x64,%eax,%eax
c00226d9:	29 c1                	sub    %eax,%ecx
c00226db:	89 c8                	mov    %ecx,%eax
c00226dd:	83 ec 04             	sub    $0x4,%esp
c00226e0:	6a 0a                	push   $0xa
c00226e2:	ff 75 f4             	pushl  -0xc(%ebp)
c00226e5:	50                   	push   %eax
c00226e6:	e8 d2 0a 00 00       	call   c00231bd <_Z4itoamPci>
c00226eb:	83 c4 10             	add    $0x10,%esp
c00226ee:	83 ec 0c             	sub    $0xc,%esp
c00226f1:	68 ff 00 00 00       	push   $0xff
c00226f6:	68 ff 00 00 00       	push   $0xff
c00226fb:	68 ff 00 00 00       	push   $0xff
c0022700:	50                   	push   %eax
c0022701:	53                   	push   %ebx
c0022702:	e8 a5 bc ff ff       	call   c001e3ac <_ZN7Console4putsEPchhh>
c0022707:	83 c4 20             	add    $0x20,%esp
c002270a:	83 ec 0c             	sub    $0xc,%esp
c002270d:	ff 75 f4             	pushl  -0xc(%ebp)
c0022710:	e8 88 b4 ff ff       	call   c001db9d <kfree>
c0022715:	83 c4 10             	add    $0x10,%esp
c0022718:	90                   	nop
c0022719:	8b 5d fc             	mov    -0x4(%ebp),%ebx
c002271c:	c9                   	leave  
c002271d:	c3                   	ret    

c002271e <_Z7randhexiPPc>:
c002271e:	55                   	push   %ebp
c002271f:	89 e5                	mov    %esp,%ebp
c0022721:	56                   	push   %esi
c0022722:	53                   	push   %ebx
c0022723:	83 ec 10             	sub    $0x10,%esp
c0022726:	83 ec 0c             	sub    $0xc,%esp
c0022729:	6a 0c                	push   $0xc
c002272b:	e8 4d ad ff ff       	call   c001d47d <kmalloc>
c0022730:	83 c4 10             	add    $0x10,%esp
c0022733:	89 45 f4             	mov    %eax,-0xc(%ebp)
c0022736:	a1 54 e2 44 c0       	mov    0xc044e254,%eax
c002273b:	83 ec 0c             	sub    $0xc,%esp
c002273e:	68 ff 00 00 00       	push   $0xff
c0022743:	68 ff 00 00 00       	push   $0xff
c0022748:	68 ff 00 00 00       	push   $0xff
c002274d:	68 09 6d 02 c0       	push   $0xc0026d09
c0022752:	50                   	push   %eax
c0022753:	e8 54 bc ff ff       	call   c001e3ac <_ZN7Console4putsEPchhh>
c0022758:	83 c4 20             	add    $0x20,%esp
c002275b:	8b 1d 54 e2 44 c0    	mov    0xc044e254,%ebx
c0022761:	e8 80 d5 ff ff       	call   c001fce6 <_Z4randv>
c0022766:	89 c6                	mov    %eax,%esi
c0022768:	e8 79 d5 ff ff       	call   c001fce6 <_Z4randv>
c002276d:	0f af c6             	imul   %esi,%eax
c0022770:	83 ec 04             	sub    $0x4,%esp
c0022773:	6a 10                	push   $0x10
c0022775:	ff 75 f4             	pushl  -0xc(%ebp)
c0022778:	50                   	push   %eax
c0022779:	e8 3f 0a 00 00       	call   c00231bd <_Z4itoamPci>
c002277e:	83 c4 10             	add    $0x10,%esp
c0022781:	83 ec 0c             	sub    $0xc,%esp
c0022784:	68 ff 00 00 00       	push   $0xff
c0022789:	68 ff 00 00 00       	push   $0xff
c002278e:	68 ff 00 00 00       	push   $0xff
c0022793:	50                   	push   %eax
c0022794:	53                   	push   %ebx
c0022795:	e8 12 bc ff ff       	call   c001e3ac <_ZN7Console4putsEPchhh>
c002279a:	83 c4 20             	add    $0x20,%esp
c002279d:	83 ec 0c             	sub    $0xc,%esp
c00227a0:	ff 75 f4             	pushl  -0xc(%ebp)
c00227a3:	e8 f5 b3 ff ff       	call   c001db9d <kfree>
c00227a8:	83 c4 10             	add    $0x10,%esp
c00227ab:	90                   	nop
c00227ac:	8d 65 f8             	lea    -0x8(%ebp),%esp
c00227af:	5b                   	pop    %ebx
c00227b0:	5e                   	pop    %esi
c00227b1:	5d                   	pop    %ebp
c00227b2:	c3                   	ret    

c00227b3 <_Z8commandsiPPc>:
c00227b3:	55                   	push   %ebp
c00227b4:	89 e5                	mov    %esp,%ebp
c00227b6:	83 ec 18             	sub    $0x18,%esp
c00227b9:	a1 54 e2 44 c0       	mov    0xc044e254,%eax
c00227be:	83 ec 0c             	sub    $0xc,%esp
c00227c1:	68 ff 00 00 00       	push   $0xff
c00227c6:	68 ff 00 00 00       	push   $0xff
c00227cb:	68 ff 00 00 00       	push   $0xff
c00227d0:	6a 0a                	push   $0xa
c00227d2:	50                   	push   %eax
c00227d3:	e8 60 b9 ff ff       	call   c001e138 <_ZN7Console4putcEchhh>
c00227d8:	83 c4 20             	add    $0x20,%esp
c00227db:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
c00227e2:	83 7d f4 0a          	cmpl   $0xa,-0xc(%ebp)
c00227e6:	7f 53                	jg     c002283b <_Z8commandsiPPc+0x88>
c00227e8:	a1 54 e2 44 c0       	mov    0xc044e254,%eax
c00227ed:	8b 55 f4             	mov    -0xc(%ebp),%edx
c00227f0:	8b 14 d5 c0 6b 02 c0 	mov    -0x3ffd9440(,%edx,8),%edx
c00227f7:	83 ec 0c             	sub    $0xc,%esp
c00227fa:	68 ff 00 00 00       	push   $0xff
c00227ff:	68 ff 00 00 00       	push   $0xff
c0022804:	68 ff 00 00 00       	push   $0xff
c0022809:	52                   	push   %edx
c002280a:	50                   	push   %eax
c002280b:	e8 9c bb ff ff       	call   c001e3ac <_ZN7Console4putsEPchhh>
c0022810:	83 c4 20             	add    $0x20,%esp
c0022813:	a1 54 e2 44 c0       	mov    0xc044e254,%eax
c0022818:	83 ec 0c             	sub    $0xc,%esp
c002281b:	68 ff 00 00 00       	push   $0xff
c0022820:	68 ff 00 00 00       	push   $0xff
c0022825:	68 ff 00 00 00       	push   $0xff
c002282a:	6a 0a                	push   $0xa
c002282c:	50                   	push   %eax
c002282d:	e8 06 b9 ff ff       	call   c001e138 <_ZN7Console4putcEchhh>
c0022832:	83 c4 20             	add    $0x20,%esp
c0022835:	83 45 f4 01          	addl   $0x1,-0xc(%ebp)
c0022839:	eb a7                	jmp    c00227e2 <_Z8commandsiPPc+0x2f>
c002283b:	90                   	nop
c002283c:	c9                   	leave  
c002283d:	c3                   	ret    

c002283e <_Z25viewimage_render_callbackii>:
c002283e:	55                   	push   %ebp
c002283f:	89 e5                	mov    %esp,%ebp
c0022841:	53                   	push   %ebx
c0022842:	83 ec 04             	sub    $0x4,%esp
c0022845:	a1 60 e2 44 c0       	mov    0xc044e260,%eax
c002284a:	8b 15 5c e2 44 c0    	mov    0xc044e25c,%edx
c0022850:	89 d3                	mov    %edx,%ebx
c0022852:	8b 15 58 e2 44 c0    	mov    0xc044e258,%edx
c0022858:	89 d1                	mov    %edx,%ecx
c002285a:	8b 55 0c             	mov    0xc(%ebp),%edx
c002285d:	83 c2 18             	add    $0x18,%edx
c0022860:	83 ec 08             	sub    $0x8,%esp
c0022863:	6a 18                	push   $0x18
c0022865:	50                   	push   %eax
c0022866:	53                   	push   %ebx
c0022867:	51                   	push   %ecx
c0022868:	52                   	push   %edx
c0022869:	ff 75 08             	pushl  0x8(%ebp)
c002286c:	e8 c2 20 00 00       	call   c0024933 <_Z18drawbitmap_noscaleiiiiPhi>
c0022871:	83 c4 20             	add    $0x20,%esp
c0022874:	90                   	nop
c0022875:	8b 5d fc             	mov    -0x4(%ebp),%ebx
c0022878:	c9                   	leave  
c0022879:	c3                   	ret    

c002287a <_Z9viewimageiPPc>:
c002287a:	55                   	push   %ebp
c002287b:	89 e5                	mov    %esp,%ebp
c002287d:	90                   	nop
c002287e:	5d                   	pop    %ebp
c002287f:	c3                   	ret    

c0022880 <_ZN6stringC1Ev>:
c0022880:	55                   	push   %ebp
c0022881:	89 e5                	mov    %esp,%ebp
c0022883:	83 ec 08             	sub    $0x8,%esp
c0022886:	8b 45 08             	mov    0x8(%ebp),%eax
c0022889:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
c0022890:	83 ec 0c             	sub    $0xc,%esp
c0022893:	6a 00                	push   $0x0
c0022895:	e8 e3 ab ff ff       	call   c001d47d <kmalloc>
c002289a:	83 c4 10             	add    $0x10,%esp
c002289d:	89 c2                	mov    %eax,%edx
c002289f:	8b 45 08             	mov    0x8(%ebp),%eax
c00228a2:	89 10                	mov    %edx,(%eax)
c00228a4:	90                   	nop
c00228a5:	c9                   	leave  
c00228a6:	c3                   	ret    
c00228a7:	90                   	nop

c00228a8 <_ZN6stringC1Ec>:
c00228a8:	55                   	push   %ebp
c00228a9:	89 e5                	mov    %esp,%ebp
c00228ab:	83 ec 18             	sub    $0x18,%esp
c00228ae:	8b 45 0c             	mov    0xc(%ebp),%eax
c00228b1:	88 45 f4             	mov    %al,-0xc(%ebp)
c00228b4:	8b 45 08             	mov    0x8(%ebp),%eax
c00228b7:	c7 40 04 01 00 00 00 	movl   $0x1,0x4(%eax)
c00228be:	83 ec 0c             	sub    $0xc,%esp
c00228c1:	6a 01                	push   $0x1
c00228c3:	e8 b5 ab ff ff       	call   c001d47d <kmalloc>
c00228c8:	83 c4 10             	add    $0x10,%esp
c00228cb:	89 c2                	mov    %eax,%edx
c00228cd:	8b 45 08             	mov    0x8(%ebp),%eax
c00228d0:	89 10                	mov    %edx,(%eax)
c00228d2:	8b 45 08             	mov    0x8(%ebp),%eax
c00228d5:	8b 00                	mov    (%eax),%eax
c00228d7:	0f b6 55 f4          	movzbl -0xc(%ebp),%edx
c00228db:	88 10                	mov    %dl,(%eax)
c00228dd:	90                   	nop
c00228de:	c9                   	leave  
c00228df:	c3                   	ret    

c00228e0 <_ZN6stringC1EPKc>:
c00228e0:	55                   	push   %ebp
c00228e1:	89 e5                	mov    %esp,%ebp
c00228e3:	83 ec 18             	sub    $0x18,%esp
c00228e6:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
c00228ea:	74 67                	je     c0022953 <_ZN6stringC1EPKc+0x73>
c00228ec:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
c00228f3:	8b 55 0c             	mov    0xc(%ebp),%edx
c00228f6:	8b 45 f4             	mov    -0xc(%ebp),%eax
c00228f9:	01 d0                	add    %edx,%eax
c00228fb:	0f b6 00             	movzbl (%eax),%eax
c00228fe:	84 c0                	test   %al,%al
c0022900:	74 06                	je     c0022908 <_ZN6stringC1EPKc+0x28>
c0022902:	83 45 f4 01          	addl   $0x1,-0xc(%ebp)
c0022906:	eb eb                	jmp    c00228f3 <_ZN6stringC1EPKc+0x13>
c0022908:	8b 45 08             	mov    0x8(%ebp),%eax
c002290b:	8b 55 f4             	mov    -0xc(%ebp),%edx
c002290e:	89 50 04             	mov    %edx,0x4(%eax)
c0022911:	83 ec 0c             	sub    $0xc,%esp
c0022914:	ff 75 f4             	pushl  -0xc(%ebp)
c0022917:	e8 61 ab ff ff       	call   c001d47d <kmalloc>
c002291c:	83 c4 10             	add    $0x10,%esp
c002291f:	89 c2                	mov    %eax,%edx
c0022921:	8b 45 08             	mov    0x8(%ebp),%eax
c0022924:	89 10                	mov    %edx,(%eax)
c0022926:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
c002292d:	8b 45 f0             	mov    -0x10(%ebp),%eax
c0022930:	3b 45 f4             	cmp    -0xc(%ebp),%eax
c0022933:	73 3c                	jae    c0022971 <_ZN6stringC1EPKc+0x91>
c0022935:	8b 55 0c             	mov    0xc(%ebp),%edx
c0022938:	8b 45 f0             	mov    -0x10(%ebp),%eax
c002293b:	8d 0c 02             	lea    (%edx,%eax,1),%ecx
c002293e:	8b 45 08             	mov    0x8(%ebp),%eax
c0022941:	8b 10                	mov    (%eax),%edx
c0022943:	8b 45 f0             	mov    -0x10(%ebp),%eax
c0022946:	01 c2                	add    %eax,%edx
c0022948:	0f b6 01             	movzbl (%ecx),%eax
c002294b:	88 02                	mov    %al,(%edx)
c002294d:	83 45 f0 01          	addl   $0x1,-0x10(%ebp)
c0022951:	eb da                	jmp    c002292d <_ZN6stringC1EPKc+0x4d>
c0022953:	8b 45 08             	mov    0x8(%ebp),%eax
c0022956:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
c002295d:	83 ec 0c             	sub    $0xc,%esp
c0022960:	6a 00                	push   $0x0
c0022962:	e8 16 ab ff ff       	call   c001d47d <kmalloc>
c0022967:	83 c4 10             	add    $0x10,%esp
c002296a:	89 c2                	mov    %eax,%edx
c002296c:	8b 45 08             	mov    0x8(%ebp),%eax
c002296f:	89 10                	mov    %edx,(%eax)
c0022971:	90                   	nop
c0022972:	c9                   	leave  
c0022973:	c3                   	ret    

c0022974 <_ZN6stringC1ERKS_>:
c0022974:	55                   	push   %ebp
c0022975:	89 e5                	mov    %esp,%ebp
c0022977:	53                   	push   %ebx
c0022978:	83 ec 14             	sub    $0x14,%esp
c002297b:	83 ec 0c             	sub    $0xc,%esp
c002297e:	ff 75 0c             	pushl  0xc(%ebp)
c0022981:	e8 84 00 00 00       	call   c0022a0a <_ZNK6string3lenEv>
c0022986:	83 c4 10             	add    $0x10,%esp
c0022989:	89 c2                	mov    %eax,%edx
c002298b:	8b 45 08             	mov    0x8(%ebp),%eax
c002298e:	89 50 04             	mov    %edx,0x4(%eax)
c0022991:	8b 45 08             	mov    0x8(%ebp),%eax
c0022994:	8b 40 04             	mov    0x4(%eax),%eax
c0022997:	83 ec 0c             	sub    $0xc,%esp
c002299a:	50                   	push   %eax
c002299b:	e8 dd aa ff ff       	call   c001d47d <kmalloc>
c00229a0:	83 c4 10             	add    $0x10,%esp
c00229a3:	89 c2                	mov    %eax,%edx
c00229a5:	8b 45 08             	mov    0x8(%ebp),%eax
c00229a8:	89 10                	mov    %edx,(%eax)
c00229aa:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
c00229b1:	8b 45 08             	mov    0x8(%ebp),%eax
c00229b4:	8b 40 04             	mov    0x4(%eax),%eax
c00229b7:	39 45 f4             	cmp    %eax,-0xc(%ebp)
c00229ba:	73 24                	jae    c00229e0 <_ZN6stringC1ERKS_+0x6c>
c00229bc:	8b 45 08             	mov    0x8(%ebp),%eax
c00229bf:	8b 10                	mov    (%eax),%edx
c00229c1:	8b 45 f4             	mov    -0xc(%ebp),%eax
c00229c4:	8d 1c 02             	lea    (%edx,%eax,1),%ebx
c00229c7:	83 ec 08             	sub    $0x8,%esp
c00229ca:	ff 75 f4             	pushl  -0xc(%ebp)
c00229cd:	ff 75 0c             	pushl  0xc(%ebp)
c00229d0:	e8 41 00 00 00       	call   c0022a16 <_ZNK6stringixEj>
c00229d5:	83 c4 10             	add    $0x10,%esp
c00229d8:	88 03                	mov    %al,(%ebx)
c00229da:	83 45 f4 01          	addl   $0x1,-0xc(%ebp)
c00229de:	eb d1                	jmp    c00229b1 <_ZN6stringC1ERKS_+0x3d>
c00229e0:	90                   	nop
c00229e1:	8b 5d fc             	mov    -0x4(%ebp),%ebx
c00229e4:	c9                   	leave  
c00229e5:	c3                   	ret    

c00229e6 <_ZN6stringD1Ev>:
c00229e6:	55                   	push   %ebp
c00229e7:	89 e5                	mov    %esp,%ebp
c00229e9:	83 ec 08             	sub    $0x8,%esp
c00229ec:	8b 45 08             	mov    0x8(%ebp),%eax
c00229ef:	8b 00                	mov    (%eax),%eax
c00229f1:	83 ec 0c             	sub    $0xc,%esp
c00229f4:	50                   	push   %eax
c00229f5:	e8 a3 b1 ff ff       	call   c001db9d <kfree>
c00229fa:	83 c4 10             	add    $0x10,%esp
c00229fd:	90                   	nop
c00229fe:	c9                   	leave  
c00229ff:	c3                   	ret    

c0022a00 <_ZNK6string5c_strEv>:
c0022a00:	55                   	push   %ebp
c0022a01:	89 e5                	mov    %esp,%ebp
c0022a03:	8b 45 08             	mov    0x8(%ebp),%eax
c0022a06:	8b 00                	mov    (%eax),%eax
c0022a08:	5d                   	pop    %ebp
c0022a09:	c3                   	ret    

c0022a0a <_ZNK6string3lenEv>:
c0022a0a:	55                   	push   %ebp
c0022a0b:	89 e5                	mov    %esp,%ebp
c0022a0d:	8b 45 08             	mov    0x8(%ebp),%eax
c0022a10:	8b 40 04             	mov    0x4(%eax),%eax
c0022a13:	5d                   	pop    %ebp
c0022a14:	c3                   	ret    
c0022a15:	90                   	nop

c0022a16 <_ZNK6stringixEj>:
c0022a16:	55                   	push   %ebp
c0022a17:	89 e5                	mov    %esp,%ebp
c0022a19:	8b 45 08             	mov    0x8(%ebp),%eax
c0022a1c:	8b 40 04             	mov    0x4(%eax),%eax
c0022a1f:	39 45 0c             	cmp    %eax,0xc(%ebp)
c0022a22:	72 07                	jb     c0022a2b <_ZNK6stringixEj+0x15>
c0022a24:	b8 00 00 00 00       	mov    $0x0,%eax
c0022a29:	eb 0d                	jmp    c0022a38 <_ZNK6stringixEj+0x22>
c0022a2b:	8b 45 08             	mov    0x8(%ebp),%eax
c0022a2e:	8b 10                	mov    (%eax),%edx
c0022a30:	8b 45 0c             	mov    0xc(%ebp),%eax
c0022a33:	01 d0                	add    %edx,%eax
c0022a35:	0f b6 00             	movzbl (%eax),%eax
c0022a38:	5d                   	pop    %ebp
c0022a39:	c3                   	ret    

c0022a3a <_ZN6stringixEj>:
c0022a3a:	55                   	push   %ebp
c0022a3b:	89 e5                	mov    %esp,%ebp
c0022a3d:	8b 45 08             	mov    0x8(%ebp),%eax
c0022a40:	8b 40 04             	mov    0x4(%eax),%eax
c0022a43:	39 45 0c             	cmp    %eax,0xc(%ebp)
c0022a46:	72 07                	jb     c0022a4f <_ZN6stringixEj+0x15>
c0022a48:	8b 45 08             	mov    0x8(%ebp),%eax
c0022a4b:	8b 00                	mov    (%eax),%eax
c0022a4d:	eb 0a                	jmp    c0022a59 <_ZN6stringixEj+0x1f>
c0022a4f:	8b 45 08             	mov    0x8(%ebp),%eax
c0022a52:	8b 10                	mov    (%eax),%edx
c0022a54:	8b 45 0c             	mov    0xc(%ebp),%eax
c0022a57:	01 d0                	add    %edx,%eax
c0022a59:	5d                   	pop    %ebp
c0022a5a:	c3                   	ret    
c0022a5b:	90                   	nop

c0022a5c <_ZN6stringaSERKS_>:
c0022a5c:	55                   	push   %ebp
c0022a5d:	89 e5                	mov    %esp,%ebp
c0022a5f:	53                   	push   %ebx
c0022a60:	83 ec 14             	sub    $0x14,%esp
c0022a63:	8b 45 08             	mov    0x8(%ebp),%eax
c0022a66:	3b 45 0c             	cmp    0xc(%ebp),%eax
c0022a69:	75 05                	jne    c0022a70 <_ZN6stringaSERKS_+0x14>
c0022a6b:	8b 45 08             	mov    0x8(%ebp),%eax
c0022a6e:	eb 79                	jmp    c0022ae9 <_ZN6stringaSERKS_+0x8d>
c0022a70:	8b 45 08             	mov    0x8(%ebp),%eax
c0022a73:	8b 00                	mov    (%eax),%eax
c0022a75:	83 ec 0c             	sub    $0xc,%esp
c0022a78:	50                   	push   %eax
c0022a79:	e8 1f b1 ff ff       	call   c001db9d <kfree>
c0022a7e:	83 c4 10             	add    $0x10,%esp
c0022a81:	83 ec 0c             	sub    $0xc,%esp
c0022a84:	ff 75 0c             	pushl  0xc(%ebp)
c0022a87:	e8 7e ff ff ff       	call   c0022a0a <_ZNK6string3lenEv>
c0022a8c:	83 c4 10             	add    $0x10,%esp
c0022a8f:	89 c2                	mov    %eax,%edx
c0022a91:	8b 45 08             	mov    0x8(%ebp),%eax
c0022a94:	89 50 04             	mov    %edx,0x4(%eax)
c0022a97:	8b 45 08             	mov    0x8(%ebp),%eax
c0022a9a:	8b 40 04             	mov    0x4(%eax),%eax
c0022a9d:	83 ec 0c             	sub    $0xc,%esp
c0022aa0:	50                   	push   %eax
c0022aa1:	e8 d7 a9 ff ff       	call   c001d47d <kmalloc>
c0022aa6:	83 c4 10             	add    $0x10,%esp
c0022aa9:	89 c2                	mov    %eax,%edx
c0022aab:	8b 45 08             	mov    0x8(%ebp),%eax
c0022aae:	89 10                	mov    %edx,(%eax)
c0022ab0:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
c0022ab7:	8b 45 08             	mov    0x8(%ebp),%eax
c0022aba:	8b 40 04             	mov    0x4(%eax),%eax
c0022abd:	39 45 f4             	cmp    %eax,-0xc(%ebp)
c0022ac0:	73 24                	jae    c0022ae6 <_ZN6stringaSERKS_+0x8a>
c0022ac2:	8b 45 08             	mov    0x8(%ebp),%eax
c0022ac5:	8b 10                	mov    (%eax),%edx
c0022ac7:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0022aca:	8d 1c 02             	lea    (%edx,%eax,1),%ebx
c0022acd:	83 ec 08             	sub    $0x8,%esp
c0022ad0:	ff 75 f4             	pushl  -0xc(%ebp)
c0022ad3:	ff 75 0c             	pushl  0xc(%ebp)
c0022ad6:	e8 3b ff ff ff       	call   c0022a16 <_ZNK6stringixEj>
c0022adb:	83 c4 10             	add    $0x10,%esp
c0022ade:	88 03                	mov    %al,(%ebx)
c0022ae0:	83 45 f4 01          	addl   $0x1,-0xc(%ebp)
c0022ae4:	eb d1                	jmp    c0022ab7 <_ZN6stringaSERKS_+0x5b>
c0022ae6:	8b 45 08             	mov    0x8(%ebp),%eax
c0022ae9:	8b 5d fc             	mov    -0x4(%ebp),%ebx
c0022aec:	c9                   	leave  
c0022aed:	c3                   	ret    

c0022aee <_ZN6stringpLERKS_>:
c0022aee:	55                   	push   %ebp
c0022aef:	89 e5                	mov    %esp,%ebp
c0022af1:	53                   	push   %ebx
c0022af2:	83 ec 14             	sub    $0x14,%esp
c0022af5:	8b 45 08             	mov    0x8(%ebp),%eax
c0022af8:	8b 58 04             	mov    0x4(%eax),%ebx
c0022afb:	ff 75 0c             	pushl  0xc(%ebp)
c0022afe:	e8 07 ff ff ff       	call   c0022a0a <_ZNK6string3lenEv>
c0022b03:	83 c4 04             	add    $0x4,%esp
c0022b06:	01 d8                	add    %ebx,%eax
c0022b08:	89 45 ec             	mov    %eax,-0x14(%ebp)
c0022b0b:	83 ec 0c             	sub    $0xc,%esp
c0022b0e:	ff 75 ec             	pushl  -0x14(%ebp)
c0022b11:	e8 67 a9 ff ff       	call   c001d47d <kmalloc>
c0022b16:	83 c4 10             	add    $0x10,%esp
c0022b19:	89 45 e8             	mov    %eax,-0x18(%ebp)
c0022b1c:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
c0022b23:	8b 45 08             	mov    0x8(%ebp),%eax
c0022b26:	8b 40 04             	mov    0x4(%eax),%eax
c0022b29:	39 45 f4             	cmp    %eax,-0xc(%ebp)
c0022b2c:	73 1d                	jae    c0022b4b <_ZN6stringpLERKS_+0x5d>
c0022b2e:	8b 45 08             	mov    0x8(%ebp),%eax
c0022b31:	8b 10                	mov    (%eax),%edx
c0022b33:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0022b36:	01 d0                	add    %edx,%eax
c0022b38:	8b 4d e8             	mov    -0x18(%ebp),%ecx
c0022b3b:	8b 55 f4             	mov    -0xc(%ebp),%edx
c0022b3e:	01 ca                	add    %ecx,%edx
c0022b40:	0f b6 00             	movzbl (%eax),%eax
c0022b43:	88 02                	mov    %al,(%edx)
c0022b45:	83 45 f4 01          	addl   $0x1,-0xc(%ebp)
c0022b49:	eb d8                	jmp    c0022b23 <_ZN6stringpLERKS_+0x35>
c0022b4b:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
c0022b52:	83 ec 0c             	sub    $0xc,%esp
c0022b55:	ff 75 0c             	pushl  0xc(%ebp)
c0022b58:	e8 ad fe ff ff       	call   c0022a0a <_ZNK6string3lenEv>
c0022b5d:	83 c4 10             	add    $0x10,%esp
c0022b60:	39 45 f0             	cmp    %eax,-0x10(%ebp)
c0022b63:	0f 92 c0             	setb   %al
c0022b66:	84 c0                	test   %al,%al
c0022b68:	74 50                	je     c0022bba <_ZN6stringpLERKS_+0xcc>
c0022b6a:	8b 45 08             	mov    0x8(%ebp),%eax
c0022b6d:	8b 50 04             	mov    0x4(%eax),%edx
c0022b70:	8b 45 f0             	mov    -0x10(%ebp),%eax
c0022b73:	01 c2                	add    %eax,%edx
c0022b75:	8b 45 e8             	mov    -0x18(%ebp),%eax
c0022b78:	8d 1c 02             	lea    (%edx,%eax,1),%ebx
c0022b7b:	83 ec 08             	sub    $0x8,%esp
c0022b7e:	ff 75 f0             	pushl  -0x10(%ebp)
c0022b81:	ff 75 0c             	pushl  0xc(%ebp)
c0022b84:	e8 8d fe ff ff       	call   c0022a16 <_ZNK6stringixEj>
c0022b89:	83 c4 10             	add    $0x10,%esp
c0022b8c:	88 03                	mov    %al,(%ebx)
c0022b8e:	8b 45 08             	mov    0x8(%ebp),%eax
c0022b91:	8b 10                	mov    (%eax),%edx
c0022b93:	8b 45 08             	mov    0x8(%ebp),%eax
c0022b96:	8b 48 04             	mov    0x4(%eax),%ecx
c0022b99:	8b 45 f0             	mov    -0x10(%ebp),%eax
c0022b9c:	01 c8                	add    %ecx,%eax
c0022b9e:	8d 1c 02             	lea    (%edx,%eax,1),%ebx
c0022ba1:	83 ec 08             	sub    $0x8,%esp
c0022ba4:	ff 75 f0             	pushl  -0x10(%ebp)
c0022ba7:	ff 75 0c             	pushl  0xc(%ebp)
c0022baa:	e8 67 fe ff ff       	call   c0022a16 <_ZNK6stringixEj>
c0022baf:	83 c4 10             	add    $0x10,%esp
c0022bb2:	88 03                	mov    %al,(%ebx)
c0022bb4:	83 45 f0 01          	addl   $0x1,-0x10(%ebp)
c0022bb8:	eb 98                	jmp    c0022b52 <_ZN6stringpLERKS_+0x64>
c0022bba:	8b 45 08             	mov    0x8(%ebp),%eax
c0022bbd:	8b 55 ec             	mov    -0x14(%ebp),%edx
c0022bc0:	89 50 04             	mov    %edx,0x4(%eax)
c0022bc3:	8b 45 08             	mov    0x8(%ebp),%eax
c0022bc6:	8b 00                	mov    (%eax),%eax
c0022bc8:	83 ec 0c             	sub    $0xc,%esp
c0022bcb:	50                   	push   %eax
c0022bcc:	e8 cc af ff ff       	call   c001db9d <kfree>
c0022bd1:	83 c4 10             	add    $0x10,%esp
c0022bd4:	8b 45 08             	mov    0x8(%ebp),%eax
c0022bd7:	8b 55 e8             	mov    -0x18(%ebp),%edx
c0022bda:	89 10                	mov    %edx,(%eax)
c0022bdc:	8b 45 08             	mov    0x8(%ebp),%eax
c0022bdf:	8b 5d fc             	mov    -0x4(%ebp),%ebx
c0022be2:	c9                   	leave  
c0022be3:	c3                   	ret    

c0022be4 <_ZplRK6stringS1_>:
c0022be4:	55                   	push   %ebp
c0022be5:	89 e5                	mov    %esp,%ebp
c0022be7:	83 ec 18             	sub    $0x18,%esp
c0022bea:	83 ec 08             	sub    $0x8,%esp
c0022bed:	ff 75 0c             	pushl  0xc(%ebp)
c0022bf0:	8d 45 f0             	lea    -0x10(%ebp),%eax
c0022bf3:	50                   	push   %eax
c0022bf4:	e8 7b fd ff ff       	call   c0022974 <_ZN6stringC1ERKS_>
c0022bf9:	83 c4 10             	add    $0x10,%esp
c0022bfc:	83 ec 08             	sub    $0x8,%esp
c0022bff:	ff 75 10             	pushl  0x10(%ebp)
c0022c02:	8d 45 f0             	lea    -0x10(%ebp),%eax
c0022c05:	50                   	push   %eax
c0022c06:	e8 e3 fe ff ff       	call   c0022aee <_ZN6stringpLERKS_>
c0022c0b:	83 c4 10             	add    $0x10,%esp
c0022c0e:	83 ec 08             	sub    $0x8,%esp
c0022c11:	50                   	push   %eax
c0022c12:	ff 75 08             	pushl  0x8(%ebp)
c0022c15:	e8 5a fd ff ff       	call   c0022974 <_ZN6stringC1ERKS_>
c0022c1a:	83 c4 10             	add    $0x10,%esp
c0022c1d:	83 ec 0c             	sub    $0xc,%esp
c0022c20:	8d 45 f0             	lea    -0x10(%ebp),%eax
c0022c23:	50                   	push   %eax
c0022c24:	e8 bd fd ff ff       	call   c00229e6 <_ZN6stringD1Ev>
c0022c29:	83 c4 10             	add    $0x10,%esp
c0022c2c:	90                   	nop
c0022c2d:	8b 45 08             	mov    0x8(%ebp),%eax
c0022c30:	c9                   	leave  
c0022c31:	c2 04 00             	ret    $0x4

c0022c34 <_ZplRK6stringc>:
c0022c34:	55                   	push   %ebp
c0022c35:	89 e5                	mov    %esp,%ebp
c0022c37:	83 ec 28             	sub    $0x28,%esp
c0022c3a:	8b 45 10             	mov    0x10(%ebp),%eax
c0022c3d:	88 45 e4             	mov    %al,-0x1c(%ebp)
c0022c40:	0f be 45 e4          	movsbl -0x1c(%ebp),%eax
c0022c44:	83 ec 08             	sub    $0x8,%esp
c0022c47:	50                   	push   %eax
c0022c48:	8d 45 e8             	lea    -0x18(%ebp),%eax
c0022c4b:	50                   	push   %eax
c0022c4c:	e8 57 fc ff ff       	call   c00228a8 <_ZN6stringC1Ec>
c0022c51:	83 c4 10             	add    $0x10,%esp
c0022c54:	83 ec 08             	sub    $0x8,%esp
c0022c57:	ff 75 0c             	pushl  0xc(%ebp)
c0022c5a:	8d 45 f0             	lea    -0x10(%ebp),%eax
c0022c5d:	50                   	push   %eax
c0022c5e:	e8 11 fd ff ff       	call   c0022974 <_ZN6stringC1ERKS_>
c0022c63:	83 c4 10             	add    $0x10,%esp
c0022c66:	83 ec 08             	sub    $0x8,%esp
c0022c69:	8d 45 e8             	lea    -0x18(%ebp),%eax
c0022c6c:	50                   	push   %eax
c0022c6d:	8d 45 f0             	lea    -0x10(%ebp),%eax
c0022c70:	50                   	push   %eax
c0022c71:	e8 78 fe ff ff       	call   c0022aee <_ZN6stringpLERKS_>
c0022c76:	83 c4 10             	add    $0x10,%esp
c0022c79:	83 ec 08             	sub    $0x8,%esp
c0022c7c:	50                   	push   %eax
c0022c7d:	ff 75 08             	pushl  0x8(%ebp)
c0022c80:	e8 ef fc ff ff       	call   c0022974 <_ZN6stringC1ERKS_>
c0022c85:	83 c4 10             	add    $0x10,%esp
c0022c88:	83 ec 0c             	sub    $0xc,%esp
c0022c8b:	8d 45 f0             	lea    -0x10(%ebp),%eax
c0022c8e:	50                   	push   %eax
c0022c8f:	e8 52 fd ff ff       	call   c00229e6 <_ZN6stringD1Ev>
c0022c94:	83 c4 10             	add    $0x10,%esp
c0022c97:	83 ec 0c             	sub    $0xc,%esp
c0022c9a:	8d 45 e8             	lea    -0x18(%ebp),%eax
c0022c9d:	50                   	push   %eax
c0022c9e:	e8 43 fd ff ff       	call   c00229e6 <_ZN6stringD1Ev>
c0022ca3:	83 c4 10             	add    $0x10,%esp
c0022ca6:	90                   	nop
c0022ca7:	8b 45 08             	mov    0x8(%ebp),%eax
c0022caa:	c9                   	leave  
c0022cab:	c2 04 00             	ret    $0x4

c0022cae <_ZplRK6stringPKc>:
c0022cae:	55                   	push   %ebp
c0022caf:	89 e5                	mov    %esp,%ebp
c0022cb1:	83 ec 18             	sub    $0x18,%esp
c0022cb4:	83 ec 08             	sub    $0x8,%esp
c0022cb7:	ff 75 10             	pushl  0x10(%ebp)
c0022cba:	8d 45 e8             	lea    -0x18(%ebp),%eax
c0022cbd:	50                   	push   %eax
c0022cbe:	e8 1d fc ff ff       	call   c00228e0 <_ZN6stringC1EPKc>
c0022cc3:	83 c4 10             	add    $0x10,%esp
c0022cc6:	83 ec 08             	sub    $0x8,%esp
c0022cc9:	ff 75 0c             	pushl  0xc(%ebp)
c0022ccc:	8d 45 f0             	lea    -0x10(%ebp),%eax
c0022ccf:	50                   	push   %eax
c0022cd0:	e8 9f fc ff ff       	call   c0022974 <_ZN6stringC1ERKS_>
c0022cd5:	83 c4 10             	add    $0x10,%esp
c0022cd8:	83 ec 08             	sub    $0x8,%esp
c0022cdb:	8d 45 e8             	lea    -0x18(%ebp),%eax
c0022cde:	50                   	push   %eax
c0022cdf:	8d 45 f0             	lea    -0x10(%ebp),%eax
c0022ce2:	50                   	push   %eax
c0022ce3:	e8 06 fe ff ff       	call   c0022aee <_ZN6stringpLERKS_>
c0022ce8:	83 c4 10             	add    $0x10,%esp
c0022ceb:	83 ec 08             	sub    $0x8,%esp
c0022cee:	50                   	push   %eax
c0022cef:	ff 75 08             	pushl  0x8(%ebp)
c0022cf2:	e8 7d fc ff ff       	call   c0022974 <_ZN6stringC1ERKS_>
c0022cf7:	83 c4 10             	add    $0x10,%esp
c0022cfa:	83 ec 0c             	sub    $0xc,%esp
c0022cfd:	8d 45 f0             	lea    -0x10(%ebp),%eax
c0022d00:	50                   	push   %eax
c0022d01:	e8 e0 fc ff ff       	call   c00229e6 <_ZN6stringD1Ev>
c0022d06:	83 c4 10             	add    $0x10,%esp
c0022d09:	83 ec 0c             	sub    $0xc,%esp
c0022d0c:	8d 45 e8             	lea    -0x18(%ebp),%eax
c0022d0f:	50                   	push   %eax
c0022d10:	e8 d1 fc ff ff       	call   c00229e6 <_ZN6stringD1Ev>
c0022d15:	83 c4 10             	add    $0x10,%esp
c0022d18:	90                   	nop
c0022d19:	8b 45 08             	mov    0x8(%ebp),%eax
c0022d1c:	c9                   	leave  
c0022d1d:	c2 04 00             	ret    $0x4

c0022d20 <_ZplcRK6string>:
c0022d20:	55                   	push   %ebp
c0022d21:	89 e5                	mov    %esp,%ebp
c0022d23:	83 ec 28             	sub    $0x28,%esp
c0022d26:	8b 45 0c             	mov    0xc(%ebp),%eax
c0022d29:	88 45 e4             	mov    %al,-0x1c(%ebp)
c0022d2c:	0f be 45 e4          	movsbl -0x1c(%ebp),%eax
c0022d30:	83 ec 08             	sub    $0x8,%esp
c0022d33:	50                   	push   %eax
c0022d34:	8d 45 f0             	lea    -0x10(%ebp),%eax
c0022d37:	50                   	push   %eax
c0022d38:	e8 6b fb ff ff       	call   c00228a8 <_ZN6stringC1Ec>
c0022d3d:	83 c4 10             	add    $0x10,%esp
c0022d40:	83 ec 08             	sub    $0x8,%esp
c0022d43:	ff 75 10             	pushl  0x10(%ebp)
c0022d46:	8d 45 f0             	lea    -0x10(%ebp),%eax
c0022d49:	50                   	push   %eax
c0022d4a:	e8 9f fd ff ff       	call   c0022aee <_ZN6stringpLERKS_>
c0022d4f:	83 c4 10             	add    $0x10,%esp
c0022d52:	83 ec 08             	sub    $0x8,%esp
c0022d55:	50                   	push   %eax
c0022d56:	ff 75 08             	pushl  0x8(%ebp)
c0022d59:	e8 16 fc ff ff       	call   c0022974 <_ZN6stringC1ERKS_>
c0022d5e:	83 c4 10             	add    $0x10,%esp
c0022d61:	83 ec 0c             	sub    $0xc,%esp
c0022d64:	8d 45 f0             	lea    -0x10(%ebp),%eax
c0022d67:	50                   	push   %eax
c0022d68:	e8 79 fc ff ff       	call   c00229e6 <_ZN6stringD1Ev>
c0022d6d:	83 c4 10             	add    $0x10,%esp
c0022d70:	90                   	nop
c0022d71:	8b 45 08             	mov    0x8(%ebp),%eax
c0022d74:	c9                   	leave  
c0022d75:	c2 04 00             	ret    $0x4

c0022d78 <_ZplPKcRK6string>:
c0022d78:	55                   	push   %ebp
c0022d79:	89 e5                	mov    %esp,%ebp
c0022d7b:	83 ec 18             	sub    $0x18,%esp
c0022d7e:	83 ec 08             	sub    $0x8,%esp
c0022d81:	ff 75 0c             	pushl  0xc(%ebp)
c0022d84:	8d 45 f0             	lea    -0x10(%ebp),%eax
c0022d87:	50                   	push   %eax
c0022d88:	e8 53 fb ff ff       	call   c00228e0 <_ZN6stringC1EPKc>
c0022d8d:	83 c4 10             	add    $0x10,%esp
c0022d90:	83 ec 08             	sub    $0x8,%esp
c0022d93:	ff 75 10             	pushl  0x10(%ebp)
c0022d96:	8d 45 f0             	lea    -0x10(%ebp),%eax
c0022d99:	50                   	push   %eax
c0022d9a:	e8 4f fd ff ff       	call   c0022aee <_ZN6stringpLERKS_>
c0022d9f:	83 c4 10             	add    $0x10,%esp
c0022da2:	83 ec 08             	sub    $0x8,%esp
c0022da5:	50                   	push   %eax
c0022da6:	ff 75 08             	pushl  0x8(%ebp)
c0022da9:	e8 c6 fb ff ff       	call   c0022974 <_ZN6stringC1ERKS_>
c0022dae:	83 c4 10             	add    $0x10,%esp
c0022db1:	83 ec 0c             	sub    $0xc,%esp
c0022db4:	8d 45 f0             	lea    -0x10(%ebp),%eax
c0022db7:	50                   	push   %eax
c0022db8:	e8 29 fc ff ff       	call   c00229e6 <_ZN6stringD1Ev>
c0022dbd:	83 c4 10             	add    $0x10,%esp
c0022dc0:	90                   	nop
c0022dc1:	8b 45 08             	mov    0x8(%ebp),%eax
c0022dc4:	c9                   	leave  
c0022dc5:	c2 04 00             	ret    $0x4

c0022dc8 <strcat>:
c0022dc8:	55                   	push   %ebp
c0022dc9:	89 e5                	mov    %esp,%ebp
c0022dcb:	83 ec 10             	sub    $0x10,%esp
c0022dce:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
c0022dd5:	8b 55 08             	mov    0x8(%ebp),%edx
c0022dd8:	8b 45 fc             	mov    -0x4(%ebp),%eax
c0022ddb:	01 d0                	add    %edx,%eax
c0022ddd:	0f b6 00             	movzbl (%eax),%eax
c0022de0:	84 c0                	test   %al,%al
c0022de2:	74 06                	je     c0022dea <strcat+0x22>
c0022de4:	83 45 fc 01          	addl   $0x1,-0x4(%ebp)
c0022de8:	eb eb                	jmp    c0022dd5 <strcat+0xd>
c0022dea:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
c0022df1:	8b 55 0c             	mov    0xc(%ebp),%edx
c0022df4:	8b 45 f8             	mov    -0x8(%ebp),%eax
c0022df7:	01 d0                	add    %edx,%eax
c0022df9:	0f b6 00             	movzbl (%eax),%eax
c0022dfc:	84 c0                	test   %al,%al
c0022dfe:	74 20                	je     c0022e20 <strcat+0x58>
c0022e00:	8b 55 0c             	mov    0xc(%ebp),%edx
c0022e03:	8b 45 f8             	mov    -0x8(%ebp),%eax
c0022e06:	01 d0                	add    %edx,%eax
c0022e08:	8b 4d fc             	mov    -0x4(%ebp),%ecx
c0022e0b:	8b 55 f8             	mov    -0x8(%ebp),%edx
c0022e0e:	01 d1                	add    %edx,%ecx
c0022e10:	8b 55 08             	mov    0x8(%ebp),%edx
c0022e13:	01 ca                	add    %ecx,%edx
c0022e15:	0f b6 00             	movzbl (%eax),%eax
c0022e18:	88 02                	mov    %al,(%edx)
c0022e1a:	83 45 f8 01          	addl   $0x1,-0x8(%ebp)
c0022e1e:	eb d1                	jmp    c0022df1 <strcat+0x29>
c0022e20:	8b 55 fc             	mov    -0x4(%ebp),%edx
c0022e23:	8b 45 f8             	mov    -0x8(%ebp),%eax
c0022e26:	01 c2                	add    %eax,%edx
c0022e28:	8b 45 08             	mov    0x8(%ebp),%eax
c0022e2b:	01 d0                	add    %edx,%eax
c0022e2d:	c6 00 00             	movb   $0x0,(%eax)
c0022e30:	8b 45 08             	mov    0x8(%ebp),%eax
c0022e33:	c9                   	leave  
c0022e34:	c3                   	ret    

c0022e35 <_Z7strncatPciPKc>:
c0022e35:	55                   	push   %ebp
c0022e36:	89 e5                	mov    %esp,%ebp
c0022e38:	83 ec 10             	sub    $0x10,%esp
c0022e3b:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
c0022e42:	8b 45 fc             	mov    -0x4(%ebp),%eax
c0022e45:	3b 45 0c             	cmp    0xc(%ebp),%eax
c0022e48:	7d 06                	jge    c0022e50 <_Z7strncatPciPKc+0x1b>
c0022e4a:	83 45 fc 01          	addl   $0x1,-0x4(%ebp)
c0022e4e:	eb f2                	jmp    c0022e42 <_Z7strncatPciPKc+0xd>
c0022e50:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
c0022e57:	8b 45 f8             	mov    -0x8(%ebp),%eax
c0022e5a:	3b 45 0c             	cmp    0xc(%ebp),%eax
c0022e5d:	7d 22                	jge    c0022e81 <_Z7strncatPciPKc+0x4c>
c0022e5f:	8b 55 f8             	mov    -0x8(%ebp),%edx
c0022e62:	8b 45 10             	mov    0x10(%ebp),%eax
c0022e65:	01 d0                	add    %edx,%eax
c0022e67:	8b 4d fc             	mov    -0x4(%ebp),%ecx
c0022e6a:	8b 55 f8             	mov    -0x8(%ebp),%edx
c0022e6d:	01 ca                	add    %ecx,%edx
c0022e6f:	89 d1                	mov    %edx,%ecx
c0022e71:	8b 55 08             	mov    0x8(%ebp),%edx
c0022e74:	01 ca                	add    %ecx,%edx
c0022e76:	0f b6 00             	movzbl (%eax),%eax
c0022e79:	88 02                	mov    %al,(%edx)
c0022e7b:	83 45 f8 01          	addl   $0x1,-0x8(%ebp)
c0022e7f:	eb d6                	jmp    c0022e57 <_Z7strncatPciPKc+0x22>
c0022e81:	8b 55 fc             	mov    -0x4(%ebp),%edx
c0022e84:	8b 45 f8             	mov    -0x8(%ebp),%eax
c0022e87:	01 d0                	add    %edx,%eax
c0022e89:	89 c2                	mov    %eax,%edx
c0022e8b:	8b 45 08             	mov    0x8(%ebp),%eax
c0022e8e:	01 d0                	add    %edx,%eax
c0022e90:	c6 00 00             	movb   $0x0,(%eax)
c0022e93:	8b 45 08             	mov    0x8(%ebp),%eax
c0022e96:	c9                   	leave  
c0022e97:	c3                   	ret    

c0022e98 <_Z7reversePci>:
c0022e98:	55                   	push   %ebp
c0022e99:	89 e5                	mov    %esp,%ebp
c0022e9b:	83 ec 10             	sub    $0x10,%esp
c0022e9e:	8b 45 08             	mov    0x8(%ebp),%eax
c0022ea1:	89 45 f8             	mov    %eax,-0x8(%ebp)
c0022ea4:	8b 45 08             	mov    0x8(%ebp),%eax
c0022ea7:	89 45 f4             	mov    %eax,-0xc(%ebp)
c0022eaa:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
c0022eb1:	8b 45 0c             	mov    0xc(%ebp),%eax
c0022eb4:	83 e8 01             	sub    $0x1,%eax
c0022eb7:	39 45 fc             	cmp    %eax,-0x4(%ebp)
c0022eba:	7d 0a                	jge    c0022ec6 <_Z7reversePci+0x2e>
c0022ebc:	83 45 f4 01          	addl   $0x1,-0xc(%ebp)
c0022ec0:	83 45 fc 01          	addl   $0x1,-0x4(%ebp)
c0022ec4:	eb eb                	jmp    c0022eb1 <_Z7reversePci+0x19>
c0022ec6:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
c0022ecd:	8b 45 0c             	mov    0xc(%ebp),%eax
c0022ed0:	89 c2                	mov    %eax,%edx
c0022ed2:	c1 ea 1f             	shr    $0x1f,%edx
c0022ed5:	01 d0                	add    %edx,%eax
c0022ed7:	d1 f8                	sar    %eax
c0022ed9:	39 45 fc             	cmp    %eax,-0x4(%ebp)
c0022edc:	7d 2b                	jge    c0022f09 <_Z7reversePci+0x71>
c0022ede:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0022ee1:	0f b6 00             	movzbl (%eax),%eax
c0022ee4:	88 45 f3             	mov    %al,-0xd(%ebp)
c0022ee7:	8b 45 f8             	mov    -0x8(%ebp),%eax
c0022eea:	0f b6 10             	movzbl (%eax),%edx
c0022eed:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0022ef0:	88 10                	mov    %dl,(%eax)
c0022ef2:	8b 45 f8             	mov    -0x8(%ebp),%eax
c0022ef5:	0f b6 55 f3          	movzbl -0xd(%ebp),%edx
c0022ef9:	88 10                	mov    %dl,(%eax)
c0022efb:	83 45 f8 01          	addl   $0x1,-0x8(%ebp)
c0022eff:	83 6d f4 01          	subl   $0x1,-0xc(%ebp)
c0022f03:	83 45 fc 01          	addl   $0x1,-0x4(%ebp)
c0022f07:	eb c4                	jmp    c0022ecd <_Z7reversePci+0x35>
c0022f09:	90                   	nop
c0022f0a:	c9                   	leave  
c0022f0b:	c3                   	ret    

c0022f0c <_Z6strlenPc>:
c0022f0c:	55                   	push   %ebp
c0022f0d:	89 e5                	mov    %esp,%ebp
c0022f0f:	83 ec 10             	sub    $0x10,%esp
c0022f12:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
c0022f19:	8b 55 fc             	mov    -0x4(%ebp),%edx
c0022f1c:	8b 45 08             	mov    0x8(%ebp),%eax
c0022f1f:	01 d0                	add    %edx,%eax
c0022f21:	0f b6 00             	movzbl (%eax),%eax
c0022f24:	84 c0                	test   %al,%al
c0022f26:	74 06                	je     c0022f2e <_Z6strlenPc+0x22>
c0022f28:	83 45 fc 01          	addl   $0x1,-0x4(%ebp)
c0022f2c:	eb eb                	jmp    c0022f19 <_Z6strlenPc+0xd>
c0022f2e:	8b 45 fc             	mov    -0x4(%ebp),%eax
c0022f31:	c9                   	leave  
c0022f32:	c3                   	ret    

c0022f33 <_Z8strindexcPc>:
c0022f33:	55                   	push   %ebp
c0022f34:	89 e5                	mov    %esp,%ebp
c0022f36:	83 ec 14             	sub    $0x14,%esp
c0022f39:	8b 45 08             	mov    0x8(%ebp),%eax
c0022f3c:	88 45 ec             	mov    %al,-0x14(%ebp)
c0022f3f:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
c0022f46:	8b 55 fc             	mov    -0x4(%ebp),%edx
c0022f49:	8b 45 0c             	mov    0xc(%ebp),%eax
c0022f4c:	01 d0                	add    %edx,%eax
c0022f4e:	0f b6 00             	movzbl (%eax),%eax
c0022f51:	84 c0                	test   %al,%al
c0022f53:	74 1b                	je     c0022f70 <_Z8strindexcPc+0x3d>
c0022f55:	8b 55 fc             	mov    -0x4(%ebp),%edx
c0022f58:	8b 45 0c             	mov    0xc(%ebp),%eax
c0022f5b:	01 d0                	add    %edx,%eax
c0022f5d:	0f b6 00             	movzbl (%eax),%eax
c0022f60:	38 45 ec             	cmp    %al,-0x14(%ebp)
c0022f63:	75 05                	jne    c0022f6a <_Z8strindexcPc+0x37>
c0022f65:	8b 45 fc             	mov    -0x4(%ebp),%eax
c0022f68:	eb 12                	jmp    c0022f7c <_Z8strindexcPc+0x49>
c0022f6a:	83 45 fc 01          	addl   $0x1,-0x4(%ebp)
c0022f6e:	eb d6                	jmp    c0022f46 <_Z8strindexcPc+0x13>
c0022f70:	ff 75 0c             	pushl  0xc(%ebp)
c0022f73:	e8 94 ff ff ff       	call   c0022f0c <_Z6strlenPc>
c0022f78:	83 c4 04             	add    $0x4,%esp
c0022f7b:	90                   	nop
c0022f7c:	c9                   	leave  
c0022f7d:	c3                   	ret    

c0022f7e <_Z6strchrPKci>:
c0022f7e:	55                   	push   %ebp
c0022f7f:	89 e5                	mov    %esp,%ebp
c0022f81:	8b 45 08             	mov    0x8(%ebp),%eax
c0022f84:	0f b6 00             	movzbl (%eax),%eax
c0022f87:	8b 55 0c             	mov    0xc(%ebp),%edx
c0022f8a:	38 d0                	cmp    %dl,%al
c0022f8c:	74 1c                	je     c0022faa <_Z6strchrPKci+0x2c>
c0022f8e:	8b 45 08             	mov    0x8(%ebp),%eax
c0022f91:	8d 50 01             	lea    0x1(%eax),%edx
c0022f94:	89 55 08             	mov    %edx,0x8(%ebp)
c0022f97:	0f b6 00             	movzbl (%eax),%eax
c0022f9a:	84 c0                	test   %al,%al
c0022f9c:	0f 94 c0             	sete   %al
c0022f9f:	84 c0                	test   %al,%al
c0022fa1:	74 de                	je     c0022f81 <_Z6strchrPKci+0x3>
c0022fa3:	b8 00 00 00 00       	mov    $0x0,%eax
c0022fa8:	eb 03                	jmp    c0022fad <_Z6strchrPKci+0x2f>
c0022faa:	8b 45 08             	mov    0x8(%ebp),%eax
c0022fad:	5d                   	pop    %ebp
c0022fae:	c3                   	ret    

c0022faf <_Z6strspnPKcS0_>:
c0022faf:	55                   	push   %ebp
c0022fb0:	89 e5                	mov    %esp,%ebp
c0022fb2:	83 ec 10             	sub    $0x10,%esp
c0022fb5:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
c0022fbc:	8b 45 08             	mov    0x8(%ebp),%eax
c0022fbf:	0f b6 00             	movzbl (%eax),%eax
c0022fc2:	84 c0                	test   %al,%al
c0022fc4:	74 26                	je     c0022fec <_Z6strspnPKcS0_+0x3d>
c0022fc6:	8b 45 08             	mov    0x8(%ebp),%eax
c0022fc9:	8d 50 01             	lea    0x1(%eax),%edx
c0022fcc:	89 55 08             	mov    %edx,0x8(%ebp)
c0022fcf:	0f b6 00             	movzbl (%eax),%eax
c0022fd2:	0f be c0             	movsbl %al,%eax
c0022fd5:	50                   	push   %eax
c0022fd6:	ff 75 0c             	pushl  0xc(%ebp)
c0022fd9:	e8 a0 ff ff ff       	call   c0022f7e <_Z6strchrPKci>
c0022fde:	83 c4 08             	add    $0x8,%esp
c0022fe1:	85 c0                	test   %eax,%eax
c0022fe3:	74 07                	je     c0022fec <_Z6strspnPKcS0_+0x3d>
c0022fe5:	b8 01 00 00 00       	mov    $0x1,%eax
c0022fea:	eb 05                	jmp    c0022ff1 <_Z6strspnPKcS0_+0x42>
c0022fec:	b8 00 00 00 00       	mov    $0x0,%eax
c0022ff1:	84 c0                	test   %al,%al
c0022ff3:	74 06                	je     c0022ffb <_Z6strspnPKcS0_+0x4c>
c0022ff5:	83 45 fc 01          	addl   $0x1,-0x4(%ebp)
c0022ff9:	eb c1                	jmp    c0022fbc <_Z6strspnPKcS0_+0xd>
c0022ffb:	8b 45 fc             	mov    -0x4(%ebp),%eax
c0022ffe:	c9                   	leave  
c0022fff:	c3                   	ret    

c0023000 <_Z7strcspnPKcS0_>:
c0023000:	55                   	push   %ebp
c0023001:	89 e5                	mov    %esp,%ebp
c0023003:	83 ec 10             	sub    $0x10,%esp
c0023006:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
c002300d:	8b 45 08             	mov    0x8(%ebp),%eax
c0023010:	0f b6 00             	movzbl (%eax),%eax
c0023013:	84 c0                	test   %al,%al
c0023015:	74 2d                	je     c0023044 <_Z7strcspnPKcS0_+0x44>
c0023017:	8b 45 08             	mov    0x8(%ebp),%eax
c002301a:	0f b6 00             	movzbl (%eax),%eax
c002301d:	0f be c0             	movsbl %al,%eax
c0023020:	50                   	push   %eax
c0023021:	ff 75 0c             	pushl  0xc(%ebp)
c0023024:	e8 55 ff ff ff       	call   c0022f7e <_Z6strchrPKci>
c0023029:	83 c4 08             	add    $0x8,%esp
c002302c:	85 c0                	test   %eax,%eax
c002302e:	0f 95 c0             	setne  %al
c0023031:	84 c0                	test   %al,%al
c0023033:	74 05                	je     c002303a <_Z7strcspnPKcS0_+0x3a>
c0023035:	8b 45 fc             	mov    -0x4(%ebp),%eax
c0023038:	eb 0d                	jmp    c0023047 <_Z7strcspnPKcS0_+0x47>
c002303a:	83 45 08 01          	addl   $0x1,0x8(%ebp)
c002303e:	83 45 fc 01          	addl   $0x1,-0x4(%ebp)
c0023042:	eb c9                	jmp    c002300d <_Z7strcspnPKcS0_+0xd>
c0023044:	8b 45 fc             	mov    -0x4(%ebp),%eax
c0023047:	c9                   	leave  
c0023048:	c3                   	ret    

c0023049 <_Z6strtokPcPKc>:
c0023049:	55                   	push   %ebp
c002304a:	89 e5                	mov    %esp,%ebp
c002304c:	53                   	push   %ebx
c002304d:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
c0023051:	74 0a                	je     c002305d <_Z6strtokPcPKc+0x14>
c0023053:	8b 45 08             	mov    0x8(%ebp),%eax
c0023056:	a3 64 e2 44 c0       	mov    %eax,0xc044e264
c002305b:	eb 10                	jmp    c002306d <_Z6strtokPcPKc+0x24>
c002305d:	a1 64 e2 44 c0       	mov    0xc044e264,%eax
c0023062:	85 c0                	test   %eax,%eax
c0023064:	75 07                	jne    c002306d <_Z6strtokPcPKc+0x24>
c0023066:	b8 00 00 00 00       	mov    $0x0,%eax
c002306b:	eb 7c                	jmp    c00230e9 <_Z6strtokPcPKc+0xa0>
c002306d:	8b 1d 64 e2 44 c0    	mov    0xc044e264,%ebx
c0023073:	a1 64 e2 44 c0       	mov    0xc044e264,%eax
c0023078:	ff 75 0c             	pushl  0xc(%ebp)
c002307b:	50                   	push   %eax
c002307c:	e8 2e ff ff ff       	call   c0022faf <_Z6strspnPKcS0_>
c0023081:	83 c4 08             	add    $0x8,%esp
c0023084:	01 d8                	add    %ebx,%eax
c0023086:	89 45 08             	mov    %eax,0x8(%ebp)
c0023089:	ff 75 0c             	pushl  0xc(%ebp)
c002308c:	ff 75 08             	pushl  0x8(%ebp)
c002308f:	e8 6c ff ff ff       	call   c0023000 <_Z7strcspnPKcS0_>
c0023094:	83 c4 08             	add    $0x8,%esp
c0023097:	89 c2                	mov    %eax,%edx
c0023099:	8b 45 08             	mov    0x8(%ebp),%eax
c002309c:	01 d0                	add    %edx,%eax
c002309e:	a3 64 e2 44 c0       	mov    %eax,0xc044e264
c00230a3:	a1 64 e2 44 c0       	mov    0xc044e264,%eax
c00230a8:	39 45 08             	cmp    %eax,0x8(%ebp)
c00230ab:	75 11                	jne    c00230be <_Z6strtokPcPKc+0x75>
c00230ad:	c7 05 64 e2 44 c0 00 	movl   $0x0,0xc044e264
c00230b4:	00 00 00 
c00230b7:	a1 64 e2 44 c0       	mov    0xc044e264,%eax
c00230bc:	eb 2b                	jmp    c00230e9 <_Z6strtokPcPKc+0xa0>
c00230be:	a1 64 e2 44 c0       	mov    0xc044e264,%eax
c00230c3:	0f b6 00             	movzbl (%eax),%eax
c00230c6:	84 c0                	test   %al,%al
c00230c8:	74 12                	je     c00230dc <_Z6strtokPcPKc+0x93>
c00230ca:	a1 64 e2 44 c0       	mov    0xc044e264,%eax
c00230cf:	c6 00 00             	movb   $0x0,(%eax)
c00230d2:	a1 64 e2 44 c0       	mov    0xc044e264,%eax
c00230d7:	83 c0 01             	add    $0x1,%eax
c00230da:	eb 05                	jmp    c00230e1 <_Z6strtokPcPKc+0x98>
c00230dc:	b8 00 00 00 00       	mov    $0x0,%eax
c00230e1:	a3 64 e2 44 c0       	mov    %eax,0xc044e264
c00230e6:	8b 45 08             	mov    0x8(%ebp),%eax
c00230e9:	8b 5d fc             	mov    -0x4(%ebp),%ebx
c00230ec:	c9                   	leave  
c00230ed:	c3                   	ret    

c00230ee <_Z6strcmpPcS_>:
c00230ee:	55                   	push   %ebp
c00230ef:	89 e5                	mov    %esp,%ebp
c00230f1:	83 ec 10             	sub    $0x10,%esp
c00230f4:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
c00230fb:	8b 55 fc             	mov    -0x4(%ebp),%edx
c00230fe:	8b 45 08             	mov    0x8(%ebp),%eax
c0023101:	01 d0                	add    %edx,%eax
c0023103:	0f b6 10             	movzbl (%eax),%edx
c0023106:	8b 4d fc             	mov    -0x4(%ebp),%ecx
c0023109:	8b 45 0c             	mov    0xc(%ebp),%eax
c002310c:	01 c8                	add    %ecx,%eax
c002310e:	0f b6 00             	movzbl (%eax),%eax
c0023111:	38 c2                	cmp    %al,%dl
c0023113:	74 28                	je     c002313d <_Z6strcmpPcS_+0x4f>
c0023115:	8b 55 fc             	mov    -0x4(%ebp),%edx
c0023118:	8b 45 08             	mov    0x8(%ebp),%eax
c002311b:	01 d0                	add    %edx,%eax
c002311d:	0f b6 10             	movzbl (%eax),%edx
c0023120:	8b 4d fc             	mov    -0x4(%ebp),%ecx
c0023123:	8b 45 0c             	mov    0xc(%ebp),%eax
c0023126:	01 c8                	add    %ecx,%eax
c0023128:	0f b6 00             	movzbl (%eax),%eax
c002312b:	38 c2                	cmp    %al,%dl
c002312d:	7d 07                	jge    c0023136 <_Z6strcmpPcS_+0x48>
c002312f:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
c0023134:	eb 23                	jmp    c0023159 <_Z6strcmpPcS_+0x6b>
c0023136:	b8 01 00 00 00       	mov    $0x1,%eax
c002313b:	eb 1c                	jmp    c0023159 <_Z6strcmpPcS_+0x6b>
c002313d:	8b 55 fc             	mov    -0x4(%ebp),%edx
c0023140:	8b 45 08             	mov    0x8(%ebp),%eax
c0023143:	01 d0                	add    %edx,%eax
c0023145:	0f b6 00             	movzbl (%eax),%eax
c0023148:	84 c0                	test   %al,%al
c002314a:	75 07                	jne    c0023153 <_Z6strcmpPcS_+0x65>
c002314c:	b8 00 00 00 00       	mov    $0x0,%eax
c0023151:	eb 06                	jmp    c0023159 <_Z6strcmpPcS_+0x6b>
c0023153:	83 45 fc 01          	addl   $0x1,-0x4(%ebp)
c0023157:	eb a2                	jmp    c00230fb <_Z6strcmpPcS_+0xd>
c0023159:	c9                   	leave  
c002315a:	c3                   	ret    

c002315b <_Z6substriPcS_>:
c002315b:	55                   	push   %ebp
c002315c:	89 e5                	mov    %esp,%ebp
c002315e:	83 ec 08             	sub    $0x8,%esp
c0023161:	8b 45 08             	mov    0x8(%ebp),%eax
c0023164:	83 ec 04             	sub    $0x4,%esp
c0023167:	50                   	push   %eax
c0023168:	ff 75 0c             	pushl  0xc(%ebp)
c002316b:	ff 75 10             	pushl  0x10(%ebp)
c002316e:	e8 24 cc ff ff       	call   c001fd97 <_Z6memcpyPvS_m>
c0023173:	83 c4 10             	add    $0x10,%esp
c0023176:	8b 55 08             	mov    0x8(%ebp),%edx
c0023179:	8b 45 10             	mov    0x10(%ebp),%eax
c002317c:	01 d0                	add    %edx,%eax
c002317e:	c6 00 00             	movb   $0x0,(%eax)
c0023181:	90                   	nop
c0023182:	c9                   	leave  
c0023183:	c3                   	ret    

c0023184 <_Z6substriiPcS_>:
c0023184:	55                   	push   %ebp
c0023185:	89 e5                	mov    %esp,%ebp
c0023187:	83 ec 08             	sub    $0x8,%esp
c002318a:	8b 45 0c             	mov    0xc(%ebp),%eax
c002318d:	2b 45 08             	sub    0x8(%ebp),%eax
c0023190:	89 c1                	mov    %eax,%ecx
c0023192:	8b 55 08             	mov    0x8(%ebp),%edx
c0023195:	8b 45 10             	mov    0x10(%ebp),%eax
c0023198:	01 d0                	add    %edx,%eax
c002319a:	83 ec 04             	sub    $0x4,%esp
c002319d:	51                   	push   %ecx
c002319e:	50                   	push   %eax
c002319f:	ff 75 14             	pushl  0x14(%ebp)
c00231a2:	e8 f0 cb ff ff       	call   c001fd97 <_Z6memcpyPvS_m>
c00231a7:	83 c4 10             	add    $0x10,%esp
c00231aa:	8b 45 0c             	mov    0xc(%ebp),%eax
c00231ad:	2b 45 08             	sub    0x8(%ebp),%eax
c00231b0:	89 c2                	mov    %eax,%edx
c00231b2:	8b 45 14             	mov    0x14(%ebp),%eax
c00231b5:	01 d0                	add    %edx,%eax
c00231b7:	c6 00 00             	movb   $0x0,(%eax)
c00231ba:	90                   	nop
c00231bb:	c9                   	leave  
c00231bc:	c3                   	ret    

c00231bd <_Z4itoamPci>:
c00231bd:	55                   	push   %ebp
c00231be:	89 e5                	mov    %esp,%ebp
c00231c0:	83 ec 10             	sub    $0x10,%esp
c00231c3:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
c00231c7:	75 07                	jne    c00231d0 <_Z4itoamPci+0x13>
c00231c9:	c7 45 0c 00 00 00 c0 	movl   $0xc0000000,0xc(%ebp)
c00231d0:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
c00231d7:	c6 45 fb 00          	movb   $0x0,-0x5(%ebp)
c00231db:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
c00231df:	75 26                	jne    c0023207 <_Z4itoamPci+0x4a>
c00231e1:	8b 45 fc             	mov    -0x4(%ebp),%eax
c00231e4:	8d 50 01             	lea    0x1(%eax),%edx
c00231e7:	89 55 fc             	mov    %edx,-0x4(%ebp)
c00231ea:	89 c2                	mov    %eax,%edx
c00231ec:	8b 45 0c             	mov    0xc(%ebp),%eax
c00231ef:	01 d0                	add    %edx,%eax
c00231f1:	c6 00 30             	movb   $0x30,(%eax)
c00231f4:	8b 55 fc             	mov    -0x4(%ebp),%edx
c00231f7:	8b 45 0c             	mov    0xc(%ebp),%eax
c00231fa:	01 d0                	add    %edx,%eax
c00231fc:	c6 00 00             	movb   $0x0,(%eax)
c00231ff:	8b 45 0c             	mov    0xc(%ebp),%eax
c0023202:	e9 89 00 00 00       	jmp    c0023290 <_Z4itoamPci+0xd3>
c0023207:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
c002320b:	74 4e                	je     c002325b <_Z4itoamPci+0x9e>
c002320d:	8b 4d 10             	mov    0x10(%ebp),%ecx
c0023210:	8b 45 08             	mov    0x8(%ebp),%eax
c0023213:	ba 00 00 00 00       	mov    $0x0,%edx
c0023218:	f7 f1                	div    %ecx
c002321a:	89 d0                	mov    %edx,%eax
c002321c:	89 45 f4             	mov    %eax,-0xc(%ebp)
c002321f:	83 7d f4 09          	cmpl   $0x9,-0xc(%ebp)
c0023223:	7e 0a                	jle    c002322f <_Z4itoamPci+0x72>
c0023225:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0023228:	83 c0 57             	add    $0x57,%eax
c002322b:	89 c1                	mov    %eax,%ecx
c002322d:	eb 08                	jmp    c0023237 <_Z4itoamPci+0x7a>
c002322f:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0023232:	83 c0 30             	add    $0x30,%eax
c0023235:	89 c1                	mov    %eax,%ecx
c0023237:	8b 45 fc             	mov    -0x4(%ebp),%eax
c002323a:	8d 50 01             	lea    0x1(%eax),%edx
c002323d:	89 55 fc             	mov    %edx,-0x4(%ebp)
c0023240:	89 c2                	mov    %eax,%edx
c0023242:	8b 45 0c             	mov    0xc(%ebp),%eax
c0023245:	01 d0                	add    %edx,%eax
c0023247:	88 08                	mov    %cl,(%eax)
c0023249:	8b 4d 10             	mov    0x10(%ebp),%ecx
c002324c:	8b 45 08             	mov    0x8(%ebp),%eax
c002324f:	ba 00 00 00 00       	mov    $0x0,%edx
c0023254:	f7 f1                	div    %ecx
c0023256:	89 45 08             	mov    %eax,0x8(%ebp)
c0023259:	eb ac                	jmp    c0023207 <_Z4itoamPci+0x4a>
c002325b:	80 7d fb 00          	cmpb   $0x0,-0x5(%ebp)
c002325f:	74 13                	je     c0023274 <_Z4itoamPci+0xb7>
c0023261:	8b 45 fc             	mov    -0x4(%ebp),%eax
c0023264:	8d 50 01             	lea    0x1(%eax),%edx
c0023267:	89 55 fc             	mov    %edx,-0x4(%ebp)
c002326a:	89 c2                	mov    %eax,%edx
c002326c:	8b 45 0c             	mov    0xc(%ebp),%eax
c002326f:	01 d0                	add    %edx,%eax
c0023271:	c6 00 2d             	movb   $0x2d,(%eax)
c0023274:	8b 55 fc             	mov    -0x4(%ebp),%edx
c0023277:	8b 45 0c             	mov    0xc(%ebp),%eax
c002327a:	01 d0                	add    %edx,%eax
c002327c:	c6 00 00             	movb   $0x0,(%eax)
c002327f:	ff 75 fc             	pushl  -0x4(%ebp)
c0023282:	ff 75 0c             	pushl  0xc(%ebp)
c0023285:	e8 0e fc ff ff       	call   c0022e98 <_Z7reversePci>
c002328a:	83 c4 08             	add    $0x8,%esp
c002328d:	8b 45 0c             	mov    0xc(%ebp),%eax
c0023290:	c9                   	leave  
c0023291:	c3                   	ret    

c0023292 <_Z4itoajPci>:
c0023292:	55                   	push   %ebp
c0023293:	89 e5                	mov    %esp,%ebp
c0023295:	83 ec 10             	sub    $0x10,%esp
c0023298:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
c002329f:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
c00232a3:	75 23                	jne    c00232c8 <_Z4itoajPci+0x36>
c00232a5:	8b 45 fc             	mov    -0x4(%ebp),%eax
c00232a8:	8d 50 01             	lea    0x1(%eax),%edx
c00232ab:	89 55 fc             	mov    %edx,-0x4(%ebp)
c00232ae:	89 c2                	mov    %eax,%edx
c00232b0:	8b 45 0c             	mov    0xc(%ebp),%eax
c00232b3:	01 d0                	add    %edx,%eax
c00232b5:	c6 00 30             	movb   $0x30,(%eax)
c00232b8:	8b 55 fc             	mov    -0x4(%ebp),%edx
c00232bb:	8b 45 0c             	mov    0xc(%ebp),%eax
c00232be:	01 d0                	add    %edx,%eax
c00232c0:	c6 00 00             	movb   $0x0,(%eax)
c00232c3:	8b 45 0c             	mov    0xc(%ebp),%eax
c00232c6:	eb 70                	jmp    c0023338 <_Z4itoajPci+0xa6>
c00232c8:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
c00232cc:	74 4e                	je     c002331c <_Z4itoajPci+0x8a>
c00232ce:	8b 4d 10             	mov    0x10(%ebp),%ecx
c00232d1:	8b 45 08             	mov    0x8(%ebp),%eax
c00232d4:	ba 00 00 00 00       	mov    $0x0,%edx
c00232d9:	f7 f1                	div    %ecx
c00232db:	89 d0                	mov    %edx,%eax
c00232dd:	89 45 f8             	mov    %eax,-0x8(%ebp)
c00232e0:	83 7d f8 09          	cmpl   $0x9,-0x8(%ebp)
c00232e4:	7e 0a                	jle    c00232f0 <_Z4itoajPci+0x5e>
c00232e6:	8b 45 f8             	mov    -0x8(%ebp),%eax
c00232e9:	83 c0 57             	add    $0x57,%eax
c00232ec:	89 c1                	mov    %eax,%ecx
c00232ee:	eb 08                	jmp    c00232f8 <_Z4itoajPci+0x66>
c00232f0:	8b 45 f8             	mov    -0x8(%ebp),%eax
c00232f3:	83 c0 30             	add    $0x30,%eax
c00232f6:	89 c1                	mov    %eax,%ecx
c00232f8:	8b 45 fc             	mov    -0x4(%ebp),%eax
c00232fb:	8d 50 01             	lea    0x1(%eax),%edx
c00232fe:	89 55 fc             	mov    %edx,-0x4(%ebp)
c0023301:	89 c2                	mov    %eax,%edx
c0023303:	8b 45 0c             	mov    0xc(%ebp),%eax
c0023306:	01 d0                	add    %edx,%eax
c0023308:	88 08                	mov    %cl,(%eax)
c002330a:	8b 4d 10             	mov    0x10(%ebp),%ecx
c002330d:	8b 45 08             	mov    0x8(%ebp),%eax
c0023310:	ba 00 00 00 00       	mov    $0x0,%edx
c0023315:	f7 f1                	div    %ecx
c0023317:	89 45 08             	mov    %eax,0x8(%ebp)
c002331a:	eb ac                	jmp    c00232c8 <_Z4itoajPci+0x36>
c002331c:	8b 55 fc             	mov    -0x4(%ebp),%edx
c002331f:	8b 45 0c             	mov    0xc(%ebp),%eax
c0023322:	01 d0                	add    %edx,%eax
c0023324:	c6 00 00             	movb   $0x0,(%eax)
c0023327:	ff 75 fc             	pushl  -0x4(%ebp)
c002332a:	ff 75 0c             	pushl  0xc(%ebp)
c002332d:	e8 66 fb ff ff       	call   c0022e98 <_Z7reversePci>
c0023332:	83 c4 08             	add    $0x8,%esp
c0023335:	8b 45 0c             	mov    0xc(%ebp),%eax
c0023338:	c9                   	leave  
c0023339:	c3                   	ret    

c002333a <_Z6strcpyPcPKc>:
c002333a:	55                   	push   %ebp
c002333b:	89 e5                	mov    %esp,%ebp
c002333d:	83 ec 10             	sub    $0x10,%esp
c0023340:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
c0023347:	8b 55 fc             	mov    -0x4(%ebp),%edx
c002334a:	8b 45 0c             	mov    0xc(%ebp),%eax
c002334d:	01 d0                	add    %edx,%eax
c002334f:	0f b6 00             	movzbl (%eax),%eax
c0023352:	84 c0                	test   %al,%al
c0023354:	74 1b                	je     c0023371 <_Z6strcpyPcPKc+0x37>
c0023356:	8b 55 fc             	mov    -0x4(%ebp),%edx
c0023359:	8b 45 0c             	mov    0xc(%ebp),%eax
c002335c:	01 d0                	add    %edx,%eax
c002335e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
c0023361:	8b 55 08             	mov    0x8(%ebp),%edx
c0023364:	01 ca                	add    %ecx,%edx
c0023366:	0f b6 00             	movzbl (%eax),%eax
c0023369:	88 02                	mov    %al,(%edx)
c002336b:	83 45 fc 01          	addl   $0x1,-0x4(%ebp)
c002336f:	eb d6                	jmp    c0023347 <_Z6strcpyPcPKc+0xd>
c0023371:	90                   	nop
c0023372:	c9                   	leave  
c0023373:	c3                   	ret    

c0023374 <_Z8sys_exitP8regs32_t>:
c0023374:	55                   	push   %ebp
c0023375:	89 e5                	mov    %esp,%ebp
c0023377:	b8 00 00 00 00       	mov    $0x0,%eax
c002337c:	5d                   	pop    %ebp
c002337d:	c3                   	ret    

c002337e <_Z8sys_execP8regs32_t>:
c002337e:	55                   	push   %ebp
c002337f:	89 e5                	mov    %esp,%ebp
c0023381:	b8 00 00 00 00       	mov    $0x0,%eax
c0023386:	5d                   	pop    %ebp
c0023387:	c3                   	ret    

c0023388 <_Z8sys_readP8regs32_t>:
c0023388:	55                   	push   %ebp
c0023389:	89 e5                	mov    %esp,%ebp
c002338b:	b8 00 00 00 00       	mov    $0x0,%eax
c0023390:	5d                   	pop    %ebp
c0023391:	c3                   	ret    

c0023392 <_Z9sys_writeP8regs32_t>:
c0023392:	55                   	push   %ebp
c0023393:	89 e5                	mov    %esp,%ebp
c0023395:	b8 00 00 00 00       	mov    $0x0,%eax
c002339a:	5d                   	pop    %ebp
c002339b:	c3                   	ret    

c002339c <_Z8sys_openP8regs32_t>:
c002339c:	55                   	push   %ebp
c002339d:	89 e5                	mov    %esp,%ebp
c002339f:	b8 00 00 00 00       	mov    $0x0,%eax
c00233a4:	5d                   	pop    %ebp
c00233a5:	c3                   	ret    

c00233a6 <_Z9sys_closeP8regs32_t>:
c00233a6:	55                   	push   %ebp
c00233a7:	89 e5                	mov    %esp,%ebp
c00233a9:	b8 00 00 00 00       	mov    $0x0,%eax
c00233ae:	5d                   	pop    %ebp
c00233af:	c3                   	ret    

c00233b0 <_Z10sys_createP8regs32_t>:
c00233b0:	55                   	push   %ebp
c00233b1:	89 e5                	mov    %esp,%ebp
c00233b3:	b8 00 00 00 00       	mov    $0x0,%eax
c00233b8:	5d                   	pop    %ebp
c00233b9:	c3                   	ret    

c00233ba <_Z8sys_linkP8regs32_t>:
c00233ba:	55                   	push   %ebp
c00233bb:	89 e5                	mov    %esp,%ebp
c00233bd:	b8 00 00 00 00       	mov    $0x0,%eax
c00233c2:	5d                   	pop    %ebp
c00233c3:	c3                   	ret    

c00233c4 <_Z10sys_unlinkP8regs32_t>:
c00233c4:	55                   	push   %ebp
c00233c5:	89 e5                	mov    %esp,%ebp
c00233c7:	b8 00 00 00 00       	mov    $0x0,%eax
c00233cc:	5d                   	pop    %ebp
c00233cd:	c3                   	ret    

c00233ce <_Z10sys_getpidP8regs32_t>:
c00233ce:	55                   	push   %ebp
c00233cf:	89 e5                	mov    %esp,%ebp
c00233d1:	83 ec 18             	sub    $0x18,%esp
c00233d4:	8b 45 08             	mov    0x8(%ebp),%eax
c00233d7:	8b 40 20             	mov    0x20(%eax),%eax
c00233da:	89 45 f4             	mov    %eax,-0xc(%ebp)
c00233dd:	e8 f4 cc ff ff       	call   c00200d6 <_Z16get_current_procv>
c00233e2:	8b 10                	mov    (%eax),%edx
c00233e4:	8b 45 f4             	mov    -0xc(%ebp),%eax
c00233e7:	89 10                	mov    %edx,(%eax)
c00233e9:	b8 00 00 00 00       	mov    $0x0,%eax
c00233ee:	c9                   	leave  
c00233ef:	c3                   	ret    

c00233f0 <_Z15sys_alloc_pagesP8regs32_t>:
c00233f0:	55                   	push   %ebp
c00233f1:	89 e5                	mov    %esp,%ebp
c00233f3:	53                   	push   %ebx
c00233f4:	83 ec 14             	sub    $0x14,%esp
c00233f7:	e8 da cc ff ff       	call   c00200d6 <_Z16get_current_procv>
c00233fc:	8b 55 08             	mov    0x8(%ebp),%edx
c00233ff:	8b 4a 20             	mov    0x20(%edx),%ecx
c0023402:	83 ec 0c             	sub    $0xc,%esp
c0023405:	89 e2                	mov    %esp,%edx
c0023407:	8b 58 05             	mov    0x5(%eax),%ebx
c002340a:	89 1a                	mov    %ebx,(%edx)
c002340c:	8b 58 09             	mov    0x9(%eax),%ebx
c002340f:	89 5a 04             	mov    %ebx,0x4(%edx)
c0023412:	8b 40 0d             	mov    0xd(%eax),%eax
c0023415:	89 42 08             	mov    %eax,0x8(%edx)
c0023418:	51                   	push   %ecx
c0023419:	e8 d7 d6 ff ff       	call   c0020af5 <_Z14pages_allocatem20page_directory_ptr_t>
c002341e:	83 c4 10             	add    $0x10,%esp
c0023421:	89 45 f0             	mov    %eax,-0x10(%ebp)
c0023424:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
c002342b:	8b 45 08             	mov    0x8(%ebp),%eax
c002342e:	8b 40 20             	mov    0x20(%eax),%eax
c0023431:	39 45 f4             	cmp    %eax,-0xc(%ebp)
c0023434:	73 48                	jae    c002347e <_Z15sys_alloc_pagesP8regs32_t+0x8e>
c0023436:	e8 7e e5 ff ff       	call   c00219b9 <_Z21physalloc_alloc_blockv>
c002343b:	89 45 ec             	mov    %eax,-0x14(%ebp)
c002343e:	e8 93 cc ff ff       	call   c00200d6 <_Z16get_current_procv>
c0023443:	8b 55 f4             	mov    -0xc(%ebp),%edx
c0023446:	89 d1                	mov    %edx,%ecx
c0023448:	c1 e1 0c             	shl    $0xc,%ecx
c002344b:	8b 55 f0             	mov    -0x10(%ebp),%edx
c002344e:	8d 1c 11             	lea    (%ecx,%edx,1),%ebx
c0023451:	83 ec 08             	sub    $0x8,%esp
c0023454:	83 ec 0c             	sub    $0xc,%esp
c0023457:	89 e2                	mov    %esp,%edx
c0023459:	8b 48 05             	mov    0x5(%eax),%ecx
c002345c:	89 0a                	mov    %ecx,(%edx)
c002345e:	8b 48 09             	mov    0x9(%eax),%ecx
c0023461:	89 4a 04             	mov    %ecx,0x4(%edx)
c0023464:	8b 40 0d             	mov    0xd(%eax),%eax
c0023467:	89 42 08             	mov    %eax,0x8(%edx)
c002346a:	6a 01                	push   $0x1
c002346c:	53                   	push   %ebx
c002346d:	ff 75 ec             	pushl  -0x14(%ebp)
c0023470:	e8 da da ff ff       	call   c0020f4f <_Z8map_pagemmm20page_directory_ptr_t>
c0023475:	83 c4 20             	add    $0x20,%esp
c0023478:	83 45 f4 01          	addl   $0x1,-0xc(%ebp)
c002347c:	eb ad                	jmp    c002342b <_Z15sys_alloc_pagesP8regs32_t+0x3b>
c002347e:	8b 45 08             	mov    0x8(%ebp),%eax
c0023481:	8b 40 28             	mov    0x28(%eax),%eax
c0023484:	89 45 e8             	mov    %eax,-0x18(%ebp)
c0023487:	8b 45 e8             	mov    -0x18(%ebp),%eax
c002348a:	8b 55 f0             	mov    -0x10(%ebp),%edx
c002348d:	89 10                	mov    %edx,(%eax)
c002348f:	b8 00 00 00 00       	mov    $0x0,%eax
c0023494:	8b 5d fc             	mov    -0x4(%ebp),%ebx
c0023497:	c9                   	leave  
c0023498:	c3                   	ret    

c0023499 <_Z18sys_msg_send_asyncP8regs32_t>:
c0023499:	55                   	push   %ebp
c002349a:	89 e5                	mov    %esp,%ebp
c002349c:	83 ec 28             	sub    $0x28,%esp
c002349f:	8b 45 08             	mov    0x8(%ebp),%eax
c00234a2:	8b 40 20             	mov    0x20(%eax),%eax
c00234a5:	89 45 f4             	mov    %eax,-0xc(%ebp)
c00234a8:	8b 45 08             	mov    0x8(%ebp),%eax
c00234ab:	8b 40 28             	mov    0x28(%eax),%eax
c00234ae:	89 45 f0             	mov    %eax,-0x10(%ebp)
c00234b1:	8b 45 08             	mov    0x8(%ebp),%eax
c00234b4:	8b 40 24             	mov    0x24(%eax),%eax
c00234b7:	89 45 ec             	mov    %eax,-0x14(%ebp)
c00234ba:	e8 17 cc ff ff       	call   c00200d6 <_Z16get_current_procv>
c00234bf:	8b 00                	mov    (%eax),%eax
c00234c1:	89 45 d8             	mov    %eax,-0x28(%ebp)
c00234c4:	8b 45 f4             	mov    -0xc(%ebp),%eax
c00234c7:	89 45 dc             	mov    %eax,-0x24(%ebp)
c00234ca:	8b 45 f0             	mov    -0x10(%ebp),%eax
c00234cd:	89 45 e0             	mov    %eax,-0x20(%ebp)
c00234d0:	8b 45 ec             	mov    -0x14(%ebp),%eax
c00234d3:	89 45 e4             	mov    %eax,-0x1c(%ebp)
c00234d6:	83 ec 0c             	sub    $0xc,%esp
c00234d9:	ff 75 f4             	pushl  -0xc(%ebp)
c00234dc:	e8 34 cf ff ff       	call   c0020415 <_Z11find_by_pidm>
c00234e1:	83 c4 10             	add    $0x10,%esp
c00234e4:	89 45 e8             	mov    %eax,-0x18(%ebp)
c00234e7:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
c00234eb:	75 07                	jne    c00234f4 <_Z18sys_msg_send_asyncP8regs32_t+0x5b>
c00234ed:	b8 01 00 00 00       	mov    $0x1,%eax
c00234f2:	eb 25                	jmp    c0023519 <_Z18sys_msg_send_asyncP8regs32_t+0x80>
c00234f4:	8b 45 e8             	mov    -0x18(%ebp),%eax
c00234f7:	05 88 00 00 00       	add    $0x88,%eax
c00234fc:	83 ec 0c             	sub    $0xc,%esp
c00234ff:	ff 75 e4             	pushl  -0x1c(%ebp)
c0023502:	ff 75 e0             	pushl  -0x20(%ebp)
c0023505:	ff 75 dc             	pushl  -0x24(%ebp)
c0023508:	ff 75 d8             	pushl  -0x28(%ebp)
c002350b:	50                   	push   %eax
c002350c:	e8 93 18 00 00       	call   c0024da4 <_ZN4ListI9message_tE8add_backES0_>
c0023511:	83 c4 20             	add    $0x20,%esp
c0023514:	b8 00 00 00 00       	mov    $0x0,%eax
c0023519:	c9                   	leave  
c002351a:	c3                   	ret    

c002351b <_Z17sys_msg_send_syncP8regs32_t>:
c002351b:	55                   	push   %ebp
c002351c:	89 e5                	mov    %esp,%ebp
c002351e:	90                   	nop
c002351f:	5d                   	pop    %ebp
c0023520:	c3                   	ret    

c0023521 <_Z15sys_msg_recieveP8regs32_t>:
c0023521:	55                   	push   %ebp
c0023522:	89 e5                	mov    %esp,%ebp
c0023524:	53                   	push   %ebx
c0023525:	83 ec 34             	sub    $0x34,%esp
c0023528:	8b 45 08             	mov    0x8(%ebp),%eax
c002352b:	8b 40 20             	mov    0x20(%eax),%eax
c002352e:	89 45 f4             	mov    %eax,-0xc(%ebp)
c0023531:	e8 a0 cb ff ff       	call   c00200d6 <_Z16get_current_procv>
c0023536:	8d 90 88 00 00 00    	lea    0x88(%eax),%edx
c002353c:	8b 5d f4             	mov    -0xc(%ebp),%ebx
c002353f:	8d 45 c8             	lea    -0x38(%ebp),%eax
c0023542:	83 ec 04             	sub    $0x4,%esp
c0023545:	6a 00                	push   $0x0
c0023547:	52                   	push   %edx
c0023548:	50                   	push   %eax
c0023549:	e8 2c 19 00 00       	call   c0024e7a <_ZN4ListI9message_tEixEj>
c002354e:	83 c4 0c             	add    $0xc,%esp
c0023551:	8b 45 c8             	mov    -0x38(%ebp),%eax
c0023554:	89 03                	mov    %eax,(%ebx)
c0023556:	8b 45 cc             	mov    -0x34(%ebp),%eax
c0023559:	89 43 04             	mov    %eax,0x4(%ebx)
c002355c:	8b 45 d0             	mov    -0x30(%ebp),%eax
c002355f:	89 43 08             	mov    %eax,0x8(%ebx)
c0023562:	8b 45 d4             	mov    -0x2c(%ebp),%eax
c0023565:	89 43 0c             	mov    %eax,0xc(%ebx)
c0023568:	e8 69 cb ff ff       	call   c00200d6 <_Z16get_current_procv>
c002356d:	8d 90 88 00 00 00    	lea    0x88(%eax),%edx
c0023573:	8d 45 e4             	lea    -0x1c(%ebp),%eax
c0023576:	83 ec 04             	sub    $0x4,%esp
c0023579:	6a 00                	push   $0x0
c002357b:	52                   	push   %edx
c002357c:	50                   	push   %eax
c002357d:	e8 72 19 00 00       	call   c0024ef4 <_ZN4ListI9message_tE9remove_atEj>
c0023582:	83 c4 0c             	add    $0xc,%esp
c0023585:	b8 00 00 00 00       	mov    $0x0,%eax
c002358a:	8b 5d fc             	mov    -0x4(%ebp),%ebx
c002358d:	c9                   	leave  
c002358e:	c3                   	ret    

c002358f <_Z17sys_create_windowP8regs32_t>:
c002358f:	55                   	push   %ebp
c0023590:	89 e5                	mov    %esp,%ebp
c0023592:	57                   	push   %edi
c0023593:	56                   	push   %esi
c0023594:	53                   	push   %ebx
c0023595:	81 ec 8c 00 00 00    	sub    $0x8c,%esp
c002359b:	8b 45 08             	mov    0x8(%ebp),%eax
c002359e:	8b 40 20             	mov    0x20(%eax),%eax
c00235a1:	89 45 e4             	mov    %eax,-0x1c(%ebp)
c00235a4:	8b 45 08             	mov    0x8(%ebp),%eax
c00235a7:	8b 40 28             	mov    0x28(%eax),%eax
c00235aa:	89 c2                	mov    %eax,%edx
c00235ac:	8d 85 70 ff ff ff    	lea    -0x90(%ebp),%eax
c00235b2:	89 d3                	mov    %edx,%ebx
c00235b4:	ba 1b 00 00 00       	mov    $0x1b,%edx
c00235b9:	89 c7                	mov    %eax,%edi
c00235bb:	89 de                	mov    %ebx,%esi
c00235bd:	89 d1                	mov    %edx,%ecx
c00235bf:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
c00235c1:	83 ec 0c             	sub    $0xc,%esp
c00235c4:	6a 74                	push   $0x74
c00235c6:	e8 b2 9e ff ff       	call   c001d47d <kmalloc>
c00235cb:	83 c4 10             	add    $0x10,%esp
c00235ce:	89 45 e0             	mov    %eax,-0x20(%ebp)
c00235d1:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
c00235d5:	74 08                	je     c00235df <_Z17sys_create_windowP8regs32_t+0x50>
c00235d7:	8b 45 e4             	mov    -0x1c(%ebp),%eax
c00235da:	8b 55 e0             	mov    -0x20(%ebp),%edx
c00235dd:	89 10                	mov    %edx,(%eax)
c00235df:	83 ec 0c             	sub    $0xc,%esp
c00235e2:	ff 75 e0             	pushl  -0x20(%ebp)
c00235e5:	e8 f6 ca ff ff       	call   c00200e0 <_Z15register_handlePv>
c00235ea:	83 c4 10             	add    $0x10,%esp
c00235ed:	8b 45 e0             	mov    -0x20(%ebp),%eax
c00235f0:	89 45 dc             	mov    %eax,-0x24(%ebp)
c00235f3:	0f b7 95 70 ff ff ff 	movzwl -0x90(%ebp),%edx
c00235fa:	8b 45 dc             	mov    -0x24(%ebp),%eax
c00235fd:	66 89 10             	mov    %dx,(%eax)
c0023600:	0f b7 95 72 ff ff ff 	movzwl -0x8e(%ebp),%edx
c0023607:	8b 45 dc             	mov    -0x24(%ebp),%eax
c002360a:	66 89 50 02          	mov    %dx,0x2(%eax)
c002360e:	0f b7 95 74 ff ff ff 	movzwl -0x8c(%ebp),%edx
c0023615:	8b 45 dc             	mov    -0x24(%ebp),%eax
c0023618:	66 89 50 04          	mov    %dx,0x4(%eax)
c002361c:	0f b7 95 76 ff ff ff 	movzwl -0x8a(%ebp),%edx
c0023623:	8b 45 dc             	mov    -0x24(%ebp),%eax
c0023626:	66 89 50 06          	mov    %dx,0x6(%eax)
c002362a:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
c0023630:	8b 45 dc             	mov    -0x24(%ebp),%eax
c0023633:	89 50 08             	mov    %edx,0x8(%eax)
c0023636:	83 ec 0c             	sub    $0xc,%esp
c0023639:	68 0d 6d 02 c0       	push   $0xc0026d0d
c002363e:	e8 4b e5 ff ff       	call   c0021b8e <write_serial_string>
c0023643:	83 c4 10             	add    $0x10,%esp
c0023646:	0f b7 85 76 ff ff ff 	movzwl -0x8a(%ebp),%eax
c002364d:	0f b7 c0             	movzwl %ax,%eax
c0023650:	83 ec 04             	sub    $0x4,%esp
c0023653:	6a 0a                	push   $0xa
c0023655:	6a 00                	push   $0x0
c0023657:	50                   	push   %eax
c0023658:	e8 60 fb ff ff       	call   c00231bd <_Z4itoamPci>
c002365d:	83 c4 10             	add    $0x10,%esp
c0023660:	83 ec 0c             	sub    $0xc,%esp
c0023663:	50                   	push   %eax
c0023664:	e8 25 e5 ff ff       	call   c0021b8e <write_serial_string>
c0023669:	83 c4 10             	add    $0x10,%esp
c002366c:	8b 45 dc             	mov    -0x24(%ebp),%eax
c002366f:	0f b7 40 04          	movzwl 0x4(%eax),%eax
c0023673:	0f b7 d0             	movzwl %ax,%edx
c0023676:	8b 45 dc             	mov    -0x24(%ebp),%eax
c0023679:	0f b7 40 06          	movzwl 0x6(%eax),%eax
c002367d:	0f b7 c0             	movzwl %ax,%eax
c0023680:	0f af c2             	imul   %edx,%eax
c0023683:	c1 e0 02             	shl    $0x2,%eax
c0023686:	83 ec 0c             	sub    $0xc,%esp
c0023689:	50                   	push   %eax
c002368a:	e8 ee 9d ff ff       	call   c001d47d <kmalloc>
c002368f:	83 c4 10             	add    $0x10,%esp
c0023692:	89 c2                	mov    %eax,%edx
c0023694:	8b 45 dc             	mov    -0x24(%ebp),%eax
c0023697:	89 50 0c             	mov    %edx,0xc(%eax)
c002369a:	e8 2c 14 00 00       	call   c0024acb <_Z16get_main_desktopv>
c002369f:	8b 00                	mov    (%eax),%eax
c00236a1:	83 ec 08             	sub    $0x8,%esp
c00236a4:	ff 75 e0             	pushl  -0x20(%ebp)
c00236a7:	50                   	push   %eax
c00236a8:	e8 6d 19 00 00       	call   c002501a <_ZN4ListIP6WindowE8add_backES1_>
c00236ad:	83 c4 10             	add    $0x10,%esp
c00236b0:	b8 00 00 00 00       	mov    $0x0,%eax
c00236b5:	8d 65 f4             	lea    -0xc(%ebp),%esp
c00236b8:	5b                   	pop    %ebx
c00236b9:	5e                   	pop    %esi
c00236ba:	5f                   	pop    %edi
c00236bb:	5d                   	pop    %ebp
c00236bc:	c3                   	ret    

c00236bd <_Z18sys_create_desktopP8regs32_t>:
c00236bd:	55                   	push   %ebp
c00236be:	89 e5                	mov    %esp,%ebp
c00236c0:	53                   	push   %ebx
c00236c1:	83 ec 14             	sub    $0x14,%esp
c00236c4:	8b 45 08             	mov    0x8(%ebp),%eax
c00236c7:	8b 40 20             	mov    0x20(%eax),%eax
c00236ca:	89 45 f4             	mov    %eax,-0xc(%ebp)
c00236cd:	83 ec 0c             	sub    $0xc,%esp
c00236d0:	6a 20                	push   $0x20
c00236d2:	e8 a6 9d ff ff       	call   c001d47d <kmalloc>
c00236d7:	83 c4 10             	add    $0x10,%esp
c00236da:	89 45 f0             	mov    %eax,-0x10(%ebp)
c00236dd:	83 ec 0c             	sub    $0xc,%esp
c00236e0:	ff 75 f0             	pushl  -0x10(%ebp)
c00236e3:	e8 f8 c9 ff ff       	call   c00200e0 <_Z15register_handlePv>
c00236e8:	83 c4 10             	add    $0x10,%esp
c00236eb:	8b 45 f0             	mov    -0x10(%ebp),%eax
c00236ee:	89 45 ec             	mov    %eax,-0x14(%ebp)
c00236f1:	83 ec 0c             	sub    $0xc,%esp
c00236f4:	ff 75 ec             	pushl  -0x14(%ebp)
c00236f7:	e8 d9 13 00 00       	call   c0024ad5 <_Z16set_main_desktopP7Desktop>
c00236fc:	83 c4 10             	add    $0x10,%esp
c00236ff:	83 ec 0c             	sub    $0xc,%esp
c0023702:	6a 0c                	push   $0xc
c0023704:	e8 1b e3 ff ff       	call   c0021a24 <_Znwm>
c0023709:	83 c4 10             	add    $0x10,%esp
c002370c:	89 c3                	mov    %eax,%ebx
c002370e:	83 ec 0c             	sub    $0xc,%esp
c0023711:	53                   	push   %ebx
c0023712:	e8 9f 19 00 00       	call   c00250b6 <_ZN4ListIP6WindowEC1Ev>
c0023717:	83 c4 10             	add    $0x10,%esp
c002371a:	8b 45 ec             	mov    -0x14(%ebp),%eax
c002371d:	89 18                	mov    %ebx,(%eax)
c002371f:	8b 15 1c b2 02 c0    	mov    0xc002b21c,%edx
c0023725:	a1 14 b2 02 c0       	mov    0xc002b214,%eax
c002372a:	0f af c2             	imul   %edx,%eax
c002372d:	83 ec 0c             	sub    $0xc,%esp
c0023730:	50                   	push   %eax
c0023731:	e8 47 9d ff ff       	call   c001d47d <kmalloc>
c0023736:	83 c4 10             	add    $0x10,%esp
c0023739:	89 c2                	mov    %eax,%edx
c002373b:	8b 45 ec             	mov    -0x14(%ebp),%eax
c002373e:	89 50 18             	mov    %edx,0x18(%eax)
c0023741:	a1 14 b2 02 c0       	mov    0xc002b214,%eax
c0023746:	89 c2                	mov    %eax,%edx
c0023748:	8b 45 ec             	mov    -0x14(%ebp),%eax
c002374b:	89 50 10             	mov    %edx,0x10(%eax)
c002374e:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0023751:	8b 55 f0             	mov    -0x10(%ebp),%edx
c0023754:	89 10                	mov    %edx,(%eax)
c0023756:	b8 00 00 00 00       	mov    $0x0,%eax
c002375b:	8b 5d fc             	mov    -0x4(%ebp),%ebx
c002375e:	c9                   	leave  
c002375f:	c3                   	ret    

c0023760 <_Z17sys_paint_desktopP8regs32_t>:
c0023760:	55                   	push   %ebp
c0023761:	89 e5                	mov    %esp,%ebp
c0023763:	83 ec 28             	sub    $0x28,%esp
c0023766:	8b 45 08             	mov    0x8(%ebp),%eax
c0023769:	8b 40 20             	mov    0x20(%eax),%eax
c002376c:	89 45 f4             	mov    %eax,-0xc(%ebp)
c002376f:	8b 45 08             	mov    0x8(%ebp),%eax
c0023772:	8b 40 28             	mov    0x28(%eax),%eax
c0023775:	89 45 f0             	mov    %eax,-0x10(%ebp)
c0023778:	8d 45 e0             	lea    -0x20(%ebp),%eax
c002377b:	83 ec 08             	sub    $0x8,%esp
c002377e:	ff 75 f4             	pushl  -0xc(%ebp)
c0023781:	50                   	push   %eax
c0023782:	e8 91 c9 ff ff       	call   c0020118 <_Z11find_handlePv>
c0023787:	83 c4 0c             	add    $0xc,%esp
c002378a:	8b 45 e8             	mov    -0x18(%ebp),%eax
c002378d:	85 c0                	test   %eax,%eax
c002378f:	0f 94 c0             	sete   %al
c0023792:	84 c0                	test   %al,%al
c0023794:	74 07                	je     c002379d <_Z17sys_paint_desktopP8regs32_t+0x3d>
c0023796:	b8 01 00 00 00       	mov    $0x1,%eax
c002379b:	eb 34                	jmp    c00237d1 <_Z17sys_paint_desktopP8regs32_t+0x71>
c002379d:	8b 45 f4             	mov    -0xc(%ebp),%eax
c00237a0:	89 45 ec             	mov    %eax,-0x14(%ebp)
c00237a3:	8b 45 f0             	mov    -0x10(%ebp),%eax
c00237a6:	8b 50 08             	mov    0x8(%eax),%edx
c00237a9:	8b 45 f0             	mov    -0x10(%ebp),%eax
c00237ac:	8b 40 0c             	mov    0xc(%eax),%eax
c00237af:	0f af c2             	imul   %edx,%eax
c00237b2:	c1 e0 02             	shl    $0x2,%eax
c00237b5:	89 c1                	mov    %eax,%ecx
c00237b7:	8b 45 f0             	mov    -0x10(%ebp),%eax
c00237ba:	8b 50 14             	mov    0x14(%eax),%edx
c00237bd:	8b 45 ec             	mov    -0x14(%ebp),%eax
c00237c0:	8b 40 18             	mov    0x18(%eax),%eax
c00237c3:	83 ec 04             	sub    $0x4,%esp
c00237c6:	51                   	push   %ecx
c00237c7:	52                   	push   %edx
c00237c8:	50                   	push   %eax
c00237c9:	e8 c9 c5 ff ff       	call   c001fd97 <_Z6memcpyPvS_m>
c00237ce:	83 c4 10             	add    $0x10,%esp
c00237d1:	c9                   	leave  
c00237d2:	c3                   	ret    

c00237d3 <_Z26sys_desktop_get_win_amountP8regs32_t>:
c00237d3:	55                   	push   %ebp
c00237d4:	89 e5                	mov    %esp,%ebp
c00237d6:	83 ec 28             	sub    $0x28,%esp
c00237d9:	8b 45 08             	mov    0x8(%ebp),%eax
c00237dc:	8b 40 20             	mov    0x20(%eax),%eax
c00237df:	89 45 f4             	mov    %eax,-0xc(%ebp)
c00237e2:	8d 45 e0             	lea    -0x20(%ebp),%eax
c00237e5:	83 ec 08             	sub    $0x8,%esp
c00237e8:	ff 75 f4             	pushl  -0xc(%ebp)
c00237eb:	50                   	push   %eax
c00237ec:	e8 27 c9 ff ff       	call   c0020118 <_Z11find_handlePv>
c00237f1:	83 c4 0c             	add    $0xc,%esp
c00237f4:	8b 45 e8             	mov    -0x18(%ebp),%eax
c00237f7:	85 c0                	test   %eax,%eax
c00237f9:	0f 94 c0             	sete   %al
c00237fc:	84 c0                	test   %al,%al
c00237fe:	74 07                	je     c0023807 <_Z26sys_desktop_get_win_amountP8regs32_t+0x34>
c0023800:	b8 01 00 00 00       	mov    $0x1,%eax
c0023805:	eb 2c                	jmp    c0023833 <_Z26sys_desktop_get_win_amountP8regs32_t+0x60>
c0023807:	8b 45 f4             	mov    -0xc(%ebp),%eax
c002380a:	89 45 f0             	mov    %eax,-0x10(%ebp)
c002380d:	8b 45 08             	mov    0x8(%ebp),%eax
c0023810:	8b 40 28             	mov    0x28(%eax),%eax
c0023813:	89 45 ec             	mov    %eax,-0x14(%ebp)
c0023816:	8b 45 f0             	mov    -0x10(%ebp),%eax
c0023819:	8b 00                	mov    (%eax),%eax
c002381b:	83 ec 0c             	sub    $0xc,%esp
c002381e:	50                   	push   %eax
c002381f:	e8 ac 18 00 00       	call   c00250d0 <_ZN4ListIP6WindowE10get_lengthEv>
c0023824:	83 c4 10             	add    $0x10,%esp
c0023827:	89 c2                	mov    %eax,%edx
c0023829:	8b 45 ec             	mov    -0x14(%ebp),%eax
c002382c:	89 10                	mov    %edx,(%eax)
c002382e:	b8 00 00 00 00       	mov    $0x0,%eax
c0023833:	c9                   	leave  
c0023834:	c3                   	ret    

c0023835 <_Z30sys_desktop_get_window_handlesP8regs32_t>:
c0023835:	55                   	push   %ebp
c0023836:	89 e5                	mov    %esp,%ebp
c0023838:	83 ec 28             	sub    $0x28,%esp
c002383b:	8b 45 08             	mov    0x8(%ebp),%eax
c002383e:	8b 40 20             	mov    0x20(%eax),%eax
c0023841:	89 45 f0             	mov    %eax,-0x10(%ebp)
c0023844:	8d 45 dc             	lea    -0x24(%ebp),%eax
c0023847:	83 ec 08             	sub    $0x8,%esp
c002384a:	ff 75 f0             	pushl  -0x10(%ebp)
c002384d:	50                   	push   %eax
c002384e:	e8 c5 c8 ff ff       	call   c0020118 <_Z11find_handlePv>
c0023853:	83 c4 0c             	add    $0xc,%esp
c0023856:	8b 45 e4             	mov    -0x1c(%ebp),%eax
c0023859:	85 c0                	test   %eax,%eax
c002385b:	0f 94 c0             	sete   %al
c002385e:	84 c0                	test   %al,%al
c0023860:	74 07                	je     c0023869 <_Z30sys_desktop_get_window_handlesP8regs32_t+0x34>
c0023862:	b8 01 00 00 00       	mov    $0x1,%eax
c0023867:	eb 61                	jmp    c00238ca <_Z30sys_desktop_get_window_handlesP8regs32_t+0x95>
c0023869:	8b 45 f0             	mov    -0x10(%ebp),%eax
c002386c:	89 45 ec             	mov    %eax,-0x14(%ebp)
c002386f:	8b 45 08             	mov    0x8(%ebp),%eax
c0023872:	8b 40 28             	mov    0x28(%eax),%eax
c0023875:	89 45 e8             	mov    %eax,-0x18(%ebp)
c0023878:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
c002387f:	8b 45 ec             	mov    -0x14(%ebp),%eax
c0023882:	8b 00                	mov    (%eax),%eax
c0023884:	83 ec 0c             	sub    $0xc,%esp
c0023887:	50                   	push   %eax
c0023888:	e8 43 18 00 00       	call   c00250d0 <_ZN4ListIP6WindowE10get_lengthEv>
c002388d:	83 c4 10             	add    $0x10,%esp
c0023890:	39 45 f4             	cmp    %eax,-0xc(%ebp)
c0023893:	0f 9c c0             	setl   %al
c0023896:	84 c0                	test   %al,%al
c0023898:	74 30                	je     c00238ca <_Z30sys_desktop_get_window_handlesP8regs32_t+0x95>
c002389a:	8b 55 f4             	mov    -0xc(%ebp),%edx
c002389d:	8b 45 ec             	mov    -0x14(%ebp),%eax
c00238a0:	8b 00                	mov    (%eax),%eax
c00238a2:	83 ec 08             	sub    $0x8,%esp
c00238a5:	52                   	push   %edx
c00238a6:	50                   	push   %eax
c00238a7:	e8 30 18 00 00       	call   c00250dc <_ZN4ListIP6WindowEixEj>
c00238ac:	83 c4 10             	add    $0x10,%esp
c00238af:	89 c1                	mov    %eax,%ecx
c00238b1:	8b 45 f4             	mov    -0xc(%ebp),%eax
c00238b4:	8d 14 85 00 00 00 00 	lea    0x0(,%eax,4),%edx
c00238bb:	8b 45 e8             	mov    -0x18(%ebp),%eax
c00238be:	01 d0                	add    %edx,%eax
c00238c0:	89 ca                	mov    %ecx,%edx
c00238c2:	89 10                	mov    %edx,(%eax)
c00238c4:	83 45 f4 01          	addl   $0x1,-0xc(%ebp)
c00238c8:	eb b5                	jmp    c002387f <_Z30sys_desktop_get_window_handlesP8regs32_t+0x4a>
c00238ca:	c9                   	leave  
c00238cb:	c3                   	ret    

c00238cc <_Z19sys_get_window_infoP8regs32_t>:
c00238cc:	55                   	push   %ebp
c00238cd:	89 e5                	mov    %esp,%ebp
c00238cf:	83 ec 28             	sub    $0x28,%esp
c00238d2:	8b 45 08             	mov    0x8(%ebp),%eax
c00238d5:	8b 40 20             	mov    0x20(%eax),%eax
c00238d8:	89 45 f4             	mov    %eax,-0xc(%ebp)
c00238db:	8b 45 08             	mov    0x8(%ebp),%eax
c00238de:	8b 40 28             	mov    0x28(%eax),%eax
c00238e1:	89 45 f0             	mov    %eax,-0x10(%ebp)
c00238e4:	8d 45 e0             	lea    -0x20(%ebp),%eax
c00238e7:	83 ec 08             	sub    $0x8,%esp
c00238ea:	ff 75 f4             	pushl  -0xc(%ebp)
c00238ed:	50                   	push   %eax
c00238ee:	e8 25 c8 ff ff       	call   c0020118 <_Z11find_handlePv>
c00238f3:	83 c4 0c             	add    $0xc,%esp
c00238f6:	8b 45 e8             	mov    -0x18(%ebp),%eax
c00238f9:	85 c0                	test   %eax,%eax
c00238fb:	0f 94 c0             	sete   %al
c00238fe:	84 c0                	test   %al,%al
c0023900:	74 07                	je     c0023909 <_Z19sys_get_window_infoP8regs32_t+0x3d>
c0023902:	b8 01 00 00 00       	mov    $0x1,%eax
c0023907:	eb 48                	jmp    c0023951 <_Z19sys_get_window_infoP8regs32_t+0x85>
c0023909:	8b 45 f4             	mov    -0xc(%ebp),%eax
c002390c:	89 45 ec             	mov    %eax,-0x14(%ebp)
c002390f:	8b 45 ec             	mov    -0x14(%ebp),%eax
c0023912:	0f b7 50 04          	movzwl 0x4(%eax),%edx
c0023916:	8b 45 f0             	mov    -0x10(%ebp),%eax
c0023919:	66 89 50 04          	mov    %dx,0x4(%eax)
c002391d:	8b 45 ec             	mov    -0x14(%ebp),%eax
c0023920:	0f b7 50 06          	movzwl 0x6(%eax),%edx
c0023924:	8b 45 f0             	mov    -0x10(%ebp),%eax
c0023927:	66 89 50 06          	mov    %dx,0x6(%eax)
c002392b:	8b 45 ec             	mov    -0x14(%ebp),%eax
c002392e:	0f b7 10             	movzwl (%eax),%edx
c0023931:	8b 45 f0             	mov    -0x10(%ebp),%eax
c0023934:	66 89 10             	mov    %dx,(%eax)
c0023937:	8b 45 ec             	mov    -0x14(%ebp),%eax
c002393a:	0f b7 50 02          	movzwl 0x2(%eax),%edx
c002393e:	8b 45 f0             	mov    -0x10(%ebp),%eax
c0023941:	66 89 50 02          	mov    %dx,0x2(%eax)
c0023945:	8b 45 ec             	mov    -0x14(%ebp),%eax
c0023948:	8b 50 08             	mov    0x8(%eax),%edx
c002394b:	8b 45 f0             	mov    -0x10(%ebp),%eax
c002394e:	89 50 08             	mov    %edx,0x8(%eax)
c0023951:	c9                   	leave  
c0023952:	c3                   	ret    

c0023953 <_Z25sys_copy_win_surface_rectP8regs32_t>:
c0023953:	55                   	push   %ebp
c0023954:	89 e5                	mov    %esp,%ebp
c0023956:	57                   	push   %edi
c0023957:	56                   	push   %esi
c0023958:	53                   	push   %ebx
c0023959:	83 ec 4c             	sub    $0x4c,%esp
c002395c:	8b 45 08             	mov    0x8(%ebp),%eax
c002395f:	8b 40 20             	mov    0x20(%eax),%eax
c0023962:	89 45 e0             	mov    %eax,-0x20(%ebp)
c0023965:	8b 45 08             	mov    0x8(%ebp),%eax
c0023968:	8b 40 28             	mov    0x28(%eax),%eax
c002396b:	89 45 dc             	mov    %eax,-0x24(%ebp)
c002396e:	8b 45 08             	mov    0x8(%ebp),%eax
c0023971:	8b 40 24             	mov    0x24(%eax),%eax
c0023974:	8b 10                	mov    (%eax),%edx
c0023976:	89 55 bc             	mov    %edx,-0x44(%ebp)
c0023979:	8b 50 04             	mov    0x4(%eax),%edx
c002397c:	89 55 c0             	mov    %edx,-0x40(%ebp)
c002397f:	8b 50 08             	mov    0x8(%eax),%edx
c0023982:	89 55 c4             	mov    %edx,-0x3c(%ebp)
c0023985:	8b 40 0c             	mov    0xc(%eax),%eax
c0023988:	89 45 c8             	mov    %eax,-0x38(%ebp)
c002398b:	8b 45 08             	mov    0x8(%ebp),%eax
c002398e:	8b 40 14             	mov    0x14(%eax),%eax
c0023991:	8b 50 04             	mov    0x4(%eax),%edx
c0023994:	8b 00                	mov    (%eax),%eax
c0023996:	89 45 b4             	mov    %eax,-0x4c(%ebp)
c0023999:	89 55 b8             	mov    %edx,-0x48(%ebp)
c002399c:	8d 45 cc             	lea    -0x34(%ebp),%eax
c002399f:	83 ec 08             	sub    $0x8,%esp
c00239a2:	ff 75 dc             	pushl  -0x24(%ebp)
c00239a5:	50                   	push   %eax
c00239a6:	e8 6d c7 ff ff       	call   c0020118 <_Z11find_handlePv>
c00239ab:	83 c4 0c             	add    $0xc,%esp
c00239ae:	8b 45 d4             	mov    -0x2c(%ebp),%eax
c00239b1:	85 c0                	test   %eax,%eax
c00239b3:	0f 94 c0             	sete   %al
c00239b6:	84 c0                	test   %al,%al
c00239b8:	74 07                	je     c00239c1 <_Z25sys_copy_win_surface_rectP8regs32_t+0x6e>
c00239ba:	b8 01 00 00 00       	mov    $0x1,%eax
c00239bf:	eb 7e                	jmp    c0023a3f <_Z25sys_copy_win_surface_rectP8regs32_t+0xec>
c00239c1:	8b 45 dc             	mov    -0x24(%ebp),%eax
c00239c4:	89 45 d8             	mov    %eax,-0x28(%ebp)
c00239c7:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
c00239ce:	8b 45 c8             	mov    -0x38(%ebp),%eax
c00239d1:	39 45 e4             	cmp    %eax,-0x1c(%ebp)
c00239d4:	7d 69                	jge    c0023a3f <_Z25sys_copy_win_surface_rectP8regs32_t+0xec>
c00239d6:	8b 45 c4             	mov    -0x3c(%ebp),%eax
c00239d9:	89 c7                	mov    %eax,%edi
c00239db:	8b 45 d8             	mov    -0x28(%ebp),%eax
c00239de:	8b 50 0c             	mov    0xc(%eax),%edx
c00239e1:	8b 45 d8             	mov    -0x28(%ebp),%eax
c00239e4:	0f b7 40 04          	movzwl 0x4(%eax),%eax
c00239e8:	0f b7 c0             	movzwl %ax,%eax
c00239eb:	8b 5d c0             	mov    -0x40(%ebp),%ebx
c00239ee:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
c00239f1:	01 d9                	add    %ebx,%ecx
c00239f3:	0f af c1             	imul   %ecx,%eax
c00239f6:	c1 e0 02             	shl    $0x2,%eax
c00239f9:	89 c1                	mov    %eax,%ecx
c00239fb:	8b 45 bc             	mov    -0x44(%ebp),%eax
c00239fe:	c1 e0 02             	shl    $0x2,%eax
c0023a01:	01 c8                	add    %ecx,%eax
c0023a03:	01 c2                	add    %eax,%edx
c0023a05:	8b 45 e0             	mov    -0x20(%ebp),%eax
c0023a08:	8b 48 14             	mov    0x14(%eax),%ecx
c0023a0b:	8b 45 e0             	mov    -0x20(%ebp),%eax
c0023a0e:	8b 40 08             	mov    0x8(%eax),%eax
c0023a11:	8b 75 b8             	mov    -0x48(%ebp),%esi
c0023a14:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
c0023a17:	01 f3                	add    %esi,%ebx
c0023a19:	0f af c3             	imul   %ebx,%eax
c0023a1c:	c1 e0 02             	shl    $0x2,%eax
c0023a1f:	89 c3                	mov    %eax,%ebx
c0023a21:	8b 45 b4             	mov    -0x4c(%ebp),%eax
c0023a24:	c1 e0 02             	shl    $0x2,%eax
c0023a27:	01 d8                	add    %ebx,%eax
c0023a29:	01 c8                	add    %ecx,%eax
c0023a2b:	83 ec 04             	sub    $0x4,%esp
c0023a2e:	57                   	push   %edi
c0023a2f:	52                   	push   %edx
c0023a30:	50                   	push   %eax
c0023a31:	e8 61 c3 ff ff       	call   c001fd97 <_Z6memcpyPvS_m>
c0023a36:	83 c4 10             	add    $0x10,%esp
c0023a39:	83 45 e4 01          	addl   $0x1,-0x1c(%ebp)
c0023a3d:	eb 8f                	jmp    c00239ce <_Z25sys_copy_win_surface_rectP8regs32_t+0x7b>
c0023a3f:	8d 65 f4             	lea    -0xc(%ebp),%esp
c0023a42:	5b                   	pop    %ebx
c0023a43:	5e                   	pop    %esi
c0023a44:	5f                   	pop    %edi
c0023a45:	5d                   	pop    %ebp
c0023a46:	c3                   	ret    

c0023a47 <_Z13syscalls_initv>:
c0023a47:	55                   	push   %ebp
c0023a48:	89 e5                	mov    %esp,%ebp
c0023a4a:	83 ec 08             	sub    $0x8,%esp
c0023a4d:	83 ec 08             	sub    $0x8,%esp
c0023a50:	68 62 3a 02 c0       	push   $0xc0023a62
c0023a55:	6a 69                	push   $0x69
c0023a57:	e8 ca b8 ff ff       	call   c001f326 <interrupt_register_handler>
c0023a5c:	83 c4 10             	add    $0x10,%esp
c0023a5f:	90                   	nop
c0023a60:	c9                   	leave  
c0023a61:	c3                   	ret    

c0023a62 <_Z15syscall_handlerP8regs32_t>:
c0023a62:	55                   	push   %ebp
c0023a63:	89 e5                	mov    %esp,%ebp
c0023a65:	83 ec 18             	sub    $0x18,%esp
c0023a68:	8b 45 08             	mov    0x8(%ebp),%eax
c0023a6b:	8b 40 2c             	mov    0x2c(%eax),%eax
c0023a6e:	83 f8 14             	cmp    $0x14,%eax
c0023a71:	77 26                	ja     c0023a99 <_Z15syscall_handlerP8regs32_t+0x37>
c0023a73:	8b 45 08             	mov    0x8(%ebp),%eax
c0023a76:	8b 40 2c             	mov    0x2c(%eax),%eax
c0023a79:	8b 04 85 c0 66 02 c0 	mov    -0x3ffd9940(,%eax,4),%eax
c0023a80:	83 ec 0c             	sub    $0xc,%esp
c0023a83:	ff 75 08             	pushl  0x8(%ebp)
c0023a86:	ff d0                	call   *%eax
c0023a88:	83 c4 10             	add    $0x10,%esp
c0023a8b:	89 45 f4             	mov    %eax,-0xc(%ebp)
c0023a8e:	8b 55 f4             	mov    -0xc(%ebp),%edx
c0023a91:	8b 45 08             	mov    0x8(%ebp),%eax
c0023a94:	89 50 2c             	mov    %edx,0x2c(%eax)
c0023a97:	eb 01                	jmp    c0023a9a <_Z15syscall_handlerP8regs32_t+0x38>
c0023a99:	90                   	nop
c0023a9a:	c9                   	leave  
c0023a9b:	c3                   	ret    

c0023a9c <_Z8outportbth>:
c0023a9c:	55                   	push   %ebp
c0023a9d:	89 e5                	mov    %esp,%ebp
c0023a9f:	83 ec 08             	sub    $0x8,%esp
c0023aa2:	8b 45 08             	mov    0x8(%ebp),%eax
c0023aa5:	8b 55 0c             	mov    0xc(%ebp),%edx
c0023aa8:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
c0023aac:	89 d0                	mov    %edx,%eax
c0023aae:	88 45 f8             	mov    %al,-0x8(%ebp)
c0023ab1:	0f b7 55 fc          	movzwl -0x4(%ebp),%edx
c0023ab5:	0f b6 45 f8          	movzbl -0x8(%ebp),%eax
c0023ab9:	ee                   	out    %al,(%dx)
c0023aba:	90                   	nop
c0023abb:	c9                   	leave  
c0023abc:	c3                   	ret    

c0023abd <_Z7inportbt>:
c0023abd:	55                   	push   %ebp
c0023abe:	89 e5                	mov    %esp,%ebp
c0023ac0:	83 ec 14             	sub    $0x14,%esp
c0023ac3:	8b 45 08             	mov    0x8(%ebp),%eax
c0023ac6:	66 89 45 ec          	mov    %ax,-0x14(%ebp)
c0023aca:	0f b7 45 ec          	movzwl -0x14(%ebp),%eax
c0023ace:	89 c2                	mov    %eax,%edx
c0023ad0:	ec                   	in     (%dx),%al
c0023ad1:	88 45 ff             	mov    %al,-0x1(%ebp)
c0023ad4:	0f b6 45 ff          	movzbl -0x1(%ebp),%eax
c0023ad8:	c9                   	leave  
c0023ad9:	c3                   	ret    

c0023ada <_Z7inportwt>:
c0023ada:	55                   	push   %ebp
c0023adb:	89 e5                	mov    %esp,%ebp
c0023add:	83 ec 14             	sub    $0x14,%esp
c0023ae0:	8b 45 08             	mov    0x8(%ebp),%eax
c0023ae3:	66 89 45 ec          	mov    %ax,-0x14(%ebp)
c0023ae7:	0f b7 45 ec          	movzwl -0x14(%ebp),%eax
c0023aeb:	89 c2                	mov    %eax,%edx
c0023aed:	66 ed                	in     (%dx),%ax
c0023aef:	66 89 45 fe          	mov    %ax,-0x2(%ebp)
c0023af3:	0f b7 45 fe          	movzwl -0x2(%ebp),%eax
c0023af7:	c9                   	leave  
c0023af8:	c3                   	ret    

c0023af9 <_Z18get_uptime_secondsv>:
c0023af9:	55                   	push   %ebp
c0023afa:	89 e5                	mov    %esp,%ebp
c0023afc:	83 ec 10             	sub    $0x10,%esp
c0023aff:	d9 05 84 e2 44 c0    	flds   0xc044e284
c0023b05:	d9 7d fe             	fnstcw -0x2(%ebp)
c0023b08:	0f b7 45 fe          	movzwl -0x2(%ebp),%eax
c0023b0c:	80 cc 0c             	or     $0xc,%ah
c0023b0f:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
c0023b13:	d9 6d fc             	fldcw  -0x4(%ebp)
c0023b16:	df 7d f0             	fistpll -0x10(%ebp)
c0023b19:	d9 6d fe             	fldcw  -0x2(%ebp)
c0023b1c:	8b 45 f0             	mov    -0x10(%ebp),%eax
c0023b1f:	8b 55 f4             	mov    -0xc(%ebp),%edx
c0023b22:	c9                   	leave  
c0023b23:	c3                   	ret    

c0023b24 <_Z18get_uptime_minutesv>:
c0023b24:	55                   	push   %ebp
c0023b25:	89 e5                	mov    %esp,%ebp
c0023b27:	0f b6 05 88 e2 44 c0 	movzbl 0xc044e288,%eax
c0023b2e:	0f b6 c0             	movzbl %al,%eax
c0023b31:	5d                   	pop    %ebp
c0023b32:	c3                   	ret    

c0023b33 <_Z16get_uptime_hoursv>:
c0023b33:	55                   	push   %ebp
c0023b34:	89 e5                	mov    %esp,%ebp
c0023b36:	a1 8c e2 44 c0       	mov    0xc044e28c,%eax
c0023b3b:	5d                   	pop    %ebp
c0023b3c:	c3                   	ret    

c0023b3d <_Z23timer_register_callbackPFvtE>:
c0023b3d:	55                   	push   %ebp
c0023b3e:	89 e5                	mov    %esp,%ebp
c0023b40:	0f b6 05 a0 e6 44 c0 	movzbl 0xc044e6a0,%eax
c0023b47:	8d 50 01             	lea    0x1(%eax),%edx
c0023b4a:	88 15 a0 e6 44 c0    	mov    %dl,0xc044e6a0
c0023b50:	0f b6 c0             	movzbl %al,%eax
c0023b53:	8b 55 08             	mov    0x8(%ebp),%edx
c0023b56:	89 14 85 a0 e2 44 c0 	mov    %edx,-0x3fbb1d60(,%eax,4)
c0023b5d:	90                   	nop
c0023b5e:	5d                   	pop    %ebp
c0023b5f:	c3                   	ret    

c0023b60 <_Z13timer_handlerP8regs32_t>:
c0023b60:	55                   	push   %ebp
c0023b61:	89 e5                	mov    %esp,%ebp
c0023b63:	83 ec 08             	sub    $0x8,%esp
c0023b66:	e8 31 ce ff ff       	call   c002099c <_Z14scheduler_tickv>
c0023b6b:	90                   	nop
c0023b6c:	c9                   	leave  
c0023b6d:	c3                   	ret    

c0023b6e <_Z13timer_installm>:
c0023b6e:	55                   	push   %ebp
c0023b6f:	89 e5                	mov    %esp,%ebp
c0023b71:	83 ec 18             	sub    $0x18,%esp
c0023b74:	8b 45 08             	mov    0x8(%ebp),%eax
c0023b77:	a3 a4 e6 44 c0       	mov    %eax,0xc044e6a4
c0023b7c:	b8 dc 34 12 00       	mov    $0x1234dc,%eax
c0023b81:	ba 00 00 00 00       	mov    $0x0,%edx
c0023b86:	f7 75 08             	divl   0x8(%ebp)
c0023b89:	89 45 f4             	mov    %eax,-0xc(%ebp)
c0023b8c:	83 ec 08             	sub    $0x8,%esp
c0023b8f:	6a 36                	push   $0x36
c0023b91:	6a 43                	push   $0x43
c0023b93:	e8 04 ff ff ff       	call   c0023a9c <_Z8outportbth>
c0023b98:	83 c4 10             	add    $0x10,%esp
c0023b9b:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0023b9e:	88 45 f3             	mov    %al,-0xd(%ebp)
c0023ba1:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0023ba4:	c1 e8 08             	shr    $0x8,%eax
c0023ba7:	88 45 f2             	mov    %al,-0xe(%ebp)
c0023baa:	0f b6 45 f3          	movzbl -0xd(%ebp),%eax
c0023bae:	83 ec 08             	sub    $0x8,%esp
c0023bb1:	50                   	push   %eax
c0023bb2:	6a 40                	push   $0x40
c0023bb4:	e8 e3 fe ff ff       	call   c0023a9c <_Z8outportbth>
c0023bb9:	83 c4 10             	add    $0x10,%esp
c0023bbc:	0f b6 45 f2          	movzbl -0xe(%ebp),%eax
c0023bc0:	83 ec 08             	sub    $0x8,%esp
c0023bc3:	50                   	push   %eax
c0023bc4:	6a 40                	push   $0x40
c0023bc6:	e8 d1 fe ff ff       	call   c0023a9c <_Z8outportbth>
c0023bcb:	83 c4 10             	add    $0x10,%esp
c0023bce:	83 ec 08             	sub    $0x8,%esp
c0023bd1:	68 60 3b 02 c0       	push   $0xc0023b60
c0023bd6:	6a 20                	push   $0x20
c0023bd8:	e8 49 b7 ff ff       	call   c001f326 <interrupt_register_handler>
c0023bdd:	83 c4 10             	add    $0x10,%esp
c0023be0:	90                   	nop
c0023be1:	c9                   	leave  
c0023be2:	c3                   	ret    

c0023be3 <_ZN3VGA4putcEch>:
c0023be3:	55                   	push   %ebp
c0023be4:	89 e5                	mov    %esp,%ebp
c0023be6:	83 ec 08             	sub    $0x8,%esp
c0023be9:	8b 55 08             	mov    0x8(%ebp),%edx
c0023bec:	8b 45 0c             	mov    0xc(%ebp),%eax
c0023bef:	88 55 fc             	mov    %dl,-0x4(%ebp)
c0023bf2:	88 45 f8             	mov    %al,-0x8(%ebp)
c0023bf5:	0f be 45 fc          	movsbl -0x4(%ebp),%eax
c0023bf9:	83 f8 0a             	cmp    $0xa,%eax
c0023bfc:	75 1e                	jne    c0023c1c <_ZN3VGA4putcEch+0x39>
c0023bfe:	66 c7 05 a8 e6 44 c0 	movw   $0x0,0xc044e6a8
c0023c05:	00 00 
c0023c07:	0f b7 05 aa e6 44 c0 	movzwl 0xc044e6aa,%eax
c0023c0e:	83 c0 01             	add    $0x1,%eax
c0023c11:	66 a3 aa e6 44 c0    	mov    %ax,0xc044e6aa
c0023c17:	e9 8e 00 00 00       	jmp    c0023caa <_ZN3VGA4putcEch+0xc7>
c0023c1c:	a1 14 67 02 c0       	mov    0xc0026714,%eax
c0023c21:	0f b7 15 18 67 02 c0 	movzwl 0xc0026718,%edx
c0023c28:	0f b7 ca             	movzwl %dx,%ecx
c0023c2b:	0f b7 15 aa e6 44 c0 	movzwl 0xc044e6aa,%edx
c0023c32:	0f b7 d2             	movzwl %dx,%edx
c0023c35:	0f af ca             	imul   %edx,%ecx
c0023c38:	0f b7 15 a8 e6 44 c0 	movzwl 0xc044e6a8,%edx
c0023c3f:	0f b7 d2             	movzwl %dx,%edx
c0023c42:	01 d1                	add    %edx,%ecx
c0023c44:	0f b7 15 1c 67 02 c0 	movzwl 0xc002671c,%edx
c0023c4b:	0f b7 d2             	movzwl %dx,%edx
c0023c4e:	0f af d1             	imul   %ecx,%edx
c0023c51:	01 c2                	add    %eax,%edx
c0023c53:	0f b6 45 fc          	movzbl -0x4(%ebp),%eax
c0023c57:	88 02                	mov    %al,(%edx)
c0023c59:	a1 14 67 02 c0       	mov    0xc0026714,%eax
c0023c5e:	0f b7 15 18 67 02 c0 	movzwl 0xc0026718,%edx
c0023c65:	0f b7 ca             	movzwl %dx,%ecx
c0023c68:	0f b7 15 aa e6 44 c0 	movzwl 0xc044e6aa,%edx
c0023c6f:	0f b7 d2             	movzwl %dx,%edx
c0023c72:	0f af ca             	imul   %edx,%ecx
c0023c75:	0f b7 15 a8 e6 44 c0 	movzwl 0xc044e6a8,%edx
c0023c7c:	0f b7 d2             	movzwl %dx,%edx
c0023c7f:	01 d1                	add    %edx,%ecx
c0023c81:	0f b7 15 1c 67 02 c0 	movzwl 0xc002671c,%edx
c0023c88:	0f b7 d2             	movzwl %dx,%edx
c0023c8b:	0f af d1             	imul   %ecx,%edx
c0023c8e:	83 c2 01             	add    $0x1,%edx
c0023c91:	01 c2                	add    %eax,%edx
c0023c93:	0f b6 45 f8          	movzbl -0x8(%ebp),%eax
c0023c97:	88 02                	mov    %al,(%edx)
c0023c99:	0f b7 05 a8 e6 44 c0 	movzwl 0xc044e6a8,%eax
c0023ca0:	83 c0 01             	add    $0x1,%eax
c0023ca3:	66 a3 a8 e6 44 c0    	mov    %ax,0xc044e6a8
c0023ca9:	90                   	nop
c0023caa:	90                   	nop
c0023cab:	c9                   	leave  
c0023cac:	c3                   	ret    

c0023cad <_ZN3VGA4putsEPch>:
c0023cad:	55                   	push   %ebp
c0023cae:	89 e5                	mov    %esp,%ebp
c0023cb0:	83 ec 14             	sub    $0x14,%esp
c0023cb3:	8b 45 0c             	mov    0xc(%ebp),%eax
c0023cb6:	88 45 ec             	mov    %al,-0x14(%ebp)
c0023cb9:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
c0023cc0:	8b 55 fc             	mov    -0x4(%ebp),%edx
c0023cc3:	8b 45 08             	mov    0x8(%ebp),%eax
c0023cc6:	01 d0                	add    %edx,%eax
c0023cc8:	0f b6 00             	movzbl (%eax),%eax
c0023ccb:	84 c0                	test   %al,%al
c0023ccd:	74 26                	je     c0023cf5 <_ZN3VGA4putsEPch+0x48>
c0023ccf:	0f b6 55 ec          	movzbl -0x14(%ebp),%edx
c0023cd3:	8b 45 fc             	mov    -0x4(%ebp),%eax
c0023cd6:	8d 48 01             	lea    0x1(%eax),%ecx
c0023cd9:	89 4d fc             	mov    %ecx,-0x4(%ebp)
c0023cdc:	89 c1                	mov    %eax,%ecx
c0023cde:	8b 45 08             	mov    0x8(%ebp),%eax
c0023ce1:	01 c8                	add    %ecx,%eax
c0023ce3:	0f b6 00             	movzbl (%eax),%eax
c0023ce6:	0f be c0             	movsbl %al,%eax
c0023ce9:	52                   	push   %edx
c0023cea:	50                   	push   %eax
c0023ceb:	e8 f3 fe ff ff       	call   c0023be3 <_ZN3VGA4putcEch>
c0023cf0:	83 c4 08             	add    $0x8,%esp
c0023cf3:	eb cb                	jmp    c0023cc0 <_ZN3VGA4putsEPch+0x13>
c0023cf5:	90                   	nop
c0023cf6:	c9                   	leave  
c0023cf7:	c3                   	ret    

c0023cf8 <_ZN3VGA11clearscreenEh>:
c0023cf8:	55                   	push   %ebp
c0023cf9:	89 e5                	mov    %esp,%ebp
c0023cfb:	83 ec 14             	sub    $0x14,%esp
c0023cfe:	8b 45 08             	mov    0x8(%ebp),%eax
c0023d01:	88 45 ec             	mov    %al,-0x14(%ebp)
c0023d04:	66 c7 05 a8 e6 44 c0 	movw   $0x0,0xc044e6a8
c0023d0b:	00 00 
c0023d0d:	66 c7 05 aa e6 44 c0 	movw   $0x0,0xc044e6aa
c0023d14:	00 00 
c0023d16:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
c0023d1d:	0f b7 05 18 67 02 c0 	movzwl 0xc0026718,%eax
c0023d24:	0f b7 d0             	movzwl %ax,%edx
c0023d27:	0f b7 05 1a 67 02 c0 	movzwl 0xc002671a,%eax
c0023d2e:	0f b7 c0             	movzwl %ax,%eax
c0023d31:	0f af c2             	imul   %edx,%eax
c0023d34:	39 45 fc             	cmp    %eax,-0x4(%ebp)
c0023d37:	7d 15                	jge    c0023d4e <_ZN3VGA11clearscreenEh+0x56>
c0023d39:	0f b6 45 ec          	movzbl -0x14(%ebp),%eax
c0023d3d:	50                   	push   %eax
c0023d3e:	6a 20                	push   $0x20
c0023d40:	e8 9e fe ff ff       	call   c0023be3 <_ZN3VGA4putcEch>
c0023d45:	83 c4 08             	add    $0x8,%esp
c0023d48:	83 45 fc 01          	addl   $0x1,-0x4(%ebp)
c0023d4c:	eb cf                	jmp    c0023d1d <_ZN3VGA11clearscreenEh+0x25>
c0023d4e:	66 c7 05 a8 e6 44 c0 	movw   $0x0,0xc044e6a8
c0023d55:	00 00 
c0023d57:	66 c7 05 aa e6 44 c0 	movw   $0x0,0xc044e6aa
c0023d5e:	00 00 
c0023d60:	90                   	nop
c0023d61:	c9                   	leave  
c0023d62:	c3                   	ret    

c0023d63 <_Z16video_initialize12video_mode_t>:
c0023d63:	55                   	push   %ebp
c0023d64:	89 e5                	mov    %esp,%ebp
c0023d66:	83 ec 08             	sub    $0x8,%esp
c0023d69:	8b 45 08             	mov    0x8(%ebp),%eax
c0023d6c:	a3 ac e6 44 c0       	mov    %eax,0xc044e6ac
c0023d71:	8b 45 0c             	mov    0xc(%ebp),%eax
c0023d74:	a3 b0 e6 44 c0       	mov    %eax,0xc044e6b0
c0023d79:	8b 45 10             	mov    0x10(%ebp),%eax
c0023d7c:	a3 b4 e6 44 c0       	mov    %eax,0xc044e6b4
c0023d81:	8b 45 14             	mov    0x14(%ebp),%eax
c0023d84:	a3 b8 e6 44 c0       	mov    %eax,0xc044e6b8
c0023d89:	8b 45 18             	mov    0x18(%ebp),%eax
c0023d8c:	a3 bc e6 44 c0       	mov    %eax,0xc044e6bc
c0023d91:	8b 45 1c             	mov    0x1c(%ebp),%eax
c0023d94:	a3 c0 e6 44 c0       	mov    %eax,0xc044e6c0
c0023d99:	8b 45 1c             	mov    0x1c(%ebp),%eax
c0023d9c:	a3 c8 e6 44 c0       	mov    %eax,0xc044e6c8
c0023da1:	8b 55 14             	mov    0x14(%ebp),%edx
c0023da4:	8b 45 0c             	mov    0xc(%ebp),%eax
c0023da7:	0f af c2             	imul   %edx,%eax
c0023daa:	83 c0 08             	add    $0x8,%eax
c0023dad:	83 ec 0c             	sub    $0xc,%esp
c0023db0:	50                   	push   %eax
c0023db1:	e8 c7 96 ff ff       	call   c001d47d <kmalloc>
c0023db6:	83 c4 10             	add    $0x10,%esp
c0023db9:	a3 c4 e6 44 c0       	mov    %eax,0xc044e6c4
c0023dbe:	90                   	nop
c0023dbf:	c9                   	leave  
c0023dc0:	c3                   	ret    

c0023dc1 <_Z12screen_clearv>:
c0023dc1:	55                   	push   %ebp
c0023dc2:	89 e5                	mov    %esp,%ebp
c0023dc4:	83 ec 18             	sub    $0x18,%esp
c0023dc7:	a1 bc e6 44 c0       	mov    0xc044e6bc,%eax
c0023dcc:	85 c0                	test   %eax,%eax
c0023dce:	75 0f                	jne    c0023ddf <_Z12screen_clearv+0x1e>
c0023dd0:	83 ec 0c             	sub    $0xc,%esp
c0023dd3:	6a 00                	push   $0x0
c0023dd5:	e8 1e ff ff ff       	call   c0023cf8 <_ZN3VGA11clearscreenEh>
c0023dda:	83 c4 10             	add    $0x10,%esp
c0023ddd:	eb 38                	jmp    c0023e17 <_Z12screen_clearv+0x56>
c0023ddf:	a1 bc e6 44 c0       	mov    0xc044e6bc,%eax
c0023de4:	83 f8 01             	cmp    $0x1,%eax
c0023de7:	75 2e                	jne    c0023e17 <_Z12screen_clearv+0x56>
c0023de9:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
c0023df0:	8b 15 b0 e6 44 c0    	mov    0xc044e6b0,%edx
c0023df6:	a1 b8 e6 44 c0       	mov    0xc044e6b8,%eax
c0023dfb:	0f af c2             	imul   %edx,%eax
c0023dfe:	39 45 f4             	cmp    %eax,-0xc(%ebp)
c0023e01:	73 14                	jae    c0023e17 <_Z12screen_clearv+0x56>
c0023e03:	8b 15 c4 e6 44 c0    	mov    0xc044e6c4,%edx
c0023e09:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0023e0c:	01 d0                	add    %edx,%eax
c0023e0e:	c6 00 00             	movb   $0x0,(%eax)
c0023e11:	83 45 f4 01          	addl   $0x1,-0xc(%ebp)
c0023e15:	eb d9                	jmp    c0023df0 <_Z12screen_clearv+0x2f>
c0023e17:	90                   	nop
c0023e18:	c9                   	leave  
c0023e19:	c3                   	ret    

c0023e1a <_Z12screen_clearhhh>:
c0023e1a:	55                   	push   %ebp
c0023e1b:	89 e5                	mov    %esp,%ebp
c0023e1d:	56                   	push   %esi
c0023e1e:	53                   	push   %ebx
c0023e1f:	83 ec 10             	sub    $0x10,%esp
c0023e22:	8b 4d 08             	mov    0x8(%ebp),%ecx
c0023e25:	8b 55 0c             	mov    0xc(%ebp),%edx
c0023e28:	8b 45 10             	mov    0x10(%ebp),%eax
c0023e2b:	88 4d f4             	mov    %cl,-0xc(%ebp)
c0023e2e:	88 55 f0             	mov    %dl,-0x10(%ebp)
c0023e31:	88 45 ec             	mov    %al,-0x14(%ebp)
c0023e34:	a1 bc e6 44 c0       	mov    0xc044e6bc,%eax
c0023e39:	83 f8 01             	cmp    $0x1,%eax
c0023e3c:	75 2d                	jne    c0023e6b <_Z12screen_clearhhh+0x51>
c0023e3e:	0f b6 75 ec          	movzbl -0x14(%ebp),%esi
c0023e42:	0f b6 5d f0          	movzbl -0x10(%ebp),%ebx
c0023e46:	0f b6 4d f4          	movzbl -0xc(%ebp),%ecx
c0023e4a:	8b 15 b0 e6 44 c0    	mov    0xc044e6b0,%edx
c0023e50:	a1 ac e6 44 c0       	mov    0xc044e6ac,%eax
c0023e55:	83 ec 04             	sub    $0x4,%esp
c0023e58:	56                   	push   %esi
c0023e59:	53                   	push   %ebx
c0023e5a:	51                   	push   %ecx
c0023e5b:	52                   	push   %edx
c0023e5c:	50                   	push   %eax
c0023e5d:	6a 00                	push   $0x0
c0023e5f:	6a 00                	push   $0x0
c0023e61:	e8 10 01 00 00       	call   c0023f76 <_Z15screen_fillrectjjjjhhh>
c0023e66:	83 c4 20             	add    $0x20,%esp
c0023e69:	eb 01                	jmp    c0023e6c <_Z12screen_clearhhh+0x52>
c0023e6b:	90                   	nop
c0023e6c:	8d 65 f8             	lea    -0x8(%ebp),%esp
c0023e6f:	5b                   	pop    %ebx
c0023e70:	5e                   	pop    %esi
c0023e71:	5d                   	pop    %ebp
c0023e72:	c3                   	ret    

c0023e73 <_Z19screen_clear_directhhh>:
c0023e73:	55                   	push   %ebp
c0023e74:	89 e5                	mov    %esp,%ebp
c0023e76:	56                   	push   %esi
c0023e77:	53                   	push   %ebx
c0023e78:	83 ec 10             	sub    $0x10,%esp
c0023e7b:	8b 4d 08             	mov    0x8(%ebp),%ecx
c0023e7e:	8b 55 0c             	mov    0xc(%ebp),%edx
c0023e81:	8b 45 10             	mov    0x10(%ebp),%eax
c0023e84:	88 4d f4             	mov    %cl,-0xc(%ebp)
c0023e87:	88 55 f0             	mov    %dl,-0x10(%ebp)
c0023e8a:	88 45 ec             	mov    %al,-0x14(%ebp)
c0023e8d:	a1 bc e6 44 c0       	mov    0xc044e6bc,%eax
c0023e92:	83 f8 01             	cmp    $0x1,%eax
c0023e95:	75 2d                	jne    c0023ec4 <_Z19screen_clear_directhhh+0x51>
c0023e97:	0f b6 75 ec          	movzbl -0x14(%ebp),%esi
c0023e9b:	0f b6 5d f0          	movzbl -0x10(%ebp),%ebx
c0023e9f:	0f b6 4d f4          	movzbl -0xc(%ebp),%ecx
c0023ea3:	8b 15 b0 e6 44 c0    	mov    0xc044e6b0,%edx
c0023ea9:	a1 ac e6 44 c0       	mov    0xc044e6ac,%eax
c0023eae:	83 ec 04             	sub    $0x4,%esp
c0023eb1:	56                   	push   %esi
c0023eb2:	53                   	push   %ebx
c0023eb3:	51                   	push   %ecx
c0023eb4:	52                   	push   %edx
c0023eb5:	50                   	push   %eax
c0023eb6:	6a 00                	push   $0x0
c0023eb8:	6a 00                	push   $0x0
c0023eba:	e8 5d 01 00 00       	call   c002401c <_Z22screen_fillrect_directjjjjhhh>
c0023ebf:	83 c4 20             	add    $0x20,%esp
c0023ec2:	eb 01                	jmp    c0023ec5 <_Z19screen_clear_directhhh+0x52>
c0023ec4:	90                   	nop
c0023ec5:	8d 65 f8             	lea    -0x8(%ebp),%esp
c0023ec8:	5b                   	pop    %ebx
c0023ec9:	5e                   	pop    %esi
c0023eca:	5d                   	pop    %ebp
c0023ecb:	c3                   	ret    

c0023ecc <_Z12screen_clearh>:
c0023ecc:	55                   	push   %ebp
c0023ecd:	89 e5                	mov    %esp,%ebp
c0023ecf:	83 ec 18             	sub    $0x18,%esp
c0023ed2:	8b 45 08             	mov    0x8(%ebp),%eax
c0023ed5:	88 45 f4             	mov    %al,-0xc(%ebp)
c0023ed8:	a1 bc e6 44 c0       	mov    0xc044e6bc,%eax
c0023edd:	85 c0                	test   %eax,%eax
c0023edf:	75 12                	jne    c0023ef3 <_Z12screen_clearh+0x27>
c0023ee1:	0f b6 45 f4          	movzbl -0xc(%ebp),%eax
c0023ee5:	83 ec 0c             	sub    $0xc,%esp
c0023ee8:	50                   	push   %eax
c0023ee9:	e8 0a fe ff ff       	call   c0023cf8 <_ZN3VGA11clearscreenEh>
c0023eee:	83 c4 10             	add    $0x10,%esp
c0023ef1:	eb 01                	jmp    c0023ef4 <_Z12screen_clearh+0x28>
c0023ef3:	90                   	nop
c0023ef4:	c9                   	leave  
c0023ef5:	c3                   	ret    

c0023ef6 <_Z15screen_putpixeljjhhh>:
c0023ef6:	55                   	push   %ebp
c0023ef7:	89 e5                	mov    %esp,%ebp
c0023ef9:	83 ec 1c             	sub    $0x1c,%esp
c0023efc:	8b 4d 10             	mov    0x10(%ebp),%ecx
c0023eff:	8b 55 14             	mov    0x14(%ebp),%edx
c0023f02:	8b 45 18             	mov    0x18(%ebp),%eax
c0023f05:	88 4d ec             	mov    %cl,-0x14(%ebp)
c0023f08:	88 55 e8             	mov    %dl,-0x18(%ebp)
c0023f0b:	88 45 e4             	mov    %al,-0x1c(%ebp)
c0023f0e:	a1 bc e6 44 c0       	mov    0xc044e6bc,%eax
c0023f13:	83 f8 01             	cmp    $0x1,%eax
c0023f16:	75 5b                	jne    c0023f73 <_Z15screen_putpixeljjhhh+0x7d>
c0023f18:	a1 b8 e6 44 c0       	mov    0xc044e6b8,%eax
c0023f1d:	0f af 45 0c          	imul   0xc(%ebp),%eax
c0023f21:	89 c2                	mov    %eax,%edx
c0023f23:	0f b7 05 b4 e6 44 c0 	movzwl 0xc044e6b4,%eax
c0023f2a:	66 c1 e8 03          	shr    $0x3,%ax
c0023f2e:	0f b7 c0             	movzwl %ax,%eax
c0023f31:	0f af 45 08          	imul   0x8(%ebp),%eax
c0023f35:	01 d0                	add    %edx,%eax
c0023f37:	89 45 fc             	mov    %eax,-0x4(%ebp)
c0023f3a:	a1 c4 e6 44 c0       	mov    0xc044e6c4,%eax
c0023f3f:	8b 55 fc             	mov    -0x4(%ebp),%edx
c0023f42:	83 c2 02             	add    $0x2,%edx
c0023f45:	01 c2                	add    %eax,%edx
c0023f47:	0f b6 45 ec          	movzbl -0x14(%ebp),%eax
c0023f4b:	88 02                	mov    %al,(%edx)
c0023f4d:	a1 c4 e6 44 c0       	mov    0xc044e6c4,%eax
c0023f52:	8b 55 fc             	mov    -0x4(%ebp),%edx
c0023f55:	83 c2 01             	add    $0x1,%edx
c0023f58:	01 c2                	add    %eax,%edx
c0023f5a:	0f b6 45 e8          	movzbl -0x18(%ebp),%eax
c0023f5e:	88 02                	mov    %al,(%edx)
c0023f60:	8b 15 c4 e6 44 c0    	mov    0xc044e6c4,%edx
c0023f66:	8b 45 fc             	mov    -0x4(%ebp),%eax
c0023f69:	01 c2                	add    %eax,%edx
c0023f6b:	0f b6 45 e4          	movzbl -0x1c(%ebp),%eax
c0023f6f:	88 02                	mov    %al,(%edx)
c0023f71:	eb 01                	jmp    c0023f74 <_Z15screen_putpixeljjhhh+0x7e>
c0023f73:	90                   	nop
c0023f74:	c9                   	leave  
c0023f75:	c3                   	ret    

c0023f76 <_Z15screen_fillrectjjjjhhh>:
c0023f76:	55                   	push   %ebp
c0023f77:	89 e5                	mov    %esp,%ebp
c0023f79:	83 ec 1c             	sub    $0x1c,%esp
c0023f7c:	8b 4d 18             	mov    0x18(%ebp),%ecx
c0023f7f:	8b 55 1c             	mov    0x1c(%ebp),%edx
c0023f82:	8b 45 20             	mov    0x20(%ebp),%eax
c0023f85:	88 4d ec             	mov    %cl,-0x14(%ebp)
c0023f88:	88 55 e8             	mov    %dl,-0x18(%ebp)
c0023f8b:	88 45 e4             	mov    %al,-0x1c(%ebp)
c0023f8e:	0f b6 45 e4          	movzbl -0x1c(%ebp),%eax
c0023f92:	0f b6 c0             	movzbl %al,%eax
c0023f95:	0f b6 55 e8          	movzbl -0x18(%ebp),%edx
c0023f99:	c1 e2 08             	shl    $0x8,%edx
c0023f9c:	01 c2                	add    %eax,%edx
c0023f9e:	0f b6 45 ec          	movzbl -0x14(%ebp),%eax
c0023fa2:	c1 e0 10             	shl    $0x10,%eax
c0023fa5:	01 d0                	add    %edx,%eax
c0023fa7:	89 45 f4             	mov    %eax,-0xc(%ebp)
c0023faa:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
c0023fb1:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
c0023fb8:	8b 45 fc             	mov    -0x4(%ebp),%eax
c0023fbb:	3b 45 14             	cmp    0x14(%ebp),%eax
c0023fbe:	73 59                	jae    c0024019 <_Z15screen_fillrectjjjjhhh+0xa3>
c0023fc0:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
c0023fc7:	8b 45 f8             	mov    -0x8(%ebp),%eax
c0023fca:	3b 45 10             	cmp    0x10(%ebp),%eax
c0023fcd:	73 44                	jae    c0024013 <_Z15screen_fillrectjjjjhhh+0x9d>
c0023fcf:	8b 55 0c             	mov    0xc(%ebp),%edx
c0023fd2:	8b 45 fc             	mov    -0x4(%ebp),%eax
c0023fd5:	01 c2                	add    %eax,%edx
c0023fd7:	a1 b8 e6 44 c0       	mov    0xc044e6b8,%eax
c0023fdc:	0f af d0             	imul   %eax,%edx
c0023fdf:	8b 4d 08             	mov    0x8(%ebp),%ecx
c0023fe2:	8b 45 f8             	mov    -0x8(%ebp),%eax
c0023fe5:	01 c1                	add    %eax,%ecx
c0023fe7:	0f b7 05 b4 e6 44 c0 	movzwl 0xc044e6b4,%eax
c0023fee:	66 c1 e8 03          	shr    $0x3,%ax
c0023ff2:	0f b7 c0             	movzwl %ax,%eax
c0023ff5:	0f af c1             	imul   %ecx,%eax
c0023ff8:	01 d0                	add    %edx,%eax
c0023ffa:	89 45 f0             	mov    %eax,-0x10(%ebp)
c0023ffd:	8b 15 c4 e6 44 c0    	mov    0xc044e6c4,%edx
c0024003:	8b 45 f0             	mov    -0x10(%ebp),%eax
c0024006:	01 c2                	add    %eax,%edx
c0024008:	8b 45 f4             	mov    -0xc(%ebp),%eax
c002400b:	89 02                	mov    %eax,(%edx)
c002400d:	83 45 f8 01          	addl   $0x1,-0x8(%ebp)
c0024011:	eb b4                	jmp    c0023fc7 <_Z15screen_fillrectjjjjhhh+0x51>
c0024013:	83 45 fc 01          	addl   $0x1,-0x4(%ebp)
c0024017:	eb 9f                	jmp    c0023fb8 <_Z15screen_fillrectjjjjhhh+0x42>
c0024019:	90                   	nop
c002401a:	c9                   	leave  
c002401b:	c3                   	ret    

c002401c <_Z22screen_fillrect_directjjjjhhh>:
c002401c:	55                   	push   %ebp
c002401d:	89 e5                	mov    %esp,%ebp
c002401f:	83 ec 1c             	sub    $0x1c,%esp
c0024022:	8b 4d 18             	mov    0x18(%ebp),%ecx
c0024025:	8b 55 1c             	mov    0x1c(%ebp),%edx
c0024028:	8b 45 20             	mov    0x20(%ebp),%eax
c002402b:	88 4d ec             	mov    %cl,-0x14(%ebp)
c002402e:	88 55 e8             	mov    %dl,-0x18(%ebp)
c0024031:	88 45 e4             	mov    %al,-0x1c(%ebp)
c0024034:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
c002403b:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
c0024042:	8b 45 fc             	mov    -0x4(%ebp),%eax
c0024045:	3b 45 14             	cmp    0x14(%ebp),%eax
c0024048:	0f 83 83 00 00 00    	jae    c00240d1 <_Z22screen_fillrect_directjjjjhhh+0xb5>
c002404e:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
c0024055:	8b 45 f8             	mov    -0x8(%ebp),%eax
c0024058:	3b 45 10             	cmp    0x10(%ebp),%eax
c002405b:	73 6b                	jae    c00240c8 <_Z22screen_fillrect_directjjjjhhh+0xac>
c002405d:	8b 55 0c             	mov    0xc(%ebp),%edx
c0024060:	8b 45 fc             	mov    -0x4(%ebp),%eax
c0024063:	01 c2                	add    %eax,%edx
c0024065:	a1 b8 e6 44 c0       	mov    0xc044e6b8,%eax
c002406a:	0f af d0             	imul   %eax,%edx
c002406d:	8b 4d 08             	mov    0x8(%ebp),%ecx
c0024070:	8b 45 f8             	mov    -0x8(%ebp),%eax
c0024073:	01 c1                	add    %eax,%ecx
c0024075:	0f b7 05 b4 e6 44 c0 	movzwl 0xc044e6b4,%eax
c002407c:	66 c1 e8 03          	shr    $0x3,%ax
c0024080:	0f b7 c0             	movzwl %ax,%eax
c0024083:	0f af c1             	imul   %ecx,%eax
c0024086:	01 d0                	add    %edx,%eax
c0024088:	89 45 f4             	mov    %eax,-0xc(%ebp)
c002408b:	8b 15 c8 e6 44 c0    	mov    0xc044e6c8,%edx
c0024091:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0024094:	01 c2                	add    %eax,%edx
c0024096:	0f b6 45 e4          	movzbl -0x1c(%ebp),%eax
c002409a:	88 02                	mov    %al,(%edx)
c002409c:	a1 c8 e6 44 c0       	mov    0xc044e6c8,%eax
c00240a1:	8b 55 f4             	mov    -0xc(%ebp),%edx
c00240a4:	83 c2 01             	add    $0x1,%edx
c00240a7:	01 c2                	add    %eax,%edx
c00240a9:	0f b6 45 e8          	movzbl -0x18(%ebp),%eax
c00240ad:	88 02                	mov    %al,(%edx)
c00240af:	a1 c8 e6 44 c0       	mov    0xc044e6c8,%eax
c00240b4:	8b 55 f4             	mov    -0xc(%ebp),%edx
c00240b7:	83 c2 02             	add    $0x2,%edx
c00240ba:	01 c2                	add    %eax,%edx
c00240bc:	0f b6 45 ec          	movzbl -0x14(%ebp),%eax
c00240c0:	88 02                	mov    %al,(%edx)
c00240c2:	83 45 f8 01          	addl   $0x1,-0x8(%ebp)
c00240c6:	eb 8d                	jmp    c0024055 <_Z22screen_fillrect_directjjjjhhh+0x39>
c00240c8:	83 45 fc 01          	addl   $0x1,-0x4(%ebp)
c00240cc:	e9 71 ff ff ff       	jmp    c0024042 <_Z22screen_fillrect_directjjjjhhh+0x26>
c00240d1:	90                   	nop
c00240d2:	c9                   	leave  
c00240d3:	c3                   	ret    

c00240d4 <_Z8drawcharcjjhhhi>:
c00240d4:	55                   	push   %ebp
c00240d5:	89 e5                	mov    %esp,%ebp
c00240d7:	57                   	push   %edi
c00240d8:	56                   	push   %esi
c00240d9:	53                   	push   %ebx
c00240da:	83 ec 38             	sub    $0x38,%esp
c00240dd:	8b 5d 08             	mov    0x8(%ebp),%ebx
c00240e0:	8b 4d 14             	mov    0x14(%ebp),%ecx
c00240e3:	8b 55 18             	mov    0x18(%ebp),%edx
c00240e6:	8b 45 1c             	mov    0x1c(%ebp),%eax
c00240e9:	88 5d d0             	mov    %bl,-0x30(%ebp)
c00240ec:	88 4d cc             	mov    %cl,-0x34(%ebp)
c00240ef:	88 55 c8             	mov    %dl,-0x38(%ebp)
c00240f2:	88 45 c4             	mov    %al,-0x3c(%ebp)
c00240f5:	83 7d 20 01          	cmpl   $0x1,0x20(%ebp)
c00240f9:	0f 8e b3 00 00 00    	jle    c00241b2 <_Z8drawcharcjjhhhi+0xde>
c00240ff:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
c0024106:	83 7d f0 07          	cmpl   $0x7,-0x10(%ebp)
c002410a:	0f 8f 36 01 00 00    	jg     c0024246 <_Z8drawcharcjjhhhi+0x172>
c0024110:	0f be 45 d0          	movsbl -0x30(%ebp),%eax
c0024114:	8d 14 c5 00 00 00 00 	lea    0x0(,%eax,8),%edx
c002411b:	8b 45 f0             	mov    -0x10(%ebp),%eax
c002411e:	01 d0                	add    %edx,%eax
c0024120:	05 20 60 02 c0       	add    $0xc0026020,%eax
c0024125:	0f b6 00             	movzbl (%eax),%eax
c0024128:	0f b6 c0             	movzbl %al,%eax
c002412b:	89 45 e0             	mov    %eax,-0x20(%ebp)
c002412e:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
c0024135:	83 7d ec 07          	cmpl   $0x7,-0x14(%ebp)
c0024139:	7f 6e                	jg     c00241a9 <_Z8drawcharcjjhhhi+0xd5>
c002413b:	8b 45 ec             	mov    -0x14(%ebp),%eax
c002413e:	ba 01 00 00 00       	mov    $0x1,%edx
c0024143:	89 c1                	mov    %eax,%ecx
c0024145:	d3 e2                	shl    %cl,%edx
c0024147:	89 d0                	mov    %edx,%eax
c0024149:	23 45 e0             	and    -0x20(%ebp),%eax
c002414c:	89 c2                	mov    %eax,%edx
c002414e:	8b 45 ec             	mov    -0x14(%ebp),%eax
c0024151:	89 c1                	mov    %eax,%ecx
c0024153:	d3 fa                	sar    %cl,%edx
c0024155:	89 d0                	mov    %edx,%eax
c0024157:	85 c0                	test   %eax,%eax
c0024159:	74 48                	je     c00241a3 <_Z8drawcharcjjhhhi+0xcf>
c002415b:	0f b6 45 c4          	movzbl -0x3c(%ebp),%eax
c002415f:	89 45 c0             	mov    %eax,-0x40(%ebp)
c0024162:	0f b6 7d c8          	movzbl -0x38(%ebp),%edi
c0024166:	89 7d bc             	mov    %edi,-0x44(%ebp)
c0024169:	0f b6 7d cc          	movzbl -0x34(%ebp),%edi
c002416d:	8b 75 20             	mov    0x20(%ebp),%esi
c0024170:	8b 5d 20             	mov    0x20(%ebp),%ebx
c0024173:	8b 45 f0             	mov    -0x10(%ebp),%eax
c0024176:	0f af 45 20          	imul   0x20(%ebp),%eax
c002417a:	89 c2                	mov    %eax,%edx
c002417c:	8b 45 10             	mov    0x10(%ebp),%eax
c002417f:	8d 0c 02             	lea    (%edx,%eax,1),%ecx
c0024182:	8b 45 ec             	mov    -0x14(%ebp),%eax
c0024185:	0f af 45 20          	imul   0x20(%ebp),%eax
c0024189:	89 c2                	mov    %eax,%edx
c002418b:	8b 45 0c             	mov    0xc(%ebp),%eax
c002418e:	01 d0                	add    %edx,%eax
c0024190:	ff 75 c0             	pushl  -0x40(%ebp)
c0024193:	ff 75 bc             	pushl  -0x44(%ebp)
c0024196:	57                   	push   %edi
c0024197:	56                   	push   %esi
c0024198:	53                   	push   %ebx
c0024199:	51                   	push   %ecx
c002419a:	50                   	push   %eax
c002419b:	e8 d6 fd ff ff       	call   c0023f76 <_Z15screen_fillrectjjjjhhh>
c00241a0:	83 c4 1c             	add    $0x1c,%esp
c00241a3:	83 45 ec 01          	addl   $0x1,-0x14(%ebp)
c00241a7:	eb 8c                	jmp    c0024135 <_Z8drawcharcjjhhhi+0x61>
c00241a9:	83 45 f0 01          	addl   $0x1,-0x10(%ebp)
c00241ad:	e9 54 ff ff ff       	jmp    c0024106 <_Z8drawcharcjjhhhi+0x32>
c00241b2:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
c00241b9:	83 7d e8 07          	cmpl   $0x7,-0x18(%ebp)
c00241bd:	0f 8f 83 00 00 00    	jg     c0024246 <_Z8drawcharcjjhhhi+0x172>
c00241c3:	0f be 45 d0          	movsbl -0x30(%ebp),%eax
c00241c7:	8d 14 c5 00 00 00 00 	lea    0x0(,%eax,8),%edx
c00241ce:	8b 45 e8             	mov    -0x18(%ebp),%eax
c00241d1:	01 d0                	add    %edx,%eax
c00241d3:	05 20 60 02 c0       	add    $0xc0026020,%eax
c00241d8:	0f b6 00             	movzbl (%eax),%eax
c00241db:	0f b6 c0             	movzbl %al,%eax
c00241de:	89 45 dc             	mov    %eax,-0x24(%ebp)
c00241e1:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
c00241e8:	83 7d e4 07          	cmpl   $0x7,-0x1c(%ebp)
c00241ec:	7f 4f                	jg     c002423d <_Z8drawcharcjjhhhi+0x169>
c00241ee:	8b 45 e4             	mov    -0x1c(%ebp),%eax
c00241f1:	ba 01 00 00 00       	mov    $0x1,%edx
c00241f6:	89 c1                	mov    %eax,%ecx
c00241f8:	d3 e2                	shl    %cl,%edx
c00241fa:	89 d0                	mov    %edx,%eax
c00241fc:	23 45 dc             	and    -0x24(%ebp),%eax
c00241ff:	89 c2                	mov    %eax,%edx
c0024201:	8b 45 e4             	mov    -0x1c(%ebp),%eax
c0024204:	89 c1                	mov    %eax,%ecx
c0024206:	d3 fa                	sar    %cl,%edx
c0024208:	89 d0                	mov    %edx,%eax
c002420a:	85 c0                	test   %eax,%eax
c002420c:	74 29                	je     c0024237 <_Z8drawcharcjjhhhi+0x163>
c002420e:	0f b6 4d c4          	movzbl -0x3c(%ebp),%ecx
c0024212:	0f b6 55 c8          	movzbl -0x38(%ebp),%edx
c0024216:	0f b6 45 cc          	movzbl -0x34(%ebp),%eax
c002421a:	8b 75 e8             	mov    -0x18(%ebp),%esi
c002421d:	8b 5d 10             	mov    0x10(%ebp),%ebx
c0024220:	01 de                	add    %ebx,%esi
c0024222:	8b 7d e4             	mov    -0x1c(%ebp),%edi
c0024225:	8b 5d 0c             	mov    0xc(%ebp),%ebx
c0024228:	01 fb                	add    %edi,%ebx
c002422a:	51                   	push   %ecx
c002422b:	52                   	push   %edx
c002422c:	50                   	push   %eax
c002422d:	56                   	push   %esi
c002422e:	53                   	push   %ebx
c002422f:	e8 c2 fc ff ff       	call   c0023ef6 <_Z15screen_putpixeljjhhh>
c0024234:	83 c4 14             	add    $0x14,%esp
c0024237:	83 45 e4 01          	addl   $0x1,-0x1c(%ebp)
c002423b:	eb ab                	jmp    c00241e8 <_Z8drawcharcjjhhhi+0x114>
c002423d:	83 45 e8 01          	addl   $0x1,-0x18(%ebp)
c0024241:	e9 73 ff ff ff       	jmp    c00241b9 <_Z8drawcharcjjhhhi+0xe5>
c0024246:	90                   	nop
c0024247:	8d 65 f4             	lea    -0xc(%ebp),%esp
c002424a:	5b                   	pop    %ebx
c002424b:	5e                   	pop    %esi
c002424c:	5f                   	pop    %edi
c002424d:	5d                   	pop    %ebp
c002424e:	c3                   	ret    

c002424f <_Z15drawchar_directcjjhhhi>:
c002424f:	55                   	push   %ebp
c0024250:	89 e5                	mov    %esp,%ebp
c0024252:	57                   	push   %edi
c0024253:	56                   	push   %esi
c0024254:	53                   	push   %ebx
c0024255:	83 ec 28             	sub    $0x28,%esp
c0024258:	8b 5d 08             	mov    0x8(%ebp),%ebx
c002425b:	8b 4d 14             	mov    0x14(%ebp),%ecx
c002425e:	8b 55 18             	mov    0x18(%ebp),%edx
c0024261:	8b 45 1c             	mov    0x1c(%ebp),%eax
c0024264:	88 5d e0             	mov    %bl,-0x20(%ebp)
c0024267:	88 4d dc             	mov    %cl,-0x24(%ebp)
c002426a:	88 55 d8             	mov    %dl,-0x28(%ebp)
c002426d:	88 45 d4             	mov    %al,-0x2c(%ebp)
c0024270:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
c0024277:	83 7d f0 07          	cmpl   $0x7,-0x10(%ebp)
c002427b:	0f 8f a2 00 00 00    	jg     c0024323 <_Z15drawchar_directcjjhhhi+0xd4>
c0024281:	0f be 45 e0          	movsbl -0x20(%ebp),%eax
c0024285:	8d 14 c5 00 00 00 00 	lea    0x0(,%eax,8),%edx
c002428c:	8b 45 f0             	mov    -0x10(%ebp),%eax
c002428f:	01 d0                	add    %edx,%eax
c0024291:	05 20 60 02 c0       	add    $0xc0026020,%eax
c0024296:	0f b6 00             	movzbl (%eax),%eax
c0024299:	0f b6 c0             	movzbl %al,%eax
c002429c:	89 45 e8             	mov    %eax,-0x18(%ebp)
c002429f:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
c00242a6:	83 7d ec 07          	cmpl   $0x7,-0x14(%ebp)
c00242aa:	7f 6e                	jg     c002431a <_Z15drawchar_directcjjhhhi+0xcb>
c00242ac:	8b 45 ec             	mov    -0x14(%ebp),%eax
c00242af:	ba 01 00 00 00       	mov    $0x1,%edx
c00242b4:	89 c1                	mov    %eax,%ecx
c00242b6:	d3 e2                	shl    %cl,%edx
c00242b8:	89 d0                	mov    %edx,%eax
c00242ba:	23 45 e8             	and    -0x18(%ebp),%eax
c00242bd:	89 c2                	mov    %eax,%edx
c00242bf:	8b 45 ec             	mov    -0x14(%ebp),%eax
c00242c2:	89 c1                	mov    %eax,%ecx
c00242c4:	d3 fa                	sar    %cl,%edx
c00242c6:	89 d0                	mov    %edx,%eax
c00242c8:	85 c0                	test   %eax,%eax
c00242ca:	74 48                	je     c0024314 <_Z15drawchar_directcjjhhhi+0xc5>
c00242cc:	0f b6 45 d4          	movzbl -0x2c(%ebp),%eax
c00242d0:	89 45 d0             	mov    %eax,-0x30(%ebp)
c00242d3:	0f b6 75 d8          	movzbl -0x28(%ebp),%esi
c00242d7:	89 75 cc             	mov    %esi,-0x34(%ebp)
c00242da:	0f b6 7d dc          	movzbl -0x24(%ebp),%edi
c00242de:	8b 75 20             	mov    0x20(%ebp),%esi
c00242e1:	8b 5d 20             	mov    0x20(%ebp),%ebx
c00242e4:	8b 45 f0             	mov    -0x10(%ebp),%eax
c00242e7:	0f af 45 20          	imul   0x20(%ebp),%eax
c00242eb:	89 c2                	mov    %eax,%edx
c00242ed:	8b 45 10             	mov    0x10(%ebp),%eax
c00242f0:	8d 0c 02             	lea    (%edx,%eax,1),%ecx
c00242f3:	8b 45 ec             	mov    -0x14(%ebp),%eax
c00242f6:	0f af 45 20          	imul   0x20(%ebp),%eax
c00242fa:	89 c2                	mov    %eax,%edx
c00242fc:	8b 45 0c             	mov    0xc(%ebp),%eax
c00242ff:	01 d0                	add    %edx,%eax
c0024301:	ff 75 d0             	pushl  -0x30(%ebp)
c0024304:	ff 75 cc             	pushl  -0x34(%ebp)
c0024307:	57                   	push   %edi
c0024308:	56                   	push   %esi
c0024309:	53                   	push   %ebx
c002430a:	51                   	push   %ecx
c002430b:	50                   	push   %eax
c002430c:	e8 0b fd ff ff       	call   c002401c <_Z22screen_fillrect_directjjjjhhh>
c0024311:	83 c4 1c             	add    $0x1c,%esp
c0024314:	83 45 ec 01          	addl   $0x1,-0x14(%ebp)
c0024318:	eb 8c                	jmp    c00242a6 <_Z15drawchar_directcjjhhhi+0x57>
c002431a:	83 45 f0 01          	addl   $0x1,-0x10(%ebp)
c002431e:	e9 54 ff ff ff       	jmp    c0024277 <_Z15drawchar_directcjjhhhi+0x28>
c0024323:	90                   	nop
c0024324:	8d 65 f4             	lea    -0xc(%ebp),%esp
c0024327:	5b                   	pop    %ebx
c0024328:	5e                   	pop    %esi
c0024329:	5f                   	pop    %edi
c002432a:	5d                   	pop    %ebp
c002432b:	c3                   	ret    

c002432c <_Z10drawstringPcjjhhhi>:
c002432c:	55                   	push   %ebp
c002432d:	89 e5                	mov    %esp,%ebp
c002432f:	56                   	push   %esi
c0024330:	53                   	push   %ebx
c0024331:	83 ec 1c             	sub    $0x1c,%esp
c0024334:	8b 4d 14             	mov    0x14(%ebp),%ecx
c0024337:	8b 55 18             	mov    0x18(%ebp),%edx
c002433a:	8b 45 1c             	mov    0x1c(%ebp),%eax
c002433d:	88 4d e4             	mov    %cl,-0x1c(%ebp)
c0024340:	88 55 e0             	mov    %dl,-0x20(%ebp)
c0024343:	88 45 dc             	mov    %al,-0x24(%ebp)
c0024346:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
c002434d:	8b 45 08             	mov    0x8(%ebp),%eax
c0024350:	0f b6 00             	movzbl (%eax),%eax
c0024353:	84 c0                	test   %al,%al
c0024355:	74 3f                	je     c0024396 <_Z10drawstringPcjjhhhi+0x6a>
c0024357:	0f b6 5d dc          	movzbl -0x24(%ebp),%ebx
c002435b:	0f b6 4d e0          	movzbl -0x20(%ebp),%ecx
c002435f:	0f b6 55 e4          	movzbl -0x1c(%ebp),%edx
c0024363:	8b 75 f4             	mov    -0xc(%ebp),%esi
c0024366:	8b 45 0c             	mov    0xc(%ebp),%eax
c0024369:	01 c6                	add    %eax,%esi
c002436b:	8b 45 08             	mov    0x8(%ebp),%eax
c002436e:	0f b6 00             	movzbl (%eax),%eax
c0024371:	0f be c0             	movsbl %al,%eax
c0024374:	ff 75 20             	pushl  0x20(%ebp)
c0024377:	53                   	push   %ebx
c0024378:	51                   	push   %ecx
c0024379:	52                   	push   %edx
c002437a:	ff 75 10             	pushl  0x10(%ebp)
c002437d:	56                   	push   %esi
c002437e:	50                   	push   %eax
c002437f:	e8 50 fd ff ff       	call   c00240d4 <_Z8drawcharcjjhhhi>
c0024384:	83 c4 1c             	add    $0x1c,%esp
c0024387:	8b 45 20             	mov    0x20(%ebp),%eax
c002438a:	c1 e0 03             	shl    $0x3,%eax
c002438d:	01 45 f4             	add    %eax,-0xc(%ebp)
c0024390:	83 45 08 01          	addl   $0x1,0x8(%ebp)
c0024394:	eb b7                	jmp    c002434d <_Z10drawstringPcjjhhhi+0x21>
c0024396:	90                   	nop
c0024397:	8d 65 f8             	lea    -0x8(%ebp),%esp
c002439a:	5b                   	pop    %ebx
c002439b:	5e                   	pop    %esi
c002439c:	5d                   	pop    %ebp
c002439d:	c3                   	ret    

c002439e <_Z17drawstring_directPcjjhhhi>:
c002439e:	55                   	push   %ebp
c002439f:	89 e5                	mov    %esp,%ebp
c00243a1:	56                   	push   %esi
c00243a2:	53                   	push   %ebx
c00243a3:	83 ec 1c             	sub    $0x1c,%esp
c00243a6:	8b 4d 14             	mov    0x14(%ebp),%ecx
c00243a9:	8b 55 18             	mov    0x18(%ebp),%edx
c00243ac:	8b 45 1c             	mov    0x1c(%ebp),%eax
c00243af:	88 4d e4             	mov    %cl,-0x1c(%ebp)
c00243b2:	88 55 e0             	mov    %dl,-0x20(%ebp)
c00243b5:	88 45 dc             	mov    %al,-0x24(%ebp)
c00243b8:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
c00243bf:	8b 45 08             	mov    0x8(%ebp),%eax
c00243c2:	0f b6 00             	movzbl (%eax),%eax
c00243c5:	84 c0                	test   %al,%al
c00243c7:	74 3f                	je     c0024408 <_Z17drawstring_directPcjjhhhi+0x6a>
c00243c9:	0f b6 5d dc          	movzbl -0x24(%ebp),%ebx
c00243cd:	0f b6 4d e0          	movzbl -0x20(%ebp),%ecx
c00243d1:	0f b6 55 e4          	movzbl -0x1c(%ebp),%edx
c00243d5:	8b 75 f4             	mov    -0xc(%ebp),%esi
c00243d8:	8b 45 0c             	mov    0xc(%ebp),%eax
c00243db:	01 c6                	add    %eax,%esi
c00243dd:	8b 45 08             	mov    0x8(%ebp),%eax
c00243e0:	0f b6 00             	movzbl (%eax),%eax
c00243e3:	0f be c0             	movsbl %al,%eax
c00243e6:	ff 75 20             	pushl  0x20(%ebp)
c00243e9:	53                   	push   %ebx
c00243ea:	51                   	push   %ecx
c00243eb:	52                   	push   %edx
c00243ec:	ff 75 10             	pushl  0x10(%ebp)
c00243ef:	56                   	push   %esi
c00243f0:	50                   	push   %eax
c00243f1:	e8 59 fe ff ff       	call   c002424f <_Z15drawchar_directcjjhhhi>
c00243f6:	83 c4 1c             	add    $0x1c,%esp
c00243f9:	8b 45 20             	mov    0x20(%ebp),%eax
c00243fc:	c1 e0 03             	shl    $0x3,%eax
c00243ff:	01 45 f4             	add    %eax,-0xc(%ebp)
c0024402:	83 45 08 01          	addl   $0x1,0x8(%ebp)
c0024406:	eb b7                	jmp    c00243bf <_Z17drawstring_directPcjjhhhi+0x21>
c0024408:	90                   	nop
c0024409:	8d 65 f8             	lea    -0x8(%ebp),%esp
c002440c:	5b                   	pop    %ebx
c002440d:	5e                   	pop    %esi
c002440e:	5d                   	pop    %ebp
c002440f:	c3                   	ret    

c0024410 <_Z19drawgrayscalebitmapjjjjPh>:
c0024410:	55                   	push   %ebp
c0024411:	89 e5                	mov    %esp,%ebp
c0024413:	83 ec 10             	sub    $0x10,%esp
c0024416:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
c002441d:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
c0024424:	8b 45 fc             	mov    -0x4(%ebp),%eax
c0024427:	3b 45 14             	cmp    0x14(%ebp),%eax
c002442a:	0f 83 a9 00 00 00    	jae    c00244d9 <_Z19drawgrayscalebitmapjjjjPh+0xc9>
c0024430:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
c0024437:	8b 45 f8             	mov    -0x8(%ebp),%eax
c002443a:	3b 45 10             	cmp    0x10(%ebp),%eax
c002443d:	0f 83 8d 00 00 00    	jae    c00244d0 <_Z19drawgrayscalebitmapjjjjPh+0xc0>
c0024443:	8b 55 0c             	mov    0xc(%ebp),%edx
c0024446:	8b 45 fc             	mov    -0x4(%ebp),%eax
c0024449:	01 c2                	add    %eax,%edx
c002444b:	a1 b8 e6 44 c0       	mov    0xc044e6b8,%eax
c0024450:	0f af d0             	imul   %eax,%edx
c0024453:	8b 4d 08             	mov    0x8(%ebp),%ecx
c0024456:	8b 45 f8             	mov    -0x8(%ebp),%eax
c0024459:	01 c1                	add    %eax,%ecx
c002445b:	0f b7 05 b4 e6 44 c0 	movzwl 0xc044e6b4,%eax
c0024462:	66 c1 e8 03          	shr    $0x3,%ax
c0024466:	0f b7 c0             	movzwl %ax,%eax
c0024469:	0f af c1             	imul   %ecx,%eax
c002446c:	01 d0                	add    %edx,%eax
c002446e:	89 45 f4             	mov    %eax,-0xc(%ebp)
c0024471:	8b 45 fc             	mov    -0x4(%ebp),%eax
c0024474:	0f af 45 10          	imul   0x10(%ebp),%eax
c0024478:	89 c2                	mov    %eax,%edx
c002447a:	8b 45 f8             	mov    -0x8(%ebp),%eax
c002447d:	01 c2                	add    %eax,%edx
c002447f:	8b 45 18             	mov    0x18(%ebp),%eax
c0024482:	01 d0                	add    %edx,%eax
c0024484:	0f b6 00             	movzbl (%eax),%eax
c0024487:	88 45 f3             	mov    %al,-0xd(%ebp)
c002448a:	80 7d f3 01          	cmpb   $0x1,-0xd(%ebp)
c002448e:	74 37                	je     c00244c7 <_Z19drawgrayscalebitmapjjjjPh+0xb7>
c0024490:	8b 15 c4 e6 44 c0    	mov    0xc044e6c4,%edx
c0024496:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0024499:	01 c2                	add    %eax,%edx
c002449b:	0f b6 45 f3          	movzbl -0xd(%ebp),%eax
c002449f:	88 02                	mov    %al,(%edx)
c00244a1:	a1 c4 e6 44 c0       	mov    0xc044e6c4,%eax
c00244a6:	8b 55 f4             	mov    -0xc(%ebp),%edx
c00244a9:	83 c2 01             	add    $0x1,%edx
c00244ac:	01 c2                	add    %eax,%edx
c00244ae:	0f b6 45 f3          	movzbl -0xd(%ebp),%eax
c00244b2:	88 02                	mov    %al,(%edx)
c00244b4:	a1 c4 e6 44 c0       	mov    0xc044e6c4,%eax
c00244b9:	8b 55 f4             	mov    -0xc(%ebp),%edx
c00244bc:	83 c2 02             	add    $0x2,%edx
c00244bf:	01 c2                	add    %eax,%edx
c00244c1:	0f b6 45 f3          	movzbl -0xd(%ebp),%eax
c00244c5:	88 02                	mov    %al,(%edx)
c00244c7:	83 45 f8 01          	addl   $0x1,-0x8(%ebp)
c00244cb:	e9 67 ff ff ff       	jmp    c0024437 <_Z19drawgrayscalebitmapjjjjPh+0x27>
c00244d0:	83 45 fc 01          	addl   $0x1,-0x4(%ebp)
c00244d4:	e9 4b ff ff ff       	jmp    c0024424 <_Z19drawgrayscalebitmapjjjjPh+0x14>
c00244d9:	90                   	nop
c00244da:	c9                   	leave  
c00244db:	c3                   	ret    

c00244dc <_Z14get_video_modev>:
c00244dc:	55                   	push   %ebp
c00244dd:	89 e5                	mov    %esp,%ebp
c00244df:	8b 45 08             	mov    0x8(%ebp),%eax
c00244e2:	8b 15 ac e6 44 c0    	mov    0xc044e6ac,%edx
c00244e8:	89 10                	mov    %edx,(%eax)
c00244ea:	8b 15 b0 e6 44 c0    	mov    0xc044e6b0,%edx
c00244f0:	89 50 04             	mov    %edx,0x4(%eax)
c00244f3:	8b 15 b4 e6 44 c0    	mov    0xc044e6b4,%edx
c00244f9:	89 50 08             	mov    %edx,0x8(%eax)
c00244fc:	8b 15 b8 e6 44 c0    	mov    0xc044e6b8,%edx
c0024502:	89 50 0c             	mov    %edx,0xc(%eax)
c0024505:	8b 15 bc e6 44 c0    	mov    0xc044e6bc,%edx
c002450b:	89 50 10             	mov    %edx,0x10(%eax)
c002450e:	8b 15 c0 e6 44 c0    	mov    0xc044e6c0,%edx
c0024514:	89 50 14             	mov    %edx,0x14(%eax)
c0024517:	8b 45 08             	mov    0x8(%ebp),%eax
c002451a:	5d                   	pop    %ebp
c002451b:	c2 04 00             	ret    $0x4

c002451e <_Z10drawbitmapiiiiiiPhi>:
c002451e:	55                   	push   %ebp
c002451f:	89 e5                	mov    %esp,%ebp
c0024521:	53                   	push   %ebx
c0024522:	83 ec 64             	sub    $0x64,%esp
c0024525:	8b 45 24             	mov    0x24(%ebp),%eax
c0024528:	0f af 45 18          	imul   0x18(%ebp),%eax
c002452c:	83 c0 1f             	add    $0x1f,%eax
c002452f:	8d 50 1f             	lea    0x1f(%eax),%edx
c0024532:	85 c0                	test   %eax,%eax
c0024534:	0f 48 c2             	cmovs  %edx,%eax
c0024537:	c1 f8 05             	sar    $0x5,%eax
c002453a:	89 45 a4             	mov    %eax,-0x5c(%ebp)
c002453d:	db 45 a4             	fildl  -0x5c(%ebp)
c0024540:	83 ec 08             	sub    $0x8,%esp
c0024543:	8d 64 24 f8          	lea    -0x8(%esp),%esp
c0024547:	dd 1c 24             	fstpl  (%esp)
c002454a:	e8 be b7 ff ff       	call   c001fd0d <_Z5floord>
c002454f:	83 c4 10             	add    $0x10,%esp
c0024552:	c1 e0 02             	shl    $0x2,%eax
c0024555:	89 45 c4             	mov    %eax,-0x3c(%ebp)
c0024558:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
c002455f:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
c0024566:	8b 45 10             	mov    0x10(%ebp),%eax
c0024569:	0f af 45 14          	imul   0x14(%ebp),%eax
c002456d:	89 c2                	mov    %eax,%edx
c002456f:	0f b7 05 b4 e6 44 c0 	movzwl 0xc044e6b4,%eax
c0024576:	66 c1 e8 03          	shr    $0x3,%ax
c002457a:	0f b7 c0             	movzwl %ax,%eax
c002457d:	0f af c2             	imul   %edx,%eax
c0024580:	83 ec 0c             	sub    $0xc,%esp
c0024583:	50                   	push   %eax
c0024584:	e8 f4 8e ff ff       	call   c001d47d <kmalloc>
c0024589:	83 c4 10             	add    $0x10,%esp
c002458c:	89 45 c0             	mov    %eax,-0x40(%ebp)
c002458f:	8b 45 18             	mov    0x18(%ebp),%eax
c0024592:	99                   	cltd   
c0024593:	f7 7d 10             	idivl  0x10(%ebp)
c0024596:	89 45 bc             	mov    %eax,-0x44(%ebp)
c0024599:	8b 45 1c             	mov    0x1c(%ebp),%eax
c002459c:	99                   	cltd   
c002459d:	f7 7d 14             	idivl  0x14(%ebp)
c00245a0:	89 45 b8             	mov    %eax,-0x48(%ebp)
c00245a3:	0f b7 05 b4 e6 44 c0 	movzwl 0xc044e6b4,%eax
c00245aa:	66 c1 e8 03          	shr    $0x3,%ax
c00245ae:	0f b7 c0             	movzwl %ax,%eax
c00245b1:	89 45 b4             	mov    %eax,-0x4c(%ebp)
c00245b4:	83 7d bc 01          	cmpl   $0x1,-0x44(%ebp)
c00245b8:	75 0a                	jne    c00245c4 <_Z10drawbitmapiiiiiiPhi+0xa6>
c00245ba:	83 7d b8 01          	cmpl   $0x1,-0x48(%ebp)
c00245be:	0f 84 fd 00 00 00    	je     c00246c1 <_Z10drawbitmapiiiiiiPhi+0x1a3>
c00245c4:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
c00245cb:	8b 45 ec             	mov    -0x14(%ebp),%eax
c00245ce:	3b 45 14             	cmp    0x14(%ebp),%eax
c00245d1:	0f 8d b4 02 00 00    	jge    c002488b <_Z10drawbitmapiiiiiiPhi+0x36d>
c00245d7:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
c00245de:	8b 45 e8             	mov    -0x18(%ebp),%eax
c00245e1:	3b 45 10             	cmp    0x10(%ebp),%eax
c00245e4:	0f 8d ba 00 00 00    	jge    c00246a4 <_Z10drawbitmapiiiiiiPhi+0x186>
c00245ea:	8b 45 24             	mov    0x24(%ebp),%eax
c00245ed:	8d 50 07             	lea    0x7(%eax),%edx
c00245f0:	85 c0                	test   %eax,%eax
c00245f2:	0f 48 c2             	cmovs  %edx,%eax
c00245f5:	c1 f8 03             	sar    $0x3,%eax
c00245f8:	0f af 45 e8          	imul   -0x18(%ebp),%eax
c00245fc:	89 c2                	mov    %eax,%edx
c00245fe:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0024601:	01 c2                	add    %eax,%edx
c0024603:	8b 45 20             	mov    0x20(%ebp),%eax
c0024606:	8d 0c 02             	lea    (%edx,%eax,1),%ecx
c0024609:	8b 45 e8             	mov    -0x18(%ebp),%eax
c002460c:	0f af 45 b4          	imul   -0x4c(%ebp),%eax
c0024610:	89 c2                	mov    %eax,%edx
c0024612:	8b 45 f0             	mov    -0x10(%ebp),%eax
c0024615:	01 c2                	add    %eax,%edx
c0024617:	8b 45 c0             	mov    -0x40(%ebp),%eax
c002461a:	01 c2                	add    %eax,%edx
c002461c:	0f b6 01             	movzbl (%ecx),%eax
c002461f:	88 02                	mov    %al,(%edx)
c0024621:	8b 45 24             	mov    0x24(%ebp),%eax
c0024624:	8d 50 07             	lea    0x7(%eax),%edx
c0024627:	85 c0                	test   %eax,%eax
c0024629:	0f 48 c2             	cmovs  %edx,%eax
c002462c:	c1 f8 03             	sar    $0x3,%eax
c002462f:	0f af 45 e8          	imul   -0x18(%ebp),%eax
c0024633:	89 c2                	mov    %eax,%edx
c0024635:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0024638:	01 d0                	add    %edx,%eax
c002463a:	8d 50 01             	lea    0x1(%eax),%edx
c002463d:	8b 45 20             	mov    0x20(%ebp),%eax
c0024640:	8d 0c 02             	lea    (%edx,%eax,1),%ecx
c0024643:	8b 45 e8             	mov    -0x18(%ebp),%eax
c0024646:	0f af 45 b4          	imul   -0x4c(%ebp),%eax
c002464a:	89 c2                	mov    %eax,%edx
c002464c:	8b 45 f0             	mov    -0x10(%ebp),%eax
c002464f:	01 d0                	add    %edx,%eax
c0024651:	8d 50 01             	lea    0x1(%eax),%edx
c0024654:	8b 45 c0             	mov    -0x40(%ebp),%eax
c0024657:	01 c2                	add    %eax,%edx
c0024659:	0f b6 01             	movzbl (%ecx),%eax
c002465c:	88 02                	mov    %al,(%edx)
c002465e:	8b 45 24             	mov    0x24(%ebp),%eax
c0024661:	8d 50 07             	lea    0x7(%eax),%edx
c0024664:	85 c0                	test   %eax,%eax
c0024666:	0f 48 c2             	cmovs  %edx,%eax
c0024669:	c1 f8 03             	sar    $0x3,%eax
c002466c:	0f af 45 e8          	imul   -0x18(%ebp),%eax
c0024670:	89 c2                	mov    %eax,%edx
c0024672:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0024675:	01 d0                	add    %edx,%eax
c0024677:	8d 50 02             	lea    0x2(%eax),%edx
c002467a:	8b 45 20             	mov    0x20(%ebp),%eax
c002467d:	8d 0c 02             	lea    (%edx,%eax,1),%ecx
c0024680:	8b 45 e8             	mov    -0x18(%ebp),%eax
c0024683:	0f af 45 b4          	imul   -0x4c(%ebp),%eax
c0024687:	89 c2                	mov    %eax,%edx
c0024689:	8b 45 f0             	mov    -0x10(%ebp),%eax
c002468c:	01 d0                	add    %edx,%eax
c002468e:	8d 50 02             	lea    0x2(%eax),%edx
c0024691:	8b 45 c0             	mov    -0x40(%ebp),%eax
c0024694:	01 c2                	add    %eax,%edx
c0024696:	0f b6 01             	movzbl (%ecx),%eax
c0024699:	88 02                	mov    %al,(%edx)
c002469b:	83 45 e8 01          	addl   $0x1,-0x18(%ebp)
c002469f:	e9 3a ff ff ff       	jmp    c00245de <_Z10drawbitmapiiiiiiPhi+0xc0>
c00246a4:	8b 45 b8             	mov    -0x48(%ebp),%eax
c00246a7:	0f af 45 c4          	imul   -0x3c(%ebp),%eax
c00246ab:	01 45 f4             	add    %eax,-0xc(%ebp)
c00246ae:	8b 45 10             	mov    0x10(%ebp),%eax
c00246b1:	0f af 45 b4          	imul   -0x4c(%ebp),%eax
c00246b5:	01 45 f0             	add    %eax,-0x10(%ebp)
c00246b8:	83 45 ec 01          	addl   $0x1,-0x14(%ebp)
c00246bc:	e9 0a ff ff ff       	jmp    c00245cb <_Z10drawbitmapiiiiiiPhi+0xad>
c00246c1:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
c00246c8:	8b 45 e4             	mov    -0x1c(%ebp),%eax
c00246cb:	3b 45 14             	cmp    0x14(%ebp),%eax
c00246ce:	0f 8d b8 01 00 00    	jge    c002488c <_Z10drawbitmapiiiiiiPhi+0x36e>
c00246d4:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
c00246db:	8b 45 e0             	mov    -0x20(%ebp),%eax
c00246de:	3b 45 10             	cmp    0x10(%ebp),%eax
c00246e1:	0f 8d 8b 01 00 00    	jge    c0024872 <_Z10drawbitmapiiiiiiPhi+0x354>
c00246e7:	66 c7 45 de 00 00    	movw   $0x0,-0x22(%ebp)
c00246ed:	66 c7 45 dc 00 00    	movw   $0x0,-0x24(%ebp)
c00246f3:	66 c7 45 da 00 00    	movw   $0x0,-0x26(%ebp)
c00246f9:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
c0024700:	8b 45 d4             	mov    -0x2c(%ebp),%eax
c0024703:	3b 45 bc             	cmp    -0x44(%ebp),%eax
c0024706:	0f 8d e8 00 00 00    	jge    c00247f4 <_Z10drawbitmapiiiiiiPhi+0x2d6>
c002470c:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
c0024713:	8b 45 d0             	mov    -0x30(%ebp),%eax
c0024716:	3b 45 b8             	cmp    -0x48(%ebp),%eax
c0024719:	0f 8d cc 00 00 00    	jge    c00247eb <_Z10drawbitmapiiiiiiPhi+0x2cd>
c002471f:	8b 45 d0             	mov    -0x30(%ebp),%eax
c0024722:	0f af 45 c4          	imul   -0x3c(%ebp),%eax
c0024726:	89 c2                	mov    %eax,%edx
c0024728:	8b 45 e0             	mov    -0x20(%ebp),%eax
c002472b:	0f af 45 bc          	imul   -0x44(%ebp),%eax
c002472f:	89 c1                	mov    %eax,%ecx
c0024731:	8b 45 d4             	mov    -0x2c(%ebp),%eax
c0024734:	8d 1c 01             	lea    (%ecx,%eax,1),%ebx
c0024737:	8b 45 24             	mov    0x24(%ebp),%eax
c002473a:	8d 48 07             	lea    0x7(%eax),%ecx
c002473d:	85 c0                	test   %eax,%eax
c002473f:	0f 48 c1             	cmovs  %ecx,%eax
c0024742:	c1 f8 03             	sar    $0x3,%eax
c0024745:	0f af c3             	imul   %ebx,%eax
c0024748:	01 c2                	add    %eax,%edx
c002474a:	8b 45 f4             	mov    -0xc(%ebp),%eax
c002474d:	01 c2                	add    %eax,%edx
c002474f:	8b 45 20             	mov    0x20(%ebp),%eax
c0024752:	01 d0                	add    %edx,%eax
c0024754:	0f b6 00             	movzbl (%eax),%eax
c0024757:	0f b6 c0             	movzbl %al,%eax
c002475a:	66 01 45 da          	add    %ax,-0x26(%ebp)
c002475e:	8b 45 d0             	mov    -0x30(%ebp),%eax
c0024761:	0f af 45 c4          	imul   -0x3c(%ebp),%eax
c0024765:	89 c2                	mov    %eax,%edx
c0024767:	8b 45 e0             	mov    -0x20(%ebp),%eax
c002476a:	0f af 45 bc          	imul   -0x44(%ebp),%eax
c002476e:	89 c1                	mov    %eax,%ecx
c0024770:	8b 45 d4             	mov    -0x2c(%ebp),%eax
c0024773:	8d 1c 01             	lea    (%ecx,%eax,1),%ebx
c0024776:	8b 45 24             	mov    0x24(%ebp),%eax
c0024779:	8d 48 07             	lea    0x7(%eax),%ecx
c002477c:	85 c0                	test   %eax,%eax
c002477e:	0f 48 c1             	cmovs  %ecx,%eax
c0024781:	c1 f8 03             	sar    $0x3,%eax
c0024784:	0f af c3             	imul   %ebx,%eax
c0024787:	01 c2                	add    %eax,%edx
c0024789:	8b 45 f4             	mov    -0xc(%ebp),%eax
c002478c:	01 d0                	add    %edx,%eax
c002478e:	8d 50 01             	lea    0x1(%eax),%edx
c0024791:	8b 45 20             	mov    0x20(%ebp),%eax
c0024794:	01 d0                	add    %edx,%eax
c0024796:	0f b6 00             	movzbl (%eax),%eax
c0024799:	0f b6 c0             	movzbl %al,%eax
c002479c:	66 01 45 dc          	add    %ax,-0x24(%ebp)
c00247a0:	8b 45 d0             	mov    -0x30(%ebp),%eax
c00247a3:	0f af 45 c4          	imul   -0x3c(%ebp),%eax
c00247a7:	89 c2                	mov    %eax,%edx
c00247a9:	8b 45 e0             	mov    -0x20(%ebp),%eax
c00247ac:	0f af 45 bc          	imul   -0x44(%ebp),%eax
c00247b0:	89 c1                	mov    %eax,%ecx
c00247b2:	8b 45 d4             	mov    -0x2c(%ebp),%eax
c00247b5:	8d 1c 01             	lea    (%ecx,%eax,1),%ebx
c00247b8:	8b 45 24             	mov    0x24(%ebp),%eax
c00247bb:	8d 48 07             	lea    0x7(%eax),%ecx
c00247be:	85 c0                	test   %eax,%eax
c00247c0:	0f 48 c1             	cmovs  %ecx,%eax
c00247c3:	c1 f8 03             	sar    $0x3,%eax
c00247c6:	0f af c3             	imul   %ebx,%eax
c00247c9:	01 c2                	add    %eax,%edx
c00247cb:	8b 45 f4             	mov    -0xc(%ebp),%eax
c00247ce:	01 d0                	add    %edx,%eax
c00247d0:	8d 50 02             	lea    0x2(%eax),%edx
c00247d3:	8b 45 20             	mov    0x20(%ebp),%eax
c00247d6:	01 d0                	add    %edx,%eax
c00247d8:	0f b6 00             	movzbl (%eax),%eax
c00247db:	0f b6 c0             	movzbl %al,%eax
c00247de:	66 01 45 de          	add    %ax,-0x22(%ebp)
c00247e2:	83 45 d0 01          	addl   $0x1,-0x30(%ebp)
c00247e6:	e9 28 ff ff ff       	jmp    c0024713 <_Z10drawbitmapiiiiiiPhi+0x1f5>
c00247eb:	83 45 d4 01          	addl   $0x1,-0x2c(%ebp)
c00247ef:	e9 0c ff ff ff       	jmp    c0024700 <_Z10drawbitmapiiiiiiPhi+0x1e2>
c00247f4:	0f b7 45 da          	movzwl -0x26(%ebp),%eax
c00247f8:	99                   	cltd   
c00247f9:	f7 7d bc             	idivl  -0x44(%ebp)
c00247fc:	66 89 45 da          	mov    %ax,-0x26(%ebp)
c0024800:	0f b7 45 dc          	movzwl -0x24(%ebp),%eax
c0024804:	99                   	cltd   
c0024805:	f7 7d bc             	idivl  -0x44(%ebp)
c0024808:	66 89 45 dc          	mov    %ax,-0x24(%ebp)
c002480c:	0f b7 45 de          	movzwl -0x22(%ebp),%eax
c0024810:	99                   	cltd   
c0024811:	f7 7d bc             	idivl  -0x44(%ebp)
c0024814:	66 89 45 de          	mov    %ax,-0x22(%ebp)
c0024818:	8b 45 e0             	mov    -0x20(%ebp),%eax
c002481b:	0f af 45 b4          	imul   -0x4c(%ebp),%eax
c002481f:	89 c2                	mov    %eax,%edx
c0024821:	8b 45 f0             	mov    -0x10(%ebp),%eax
c0024824:	01 c2                	add    %eax,%edx
c0024826:	8b 45 c0             	mov    -0x40(%ebp),%eax
c0024829:	01 d0                	add    %edx,%eax
c002482b:	0f b7 55 da          	movzwl -0x26(%ebp),%edx
c002482f:	88 10                	mov    %dl,(%eax)
c0024831:	8b 45 e0             	mov    -0x20(%ebp),%eax
c0024834:	0f af 45 b4          	imul   -0x4c(%ebp),%eax
c0024838:	89 c2                	mov    %eax,%edx
c002483a:	8b 45 f0             	mov    -0x10(%ebp),%eax
c002483d:	01 d0                	add    %edx,%eax
c002483f:	8d 50 01             	lea    0x1(%eax),%edx
c0024842:	8b 45 c0             	mov    -0x40(%ebp),%eax
c0024845:	01 d0                	add    %edx,%eax
c0024847:	0f b7 55 dc          	movzwl -0x24(%ebp),%edx
c002484b:	88 10                	mov    %dl,(%eax)
c002484d:	8b 45 e0             	mov    -0x20(%ebp),%eax
c0024850:	0f af 45 b4          	imul   -0x4c(%ebp),%eax
c0024854:	89 c2                	mov    %eax,%edx
c0024856:	8b 45 f0             	mov    -0x10(%ebp),%eax
c0024859:	01 d0                	add    %edx,%eax
c002485b:	8d 50 02             	lea    0x2(%eax),%edx
c002485e:	8b 45 c0             	mov    -0x40(%ebp),%eax
c0024861:	01 d0                	add    %edx,%eax
c0024863:	0f b7 55 de          	movzwl -0x22(%ebp),%edx
c0024867:	88 10                	mov    %dl,(%eax)
c0024869:	83 45 e0 01          	addl   $0x1,-0x20(%ebp)
c002486d:	e9 69 fe ff ff       	jmp    c00246db <_Z10drawbitmapiiiiiiPhi+0x1bd>
c0024872:	8b 45 c4             	mov    -0x3c(%ebp),%eax
c0024875:	01 45 f4             	add    %eax,-0xc(%ebp)
c0024878:	8b 45 10             	mov    0x10(%ebp),%eax
c002487b:	0f af 45 b4          	imul   -0x4c(%ebp),%eax
c002487f:	01 45 f0             	add    %eax,-0x10(%ebp)
c0024882:	83 45 e4 01          	addl   $0x1,-0x1c(%ebp)
c0024886:	e9 3d fe ff ff       	jmp    c00246c8 <_Z10drawbitmapiiiiiiPhi+0x1aa>
c002488b:	90                   	nop
c002488c:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
c0024893:	8b 45 cc             	mov    -0x34(%ebp),%eax
c0024896:	3b 45 14             	cmp    0x14(%ebp),%eax
c0024899:	0f 8d 8e 00 00 00    	jge    c002492d <_Z10drawbitmapiiiiiiPhi+0x40f>
c002489f:	c7 45 c8 00 00 00 00 	movl   $0x0,-0x38(%ebp)
c00248a6:	0f b7 05 b4 e6 44 c0 	movzwl 0xc044e6b4,%eax
c00248ad:	66 c1 e8 03          	shr    $0x3,%ax
c00248b1:	0f b7 c0             	movzwl %ax,%eax
c00248b4:	0f af 45 10          	imul   0x10(%ebp),%eax
c00248b8:	39 45 c8             	cmp    %eax,-0x38(%ebp)
c00248bb:	7d 67                	jge    c0024924 <_Z10drawbitmapiiiiiiPhi+0x406>
c00248bd:	8b 45 10             	mov    0x10(%ebp),%eax
c00248c0:	0f af 45 14          	imul   0x14(%ebp),%eax
c00248c4:	0f af 45 b4          	imul   -0x4c(%ebp),%eax
c00248c8:	89 c2                	mov    %eax,%edx
c00248ca:	8b 45 10             	mov    0x10(%ebp),%eax
c00248cd:	0f af 45 b4          	imul   -0x4c(%ebp),%eax
c00248d1:	89 c1                	mov    %eax,%ecx
c00248d3:	8b 45 cc             	mov    -0x34(%ebp),%eax
c00248d6:	0f af c1             	imul   %ecx,%eax
c00248d9:	29 c2                	sub    %eax,%edx
c00248db:	8b 45 c8             	mov    -0x38(%ebp),%eax
c00248de:	01 c2                	add    %eax,%edx
c00248e0:	8b 45 c0             	mov    -0x40(%ebp),%eax
c00248e3:	8d 0c 02             	lea    (%edx,%eax,1),%ecx
c00248e6:	8b 15 c4 e6 44 c0    	mov    0xc044e6c4,%edx
c00248ec:	8b 5d 0c             	mov    0xc(%ebp),%ebx
c00248ef:	8b 45 cc             	mov    -0x34(%ebp),%eax
c00248f2:	01 d8                	add    %ebx,%eax
c00248f4:	89 c3                	mov    %eax,%ebx
c00248f6:	a1 b8 e6 44 c0       	mov    0xc044e6b8,%eax
c00248fb:	0f af d8             	imul   %eax,%ebx
c00248fe:	0f b7 05 b4 e6 44 c0 	movzwl 0xc044e6b4,%eax
c0024905:	66 c1 e8 03          	shr    $0x3,%ax
c0024909:	0f b7 c0             	movzwl %ax,%eax
c002490c:	0f af 45 08          	imul   0x8(%ebp),%eax
c0024910:	01 c3                	add    %eax,%ebx
c0024912:	8b 45 c8             	mov    -0x38(%ebp),%eax
c0024915:	01 d8                	add    %ebx,%eax
c0024917:	01 c2                	add    %eax,%edx
c0024919:	0f b6 01             	movzbl (%ecx),%eax
c002491c:	88 02                	mov    %al,(%edx)
c002491e:	83 45 c8 01          	addl   $0x1,-0x38(%ebp)
c0024922:	eb 82                	jmp    c00248a6 <_Z10drawbitmapiiiiiiPhi+0x388>
c0024924:	83 45 cc 01          	addl   $0x1,-0x34(%ebp)
c0024928:	e9 66 ff ff ff       	jmp    c0024893 <_Z10drawbitmapiiiiiiPhi+0x375>
c002492d:	90                   	nop
c002492e:	8b 5d fc             	mov    -0x4(%ebp),%ebx
c0024931:	c9                   	leave  
c0024932:	c3                   	ret    

c0024933 <_Z18drawbitmap_noscaleiiiiPhi>:
c0024933:	55                   	push   %ebp
c0024934:	89 e5                	mov    %esp,%ebp
c0024936:	83 ec 38             	sub    $0x38,%esp
c0024939:	8b 45 1c             	mov    0x1c(%ebp),%eax
c002493c:	0f af 45 10          	imul   0x10(%ebp),%eax
c0024940:	83 c0 1f             	add    $0x1f,%eax
c0024943:	8d 50 1f             	lea    0x1f(%eax),%edx
c0024946:	85 c0                	test   %eax,%eax
c0024948:	0f 48 c2             	cmovs  %edx,%eax
c002494b:	c1 f8 05             	sar    $0x5,%eax
c002494e:	89 45 d4             	mov    %eax,-0x2c(%ebp)
c0024951:	db 45 d4             	fildl  -0x2c(%ebp)
c0024954:	83 ec 08             	sub    $0x8,%esp
c0024957:	8d 64 24 f8          	lea    -0x8(%esp),%esp
c002495b:	dd 1c 24             	fstpl  (%esp)
c002495e:	e8 aa b3 ff ff       	call   c001fd0d <_Z5floord>
c0024963:	83 c4 10             	add    $0x10,%esp
c0024966:	c1 e0 02             	shl    $0x2,%eax
c0024969:	89 45 e4             	mov    %eax,-0x1c(%ebp)
c002496c:	8b 45 14             	mov    0x14(%ebp),%eax
c002496f:	83 e8 01             	sub    $0x1,%eax
c0024972:	89 c2                	mov    %eax,%edx
c0024974:	8b 45 e4             	mov    -0x1c(%ebp),%eax
c0024977:	0f af c2             	imul   %edx,%eax
c002497a:	89 45 f4             	mov    %eax,-0xc(%ebp)
c002497d:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
c0024984:	0f b7 05 b4 e6 44 c0 	movzwl 0xc044e6b4,%eax
c002498b:	66 c1 e8 03          	shr    $0x3,%ax
c002498f:	0f b7 c0             	movzwl %ax,%eax
c0024992:	89 45 e0             	mov    %eax,-0x20(%ebp)
c0024995:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
c002499c:	8b 45 ec             	mov    -0x14(%ebp),%eax
c002499f:	3b 45 14             	cmp    0x14(%ebp),%eax
c00249a2:	0f 8d ee 00 00 00    	jge    c0024a96 <_Z18drawbitmap_noscaleiiiiPhi+0x163>
c00249a8:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
c00249af:	8b 45 e8             	mov    -0x18(%ebp),%eax
c00249b2:	3b 45 10             	cmp    0x10(%ebp),%eax
c00249b5:	0f 8d c2 00 00 00    	jge    c0024a7d <_Z18drawbitmap_noscaleiiiiPhi+0x14a>
c00249bb:	8b 55 0c             	mov    0xc(%ebp),%edx
c00249be:	8b 45 ec             	mov    -0x14(%ebp),%eax
c00249c1:	01 d0                	add    %edx,%eax
c00249c3:	89 c2                	mov    %eax,%edx
c00249c5:	a1 b8 e6 44 c0       	mov    0xc044e6b8,%eax
c00249ca:	0f af d0             	imul   %eax,%edx
c00249cd:	8b 4d 08             	mov    0x8(%ebp),%ecx
c00249d0:	8b 45 e8             	mov    -0x18(%ebp),%eax
c00249d3:	01 c8                	add    %ecx,%eax
c00249d5:	0f af 45 e0          	imul   -0x20(%ebp),%eax
c00249d9:	01 d0                	add    %edx,%eax
c00249db:	89 45 dc             	mov    %eax,-0x24(%ebp)
c00249de:	8b 45 1c             	mov    0x1c(%ebp),%eax
c00249e1:	8d 50 07             	lea    0x7(%eax),%edx
c00249e4:	85 c0                	test   %eax,%eax
c00249e6:	0f 48 c2             	cmovs  %edx,%eax
c00249e9:	c1 f8 03             	sar    $0x3,%eax
c00249ec:	0f af 45 e8          	imul   -0x18(%ebp),%eax
c00249f0:	89 c2                	mov    %eax,%edx
c00249f2:	8b 45 f4             	mov    -0xc(%ebp),%eax
c00249f5:	01 c2                	add    %eax,%edx
c00249f7:	8b 45 18             	mov    0x18(%ebp),%eax
c00249fa:	01 d0                	add    %edx,%eax
c00249fc:	8b 0d c4 e6 44 c0    	mov    0xc044e6c4,%ecx
c0024a02:	8b 55 dc             	mov    -0x24(%ebp),%edx
c0024a05:	01 ca                	add    %ecx,%edx
c0024a07:	0f b6 00             	movzbl (%eax),%eax
c0024a0a:	88 02                	mov    %al,(%edx)
c0024a0c:	8b 45 1c             	mov    0x1c(%ebp),%eax
c0024a0f:	8d 50 07             	lea    0x7(%eax),%edx
c0024a12:	85 c0                	test   %eax,%eax
c0024a14:	0f 48 c2             	cmovs  %edx,%eax
c0024a17:	c1 f8 03             	sar    $0x3,%eax
c0024a1a:	0f af 45 e8          	imul   -0x18(%ebp),%eax
c0024a1e:	89 c2                	mov    %eax,%edx
c0024a20:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0024a23:	01 d0                	add    %edx,%eax
c0024a25:	8d 50 01             	lea    0x1(%eax),%edx
c0024a28:	8b 45 18             	mov    0x18(%ebp),%eax
c0024a2b:	01 d0                	add    %edx,%eax
c0024a2d:	8b 15 c4 e6 44 c0    	mov    0xc044e6c4,%edx
c0024a33:	8b 4d dc             	mov    -0x24(%ebp),%ecx
c0024a36:	83 c1 01             	add    $0x1,%ecx
c0024a39:	01 ca                	add    %ecx,%edx
c0024a3b:	0f b6 00             	movzbl (%eax),%eax
c0024a3e:	88 02                	mov    %al,(%edx)
c0024a40:	8b 45 1c             	mov    0x1c(%ebp),%eax
c0024a43:	8d 50 07             	lea    0x7(%eax),%edx
c0024a46:	85 c0                	test   %eax,%eax
c0024a48:	0f 48 c2             	cmovs  %edx,%eax
c0024a4b:	c1 f8 03             	sar    $0x3,%eax
c0024a4e:	0f af 45 e8          	imul   -0x18(%ebp),%eax
c0024a52:	89 c2                	mov    %eax,%edx
c0024a54:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0024a57:	01 d0                	add    %edx,%eax
c0024a59:	8d 50 02             	lea    0x2(%eax),%edx
c0024a5c:	8b 45 18             	mov    0x18(%ebp),%eax
c0024a5f:	01 d0                	add    %edx,%eax
c0024a61:	8b 15 c4 e6 44 c0    	mov    0xc044e6c4,%edx
c0024a67:	8b 4d dc             	mov    -0x24(%ebp),%ecx
c0024a6a:	83 c1 02             	add    $0x2,%ecx
c0024a6d:	01 ca                	add    %ecx,%edx
c0024a6f:	0f b6 00             	movzbl (%eax),%eax
c0024a72:	88 02                	mov    %al,(%edx)
c0024a74:	83 45 e8 01          	addl   $0x1,-0x18(%ebp)
c0024a78:	e9 32 ff ff ff       	jmp    c00249af <_Z18drawbitmap_noscaleiiiiPhi+0x7c>
c0024a7d:	8b 45 e4             	mov    -0x1c(%ebp),%eax
c0024a80:	29 45 f4             	sub    %eax,-0xc(%ebp)
c0024a83:	8b 45 10             	mov    0x10(%ebp),%eax
c0024a86:	0f af 45 e0          	imul   -0x20(%ebp),%eax
c0024a8a:	01 45 f0             	add    %eax,-0x10(%ebp)
c0024a8d:	83 45 ec 01          	addl   $0x1,-0x14(%ebp)
c0024a91:	e9 06 ff ff ff       	jmp    c002499c <_Z18drawbitmap_noscaleiiiiPhi+0x69>
c0024a96:	90                   	nop
c0024a97:	c9                   	leave  
c0024a98:	c3                   	ret    

c0024a99 <_Z13screen_updatev>:
c0024a99:	55                   	push   %ebp
c0024a9a:	89 e5                	mov    %esp,%ebp
c0024a9c:	83 ec 08             	sub    $0x8,%esp
c0024a9f:	8b 15 b8 e6 44 c0    	mov    0xc044e6b8,%edx
c0024aa5:	a1 b0 e6 44 c0       	mov    0xc044e6b0,%eax
c0024aaa:	89 d1                	mov    %edx,%ecx
c0024aac:	0f af c8             	imul   %eax,%ecx
c0024aaf:	8b 15 c4 e6 44 c0    	mov    0xc044e6c4,%edx
c0024ab5:	a1 c8 e6 44 c0       	mov    0xc044e6c8,%eax
c0024aba:	83 ec 04             	sub    $0x4,%esp
c0024abd:	51                   	push   %ecx
c0024abe:	52                   	push   %edx
c0024abf:	50                   	push   %eax
c0024ac0:	e8 40 b3 ff ff       	call   c001fe05 <_Z11memcpy_sse2PvS_m>
c0024ac5:	83 c4 10             	add    $0x10,%esp
c0024ac8:	90                   	nop
c0024ac9:	c9                   	leave  
c0024aca:	c3                   	ret    

c0024acb <_Z16get_main_desktopv>:
c0024acb:	55                   	push   %ebp
c0024acc:	89 e5                	mov    %esp,%ebp
c0024ace:	a1 cc e6 44 c0       	mov    0xc044e6cc,%eax
c0024ad3:	5d                   	pop    %ebp
c0024ad4:	c3                   	ret    

c0024ad5 <_Z16set_main_desktopP7Desktop>:
c0024ad5:	55                   	push   %ebp
c0024ad6:	89 e5                	mov    %esp,%ebp
c0024ad8:	8b 45 08             	mov    0x8(%ebp),%eax
c0024adb:	a3 cc e6 44 c0       	mov    %eax,0xc044e6cc
c0024ae0:	90                   	nop
c0024ae1:	5d                   	pop    %ebp
c0024ae2:	c3                   	ret    

Disassembly of section .text._ZN12cpuid_info_tC2Ev:

c0024ae4 <_ZN12cpuid_info_tC1Ev>:
c0024ae4:	55                   	push   %ebp
c0024ae5:	89 e5                	mov    %esp,%ebp
c0024ae7:	8b 45 08             	mov    0x8(%ebp),%eax
c0024aea:	c6 40 0c 00          	movb   $0x0,0xc(%eax)
c0024aee:	90                   	nop
c0024aef:	5d                   	pop    %ebp
c0024af0:	c3                   	ret    

Disassembly of section .text._Z10mouse_waith:

c0024af1 <_Z10mouse_waith>:
c0024af1:	55                   	push   %ebp
c0024af2:	89 e5                	mov    %esp,%ebp
c0024af4:	83 ec 28             	sub    $0x28,%esp
c0024af7:	8b 45 08             	mov    0x8(%ebp),%eax
c0024afa:	88 45 e4             	mov    %al,-0x1c(%ebp)
c0024afd:	c7 45 f4 a0 86 01 00 	movl   $0x186a0,-0xc(%ebp)
c0024b04:	80 7d e4 00          	cmpb   $0x0,-0x1c(%ebp)
c0024b08:	75 31                	jne    c0024b3b <_Z10mouse_waith+0x4a>
c0024b0a:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0024b0d:	8d 50 ff             	lea    -0x1(%eax),%edx
c0024b10:	89 55 f4             	mov    %edx,-0xc(%ebp)
c0024b13:	85 c0                	test   %eax,%eax
c0024b15:	0f 95 c0             	setne  %al
c0024b18:	84 c0                	test   %al,%al
c0024b1a:	74 53                	je     c0024b6f <_Z10mouse_waith+0x7e>
c0024b1c:	83 ec 0c             	sub    $0xc,%esp
c0024b1f:	6a 64                	push   $0x64
c0024b21:	e8 97 ef ff ff       	call   c0023abd <_Z7inportbt>
c0024b26:	83 c4 10             	add    $0x10,%esp
c0024b29:	0f b6 c0             	movzbl %al,%eax
c0024b2c:	83 e0 01             	and    $0x1,%eax
c0024b2f:	83 f8 01             	cmp    $0x1,%eax
c0024b32:	0f 94 c0             	sete   %al
c0024b35:	84 c0                	test   %al,%al
c0024b37:	75 32                	jne    c0024b6b <_Z10mouse_waith+0x7a>
c0024b39:	eb cf                	jmp    c0024b0a <_Z10mouse_waith+0x19>
c0024b3b:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0024b3e:	8d 50 ff             	lea    -0x1(%eax),%edx
c0024b41:	89 55 f4             	mov    %edx,-0xc(%ebp)
c0024b44:	85 c0                	test   %eax,%eax
c0024b46:	0f 95 c0             	setne  %al
c0024b49:	84 c0                	test   %al,%al
c0024b4b:	74 22                	je     c0024b6f <_Z10mouse_waith+0x7e>
c0024b4d:	83 ec 0c             	sub    $0xc,%esp
c0024b50:	6a 64                	push   $0x64
c0024b52:	e8 66 ef ff ff       	call   c0023abd <_Z7inportbt>
c0024b57:	83 c4 10             	add    $0x10,%esp
c0024b5a:	0f b6 c0             	movzbl %al,%eax
c0024b5d:	83 e0 02             	and    $0x2,%eax
c0024b60:	85 c0                	test   %eax,%eax
c0024b62:	0f 94 c0             	sete   %al
c0024b65:	84 c0                	test   %al,%al
c0024b67:	75 05                	jne    c0024b6e <_Z10mouse_waith+0x7d>
c0024b69:	eb d0                	jmp    c0024b3b <_Z10mouse_waith+0x4a>
c0024b6b:	90                   	nop
c0024b6c:	eb 01                	jmp    c0024b6f <_Z10mouse_waith+0x7e>
c0024b6e:	90                   	nop
c0024b6f:	c9                   	leave  
c0024b70:	c3                   	ret    

Disassembly of section .text._Z11mouse_writeh:

c0024b71 <_Z11mouse_writeh>:
c0024b71:	55                   	push   %ebp
c0024b72:	89 e5                	mov    %esp,%ebp
c0024b74:	83 ec 18             	sub    $0x18,%esp
c0024b77:	8b 45 08             	mov    0x8(%ebp),%eax
c0024b7a:	88 45 f4             	mov    %al,-0xc(%ebp)
c0024b7d:	83 ec 0c             	sub    $0xc,%esp
c0024b80:	6a 01                	push   $0x1
c0024b82:	e8 6a ff ff ff       	call   c0024af1 <_Z10mouse_waith>
c0024b87:	83 c4 10             	add    $0x10,%esp
c0024b8a:	83 ec 08             	sub    $0x8,%esp
c0024b8d:	68 d4 00 00 00       	push   $0xd4
c0024b92:	6a 64                	push   $0x64
c0024b94:	e8 03 ef ff ff       	call   c0023a9c <_Z8outportbth>
c0024b99:	83 c4 10             	add    $0x10,%esp
c0024b9c:	83 ec 0c             	sub    $0xc,%esp
c0024b9f:	6a 01                	push   $0x1
c0024ba1:	e8 4b ff ff ff       	call   c0024af1 <_Z10mouse_waith>
c0024ba6:	83 c4 10             	add    $0x10,%esp
c0024ba9:	0f b6 45 f4          	movzbl -0xc(%ebp),%eax
c0024bad:	83 ec 08             	sub    $0x8,%esp
c0024bb0:	50                   	push   %eax
c0024bb1:	6a 60                	push   $0x60
c0024bb3:	e8 e4 ee ff ff       	call   c0023a9c <_Z8outportbth>
c0024bb8:	83 c4 10             	add    $0x10,%esp
c0024bbb:	90                   	nop
c0024bbc:	c9                   	leave  
c0024bbd:	c3                   	ret    

Disassembly of section .text._ZN4ListI11HandleIndexEC2Ev:

c0024bbe <_ZN4ListI11HandleIndexEC1Ev>:
c0024bbe:	55                   	push   %ebp
c0024bbf:	89 e5                	mov    %esp,%ebp
c0024bc1:	8b 45 08             	mov    0x8(%ebp),%eax
c0024bc4:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
c0024bca:	8b 45 08             	mov    0x8(%ebp),%eax
c0024bcd:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
c0024bd4:	90                   	nop
c0024bd5:	5d                   	pop    %ebp
c0024bd6:	c3                   	ret    

Disassembly of section .text._ZN8ListNodeI11HandleIndexEC2Ev:

c0024bd8 <_ZN8ListNodeI11HandleIndexEC1Ev>:
c0024bd8:	55                   	push   %ebp
c0024bd9:	89 e5                	mov    %esp,%ebp
c0024bdb:	8b 45 08             	mov    0x8(%ebp),%eax
c0024bde:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
c0024be4:	8b 45 08             	mov    0x8(%ebp),%eax
c0024be7:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
c0024bee:	90                   	nop
c0024bef:	5d                   	pop    %ebp
c0024bf0:	c3                   	ret    

Disassembly of section .text._ZN4ListI11HandleIndexE8add_backES0_:

c0024bf2 <_ZN4ListI11HandleIndexE8add_backES0_>:
c0024bf2:	55                   	push   %ebp
c0024bf3:	89 e5                	mov    %esp,%ebp
c0024bf5:	83 ec 28             	sub    $0x28,%esp
c0024bf8:	83 ec 0c             	sub    $0xc,%esp
c0024bfb:	6a 14                	push   $0x14
c0024bfd:	e8 7b 88 ff ff       	call   c001d47d <kmalloc>
c0024c02:	83 c4 10             	add    $0x10,%esp
c0024c05:	89 45 f4             	mov    %eax,-0xc(%ebp)
c0024c08:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
c0024c0f:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
c0024c16:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
c0024c1d:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
c0024c24:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
c0024c2b:	83 ec 0c             	sub    $0xc,%esp
c0024c2e:	8d 45 e0             	lea    -0x20(%ebp),%eax
c0024c31:	50                   	push   %eax
c0024c32:	e8 a1 ff ff ff       	call   c0024bd8 <_ZN8ListNodeI11HandleIndexEC1Ev>
c0024c37:	83 c4 10             	add    $0x10,%esp
c0024c3a:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0024c3d:	8b 55 e0             	mov    -0x20(%ebp),%edx
c0024c40:	89 10                	mov    %edx,(%eax)
c0024c42:	8b 55 e4             	mov    -0x1c(%ebp),%edx
c0024c45:	89 50 04             	mov    %edx,0x4(%eax)
c0024c48:	8b 55 e8             	mov    -0x18(%ebp),%edx
c0024c4b:	89 50 08             	mov    %edx,0x8(%eax)
c0024c4e:	8b 55 ec             	mov    -0x14(%ebp),%edx
c0024c51:	89 50 0c             	mov    %edx,0xc(%eax)
c0024c54:	8b 55 f0             	mov    -0x10(%ebp),%edx
c0024c57:	89 50 10             	mov    %edx,0x10(%eax)
c0024c5a:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0024c5d:	8b 55 0c             	mov    0xc(%ebp),%edx
c0024c60:	89 50 08             	mov    %edx,0x8(%eax)
c0024c63:	8b 55 10             	mov    0x10(%ebp),%edx
c0024c66:	89 50 0c             	mov    %edx,0xc(%eax)
c0024c69:	8b 55 14             	mov    0x14(%ebp),%edx
c0024c6c:	89 50 10             	mov    %edx,0x10(%eax)
c0024c6f:	8b 45 08             	mov    0x8(%ebp),%eax
c0024c72:	8b 00                	mov    (%eax),%eax
c0024c74:	85 c0                	test   %eax,%eax
c0024c76:	75 0a                	jne    c0024c82 <_ZN4ListI11HandleIndexE8add_backES0_+0x90>
c0024c78:	8b 45 08             	mov    0x8(%ebp),%eax
c0024c7b:	8b 55 f4             	mov    -0xc(%ebp),%edx
c0024c7e:	89 10                	mov    %edx,(%eax)
c0024c80:	eb 17                	jmp    c0024c99 <_ZN4ListI11HandleIndexE8add_backES0_+0xa7>
c0024c82:	8b 45 08             	mov    0x8(%ebp),%eax
c0024c85:	8b 40 04             	mov    0x4(%eax),%eax
c0024c88:	8b 55 f4             	mov    -0xc(%ebp),%edx
c0024c8b:	89 10                	mov    %edx,(%eax)
c0024c8d:	8b 45 08             	mov    0x8(%ebp),%eax
c0024c90:	8b 50 04             	mov    0x4(%eax),%edx
c0024c93:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0024c96:	89 50 04             	mov    %edx,0x4(%eax)
c0024c99:	8b 45 08             	mov    0x8(%ebp),%eax
c0024c9c:	8b 55 f4             	mov    -0xc(%ebp),%edx
c0024c9f:	89 50 04             	mov    %edx,0x4(%eax)
c0024ca2:	8b 45 08             	mov    0x8(%ebp),%eax
c0024ca5:	8b 40 08             	mov    0x8(%eax),%eax
c0024ca8:	8d 50 01             	lea    0x1(%eax),%edx
c0024cab:	8b 45 08             	mov    0x8(%ebp),%eax
c0024cae:	89 50 08             	mov    %edx,0x8(%eax)
c0024cb1:	90                   	nop
c0024cb2:	c9                   	leave  
c0024cb3:	c3                   	ret    

Disassembly of section .text._ZN4ListI11HandleIndexE10get_lengthEv:

c0024cb4 <_ZN4ListI11HandleIndexE10get_lengthEv>:
c0024cb4:	55                   	push   %ebp
c0024cb5:	89 e5                	mov    %esp,%ebp
c0024cb7:	8b 45 08             	mov    0x8(%ebp),%eax
c0024cba:	8b 40 08             	mov    0x8(%eax),%eax
c0024cbd:	5d                   	pop    %ebp
c0024cbe:	c3                   	ret    

Disassembly of section .text._ZN4ListI11HandleIndexEixEj:

c0024cc0 <_ZN4ListI11HandleIndexEixEj>:
c0024cc0:	55                   	push   %ebp
c0024cc1:	89 e5                	mov    %esp,%ebp
c0024cc3:	83 ec 10             	sub    $0x10,%esp
c0024cc6:	8b 45 0c             	mov    0xc(%ebp),%eax
c0024cc9:	8b 40 08             	mov    0x8(%eax),%eax
c0024ccc:	39 45 10             	cmp    %eax,0x10(%ebp)
c0024ccf:	72 1a                	jb     c0024ceb <_ZN4ListI11HandleIndexEixEj+0x2b>
c0024cd1:	ba 00 00 00 00       	mov    $0x0,%edx
c0024cd6:	8b 45 08             	mov    0x8(%ebp),%eax
c0024cd9:	8b 0a                	mov    (%edx),%ecx
c0024cdb:	89 08                	mov    %ecx,(%eax)
c0024cdd:	8b 4a 04             	mov    0x4(%edx),%ecx
c0024ce0:	89 48 04             	mov    %ecx,0x4(%eax)
c0024ce3:	8b 52 08             	mov    0x8(%edx),%edx
c0024ce6:	89 50 08             	mov    %edx,0x8(%eax)
c0024ce9:	eb 3c                	jmp    c0024d27 <_ZN4ListI11HandleIndexEixEj+0x67>
c0024ceb:	8b 45 0c             	mov    0xc(%ebp),%eax
c0024cee:	8b 00                	mov    (%eax),%eax
c0024cf0:	89 45 fc             	mov    %eax,-0x4(%ebp)
c0024cf3:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
c0024cfa:	8b 45 f8             	mov    -0x8(%ebp),%eax
c0024cfd:	3b 45 10             	cmp    0x10(%ebp),%eax
c0024d00:	73 0e                	jae    c0024d10 <_ZN4ListI11HandleIndexEixEj+0x50>
c0024d02:	8b 45 fc             	mov    -0x4(%ebp),%eax
c0024d05:	8b 00                	mov    (%eax),%eax
c0024d07:	89 45 fc             	mov    %eax,-0x4(%ebp)
c0024d0a:	83 45 f8 01          	addl   $0x1,-0x8(%ebp)
c0024d0e:	eb ea                	jmp    c0024cfa <_ZN4ListI11HandleIndexEixEj+0x3a>
c0024d10:	8b 45 08             	mov    0x8(%ebp),%eax
c0024d13:	8b 55 fc             	mov    -0x4(%ebp),%edx
c0024d16:	8b 4a 08             	mov    0x8(%edx),%ecx
c0024d19:	89 08                	mov    %ecx,(%eax)
c0024d1b:	8b 4a 0c             	mov    0xc(%edx),%ecx
c0024d1e:	89 48 04             	mov    %ecx,0x4(%eax)
c0024d21:	8b 52 10             	mov    0x10(%edx),%edx
c0024d24:	89 50 08             	mov    %edx,0x8(%eax)
c0024d27:	8b 45 08             	mov    0x8(%ebp),%eax
c0024d2a:	c9                   	leave  
c0024d2b:	c2 04 00             	ret    $0x4

Disassembly of section .text._Z17physalloc_bit_setm:

c0024d2e <_Z17physalloc_bit_setm>:
c0024d2e:	55                   	push   %ebp
c0024d2f:	89 e5                	mov    %esp,%ebp
c0024d31:	53                   	push   %ebx
c0024d32:	8b 45 08             	mov    0x8(%ebp),%eax
c0024d35:	c1 e8 05             	shr    $0x5,%eax
c0024d38:	8b 14 85 20 e0 42 c0 	mov    -0x3fbd1fe0(,%eax,4),%edx
c0024d3f:	8b 4d 08             	mov    0x8(%ebp),%ecx
c0024d42:	83 e1 1f             	and    $0x1f,%ecx
c0024d45:	bb 01 00 00 00       	mov    $0x1,%ebx
c0024d4a:	d3 e3                	shl    %cl,%ebx
c0024d4c:	89 d9                	mov    %ebx,%ecx
c0024d4e:	09 ca                	or     %ecx,%edx
c0024d50:	89 14 85 20 e0 42 c0 	mov    %edx,-0x3fbd1fe0(,%eax,4)
c0024d57:	90                   	nop
c0024d58:	5b                   	pop    %ebx
c0024d59:	5d                   	pop    %ebp
c0024d5a:	c3                   	ret    

Disassembly of section .text._Z19physalloc_bit_clearm:

c0024d5b <_Z19physalloc_bit_clearm>:
c0024d5b:	55                   	push   %ebp
c0024d5c:	89 e5                	mov    %esp,%ebp
c0024d5e:	53                   	push   %ebx
c0024d5f:	8b 45 08             	mov    0x8(%ebp),%eax
c0024d62:	c1 e8 05             	shr    $0x5,%eax
c0024d65:	8b 14 85 20 e0 42 c0 	mov    -0x3fbd1fe0(,%eax,4),%edx
c0024d6c:	8b 4d 08             	mov    0x8(%ebp),%ecx
c0024d6f:	83 e1 1f             	and    $0x1f,%ecx
c0024d72:	bb 01 00 00 00       	mov    $0x1,%ebx
c0024d77:	d3 e3                	shl    %cl,%ebx
c0024d79:	89 d9                	mov    %ebx,%ecx
c0024d7b:	f7 d1                	not    %ecx
c0024d7d:	21 ca                	and    %ecx,%edx
c0024d7f:	89 14 85 20 e0 42 c0 	mov    %edx,-0x3fbd1fe0(,%eax,4)
c0024d86:	90                   	nop
c0024d87:	5b                   	pop    %ebx
c0024d88:	5d                   	pop    %ebp
c0024d89:	c3                   	ret    

Disassembly of section .text._ZN8ListNodeI9message_tEC2Ev:

c0024d8a <_ZN8ListNodeI9message_tEC1Ev>:
c0024d8a:	55                   	push   %ebp
c0024d8b:	89 e5                	mov    %esp,%ebp
c0024d8d:	8b 45 08             	mov    0x8(%ebp),%eax
c0024d90:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
c0024d96:	8b 45 08             	mov    0x8(%ebp),%eax
c0024d99:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
c0024da0:	90                   	nop
c0024da1:	5d                   	pop    %ebp
c0024da2:	c3                   	ret    

Disassembly of section .text._ZN4ListI9message_tE8add_backES0_:

c0024da4 <_ZN4ListI9message_tE8add_backES0_>:
c0024da4:	55                   	push   %ebp
c0024da5:	89 e5                	mov    %esp,%ebp
c0024da7:	83 ec 28             	sub    $0x28,%esp
c0024daa:	83 ec 0c             	sub    $0xc,%esp
c0024dad:	6a 18                	push   $0x18
c0024daf:	e8 c9 86 ff ff       	call   c001d47d <kmalloc>
c0024db4:	83 c4 10             	add    $0x10,%esp
c0024db7:	89 45 f4             	mov    %eax,-0xc(%ebp)
c0024dba:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
c0024dc1:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
c0024dc8:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
c0024dcf:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
c0024dd6:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
c0024ddd:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
c0024de4:	83 ec 0c             	sub    $0xc,%esp
c0024de7:	8d 45 dc             	lea    -0x24(%ebp),%eax
c0024dea:	50                   	push   %eax
c0024deb:	e8 9a ff ff ff       	call   c0024d8a <_ZN8ListNodeI9message_tEC1Ev>
c0024df0:	83 c4 10             	add    $0x10,%esp
c0024df3:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0024df6:	8b 55 dc             	mov    -0x24(%ebp),%edx
c0024df9:	89 10                	mov    %edx,(%eax)
c0024dfb:	8b 55 e0             	mov    -0x20(%ebp),%edx
c0024dfe:	89 50 04             	mov    %edx,0x4(%eax)
c0024e01:	8b 55 e4             	mov    -0x1c(%ebp),%edx
c0024e04:	89 50 08             	mov    %edx,0x8(%eax)
c0024e07:	8b 55 e8             	mov    -0x18(%ebp),%edx
c0024e0a:	89 50 0c             	mov    %edx,0xc(%eax)
c0024e0d:	8b 55 ec             	mov    -0x14(%ebp),%edx
c0024e10:	89 50 10             	mov    %edx,0x10(%eax)
c0024e13:	8b 55 f0             	mov    -0x10(%ebp),%edx
c0024e16:	89 50 14             	mov    %edx,0x14(%eax)
c0024e19:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0024e1c:	8b 55 0c             	mov    0xc(%ebp),%edx
c0024e1f:	89 50 08             	mov    %edx,0x8(%eax)
c0024e22:	8b 55 10             	mov    0x10(%ebp),%edx
c0024e25:	89 50 0c             	mov    %edx,0xc(%eax)
c0024e28:	8b 55 14             	mov    0x14(%ebp),%edx
c0024e2b:	89 50 10             	mov    %edx,0x10(%eax)
c0024e2e:	8b 55 18             	mov    0x18(%ebp),%edx
c0024e31:	89 50 14             	mov    %edx,0x14(%eax)
c0024e34:	8b 45 08             	mov    0x8(%ebp),%eax
c0024e37:	8b 00                	mov    (%eax),%eax
c0024e39:	85 c0                	test   %eax,%eax
c0024e3b:	75 0a                	jne    c0024e47 <_ZN4ListI9message_tE8add_backES0_+0xa3>
c0024e3d:	8b 45 08             	mov    0x8(%ebp),%eax
c0024e40:	8b 55 f4             	mov    -0xc(%ebp),%edx
c0024e43:	89 10                	mov    %edx,(%eax)
c0024e45:	eb 17                	jmp    c0024e5e <_ZN4ListI9message_tE8add_backES0_+0xba>
c0024e47:	8b 45 08             	mov    0x8(%ebp),%eax
c0024e4a:	8b 40 04             	mov    0x4(%eax),%eax
c0024e4d:	8b 55 f4             	mov    -0xc(%ebp),%edx
c0024e50:	89 10                	mov    %edx,(%eax)
c0024e52:	8b 45 08             	mov    0x8(%ebp),%eax
c0024e55:	8b 50 04             	mov    0x4(%eax),%edx
c0024e58:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0024e5b:	89 50 04             	mov    %edx,0x4(%eax)
c0024e5e:	8b 45 08             	mov    0x8(%ebp),%eax
c0024e61:	8b 55 f4             	mov    -0xc(%ebp),%edx
c0024e64:	89 50 04             	mov    %edx,0x4(%eax)
c0024e67:	8b 45 08             	mov    0x8(%ebp),%eax
c0024e6a:	8b 40 08             	mov    0x8(%eax),%eax
c0024e6d:	8d 50 01             	lea    0x1(%eax),%edx
c0024e70:	8b 45 08             	mov    0x8(%ebp),%eax
c0024e73:	89 50 08             	mov    %edx,0x8(%eax)
c0024e76:	90                   	nop
c0024e77:	c9                   	leave  
c0024e78:	c3                   	ret    

Disassembly of section .text._ZN4ListI9message_tEixEj:

c0024e7a <_ZN4ListI9message_tEixEj>:
c0024e7a:	55                   	push   %ebp
c0024e7b:	89 e5                	mov    %esp,%ebp
c0024e7d:	83 ec 10             	sub    $0x10,%esp
c0024e80:	8b 45 0c             	mov    0xc(%ebp),%eax
c0024e83:	8b 40 08             	mov    0x8(%eax),%eax
c0024e86:	39 45 10             	cmp    %eax,0x10(%ebp)
c0024e89:	72 20                	jb     c0024eab <_ZN4ListI9message_tEixEj+0x31>
c0024e8b:	ba 00 00 00 00       	mov    $0x0,%edx
c0024e90:	8b 45 08             	mov    0x8(%ebp),%eax
c0024e93:	8b 0a                	mov    (%edx),%ecx
c0024e95:	89 08                	mov    %ecx,(%eax)
c0024e97:	8b 4a 04             	mov    0x4(%edx),%ecx
c0024e9a:	89 48 04             	mov    %ecx,0x4(%eax)
c0024e9d:	8b 4a 08             	mov    0x8(%edx),%ecx
c0024ea0:	89 48 08             	mov    %ecx,0x8(%eax)
c0024ea3:	8b 52 0c             	mov    0xc(%edx),%edx
c0024ea6:	89 50 0c             	mov    %edx,0xc(%eax)
c0024ea9:	eb 42                	jmp    c0024eed <_ZN4ListI9message_tEixEj+0x73>
c0024eab:	8b 45 0c             	mov    0xc(%ebp),%eax
c0024eae:	8b 00                	mov    (%eax),%eax
c0024eb0:	89 45 fc             	mov    %eax,-0x4(%ebp)
c0024eb3:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
c0024eba:	8b 45 f8             	mov    -0x8(%ebp),%eax
c0024ebd:	3b 45 10             	cmp    0x10(%ebp),%eax
c0024ec0:	73 0e                	jae    c0024ed0 <_ZN4ListI9message_tEixEj+0x56>
c0024ec2:	8b 45 fc             	mov    -0x4(%ebp),%eax
c0024ec5:	8b 00                	mov    (%eax),%eax
c0024ec7:	89 45 fc             	mov    %eax,-0x4(%ebp)
c0024eca:	83 45 f8 01          	addl   $0x1,-0x8(%ebp)
c0024ece:	eb ea                	jmp    c0024eba <_ZN4ListI9message_tEixEj+0x40>
c0024ed0:	8b 45 08             	mov    0x8(%ebp),%eax
c0024ed3:	8b 55 fc             	mov    -0x4(%ebp),%edx
c0024ed6:	8b 4a 08             	mov    0x8(%edx),%ecx
c0024ed9:	89 08                	mov    %ecx,(%eax)
c0024edb:	8b 4a 0c             	mov    0xc(%edx),%ecx
c0024ede:	89 48 04             	mov    %ecx,0x4(%eax)
c0024ee1:	8b 4a 10             	mov    0x10(%edx),%ecx
c0024ee4:	89 48 08             	mov    %ecx,0x8(%eax)
c0024ee7:	8b 52 14             	mov    0x14(%edx),%edx
c0024eea:	89 50 0c             	mov    %edx,0xc(%eax)
c0024eed:	8b 45 08             	mov    0x8(%ebp),%eax
c0024ef0:	c9                   	leave  
c0024ef1:	c2 04 00             	ret    $0x4

Disassembly of section .text._ZN4ListI9message_tE9remove_atEj:

c0024ef4 <_ZN4ListI9message_tE9remove_atEj>:
c0024ef4:	55                   	push   %ebp
c0024ef5:	89 e5                	mov    %esp,%ebp
c0024ef7:	83 ec 28             	sub    $0x28,%esp
c0024efa:	8b 45 0c             	mov    0xc(%ebp),%eax
c0024efd:	8b 40 08             	mov    0x8(%eax),%eax
c0024f00:	39 45 10             	cmp    %eax,0x10(%ebp)
c0024f03:	72 23                	jb     c0024f28 <_ZN4ListI9message_tE9remove_atEj+0x34>
c0024f05:	ba 00 00 00 00       	mov    $0x0,%edx
c0024f0a:	8b 45 08             	mov    0x8(%ebp),%eax
c0024f0d:	8b 0a                	mov    (%edx),%ecx
c0024f0f:	89 08                	mov    %ecx,(%eax)
c0024f11:	8b 4a 04             	mov    0x4(%edx),%ecx
c0024f14:	89 48 04             	mov    %ecx,0x4(%eax)
c0024f17:	8b 4a 08             	mov    0x8(%edx),%ecx
c0024f1a:	89 48 08             	mov    %ecx,0x8(%eax)
c0024f1d:	8b 52 0c             	mov    0xc(%edx),%edx
c0024f20:	89 50 0c             	mov    %edx,0xc(%eax)
c0024f23:	e9 d1 00 00 00       	jmp    c0024ff9 <_ZN4ListI9message_tE9remove_atEj+0x105>
c0024f28:	8b 45 0c             	mov    0xc(%ebp),%eax
c0024f2b:	8b 00                	mov    (%eax),%eax
c0024f2d:	89 45 f4             	mov    %eax,-0xc(%ebp)
c0024f30:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
c0024f37:	8b 45 f0             	mov    -0x10(%ebp),%eax
c0024f3a:	3b 45 10             	cmp    0x10(%ebp),%eax
c0024f3d:	73 0e                	jae    c0024f4d <_ZN4ListI9message_tE9remove_atEj+0x59>
c0024f3f:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0024f42:	8b 00                	mov    (%eax),%eax
c0024f44:	89 45 f4             	mov    %eax,-0xc(%ebp)
c0024f47:	83 45 f0 01          	addl   $0x1,-0x10(%ebp)
c0024f4b:	eb ea                	jmp    c0024f37 <_ZN4ListI9message_tE9remove_atEj+0x43>
c0024f4d:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0024f50:	8b 50 08             	mov    0x8(%eax),%edx
c0024f53:	89 55 e0             	mov    %edx,-0x20(%ebp)
c0024f56:	8b 50 0c             	mov    0xc(%eax),%edx
c0024f59:	89 55 e4             	mov    %edx,-0x1c(%ebp)
c0024f5c:	8b 50 10             	mov    0x10(%eax),%edx
c0024f5f:	89 55 e8             	mov    %edx,-0x18(%ebp)
c0024f62:	8b 40 14             	mov    0x14(%eax),%eax
c0024f65:	89 45 ec             	mov    %eax,-0x14(%ebp)
c0024f68:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0024f6b:	8b 00                	mov    (%eax),%eax
c0024f6d:	85 c0                	test   %eax,%eax
c0024f6f:	74 0e                	je     c0024f7f <_ZN4ListI9message_tE9remove_atEj+0x8b>
c0024f71:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0024f74:	8b 00                	mov    (%eax),%eax
c0024f76:	8b 55 f4             	mov    -0xc(%ebp),%edx
c0024f79:	8b 52 04             	mov    0x4(%edx),%edx
c0024f7c:	89 50 04             	mov    %edx,0x4(%eax)
c0024f7f:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0024f82:	8b 40 04             	mov    0x4(%eax),%eax
c0024f85:	85 c0                	test   %eax,%eax
c0024f87:	74 0d                	je     c0024f96 <_ZN4ListI9message_tE9remove_atEj+0xa2>
c0024f89:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0024f8c:	8b 40 04             	mov    0x4(%eax),%eax
c0024f8f:	8b 55 f4             	mov    -0xc(%ebp),%edx
c0024f92:	8b 12                	mov    (%edx),%edx
c0024f94:	89 10                	mov    %edx,(%eax)
c0024f96:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
c0024f9a:	75 0a                	jne    c0024fa6 <_ZN4ListI9message_tE9remove_atEj+0xb2>
c0024f9c:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0024f9f:	8b 10                	mov    (%eax),%edx
c0024fa1:	8b 45 0c             	mov    0xc(%ebp),%eax
c0024fa4:	89 10                	mov    %edx,(%eax)
c0024fa6:	8b 45 0c             	mov    0xc(%ebp),%eax
c0024fa9:	8b 40 08             	mov    0x8(%eax),%eax
c0024fac:	8d 50 ff             	lea    -0x1(%eax),%edx
c0024faf:	8b 45 0c             	mov    0xc(%ebp),%eax
c0024fb2:	89 50 08             	mov    %edx,0x8(%eax)
c0024fb5:	8b 45 0c             	mov    0xc(%ebp),%eax
c0024fb8:	8b 40 08             	mov    0x8(%eax),%eax
c0024fbb:	39 45 10             	cmp    %eax,0x10(%ebp)
c0024fbe:	0f 94 c0             	sete   %al
c0024fc1:	84 c0                	test   %al,%al
c0024fc3:	74 0c                	je     c0024fd1 <_ZN4ListI9message_tE9remove_atEj+0xdd>
c0024fc5:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0024fc8:	8b 50 04             	mov    0x4(%eax),%edx
c0024fcb:	8b 45 0c             	mov    0xc(%ebp),%eax
c0024fce:	89 50 04             	mov    %edx,0x4(%eax)
c0024fd1:	83 ec 0c             	sub    $0xc,%esp
c0024fd4:	ff 75 f4             	pushl  -0xc(%ebp)
c0024fd7:	e8 c1 8b ff ff       	call   c001db9d <kfree>
c0024fdc:	83 c4 10             	add    $0x10,%esp
c0024fdf:	8b 45 08             	mov    0x8(%ebp),%eax
c0024fe2:	8b 55 e0             	mov    -0x20(%ebp),%edx
c0024fe5:	89 10                	mov    %edx,(%eax)
c0024fe7:	8b 55 e4             	mov    -0x1c(%ebp),%edx
c0024fea:	89 50 04             	mov    %edx,0x4(%eax)
c0024fed:	8b 55 e8             	mov    -0x18(%ebp),%edx
c0024ff0:	89 50 08             	mov    %edx,0x8(%eax)
c0024ff3:	8b 55 ec             	mov    -0x14(%ebp),%edx
c0024ff6:	89 50 0c             	mov    %edx,0xc(%eax)
c0024ff9:	8b 45 08             	mov    0x8(%ebp),%eax
c0024ffc:	c9                   	leave  
c0024ffd:	c2 04 00             	ret    $0x4

Disassembly of section .text._ZN8ListNodeIP6WindowEC2Ev:

c0025000 <_ZN8ListNodeIP6WindowEC1Ev>:
c0025000:	55                   	push   %ebp
c0025001:	89 e5                	mov    %esp,%ebp
c0025003:	8b 45 08             	mov    0x8(%ebp),%eax
c0025006:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
c002500c:	8b 45 08             	mov    0x8(%ebp),%eax
c002500f:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
c0025016:	90                   	nop
c0025017:	5d                   	pop    %ebp
c0025018:	c3                   	ret    

Disassembly of section .text._ZN4ListIP6WindowE8add_backES1_:

c002501a <_ZN4ListIP6WindowE8add_backES1_>:
c002501a:	55                   	push   %ebp
c002501b:	89 e5                	mov    %esp,%ebp
c002501d:	83 ec 18             	sub    $0x18,%esp
c0025020:	83 ec 0c             	sub    $0xc,%esp
c0025023:	6a 0c                	push   $0xc
c0025025:	e8 53 84 ff ff       	call   c001d47d <kmalloc>
c002502a:	83 c4 10             	add    $0x10,%esp
c002502d:	89 45 f4             	mov    %eax,-0xc(%ebp)
c0025030:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
c0025037:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
c002503e:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
c0025045:	83 ec 0c             	sub    $0xc,%esp
c0025048:	8d 45 e8             	lea    -0x18(%ebp),%eax
c002504b:	50                   	push   %eax
c002504c:	e8 af ff ff ff       	call   c0025000 <_ZN8ListNodeIP6WindowEC1Ev>
c0025051:	83 c4 10             	add    $0x10,%esp
c0025054:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0025057:	8b 55 e8             	mov    -0x18(%ebp),%edx
c002505a:	89 10                	mov    %edx,(%eax)
c002505c:	8b 55 ec             	mov    -0x14(%ebp),%edx
c002505f:	89 50 04             	mov    %edx,0x4(%eax)
c0025062:	8b 55 f0             	mov    -0x10(%ebp),%edx
c0025065:	89 50 08             	mov    %edx,0x8(%eax)
c0025068:	8b 45 f4             	mov    -0xc(%ebp),%eax
c002506b:	8b 55 0c             	mov    0xc(%ebp),%edx
c002506e:	89 50 08             	mov    %edx,0x8(%eax)
c0025071:	8b 45 08             	mov    0x8(%ebp),%eax
c0025074:	8b 00                	mov    (%eax),%eax
c0025076:	85 c0                	test   %eax,%eax
c0025078:	75 0a                	jne    c0025084 <_ZN4ListIP6WindowE8add_backES1_+0x6a>
c002507a:	8b 45 08             	mov    0x8(%ebp),%eax
c002507d:	8b 55 f4             	mov    -0xc(%ebp),%edx
c0025080:	89 10                	mov    %edx,(%eax)
c0025082:	eb 17                	jmp    c002509b <_ZN4ListIP6WindowE8add_backES1_+0x81>
c0025084:	8b 45 08             	mov    0x8(%ebp),%eax
c0025087:	8b 40 04             	mov    0x4(%eax),%eax
c002508a:	8b 55 f4             	mov    -0xc(%ebp),%edx
c002508d:	89 10                	mov    %edx,(%eax)
c002508f:	8b 45 08             	mov    0x8(%ebp),%eax
c0025092:	8b 50 04             	mov    0x4(%eax),%edx
c0025095:	8b 45 f4             	mov    -0xc(%ebp),%eax
c0025098:	89 50 04             	mov    %edx,0x4(%eax)
c002509b:	8b 45 08             	mov    0x8(%ebp),%eax
c002509e:	8b 55 f4             	mov    -0xc(%ebp),%edx
c00250a1:	89 50 04             	mov    %edx,0x4(%eax)
c00250a4:	8b 45 08             	mov    0x8(%ebp),%eax
c00250a7:	8b 40 08             	mov    0x8(%eax),%eax
c00250aa:	8d 50 01             	lea    0x1(%eax),%edx
c00250ad:	8b 45 08             	mov    0x8(%ebp),%eax
c00250b0:	89 50 08             	mov    %edx,0x8(%eax)
c00250b3:	90                   	nop
c00250b4:	c9                   	leave  
c00250b5:	c3                   	ret    

Disassembly of section .text._ZN4ListIP6WindowEC2Ev:

c00250b6 <_ZN4ListIP6WindowEC1Ev>:
c00250b6:	55                   	push   %ebp
c00250b7:	89 e5                	mov    %esp,%ebp
c00250b9:	8b 45 08             	mov    0x8(%ebp),%eax
c00250bc:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
c00250c2:	8b 45 08             	mov    0x8(%ebp),%eax
c00250c5:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
c00250cc:	90                   	nop
c00250cd:	5d                   	pop    %ebp
c00250ce:	c3                   	ret    

Disassembly of section .text._ZN4ListIP6WindowE10get_lengthEv:

c00250d0 <_ZN4ListIP6WindowE10get_lengthEv>:
c00250d0:	55                   	push   %ebp
c00250d1:	89 e5                	mov    %esp,%ebp
c00250d3:	8b 45 08             	mov    0x8(%ebp),%eax
c00250d6:	8b 40 08             	mov    0x8(%eax),%eax
c00250d9:	5d                   	pop    %ebp
c00250da:	c3                   	ret    

Disassembly of section .text._ZN4ListIP6WindowEixEj:

c00250dc <_ZN4ListIP6WindowEixEj>:
c00250dc:	55                   	push   %ebp
c00250dd:	89 e5                	mov    %esp,%ebp
c00250df:	83 ec 10             	sub    $0x10,%esp
c00250e2:	8b 45 08             	mov    0x8(%ebp),%eax
c00250e5:	8b 40 08             	mov    0x8(%eax),%eax
c00250e8:	39 45 0c             	cmp    %eax,0xc(%ebp)
c00250eb:	72 09                	jb     c00250f6 <_ZN4ListIP6WindowEixEj+0x1a>
c00250ed:	b8 00 00 00 00       	mov    $0x0,%eax
c00250f2:	8b 00                	mov    (%eax),%eax
c00250f4:	eb 2b                	jmp    c0025121 <_ZN4ListIP6WindowEixEj+0x45>
c00250f6:	8b 45 08             	mov    0x8(%ebp),%eax
c00250f9:	8b 00                	mov    (%eax),%eax
c00250fb:	89 45 fc             	mov    %eax,-0x4(%ebp)
c00250fe:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
c0025105:	8b 45 f8             	mov    -0x8(%ebp),%eax
c0025108:	3b 45 0c             	cmp    0xc(%ebp),%eax
c002510b:	73 0e                	jae    c002511b <_ZN4ListIP6WindowEixEj+0x3f>
c002510d:	8b 45 fc             	mov    -0x4(%ebp),%eax
c0025110:	8b 00                	mov    (%eax),%eax
c0025112:	89 45 fc             	mov    %eax,-0x4(%ebp)
c0025115:	83 45 f8 01          	addl   $0x1,-0x8(%ebp)
c0025119:	eb ea                	jmp    c0025105 <_ZN4ListIP6WindowEixEj+0x29>
c002511b:	8b 45 fc             	mov    -0x4(%ebp),%eax
c002511e:	8b 40 08             	mov    0x8(%eax),%eax
c0025121:	c9                   	leave  
c0025122:	c3                   	ret    
