iso9660: Directories have filesize 0 (in meta read)
[meinos.git] / apps / iso9660 / iso9660.objdump
blob9f9a9e910c32acf1e518ccc948cf310dc3bafef6
2 iso9660:     file format elf32-i386
4 Disassembly of section .init:
6 40001094 <.init>:
7 40001094:       e8 d7 01 00 00          call   40001270 <frame_dummy>
8 40001099:       e8 92 15 01 00          call   40012630 <__do_global_ctors_aux>
9 Disassembly of section .text:
11 400010a0 <get_cmdline>:
12 400010a0:       55                      push   %ebp
13 400010a1:       89 e5                   mov    %esp,%ebp
14 400010a3:       83 ec 18                sub    $0x18,%esp
15 400010a6:       8b 45 08                mov    0x8(%ebp),%eax
16 400010a9:       8b 40 0c                mov    0xc(%eax),%eax
17 400010ac:       89 45 f0                mov    %eax,-0x10(%ebp)
18 400010af:       8b 45 f0                mov    -0x10(%ebp),%eax
19 400010b2:       83 c0 01                add    $0x1,%eax
20 400010b5:       c1 e0 02                shl    $0x2,%eax
21 400010b8:       89 04 24                mov    %eax,(%esp)
22 400010bb:       e8 e4 ac 00 00          call   4000bda4 <malloc>
23 400010c0:       89 45 f4                mov    %eax,-0xc(%ebp)
24 400010c3:       c7 45 f8 00 00 00 00    movl   $0x0,-0x8(%ebp)
25 400010ca:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
26 400010d1:       eb 34                   jmp    40001107 <get_cmdline+0x67>
27 400010d3:       8b 45 fc                mov    -0x4(%ebp),%eax
28 400010d6:       c1 e0 02                shl    $0x2,%eax
29 400010d9:       89 c2                   mov    %eax,%edx
30 400010db:       03 55 f4                add    -0xc(%ebp),%edx
31 400010de:       8b 45 08                mov    0x8(%ebp),%eax
32 400010e1:       83 c0 10                add    $0x10,%eax
33 400010e4:       03 45 f8                add    -0x8(%ebp),%eax
34 400010e7:       89 02                   mov    %eax,(%edx)
35 400010e9:       8b 45 08                mov    0x8(%ebp),%eax
36 400010ec:       83 c0 10                add    $0x10,%eax
37 400010ef:       03 45 f8                add    -0x8(%ebp),%eax
38 400010f2:       89 04 24                mov    %eax,(%esp)
39 400010f5:       e8 be e3 00 00          call   4000f4b8 <strlen>
40 400010fa:       03 45 f8                add    -0x8(%ebp),%eax
41 400010fd:       83 c0 01                add    $0x1,%eax
42 40001100:       89 45 f8                mov    %eax,-0x8(%ebp)
43 40001103:       83 45 fc 01             addl   $0x1,-0x4(%ebp)
44 40001107:       8b 45 f0                mov    -0x10(%ebp),%eax
45 4000110a:       3b 45 fc                cmp    -0x4(%ebp),%eax
46 4000110d:       77 c4                   ja     400010d3 <get_cmdline+0x33>
47 4000110f:       8b 45 fc                mov    -0x4(%ebp),%eax
48 40001112:       c1 e0 02                shl    $0x2,%eax
49 40001115:       03 45 f4                add    -0xc(%ebp),%eax
50 40001118:       c7 00 00 00 00 00       movl   $0x0,(%eax)
51 4000111e:       8b 55 0c                mov    0xc(%ebp),%edx
52 40001121:       8b 45 f4                mov    -0xc(%ebp),%eax
53 40001124:       89 02                   mov    %eax,(%edx)
54 40001126:       8b 55 10                mov    0x10(%ebp),%edx
55 40001129:       8b 45 f0                mov    -0x10(%ebp),%eax
56 4000112c:       89 02                   mov    %eax,(%edx)
57 4000112e:       c9                      leave  
58 4000112f:       c3                      ret    
60 40001130 <_start>:
61 40001130:       55                      push   %ebp
62 40001131:       89 e5                   mov    %esp,%ebp
63 40001133:       83 ec 28                sub    $0x28,%esp
64 40001136:       e8 5d cd 00 00          call   4000de98 <_stdlib_init_pre>
65 4000113b:       e8 04 f2 00 00          call   40010344 <_libmeinos_init>
66 40001140:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
67 40001147:       00 
68 40001148:       c7 04 24 28 00 00 00    movl   $0x28,(%esp)
69 4000114f:       e8 44 06 01 00          call   40011798 <syscall_call>
70 40001154:       89 44 24 08             mov    %eax,0x8(%esp)
71 40001158:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
72 4000115f:       00 
73 40001160:       c7 04 24 32 00 00 00    movl   $0x32,(%esp)
74 40001167:       e8 2c 06 01 00          call   40011798 <syscall_call>
75 4000116c:       89 45 f8                mov    %eax,-0x8(%ebp)
76 4000116f:       83 7d f8 ff             cmpl   $0xffffffff,-0x8(%ebp)
77 40001173:       74 44                   je     400011b9 <_start+0x89>
78 40001175:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
79 4000117c:       00 
80 4000117d:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
81 40001184:       00 
82 40001185:       8b 45 f8                mov    -0x8(%ebp),%eax
83 40001188:       89 04 24                mov    %eax,(%esp)
84 4000118b:       e8 44 c1 00 00          call   4000d2d4 <shmat>
85 40001190:       a3 44 59 01 40          mov    %eax,0x40015944
86 40001195:       a1 44 59 01 40          mov    0x40015944,%eax
87 4000119a:       85 c0                   test   %eax,%eax
88 4000119c:       74 1b                   je     400011b9 <_start+0x89>
89 4000119e:       a1 44 59 01 40          mov    0x40015944,%eax
90 400011a3:       8d 55 f4                lea    -0xc(%ebp),%edx
91 400011a6:       89 54 24 08             mov    %edx,0x8(%esp)
92 400011aa:       8d 55 f0                lea    -0x10(%ebp),%edx
93 400011ad:       89 54 24 04             mov    %edx,0x4(%esp)
94 400011b1:       89 04 24                mov    %eax,(%esp)
95 400011b4:       e8 e7 fe ff ff          call   400010a0 <get_cmdline>
96 400011b9:       e8 3f cd 00 00          call   4000defd <_stdlib_init_post>
97 400011be:       8b 45 f0                mov    -0x10(%ebp),%eax
98 400011c1:       8b 55 f4                mov    -0xc(%ebp),%edx
99 400011c4:       89 44 24 04             mov    %eax,0x4(%esp)
100 400011c8:       89 14 24                mov    %edx,(%esp)
101 400011cb:       e8 24 08 00 00          call   400019f4 <main>
102 400011d0:       89 45 fc                mov    %eax,-0x4(%ebp)
103 400011d3:       a1 44 59 01 40          mov    0x40015944,%eax
104 400011d8:       89 04 24                mov    %eax,(%esp)
105 400011db:       e8 77 c1 00 00          call   4000d357 <shmdt>
106 400011e0:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
107 400011e7:       00 
108 400011e8:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
109 400011ef:       00 
110 400011f0:       8b 45 f8                mov    -0x8(%ebp),%eax
111 400011f3:       89 04 24                mov    %eax,(%esp)
112 400011f6:       e8 cc c1 00 00          call   4000d3c7 <shmctl>
113 400011fb:       8b 45 fc                mov    -0x4(%ebp),%eax
114 400011fe:       89 04 24                mov    %eax,(%esp)
115 40001201:       e8 0e cd 00 00          call   4000df14 <exit>
116 40001206:       eb fe                   jmp    40001206 <_start+0xd6>
117 40001208:       90                      nop    
118 40001209:       90                      nop    
119 4000120a:       90                      nop    
120 4000120b:       90                      nop    
121 4000120c:       90                      nop    
122 4000120d:       90                      nop    
123 4000120e:       90                      nop    
124 4000120f:       90                      nop    
126 40001210 <__do_global_dtors_aux>:
127 40001210:       55                      push   %ebp
128 40001211:       89 e5                   mov    %esp,%ebp
129 40001213:       53                      push   %ebx
130 40001214:       83 ec 04                sub    $0x4,%esp
131 40001217:       e8 00 00 00 00          call   4000121c <__do_global_dtors_aux+0xc>
132 4000121c:       5b                      pop    %ebx
133 4000121d:       81 c3 04 2e 01 00       add    $0x12e04,%ebx
134 40001223:       80 bb 00 02 00 00 00    cmpb   $0x0,0x200(%ebx)
135 4000122a:       74 0f                   je     4000123b <__do_global_dtors_aux+0x2b>
136 4000122c:       eb 3c                   jmp    4000126a <__do_global_dtors_aux+0x5a>
137 4000122e:       66 90                   xchg   %ax,%ax
138 40001230:       83 c0 04                add    $0x4,%eax
139 40001233:       89 83 24 00 00 00       mov    %eax,0x24(%ebx)
140 40001239:       ff d2                   call   *%edx
141 4000123b:       8b 83 24 00 00 00       mov    0x24(%ebx),%eax
142 40001241:       8b 10                   mov    (%eax),%edx
143 40001243:       85 d2                   test   %edx,%edx
144 40001245:       75 e9                   jne    40001230 <__do_global_dtors_aux+0x20>
145 40001247:       8b 83 f4 ff ff ff       mov    -0xc(%ebx),%eax
146 4000124d:       85 c0                   test   %eax,%eax
147 4000124f:       74 12                   je     40001263 <__do_global_dtors_aux+0x53>
148 40001251:       83 ec 0c                sub    $0xc,%esp
149 40001254:       8d 83 8c fa ff ff       lea    -0x574(%ebx),%eax
150 4000125a:       50                      push   %eax
151 4000125b:       e8 a0 ed ff bf          call   0 <get_cmdline-0x400010a0>
152 40001260:       83 c4 10                add    $0x10,%esp
153 40001263:       c6 83 00 02 00 00 01    movb   $0x1,0x200(%ebx)
154 4000126a:       8b 5d fc                mov    -0x4(%ebp),%ebx
155 4000126d:       c9                      leave  
156 4000126e:       c3                      ret    
157 4000126f:       90                      nop    
159 40001270 <frame_dummy>:
160 40001270:       55                      push   %ebp
161 40001271:       89 e5                   mov    %esp,%ebp
162 40001273:       53                      push   %ebx
163 40001274:       83 ec 04                sub    $0x4,%esp
164 40001277:       e8 00 00 00 00          call   4000127c <frame_dummy+0xc>
165 4000127c:       5b                      pop    %ebx
166 4000127d:       81 c3 a4 2d 01 00       add    $0x12da4,%ebx
167 40001283:       8b 83 fc ff ff ff       mov    -0x4(%ebx),%eax
168 40001289:       85 c0                   test   %eax,%eax
169 4000128b:       74 18                   je     400012a5 <frame_dummy+0x35>
170 4000128d:       8d 83 04 02 00 00       lea    0x204(%ebx),%eax
171 40001293:       51                      push   %ecx
172 40001294:       51                      push   %ecx
173 40001295:       50                      push   %eax
174 40001296:       8d 83 8c fa ff ff       lea    -0x574(%ebx),%eax
175 4000129c:       50                      push   %eax
176 4000129d:       e8 5e ed ff bf          call   0 <get_cmdline-0x400010a0>
177 400012a2:       83 c4 10                add    $0x10,%esp
178 400012a5:       8b 93 f0 ff ff ff       mov    -0x10(%ebx),%edx
179 400012ab:       85 d2                   test   %edx,%edx
180 400012ad:       74 19                   je     400012c8 <frame_dummy+0x58>
181 400012af:       8b 93 f8 ff ff ff       mov    -0x8(%ebx),%edx
182 400012b5:       85 d2                   test   %edx,%edx
183 400012b7:       74 0f                   je     400012c8 <frame_dummy+0x58>
184 400012b9:       83 ec 0c                sub    $0xc,%esp
185 400012bc:       8d 83 f0 ff ff ff       lea    -0x10(%ebx),%eax
186 400012c2:       50                      push   %eax
187 400012c3:       ff d2                   call   *%edx
188 400012c5:       83 c4 10                add    $0x10,%esp
189 400012c8:       8b 5d fc                mov    -0x4(%ebp),%ebx
190 400012cb:       c9                      leave  
191 400012cc:       c3                      ret    
192 400012cd:       90                      nop    
193 400012ce:       90                      nop    
194 400012cf:       90                      nop    
196 400012d0 <parse_name>:
197 400012d0:       55                      push   %ebp
198 400012d1:       89 e5                   mov    %esp,%ebp
199 400012d3:       83 ec 18                sub    $0x18,%esp
200 400012d6:       8b 55 08                mov    0x8(%ebp),%edx
201 400012d9:       83 ea 02                sub    $0x2,%edx
202 400012dc:       8b 45 0c                mov    0xc(%ebp),%eax
203 400012df:       8d 04 02                lea    (%edx,%eax,1),%eax
204 400012e2:       8a 00                   mov    (%eax),%al
205 400012e4:       3c 3b                   cmp    $0x3b,%al
206 400012e6:       75 04                   jne    400012ec <parse_name+0x1c>
207 400012e8:       83 6d 0c 02             subl   $0x2,0xc(%ebp)
208 400012ec:       8b 55 08                mov    0x8(%ebp),%edx
209 400012ef:       4a                      dec    %edx
210 400012f0:       8b 45 0c                mov    0xc(%ebp),%eax
211 400012f3:       8d 04 02                lea    (%edx,%eax,1),%eax
212 400012f6:       8a 00                   mov    (%eax),%al
213 400012f8:       3c 2e                   cmp    $0x2e,%al
214 400012fa:       75 03                   jne    400012ff <parse_name+0x2f>
215 400012fc:       ff 4d 0c                decl   0xc(%ebp)
216 400012ff:       8b 45 0c                mov    0xc(%ebp),%eax
217 40001302:       40                      inc    %eax
218 40001303:       83 ec 0c                sub    $0xc,%esp
219 40001306:       50                      push   %eax
220 40001307:       e8 98 aa 00 00          call   4000bda4 <malloc>
221 4000130c:       83 c4 10                add    $0x10,%esp
222 4000130f:       83 ec 04                sub    $0x4,%esp
223 40001312:       ff 75 0c                pushl  0xc(%ebp)
224 40001315:       ff 75 08                pushl  0x8(%ebp)
225 40001318:       50                      push   %eax
226 40001319:       e8 e2 dd 00 00          call   4000f100 <memcpy>
227 4000131e:       83 c4 10                add    $0x10,%esp
228 40001321:       89 45 f8                mov    %eax,-0x8(%ebp)
229 40001324:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
230 4000132b:       eb 49                   jmp    40001376 <parse_name+0xa6>
231 4000132d:       8b 45 fc                mov    -0x4(%ebp),%eax
232 40001330:       8b 55 f8                mov    -0x8(%ebp),%edx
233 40001333:       01 c2                   add    %eax,%edx
234 40001335:       89 55 e8                mov    %edx,-0x18(%ebp)
235 40001338:       8b 45 fc                mov    -0x4(%ebp),%eax
236 4000133b:       03 45 f8                add    -0x8(%ebp),%eax
237 4000133e:       8a 00                   mov    (%eax),%al
238 40001340:       3c 40                   cmp    $0x40,%al
239 40001342:       7e 1c                   jle    40001360 <parse_name+0x90>
240 40001344:       8b 45 fc                mov    -0x4(%ebp),%eax
241 40001347:       03 45 f8                add    -0x8(%ebp),%eax
242 4000134a:       8a 00                   mov    (%eax),%al
243 4000134c:       3c 5a                   cmp    $0x5a,%al
244 4000134e:       7f 10                   jg     40001360 <parse_name+0x90>
245 40001350:       8b 45 fc                mov    -0x4(%ebp),%eax
246 40001353:       03 45 f8                add    -0x8(%ebp),%eax
247 40001356:       8a 00                   mov    (%eax),%al
248 40001358:       83 c0 20                add    $0x20,%eax
249 4000135b:       88 45 ef                mov    %al,-0x11(%ebp)
250 4000135e:       eb 0b                   jmp    4000136b <parse_name+0x9b>
251 40001360:       8b 45 fc                mov    -0x4(%ebp),%eax
252 40001363:       03 45 f8                add    -0x8(%ebp),%eax
253 40001366:       8a 00                   mov    (%eax),%al
254 40001368:       88 45 ef                mov    %al,-0x11(%ebp)
255 4000136b:       8a 45 ef                mov    -0x11(%ebp),%al
256 4000136e:       8b 55 e8                mov    -0x18(%ebp),%edx
257 40001371:       88 02                   mov    %al,(%edx)
258 40001373:       ff 45 fc                incl   -0x4(%ebp)
259 40001376:       8b 45 fc                mov    -0x4(%ebp),%eax
260 40001379:       3b 45 0c                cmp    0xc(%ebp),%eax
261 4000137c:       72 af                   jb     4000132d <parse_name+0x5d>
262 4000137e:       8b 45 0c                mov    0xc(%ebp),%eax
263 40001381:       03 45 f8                add    -0x8(%ebp),%eax
264 40001384:       c6 00 00                movb   $0x0,(%eax)
265 40001387:       8b 45 f8                mov    -0x8(%ebp),%eax
266 4000138a:       c9                      leave  
267 4000138b:       c3                      ret    
269 4000138c <parse_class>:
270 4000138c:       55                      push   %ebp
271 4000138d:       89 e5                   mov    %esp,%ebp
272 4000138f:       83 ec 10                sub    $0x10,%esp
273 40001392:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
274 40001399:       8b 45 08                mov    0x8(%ebp),%eax
275 4000139c:       25 00 f0 00 00          and    $0xf000,%eax
276 400013a1:       3d 00 60 00 00          cmp    $0x6000,%eax
277 400013a6:       75 1f                   jne    400013c7 <parse_class+0x3b>
278 400013a8:       c7 45 fc 03 00 00 00    movl   $0x3,-0x4(%ebp)
279 400013af:       83 7d 0c 00             cmpl   $0x0,0xc(%ebp)
280 400013b3:       0f 84 d0 00 00 00       je     40001489 <parse_class+0xfd>
281 400013b9:       8b 45 0c                mov    0xc(%ebp),%eax
282 400013bc:       c7 00 00 00 00 00       movl   $0x0,(%eax)
283 400013c2:       e9 c2 00 00 00          jmp    40001489 <parse_class+0xfd>
284 400013c7:       8b 45 08                mov    0x8(%ebp),%eax
285 400013ca:       25 00 f0 00 00          and    $0xf000,%eax
286 400013cf:       3d 00 20 00 00          cmp    $0x2000,%eax
287 400013d4:       75 1f                   jne    400013f5 <parse_class+0x69>
288 400013d6:       c7 45 fc 03 00 00 00    movl   $0x3,-0x4(%ebp)
289 400013dd:       83 7d 0c 00             cmpl   $0x0,0xc(%ebp)
290 400013e1:       0f 84 a2 00 00 00       je     40001489 <parse_class+0xfd>
291 400013e7:       8b 45 0c                mov    0xc(%ebp),%eax
292 400013ea:       c7 00 00 00 00 00       movl   $0x0,(%eax)
293 400013f0:       e9 94 00 00 00          jmp    40001489 <parse_class+0xfd>
294 400013f5:       8b 45 08                mov    0x8(%ebp),%eax
295 400013f8:       25 00 f0 00 00          and    $0xf000,%eax
296 400013fd:       3d 00 10 00 00          cmp    $0x1000,%eax
297 40001402:       75 18                   jne    4000141c <parse_class+0x90>
298 40001404:       c7 45 fc 03 00 00 00    movl   $0x3,-0x4(%ebp)
299 4000140b:       83 7d 0c 00             cmpl   $0x0,0xc(%ebp)
300 4000140f:       74 78                   je     40001489 <parse_class+0xfd>
301 40001411:       8b 45 0c                mov    0xc(%ebp),%eax
302 40001414:       c7 00 02 00 00 00       movl   $0x2,(%eax)
303 4000141a:       eb 6d                   jmp    40001489 <parse_class+0xfd>
304 4000141c:       8b 45 08                mov    0x8(%ebp),%eax
305 4000141f:       25 00 f0 00 00          and    $0xf000,%eax
306 40001424:       3d 00 c0 00 00          cmp    $0xc000,%eax
307 40001429:       75 18                   jne    40001443 <parse_class+0xb7>
308 4000142b:       c7 45 fc 03 00 00 00    movl   $0x3,-0x4(%ebp)
309 40001432:       83 7d 0c 00             cmpl   $0x0,0xc(%ebp)
310 40001436:       74 51                   je     40001489 <parse_class+0xfd>
311 40001438:       8b 45 0c                mov    0xc(%ebp),%eax
312 4000143b:       c7 00 03 00 00 00       movl   $0x3,(%eax)
313 40001441:       eb 46                   jmp    40001489 <parse_class+0xfd>
314 40001443:       8b 45 08                mov    0x8(%ebp),%eax
315 40001446:       25 00 f0 00 00          and    $0xf000,%eax
316 4000144b:       3d 00 80 00 00          cmp    $0x8000,%eax
317 40001450:       75 09                   jne    4000145b <parse_class+0xcf>
318 40001452:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
319 40001459:       eb 2e                   jmp    40001489 <parse_class+0xfd>
320 4000145b:       8b 45 08                mov    0x8(%ebp),%eax
321 4000145e:       25 00 f0 00 00          and    $0xf000,%eax
322 40001463:       3d 00 40 00 00          cmp    $0x4000,%eax
323 40001468:       75 09                   jne    40001473 <parse_class+0xe7>
324 4000146a:       c7 45 fc 01 00 00 00    movl   $0x1,-0x4(%ebp)
325 40001471:       eb 16                   jmp    40001489 <parse_class+0xfd>
326 40001473:       8b 45 08                mov    0x8(%ebp),%eax
327 40001476:       25 00 f0 00 00          and    $0xf000,%eax
328 4000147b:       3d 00 a0 00 00          cmp    $0xa000,%eax
329 40001480:       75 07                   jne    40001489 <parse_class+0xfd>
330 40001482:       c7 45 fc 02 00 00 00    movl   $0x2,-0x4(%ebp)
331 40001489:       8b 45 fc                mov    -0x4(%ebp),%eax
332 4000148c:       c9                      leave  
333 4000148d:       c3                      ret    
335 4000148e <iso9660_dirrec_load>:
336 4000148e:       55                      push   %ebp
337 4000148f:       89 e5                   mov    %esp,%ebp
338 40001491:       83 ec 38                sub    $0x38,%esp
339 40001494:       c7 45 f4 00 00 00 00    movl   $0x0,-0xc(%ebp)
340 4000149b:       c7 45 e8 00 00 00 00    movl   $0x0,-0x18(%ebp)
341 400014a2:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
342 400014a9:       c7 45 e0 00 00 00 00    movl   $0x0,-0x20(%ebp)
343 400014b0:       c7 45 e4 00 00 00 00    movl   $0x0,-0x1c(%ebp)
344 400014b7:       c7 45 d8 00 00 00 00    movl   $0x0,-0x28(%ebp)
345 400014be:       c7 45 dc 00 00 00 00    movl   $0x0,-0x24(%ebp)
346 400014c5:       c7 45 f8 00 00 00 00    movl   $0x0,-0x8(%ebp)
347 400014cc:       c7 45 d4 00 00 00 00    movl   $0x0,-0x2c(%ebp)
348 400014d3:       83 ec 0c                sub    $0xc,%esp
349 400014d6:       8d 45 d8                lea    -0x28(%ebp),%eax
350 400014d9:       50                      push   %eax
351 400014da:       8d 45 e8                lea    -0x18(%ebp),%eax
352 400014dd:       50                      push   %eax
353 400014de:       8d 45 e0                lea    -0x20(%ebp),%eax
354 400014e1:       50                      push   %eax
355 400014e2:       6a 00                   push   $0x0
356 400014e4:       6a 00                   push   $0x0
357 400014e6:       6a 00                   push   $0x0
358 400014e8:       8d 45 d0                lea    -0x30(%ebp),%eax
359 400014eb:       50                      push   %eax
360 400014ec:       8d 45 f4                lea    -0xc(%ebp),%eax
361 400014ef:       50                      push   %eax
362 400014f0:       ff 75 08                pushl  0x8(%ebp)
363 400014f3:       e8 48 09 00 00          call   40001e40 <iso9660_rockridge_scan>
364 400014f8:       83 c4 30                add    $0x30,%esp
365 400014fb:       85 c0                   test   %eax,%eax
366 400014fd:       75 15                   jne    40001514 <iso9660_dirrec_load+0x86>
367 400014ff:       8b 45 d0                mov    -0x30(%ebp),%eax
368 40001502:       8d 55 d4                lea    -0x2c(%ebp),%edx
369 40001505:       52                      push   %edx
370 40001506:       50                      push   %eax
371 40001507:       e8 80 fe ff ff          call   4000138c <parse_class>
372 4000150c:       83 c4 08                add    $0x8,%esp
373 4000150f:       89 45 f8                mov    %eax,-0x8(%ebp)
374 40001512:       eb 3e                   jmp    40001552 <iso9660_dirrec_load+0xc4>
375 40001514:       c7 45 f4 00 00 00 00    movl   $0x0,-0xc(%ebp)
376 4000151b:       c7 45 f8 00 00 00 00    movl   $0x0,-0x8(%ebp)
377 40001522:       8b 45 08                mov    0x8(%ebp),%eax
378 40001525:       83 c0 12                add    $0x12,%eax
379 40001528:       83 ec 0c                sub    $0xc,%esp
380 4000152b:       50                      push   %eax
381 4000152c:       e8 fb 00 00 00          call   4000162c <parse_date>
382 40001531:       83 c4 10                add    $0x10,%esp
383 40001534:       89 45 e8                mov    %eax,-0x18(%ebp)
384 40001537:       89 55 ec                mov    %edx,-0x14(%ebp)
385 4000153a:       8b 45 e8                mov    -0x18(%ebp),%eax
386 4000153d:       8b 55 ec                mov    -0x14(%ebp),%edx
387 40001540:       89 45 e0                mov    %eax,-0x20(%ebp)
388 40001543:       89 55 e4                mov    %edx,-0x1c(%ebp)
389 40001546:       8b 45 e8                mov    -0x18(%ebp),%eax
390 40001549:       8b 55 ec                mov    -0x14(%ebp),%edx
391 4000154c:       89 45 d8                mov    %eax,-0x28(%ebp)
392 4000154f:       89 55 dc                mov    %edx,-0x24(%ebp)
393 40001552:       8b 45 f4                mov    -0xc(%ebp),%eax
394 40001555:       85 c0                   test   %eax,%eax
395 40001557:       75 23                   jne    4000157c <iso9660_dirrec_load+0xee>
396 40001559:       8b 45 08                mov    0x8(%ebp),%eax
397 4000155c:       8a 40 20                mov    0x20(%eax),%al
398 4000155f:       ba 00 00 00 00          mov    $0x0,%edx
399 40001564:       88 c2                   mov    %al,%dl
400 40001566:       8b 45 08                mov    0x8(%ebp),%eax
401 40001569:       83 c0 21                add    $0x21,%eax
402 4000156c:       83 ec 08                sub    $0x8,%esp
403 4000156f:       52                      push   %edx
404 40001570:       50                      push   %eax
405 40001571:       e8 5a fd ff ff          call   400012d0 <parse_name>
406 40001576:       83 c4 10                add    $0x10,%esp
407 40001579:       89 45 f4                mov    %eax,-0xc(%ebp)
408 4000157c:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
409 40001580:       75 1b                   jne    4000159d <iso9660_dirrec_load+0x10f>
410 40001582:       8b 45 08                mov    0x8(%ebp),%eax
411 40001585:       8a 40 19                mov    0x19(%eax),%al
412 40001588:       25 ff 00 00 00          and    $0xff,%eax
413 4000158d:       83 e0 02                and    $0x2,%eax
414 40001590:       85 c0                   test   %eax,%eax
415 40001592:       0f 95 c0                setne  %al
416 40001595:       25 ff 00 00 00          and    $0xff,%eax
417 4000159a:       89 45 f8                mov    %eax,-0x8(%ebp)
418 4000159d:       8b 45 d4                mov    -0x2c(%ebp),%eax
419 400015a0:       8b 55 f4                mov    -0xc(%ebp),%edx
420 400015a3:       50                      push   %eax
421 400015a4:       ff 75 f8                pushl  -0x8(%ebp)
422 400015a7:       ff 75 0c                pushl  0xc(%ebp)
423 400015aa:       52                      push   %edx
424 400015ab:       e8 08 05 00 00          call   40001ab8 <iso9660_fs_res_create>
425 400015b0:       83 c4 10                add    $0x10,%esp
426 400015b3:       89 45 fc                mov    %eax,-0x4(%ebp)
427 400015b6:       83 7d 10 00             cmpl   $0x0,0x10(%ebp)
428 400015ba:       74 0c                   je     400015c8 <iso9660_dirrec_load+0x13a>
429 400015bc:       8b 55 fc                mov    -0x4(%ebp),%edx
430 400015bf:       8b 45 10                mov    0x10(%ebp),%eax
431 400015c2:       89 82 88 00 00 00       mov    %eax,0x88(%edx)
432 400015c8:       8b 45 e8                mov    -0x18(%ebp),%eax
433 400015cb:       8b 55 ec                mov    -0x14(%ebp),%edx
434 400015ce:       8b 4d fc                mov    -0x4(%ebp),%ecx
435 400015d1:       89 41 60                mov    %eax,0x60(%ecx)
436 400015d4:       89 51 64                mov    %edx,0x64(%ecx)
437 400015d7:       8b 45 e0                mov    -0x20(%ebp),%eax
438 400015da:       8b 55 e4                mov    -0x1c(%ebp),%edx
439 400015dd:       8b 4d fc                mov    -0x4(%ebp),%ecx
440 400015e0:       89 41 68                mov    %eax,0x68(%ecx)
441 400015e3:       89 51 6c                mov    %edx,0x6c(%ecx)
442 400015e6:       8b 45 d8                mov    -0x28(%ebp),%eax
443 400015e9:       8b 55 dc                mov    -0x24(%ebp),%edx
444 400015ec:       8b 4d fc                mov    -0x4(%ebp),%ecx
445 400015ef:       89 41 70                mov    %eax,0x70(%ecx)
446 400015f2:       89 51 74                mov    %edx,0x74(%ecx)
447 400015f5:       8b 45 08                mov    0x8(%ebp),%eax
448 400015f8:       8b 40 02                mov    0x2(%eax),%eax
449 400015fb:       ba 00 00 00 00          mov    $0x0,%edx
450 40001600:       8b 4d fc                mov    -0x4(%ebp),%ecx
451 40001603:       89 41 78                mov    %eax,0x78(%ecx)
452 40001606:       89 51 7c                mov    %edx,0x7c(%ecx)
453 40001609:       8b 45 08                mov    0x8(%ebp),%eax
454 4000160c:       8b 50 0a                mov    0xa(%eax),%edx
455 4000160f:       8b 45 fc                mov    -0x4(%ebp),%eax
456 40001612:       89 90 80 00 00 00       mov    %edx,0x80(%eax)
457 40001618:       8b 45 f4                mov    -0xc(%ebp),%eax
458 4000161b:       83 ec 0c                sub    $0xc,%esp
459 4000161e:       50                      push   %eax
460 4000161f:       e8 37 ac 00 00          call   4000c25b <free>
461 40001624:       83 c4 10                add    $0x10,%esp
462 40001627:       8b 45 fc                mov    -0x4(%ebp),%eax
463 4000162a:       c9                      leave  
464 4000162b:       c3                      ret    
466 4000162c <parse_date>:
467 4000162c:       55                      push   %ebp
468 4000162d:       89 e5                   mov    %esp,%ebp
469 4000162f:       56                      push   %esi
470 40001630:       53                      push   %ebx
471 40001631:       8b 45 08                mov    0x8(%ebp),%eax
472 40001634:       8a 40 02                mov    0x2(%eax),%al
473 40001637:       ba 00 00 00 00          mov    $0x0,%edx
474 4000163c:       88 c2                   mov    %al,%dl
475 4000163e:       8b 45 08                mov    0x8(%ebp),%eax
476 40001641:       8a 40 01                mov    0x1(%eax),%al
477 40001644:       25 ff 00 00 00          and    $0xff,%eax
478 40001649:       48                      dec    %eax
479 4000164a:       89 c1                   mov    %eax,%ecx
480 4000164c:       8b 45 08                mov    0x8(%ebp),%eax
481 4000164f:       8a 00                   mov    (%eax),%al
482 40001651:       25 ff 00 00 00          and    $0xff,%eax
483 40001656:       83 ec 04                sub    $0x4,%esp
484 40001659:       52                      push   %edx
485 4000165a:       51                      push   %ecx
486 4000165b:       50                      push   %eax
487 4000165c:       e8 e0 4a 00 00          call   40006141 <cdi_time_by_date>
488 40001661:       83 c4 10                add    $0x10,%esp
489 40001664:       89 c3                   mov    %eax,%ebx
490 40001666:       89 d6                   mov    %edx,%esi
491 40001668:       8b 45 08                mov    0x8(%ebp),%eax
492 4000166b:       8a 40 05                mov    0x5(%eax),%al
493 4000166e:       ba 00 00 00 00          mov    $0x0,%edx
494 40001673:       88 c2                   mov    %al,%dl
495 40001675:       8b 45 08                mov    0x8(%ebp),%eax
496 40001678:       8a 40 04                mov    0x4(%eax),%al
497 4000167b:       b9 00 00 00 00          mov    $0x0,%ecx
498 40001680:       88 c1                   mov    %al,%cl
499 40001682:       8b 45 08                mov    0x8(%ebp),%eax
500 40001685:       8a 40 03                mov    0x3(%eax),%al
501 40001688:       25 ff 00 00 00          and    $0xff,%eax
502 4000168d:       83 ec 04                sub    $0x4,%esp
503 40001690:       52                      push   %edx
504 40001691:       51                      push   %ecx
505 40001692:       50                      push   %eax
506 40001693:       e8 0e 00 00 00          call   400016a6 <cdi_time_offset>
507 40001698:       83 c4 10                add    $0x10,%esp
508 4000169b:       01 d8                   add    %ebx,%eax
509 4000169d:       11 f2                   adc    %esi,%edx
510 4000169f:       8d 65 f8                lea    -0x8(%ebp),%esp
511 400016a2:       5b                      pop    %ebx
512 400016a3:       5e                      pop    %esi
513 400016a4:       5d                      pop    %ebp
514 400016a5:       c3                      ret    
516 400016a6 <cdi_time_offset>:
517 400016a6:       55                      push   %ebp
518 400016a7:       89 e5                   mov    %esp,%ebp
519 400016a9:       8b 45 08                mov    0x8(%ebp),%eax
520 400016ac:       89 c2                   mov    %eax,%edx
521 400016ae:       c1 e2 04                shl    $0x4,%edx
522 400016b1:       89 d0                   mov    %edx,%eax
523 400016b3:       c1 e0 04                shl    $0x4,%eax
524 400016b6:       29 d0                   sub    %edx,%eax
525 400016b8:       89 c2                   mov    %eax,%edx
526 400016ba:       c1 e2 04                shl    $0x4,%edx
527 400016bd:       89 d1                   mov    %edx,%ecx
528 400016bf:       29 c1                   sub    %eax,%ecx
529 400016c1:       8b 45 0c                mov    0xc(%ebp),%eax
530 400016c4:       8d 14 85 00 00 00 00    lea    0x0(,%eax,4),%edx
531 400016cb:       89 d0                   mov    %edx,%eax
532 400016cd:       c1 e0 04                shl    $0x4,%eax
533 400016d0:       29 d0                   sub    %edx,%eax
534 400016d2:       8d 04 01                lea    (%ecx,%eax,1),%eax
535 400016d5:       03 45 10                add    0x10(%ebp),%eax
536 400016d8:       ba 00 00 00 00          mov    $0x0,%edx
537 400016dd:       5d                      pop    %ebp
538 400016de:       c3                      ret    
540 400016df <iso9660_dir_load>:
541 400016df:       55                      push   %ebp
542 400016e0:       89 e5                   mov    %esp,%ebp
543 400016e2:       83 ec 28                sub    $0x28,%esp
544 400016e5:       8b 45 08                mov    0x8(%ebp),%eax
545 400016e8:       8b 00                   mov    (%eax),%eax
546 400016ea:       83 ec 04                sub    $0x4,%esp
547 400016ed:       50                      push   %eax
548 400016ee:       ff 75 08                pushl  0x8(%ebp)
549 400016f1:       68 78 26 01 40          push   $0x40012678
550 400016f6:       e8 b1 03 00 00          call   40001aac <debug>
551 400016fb:       83 c4 10                add    $0x10,%esp
552 400016fe:       c7 45 f4 00 00 00 00    movl   $0x0,-0xc(%ebp)
553 40001705:       e8 ad 00 00 00          call   400017b7 <cdi_list_create>
554 4000170a:       89 45 f8                mov    %eax,-0x8(%ebp)
555 4000170d:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
556 40001714:       e9 87 00 00 00          jmp    400017a0 <iso9660_dir_load+0xc1>
557 40001719:       8d 45 ef                lea    -0x11(%ebp),%eax
558 4000171c:       50                      push   %eax
559 4000171d:       6a 01                   push   $0x1
560 4000171f:       ff 75 fc                pushl  -0x4(%ebp)
561 40001722:       ff 75 08                pushl  0x8(%ebp)
562 40001725:       e8 7e 09 00 00          call   400020a8 <iso9660_read>
563 4000172a:       83 c4 10                add    $0x10,%esp
564 4000172d:       8a 45 ef                mov    -0x11(%ebp),%al
565 40001730:       84 c0                   test   %al,%al
566 40001732:       75 05                   jne    40001739 <iso9660_dir_load+0x5a>
567 40001734:       ff 45 fc                incl   -0x4(%ebp)
568 40001737:       eb 67                   jmp    400017a0 <iso9660_dir_load+0xc1>
569 40001739:       8a 45 ef                mov    -0x11(%ebp),%al
570 4000173c:       25 ff 00 00 00          and    $0xff,%eax
571 40001741:       83 ec 0c                sub    $0xc,%esp
572 40001744:       50                      push   %eax
573 40001745:       e8 5a a6 00 00          call   4000bda4 <malloc>
574 4000174a:       83 c4 10                add    $0x10,%esp
575 4000174d:       89 45 f0                mov    %eax,-0x10(%ebp)
576 40001750:       8a 45 ef                mov    -0x11(%ebp),%al
577 40001753:       25 ff 00 00 00          and    $0xff,%eax
578 40001758:       ff 75 f0                pushl  -0x10(%ebp)
579 4000175b:       50                      push   %eax
580 4000175c:       ff 75 fc                pushl  -0x4(%ebp)
581 4000175f:       ff 75 08                pushl  0x8(%ebp)
582 40001762:       e8 41 09 00 00          call   400020a8 <iso9660_read>
583 40001767:       83 c4 10                add    $0x10,%esp
584 4000176a:       83 7d f4 01             cmpl   $0x1,-0xc(%ebp)
585 4000176e:       76 22                   jbe    40001792 <iso9660_dir_load+0xb3>
586 40001770:       83 ec 04                sub    $0x4,%esp
587 40001773:       6a 00                   push   $0x0
588 40001775:       ff 75 08                pushl  0x8(%ebp)
589 40001778:       ff 75 f0                pushl  -0x10(%ebp)
590 4000177b:       e8 0e fd ff ff          call   4000148e <iso9660_dirrec_load>
591 40001780:       83 c4 10                add    $0x10,%esp
592 40001783:       83 ec 08                sub    $0x8,%esp
593 40001786:       50                      push   %eax
594 40001787:       ff 75 f8                pushl  -0x8(%ebp)
595 4000178a:       e8 35 00 00 00          call   400017c4 <cdi_list_push>
596 4000178f:       83 c4 10                add    $0x10,%esp
597 40001792:       ff 45 f4                incl   -0xc(%ebp)
598 40001795:       8a 45 ef                mov    -0x11(%ebp),%al
599 40001798:       25 ff 00 00 00          and    $0xff,%eax
600 4000179d:       01 45 fc                add    %eax,-0x4(%ebp)
601 400017a0:       8b 45 08                mov    0x8(%ebp),%eax
602 400017a3:       8b 80 80 00 00 00       mov    0x80(%eax),%eax
603 400017a9:       3b 45 fc                cmp    -0x4(%ebp),%eax
604 400017ac:       0f 87 67 ff ff ff       ja     40001719 <iso9660_dir_load+0x3a>
605 400017b2:       8b 45 f8                mov    -0x8(%ebp),%eax
606 400017b5:       c9                      leave  
607 400017b6:       c3                      ret    
609 400017b7 <cdi_list_create>:
610 400017b7:       55                      push   %ebp
611 400017b8:       89 e5                   mov    %esp,%ebp
612 400017ba:       83 ec 08                sub    $0x8,%esp
613 400017bd:       e8 36 e3 00 00          call   4000faf8 <llist_create>
614 400017c2:       c9                      leave  
615 400017c3:       c3                      ret    
617 400017c4 <cdi_list_push>:
618 400017c4:       55                      push   %ebp
619 400017c5:       89 e5                   mov    %esp,%ebp
620 400017c7:       83 ec 08                sub    $0x8,%esp
621 400017ca:       83 ec 08                sub    $0x8,%esp
622 400017cd:       ff 75 0c                pushl  0xc(%ebp)
623 400017d0:       ff 75 08                pushl  0x8(%ebp)
624 400017d3:       e8 9b e3 00 00          call   4000fb73 <llist_push>
625 400017d8:       83 c4 10                add    $0x10,%esp
626 400017db:       c9                      leave  
627 400017dc:       c3                      ret    
629 400017dd <iso9660_fs_dir_list>:
630 400017dd:       55                      push   %ebp
631 400017de:       89 e5                   mov    %esp,%ebp
632 400017e0:       83 ec 10                sub    $0x10,%esp
633 400017e3:       8b 45 08                mov    0x8(%ebp),%eax
634 400017e6:       8b 40 04                mov    0x4(%eax),%eax
635 400017e9:       89 45 fc                mov    %eax,-0x4(%ebp)
636 400017ec:       8b 45 fc                mov    -0x4(%ebp),%eax
637 400017ef:       8b 40 14                mov    0x14(%eax),%eax
638 400017f2:       c9                      leave  
639 400017f3:       c3                      ret    
641 400017f4 <iso9660_fs_file_read>:
642 400017f4:       55                      push   %ebp
643 400017f5:       89 e5                   mov    %esp,%ebp
644 400017f7:       53                      push   %ebx
645 400017f8:       83 ec 44                sub    $0x44,%esp
646 400017fb:       8b 45 0c                mov    0xc(%ebp),%eax
647 400017fe:       89 45 e0                mov    %eax,-0x20(%ebp)
648 40001801:       8b 45 10                mov    0x10(%ebp),%eax
649 40001804:       89 45 e4                mov    %eax,-0x1c(%ebp)
650 40001807:       83 ec 08                sub    $0x8,%esp
651 4000180a:       ff 75 18                pushl  0x18(%ebp)
652 4000180d:       ff 75 14                pushl  0x14(%ebp)
653 40001810:       ff 75 e4                pushl  -0x1c(%ebp)
654 40001813:       ff 75 e0                pushl  -0x20(%ebp)
655 40001816:       ff 75 08                pushl  0x8(%ebp)
656 40001819:       68 94 26 01 40          push   $0x40012694
657 4000181e:       e8 89 02 00 00          call   40001aac <debug>
658 40001823:       83 c4 20                add    $0x20,%esp
659 40001826:       8b 45 08                mov    0x8(%ebp),%eax
660 40001829:       8b 40 04                mov    0x4(%eax),%eax
661 4000182c:       89 45 f4                mov    %eax,-0xc(%ebp)
662 4000182f:       8b 45 f4                mov    -0xc(%ebp),%eax
663 40001832:       8b 80 80 00 00 00       mov    0x80(%eax),%eax
664 40001838:       89 45 c0                mov    %eax,-0x40(%ebp)
665 4000183b:       c7 45 c4 00 00 00 00    movl   $0x0,-0x3c(%ebp)
666 40001842:       8b 45 c4                mov    -0x3c(%ebp),%eax
667 40001845:       3b 45 e4                cmp    -0x1c(%ebp),%eax
668 40001848:       77 19                   ja     40001863 <iso9660_fs_file_read+0x6f>
669 4000184a:       8b 4d c4                mov    -0x3c(%ebp),%ecx
670 4000184d:       3b 4d e4                cmp    -0x1c(%ebp),%ecx
671 40001850:       72 08                   jb     4000185a <iso9660_fs_file_read+0x66>
672 40001852:       8b 5d c0                mov    -0x40(%ebp),%ebx
673 40001855:       3b 5d e0                cmp    -0x20(%ebp),%ebx
674 40001858:       73 09                   jae    40001863 <iso9660_fs_file_read+0x6f>
675 4000185a:       c7 45 cc 00 00 00 00    movl   $0x0,-0x34(%ebp)
676 40001861:       eb 73                   jmp    400018d6 <iso9660_fs_file_read+0xe2>
677 40001863:       8b 45 14                mov    0x14(%ebp),%eax
678 40001866:       ba 00 00 00 00          mov    $0x0,%edx
679 4000186b:       89 c1                   mov    %eax,%ecx
680 4000186d:       89 d3                   mov    %edx,%ebx
681 4000186f:       03 4d e0                add    -0x20(%ebp),%ecx
682 40001872:       13 5d e4                adc    -0x1c(%ebp),%ebx
683 40001875:       89 4d d0                mov    %ecx,-0x30(%ebp)
684 40001878:       89 5d d4                mov    %ebx,-0x2c(%ebp)
685 4000187b:       8b 45 f4                mov    -0xc(%ebp),%eax
686 4000187e:       8b 80 80 00 00 00       mov    0x80(%eax),%eax
687 40001884:       89 45 d8                mov    %eax,-0x28(%ebp)
688 40001887:       c7 45 dc 00 00 00 00    movl   $0x0,-0x24(%ebp)
689 4000188e:       8b 5d dc                mov    -0x24(%ebp),%ebx
690 40001891:       39 5d d4                cmp    %ebx,-0x2c(%ebp)
691 40001894:       72 25                   jb     400018bb <iso9660_fs_file_read+0xc7>
692 40001896:       8b 45 dc                mov    -0x24(%ebp),%eax
693 40001899:       39 45 d4                cmp    %eax,-0x2c(%ebp)
694 4000189c:       77 08                   ja     400018a6 <iso9660_fs_file_read+0xb2>
695 4000189e:       8b 4d d8                mov    -0x28(%ebp),%ecx
696 400018a1:       39 4d d0                cmp    %ecx,-0x30(%ebp)
697 400018a4:       76 15                   jbe    400018bb <iso9660_fs_file_read+0xc7>
698 400018a6:       8b 45 f4                mov    -0xc(%ebp),%eax
699 400018a9:       8b 90 80 00 00 00       mov    0x80(%eax),%edx
700 400018af:       8b 45 e0                mov    -0x20(%ebp),%eax
701 400018b2:       89 d3                   mov    %edx,%ebx
702 400018b4:       29 c3                   sub    %eax,%ebx
703 400018b6:       89 d8                   mov    %ebx,%eax
704 400018b8:       89 45 14                mov    %eax,0x14(%ebp)
705 400018bb:       8b 45 e0                mov    -0x20(%ebp),%eax
706 400018be:       ff 75 18                pushl  0x18(%ebp)
707 400018c1:       ff 75 14                pushl  0x14(%ebp)
708 400018c4:       50                      push   %eax
709 400018c5:       ff 75 f4                pushl  -0xc(%ebp)
710 400018c8:       e8 db 07 00 00          call   400020a8 <iso9660_read>
711 400018cd:       83 c4 10                add    $0x10,%esp
712 400018d0:       8b 45 14                mov    0x14(%ebp),%eax
713 400018d3:       89 45 cc                mov    %eax,-0x34(%ebp)
714 400018d6:       8b 45 cc                mov    -0x34(%ebp),%eax
715 400018d9:       8b 5d fc                mov    -0x4(%ebp),%ebx
716 400018dc:       c9                      leave  
717 400018dd:       c3                      ret    
718 400018de:       90                      nop    
719 400018df:       90                      nop    
721 400018e0 <iso9660_fs_init>:
722 400018e0:       55                      push   %ebp
723 400018e1:       89 e5                   mov    %esp,%ebp
724 400018e3:       83 ec 18                sub    $0x18,%esp
725 400018e6:       83 ec 08                sub    $0x8,%esp
726 400018e9:       ff 75 08                pushl  0x8(%ebp)
727 400018ec:       68 c4 26 01 40          push   $0x400126c4
728 400018f1:       e8 b6 01 00 00          call   40001aac <debug>
729 400018f6:       83 c4 10                add    $0x10,%esp
730 400018f9:       83 ec 0c                sub    $0xc,%esp
731 400018fc:       68 a1 03 00 00          push   $0x3a1
732 40001901:       e8 9e a4 00 00          call   4000bda4 <malloc>
733 40001906:       83 c4 10                add    $0x10,%esp
734 40001909:       89 45 f8                mov    %eax,-0x8(%ebp)
735 4000190c:       83 ec 04                sub    $0x4,%esp
736 4000190f:       ff 75 f8                pushl  -0x8(%ebp)
737 40001912:       6a 01                   push   $0x1
738 40001914:       ff 75 08                pushl  0x8(%ebp)
739 40001917:       e8 c2 08 00 00          call   400021de <iso9660_voldesc_load>
740 4000191c:       83 c4 10                add    $0x10,%esp
741 4000191f:       83 f8 ff                cmp    $0xffffffff,%eax
742 40001922:       74 60                   je     40001984 <iso9660_fs_init+0xa4>
743 40001924:       8b 45 f8                mov    -0x8(%ebp),%eax
744 40001927:       05 9c 00 00 00          add    $0x9c,%eax
745 4000192c:       83 ec 04                sub    $0x4,%esp
746 4000192f:       ff 75 f8                pushl  -0x8(%ebp)
747 40001932:       6a 00                   push   $0x0
748 40001934:       50                      push   %eax
749 40001935:       e8 54 fb ff ff          call   4000148e <iso9660_dirrec_load>
750 4000193a:       83 c4 10                add    $0x10,%esp
751 4000193d:       89 45 fc                mov    %eax,-0x4(%ebp)
752 40001940:       8b 45 f8                mov    -0x8(%ebp),%eax
753 40001943:       66 8b 80 80 00 00 00    mov    0x80(%eax),%ax
754 4000194a:       25 ff ff 00 00          and    $0xffff,%eax
755 4000194f:       83 ec 0c                sub    $0xc,%esp
756 40001952:       ff 75 08                pushl  0x8(%ebp)
757 40001955:       6a 00                   push   $0x0
758 40001957:       68 38 20 00 40          push   $0x40002038
759 4000195c:       6a 00                   push   $0x0
760 4000195e:       50                      push   %eax
761 4000195f:       e8 54 09 00 00          call   400022b8 <cdi_cache_create>
762 40001964:       83 c4 20                add    $0x20,%esp
763 40001967:       89 c2                   mov    %eax,%edx
764 40001969:       8b 45 fc                mov    -0x4(%ebp),%eax
765 4000196c:       89 90 8c 00 00 00       mov    %edx,0x8c(%eax)
766 40001972:       8b 55 fc                mov    -0x4(%ebp),%edx
767 40001975:       8b 45 08                mov    0x8(%ebp),%eax
768 40001978:       89 50 04                mov    %edx,0x4(%eax)
769 4000197b:       c7 45 ec 01 00 00 00    movl   $0x1,-0x14(%ebp)
770 40001982:       eb 07                   jmp    4000198b <iso9660_fs_init+0xab>
771 40001984:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
772 4000198b:       8b 45 ec                mov    -0x14(%ebp),%eax
773 4000198e:       c9                      leave  
774 4000198f:       c3                      ret    
776 40001990 <iso9660_fs_destroy>:
777 40001990:       55                      push   %ebp
778 40001991:       89 e5                   mov    %esp,%ebp
779 40001993:       83 ec 18                sub    $0x18,%esp
780 40001996:       a1 60 59 01 40          mov    0x40015960,%eax
781 4000199b:       83 ec 04                sub    $0x4,%esp
782 4000199e:       ff 75 08                pushl  0x8(%ebp)
783 400019a1:       68 db 26 01 40          push   $0x400126db
784 400019a6:       50                      push   %eax
785 400019a7:       e8 dc 72 00 00          call   40008c88 <fprintf>
786 400019ac:       83 c4 10                add    $0x10,%esp
787 400019af:       8b 45 08                mov    0x8(%ebp),%eax
788 400019b2:       8b 40 04                mov    0x4(%eax),%eax
789 400019b5:       89 45 fc                mov    %eax,-0x4(%ebp)
790 400019b8:       8b 45 fc                mov    -0x4(%ebp),%eax
791 400019bb:       8b 80 88 00 00 00       mov    0x88(%eax),%eax
792 400019c1:       83 ec 0c                sub    $0xc,%esp
793 400019c4:       50                      push   %eax
794 400019c5:       e8 91 a8 00 00          call   4000c25b <free>
795 400019ca:       83 c4 10                add    $0x10,%esp
796 400019cd:       8b 45 fc                mov    -0x4(%ebp),%eax
797 400019d0:       8b 80 8c 00 00 00       mov    0x8c(%eax),%eax
798 400019d6:       83 ec 0c                sub    $0xc,%esp
799 400019d9:       50                      push   %eax
800 400019da:       e8 92 0a 00 00          call   40002471 <cdi_cache_destroy>
801 400019df:       83 c4 10                add    $0x10,%esp
802 400019e2:       83 ec 0c                sub    $0xc,%esp
803 400019e5:       ff 75 fc                pushl  -0x4(%ebp)
804 400019e8:       e8 bf 01 00 00          call   40001bac <iso9660_fs_res_destroy>
805 400019ed:       83 c4 10                add    $0x10,%esp
806 400019f0:       c9                      leave  
807 400019f1:       c3                      ret    
808 400019f2:       90                      nop    
809 400019f3:       90                      nop    
811 400019f4 <main>:
812 400019f4:       8d 4c 24 04             lea    0x4(%esp),%ecx
813 400019f8:       83 e4 f0                and    $0xfffffff0,%esp
814 400019fb:       ff 71 fc                pushl  -0x4(%ecx)
815 400019fe:       55                      push   %ebp
816 400019ff:       89 e5                   mov    %esp,%ebp
817 40001a01:       51                      push   %ecx
818 40001a02:       83 ec 04                sub    $0x4,%esp
819 40001a05:       e8 1c 1a 00 00          call   40003426 <cdi_init>
820 40001a0a:       83 ec 0c                sub    $0xc,%esp
821 40001a0d:       68 40 42 01 40          push   $0x40014240
822 40001a12:       e8 38 00 00 00          call   40001a4f <iso9660_driver_init>
823 40001a17:       83 c4 10                add    $0x10,%esp
824 40001a1a:       85 c0                   test   %eax,%eax
825 40001a1c:       74 09                   je     40001a27 <main+0x33>
826 40001a1e:       c7 45 f8 ff ff ff ff    movl   $0xffffffff,-0x8(%ebp)
827 40001a25:       eb 1d                   jmp    40001a44 <main+0x50>
828 40001a27:       b8 40 42 01 40          mov    $0x40014240,%eax
829 40001a2c:       83 ec 0c                sub    $0xc,%esp
830 40001a2f:       50                      push   %eax
831 40001a30:       e8 a5 42 00 00          call   40005cda <cdi_fs_driver_register>
832 40001a35:       83 c4 10                add    $0x10,%esp
833 40001a38:       e8 3e 1a 00 00          call   4000347b <cdi_run_drivers>
834 40001a3d:       c7 45 f8 00 00 00 00    movl   $0x0,-0x8(%ebp)
835 40001a44:       8b 45 f8                mov    -0x8(%ebp),%eax
836 40001a47:       8b 4d fc                mov    -0x4(%ebp),%ecx
837 40001a4a:       c9                      leave  
838 40001a4b:       8d 61 fc                lea    -0x4(%ecx),%esp
839 40001a4e:       c3                      ret    
841 40001a4f <iso9660_driver_init>:
842 40001a4f:       55                      push   %ebp
843 40001a50:       89 e5                   mov    %esp,%ebp
844 40001a52:       83 ec 08                sub    $0x8,%esp
845 40001a55:       8b 45 08                mov    0x8(%ebp),%eax
846 40001a58:       83 ec 0c                sub    $0xc,%esp
847 40001a5b:       50                      push   %eax
848 40001a5c:       e8 c4 41 00 00          call   40005c25 <cdi_fs_driver_init>
849 40001a61:       83 c4 10                add    $0x10,%esp
850 40001a64:       8b 15 48 40 01 40       mov    0x40014048,%edx
851 40001a6a:       8b 45 08                mov    0x8(%ebp),%eax
852 40001a6d:       89 50 04                mov    %edx,0x4(%eax)
853 40001a70:       8b 45 08                mov    0x8(%ebp),%eax
854 40001a73:       c7 40 18 e0 18 00 40    movl   $0x400018e0,0x18(%eax)
855 40001a7a:       8b 45 08                mov    0x8(%ebp),%eax
856 40001a7d:       c7 40 1c 90 19 00 40    movl   $0x40001990,0x1c(%eax)
857 40001a84:       8b 45 08                mov    0x8(%ebp),%eax
858 40001a87:       c7 40 14 95 1a 00 40    movl   $0x40001a95,0x14(%eax)
859 40001a8e:       b8 00 00 00 00          mov    $0x0,%eax
860 40001a93:       c9                      leave  
861 40001a94:       c3                      ret    
863 40001a95 <iso9660_driver_destroy>:
864 40001a95:       55                      push   %ebp
865 40001a96:       89 e5                   mov    %esp,%ebp
866 40001a98:       83 ec 08                sub    $0x8,%esp
867 40001a9b:       8b 45 08                mov    0x8(%ebp),%eax
868 40001a9e:       83 ec 0c                sub    $0xc,%esp
869 40001aa1:       50                      push   %eax
870 40001aa2:       e8 bb 41 00 00          call   40005c62 <cdi_fs_driver_destroy>
871 40001aa7:       83 c4 10                add    $0x10,%esp
872 40001aaa:       c9                      leave  
873 40001aab:       c3                      ret    
875 40001aac <debug>:
876 40001aac:       55                      push   %ebp
877 40001aad:       89 e5                   mov    %esp,%ebp
878 40001aaf:       b8 00 00 00 00          mov    $0x0,%eax
879 40001ab4:       5d                      pop    %ebp
880 40001ab5:       c3                      ret    
881 40001ab6:       90                      nop    
882 40001ab7:       90                      nop    
884 40001ab8 <iso9660_fs_res_create>:
885 40001ab8:       55                      push   %ebp
886 40001ab9:       89 e5                   mov    %esp,%ebp
887 40001abb:       83 ec 18                sub    $0x18,%esp
888 40001abe:       ff 75 10                pushl  0x10(%ebp)
889 40001ac1:       ff 75 0c                pushl  0xc(%ebp)
890 40001ac4:       ff 75 08                pushl  0x8(%ebp)
891 40001ac7:       68 00 27 01 40          push   $0x40012700
892 40001acc:       e8 db ff ff ff          call   40001aac <debug>
893 40001ad1:       83 c4 10                add    $0x10,%esp
894 40001ad4:       83 ec 0c                sub    $0xc,%esp
895 40001ad7:       68 90 00 00 00          push   $0x90
896 40001adc:       e8 c3 a2 00 00          call   4000bda4 <malloc>
897 40001ae1:       83 c4 10                add    $0x10,%esp
898 40001ae4:       89 45 fc                mov    %eax,-0x4(%ebp)
899 40001ae7:       83 ec 04                sub    $0x4,%esp
900 40001aea:       68 90 00 00 00          push   $0x90
901 40001aef:       6a 00                   push   $0x0
902 40001af1:       ff 75 fc                pushl  -0x4(%ebp)
903 40001af4:       e8 e4 d7 00 00          call   4000f2dd <memset>
904 40001af9:       83 c4 10                add    $0x10,%esp
905 40001afc:       83 ec 0c                sub    $0xc,%esp
906 40001aff:       ff 75 08                pushl  0x8(%ebp)
907 40001b02:       e8 66 d9 00 00          call   4000f46d <strdup>
908 40001b07:       83 c4 10                add    $0x10,%esp
909 40001b0a:       89 c2                   mov    %eax,%edx
910 40001b0c:       8b 45 fc                mov    -0x4(%ebp),%eax
911 40001b0f:       89 10                   mov    %edx,(%eax)
912 40001b11:       8b 45 fc                mov    -0x4(%ebp),%eax
913 40001b14:       c7 40 48 60 40 01 40    movl   $0x40014060,0x48(%eax)
914 40001b1b:       8b 55 0c                mov    0xc(%ebp),%edx
915 40001b1e:       8b 45 fc                mov    -0x4(%ebp),%eax
916 40001b21:       89 50 10                mov    %edx,0x10(%eax)
917 40001b24:       8b 55 fc                mov    -0x4(%ebp),%edx
918 40001b27:       8b 45 10                mov    0x10(%ebp),%eax
919 40001b2a:       89 82 84 00 00 00       mov    %eax,0x84(%edx)
920 40001b30:       8b 55 fc                mov    -0x4(%ebp),%edx
921 40001b33:       8b 45 14                mov    0x14(%ebp),%eax
922 40001b36:       89 42 5c                mov    %eax,0x5c(%edx)
923 40001b39:       83 7d 10 01             cmpl   $0x1,0x10(%ebp)
924 40001b3d:       75 0c                   jne    40001b4b <iso9660_fs_res_create+0x93>
925 40001b3f:       8b 45 fc                mov    -0x4(%ebp),%eax
926 40001b42:       c7 40 50 94 40 01 40    movl   $0x40014094,0x50(%eax)
927 40001b49:       eb 0a                   jmp    40001b55 <iso9660_fs_res_create+0x9d>
928 40001b4b:       8b 45 fc                mov    -0x4(%ebp),%eax
929 40001b4e:       c7 40 4c 84 40 01 40    movl   $0x40014084,0x4c(%eax)
930 40001b55:       8b 45 fc                mov    -0x4(%ebp),%eax
931 40001b58:       c7 40 2c 01 00 00 00    movl   $0x1,0x2c(%eax)
932 40001b5f:       8b 45 fc                mov    -0x4(%ebp),%eax
933 40001b62:       c7 40 34 01 00 00 00    movl   $0x1,0x34(%eax)
934 40001b69:       8b 45 fc                mov    -0x4(%ebp),%eax
935 40001b6c:       c7 40 38 01 00 00 00    movl   $0x1,0x38(%eax)
936 40001b73:       8b 45 fc                mov    -0x4(%ebp),%eax
937 40001b76:       c7 40 3c 01 00 00 00    movl   $0x1,0x3c(%eax)
938 40001b7d:       83 7d 0c 00             cmpl   $0x0,0xc(%ebp)
939 40001b81:       74 24                   je     40001ba7 <iso9660_fs_res_create+0xef>
940 40001b83:       8b 45 0c                mov    0xc(%ebp),%eax
941 40001b86:       8b 90 88 00 00 00       mov    0x88(%eax),%edx
942 40001b8c:       8b 45 fc                mov    -0x4(%ebp),%eax
943 40001b8f:       89 90 88 00 00 00       mov    %edx,0x88(%eax)
944 40001b95:       8b 45 0c                mov    0xc(%ebp),%eax
945 40001b98:       8b 90 8c 00 00 00       mov    0x8c(%eax),%edx
946 40001b9e:       8b 45 fc                mov    -0x4(%ebp),%eax
947 40001ba1:       89 90 8c 00 00 00       mov    %edx,0x8c(%eax)
948 40001ba7:       8b 45 fc                mov    -0x4(%ebp),%eax
949 40001baa:       c9                      leave  
950 40001bab:       c3                      ret    
952 40001bac <iso9660_fs_res_destroy>:
953 40001bac:       55                      push   %ebp
954 40001bad:       89 e5                   mov    %esp,%ebp
955 40001baf:       83 ec 18                sub    $0x18,%esp
956 40001bb2:       83 ec 08                sub    $0x8,%esp
957 40001bb5:       ff 75 08                pushl  0x8(%ebp)
958 40001bb8:       68 23 27 01 40          push   $0x40012723
959 40001bbd:       e8 ea fe ff ff          call   40001aac <debug>
960 40001bc2:       83 c4 10                add    $0x10,%esp
961 40001bc5:       8b 45 08                mov    0x8(%ebp),%eax
962 40001bc8:       8b 00                   mov    (%eax),%eax
963 40001bca:       83 ec 0c                sub    $0xc,%esp
964 40001bcd:       50                      push   %eax
965 40001bce:       e8 88 a6 00 00          call   4000c25b <free>
966 40001bd3:       83 c4 10                add    $0x10,%esp
967 40001bd6:       8b 45 08                mov    0x8(%ebp),%eax
968 40001bd9:       8b 40 14                mov    0x14(%eax),%eax
969 40001bdc:       85 c0                   test   %eax,%eax
970 40001bde:       74 4a                   je     40001c2a <iso9660_fs_res_destroy+0x7e>
971 40001be0:       c7 45 f8 00 00 00 00    movl   $0x0,-0x8(%ebp)
972 40001be7:       eb 11                   jmp    40001bfa <iso9660_fs_res_destroy+0x4e>
973 40001be9:       83 ec 0c                sub    $0xc,%esp
974 40001bec:       ff 75 fc                pushl  -0x4(%ebp)
975 40001bef:       e8 b8 ff ff ff          call   40001bac <iso9660_fs_res_destroy>
976 40001bf4:       83 c4 10                add    $0x10,%esp
977 40001bf7:       ff 45 f8                incl   -0x8(%ebp)
978 40001bfa:       8b 45 08                mov    0x8(%ebp),%eax
979 40001bfd:       8b 40 14                mov    0x14(%eax),%eax
980 40001c00:       83 ec 08                sub    $0x8,%esp
981 40001c03:       ff 75 f8                pushl  -0x8(%ebp)
982 40001c06:       50                      push   %eax
983 40001c07:       e8 25 00 00 00          call   40001c31 <cdi_list_get>
984 40001c0c:       83 c4 10                add    $0x10,%esp
985 40001c0f:       89 45 fc                mov    %eax,-0x4(%ebp)
986 40001c12:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
987 40001c16:       75 d1                   jne    40001be9 <iso9660_fs_res_destroy+0x3d>
988 40001c18:       8b 45 08                mov    0x8(%ebp),%eax
989 40001c1b:       8b 40 14                mov    0x14(%eax),%eax
990 40001c1e:       83 ec 0c                sub    $0xc,%esp
991 40001c21:       50                      push   %eax
992 40001c22:       e8 23 00 00 00          call   40001c4a <cdi_list_destroy>
993 40001c27:       83 c4 10                add    $0x10,%esp
994 40001c2a:       b8 00 00 00 00          mov    $0x0,%eax
995 40001c2f:       c9                      leave  
996 40001c30:       c3                      ret    
998 40001c31 <cdi_list_get>:
999 40001c31:       55                      push   %ebp
1000 40001c32:       89 e5                   mov    %esp,%ebp
1001 40001c34:       83 ec 08                sub    $0x8,%esp
1002 40001c37:       83 ec 08                sub    $0x8,%esp
1003 40001c3a:       ff 75 0c                pushl  0xc(%ebp)
1004 40001c3d:       ff 75 08                pushl  0x8(%ebp)
1005 40001c40:       e8 66 e0 00 00          call   4000fcab <llist_get>
1006 40001c45:       83 c4 10                add    $0x10,%esp
1007 40001c48:       c9                      leave  
1008 40001c49:       c3                      ret    
1010 40001c4a <cdi_list_destroy>:
1011 40001c4a:       55                      push   %ebp
1012 40001c4b:       89 e5                   mov    %esp,%ebp
1013 40001c4d:       83 ec 08                sub    $0x8,%esp
1014 40001c50:       83 ec 0c                sub    $0xc,%esp
1015 40001c53:       ff 75 08                pushl  0x8(%ebp)
1016 40001c56:       e8 ca de 00 00          call   4000fb25 <llist_destroy>
1017 40001c5b:       83 c4 10                add    $0x10,%esp
1018 40001c5e:       c9                      leave  
1019 40001c5f:       c3                      ret    
1021 40001c60 <iso9660_fs_res_load>:
1022 40001c60:       55                      push   %ebp
1023 40001c61:       89 e5                   mov    %esp,%ebp
1024 40001c63:       83 ec 18                sub    $0x18,%esp
1025 40001c66:       8b 45 08                mov    0x8(%ebp),%eax
1026 40001c69:       8b 40 04                mov    0x4(%eax),%eax
1027 40001c6c:       89 45 fc                mov    %eax,-0x4(%ebp)
1028 40001c6f:       8b 45 fc                mov    -0x4(%ebp),%eax
1029 40001c72:       8b 40 08                mov    0x8(%eax),%eax
1030 40001c75:       85 c0                   test   %eax,%eax
1031 40001c77:       75 3d                   jne    40001cb6 <iso9660_fs_res_load+0x56>
1032 40001c79:       8b 45 fc                mov    -0x4(%ebp),%eax
1033 40001c7c:       8b 80 84 00 00 00       mov    0x84(%eax),%eax
1034 40001c82:       83 f8 01                cmp    $0x1,%eax
1035 40001c85:       75 18                   jne    40001c9f <iso9660_fs_res_load+0x3f>
1036 40001c87:       83 ec 0c                sub    $0xc,%esp
1037 40001c8a:       ff 75 fc                pushl  -0x4(%ebp)
1038 40001c8d:       e8 4d fa ff ff          call   400016df <iso9660_dir_load>
1039 40001c92:       83 c4 10                add    $0x10,%esp
1040 40001c95:       89 c2                   mov    %eax,%edx
1041 40001c97:       8b 45 fc                mov    -0x4(%ebp),%eax
1042 40001c9a:       89 50 14                mov    %edx,0x14(%eax)
1043 40001c9d:       eb 0d                   jmp    40001cac <iso9660_fs_res_load+0x4c>
1044 40001c9f:       e8 19 00 00 00          call   40001cbd <cdi_list_create>
1045 40001ca4:       89 c2                   mov    %eax,%edx
1046 40001ca6:       8b 45 fc                mov    -0x4(%ebp),%eax
1047 40001ca9:       89 50 14                mov    %edx,0x14(%eax)
1048 40001cac:       8b 45 fc                mov    -0x4(%ebp),%eax
1049 40001caf:       c7 40 08 01 00 00 00    movl   $0x1,0x8(%eax)
1050 40001cb6:       b8 01 00 00 00          mov    $0x1,%eax
1051 40001cbb:       c9                      leave  
1052 40001cbc:       c3                      ret    
1054 40001cbd <cdi_list_create>:
1055 40001cbd:       55                      push   %ebp
1056 40001cbe:       89 e5                   mov    %esp,%ebp
1057 40001cc0:       83 ec 08                sub    $0x8,%esp
1058 40001cc3:       e8 30 de 00 00          call   4000faf8 <llist_create>
1059 40001cc8:       c9                      leave  
1060 40001cc9:       c3                      ret    
1062 40001cca <iso9660_fs_res_unload>:
1063 40001cca:       55                      push   %ebp
1064 40001ccb:       89 e5                   mov    %esp,%ebp
1065 40001ccd:       83 ec 18                sub    $0x18,%esp
1066 40001cd0:       8b 45 08                mov    0x8(%ebp),%eax
1067 40001cd3:       8b 40 04                mov    0x4(%eax),%eax
1068 40001cd6:       89 45 f8                mov    %eax,-0x8(%ebp)
1069 40001cd9:       8b 45 f8                mov    -0x8(%ebp),%eax
1070 40001cdc:       8b 40 08                mov    0x8(%eax),%eax
1071 40001cdf:       85 c0                   test   %eax,%eax
1072 40001ce1:       74 47                   je     40001d2a <iso9660_fs_res_unload+0x60>
1073 40001ce3:       eb 0e                   jmp    40001cf3 <iso9660_fs_res_unload+0x29>
1074 40001ce5:       83 ec 0c                sub    $0xc,%esp
1075 40001ce8:       ff 75 fc                pushl  -0x4(%ebp)
1076 40001ceb:       e8 bc fe ff ff          call   40001bac <iso9660_fs_res_destroy>
1077 40001cf0:       83 c4 10                add    $0x10,%esp
1078 40001cf3:       8b 45 f8                mov    -0x8(%ebp),%eax
1079 40001cf6:       8b 40 14                mov    0x14(%eax),%eax
1080 40001cf9:       83 ec 0c                sub    $0xc,%esp
1081 40001cfc:       50                      push   %eax
1082 40001cfd:       e8 2f 00 00 00          call   40001d31 <cdi_list_pop>
1083 40001d02:       83 c4 10                add    $0x10,%esp
1084 40001d05:       89 45 fc                mov    %eax,-0x4(%ebp)
1085 40001d08:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
1086 40001d0c:       75 d7                   jne    40001ce5 <iso9660_fs_res_unload+0x1b>
1087 40001d0e:       8b 45 f8                mov    -0x8(%ebp),%eax
1088 40001d11:       8b 40 14                mov    0x14(%eax),%eax
1089 40001d14:       83 ec 0c                sub    $0xc,%esp
1090 40001d17:       50                      push   %eax
1091 40001d18:       e8 2d ff ff ff          call   40001c4a <cdi_list_destroy>
1092 40001d1d:       83 c4 10                add    $0x10,%esp
1093 40001d20:       8b 45 f8                mov    -0x8(%ebp),%eax
1094 40001d23:       c7 40 08 00 00 00 00    movl   $0x0,0x8(%eax)
1095 40001d2a:       b8 01 00 00 00          mov    $0x1,%eax
1096 40001d2f:       c9                      leave  
1097 40001d30:       c3                      ret    
1099 40001d31 <cdi_list_pop>:
1100 40001d31:       55                      push   %ebp
1101 40001d32:       89 e5                   mov    %esp,%ebp
1102 40001d34:       83 ec 08                sub    $0x8,%esp
1103 40001d37:       83 ec 0c                sub    $0xc,%esp
1104 40001d3a:       ff 75 08                pushl  0x8(%ebp)
1105 40001d3d:       e8 8a de 00 00          call   4000fbcc <llist_pop>
1106 40001d42:       83 c4 10                add    $0x10,%esp
1107 40001d45:       c9                      leave  
1108 40001d46:       c3                      ret    
1110 40001d47 <iso9660_fs_res_meta_read>:
1111 40001d47:       55                      push   %ebp
1112 40001d48:       89 e5                   mov    %esp,%ebp
1113 40001d4a:       83 ec 20                sub    $0x20,%esp
1114 40001d4d:       8b 45 08                mov    0x8(%ebp),%eax
1115 40001d50:       8b 40 04                mov    0x4(%eax),%eax
1116 40001d53:       89 45 fc                mov    %eax,-0x4(%ebp)
1117 40001d56:       83 7d 0c 06             cmpl   $0x6,0xc(%ebp)
1118 40001d5a:       0f 87 c7 00 00 00       ja     40001e27 <iso9660_fs_res_meta_read+0xe0>
1119 40001d60:       8b 45 0c                mov    0xc(%ebp),%eax
1120 40001d63:       c1 e0 02                shl    $0x2,%eax
1121 40001d66:       8b 80 44 27 01 40       mov    0x40012744(%eax),%eax
1122 40001d6c:       ff e0                   jmp    *%eax
1123 40001d6e:       8b 45 fc                mov    -0x4(%ebp),%eax
1124 40001d71:       8b 80 80 00 00 00       mov    0x80(%eax),%eax
1125 40001d77:       89 45 e8                mov    %eax,-0x18(%ebp)
1126 40001d7a:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
1127 40001d81:       e9 af 00 00 00          jmp    40001e35 <iso9660_fs_res_meta_read+0xee>
1128 40001d86:       8b 45 fc                mov    -0x4(%ebp),%eax
1129 40001d89:       8b 80 80 00 00 00       mov    0x80(%eax),%eax
1130 40001d8f:       8d 50 ff                lea    -0x1(%eax),%edx
1131 40001d92:       8b 45 fc                mov    -0x4(%ebp),%eax
1132 40001d95:       8b 80 88 00 00 00       mov    0x88(%eax),%eax
1133 40001d9b:       66 8b 80 80 00 00 00    mov    0x80(%eax),%ax
1134 40001da2:       89 c1                   mov    %eax,%ecx
1135 40001da4:       81 e1 ff ff 00 00       and    $0xffff,%ecx
1136 40001daa:       89 4d e4                mov    %ecx,-0x1c(%ebp)
1137 40001dad:       89 d0                   mov    %edx,%eax
1138 40001daf:       ba 00 00 00 00          mov    $0x0,%edx
1139 40001db4:       f7 75 e4                divl   -0x1c(%ebp)
1140 40001db7:       89 45 e4                mov    %eax,-0x1c(%ebp)
1141 40001dba:       8b 45 e4                mov    -0x1c(%ebp),%eax
1142 40001dbd:       40                      inc    %eax
1143 40001dbe:       89 45 e8                mov    %eax,-0x18(%ebp)
1144 40001dc1:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
1145 40001dc8:       eb 6b                   jmp    40001e35 <iso9660_fs_res_meta_read+0xee>
1146 40001dca:       8b 45 fc                mov    -0x4(%ebp),%eax
1147 40001dcd:       8b 80 88 00 00 00       mov    0x88(%eax),%eax
1148 40001dd3:       66 8b 80 80 00 00 00    mov    0x80(%eax),%ax
1149 40001dda:       89 c2                   mov    %eax,%edx
1150 40001ddc:       81 e2 ff ff 00 00       and    $0xffff,%edx
1151 40001de2:       89 55 e8                mov    %edx,-0x18(%ebp)
1152 40001de5:       8b 4d e8                mov    -0x18(%ebp),%ecx
1153 40001de8:       89 4d e8                mov    %ecx,-0x18(%ebp)
1154 40001deb:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
1155 40001df2:       eb 41                   jmp    40001e35 <iso9660_fs_res_meta_read+0xee>
1156 40001df4:       8b 45 fc                mov    -0x4(%ebp),%eax
1157 40001df7:       8b 50 64                mov    0x64(%eax),%edx
1158 40001dfa:       8b 40 60                mov    0x60(%eax),%eax
1159 40001dfd:       89 45 e8                mov    %eax,-0x18(%ebp)
1160 40001e00:       89 55 ec                mov    %edx,-0x14(%ebp)
1161 40001e03:       eb 30                   jmp    40001e35 <iso9660_fs_res_meta_read+0xee>
1162 40001e05:       8b 45 fc                mov    -0x4(%ebp),%eax
1163 40001e08:       8b 50 6c                mov    0x6c(%eax),%edx
1164 40001e0b:       8b 40 68                mov    0x68(%eax),%eax
1165 40001e0e:       89 45 e8                mov    %eax,-0x18(%ebp)
1166 40001e11:       89 55 ec                mov    %edx,-0x14(%ebp)
1167 40001e14:       eb 1f                   jmp    40001e35 <iso9660_fs_res_meta_read+0xee>
1168 40001e16:       8b 45 fc                mov    -0x4(%ebp),%eax
1169 40001e19:       8b 50 74                mov    0x74(%eax),%edx
1170 40001e1c:       8b 40 70                mov    0x70(%eax),%eax
1171 40001e1f:       89 45 e8                mov    %eax,-0x18(%ebp)
1172 40001e22:       89 55 ec                mov    %edx,-0x14(%ebp)
1173 40001e25:       eb 0e                   jmp    40001e35 <iso9660_fs_res_meta_read+0xee>
1174 40001e27:       c7 45 e8 00 00 00 00    movl   $0x0,-0x18(%ebp)
1175 40001e2e:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
1176 40001e35:       8b 45 e8                mov    -0x18(%ebp),%eax
1177 40001e38:       8b 55 ec                mov    -0x14(%ebp),%edx
1178 40001e3b:       c9                      leave  
1179 40001e3c:       c3                      ret    
1180 40001e3d:       90                      nop    
1181 40001e3e:       90                      nop    
1182 40001e3f:       90                      nop    
1184 40001e40 <iso9660_rockridge_scan>:
1185 40001e40:       55                      push   %ebp
1186 40001e41:       89 e5                   mov    %esp,%ebp
1187 40001e43:       83 ec 28                sub    $0x28,%esp
1188 40001e46:       8b 55 08                mov    0x8(%ebp),%edx
1189 40001e49:       83 c2 21                add    $0x21,%edx
1190 40001e4c:       8b 45 08                mov    0x8(%ebp),%eax
1191 40001e4f:       8a 40 20                mov    0x20(%eax),%al
1192 40001e52:       25 ff 00 00 00          and    $0xff,%eax
1193 40001e57:       8d 04 02                lea    (%edx,%eax,1),%eax
1194 40001e5a:       89 45 e8                mov    %eax,-0x18(%ebp)
1195 40001e5d:       8b 45 e8                mov    -0x18(%ebp),%eax
1196 40001e60:       83 e0 01                and    $0x1,%eax
1197 40001e63:       84 c0                   test   %al,%al
1198 40001e65:       74 07                   je     40001e6e <iso9660_rockridge_scan+0x2e>
1199 40001e67:       8b 45 e8                mov    -0x18(%ebp),%eax
1200 40001e6a:       40                      inc    %eax
1201 40001e6b:       89 45 e8                mov    %eax,-0x18(%ebp)
1202 40001e6e:       8b 45 e8                mov    -0x18(%ebp),%eax
1203 40001e71:       66 8b 00                mov    (%eax),%ax
1204 40001e74:       66 3d 52 52             cmp    $0x5252,%ax
1205 40001e78:       74 0c                   je     40001e86 <iso9660_rockridge_scan+0x46>
1206 40001e7a:       c7 45 dc ff ff ff ff    movl   $0xffffffff,-0x24(%ebp)
1207 40001e81:       e9 ad 01 00 00          jmp    40002033 <iso9660_rockridge_scan+0x1f3>
1208 40001e86:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
1209 40001e8d:       c7 45 f0 00 00 00 00    movl   $0x0,-0x10(%ebp)
1210 40001e94:       e9 2c 01 00 00          jmp    40001fc5 <iso9660_rockridge_scan+0x185>
1211 40001e99:       8b 45 e8                mov    -0x18(%ebp),%eax
1212 40001e9c:       66 8b 00                mov    (%eax),%ax
1213 40001e9f:       66 3d 50 58             cmp    $0x5850,%ax
1214 40001ea3:       75 57                   jne    40001efc <iso9660_rockridge_scan+0xbc>
1215 40001ea5:       8b 45 e8                mov    -0x18(%ebp),%eax
1216 40001ea8:       89 45 f4                mov    %eax,-0xc(%ebp)
1217 40001eab:       83 7d 10 00             cmpl   $0x0,0x10(%ebp)
1218 40001eaf:       74 0b                   je     40001ebc <iso9660_rockridge_scan+0x7c>
1219 40001eb1:       8b 45 f4                mov    -0xc(%ebp),%eax
1220 40001eb4:       8b 50 04                mov    0x4(%eax),%edx
1221 40001eb7:       8b 45 10                mov    0x10(%ebp),%eax
1222 40001eba:       89 10                   mov    %edx,(%eax)
1223 40001ebc:       83 7d 1c 00             cmpl   $0x0,0x1c(%ebp)
1224 40001ec0:       74 0b                   je     40001ecd <iso9660_rockridge_scan+0x8d>
1225 40001ec2:       8b 45 f4                mov    -0xc(%ebp),%eax
1226 40001ec5:       8b 50 0c                mov    0xc(%eax),%edx
1227 40001ec8:       8b 45 1c                mov    0x1c(%ebp),%eax
1228 40001ecb:       89 10                   mov    %edx,(%eax)
1229 40001ecd:       83 7d 14 00             cmpl   $0x0,0x14(%ebp)
1230 40001ed1:       74 0d                   je     40001ee0 <iso9660_rockridge_scan+0xa0>
1231 40001ed3:       8b 45 f4                mov    -0xc(%ebp),%eax
1232 40001ed6:       8b 40 14                mov    0x14(%eax),%eax
1233 40001ed9:       89 c2                   mov    %eax,%edx
1234 40001edb:       8b 45 14                mov    0x14(%ebp),%eax
1235 40001ede:       89 10                   mov    %edx,(%eax)
1236 40001ee0:       83 7d 18 00             cmpl   $0x0,0x18(%ebp)
1237 40001ee4:       0f 84 ca 00 00 00       je     40001fb4 <iso9660_rockridge_scan+0x174>
1238 40001eea:       8b 45 f4                mov    -0xc(%ebp),%eax
1239 40001eed:       8b 40 1c                mov    0x1c(%eax),%eax
1240 40001ef0:       89 c2                   mov    %eax,%edx
1241 40001ef2:       8b 45 18                mov    0x18(%ebp),%eax
1242 40001ef5:       89 10                   mov    %edx,(%eax)
1243 40001ef7:       e9 b8 00 00 00          jmp    40001fb4 <iso9660_rockridge_scan+0x174>
1244 40001efc:       8b 45 e8                mov    -0x18(%ebp),%eax
1245 40001eff:       66 8b 00                mov    (%eax),%ax
1246 40001f02:       66 3d 4e 4d             cmp    $0x4d4e,%ax
1247 40001f06:       0f 85 a8 00 00 00       jne    40001fb4 <iso9660_rockridge_scan+0x174>
1248 40001f0c:       8b 45 e8                mov    -0x18(%ebp),%eax
1249 40001f0f:       89 45 f8                mov    %eax,-0x8(%ebp)
1250 40001f12:       8b 45 f8                mov    -0x8(%ebp),%eax
1251 40001f15:       8a 40 04                mov    0x4(%eax),%al
1252 40001f18:       25 ff 00 00 00          and    $0xff,%eax
1253 40001f1d:       83 e0 02                and    $0x2,%eax
1254 40001f20:       85 c0                   test   %eax,%eax
1255 40001f22:       74 19                   je     40001f3d <iso9660_rockridge_scan+0xfd>
1256 40001f24:       83 ec 0c                sub    $0xc,%esp
1257 40001f27:       68 60 27 01 40          push   $0x40012760
1258 40001f2c:       e8 3c d5 00 00          call   4000f46d <strdup>
1259 40001f31:       83 c4 10                add    $0x10,%esp
1260 40001f34:       89 c2                   mov    %eax,%edx
1261 40001f36:       8b 45 0c                mov    0xc(%ebp),%eax
1262 40001f39:       89 10                   mov    %edx,(%eax)
1263 40001f3b:       eb 77                   jmp    40001fb4 <iso9660_rockridge_scan+0x174>
1264 40001f3d:       8b 45 f8                mov    -0x8(%ebp),%eax
1265 40001f40:       8a 40 04                mov    0x4(%eax),%al
1266 40001f43:       25 ff 00 00 00          and    $0xff,%eax
1267 40001f48:       83 e0 04                and    $0x4,%eax
1268 40001f4b:       85 c0                   test   %eax,%eax
1269 40001f4d:       74 19                   je     40001f68 <iso9660_rockridge_scan+0x128>
1270 40001f4f:       83 ec 0c                sub    $0xc,%esp
1271 40001f52:       68 62 27 01 40          push   $0x40012762
1272 40001f57:       e8 11 d5 00 00          call   4000f46d <strdup>
1273 40001f5c:       83 c4 10                add    $0x10,%esp
1274 40001f5f:       89 c2                   mov    %eax,%edx
1275 40001f61:       8b 45 0c                mov    0xc(%ebp),%eax
1276 40001f64:       89 10                   mov    %edx,(%eax)
1277 40001f66:       eb 4c                   jmp    40001fb4 <iso9660_rockridge_scan+0x174>
1278 40001f68:       8b 45 e8                mov    -0x18(%ebp),%eax
1279 40001f6b:       8a 40 02                mov    0x2(%eax),%al
1280 40001f6e:       25 ff 00 00 00          and    $0xff,%eax
1281 40001f73:       83 e8 05                sub    $0x5,%eax
1282 40001f76:       89 45 fc                mov    %eax,-0x4(%ebp)
1283 40001f79:       8b 45 fc                mov    -0x4(%ebp),%eax
1284 40001f7c:       03 45 f0                add    -0x10(%ebp),%eax
1285 40001f7f:       40                      inc    %eax
1286 40001f80:       83 ec 08                sub    $0x8,%esp
1287 40001f83:       50                      push   %eax
1288 40001f84:       ff 75 ec                pushl  -0x14(%ebp)
1289 40001f87:       e8 61 b0 00 00          call   4000cfed <realloc>
1290 40001f8c:       83 c4 10                add    $0x10,%esp
1291 40001f8f:       89 45 ec                mov    %eax,-0x14(%ebp)
1292 40001f92:       8b 55 f8                mov    -0x8(%ebp),%edx
1293 40001f95:       83 c2 05                add    $0x5,%edx
1294 40001f98:       8b 45 f0                mov    -0x10(%ebp),%eax
1295 40001f9b:       03 45 ec                add    -0x14(%ebp),%eax
1296 40001f9e:       83 ec 04                sub    $0x4,%esp
1297 40001fa1:       ff 75 fc                pushl  -0x4(%ebp)
1298 40001fa4:       52                      push   %edx
1299 40001fa5:       50                      push   %eax
1300 40001fa6:       e8 55 d1 00 00          call   4000f100 <memcpy>
1301 40001fab:       83 c4 10                add    $0x10,%esp
1302 40001fae:       8b 45 fc                mov    -0x4(%ebp),%eax
1303 40001fb1:       01 45 f0                add    %eax,-0x10(%ebp)
1304 40001fb4:       8b 45 e8                mov    -0x18(%ebp),%eax
1305 40001fb7:       8a 40 02                mov    0x2(%eax),%al
1306 40001fba:       25 ff 00 00 00          and    $0xff,%eax
1307 40001fbf:       03 45 e8                add    -0x18(%ebp),%eax
1308 40001fc2:       89 45 e8                mov    %eax,-0x18(%ebp)
1309 40001fc5:       8b 45 e8                mov    -0x18(%ebp),%eax
1310 40001fc8:       66 8b 00                mov    (%eax),%ax
1311 40001fcb:       66 3d 53 54             cmp    $0x5453,%ax
1312 40001fcf:       74 2e                   je     40001fff <iso9660_rockridge_scan+0x1bf>
1313 40001fd1:       8b 45 e8                mov    -0x18(%ebp),%eax
1314 40001fd4:       66 8b 00                mov    (%eax),%ax
1315 40001fd7:       66 85 c0                test   %ax,%ax
1316 40001fda:       74 23                   je     40001fff <iso9660_rockridge_scan+0x1bf>
1317 40001fdc:       8b 45 e8                mov    -0x18(%ebp),%eax
1318 40001fdf:       89 c2                   mov    %eax,%edx
1319 40001fe1:       8b 45 08                mov    0x8(%ebp),%eax
1320 40001fe4:       89 d1                   mov    %edx,%ecx
1321 40001fe6:       29 c1                   sub    %eax,%ecx
1322 40001fe8:       89 c8                   mov    %ecx,%eax
1323 40001fea:       8d 50 04                lea    0x4(%eax),%edx
1324 40001fed:       8b 45 08                mov    0x8(%ebp),%eax
1325 40001ff0:       8a 00                   mov    (%eax),%al
1326 40001ff2:       25 ff 00 00 00          and    $0xff,%eax
1327 40001ff7:       39 c2                   cmp    %eax,%edx
1328 40001ff9:       0f 82 9a fe ff ff       jb     40001e99 <iso9660_rockridge_scan+0x59>
1329 40001fff:       83 7d ec 00             cmpl   $0x0,-0x14(%ebp)
1330 40002003:       74 27                   je     4000202c <iso9660_rockridge_scan+0x1ec>
1331 40002005:       83 7d 0c 00             cmpl   $0x0,0xc(%ebp)
1332 40002009:       74 13                   je     4000201e <iso9660_rockridge_scan+0x1de>
1333 4000200b:       8b 45 f0                mov    -0x10(%ebp),%eax
1334 4000200e:       03 45 ec                add    -0x14(%ebp),%eax
1335 40002011:       c6 00 00                movb   $0x0,(%eax)
1336 40002014:       8b 55 0c                mov    0xc(%ebp),%edx
1337 40002017:       8b 45 ec                mov    -0x14(%ebp),%eax
1338 4000201a:       89 02                   mov    %eax,(%edx)
1339 4000201c:       eb 0e                   jmp    4000202c <iso9660_rockridge_scan+0x1ec>
1340 4000201e:       83 ec 0c                sub    $0xc,%esp
1341 40002021:       ff 75 ec                pushl  -0x14(%ebp)
1342 40002024:       e8 32 a2 00 00          call   4000c25b <free>
1343 40002029:       83 c4 10                add    $0x10,%esp
1344 4000202c:       c7 45 dc 00 00 00 00    movl   $0x0,-0x24(%ebp)
1345 40002033:       8b 45 dc                mov    -0x24(%ebp),%eax
1346 40002036:       c9                      leave  
1347 40002037:       c3                      ret    
1349 40002038 <iso9660_sector_read_cache>:
1350 40002038:       55                      push   %ebp
1351 40002039:       89 e5                   mov    %esp,%ebp
1352 4000203b:       83 ec 18                sub    $0x18,%esp
1353 4000203e:       8b 45 0c                mov    0xc(%ebp),%eax
1354 40002041:       89 45 e8                mov    %eax,-0x18(%ebp)
1355 40002044:       8b 45 10                mov    0x10(%ebp),%eax
1356 40002047:       89 45 ec                mov    %eax,-0x14(%ebp)
1357 4000204a:       83 ec 04                sub    $0x4,%esp
1358 4000204d:       ff 75 1c                pushl  0x1c(%ebp)
1359 40002050:       ff 75 18                pushl  0x18(%ebp)
1360 40002053:       ff 75 14                pushl  0x14(%ebp)
1361 40002056:       ff 75 ec                pushl  -0x14(%ebp)
1362 40002059:       ff 75 e8                pushl  -0x18(%ebp)
1363 4000205c:       ff 75 08                pushl  0x8(%ebp)
1364 4000205f:       68 68 27 01 40          push   $0x40012768
1365 40002064:       e8 43 fa ff ff          call   40001aac <debug>
1366 40002069:       83 c4 20                add    $0x20,%esp
1367 4000206c:       8b 45 e8                mov    -0x18(%ebp),%eax
1368 4000206f:       8b 55 ec                mov    -0x14(%ebp),%edx
1369 40002072:       0f a4 c2 0b             shld   $0xb,%eax,%edx
1370 40002076:       c1 e0 0b                shl    $0xb,%eax
1371 40002079:       89 45 f0                mov    %eax,-0x10(%ebp)
1372 4000207c:       89 55 f4                mov    %edx,-0xc(%ebp)
1373 4000207f:       8b 45 14                mov    0x14(%ebp),%eax
1374 40002082:       c1 e0 0b                shl    $0xb,%eax
1375 40002085:       89 45 fc                mov    %eax,-0x4(%ebp)
1376 40002088:       8b 45 1c                mov    0x1c(%ebp),%eax
1377 4000208b:       83 ec 0c                sub    $0xc,%esp
1378 4000208e:       ff 75 18                pushl  0x18(%ebp)
1379 40002091:       ff 75 fc                pushl  -0x4(%ebp)
1380 40002094:       ff 75 f4                pushl  -0xc(%ebp)
1381 40002097:       ff 75 f0                pushl  -0x10(%ebp)
1382 4000209a:       50                      push   %eax
1383 4000209b:       e8 00 3d 00 00          call   40005da0 <cdi_fs_data_read>
1384 400020a0:       83 c4 20                add    $0x20,%esp
1385 400020a3:       c1 e8 0b                shr    $0xb,%eax
1386 400020a6:       c9                      leave  
1387 400020a7:       c3                      ret    
1389 400020a8 <iso9660_read>:
1390 400020a8:       55                      push   %ebp
1391 400020a9:       89 e5                   mov    %esp,%ebp
1392 400020ab:       57                      push   %edi
1393 400020ac:       56                      push   %esi
1394 400020ad:       53                      push   %ebx
1395 400020ae:       83 ec 2c                sub    $0x2c,%esp
1396 400020b1:       8b 45 08                mov    0x8(%ebp),%eax
1397 400020b4:       8b 80 88 00 00 00       mov    0x88(%eax),%eax
1398 400020ba:       66 8b 80 80 00 00 00    mov    0x80(%eax),%ax
1399 400020c1:       89 c2                   mov    %eax,%edx
1400 400020c3:       81 e2 ff ff 00 00       and    $0xffff,%edx
1401 400020c9:       8b 45 0c                mov    0xc(%ebp),%eax
1402 400020cc:       89 d1                   mov    %edx,%ecx
1403 400020ce:       ba 00 00 00 00          mov    $0x0,%edx
1404 400020d3:       f7 f1                   div    %ecx
1405 400020d5:       89 45 e0                mov    %eax,-0x20(%ebp)
1406 400020d8:       8b 45 08                mov    0x8(%ebp),%eax
1407 400020db:       8b 80 88 00 00 00       mov    0x88(%eax),%eax
1408 400020e1:       66 8b 80 80 00 00 00    mov    0x80(%eax),%ax
1409 400020e8:       89 c2                   mov    %eax,%edx
1410 400020ea:       81 e2 ff ff 00 00       and    $0xffff,%edx
1411 400020f0:       8b 45 0c                mov    0xc(%ebp),%eax
1412 400020f3:       89 d6                   mov    %edx,%esi
1413 400020f5:       ba 00 00 00 00          mov    $0x0,%edx
1414 400020fa:       f7 f6                   div    %esi
1415 400020fc:       89 55 e4                mov    %edx,-0x1c(%ebp)
1416 400020ff:       8b 45 10                mov    0x10(%ebp),%eax
1417 40002102:       89 45 e8                mov    %eax,-0x18(%ebp)
1418 40002105:       e9 b5 00 00 00          jmp    400021bf <iso9660_read+0x117>
1419 4000210a:       8b 45 08                mov    0x8(%ebp),%eax
1420 4000210d:       8b 48 78                mov    0x78(%eax),%ecx
1421 40002110:       8b 58 7c                mov    0x7c(%eax),%ebx
1422 40002113:       8b 45 e0                mov    -0x20(%ebp),%eax
1423 40002116:       ba 00 00 00 00          mov    $0x0,%edx
1424 4000211b:       89 ce                   mov    %ecx,%esi
1425 4000211d:       89 df                   mov    %ebx,%edi
1426 4000211f:       01 c6                   add    %eax,%esi
1427 40002121:       11 d7                   adc    %edx,%edi
1428 40002123:       89 f2                   mov    %esi,%edx
1429 40002125:       89 f9                   mov    %edi,%ecx
1430 40002127:       ff 45 e0                incl   -0x20(%ebp)
1431 4000212a:       8b 45 08                mov    0x8(%ebp),%eax
1432 4000212d:       8b 80 8c 00 00 00       mov    0x8c(%eax),%eax
1433 40002133:       83 ec 04                sub    $0x4,%esp
1434 40002136:       51                      push   %ecx
1435 40002137:       52                      push   %edx
1436 40002138:       50                      push   %eax
1437 40002139:       e8 fb 11 00 00          call   40003339 <cdi_cache_block_get>
1438 4000213e:       83 c4 10                add    $0x10,%esp
1439 40002141:       89 45 ec                mov    %eax,-0x14(%ebp)
1440 40002144:       8b 45 08                mov    0x8(%ebp),%eax
1441 40002147:       8b 80 88 00 00 00       mov    0x88(%eax),%eax
1442 4000214d:       66 8b 80 80 00 00 00    mov    0x80(%eax),%ax
1443 40002154:       25 ff ff 00 00          and    $0xffff,%eax
1444 40002159:       8b 7d e8                mov    -0x18(%ebp),%edi
1445 4000215c:       89 7d cc                mov    %edi,-0x34(%ebp)
1446 4000215f:       89 45 d0                mov    %eax,-0x30(%ebp)
1447 40002162:       8b 45 cc                mov    -0x34(%ebp),%eax
1448 40002165:       39 45 d0                cmp    %eax,-0x30(%ebp)
1449 40002168:       76 06                   jbe    40002170 <iso9660_read+0xc8>
1450 4000216a:       8b 55 cc                mov    -0x34(%ebp),%edx
1451 4000216d:       89 55 d0                mov    %edx,-0x30(%ebp)
1452 40002170:       8b 4d d0                mov    -0x30(%ebp),%ecx
1453 40002173:       89 4d f0                mov    %ecx,-0x10(%ebp)
1454 40002176:       8b 45 ec                mov    -0x14(%ebp),%eax
1455 40002179:       8b 50 08                mov    0x8(%eax),%edx
1456 4000217c:       8b 45 e4                mov    -0x1c(%ebp),%eax
1457 4000217f:       8d 04 02                lea    (%edx,%eax,1),%eax
1458 40002182:       83 ec 04                sub    $0x4,%esp
1459 40002185:       ff 75 f0                pushl  -0x10(%ebp)
1460 40002188:       50                      push   %eax
1461 40002189:       ff 75 14                pushl  0x14(%ebp)
1462 4000218c:       e8 6f cf 00 00          call   4000f100 <memcpy>
1463 40002191:       83 c4 10                add    $0x10,%esp
1464 40002194:       8b 45 08                mov    0x8(%ebp),%eax
1465 40002197:       8b 80 8c 00 00 00       mov    0x8c(%eax),%eax
1466 4000219d:       83 ec 08                sub    $0x8,%esp
1467 400021a0:       ff 75 ec                pushl  -0x14(%ebp)
1468 400021a3:       50                      push   %eax
1469 400021a4:       e8 f1 11 00 00          call   4000339a <cdi_cache_block_release>
1470 400021a9:       83 c4 10                add    $0x10,%esp
1471 400021ac:       8b 45 f0                mov    -0x10(%ebp),%eax
1472 400021af:       01 45 14                add    %eax,0x14(%ebp)
1473 400021b2:       8b 45 f0                mov    -0x10(%ebp),%eax
1474 400021b5:       29 45 e8                sub    %eax,-0x18(%ebp)
1475 400021b8:       c7 45 e4 00 00 00 00    movl   $0x0,-0x1c(%ebp)
1476 400021bf:       83 7d e8 00             cmpl   $0x0,-0x18(%ebp)
1477 400021c3:       0f 85 41 ff ff ff       jne    4000210a <iso9660_read+0x62>
1478 400021c9:       8b 45 10                mov    0x10(%ebp),%eax
1479 400021cc:       8d 65 f4                lea    -0xc(%ebp),%esp
1480 400021cf:       5b                      pop    %ebx
1481 400021d0:       5e                      pop    %esi
1482 400021d1:       5f                      pop    %edi
1483 400021d2:       5d                      pop    %ebp
1484 400021d3:       c3                      ret    
1486 400021d4 <iso9660_voldesc_checksig>:
1487 400021d4:       55                      push   %ebp
1488 400021d5:       89 e5                   mov    %esp,%ebp
1489 400021d7:       b8 01 00 00 00          mov    $0x1,%eax
1490 400021dc:       5d                      pop    %ebp
1491 400021dd:       c3                      ret    
1493 400021de <iso9660_voldesc_load>:
1494 400021de:       55                      push   %ebp
1495 400021df:       89 e5                   mov    %esp,%ebp
1496 400021e1:       83 ec 18                sub    $0x18,%esp
1497 400021e4:       ff 75 10                pushl  0x10(%ebp)
1498 400021e7:       ff 75 0c                pushl  0xc(%ebp)
1499 400021ea:       ff 75 08                pushl  0x8(%ebp)
1500 400021ed:       68 a4 27 01 40          push   $0x400127a4
1501 400021f2:       e8 b5 f8 ff ff          call   40001aac <debug>
1502 400021f7:       83 c4 10                add    $0x10,%esp
1503 400021fa:       c7 45 fc 10 00 00 00    movl   $0x10,-0x4(%ebp)
1504 40002201:       eb 40                   jmp    40002243 <iso9660_voldesc_load+0x65>
1505 40002203:       8b 45 fc                mov    -0x4(%ebp),%eax
1506 40002206:       c1 e0 0b                shl    $0xb,%eax
1507 40002209:       89 c2                   mov    %eax,%edx
1508 4000220b:       b9 00 00 00 00          mov    $0x0,%ecx
1509 40002210:       83 ec 0c                sub    $0xc,%esp
1510 40002213:       8d 45 f5                lea    -0xb(%ebp),%eax
1511 40002216:       50                      push   %eax
1512 40002217:       6a 07                   push   $0x7
1513 40002219:       51                      push   %ecx
1514 4000221a:       52                      push   %edx
1515 4000221b:       ff 75 08                pushl  0x8(%ebp)
1516 4000221e:       e8 7d 3b 00 00          call   40005da0 <cdi_fs_data_read>
1517 40002223:       83 c4 20                add    $0x20,%esp
1518 40002226:       8d 45 f5                lea    -0xb(%ebp),%eax
1519 40002229:       40                      inc    %eax
1520 4000222a:       50                      push   %eax
1521 4000222b:       e8 a4 ff ff ff          call   400021d4 <iso9660_voldesc_checksig>
1522 40002230:       83 c4 04                add    $0x4,%esp
1523 40002233:       85 c0                   test   %eax,%eax
1524 40002235:       75 09                   jne    40002240 <iso9660_voldesc_load+0x62>
1525 40002237:       c7 45 ec ff ff ff ff    movl   $0xffffffff,-0x14(%ebp)
1526 4000223e:       eb 73                   jmp    400022b3 <iso9660_voldesc_load+0xd5>
1527 40002240:       ff 45 fc                incl   -0x4(%ebp)
1528 40002243:       8a 45 f5                mov    -0xb(%ebp),%al
1529 40002246:       25 ff 00 00 00          and    $0xff,%eax
1530 4000224b:       3b 45 0c                cmp    0xc(%ebp),%eax
1531 4000224e:       74 07                   je     40002257 <iso9660_voldesc_load+0x79>
1532 40002250:       8a 45 f5                mov    -0xb(%ebp),%al
1533 40002253:       3c ff                   cmp    $0xff,%al
1534 40002255:       75 ac                   jne    40002203 <iso9660_voldesc_load+0x25>
1535 40002257:       ff 4d fc                decl   -0x4(%ebp)
1536 4000225a:       8a 45 f5                mov    -0xb(%ebp),%al
1537 4000225d:       25 ff 00 00 00          and    $0xff,%eax
1538 40002262:       3b 45 0c                cmp    0xc(%ebp),%eax
1539 40002265:       75 2c                   jne    40002293 <iso9660_voldesc_load+0xb5>
1540 40002267:       8b 45 fc                mov    -0x4(%ebp),%eax
1541 4000226a:       c1 e0 0b                shl    $0xb,%eax
1542 4000226d:       ba 00 00 00 00          mov    $0x0,%edx
1543 40002272:       83 ec 0c                sub    $0xc,%esp
1544 40002275:       ff 75 10                pushl  0x10(%ebp)
1545 40002278:       68 a1 03 00 00          push   $0x3a1
1546 4000227d:       52                      push   %edx
1547 4000227e:       50                      push   %eax
1548 4000227f:       ff 75 08                pushl  0x8(%ebp)
1549 40002282:       e8 19 3b 00 00          call   40005da0 <cdi_fs_data_read>
1550 40002287:       83 c4 20                add    $0x20,%esp
1551 4000228a:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
1552 40002291:       eb 20                   jmp    400022b3 <iso9660_voldesc_load+0xd5>
1553 40002293:       8a 45 f5                mov    -0xb(%ebp),%al
1554 40002296:       25 ff 00 00 00          and    $0xff,%eax
1555 4000229b:       83 ec 08                sub    $0x8,%esp
1556 4000229e:       50                      push   %eax
1557 4000229f:       68 c8 27 01 40          push   $0x400127c8
1558 400022a4:       e8 03 f8 ff ff          call   40001aac <debug>
1559 400022a9:       83 c4 10                add    $0x10,%esp
1560 400022ac:       c7 45 ec ff ff ff ff    movl   $0xffffffff,-0x14(%ebp)
1561 400022b3:       8b 45 ec                mov    -0x14(%ebp),%eax
1562 400022b6:       c9                      leave  
1563 400022b7:       c3                      ret    
1565 400022b8 <cdi_cache_create>:
1566 400022b8:       55                      push   %ebp
1567 400022b9:       89 e5                   mov    %esp,%ebp
1568 400022bb:       83 ec 28                sub    $0x28,%esp
1569 400022be:       c7 04 24 60 00 00 00    movl   $0x60,(%esp)
1570 400022c5:       e8 da 9a 00 00          call   4000bda4 <malloc>
1571 400022ca:       89 45 f4                mov    %eax,-0xc(%ebp)
1572 400022cd:       8b 55 f4                mov    -0xc(%ebp),%edx
1573 400022d0:       8b 45 10                mov    0x10(%ebp),%eax
1574 400022d3:       89 42 10                mov    %eax,0x10(%edx)
1575 400022d6:       8b 55 f4                mov    -0xc(%ebp),%edx
1576 400022d9:       8b 45 14                mov    0x14(%ebp),%eax
1577 400022dc:       89 42 14                mov    %eax,0x14(%edx)
1578 400022df:       8b 55 f4                mov    -0xc(%ebp),%edx
1579 400022e2:       8b 45 18                mov    0x18(%ebp),%eax
1580 400022e5:       89 42 18                mov    %eax,0x18(%edx)
1581 400022e8:       8b 55 f4                mov    -0xc(%ebp),%edx
1582 400022eb:       8b 45 08                mov    0x8(%ebp),%eax
1583 400022ee:       89 02                   mov    %eax,(%edx)
1584 400022f0:       8b 45 f4                mov    -0xc(%ebp),%eax
1585 400022f3:       c7 40 04 40 00 00 00    movl   $0x40,0x4(%eax)
1586 400022fa:       8b 45 f4                mov    -0xc(%ebp),%eax
1587 400022fd:       c7 40 08 00 00 00 00    movl   $0x0,0x8(%eax)
1588 40002304:       8b 45 f4                mov    -0xc(%ebp),%eax
1589 40002307:       8b 00                   mov    (%eax),%eax
1590 40002309:       c1 e0 04                shl    $0x4,%eax
1591 4000230c:       89 04 24                mov    %eax,(%esp)
1592 4000230f:       e8 90 9a 00 00          call   4000bda4 <malloc>
1593 40002314:       89 c2                   mov    %eax,%edx
1594 40002316:       8b 45 f4                mov    -0xc(%ebp),%eax
1595 40002319:       89 50 1c                mov    %edx,0x1c(%eax)
1596 4000231c:       8b 45 f4                mov    -0xc(%ebp),%eax
1597 4000231f:       c7 40 20 ff ff ff ff    movl   $0xffffffff,0x20(%eax)
1598 40002326:       c7 40 24 ff ff ff ff    movl   $0xffffffff,0x24(%eax)
1599 4000232d:       8b 45 f4                mov    -0xc(%ebp),%eax
1600 40002330:       c7 40 28 00 00 00 00    movl   $0x0,0x28(%eax)
1601 40002337:       8b 45 f4                mov    -0xc(%ebp),%eax
1602 4000233a:       66 c7 40 5c 00 00       movw   $0x0,0x5c(%eax)
1603 40002340:       c7 45 f8 00 00 00 00    movl   $0x0,-0x8(%ebp)
1604 40002347:       eb 27                   jmp    40002370 <cdi_cache_create+0xb8>
1605 40002349:       c7 44 24 0c 00 00 00    movl   $0x0,0xc(%esp)
1606 40002350:       00 
1607 40002351:       c7 44 24 04 ff ff ff    movl   $0xffffffff,0x4(%esp)
1608 40002358:       ff 
1609 40002359:       c7 44 24 08 ff ff ff    movl   $0xffffffff,0x8(%esp)
1610 40002360:       ff 
1611 40002361:       8b 45 f4                mov    -0xc(%ebp),%eax
1612 40002364:       89 04 24                mov    %eax,(%esp)
1613 40002367:       e8 6b 06 00 00          call   400029d7 <put_hint>
1614 4000236c:       83 45 f8 01             addl   $0x1,-0x8(%ebp)
1615 40002370:       83 7d f8 03             cmpl   $0x3,-0x8(%ebp)
1616 40002374:       76 d3                   jbe    40002349 <cdi_cache_create+0x91>
1617 40002376:       8b 45 f4                mov    -0xc(%ebp),%eax
1618 40002379:       8b 40 04                mov    0x4(%eax),%eax
1619 4000237c:       8d 14 85 00 00 00 00    lea    0x0(,%eax,4),%edx
1620 40002383:       8d 04 d5 00 00 00 00    lea    0x0(,%edx,8),%eax
1621 4000238a:       29 d0                   sub    %edx,%eax
1622 4000238c:       89 04 24                mov    %eax,(%esp)
1623 4000238f:       e8 10 9a 00 00          call   4000bda4 <malloc>
1624 40002394:       89 c2                   mov    %eax,%edx
1625 40002396:       8b 45 f4                mov    -0xc(%ebp),%eax
1626 40002399:       89 50 0c                mov    %edx,0xc(%eax)
1627 4000239c:       c7 45 f8 00 00 00 00    movl   $0x0,-0x8(%ebp)
1628 400023a3:       eb 6d                   jmp    40002412 <cdi_cache_create+0x15a>
1629 400023a5:       8b 45 f4                mov    -0xc(%ebp),%eax
1630 400023a8:       8b 48 0c                mov    0xc(%eax),%ecx
1631 400023ab:       8b 45 f8                mov    -0x8(%ebp),%eax
1632 400023ae:       8d 14 85 00 00 00 00    lea    0x0(,%eax,4),%edx
1633 400023b5:       8d 04 d5 00 00 00 00    lea    0x0(,%edx,8),%eax
1634 400023bc:       29 d0                   sub    %edx,%eax
1635 400023be:       8d 04 01                lea    (%ecx,%eax,1),%eax
1636 400023c1:       89 45 fc                mov    %eax,-0x4(%ebp)
1637 400023c4:       8b 45 fc                mov    -0x4(%ebp),%eax
1638 400023c7:       c7 00 ff ff ff ff       movl   $0xffffffff,(%eax)
1639 400023cd:       c7 40 04 ff ff ff ff    movl   $0xffffffff,0x4(%eax)
1640 400023d4:       8b 45 f4                mov    -0xc(%ebp),%eax
1641 400023d7:       8b 00                   mov    (%eax),%eax
1642 400023d9:       89 04 24                mov    %eax,(%esp)
1643 400023dc:       e8 c3 99 00 00          call   4000bda4 <malloc>
1644 400023e1:       89 c2                   mov    %eax,%edx
1645 400023e3:       8b 45 fc                mov    -0x4(%ebp),%eax
1646 400023e6:       89 50 08                mov    %edx,0x8(%eax)
1647 400023e9:       8b 45 0c                mov    0xc(%ebp),%eax
1648 400023ec:       89 04 24                mov    %eax,(%esp)
1649 400023ef:       e8 b0 99 00 00          call   4000bda4 <malloc>
1650 400023f4:       89 c2                   mov    %eax,%edx
1651 400023f6:       8b 45 fc                mov    -0x4(%ebp),%eax
1652 400023f9:       89 50 0c                mov    %edx,0xc(%eax)
1653 400023fc:       8b 45 fc                mov    -0x4(%ebp),%eax
1654 400023ff:       66 c7 40 10 00 00       movw   $0x0,0x10(%eax)
1655 40002405:       8b 45 fc                mov    -0x4(%ebp),%eax
1656 40002408:       66 c7 40 12 00 00       movw   $0x0,0x12(%eax)
1657 4000240e:       83 45 f8 01             addl   $0x1,-0x8(%ebp)
1658 40002412:       8b 45 f4                mov    -0xc(%ebp),%eax
1659 40002415:       8b 40 04                mov    0x4(%eax),%eax
1660 40002418:       3b 45 f8                cmp    -0x8(%ebp),%eax
1661 4000241b:       77 88                   ja     400023a5 <cdi_cache_create+0xed>
1662 4000241d:       a1 70 42 01 40          mov    0x40014270,%eax
1663 40002422:       85 c0                   test   %eax,%eax
1664 40002424:       75 0a                   jne    40002430 <cdi_cache_create+0x178>
1665 40002426:       e8 1f 00 00 00          call   4000244a <cdi_list_create>
1666 4000242b:       a3 70 42 01 40          mov    %eax,0x40014270
1667 40002430:       8b 15 70 42 01 40       mov    0x40014270,%edx
1668 40002436:       8b 45 f4                mov    -0xc(%ebp),%eax
1669 40002439:       89 44 24 04             mov    %eax,0x4(%esp)
1670 4000243d:       89 14 24                mov    %edx,(%esp)
1671 40002440:       e8 12 00 00 00          call   40002457 <cdi_list_push>
1672 40002445:       8b 45 f4                mov    -0xc(%ebp),%eax
1673 40002448:       c9                      leave  
1674 40002449:       c3                      ret    
1676 4000244a <cdi_list_create>:
1677 4000244a:       55                      push   %ebp
1678 4000244b:       89 e5                   mov    %esp,%ebp
1679 4000244d:       83 ec 08                sub    $0x8,%esp
1680 40002450:       e8 a3 d6 00 00          call   4000faf8 <llist_create>
1681 40002455:       c9                      leave  
1682 40002456:       c3                      ret    
1684 40002457 <cdi_list_push>:
1685 40002457:       55                      push   %ebp
1686 40002458:       89 e5                   mov    %esp,%ebp
1687 4000245a:       83 ec 08                sub    $0x8,%esp
1688 4000245d:       8b 45 0c                mov    0xc(%ebp),%eax
1689 40002460:       89 44 24 04             mov    %eax,0x4(%esp)
1690 40002464:       8b 45 08                mov    0x8(%ebp),%eax
1691 40002467:       89 04 24                mov    %eax,(%esp)
1692 4000246a:       e8 04 d7 00 00          call   4000fb73 <llist_push>
1693 4000246f:       c9                      leave  
1694 40002470:       c3                      ret    
1696 40002471 <cdi_cache_destroy>:
1697 40002471:       55                      push   %ebp
1698 40002472:       89 e5                   mov    %esp,%ebp
1699 40002474:       83 ec 28                sub    $0x28,%esp
1700 40002477:       8b 45 08                mov    0x8(%ebp),%eax
1701 4000247a:       89 45 f4                mov    %eax,-0xc(%ebp)
1702 4000247d:       8b 45 08                mov    0x8(%ebp),%eax
1703 40002480:       89 04 24                mov    %eax,(%esp)
1704 40002483:       e8 fb 00 00 00          call   40002583 <cdi_cache_sync>
1705 40002488:       85 c0                   test   %eax,%eax
1706 4000248a:       75 0c                   jne    40002498 <cdi_cache_destroy+0x27>
1707 4000248c:       c7 04 24 ec 27 01 40    movl   $0x400127ec,(%esp)
1708 40002493:       e8 df b4 00 00          call   4000d977 <puts>
1709 40002498:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
1710 4000249f:       e9 a5 00 00 00          jmp    40002549 <cdi_cache_destroy+0xd8>
1711 400024a4:       8b 45 f4                mov    -0xc(%ebp),%eax
1712 400024a7:       8b 48 0c                mov    0xc(%eax),%ecx
1713 400024aa:       8b 45 fc                mov    -0x4(%ebp),%eax
1714 400024ad:       8d 14 85 00 00 00 00    lea    0x0(,%eax,4),%edx
1715 400024b4:       8d 04 d5 00 00 00 00    lea    0x0(,%edx,8),%eax
1716 400024bb:       29 d0                   sub    %edx,%eax
1717 400024bd:       8d 04 01                lea    (%ecx,%eax,1),%eax
1718 400024c0:       89 45 f8                mov    %eax,-0x8(%ebp)
1719 400024c3:       8b 45 f8                mov    -0x8(%ebp),%eax
1720 400024c6:       8b 50 04                mov    0x4(%eax),%edx
1721 400024c9:       8b 00                   mov    (%eax),%eax
1722 400024cb:       89 d1                   mov    %edx,%ecx
1723 400024cd:       83 f1 ff                xor    $0xffffffff,%ecx
1724 400024d0:       83 f0 ff                xor    $0xffffffff,%eax
1725 400024d3:       09 c8                   or     %ecx,%eax
1726 400024d5:       85 c0                   test   %eax,%eax
1727 400024d7:       74 50                   je     40002529 <cdi_cache_destroy+0xb8>
1728 400024d9:       8b 45 f8                mov    -0x8(%ebp),%eax
1729 400024dc:       0f b7 40 10             movzwl 0x10(%eax),%eax
1730 400024e0:       66 85 c0                test   %ax,%ax
1731 400024e3:       74 1c                   je     40002501 <cdi_cache_destroy+0x90>
1732 400024e5:       8b 45 f8                mov    -0x8(%ebp),%eax
1733 400024e8:       8b 50 04                mov    0x4(%eax),%edx
1734 400024eb:       8b 00                   mov    (%eax),%eax
1735 400024ed:       89 44 24 04             mov    %eax,0x4(%esp)
1736 400024f1:       89 54 24 08             mov    %edx,0x8(%esp)
1737 400024f5:       c7 04 24 20 28 01 40    movl   $0x40012820,(%esp)
1738 400024fc:       e8 e7 ac 00 00          call   4000d1e8 <printf>
1739 40002501:       8b 45 f8                mov    -0x8(%ebp),%eax
1740 40002504:       0f b7 40 12             movzwl 0x12(%eax),%eax
1741 40002508:       66 85 c0                test   %ax,%ax
1742 4000250b:       74 1c                   je     40002529 <cdi_cache_destroy+0xb8>
1743 4000250d:       8b 45 f8                mov    -0x8(%ebp),%eax
1744 40002510:       8b 50 04                mov    0x4(%eax),%edx
1745 40002513:       8b 00                   mov    (%eax),%eax
1746 40002515:       89 44 24 04             mov    %eax,0x4(%esp)
1747 40002519:       89 54 24 08             mov    %edx,0x8(%esp)
1748 4000251d:       c7 04 24 8c 28 01 40    movl   $0x4001288c,(%esp)
1749 40002524:       e8 bf ac 00 00          call   4000d1e8 <printf>
1750 40002529:       8b 45 f8                mov    -0x8(%ebp),%eax
1751 4000252c:       8b 40 08                mov    0x8(%eax),%eax
1752 4000252f:       89 04 24                mov    %eax,(%esp)
1753 40002532:       e8 24 9d 00 00          call   4000c25b <free>
1754 40002537:       8b 45 f8                mov    -0x8(%ebp),%eax
1755 4000253a:       8b 40 0c                mov    0xc(%eax),%eax
1756 4000253d:       89 04 24                mov    %eax,(%esp)
1757 40002540:       e8 16 9d 00 00          call   4000c25b <free>
1758 40002545:       83 45 fc 01             addl   $0x1,-0x4(%ebp)
1759 40002549:       8b 45 fc                mov    -0x4(%ebp),%eax
1760 4000254c:       8b 55 f4                mov    -0xc(%ebp),%edx
1761 4000254f:       8b 52 04                mov    0x4(%edx),%edx
1762 40002552:       39 d0                   cmp    %edx,%eax
1763 40002554:       0f 82 4a ff ff ff       jb     400024a4 <cdi_cache_destroy+0x33>
1764 4000255a:       8b 45 f4                mov    -0xc(%ebp),%eax
1765 4000255d:       8b 40 0c                mov    0xc(%eax),%eax
1766 40002560:       89 04 24                mov    %eax,(%esp)
1767 40002563:       e8 f3 9c 00 00          call   4000c25b <free>
1768 40002568:       8b 45 f4                mov    -0xc(%ebp),%eax
1769 4000256b:       8b 40 1c                mov    0x1c(%eax),%eax
1770 4000256e:       89 04 24                mov    %eax,(%esp)
1771 40002571:       e8 e5 9c 00 00          call   4000c25b <free>
1772 40002576:       8b 45 f4                mov    -0xc(%ebp),%eax
1773 40002579:       89 04 24                mov    %eax,(%esp)
1774 4000257c:       e8 da 9c 00 00          call   4000c25b <free>
1775 40002581:       c9                      leave  
1776 40002582:       c3                      ret    
1778 40002583 <cdi_cache_sync>:
1779 40002583:       55                      push   %ebp
1780 40002584:       89 e5                   mov    %esp,%ebp
1781 40002586:       83 ec 28                sub    $0x28,%esp
1782 40002589:       8b 45 08                mov    0x8(%ebp),%eax
1783 4000258c:       89 45 f4                mov    %eax,-0xc(%ebp)
1784 4000258f:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
1785 40002596:       eb 54                   jmp    400025ec <cdi_cache_sync+0x69>
1786 40002598:       8b 45 f4                mov    -0xc(%ebp),%eax
1787 4000259b:       8b 48 0c                mov    0xc(%eax),%ecx
1788 4000259e:       8b 45 fc                mov    -0x4(%ebp),%eax
1789 400025a1:       8d 14 85 00 00 00 00    lea    0x0(,%eax,4),%edx
1790 400025a8:       8d 04 d5 00 00 00 00    lea    0x0(,%edx,8),%eax
1791 400025af:       29 d0                   sub    %edx,%eax
1792 400025b1:       8d 04 01                lea    (%ecx,%eax,1),%eax
1793 400025b4:       89 45 f8                mov    %eax,-0x8(%ebp)
1794 400025b7:       8b 45 f8                mov    -0x8(%ebp),%eax
1795 400025ba:       8b 50 04                mov    0x4(%eax),%edx
1796 400025bd:       8b 00                   mov    (%eax),%eax
1797 400025bf:       89 d1                   mov    %edx,%ecx
1798 400025c1:       83 f1 ff                xor    $0xffffffff,%ecx
1799 400025c4:       83 f0 ff                xor    $0xffffffff,%eax
1800 400025c7:       09 c8                   or     %ecx,%eax
1801 400025c9:       85 c0                   test   %eax,%eax
1802 400025cb:       75 09                   jne    400025d6 <cdi_cache_sync+0x53>
1803 400025cd:       c7 45 ec 01 00 00 00    movl   $0x1,-0x14(%ebp)
1804 400025d4:       eb 28                   jmp    400025fe <cdi_cache_sync+0x7b>
1805 400025d6:       8b 45 f8                mov    -0x8(%ebp),%eax
1806 400025d9:       89 44 24 04             mov    %eax,0x4(%esp)
1807 400025dd:       8b 45 f4                mov    -0xc(%ebp),%eax
1808 400025e0:       89 04 24                mov    %eax,(%esp)
1809 400025e3:       e8 1b 00 00 00          call   40002603 <cache_sync_block>
1810 400025e8:       83 45 fc 01             addl   $0x1,-0x4(%ebp)
1811 400025ec:       8b 45 f4                mov    -0xc(%ebp),%eax
1812 400025ef:       8b 40 04                mov    0x4(%eax),%eax
1813 400025f2:       3b 45 fc                cmp    -0x4(%ebp),%eax
1814 400025f5:       77 a1                   ja     40002598 <cdi_cache_sync+0x15>
1815 400025f7:       c7 45 ec 01 00 00 00    movl   $0x1,-0x14(%ebp)
1816 400025fe:       8b 45 ec                mov    -0x14(%ebp),%eax
1817 40002601:       c9                      leave  
1818 40002602:       c3                      ret    
1820 40002603 <cache_sync_block>:
1821 40002603:       55                      push   %ebp
1822 40002604:       89 e5                   mov    %esp,%ebp
1823 40002606:       57                      push   %edi
1824 40002607:       56                      push   %esi
1825 40002608:       53                      push   %ebx
1826 40002609:       83 ec 5c                sub    $0x5c,%esp
1827 4000260c:       8b 45 0c                mov    0xc(%ebp),%eax
1828 4000260f:       0f b7 40 12             movzwl 0x12(%eax),%eax
1829 40002613:       66 85 c0                test   %ax,%ax
1830 40002616:       75 0c                   jne    40002624 <cache_sync_block+0x21>
1831 40002618:       c7 45 bc 01 00 00 00    movl   $0x1,-0x44(%ebp)
1832 4000261f:       e9 6b 01 00 00          jmp    4000278f <cache_sync_block+0x18c>
1833 40002624:       8b 45 08                mov    0x8(%ebp),%eax
1834 40002627:       8b 50 24                mov    0x24(%eax),%edx
1835 4000262a:       8b 40 20                mov    0x20(%eax),%eax
1836 4000262d:       89 d1                   mov    %edx,%ecx
1837 4000262f:       83 f1 ff                xor    $0xffffffff,%ecx
1838 40002632:       83 f0 ff                xor    $0xffffffff,%eax
1839 40002635:       09 c8                   or     %ecx,%eax
1840 40002637:       85 c0                   test   %eax,%eax
1841 40002639:       0f 84 ed 00 00 00       je     4000272c <cache_sync_block+0x129>
1842 4000263f:       8b 45 08                mov    0x8(%ebp),%eax
1843 40002642:       8b 50 20                mov    0x20(%eax),%edx
1844 40002645:       8b 48 24                mov    0x24(%eax),%ecx
1845 40002648:       89 55 c0                mov    %edx,-0x40(%ebp)
1846 4000264b:       89 4d c4                mov    %ecx,-0x3c(%ebp)
1847 4000264e:       8b 45 0c                mov    0xc(%ebp),%eax
1848 40002651:       8b 30                   mov    (%eax),%esi
1849 40002653:       8b 78 04                mov    0x4(%eax),%edi
1850 40002656:       89 75 c8                mov    %esi,-0x38(%ebp)
1851 40002659:       89 7d cc                mov    %edi,-0x34(%ebp)
1852 4000265c:       8b 7d cc                mov    -0x34(%ebp),%edi
1853 4000265f:       39 7d c4                cmp    %edi,-0x3c(%ebp)
1854 40002662:       0f 87 c4 00 00 00       ja     4000272c <cache_sync_block+0x129>
1855 40002668:       8b 45 cc                mov    -0x34(%ebp),%eax
1856 4000266b:       39 45 c4                cmp    %eax,-0x3c(%ebp)
1857 4000266e:       72 0c                   jb     4000267c <cache_sync_block+0x79>
1858 40002670:       8b 55 c8                mov    -0x38(%ebp),%edx
1859 40002673:       39 55 c0                cmp    %edx,-0x40(%ebp)
1860 40002676:       0f 87 b0 00 00 00       ja     4000272c <cache_sync_block+0x129>
1861 4000267c:       8b 45 0c                mov    0xc(%ebp),%eax
1862 4000267f:       8b 30                   mov    (%eax),%esi
1863 40002681:       8b 78 04                mov    0x4(%eax),%edi
1864 40002684:       89 75 d0                mov    %esi,-0x30(%ebp)
1865 40002687:       89 7d d4                mov    %edi,-0x2c(%ebp)
1866 4000268a:       8b 45 08                mov    0x8(%ebp),%eax
1867 4000268d:       8b 48 20                mov    0x20(%eax),%ecx
1868 40002690:       8b 58 24                mov    0x24(%eax),%ebx
1869 40002693:       8b 45 08                mov    0x8(%ebp),%eax
1870 40002696:       8b 40 28                mov    0x28(%eax),%eax
1871 40002699:       ba 00 00 00 00          mov    $0x0,%edx
1872 4000269e:       89 ce                   mov    %ecx,%esi
1873 400026a0:       89 df                   mov    %ebx,%edi
1874 400026a2:       01 c6                   add    %eax,%esi
1875 400026a4:       11 d7                   adc    %edx,%edi
1876 400026a6:       89 75 d8                mov    %esi,-0x28(%ebp)
1877 400026a9:       89 7d dc                mov    %edi,-0x24(%ebp)
1878 400026ac:       8b 7d dc                mov    -0x24(%ebp),%edi
1879 400026af:       39 7d d4                cmp    %edi,-0x2c(%ebp)
1880 400026b2:       77 78                   ja     4000272c <cache_sync_block+0x129>
1881 400026b4:       8b 45 dc                mov    -0x24(%ebp),%eax
1882 400026b7:       39 45 d4                cmp    %eax,-0x2c(%ebp)
1883 400026ba:       72 08                   jb     400026c4 <cache_sync_block+0xc1>
1884 400026bc:       8b 55 d8                mov    -0x28(%ebp),%edx
1885 400026bf:       39 55 d0                cmp    %edx,-0x30(%ebp)
1886 400026c2:       73 68                   jae    4000272c <cache_sync_block+0x129>
1887 400026c4:       8b 45 08                mov    0x8(%ebp),%eax
1888 400026c7:       8b 00                   mov    (%eax),%eax
1889 400026c9:       89 45 e4                mov    %eax,-0x1c(%ebp)
1890 400026cc:       8b 45 0c                mov    0xc(%ebp),%eax
1891 400026cf:       8b 40 08                mov    0x8(%eax),%eax
1892 400026d2:       89 45 e8                mov    %eax,-0x18(%ebp)
1893 400026d5:       8b 45 08                mov    0x8(%ebp),%eax
1894 400026d8:       8b 40 1c                mov    0x1c(%eax),%eax
1895 400026db:       89 45 ec                mov    %eax,-0x14(%ebp)
1896 400026de:       8b 45 0c                mov    0xc(%ebp),%eax
1897 400026e1:       8b 08                   mov    (%eax),%ecx
1898 400026e3:       8b 58 04                mov    0x4(%eax),%ebx
1899 400026e6:       8b 45 08                mov    0x8(%ebp),%eax
1900 400026e9:       8b 50 24                mov    0x24(%eax),%edx
1901 400026ec:       8b 40 20                mov    0x20(%eax),%eax
1902 400026ef:       89 de                   mov    %ebx,%esi
1903 400026f1:       89 cb                   mov    %ecx,%ebx
1904 400026f3:       29 c3                   sub    %eax,%ebx
1905 400026f5:       19 d6                   sbb    %edx,%esi
1906 400026f7:       8b 45 08                mov    0x8(%ebp),%eax
1907 400026fa:       8b 00                   mov    (%eax),%eax
1908 400026fc:       ba 00 00 00 00          mov    $0x0,%edx
1909 40002701:       89 f1                   mov    %esi,%ecx
1910 40002703:       0f af c8                imul   %eax,%ecx
1911 40002706:       89 d7                   mov    %edx,%edi
1912 40002708:       0f af fb                imul   %ebx,%edi
1913 4000270b:       01 f9                   add    %edi,%ecx
1914 4000270d:       f7 e3                   mul    %ebx
1915 4000270f:       01 d1                   add    %edx,%ecx
1916 40002711:       89 ca                   mov    %ecx,%edx
1917 40002713:       03 45 ec                add    -0x14(%ebp),%eax
1918 40002716:       8b 4d e4                mov    -0x1c(%ebp),%ecx
1919 40002719:       89 4c 24 08             mov    %ecx,0x8(%esp)
1920 4000271d:       8b 75 e8                mov    -0x18(%ebp),%esi
1921 40002720:       89 74 24 04             mov    %esi,0x4(%esp)
1922 40002724:       89 04 24                mov    %eax,(%esp)
1923 40002727:       e8 d4 c9 00 00          call   4000f100 <memcpy>
1924 4000272c:       8b 45 08                mov    0x8(%ebp),%eax
1925 4000272f:       8b 78 14                mov    0x14(%eax),%edi
1926 40002732:       8b 45 08                mov    0x8(%ebp),%eax
1927 40002735:       8b 70 18                mov    0x18(%eax),%esi
1928 40002738:       8b 45 0c                mov    0xc(%ebp),%eax
1929 4000273b:       8b 48 08                mov    0x8(%eax),%ecx
1930 4000273e:       8b 45 0c                mov    0xc(%ebp),%eax
1931 40002741:       8b 50 04                mov    0x4(%eax),%edx
1932 40002744:       8b 00                   mov    (%eax),%eax
1933 40002746:       8b 5d 08                mov    0x8(%ebp),%ebx
1934 40002749:       89 74 24 14             mov    %esi,0x14(%esp)
1935 4000274d:       89 4c 24 10             mov    %ecx,0x10(%esp)
1936 40002751:       c7 44 24 0c 01 00 00    movl   $0x1,0xc(%esp)
1937 40002758:       00 
1938 40002759:       89 44 24 04             mov    %eax,0x4(%esp)
1939 4000275d:       89 54 24 08             mov    %edx,0x8(%esp)
1940 40002761:       89 1c 24                mov    %ebx,(%esp)
1941 40002764:       ff d7                   call   *%edi
1942 40002766:       85 c0                   test   %eax,%eax
1943 40002768:       75 15                   jne    4000277f <cache_sync_block+0x17c>
1944 4000276a:       c7 04 24 f4 28 01 40    movl   $0x400128f4,(%esp)
1945 40002771:       e8 01 b2 00 00          call   4000d977 <puts>
1946 40002776:       c7 45 bc 00 00 00 00    movl   $0x0,-0x44(%ebp)
1947 4000277d:       eb 10                   jmp    4000278f <cache_sync_block+0x18c>
1948 4000277f:       8b 45 0c                mov    0xc(%ebp),%eax
1949 40002782:       66 c7 40 12 00 00       movw   $0x0,0x12(%eax)
1950 40002788:       c7 45 bc 01 00 00 00    movl   $0x1,-0x44(%ebp)
1951 4000278f:       8b 45 bc                mov    -0x44(%ebp),%eax
1952 40002792:       83 c4 5c                add    $0x5c,%esp
1953 40002795:       5b                      pop    %ebx
1954 40002796:       5e                      pop    %esi
1955 40002797:       5f                      pop    %edi
1956 40002798:       5d                      pop    %ebp
1957 40002799:       c3                      ret    
1959 4000279a <caches_sync_all>:
1960 4000279a:       55                      push   %ebp
1961 4000279b:       89 e5                   mov    %esp,%ebp
1962 4000279d:       83 ec 18                sub    $0x18,%esp
1963 400027a0:       a1 70 42 01 40          mov    0x40014270,%eax
1964 400027a5:       85 c0                   test   %eax,%eax
1965 400027a7:       74 45                   je     400027ee <caches_sync_all+0x54>
1966 400027a9:       c7 45 f8 00 00 00 00    movl   $0x0,-0x8(%ebp)
1967 400027b0:       eb 1f                   jmp    400027d1 <caches_sync_all+0x37>
1968 400027b2:       8b 45 fc                mov    -0x4(%ebp),%eax
1969 400027b5:       89 04 24                mov    %eax,(%esp)
1970 400027b8:       e8 c6 fd ff ff          call   40002583 <cdi_cache_sync>
1971 400027bd:       85 c0                   test   %eax,%eax
1972 400027bf:       75 0c                   jne    400027cd <caches_sync_all+0x33>
1973 400027c1:       c7 04 24 2c 29 01 40    movl   $0x4001292c,(%esp)
1974 400027c8:       e8 aa b1 00 00          call   4000d977 <puts>
1975 400027cd:       83 45 f8 01             addl   $0x1,-0x8(%ebp)
1976 400027d1:       a1 70 42 01 40          mov    0x40014270,%eax
1977 400027d6:       8b 55 f8                mov    -0x8(%ebp),%edx
1978 400027d9:       89 54 24 04             mov    %edx,0x4(%esp)
1979 400027dd:       89 04 24                mov    %eax,(%esp)
1980 400027e0:       e8 0b 00 00 00          call   400027f0 <cdi_list_get>
1981 400027e5:       89 45 fc                mov    %eax,-0x4(%ebp)
1982 400027e8:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
1983 400027ec:       75 c4                   jne    400027b2 <caches_sync_all+0x18>
1984 400027ee:       c9                      leave  
1985 400027ef:       c3                      ret    
1987 400027f0 <cdi_list_get>:
1988 400027f0:       55                      push   %ebp
1989 400027f1:       89 e5                   mov    %esp,%ebp
1990 400027f3:       83 ec 08                sub    $0x8,%esp
1991 400027f6:       8b 45 0c                mov    0xc(%ebp),%eax
1992 400027f9:       89 44 24 04             mov    %eax,0x4(%esp)
1993 400027fd:       8b 45 08                mov    0x8(%ebp),%eax
1994 40002800:       89 04 24                mov    %eax,(%esp)
1995 40002803:       e8 a3 d4 00 00          call   4000fcab <llist_get>
1996 40002808:       c9                      leave  
1997 40002809:       c3                      ret    
1999 4000280a <search_position>:
2000 4000280a:       55                      push   %ebp
2001 4000280b:       89 e5                   mov    %esp,%ebp
2002 4000280d:       53                      push   %ebx
2003 4000280e:       83 ec 3c                sub    $0x3c,%esp
2004 40002811:       8b 45 0c                mov    0xc(%ebp),%eax
2005 40002814:       89 45 e0                mov    %eax,-0x20(%ebp)
2006 40002817:       8b 45 10                mov    0x10(%ebp),%eax
2007 4000281a:       89 45 e4                mov    %eax,-0x1c(%ebp)
2008 4000281d:       8b 45 08                mov    0x8(%ebp),%eax
2009 40002820:       8b 40 08                mov    0x8(%eax),%eax
2010 40002823:       83 e8 01                sub    $0x1,%eax
2011 40002826:       89 45 ec                mov    %eax,-0x14(%ebp)
2012 40002829:       c7 45 f0 00 00 00 00    movl   $0x0,-0x10(%ebp)
2013 40002830:       8b 45 08                mov    0x8(%ebp),%eax
2014 40002833:       8b 40 0c                mov    0xc(%eax),%eax
2015 40002836:       8b 10                   mov    (%eax),%edx
2016 40002838:       8b 48 04                mov    0x4(%eax),%ecx
2017 4000283b:       89 55 c0                mov    %edx,-0x40(%ebp)
2018 4000283e:       89 4d c4                mov    %ecx,-0x3c(%ebp)
2019 40002841:       8b 4d c4                mov    -0x3c(%ebp),%ecx
2020 40002844:       3b 4d e4                cmp    -0x1c(%ebp),%ecx
2021 40002847:       72 25                   jb     4000286e <search_position+0x64>
2022 40002849:       8b 45 c4                mov    -0x3c(%ebp),%eax
2023 4000284c:       3b 45 e4                cmp    -0x1c(%ebp),%eax
2024 4000284f:       77 08                   ja     40002859 <search_position+0x4f>
2025 40002851:       8b 55 c0                mov    -0x40(%ebp),%edx
2026 40002854:       3b 55 e0                cmp    -0x20(%ebp),%edx
2027 40002857:       76 15                   jbe    4000286e <search_position+0x64>
2028 40002859:       8b 45 14                mov    0x14(%ebp),%eax
2029 4000285c:       c7 00 00 00 00 00       movl   $0x0,(%eax)
2030 40002862:       c7 45 cc 00 00 00 00    movl   $0x0,-0x34(%ebp)
2031 40002869:       e9 60 01 00 00          jmp    400029ce <search_position+0x1c4>
2032 4000286e:       8b 45 08                mov    0x8(%ebp),%eax
2033 40002871:       8b 48 0c                mov    0xc(%eax),%ecx
2034 40002874:       8b 45 ec                mov    -0x14(%ebp),%eax
2035 40002877:       8d 14 85 00 00 00 00    lea    0x0(,%eax,4),%edx
2036 4000287e:       8d 04 d5 00 00 00 00    lea    0x0(,%edx,8),%eax
2037 40002885:       29 d0                   sub    %edx,%eax
2038 40002887:       8d 04 01                lea    (%ecx,%eax,1),%eax
2039 4000288a:       8b 10                   mov    (%eax),%edx
2040 4000288c:       8b 48 04                mov    0x4(%eax),%ecx
2041 4000288f:       89 55 d0                mov    %edx,-0x30(%ebp)
2042 40002892:       89 4d d4                mov    %ecx,-0x2c(%ebp)
2043 40002895:       8b 4d d4                mov    -0x2c(%ebp),%ecx
2044 40002898:       3b 4d e4                cmp    -0x1c(%ebp),%ecx
2045 4000289b:       77 36                   ja     400028d3 <search_position+0xc9>
2046 4000289d:       8b 45 d4                mov    -0x2c(%ebp),%eax
2047 400028a0:       3b 45 e4                cmp    -0x1c(%ebp),%eax
2048 400028a3:       72 08                   jb     400028ad <search_position+0xa3>
2049 400028a5:       8b 55 d0                mov    -0x30(%ebp),%edx
2050 400028a8:       3b 55 e0                cmp    -0x20(%ebp),%edx
2051 400028ab:       73 26                   jae    400028d3 <search_position+0xc9>
2052 400028ad:       8b 45 08                mov    0x8(%ebp),%eax
2053 400028b0:       8b 40 04                mov    0x4(%eax),%eax
2054 400028b3:       83 e8 01                sub    $0x1,%eax
2055 400028b6:       3b 45 ec                cmp    -0x14(%ebp),%eax
2056 400028b9:       76 04                   jbe    400028bf <search_position+0xb5>
2057 400028bb:       83 45 ec 01             addl   $0x1,-0x14(%ebp)
2058 400028bf:       8b 55 14                mov    0x14(%ebp),%edx
2059 400028c2:       8b 45 ec                mov    -0x14(%ebp),%eax
2060 400028c5:       89 02                   mov    %eax,(%edx)
2061 400028c7:       c7 45 cc 00 00 00 00    movl   $0x0,-0x34(%ebp)
2062 400028ce:       e9 fb 00 00 00          jmp    400029ce <search_position+0x1c4>
2063 400028d3:       8b 55 f0                mov    -0x10(%ebp),%edx
2064 400028d6:       8b 45 ec                mov    -0x14(%ebp),%eax
2065 400028d9:       29 d0                   sub    %edx,%eax
2066 400028db:       d1 e8                   shr    %eax
2067 400028dd:       03 45 f0                add    -0x10(%ebp),%eax
2068 400028e0:       89 45 f4                mov    %eax,-0xc(%ebp)
2069 400028e3:       8b 45 08                mov    0x8(%ebp),%eax
2070 400028e6:       8b 48 0c                mov    0xc(%eax),%ecx
2071 400028e9:       8b 45 f4                mov    -0xc(%ebp),%eax
2072 400028ec:       8d 14 85 00 00 00 00    lea    0x0(,%eax,4),%edx
2073 400028f3:       8d 04 d5 00 00 00 00    lea    0x0(,%edx,8),%eax
2074 400028fa:       29 d0                   sub    %edx,%eax
2075 400028fc:       8d 04 01                lea    (%ecx,%eax,1),%eax
2076 400028ff:       8b 50 04                mov    0x4(%eax),%edx
2077 40002902:       8b 00                   mov    (%eax),%eax
2078 40002904:       89 d1                   mov    %edx,%ecx
2079 40002906:       33 4d e4                xor    -0x1c(%ebp),%ecx
2080 40002909:       33 45 e0                xor    -0x20(%ebp),%eax
2081 4000290c:       09 c8                   or     %ecx,%eax
2082 4000290e:       85 c0                   test   %eax,%eax
2083 40002910:       74 65                   je     40002977 <search_position+0x16d>
2084 40002912:       8b 45 08                mov    0x8(%ebp),%eax
2085 40002915:       8b 48 0c                mov    0xc(%eax),%ecx
2086 40002918:       8b 45 f4                mov    -0xc(%ebp),%eax
2087 4000291b:       8d 14 85 00 00 00 00    lea    0x0(,%eax,4),%edx
2088 40002922:       8d 04 d5 00 00 00 00    lea    0x0(,%edx,8),%eax
2089 40002929:       29 d0                   sub    %edx,%eax
2090 4000292b:       8d 04 01                lea    (%ecx,%eax,1),%eax
2091 4000292e:       8b 10                   mov    (%eax),%edx
2092 40002930:       8b 48 04                mov    0x4(%eax),%ecx
2093 40002933:       89 55 d8                mov    %edx,-0x28(%ebp)
2094 40002936:       89 4d dc                mov    %ecx,-0x24(%ebp)
2095 40002939:       8b 4d dc                mov    -0x24(%ebp),%ecx
2096 4000293c:       3b 4d e4                cmp    -0x1c(%ebp),%ecx
2097 4000293f:       72 1b                   jb     4000295c <search_position+0x152>
2098 40002941:       8b 45 dc                mov    -0x24(%ebp),%eax
2099 40002944:       3b 45 e4                cmp    -0x1c(%ebp),%eax
2100 40002947:       77 08                   ja     40002951 <search_position+0x147>
2101 40002949:       8b 55 d8                mov    -0x28(%ebp),%edx
2102 4000294c:       3b 55 e0                cmp    -0x20(%ebp),%edx
2103 4000294f:       76 0b                   jbe    4000295c <search_position+0x152>
2104 40002951:       8b 45 f4                mov    -0xc(%ebp),%eax
2105 40002954:       83 e8 01                sub    $0x1,%eax
2106 40002957:       89 45 ec                mov    %eax,-0x14(%ebp)
2107 4000295a:       eb 0f                   jmp    4000296b <search_position+0x161>
2108 4000295c:       8b 45 f4                mov    -0xc(%ebp),%eax
2109 4000295f:       83 c0 01                add    $0x1,%eax
2110 40002962:       89 45 f0                mov    %eax,-0x10(%ebp)
2111 40002965:       8b 45 f0                mov    -0x10(%ebp),%eax
2112 40002968:       89 45 f4                mov    %eax,-0xc(%ebp)
2113 4000296b:       8b 45 ec                mov    -0x14(%ebp),%eax
2114 4000296e:       3b 45 f0                cmp    -0x10(%ebp),%eax
2115 40002971:       0f 83 5c ff ff ff       jae    400028d3 <search_position+0xc9>
2116 40002977:       8b 45 08                mov    0x8(%ebp),%eax
2117 4000297a:       8b 40 04                mov    0x4(%eax),%eax
2118 4000297d:       3b 45 f4                cmp    -0xc(%ebp),%eax
2119 40002980:       77 0c                   ja     4000298e <search_position+0x184>
2120 40002982:       8b 45 08                mov    0x8(%ebp),%eax
2121 40002985:       8b 40 04                mov    0x4(%eax),%eax
2122 40002988:       83 e8 01                sub    $0x1,%eax
2123 4000298b:       89 45 f4                mov    %eax,-0xc(%ebp)
2124 4000298e:       8b 55 14                mov    0x14(%ebp),%edx
2125 40002991:       8b 45 f4                mov    -0xc(%ebp),%eax
2126 40002994:       89 02                   mov    %eax,(%edx)
2127 40002996:       8b 45 08                mov    0x8(%ebp),%eax
2128 40002999:       8b 48 0c                mov    0xc(%eax),%ecx
2129 4000299c:       8b 45 f4                mov    -0xc(%ebp),%eax
2130 4000299f:       8d 14 85 00 00 00 00    lea    0x0(,%eax,4),%edx
2131 400029a6:       8d 04 d5 00 00 00 00    lea    0x0(,%edx,8),%eax
2132 400029ad:       29 d0                   sub    %edx,%eax
2133 400029af:       8d 04 01                lea    (%ecx,%eax,1),%eax
2134 400029b2:       8b 08                   mov    (%eax),%ecx
2135 400029b4:       8b 58 04                mov    0x4(%eax),%ebx
2136 400029b7:       89 c8                   mov    %ecx,%eax
2137 400029b9:       33 45 e0                xor    -0x20(%ebp),%eax
2138 400029bc:       89 da                   mov    %ebx,%edx
2139 400029be:       33 55 e4                xor    -0x1c(%ebp),%edx
2140 400029c1:       09 d0                   or     %edx,%eax
2141 400029c3:       85 c0                   test   %eax,%eax
2142 400029c5:       0f 94 c0                sete   %al
2143 400029c8:       0f b6 c0                movzbl %al,%eax
2144 400029cb:       89 45 cc                mov    %eax,-0x34(%ebp)
2145 400029ce:       8b 45 cc                mov    -0x34(%ebp),%eax
2146 400029d1:       83 c4 3c                add    $0x3c,%esp
2147 400029d4:       5b                      pop    %ebx
2148 400029d5:       5d                      pop    %ebp
2149 400029d6:       c3                      ret    
2151 400029d7 <put_hint>:
2152 400029d7:       55                      push   %ebp
2153 400029d8:       89 e5                   mov    %esp,%ebp
2154 400029da:       83 ec 08                sub    $0x8,%esp
2155 400029dd:       8b 45 0c                mov    0xc(%ebp),%eax
2156 400029e0:       89 45 f8                mov    %eax,-0x8(%ebp)
2157 400029e3:       8b 45 10                mov    0x10(%ebp),%eax
2158 400029e6:       89 45 fc                mov    %eax,-0x4(%ebp)
2159 400029e9:       8b 45 08                mov    0x8(%ebp),%eax
2160 400029ec:       0f b7 40 5c             movzwl 0x5c(%eax),%eax
2161 400029f0:       8d 50 01                lea    0x1(%eax),%edx
2162 400029f3:       8b 45 08                mov    0x8(%ebp),%eax
2163 400029f6:       66 89 50 5c             mov    %dx,0x5c(%eax)
2164 400029fa:       8b 45 08                mov    0x8(%ebp),%eax
2165 400029fd:       0f b7 40 5c             movzwl 0x5c(%eax),%eax
2166 40002a01:       89 c2                   mov    %eax,%edx
2167 40002a03:       83 e2 03                and    $0x3,%edx
2168 40002a06:       8b 45 08                mov    0x8(%ebp),%eax
2169 40002a09:       66 89 50 5c             mov    %dx,0x5c(%eax)
2170 40002a0d:       8b 45 08                mov    0x8(%ebp),%eax
2171 40002a10:       0f b7 40 5c             movzwl 0x5c(%eax),%eax
2172 40002a14:       0f b7 d0                movzwl %ax,%edx
2173 40002a17:       8b 4d 08                mov    0x8(%ebp),%ecx
2174 40002a1a:       89 d0                   mov    %edx,%eax
2175 40002a1c:       01 c0                   add    %eax,%eax
2176 40002a1e:       01 d0                   add    %edx,%eax
2177 40002a20:       c1 e0 02                shl    $0x2,%eax
2178 40002a23:       8d 04 01                lea    (%ecx,%eax,1),%eax
2179 40002a26:       8d 48 20                lea    0x20(%eax),%ecx
2180 40002a29:       8b 45 f8                mov    -0x8(%ebp),%eax
2181 40002a2c:       8b 55 fc                mov    -0x4(%ebp),%edx
2182 40002a2f:       89 41 10                mov    %eax,0x10(%ecx)
2183 40002a32:       89 51 14                mov    %edx,0x14(%ecx)
2184 40002a35:       8b 45 08                mov    0x8(%ebp),%eax
2185 40002a38:       0f b7 40 5c             movzwl 0x5c(%eax),%eax
2186 40002a3c:       0f b7 d0                movzwl %ax,%edx
2187 40002a3f:       8b 4d 08                mov    0x8(%ebp),%ecx
2188 40002a42:       89 d0                   mov    %edx,%eax
2189 40002a44:       01 c0                   add    %eax,%eax
2190 40002a46:       01 d0                   add    %edx,%eax
2191 40002a48:       c1 e0 02                shl    $0x2,%eax
2192 40002a4b:       8d 04 01                lea    (%ecx,%eax,1),%eax
2193 40002a4e:       8d 50 2c                lea    0x2c(%eax),%edx
2194 40002a51:       8b 45 14                mov    0x14(%ebp),%eax
2195 40002a54:       89 02                   mov    %eax,(%edx)
2196 40002a56:       c9                      leave  
2197 40002a57:       c3                      ret    
2199 40002a58 <block_find>:
2200 40002a58:       55                      push   %ebp
2201 40002a59:       89 e5                   mov    %esp,%ebp
2202 40002a5b:       83 ec 38                sub    $0x38,%esp
2203 40002a5e:       8b 45 0c                mov    0xc(%ebp),%eax
2204 40002a61:       89 45 e8                mov    %eax,-0x18(%ebp)
2205 40002a64:       8b 45 10                mov    0x10(%ebp),%eax
2206 40002a67:       89 45 ec                mov    %eax,-0x14(%ebp)
2207 40002a6a:       8b 45 e8                mov    -0x18(%ebp),%eax
2208 40002a6d:       8b 55 ec                mov    -0x14(%ebp),%edx
2209 40002a70:       89 44 24 04             mov    %eax,0x4(%esp)
2210 40002a74:       89 54 24 08             mov    %edx,0x8(%esp)
2211 40002a78:       8b 45 08                mov    0x8(%ebp),%eax
2212 40002a7b:       89 04 24                mov    %eax,(%esp)
2213 40002a7e:       e8 ca 00 00 00          call   40002b4d <get_hint>
2214 40002a83:       89 45 fc                mov    %eax,-0x4(%ebp)
2215 40002a86:       8b 45 fc                mov    -0x4(%ebp),%eax
2216 40002a89:       83 f8 ff                cmp    $0xffffffff,%eax
2217 40002a8c:       74 4f                   je     40002add <block_find+0x85>
2218 40002a8e:       8b 45 08                mov    0x8(%ebp),%eax
2219 40002a91:       8b 48 0c                mov    0xc(%eax),%ecx
2220 40002a94:       8b 45 fc                mov    -0x4(%ebp),%eax
2221 40002a97:       8d 14 85 00 00 00 00    lea    0x0(,%eax,4),%edx
2222 40002a9e:       8d 04 d5 00 00 00 00    lea    0x0(,%edx,8),%eax
2223 40002aa5:       29 d0                   sub    %edx,%eax
2224 40002aa7:       8d 04 01                lea    (%ecx,%eax,1),%eax
2225 40002aaa:       8b 50 04                mov    0x4(%eax),%edx
2226 40002aad:       8b 00                   mov    (%eax),%eax
2227 40002aaf:       89 d1                   mov    %edx,%ecx
2228 40002ab1:       33 4d ec                xor    -0x14(%ebp),%ecx
2229 40002ab4:       33 45 e8                xor    -0x18(%ebp),%eax
2230 40002ab7:       09 c8                   or     %ecx,%eax
2231 40002ab9:       85 c0                   test   %eax,%eax
2232 40002abb:       75 20                   jne    40002add <block_find+0x85>
2233 40002abd:       8b 45 08                mov    0x8(%ebp),%eax
2234 40002ac0:       8b 48 0c                mov    0xc(%eax),%ecx
2235 40002ac3:       8b 45 fc                mov    -0x4(%ebp),%eax
2236 40002ac6:       8d 14 85 00 00 00 00    lea    0x0(,%eax,4),%edx
2237 40002acd:       8d 04 d5 00 00 00 00    lea    0x0(,%edx,8),%eax
2238 40002ad4:       29 d0                   sub    %edx,%eax
2239 40002ad6:       01 c1                   add    %eax,%ecx
2240 40002ad8:       89 4d e4                mov    %ecx,-0x1c(%ebp)
2241 40002adb:       eb 6b                   jmp    40002b48 <block_find+0xf0>
2242 40002add:       8d 45 fc                lea    -0x4(%ebp),%eax
2243 40002ae0:       89 44 24 0c             mov    %eax,0xc(%esp)
2244 40002ae4:       8b 45 e8                mov    -0x18(%ebp),%eax
2245 40002ae7:       8b 55 ec                mov    -0x14(%ebp),%edx
2246 40002aea:       89 44 24 04             mov    %eax,0x4(%esp)
2247 40002aee:       89 54 24 08             mov    %edx,0x8(%esp)
2248 40002af2:       8b 45 08                mov    0x8(%ebp),%eax
2249 40002af5:       89 04 24                mov    %eax,(%esp)
2250 40002af8:       e8 0d fd ff ff          call   4000280a <search_position>
2251 40002afd:       85 c0                   test   %eax,%eax
2252 40002aff:       75 09                   jne    40002b0a <block_find+0xb2>
2253 40002b01:       c7 45 e4 00 00 00 00    movl   $0x0,-0x1c(%ebp)
2254 40002b08:       eb 3e                   jmp    40002b48 <block_find+0xf0>
2255 40002b0a:       8b 45 fc                mov    -0x4(%ebp),%eax
2256 40002b0d:       89 44 24 0c             mov    %eax,0xc(%esp)
2257 40002b11:       8b 45 e8                mov    -0x18(%ebp),%eax
2258 40002b14:       8b 55 ec                mov    -0x14(%ebp),%edx
2259 40002b17:       89 44 24 04             mov    %eax,0x4(%esp)
2260 40002b1b:       89 54 24 08             mov    %edx,0x8(%esp)
2261 40002b1f:       8b 45 08                mov    0x8(%ebp),%eax
2262 40002b22:       89 04 24                mov    %eax,(%esp)
2263 40002b25:       e8 ad fe ff ff          call   400029d7 <put_hint>
2264 40002b2a:       8b 45 08                mov    0x8(%ebp),%eax
2265 40002b2d:       8b 48 0c                mov    0xc(%eax),%ecx
2266 40002b30:       8b 45 fc                mov    -0x4(%ebp),%eax
2267 40002b33:       8d 14 85 00 00 00 00    lea    0x0(,%eax,4),%edx
2268 40002b3a:       8d 04 d5 00 00 00 00    lea    0x0(,%edx,8),%eax
2269 40002b41:       29 d0                   sub    %edx,%eax
2270 40002b43:       01 c1                   add    %eax,%ecx
2271 40002b45:       89 4d e4                mov    %ecx,-0x1c(%ebp)
2272 40002b48:       8b 45 e4                mov    -0x1c(%ebp),%eax
2273 40002b4b:       c9                      leave  
2274 40002b4c:       c3                      ret    
2276 40002b4d <get_hint>:
2277 40002b4d:       55                      push   %ebp
2278 40002b4e:       89 e5                   mov    %esp,%ebp
2279 40002b50:       83 ec 20                sub    $0x20,%esp
2280 40002b53:       8b 45 0c                mov    0xc(%ebp),%eax
2281 40002b56:       89 45 e8                mov    %eax,-0x18(%ebp)
2282 40002b59:       8b 45 10                mov    0x10(%ebp),%eax
2283 40002b5c:       89 45 ec                mov    %eax,-0x14(%ebp)
2284 40002b5f:       8b 45 ec                mov    -0x14(%ebp),%eax
2285 40002b62:       89 c2                   mov    %eax,%edx
2286 40002b64:       83 f2 ff                xor    $0xffffffff,%edx
2287 40002b67:       8b 45 e8                mov    -0x18(%ebp),%eax
2288 40002b6a:       83 f0 ff                xor    $0xffffffff,%eax
2289 40002b6d:       09 d0                   or     %edx,%eax
2290 40002b6f:       85 c0                   test   %eax,%eax
2291 40002b71:       75 09                   jne    40002b7c <get_hint+0x2f>
2292 40002b73:       c7 45 e4 ff ff ff ff    movl   $0xffffffff,-0x1c(%ebp)
2293 40002b7a:       eb 61                   jmp    40002bdd <get_hint+0x90>
2294 40002b7c:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
2295 40002b83:       eb 49                   jmp    40002bce <get_hint+0x81>
2296 40002b85:       8b 55 fc                mov    -0x4(%ebp),%edx
2297 40002b88:       8b 4d 08                mov    0x8(%ebp),%ecx
2298 40002b8b:       89 d0                   mov    %edx,%eax
2299 40002b8d:       01 c0                   add    %eax,%eax
2300 40002b8f:       01 d0                   add    %edx,%eax
2301 40002b91:       c1 e0 02                shl    $0x2,%eax
2302 40002b94:       8d 04 01                lea    (%ecx,%eax,1),%eax
2303 40002b97:       83 c0 20                add    $0x20,%eax
2304 40002b9a:       8b 50 14                mov    0x14(%eax),%edx
2305 40002b9d:       8b 40 10                mov    0x10(%eax),%eax
2306 40002ba0:       89 d1                   mov    %edx,%ecx
2307 40002ba2:       33 4d ec                xor    -0x14(%ebp),%ecx
2308 40002ba5:       33 45 e8                xor    -0x18(%ebp),%eax
2309 40002ba8:       09 c8                   or     %ecx,%eax
2310 40002baa:       85 c0                   test   %eax,%eax
2311 40002bac:       75 1c                   jne    40002bca <get_hint+0x7d>
2312 40002bae:       8b 55 fc                mov    -0x4(%ebp),%edx
2313 40002bb1:       8b 4d 08                mov    0x8(%ebp),%ecx
2314 40002bb4:       89 d0                   mov    %edx,%eax
2315 40002bb6:       01 c0                   add    %eax,%eax
2316 40002bb8:       01 d0                   add    %edx,%eax
2317 40002bba:       c1 e0 02                shl    $0x2,%eax
2318 40002bbd:       8d 04 01                lea    (%ecx,%eax,1),%eax
2319 40002bc0:       83 c0 2c                add    $0x2c,%eax
2320 40002bc3:       8b 00                   mov    (%eax),%eax
2321 40002bc5:       89 45 e4                mov    %eax,-0x1c(%ebp)
2322 40002bc8:       eb 13                   jmp    40002bdd <get_hint+0x90>
2323 40002bca:       83 45 fc 01             addl   $0x1,-0x4(%ebp)
2324 40002bce:       8b 45 fc                mov    -0x4(%ebp),%eax
2325 40002bd1:       83 f8 03                cmp    $0x3,%eax
2326 40002bd4:       76 af                   jbe    40002b85 <get_hint+0x38>
2327 40002bd6:       c7 45 e4 ff ff ff ff    movl   $0xffffffff,-0x1c(%ebp)
2328 40002bdd:       8b 45 e4                mov    -0x1c(%ebp),%eax
2329 40002be0:       c9                      leave  
2330 40002be1:       c3                      ret    
2332 40002be2 <find_replaceable>:
2333 40002be2:       55                      push   %ebp
2334 40002be3:       89 e5                   mov    %esp,%ebp
2335 40002be5:       83 ec 38                sub    $0x38,%esp
2336 40002be8:       8b 45 0c                mov    0xc(%ebp),%eax
2337 40002beb:       89 45 e8                mov    %eax,-0x18(%ebp)
2338 40002bee:       8b 45 10                mov    0x10(%ebp),%eax
2339 40002bf1:       89 45 ec                mov    %eax,-0x14(%ebp)
2340 40002bf4:       c7 45 f4 00 00 00 00    movl   $0x0,-0xc(%ebp)
2341 40002bfb:       8b 45 08                mov    0x8(%ebp),%eax
2342 40002bfe:       8b 40 04                mov    0x4(%eax),%eax
2343 40002c01:       89 45 fc                mov    %eax,-0x4(%ebp)
2344 40002c04:       8b 45 08                mov    0x8(%ebp),%eax
2345 40002c07:       8b 48 0c                mov    0xc(%eax),%ecx
2346 40002c0a:       8b 45 08                mov    0x8(%ebp),%eax
2347 40002c0d:       8b 40 04                mov    0x4(%eax),%eax
2348 40002c10:       8d 14 85 00 00 00 00    lea    0x0(,%eax,4),%edx
2349 40002c17:       8d 04 d5 00 00 00 00    lea    0x0(,%edx,8),%eax
2350 40002c1e:       29 d0                   sub    %edx,%eax
2351 40002c20:       83 e8 1c                sub    $0x1c,%eax
2352 40002c23:       8d 04 01                lea    (%ecx,%eax,1),%eax
2353 40002c26:       8b 50 04                mov    0x4(%eax),%edx
2354 40002c29:       8b 00                   mov    (%eax),%eax
2355 40002c2b:       89 d1                   mov    %edx,%ecx
2356 40002c2d:       83 f1 ff                xor    $0xffffffff,%ecx
2357 40002c30:       83 f0 ff                xor    $0xffffffff,%eax
2358 40002c33:       09 c8                   or     %ecx,%eax
2359 40002c35:       85 c0                   test   %eax,%eax
2360 40002c37:       75 11                   jne    40002c4a <find_replaceable+0x68>
2361 40002c39:       8b 45 08                mov    0x8(%ebp),%eax
2362 40002c3c:       8b 40 04                mov    0x4(%eax),%eax
2363 40002c3f:       83 e8 01                sub    $0x1,%eax
2364 40002c42:       89 45 d4                mov    %eax,-0x2c(%ebp)
2365 40002c45:       e9 42 01 00 00          jmp    40002d8c <find_replaceable+0x1aa>
2366 40002c4a:       c7 45 f8 00 00 00 00    movl   $0x0,-0x8(%ebp)
2367 40002c51:       e9 c6 00 00 00          jmp    40002d1c <find_replaceable+0x13a>
2368 40002c56:       8b 45 08                mov    0x8(%ebp),%eax
2369 40002c59:       8b 48 0c                mov    0xc(%eax),%ecx
2370 40002c5c:       8b 45 f8                mov    -0x8(%ebp),%eax
2371 40002c5f:       8d 14 85 00 00 00 00    lea    0x0(,%eax,4),%edx
2372 40002c66:       8d 04 d5 00 00 00 00    lea    0x0(,%edx,8),%eax
2373 40002c6d:       29 d0                   sub    %edx,%eax
2374 40002c6f:       8d 04 01                lea    (%ecx,%eax,1),%eax
2375 40002c72:       89 45 f4                mov    %eax,-0xc(%ebp)
2376 40002c75:       8b 45 f4                mov    -0xc(%ebp),%eax
2377 40002c78:       8b 50 04                mov    0x4(%eax),%edx
2378 40002c7b:       8b 00                   mov    (%eax),%eax
2379 40002c7d:       89 d1                   mov    %edx,%ecx
2380 40002c7f:       83 f1 ff                xor    $0xffffffff,%ecx
2381 40002c82:       83 f0 ff                xor    $0xffffffff,%eax
2382 40002c85:       09 c8                   or     %ecx,%eax
2383 40002c87:       85 c0                   test   %eax,%eax
2384 40002c89:       75 21                   jne    40002cac <find_replaceable+0xca>
2385 40002c8b:       c7 04 24 58 29 01 40    movl   $0x40012958,(%esp)
2386 40002c92:       e8 e0 ac 00 00          call   4000d977 <puts>
2387 40002c97:       8b 45 f8                mov    -0x8(%ebp),%eax
2388 40002c9a:       89 44 24 04             mov    %eax,0x4(%esp)
2389 40002c9e:       c7 04 24 a5 29 01 40    movl   $0x400129a5,(%esp)
2390 40002ca5:       e8 3e a5 00 00          call   4000d1e8 <printf>
2391 40002caa:       eb 6c                   jmp    40002d18 <find_replaceable+0x136>
2392 40002cac:       8b 45 f4                mov    -0xc(%ebp),%eax
2393 40002caf:       0f b7 40 10             movzwl 0x10(%eax),%eax
2394 40002cb3:       66 85 c0                test   %ax,%ax
2395 40002cb6:       75 60                   jne    40002d18 <find_replaceable+0x136>
2396 40002cb8:       8b 45 08                mov    0x8(%ebp),%eax
2397 40002cbb:       8b 40 04                mov    0x4(%eax),%eax
2398 40002cbe:       3b 45 fc                cmp    -0x4(%ebp),%eax
2399 40002cc1:       74 4f                   je     40002d12 <find_replaceable+0x130>
2400 40002cc3:       8b 45 f4                mov    -0xc(%ebp),%eax
2401 40002cc6:       8b 50 14                mov    0x14(%eax),%edx
2402 40002cc9:       8b 48 18                mov    0x18(%eax),%ecx
2403 40002ccc:       89 55 d8                mov    %edx,-0x28(%ebp)
2404 40002ccf:       89 4d dc                mov    %ecx,-0x24(%ebp)
2405 40002cd2:       8b 45 08                mov    0x8(%ebp),%eax
2406 40002cd5:       8b 48 0c                mov    0xc(%eax),%ecx
2407 40002cd8:       8b 45 fc                mov    -0x4(%ebp),%eax
2408 40002cdb:       8d 14 85 00 00 00 00    lea    0x0(,%eax,4),%edx
2409 40002ce2:       8d 04 d5 00 00 00 00    lea    0x0(,%edx,8),%eax
2410 40002ce9:       29 d0                   sub    %edx,%eax
2411 40002ceb:       8d 04 01                lea    (%ecx,%eax,1),%eax
2412 40002cee:       8b 50 14                mov    0x14(%eax),%edx
2413 40002cf1:       8b 48 18                mov    0x18(%eax),%ecx
2414 40002cf4:       89 55 e0                mov    %edx,-0x20(%ebp)
2415 40002cf7:       89 4d e4                mov    %ecx,-0x1c(%ebp)
2416 40002cfa:       8b 4d e4                mov    -0x1c(%ebp),%ecx
2417 40002cfd:       39 4d dc                cmp    %ecx,-0x24(%ebp)
2418 40002d00:       77 16                   ja     40002d18 <find_replaceable+0x136>
2419 40002d02:       8b 45 e4                mov    -0x1c(%ebp),%eax
2420 40002d05:       39 45 dc                cmp    %eax,-0x24(%ebp)
2421 40002d08:       72 08                   jb     40002d12 <find_replaceable+0x130>
2422 40002d0a:       8b 55 e0                mov    -0x20(%ebp),%edx
2423 40002d0d:       39 55 d8                cmp    %edx,-0x28(%ebp)
2424 40002d10:       73 06                   jae    40002d18 <find_replaceable+0x136>
2425 40002d12:       8b 45 f8                mov    -0x8(%ebp),%eax
2426 40002d15:       89 45 fc                mov    %eax,-0x4(%ebp)
2427 40002d18:       83 45 f8 01             addl   $0x1,-0x8(%ebp)
2428 40002d1c:       8b 45 08                mov    0x8(%ebp),%eax
2429 40002d1f:       8b 40 08                mov    0x8(%eax),%eax
2430 40002d22:       3b 45 f8                cmp    -0x8(%ebp),%eax
2431 40002d25:       0f 87 2b ff ff ff       ja     40002c56 <find_replaceable+0x74>
2432 40002d2b:       8b 45 08                mov    0x8(%ebp),%eax
2433 40002d2e:       8b 40 04                mov    0x4(%eax),%eax
2434 40002d31:       3b 45 fc                cmp    -0x4(%ebp),%eax
2435 40002d34:       74 50                   je     40002d86 <find_replaceable+0x1a4>
2436 40002d36:       8b 45 08                mov    0x8(%ebp),%eax
2437 40002d39:       8b 48 0c                mov    0xc(%eax),%ecx
2438 40002d3c:       8b 45 fc                mov    -0x4(%ebp),%eax
2439 40002d3f:       8d 14 85 00 00 00 00    lea    0x0(,%eax,4),%edx
2440 40002d46:       8d 04 d5 00 00 00 00    lea    0x0(,%edx,8),%eax
2441 40002d4d:       29 d0                   sub    %edx,%eax
2442 40002d4f:       8d 04 01                lea    (%ecx,%eax,1),%eax
2443 40002d52:       0f b7 40 12             movzwl 0x12(%eax),%eax
2444 40002d56:       66 85 c0                test   %ax,%ax
2445 40002d59:       74 2b                   je     40002d86 <find_replaceable+0x1a4>
2446 40002d5b:       8b 45 08                mov    0x8(%ebp),%eax
2447 40002d5e:       8b 48 0c                mov    0xc(%eax),%ecx
2448 40002d61:       8b 45 fc                mov    -0x4(%ebp),%eax
2449 40002d64:       8d 14 85 00 00 00 00    lea    0x0(,%eax,4),%edx
2450 40002d6b:       8d 04 d5 00 00 00 00    lea    0x0(,%edx,8),%eax
2451 40002d72:       29 d0                   sub    %edx,%eax
2452 40002d74:       8d 04 01                lea    (%ecx,%eax,1),%eax
2453 40002d77:       89 44 24 04             mov    %eax,0x4(%esp)
2454 40002d7b:       8b 45 08                mov    0x8(%ebp),%eax
2455 40002d7e:       89 04 24                mov    %eax,(%esp)
2456 40002d81:       e8 7d f8 ff ff          call   40002603 <cache_sync_block>
2457 40002d86:       8b 4d fc                mov    -0x4(%ebp),%ecx
2458 40002d89:       89 4d d4                mov    %ecx,-0x2c(%ebp)
2459 40002d8c:       8b 45 d4                mov    -0x2c(%ebp),%eax
2460 40002d8f:       c9                      leave  
2461 40002d90:       c3                      ret    
2463 40002d91 <block_allocate>:
2464 40002d91:       55                      push   %ebp
2465 40002d92:       89 e5                   mov    %esp,%ebp
2466 40002d94:       56                      push   %esi
2467 40002d95:       53                      push   %ebx
2468 40002d96:       83 ec 50                sub    $0x50,%esp
2469 40002d99:       8b 45 0c                mov    0xc(%ebp),%eax
2470 40002d9c:       89 45 d0                mov    %eax,-0x30(%ebp)
2471 40002d9f:       8b 45 10                mov    0x10(%ebp),%eax
2472 40002da2:       89 45 d4                mov    %eax,-0x2c(%ebp)
2473 40002da5:       8d 45 e4                lea    -0x1c(%ebp),%eax
2474 40002da8:       89 44 24 0c             mov    %eax,0xc(%esp)
2475 40002dac:       8b 45 d0                mov    -0x30(%ebp),%eax
2476 40002daf:       8b 55 d4                mov    -0x2c(%ebp),%edx
2477 40002db2:       89 44 24 04             mov    %eax,0x4(%esp)
2478 40002db6:       89 54 24 08             mov    %edx,0x8(%esp)
2479 40002dba:       8b 45 08                mov    0x8(%ebp),%eax
2480 40002dbd:       89 04 24                mov    %eax,(%esp)
2481 40002dc0:       e8 45 fa ff ff          call   4000280a <search_position>
2482 40002dc5:       85 c0                   test   %eax,%eax
2483 40002dc7:       74 20                   je     40002de9 <block_allocate+0x58>
2484 40002dc9:       c7 04 24 ac 29 01 40    movl   $0x400129ac,(%esp)
2485 40002dd0:       e8 a2 ab 00 00          call   4000d977 <puts>
2486 40002dd5:       8b 55 e4                mov    -0x1c(%ebp),%edx
2487 40002dd8:       8b 45 14                mov    0x14(%ebp),%eax
2488 40002ddb:       89 10                   mov    %edx,(%eax)
2489 40002ddd:       c7 45 bc 01 00 00 00    movl   $0x1,-0x44(%ebp)
2490 40002de4:       e9 d0 02 00 00          jmp    400030b9 <block_allocate+0x328>
2491 40002de9:       8b 45 d0                mov    -0x30(%ebp),%eax
2492 40002dec:       8b 55 d4                mov    -0x2c(%ebp),%edx
2493 40002def:       89 44 24 04             mov    %eax,0x4(%esp)
2494 40002df3:       89 54 24 08             mov    %edx,0x8(%esp)
2495 40002df7:       8b 45 08                mov    0x8(%ebp),%eax
2496 40002dfa:       89 04 24                mov    %eax,(%esp)
2497 40002dfd:       e8 e0 fd ff ff          call   40002be2 <find_replaceable>
2498 40002e02:       89 45 f4                mov    %eax,-0xc(%ebp)
2499 40002e05:       8b 45 08                mov    0x8(%ebp),%eax
2500 40002e08:       8b 40 04                mov    0x4(%eax),%eax
2501 40002e0b:       3b 45 f4                cmp    -0xc(%ebp),%eax
2502 40002e0e:       75 0c                   jne    40002e1c <block_allocate+0x8b>
2503 40002e10:       c7 45 bc 00 00 00 00    movl   $0x0,-0x44(%ebp)
2504 40002e17:       e9 9d 02 00 00          jmp    400030b9 <block_allocate+0x328>
2505 40002e1c:       8b 45 08                mov    0x8(%ebp),%eax
2506 40002e1f:       8b 48 0c                mov    0xc(%eax),%ecx
2507 40002e22:       8b 45 f4                mov    -0xc(%ebp),%eax
2508 40002e25:       8d 14 85 00 00 00 00    lea    0x0(,%eax,4),%edx
2509 40002e2c:       8d 04 d5 00 00 00 00    lea    0x0(,%edx,8),%eax
2510 40002e33:       29 d0                   sub    %edx,%eax
2511 40002e35:       8d 04 01                lea    (%ecx,%eax,1),%eax
2512 40002e38:       8b 50 04                mov    0x4(%eax),%edx
2513 40002e3b:       8b 00                   mov    (%eax),%eax
2514 40002e3d:       89 d1                   mov    %edx,%ecx
2515 40002e3f:       83 f1 ff                xor    $0xffffffff,%ecx
2516 40002e42:       83 f0 ff                xor    $0xffffffff,%eax
2517 40002e45:       09 c8                   or     %ecx,%eax
2518 40002e47:       85 c0                   test   %eax,%eax
2519 40002e49:       75 0f                   jne    40002e5a <block_allocate+0xc9>
2520 40002e4b:       8b 45 08                mov    0x8(%ebp),%eax
2521 40002e4e:       8b 40 08                mov    0x8(%eax),%eax
2522 40002e51:       8d 50 01                lea    0x1(%eax),%edx
2523 40002e54:       8b 45 08                mov    0x8(%ebp),%eax
2524 40002e57:       89 50 08                mov    %edx,0x8(%eax)
2525 40002e5a:       8b 45 08                mov    0x8(%ebp),%eax
2526 40002e5d:       8b 48 0c                mov    0xc(%eax),%ecx
2527 40002e60:       8b 45 f4                mov    -0xc(%ebp),%eax
2528 40002e63:       8d 14 85 00 00 00 00    lea    0x0(,%eax,4),%edx
2529 40002e6a:       8d 04 d5 00 00 00 00    lea    0x0(,%edx,8),%eax
2530 40002e71:       29 d0                   sub    %edx,%eax
2531 40002e73:       8d 04 01                lea    (%ecx,%eax,1),%eax
2532 40002e76:       8b 40 08                mov    0x8(%eax),%eax
2533 40002e79:       89 45 ec                mov    %eax,-0x14(%ebp)
2534 40002e7c:       8b 45 08                mov    0x8(%ebp),%eax
2535 40002e7f:       8b 48 0c                mov    0xc(%eax),%ecx
2536 40002e82:       8b 45 f4                mov    -0xc(%ebp),%eax
2537 40002e85:       8d 14 85 00 00 00 00    lea    0x0(,%eax,4),%edx
2538 40002e8c:       8d 04 d5 00 00 00 00    lea    0x0(,%edx,8),%eax
2539 40002e93:       29 d0                   sub    %edx,%eax
2540 40002e95:       8d 04 01                lea    (%ecx,%eax,1),%eax
2541 40002e98:       8b 40 0c                mov    0xc(%eax),%eax
2542 40002e9b:       89 45 f0                mov    %eax,-0x10(%ebp)
2543 40002e9e:       8b 45 e4                mov    -0x1c(%ebp),%eax
2544 40002ea1:       39 45 f4                cmp    %eax,-0xc(%ebp)
2545 40002ea4:       0f 83 b6 00 00 00       jae    40002f60 <block_allocate+0x1cf>
2546 40002eaa:       8b 45 08                mov    0x8(%ebp),%eax
2547 40002ead:       8b 48 0c                mov    0xc(%eax),%ecx
2548 40002eb0:       8b 45 e4                mov    -0x1c(%ebp),%eax
2549 40002eb3:       8d 14 85 00 00 00 00    lea    0x0(,%eax,4),%edx
2550 40002eba:       8d 04 d5 00 00 00 00    lea    0x0(,%edx,8),%eax
2551 40002ec1:       29 d0                   sub    %edx,%eax
2552 40002ec3:       8d 04 01                lea    (%ecx,%eax,1),%eax
2553 40002ec6:       8b 10                   mov    (%eax),%edx
2554 40002ec8:       8b 48 04                mov    0x4(%eax),%ecx
2555 40002ecb:       89 55 c0                mov    %edx,-0x40(%ebp)
2556 40002ece:       89 4d c4                mov    %ecx,-0x3c(%ebp)
2557 40002ed1:       8b 4d c4                mov    -0x3c(%ebp),%ecx
2558 40002ed4:       3b 4d d4                cmp    -0x2c(%ebp),%ecx
2559 40002ed7:       72 20                   jb     40002ef9 <block_allocate+0x168>
2560 40002ed9:       8b 45 c4                mov    -0x3c(%ebp),%eax
2561 40002edc:       3b 45 d4                cmp    -0x2c(%ebp),%eax
2562 40002edf:       77 08                   ja     40002ee9 <block_allocate+0x158>
2563 40002ee1:       8b 55 c0                mov    -0x40(%ebp),%edx
2564 40002ee4:       3b 55 d0                cmp    -0x30(%ebp),%edx
2565 40002ee7:       76 10                   jbe    40002ef9 <block_allocate+0x168>
2566 40002ee9:       8b 45 e4                mov    -0x1c(%ebp),%eax
2567 40002eec:       85 c0                   test   %eax,%eax
2568 40002eee:       74 09                   je     40002ef9 <block_allocate+0x168>
2569 40002ef0:       8b 45 e4                mov    -0x1c(%ebp),%eax
2570 40002ef3:       83 e8 01                sub    $0x1,%eax
2571 40002ef6:       89 45 e4                mov    %eax,-0x1c(%ebp)
2572 40002ef9:       8b 45 e4                mov    -0x1c(%ebp),%eax
2573 40002efc:       2b 45 f4                sub    -0xc(%ebp),%eax
2574 40002eff:       8d 14 85 00 00 00 00    lea    0x0(,%eax,4),%edx
2575 40002f06:       8d 04 d5 00 00 00 00    lea    0x0(,%edx,8),%eax
2576 40002f0d:       89 c6                   mov    %eax,%esi
2577 40002f0f:       29 d6                   sub    %edx,%esi
2578 40002f11:       8b 45 08                mov    0x8(%ebp),%eax
2579 40002f14:       8b 48 0c                mov    0xc(%eax),%ecx
2580 40002f17:       8b 45 f4                mov    -0xc(%ebp),%eax
2581 40002f1a:       83 c0 01                add    $0x1,%eax
2582 40002f1d:       8d 14 85 00 00 00 00    lea    0x0(,%eax,4),%edx
2583 40002f24:       8d 04 d5 00 00 00 00    lea    0x0(,%edx,8),%eax
2584 40002f2b:       29 d0                   sub    %edx,%eax
2585 40002f2d:       01 c1                   add    %eax,%ecx
2586 40002f2f:       8b 45 08                mov    0x8(%ebp),%eax
2587 40002f32:       8b 58 0c                mov    0xc(%eax),%ebx
2588 40002f35:       8b 45 f4                mov    -0xc(%ebp),%eax
2589 40002f38:       8d 14 85 00 00 00 00    lea    0x0(,%eax,4),%edx
2590 40002f3f:       8d 04 d5 00 00 00 00    lea    0x0(,%edx,8),%eax
2591 40002f46:       29 d0                   sub    %edx,%eax
2592 40002f48:       8d 04 03                lea    (%ebx,%eax,1),%eax
2593 40002f4b:       89 74 24 08             mov    %esi,0x8(%esp)
2594 40002f4f:       89 4c 24 04             mov    %ecx,0x4(%esp)
2595 40002f53:       89 04 24                mov    %eax,(%esp)
2596 40002f56:       e8 5d c2 00 00          call   4000f1b8 <memmove>
2597 40002f5b:       e9 c9 00 00 00          jmp    40003029 <block_allocate+0x298>
2598 40002f60:       8b 45 e4                mov    -0x1c(%ebp),%eax
2599 40002f63:       39 45 f4                cmp    %eax,-0xc(%ebp)
2600 40002f66:       0f 86 bd 00 00 00       jbe    40003029 <block_allocate+0x298>
2601 40002f6c:       8b 45 08                mov    0x8(%ebp),%eax
2602 40002f6f:       8b 48 0c                mov    0xc(%eax),%ecx
2603 40002f72:       8b 45 e4                mov    -0x1c(%ebp),%eax
2604 40002f75:       8d 14 85 00 00 00 00    lea    0x0(,%eax,4),%edx
2605 40002f7c:       8d 04 d5 00 00 00 00    lea    0x0(,%edx,8),%eax
2606 40002f83:       29 d0                   sub    %edx,%eax
2607 40002f85:       8d 04 01                lea    (%ecx,%eax,1),%eax
2608 40002f88:       8b 10                   mov    (%eax),%edx
2609 40002f8a:       8b 48 04                mov    0x4(%eax),%ecx
2610 40002f8d:       89 55 c8                mov    %edx,-0x38(%ebp)
2611 40002f90:       89 4d cc                mov    %ecx,-0x34(%ebp)
2612 40002f93:       8b 4d cc                mov    -0x34(%ebp),%ecx
2613 40002f96:       3b 4d d4                cmp    -0x2c(%ebp),%ecx
2614 40002f99:       77 29                   ja     40002fc4 <block_allocate+0x233>
2615 40002f9b:       8b 45 cc                mov    -0x34(%ebp),%eax
2616 40002f9e:       3b 45 d4                cmp    -0x2c(%ebp),%eax
2617 40002fa1:       72 08                   jb     40002fab <block_allocate+0x21a>
2618 40002fa3:       8b 55 c8                mov    -0x38(%ebp),%edx
2619 40002fa6:       3b 55 d0                cmp    -0x30(%ebp),%edx
2620 40002fa9:       73 19                   jae    40002fc4 <block_allocate+0x233>
2621 40002fab:       8b 45 08                mov    0x8(%ebp),%eax
2622 40002fae:       8b 40 04                mov    0x4(%eax),%eax
2623 40002fb1:       8d 50 ff                lea    -0x1(%eax),%edx
2624 40002fb4:       8b 45 e4                mov    -0x1c(%ebp),%eax
2625 40002fb7:       39 c2                   cmp    %eax,%edx
2626 40002fb9:       76 09                   jbe    40002fc4 <block_allocate+0x233>
2627 40002fbb:       8b 45 e4                mov    -0x1c(%ebp),%eax
2628 40002fbe:       83 c0 01                add    $0x1,%eax
2629 40002fc1:       89 45 e4                mov    %eax,-0x1c(%ebp)
2630 40002fc4:       8b 55 e4                mov    -0x1c(%ebp),%edx
2631 40002fc7:       8b 45 f4                mov    -0xc(%ebp),%eax
2632 40002fca:       29 d0                   sub    %edx,%eax
2633 40002fcc:       8d 14 85 00 00 00 00    lea    0x0(,%eax,4),%edx
2634 40002fd3:       8d 04 d5 00 00 00 00    lea    0x0(,%edx,8),%eax
2635 40002fda:       89 c3                   mov    %eax,%ebx
2636 40002fdc:       29 d3                   sub    %edx,%ebx
2637 40002fde:       8b 45 08                mov    0x8(%ebp),%eax
2638 40002fe1:       8b 48 0c                mov    0xc(%eax),%ecx
2639 40002fe4:       8b 45 e4                mov    -0x1c(%ebp),%eax
2640 40002fe7:       8d 14 85 00 00 00 00    lea    0x0(,%eax,4),%edx
2641 40002fee:       8d 04 d5 00 00 00 00    lea    0x0(,%edx,8),%eax
2642 40002ff5:       29 d0                   sub    %edx,%eax
2643 40002ff7:       8d 34 01                lea    (%ecx,%eax,1),%esi
2644 40002ffa:       8b 45 08                mov    0x8(%ebp),%eax
2645 40002ffd:       8b 48 0c                mov    0xc(%eax),%ecx
2646 40003000:       8b 45 e4                mov    -0x1c(%ebp),%eax
2647 40003003:       83 c0 01                add    $0x1,%eax
2648 40003006:       8d 14 85 00 00 00 00    lea    0x0(,%eax,4),%edx
2649 4000300d:       8d 04 d5 00 00 00 00    lea    0x0(,%edx,8),%eax
2650 40003014:       29 d0                   sub    %edx,%eax
2651 40003016:       8d 04 01                lea    (%ecx,%eax,1),%eax
2652 40003019:       89 5c 24 08             mov    %ebx,0x8(%esp)
2653 4000301d:       89 74 24 04             mov    %esi,0x4(%esp)
2654 40003021:       89 04 24                mov    %eax,(%esp)
2655 40003024:       e8 8f c1 00 00          call   4000f1b8 <memmove>
2656 40003029:       8b 45 08                mov    0x8(%ebp),%eax
2657 4000302c:       8b 48 0c                mov    0xc(%eax),%ecx
2658 4000302f:       8b 45 e4                mov    -0x1c(%ebp),%eax
2659 40003032:       8d 14 85 00 00 00 00    lea    0x0(,%eax,4),%edx
2660 40003039:       8d 04 d5 00 00 00 00    lea    0x0(,%edx,8),%eax
2661 40003040:       29 d0                   sub    %edx,%eax
2662 40003042:       8d 04 01                lea    (%ecx,%eax,1),%eax
2663 40003045:       89 45 e8                mov    %eax,-0x18(%ebp)
2664 40003048:       8b 55 e8                mov    -0x18(%ebp),%edx
2665 4000304b:       8b 45 ec                mov    -0x14(%ebp),%eax
2666 4000304e:       89 42 08                mov    %eax,0x8(%edx)
2667 40003051:       8b 4d e8                mov    -0x18(%ebp),%ecx
2668 40003054:       8b 45 d0                mov    -0x30(%ebp),%eax
2669 40003057:       8b 55 d4                mov    -0x2c(%ebp),%edx
2670 4000305a:       89 01                   mov    %eax,(%ecx)
2671 4000305c:       89 51 04                mov    %edx,0x4(%ecx)
2672 4000305f:       8b 55 e8                mov    -0x18(%ebp),%edx
2673 40003062:       8b 45 f0                mov    -0x10(%ebp),%eax
2674 40003065:       89 42 0c                mov    %eax,0xc(%edx)
2675 40003068:       a1 68 42 01 40          mov    0x40014268,%eax
2676 4000306d:       8b 15 6c 42 01 40       mov    0x4001426c,%edx
2677 40003073:       83 c0 01                add    $0x1,%eax
2678 40003076:       83 d2 00                adc    $0x0,%edx
2679 40003079:       a3 68 42 01 40          mov    %eax,0x40014268
2680 4000307e:       89 15 6c 42 01 40       mov    %edx,0x4001426c
2681 40003084:       a1 68 42 01 40          mov    0x40014268,%eax
2682 40003089:       8b 15 6c 42 01 40       mov    0x4001426c,%edx
2683 4000308f:       8b 4d e8                mov    -0x18(%ebp),%ecx
2684 40003092:       89 41 14                mov    %eax,0x14(%ecx)
2685 40003095:       89 51 18                mov    %edx,0x18(%ecx)
2686 40003098:       8b 45 e8                mov    -0x18(%ebp),%eax
2687 4000309b:       66 c7 40 12 00 00       movw   $0x0,0x12(%eax)
2688 400030a1:       8b 45 e8                mov    -0x18(%ebp),%eax
2689 400030a4:       66 c7 40 10 00 00       movw   $0x0,0x10(%eax)
2690 400030aa:       8b 55 e4                mov    -0x1c(%ebp),%edx
2691 400030ad:       8b 45 14                mov    0x14(%ebp),%eax
2692 400030b0:       89 10                   mov    %edx,(%eax)
2693 400030b2:       c7 45 bc 01 00 00 00    movl   $0x1,-0x44(%ebp)
2694 400030b9:       8b 45 bc                mov    -0x44(%ebp),%eax
2695 400030bc:       83 c4 50                add    $0x50,%esp
2696 400030bf:       5b                      pop    %ebx
2697 400030c0:       5e                      pop    %esi
2698 400030c1:       5d                      pop    %ebp
2699 400030c2:       c3                      ret    
2701 400030c3 <block_load>:
2702 400030c3:       55                      push   %ebp
2703 400030c4:       89 e5                   mov    %esp,%ebp
2704 400030c6:       57                      push   %edi
2705 400030c7:       56                      push   %esi
2706 400030c8:       53                      push   %ebx
2707 400030c9:       83 ec 6c                sub    $0x6c,%esp
2708 400030cc:       8b 45 0c                mov    0xc(%ebp),%eax
2709 400030cf:       89 45 c8                mov    %eax,-0x38(%ebp)
2710 400030d2:       8b 45 10                mov    0x10(%ebp),%eax
2711 400030d5:       89 45 cc                mov    %eax,-0x34(%ebp)
2712 400030d8:       8b 45 08                mov    0x8(%ebp),%eax
2713 400030db:       8b 00                   mov    (%eax),%eax
2714 400030dd:       89 45 e4                mov    %eax,-0x1c(%ebp)
2715 400030e0:       8d 45 dc                lea    -0x24(%ebp),%eax
2716 400030e3:       89 44 24 0c             mov    %eax,0xc(%esp)
2717 400030e7:       8b 45 c8                mov    -0x38(%ebp),%eax
2718 400030ea:       8b 55 cc                mov    -0x34(%ebp),%edx
2719 400030ed:       89 44 24 04             mov    %eax,0x4(%esp)
2720 400030f1:       89 54 24 08             mov    %edx,0x8(%esp)
2721 400030f5:       8b 45 08                mov    0x8(%ebp),%eax
2722 400030f8:       89 04 24                mov    %eax,(%esp)
2723 400030fb:       e8 91 fc ff ff          call   40002d91 <block_allocate>
2724 40003100:       85 c0                   test   %eax,%eax
2725 40003102:       75 18                   jne    4000311c <block_load+0x59>
2726 40003104:       c7 04 24 f8 29 01 40    movl   $0x400129f8,(%esp)
2727 4000310b:       e8 67 a8 00 00          call   4000d977 <puts>
2728 40003110:       c7 45 b4 00 00 00 00    movl   $0x0,-0x4c(%ebp)
2729 40003117:       e9 80 01 00 00          jmp    4000329c <block_load+0x1d9>
2730 4000311c:       8b 45 08                mov    0x8(%ebp),%eax
2731 4000311f:       8b 48 0c                mov    0xc(%eax),%ecx
2732 40003122:       8b 45 dc                mov    -0x24(%ebp),%eax
2733 40003125:       8d 14 85 00 00 00 00    lea    0x0(,%eax,4),%edx
2734 4000312c:       8d 04 d5 00 00 00 00    lea    0x0(,%edx,8),%eax
2735 40003133:       29 d0                   sub    %edx,%eax
2736 40003135:       8d 04 01                lea    (%ecx,%eax,1),%eax
2737 40003138:       89 45 e0                mov    %eax,-0x20(%ebp)
2738 4000313b:       83 7d 14 00             cmpl   $0x0,0x14(%ebp)
2739 4000313f:       0f 84 51 01 00 00       je     40003296 <block_load+0x1d3>
2740 40003145:       8b 45 08                mov    0x8(%ebp),%eax
2741 40003148:       8b 50 24                mov    0x24(%eax),%edx
2742 4000314b:       8b 40 20                mov    0x20(%eax),%eax
2743 4000314e:       89 45 e8                mov    %eax,-0x18(%ebp)
2744 40003151:       89 55 ec                mov    %edx,-0x14(%ebp)
2745 40003154:       8b 45 ec                mov    -0x14(%ebp),%eax
2746 40003157:       89 c2                   mov    %eax,%edx
2747 40003159:       83 f2 ff                xor    $0xffffffff,%edx
2748 4000315c:       8b 45 e8                mov    -0x18(%ebp),%eax
2749 4000315f:       83 f0 ff                xor    $0xffffffff,%eax
2750 40003162:       09 d0                   or     %edx,%eax
2751 40003164:       85 c0                   test   %eax,%eax
2752 40003166:       74 5b                   je     400031c3 <block_load+0x100>
2753 40003168:       8b 45 e8                mov    -0x18(%ebp),%eax
2754 4000316b:       8b 55 ec                mov    -0x14(%ebp),%edx
2755 4000316e:       89 45 a8                mov    %eax,-0x58(%ebp)
2756 40003171:       89 55 ac                mov    %edx,-0x54(%ebp)
2757 40003174:       8b 55 ac                mov    -0x54(%ebp),%edx
2758 40003177:       3b 55 cc                cmp    -0x34(%ebp),%edx
2759 4000317a:       77 47                   ja     400031c3 <block_load+0x100>
2760 4000317c:       8b 4d ac                mov    -0x54(%ebp),%ecx
2761 4000317f:       3b 4d cc                cmp    -0x34(%ebp),%ecx
2762 40003182:       72 08                   jb     4000318c <block_load+0xc9>
2763 40003184:       8b 5d a8                mov    -0x58(%ebp),%ebx
2764 40003187:       3b 5d c8                cmp    -0x38(%ebp),%ebx
2765 4000318a:       77 37                   ja     400031c3 <block_load+0x100>
2766 4000318c:       8b 45 08                mov    0x8(%ebp),%eax
2767 4000318f:       8b 40 28                mov    0x28(%eax),%eax
2768 40003192:       ba 00 00 00 00          mov    $0x0,%edx
2769 40003197:       89 c6                   mov    %eax,%esi
2770 40003199:       89 d7                   mov    %edx,%edi
2771 4000319b:       03 75 e8                add    -0x18(%ebp),%esi
2772 4000319e:       13 7d ec                adc    -0x14(%ebp),%edi
2773 400031a1:       89 75 b8                mov    %esi,-0x48(%ebp)
2774 400031a4:       89 7d bc                mov    %edi,-0x44(%ebp)
2775 400031a7:       8b 7d bc                mov    -0x44(%ebp),%edi
2776 400031aa:       3b 7d cc                cmp    -0x34(%ebp),%edi
2777 400031ad:       0f 87 8a 00 00 00       ja     4000323d <block_load+0x17a>
2778 400031b3:       8b 45 bc                mov    -0x44(%ebp),%eax
2779 400031b6:       3b 45 cc                cmp    -0x34(%ebp),%eax
2780 400031b9:       72 08                   jb     400031c3 <block_load+0x100>
2781 400031bb:       8b 55 b8                mov    -0x48(%ebp),%edx
2782 400031be:       3b 55 c8                cmp    -0x38(%ebp),%edx
2783 400031c1:       77 7a                   ja     4000323d <block_load+0x17a>
2784 400031c3:       8b 45 c8                mov    -0x38(%ebp),%eax
2785 400031c6:       8b 55 cc                mov    -0x34(%ebp),%edx
2786 400031c9:       89 45 e8                mov    %eax,-0x18(%ebp)
2787 400031cc:       89 55 ec                mov    %edx,-0x14(%ebp)
2788 400031cf:       8b 4d 08                mov    0x8(%ebp),%ecx
2789 400031d2:       8b 45 e8                mov    -0x18(%ebp),%eax
2790 400031d5:       8b 55 ec                mov    -0x14(%ebp),%edx
2791 400031d8:       89 41 20                mov    %eax,0x20(%ecx)
2792 400031db:       89 51 24                mov    %edx,0x24(%ecx)
2793 400031de:       8b 45 08                mov    0x8(%ebp),%eax
2794 400031e1:       8b 58 10                mov    0x10(%eax),%ebx
2795 400031e4:       8b 45 08                mov    0x8(%ebp),%eax
2796 400031e7:       8b 50 18                mov    0x18(%eax),%edx
2797 400031ea:       8b 45 08                mov    0x8(%ebp),%eax
2798 400031ed:       8b 40 1c                mov    0x1c(%eax),%eax
2799 400031f0:       8b 4d 08                mov    0x8(%ebp),%ecx
2800 400031f3:       89 54 24 14             mov    %edx,0x14(%esp)
2801 400031f7:       89 44 24 10             mov    %eax,0x10(%esp)
2802 400031fb:       c7 44 24 0c 10 00 00    movl   $0x10,0xc(%esp)
2803 40003202:       00 
2804 40003203:       8b 45 c8                mov    -0x38(%ebp),%eax
2805 40003206:       8b 55 cc                mov    -0x34(%ebp),%edx
2806 40003209:       89 44 24 04             mov    %eax,0x4(%esp)
2807 4000320d:       89 54 24 08             mov    %edx,0x8(%esp)
2808 40003211:       89 0c 24                mov    %ecx,(%esp)
2809 40003214:       ff d3                   call   *%ebx
2810 40003216:       89 c2                   mov    %eax,%edx
2811 40003218:       8b 45 08                mov    0x8(%ebp),%eax
2812 4000321b:       89 50 28                mov    %edx,0x28(%eax)
2813 4000321e:       8b 45 08                mov    0x8(%ebp),%eax
2814 40003221:       8b 40 28                mov    0x28(%eax),%eax
2815 40003224:       85 c0                   test   %eax,%eax
2816 40003226:       75 15                   jne    4000323d <block_load+0x17a>
2817 40003228:       c7 04 24 2c 2a 01 40    movl   $0x40012a2c,(%esp)
2818 4000322f:       e8 43 a7 00 00          call   4000d977 <puts>
2819 40003234:       c7 45 b4 00 00 00 00    movl   $0x0,-0x4c(%ebp)
2820 4000323b:       eb 5f                   jmp    4000329c <block_load+0x1d9>
2821 4000323d:       8b 45 08                mov    0x8(%ebp),%eax
2822 40003240:       8b 40 1c                mov    0x1c(%eax),%eax
2823 40003243:       89 45 c4                mov    %eax,-0x3c(%ebp)
2824 40003246:       8b 4d e8                mov    -0x18(%ebp),%ecx
2825 40003249:       8b 5d ec                mov    -0x14(%ebp),%ebx
2826 4000324c:       8b 45 c8                mov    -0x38(%ebp),%eax
2827 4000324f:       8b 55 cc                mov    -0x34(%ebp),%edx
2828 40003252:       89 c6                   mov    %eax,%esi
2829 40003254:       89 d7                   mov    %edx,%edi
2830 40003256:       29 ce                   sub    %ecx,%esi
2831 40003258:       19 df                   sbb    %ebx,%edi
2832 4000325a:       89 f1                   mov    %esi,%ecx
2833 4000325c:       89 fb                   mov    %edi,%ebx
2834 4000325e:       8b 45 e4                mov    -0x1c(%ebp),%eax
2835 40003261:       ba 00 00 00 00          mov    $0x0,%edx
2836 40003266:       89 de                   mov    %ebx,%esi
2837 40003268:       0f af f0                imul   %eax,%esi
2838 4000326b:       89 d7                   mov    %edx,%edi
2839 4000326d:       0f af f9                imul   %ecx,%edi
2840 40003270:       01 fe                   add    %edi,%esi
2841 40003272:       f7 e1                   mul    %ecx
2842 40003274:       01 d6                   add    %edx,%esi
2843 40003276:       89 f2                   mov    %esi,%edx
2844 40003278:       8b 55 c4                mov    -0x3c(%ebp),%edx
2845 4000327b:       01 c2                   add    %eax,%edx
2846 4000327d:       8b 45 e0                mov    -0x20(%ebp),%eax
2847 40003280:       8b 48 08                mov    0x8(%eax),%ecx
2848 40003283:       8b 45 e4                mov    -0x1c(%ebp),%eax
2849 40003286:       89 44 24 08             mov    %eax,0x8(%esp)
2850 4000328a:       89 54 24 04             mov    %edx,0x4(%esp)
2851 4000328e:       89 0c 24                mov    %ecx,(%esp)
2852 40003291:       e8 6a be 00 00          call   4000f100 <memcpy>
2853 40003296:       8b 7d e0                mov    -0x20(%ebp),%edi
2854 40003299:       89 7d b4                mov    %edi,-0x4c(%ebp)
2855 4000329c:       8b 45 b4                mov    -0x4c(%ebp),%eax
2856 4000329f:       83 c4 6c                add    $0x6c,%esp
2857 400032a2:       5b                      pop    %ebx
2858 400032a3:       5e                      pop    %esi
2859 400032a4:       5f                      pop    %edi
2860 400032a5:       5d                      pop    %ebp
2861 400032a6:       c3                      ret    
2863 400032a7 <get_block>:
2864 400032a7:       55                      push   %ebp
2865 400032a8:       89 e5                   mov    %esp,%ebp
2866 400032aa:       83 ec 28                sub    $0x28,%esp
2867 400032ad:       8b 45 0c                mov    0xc(%ebp),%eax
2868 400032b0:       89 45 e8                mov    %eax,-0x18(%ebp)
2869 400032b3:       8b 45 10                mov    0x10(%ebp),%eax
2870 400032b6:       89 45 ec                mov    %eax,-0x14(%ebp)
2871 400032b9:       8b 45 e8                mov    -0x18(%ebp),%eax
2872 400032bc:       8b 55 ec                mov    -0x14(%ebp),%edx
2873 400032bf:       89 44 24 04             mov    %eax,0x4(%esp)
2874 400032c3:       89 54 24 08             mov    %edx,0x8(%esp)
2875 400032c7:       8b 45 08                mov    0x8(%ebp),%eax
2876 400032ca:       89 04 24                mov    %eax,(%esp)
2877 400032cd:       e8 86 f7 ff ff          call   40002a58 <block_find>
2878 400032d2:       89 45 fc                mov    %eax,-0x4(%ebp)
2879 400032d5:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
2880 400032d9:       75 23                   jne    400032fe <get_block+0x57>
2881 400032db:       8b 45 14                mov    0x14(%ebp),%eax
2882 400032de:       89 44 24 0c             mov    %eax,0xc(%esp)
2883 400032e2:       8b 45 e8                mov    -0x18(%ebp),%eax
2884 400032e5:       8b 55 ec                mov    -0x14(%ebp),%edx
2885 400032e8:       89 44 24 04             mov    %eax,0x4(%esp)
2886 400032ec:       89 54 24 08             mov    %edx,0x8(%esp)
2887 400032f0:       8b 45 08                mov    0x8(%ebp),%eax
2888 400032f3:       89 04 24                mov    %eax,(%esp)
2889 400032f6:       e8 c8 fd ff ff          call   400030c3 <block_load>
2890 400032fb:       89 45 fc                mov    %eax,-0x4(%ebp)
2891 400032fe:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
2892 40003302:       74 30                   je     40003334 <get_block+0x8d>
2893 40003304:       a1 68 42 01 40          mov    0x40014268,%eax
2894 40003309:       8b 15 6c 42 01 40       mov    0x4001426c,%edx
2895 4000330f:       83 c0 01                add    $0x1,%eax
2896 40003312:       83 d2 00                adc    $0x0,%edx
2897 40003315:       a3 68 42 01 40          mov    %eax,0x40014268
2898 4000331a:       89 15 6c 42 01 40       mov    %edx,0x4001426c
2899 40003320:       a1 68 42 01 40          mov    0x40014268,%eax
2900 40003325:       8b 15 6c 42 01 40       mov    0x4001426c,%edx
2901 4000332b:       8b 4d fc                mov    -0x4(%ebp),%ecx
2902 4000332e:       89 41 14                mov    %eax,0x14(%ecx)
2903 40003331:       89 51 18                mov    %edx,0x18(%ecx)
2904 40003334:       8b 45 fc                mov    -0x4(%ebp),%eax
2905 40003337:       c9                      leave  
2906 40003338:       c3                      ret    
2908 40003339 <cdi_cache_block_get>:
2909 40003339:       55                      push   %ebp
2910 4000333a:       89 e5                   mov    %esp,%ebp
2911 4000333c:       83 ec 38                sub    $0x38,%esp
2912 4000333f:       8b 45 0c                mov    0xc(%ebp),%eax
2913 40003342:       89 45 e8                mov    %eax,-0x18(%ebp)
2914 40003345:       8b 45 10                mov    0x10(%ebp),%eax
2915 40003348:       89 45 ec                mov    %eax,-0x14(%ebp)
2916 4000334b:       8b 4d 08                mov    0x8(%ebp),%ecx
2917 4000334e:       c7 44 24 0c 01 00 00    movl   $0x1,0xc(%esp)
2918 40003355:       00 
2919 40003356:       8b 45 e8                mov    -0x18(%ebp),%eax
2920 40003359:       8b 55 ec                mov    -0x14(%ebp),%edx
2921 4000335c:       89 44 24 04             mov    %eax,0x4(%esp)
2922 40003360:       89 54 24 08             mov    %edx,0x8(%esp)
2923 40003364:       89 0c 24                mov    %ecx,(%esp)
2924 40003367:       e8 3b ff ff ff          call   400032a7 <get_block>
2925 4000336c:       89 45 fc                mov    %eax,-0x4(%ebp)
2926 4000336f:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
2927 40003373:       75 09                   jne    4000337e <cdi_cache_block_get+0x45>
2928 40003375:       c7 45 e4 00 00 00 00    movl   $0x0,-0x1c(%ebp)
2929 4000337c:       eb 17                   jmp    40003395 <cdi_cache_block_get+0x5c>
2930 4000337e:       8b 45 fc                mov    -0x4(%ebp),%eax
2931 40003381:       0f b7 40 10             movzwl 0x10(%eax),%eax
2932 40003385:       8d 50 01                lea    0x1(%eax),%edx
2933 40003388:       8b 45 fc                mov    -0x4(%ebp),%eax
2934 4000338b:       66 89 50 10             mov    %dx,0x10(%eax)
2935 4000338f:       8b 45 fc                mov    -0x4(%ebp),%eax
2936 40003392:       89 45 e4                mov    %eax,-0x1c(%ebp)
2937 40003395:       8b 45 e4                mov    -0x1c(%ebp),%eax
2938 40003398:       c9                      leave  
2939 40003399:       c3                      ret    
2941 4000339a <cdi_cache_block_release>:
2942 4000339a:       55                      push   %ebp
2943 4000339b:       89 e5                   mov    %esp,%ebp
2944 4000339d:       83 ec 10                sub    $0x10,%esp
2945 400033a0:       8b 45 0c                mov    0xc(%ebp),%eax
2946 400033a3:       89 45 fc                mov    %eax,-0x4(%ebp)
2947 400033a6:       8b 45 fc                mov    -0x4(%ebp),%eax
2948 400033a9:       0f b7 40 10             movzwl 0x10(%eax),%eax
2949 400033ad:       8d 50 ff                lea    -0x1(%eax),%edx
2950 400033b0:       8b 45 fc                mov    -0x4(%ebp),%eax
2951 400033b3:       66 89 50 10             mov    %dx,0x10(%eax)
2952 400033b7:       c9                      leave  
2953 400033b8:       c3                      ret    
2955 400033b9 <cdi_cache_block_dirty>:
2956 400033b9:       55                      push   %ebp
2957 400033ba:       89 e5                   mov    %esp,%ebp
2958 400033bc:       83 ec 10                sub    $0x10,%esp
2959 400033bf:       8b 45 0c                mov    0xc(%ebp),%eax
2960 400033c2:       89 45 fc                mov    %eax,-0x4(%ebp)
2961 400033c5:       8b 45 fc                mov    -0x4(%ebp),%eax
2962 400033c8:       66 c7 40 12 01 00       movw   $0x1,0x12(%eax)
2963 400033ce:       c9                      leave  
2964 400033cf:       c3                      ret    
2966 400033d0 <cdi_destroy>:
2967 400033d0:       55                      push   %ebp
2968 400033d1:       89 e5                   mov    %esp,%ebp
2969 400033d3:       83 ec 18                sub    $0x18,%esp
2970 400033d6:       a1 60 59 01 40          mov    0x40015960,%eax
2971 400033db:       c7 44 24 04 5f 2a 01    movl   $0x40012a5f,0x4(%esp)
2972 400033e2:       40 
2973 400033e3:       89 04 24                mov    %eax,(%esp)
2974 400033e6:       e8 9d 58 00 00          call   40008c88 <fprintf>
2975 400033eb:       eb 0e                   jmp    400033fb <cdi_destroy+0x2b>
2976 400033ed:       8b 45 fc                mov    -0x4(%ebp),%eax
2977 400033f0:       8b 50 14                mov    0x14(%eax),%edx
2978 400033f3:       8b 45 fc                mov    -0x4(%ebp),%eax
2979 400033f6:       89 04 24                mov    %eax,(%esp)
2980 400033f9:       ff d2                   call   *%edx
2981 400033fb:       a1 58 59 01 40          mov    0x40015958,%eax
2982 40003400:       89 04 24                mov    %eax,(%esp)
2983 40003403:       e8 0b 00 00 00          call   40003413 <cdi_list_pop>
2984 40003408:       89 45 fc                mov    %eax,-0x4(%ebp)
2985 4000340b:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
2986 4000340f:       75 dc                   jne    400033ed <cdi_destroy+0x1d>
2987 40003411:       c9                      leave  
2988 40003412:       c3                      ret    
2990 40003413 <cdi_list_pop>:
2991 40003413:       55                      push   %ebp
2992 40003414:       89 e5                   mov    %esp,%ebp
2993 40003416:       83 ec 08                sub    $0x8,%esp
2994 40003419:       8b 45 08                mov    0x8(%ebp),%eax
2995 4000341c:       89 04 24                mov    %eax,(%esp)
2996 4000341f:       e8 a8 c7 00 00          call   4000fbcc <llist_pop>
2997 40003424:       c9                      leave  
2998 40003425:       c3                      ret    
3000 40003426 <cdi_init>:
3001 40003426:       55                      push   %ebp
3002 40003427:       89 e5                   mov    %esp,%ebp
3003 40003429:       83 ec 08                sub    $0x8,%esp
3004 4000342c:       a1 60 59 01 40          mov    0x40015960,%eax
3005 40003431:       c7 44 24 04 6c 2a 01    movl   $0x40012a6c,0x4(%esp)
3006 40003438:       40 
3007 40003439:       89 04 24                mov    %eax,(%esp)
3008 4000343c:       e8 47 58 00 00          call   40008c88 <fprintf>
3009 40003441:       b8 d0 33 00 40          mov    $0x400033d0,%eax
3010 40003446:       89 04 24                mov    %eax,(%esp)
3011 40003449:       e8 1e ab 00 00          call   4000df6c <atexit>
3012 4000344e:       e8 1b 00 00 00          call   4000346e <cdi_list_create>
3013 40003453:       a3 58 59 01 40          mov    %eax,0x40015958
3014 40003458:       e8 11 00 00 00          call   4000346e <cdi_list_create>
3015 4000345d:       a3 50 59 01 40          mov    %eax,0x40015950
3016 40003462:       e8 bb cc 00 00          call   40010122 <devfs_init>
3017 40003467:       e8 64 24 00 00          call   400058d0 <cdi_fs_init>
3018 4000346c:       c9                      leave  
3019 4000346d:       c3                      ret    
3021 4000346e <cdi_list_create>:
3022 4000346e:       55                      push   %ebp
3023 4000346f:       89 e5                   mov    %esp,%ebp
3024 40003471:       83 ec 08                sub    $0x8,%esp
3025 40003474:       e8 7f c6 00 00          call   4000faf8 <llist_create>
3026 40003479:       c9                      leave  
3027 4000347a:       c3                      ret    
3029 4000347b <cdi_run_drivers>:
3030 4000347b:       55                      push   %ebp
3031 4000347c:       89 e5                   mov    %esp,%ebp
3032 4000347e:       83 ec 28                sub    $0x28,%esp
3033 40003481:       a1 60 59 01 40          mov    0x40015960,%eax
3034 40003486:       c7 44 24 04 76 2a 01    movl   $0x40012a76,0x4(%esp)
3035 4000348d:       40 
3036 4000348e:       89 04 24                mov    %eax,(%esp)
3037 40003491:       e8 f2 57 00 00          call   40008c88 <fprintf>
3038 40003496:       c7 45 f8 00 00 00 00    movl   $0x0,-0x8(%ebp)
3039 4000349d:       eb 70                   jmp    4000350f <cdi_run_drivers+0x94>
3040 4000349f:       8b 45 f0                mov    -0x10(%ebp),%eax
3041 400034a2:       8b 40 04                mov    0x4(%eax),%eax
3042 400034a5:       8b 15 60 59 01 40       mov    0x40015960,%edx
3043 400034ab:       89 44 24 08             mov    %eax,0x8(%esp)
3044 400034af:       c7 44 24 04 87 2a 01    movl   $0x40012a87,0x4(%esp)
3045 400034b6:       40 
3046 400034b7:       89 14 24                mov    %edx,(%esp)
3047 400034ba:       e8 c9 57 00 00          call   40008c88 <fprintf>
3048 400034bf:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
3049 400034c6:       eb 25                   jmp    400034ed <cdi_run_drivers+0x72>
3050 400034c8:       8b 55 f4                mov    -0xc(%ebp),%edx
3051 400034cb:       8b 45 f0                mov    -0x10(%ebp),%eax
3052 400034ce:       89 42 08                mov    %eax,0x8(%edx)
3053 400034d1:       8b 45 f0                mov    -0x10(%ebp),%eax
3054 400034d4:       8b 40 0c                mov    0xc(%eax),%eax
3055 400034d7:       85 c0                   test   %eax,%eax
3056 400034d9:       74 0e                   je     400034e9 <cdi_run_drivers+0x6e>
3057 400034db:       8b 45 f0                mov    -0x10(%ebp),%eax
3058 400034de:       8b 50 0c                mov    0xc(%eax),%edx
3059 400034e1:       8b 45 f4                mov    -0xc(%ebp),%eax
3060 400034e4:       89 04 24                mov    %eax,(%esp)
3061 400034e7:       ff d2                   call   *%edx
3062 400034e9:       83 45 fc 01             addl   $0x1,-0x4(%ebp)
3063 400034ed:       8b 55 fc                mov    -0x4(%ebp),%edx
3064 400034f0:       8b 45 f0                mov    -0x10(%ebp),%eax
3065 400034f3:       8b 40 08                mov    0x8(%eax),%eax
3066 400034f6:       89 54 24 04             mov    %edx,0x4(%esp)
3067 400034fa:       89 04 24                mov    %eax,(%esp)
3068 400034fd:       e8 3d 00 00 00          call   4000353f <cdi_list_get>
3069 40003502:       89 45 f4                mov    %eax,-0xc(%ebp)
3070 40003505:       83 7d f4 00             cmpl   $0x0,-0xc(%ebp)
3071 40003509:       75 bd                   jne    400034c8 <cdi_run_drivers+0x4d>
3072 4000350b:       83 45 f8 01             addl   $0x1,-0x8(%ebp)
3073 4000350f:       8b 45 f8                mov    -0x8(%ebp),%eax
3074 40003512:       8b 15 58 59 01 40       mov    0x40015958,%edx
3075 40003518:       89 44 24 04             mov    %eax,0x4(%esp)
3076 4000351c:       89 14 24                mov    %edx,(%esp)
3077 4000351f:       e8 1b 00 00 00          call   4000353f <cdi_list_get>
3078 40003524:       89 45 f0                mov    %eax,-0x10(%ebp)
3079 40003527:       83 7d f0 00             cmpl   $0x0,-0x10(%ebp)
3080 4000352b:       0f 85 6e ff ff ff       jne    4000349f <cdi_run_drivers+0x24>
3081 40003531:       c7 04 24 ff ff ff ff    movl   $0xffffffff,(%esp)
3082 40003538:       e8 5d e1 00 00          call   4001169a <rpc_mainloop>
3083 4000353d:       c9                      leave  
3084 4000353e:       c3                      ret    
3086 4000353f <cdi_list_get>:
3087 4000353f:       55                      push   %ebp
3088 40003540:       89 e5                   mov    %esp,%ebp
3089 40003542:       83 ec 08                sub    $0x8,%esp
3090 40003545:       8b 45 0c                mov    0xc(%ebp),%eax
3091 40003548:       89 44 24 04             mov    %eax,0x4(%esp)
3092 4000354c:       8b 45 08                mov    0x8(%ebp),%eax
3093 4000354f:       89 04 24                mov    %eax,(%esp)
3094 40003552:       e8 54 c7 00 00          call   4000fcab <llist_get>
3095 40003557:       c9                      leave  
3096 40003558:       c3                      ret    
3098 40003559 <cdi_driver_init>:
3099 40003559:       55                      push   %ebp
3100 4000355a:       89 e5                   mov    %esp,%ebp
3101 4000355c:       83 ec 08                sub    $0x8,%esp
3102 4000355f:       a1 60 59 01 40          mov    0x40015960,%eax
3103 40003564:       c7 44 24 04 9c 2a 01    movl   $0x40012a9c,0x4(%esp)
3104 4000356b:       40 
3105 4000356c:       89 04 24                mov    %eax,(%esp)
3106 4000356f:       e8 14 57 00 00          call   40008c88 <fprintf>
3107 40003574:       e8 f5 fe ff ff          call   4000346e <cdi_list_create>
3108 40003579:       89 c2                   mov    %eax,%edx
3109 4000357b:       8b 45 08                mov    0x8(%ebp),%eax
3110 4000357e:       89 50 08                mov    %edx,0x8(%eax)
3111 40003581:       c9                      leave  
3112 40003582:       c3                      ret    
3114 40003583 <cdi_driver_destroy>:
3115 40003583:       55                      push   %ebp
3116 40003584:       89 e5                   mov    %esp,%ebp
3117 40003586:       83 ec 18                sub    $0x18,%esp
3118 40003589:       8b 45 08                mov    0x8(%ebp),%eax
3119 4000358c:       8b 40 04                mov    0x4(%eax),%eax
3120 4000358f:       8b 15 60 59 01 40       mov    0x40015960,%edx
3121 40003595:       89 44 24 08             mov    %eax,0x8(%esp)
3122 40003599:       c7 44 24 04 ad 2a 01    movl   $0x40012aad,0x4(%esp)
3123 400035a0:       40 
3124 400035a1:       89 14 24                mov    %edx,(%esp)
3125 400035a4:       e8 df 56 00 00          call   40008c88 <fprintf>
3126 400035a9:       8b 45 08                mov    0x8(%ebp),%eax
3127 400035ac:       8b 40 08                mov    0x8(%eax),%eax
3128 400035af:       89 04 24                mov    %eax,(%esp)
3129 400035b2:       e8 02 00 00 00          call   400035b9 <cdi_list_destroy>
3130 400035b7:       c9                      leave  
3131 400035b8:       c3                      ret    
3133 400035b9 <cdi_list_destroy>:
3134 400035b9:       55                      push   %ebp
3135 400035ba:       89 e5                   mov    %esp,%ebp
3136 400035bc:       83 ec 08                sub    $0x8,%esp
3137 400035bf:       8b 45 08                mov    0x8(%ebp),%eax
3138 400035c2:       89 04 24                mov    %eax,(%esp)
3139 400035c5:       e8 5b c5 00 00          call   4000fb25 <llist_destroy>
3140 400035ca:       c9                      leave  
3141 400035cb:       c3                      ret    
3143 400035cc <cdi_driver_register>:
3144 400035cc:       55                      push   %ebp
3145 400035cd:       89 e5                   mov    %esp,%ebp
3146 400035cf:       83 ec 18                sub    $0x18,%esp
3147 400035d2:       8b 45 08                mov    0x8(%ebp),%eax
3148 400035d5:       8b 40 04                mov    0x4(%eax),%eax
3149 400035d8:       8b 15 60 59 01 40       mov    0x40015960,%edx
3150 400035de:       89 44 24 08             mov    %eax,0x8(%esp)
3151 400035e2:       c7 44 24 04 c5 2a 01    movl   $0x40012ac5,0x4(%esp)
3152 400035e9:       40 
3153 400035ea:       89 14 24                mov    %edx,(%esp)
3154 400035ed:       e8 96 56 00 00          call   40008c88 <fprintf>
3155 400035f2:       8b 15 58 59 01 40       mov    0x40015958,%edx
3156 400035f8:       8b 45 08                mov    0x8(%ebp),%eax
3157 400035fb:       89 44 24 04             mov    %eax,0x4(%esp)
3158 400035ff:       89 14 24                mov    %edx,(%esp)
3159 40003602:       e8 02 00 00 00          call   40003609 <cdi_list_push>
3160 40003607:       c9                      leave  
3161 40003608:       c3                      ret    
3163 40003609 <cdi_list_push>:
3164 40003609:       55                      push   %ebp
3165 4000360a:       89 e5                   mov    %esp,%ebp
3166 4000360c:       83 ec 08                sub    $0x8,%esp
3167 4000360f:       8b 45 0c                mov    0xc(%ebp),%eax
3168 40003612:       89 44 24 04             mov    %eax,0x4(%esp)
3169 40003616:       8b 45 08                mov    0x8(%ebp),%eax
3170 40003619:       89 04 24                mov    %eax,(%esp)
3171 4000361c:       e8 52 c5 00 00          call   4000fb73 <llist_push>
3172 40003621:       c9                      leave  
3173 40003622:       c3                      ret    
3174 40003623:       90                      nop    
3176 40003624 <cdi_fs_mount>:
3177 40003624:       55                      push   %ebp
3178 40003625:       89 e5                   mov    %esp,%ebp
3179 40003627:       83 ec 38                sub    $0x38,%esp
3180 4000362a:       8b 15 60 59 01 40       mov    0x40015960,%edx
3181 40003630:       8b 45 18                mov    0x18(%ebp),%eax
3182 40003633:       89 44 24 18             mov    %eax,0x18(%esp)
3183 40003637:       8b 45 14                mov    0x14(%ebp),%eax
3184 4000363a:       89 44 24 14             mov    %eax,0x14(%esp)
3185 4000363e:       8b 45 10                mov    0x10(%ebp),%eax
3186 40003641:       89 44 24 10             mov    %eax,0x10(%esp)
3187 40003645:       8b 45 0c                mov    0xc(%ebp),%eax
3188 40003648:       89 44 24 0c             mov    %eax,0xc(%esp)
3189 4000364c:       8b 45 08                mov    0x8(%ebp),%eax
3190 4000364f:       89 44 24 08             mov    %eax,0x8(%esp)
3191 40003653:       c7 44 24 04 e0 2a 01    movl   $0x40012ae0,0x4(%esp)
3192 4000365a:       40 
3193 4000365b:       89 14 24                mov    %edx,(%esp)
3194 4000365e:       e8 25 56 00 00          call   40008c88 <fprintf>
3195 40003663:       8b 45 10                mov    0x10(%ebp),%eax
3196 40003666:       89 44 24 0c             mov    %eax,0xc(%esp)
3197 4000366a:       8b 45 0c                mov    0xc(%ebp),%eax
3198 4000366d:       89 44 24 08             mov    %eax,0x8(%esp)
3199 40003671:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
3200 40003678:       00 
3201 40003679:       c7 04 24 00 2b 01 40    movl   $0x40012b00,(%esp)
3202 40003680:       e8 62 db 00 00          call   400111e7 <rpc_call>
3203 40003685:       89 45 f8                mov    %eax,-0x8(%ebp)
3204 40003688:       83 7d f8 ff             cmpl   $0xffffffff,-0x8(%ebp)
3205 4000368c:       0f 84 18 01 00 00       je     400037aa <cdi_fs_mount+0x186>
3206 40003692:       c7 04 24 30 00 00 00    movl   $0x30,(%esp)
3207 40003699:       e8 06 87 00 00          call   4000bda4 <malloc>
3208 4000369e:       89 45 fc                mov    %eax,-0x4(%ebp)
3209 400036a1:       8b 55 fc                mov    -0x4(%ebp),%edx
3210 400036a4:       8b 45 08                mov    0x8(%ebp),%eax
3211 400036a7:       89 02                   mov    %eax,(%edx)
3212 400036a9:       8b 45 fc                mov    -0x4(%ebp),%eax
3213 400036ac:       c7 40 08 00 00 00 00    movl   $0x0,0x8(%eax)
3214 400036b3:       8b 55 fc                mov    -0x4(%ebp),%edx
3215 400036b6:       8b 45 18                mov    0x18(%ebp),%eax
3216 400036b9:       89 42 0c                mov    %eax,0xc(%edx)
3217 400036bc:       8b 55 fc                mov    -0x4(%ebp),%edx
3218 400036bf:       8b 45 f8                mov    -0x8(%ebp),%eax
3219 400036c2:       89 42 18                mov    %eax,0x18(%edx)
3220 400036c5:       8b 45 fc                mov    -0x4(%ebp),%eax
3221 400036c8:       c7 40 1c 00 00 00 00    movl   $0x0,0x1c(%eax)
3222 400036cf:       e8 e2 00 00 00          call   400037b6 <cdi_list_create>
3223 400036d4:       89 c2                   mov    %eax,%edx
3224 400036d6:       8b 45 fc                mov    -0x4(%ebp),%eax
3225 400036d9:       89 50 20                mov    %edx,0x20(%eax)
3226 400036dc:       8b 45 10                mov    0x10(%ebp),%eax
3227 400036df:       89 04 24                mov    %eax,(%esp)
3228 400036e2:       e8 86 bd 00 00          call   4000f46d <strdup>
3229 400036e7:       89 c2                   mov    %eax,%edx
3230 400036e9:       8b 45 fc                mov    -0x4(%ebp),%eax
3231 400036ec:       89 50 24                mov    %edx,0x24(%eax)
3232 400036ef:       83 7d 14 00             cmpl   $0x0,0x14(%ebp)
3233 400036f3:       74 1d                   je     40003712 <cdi_fs_mount+0xee>
3234 400036f5:       c7 44 24 04 03 00 00    movl   $0x3,0x4(%esp)
3235 400036fc:       00 
3236 400036fd:       8b 45 14                mov    0x14(%ebp),%eax
3237 40003700:       89 04 24                mov    %eax,(%esp)
3238 40003703:       e8 6e 39 00 00          call   40007076 <open>
3239 40003708:       89 c2                   mov    %eax,%edx
3240 4000370a:       8b 45 fc                mov    -0x4(%ebp),%eax
3241 4000370d:       89 50 2c                mov    %edx,0x2c(%eax)
3242 40003710:       eb 0a                   jmp    4000371c <cdi_fs_mount+0xf8>
3243 40003712:       8b 45 fc                mov    -0x4(%ebp),%eax
3244 40003715:       c7 40 2c 00 00 00 00    movl   $0x0,0x2c(%eax)
3245 4000371c:       8b 45 fc                mov    -0x4(%ebp),%eax
3246 4000371f:       8b 40 2c                mov    0x2c(%eax),%eax
3247 40003722:       83 f8 ff                cmp    $0xffffffff,%eax
3248 40003725:       74 4e                   je     40003775 <cdi_fs_mount+0x151>
3249 40003727:       8b 55 fc                mov    -0x4(%ebp),%edx
3250 4000372a:       8b 45 14                mov    0x14(%ebp),%eax
3251 4000372d:       89 42 28                mov    %eax,0x28(%edx)
3252 40003730:       8b 45 08                mov    0x8(%ebp),%eax
3253 40003733:       8b 50 18                mov    0x18(%eax),%edx
3254 40003736:       8b 45 fc                mov    -0x4(%ebp),%eax
3255 40003739:       89 04 24                mov    %eax,(%esp)
3256 4000373c:       ff d2                   call   *%edx
3257 4000373e:       85 c0                   test   %eax,%eax
3258 40003740:       74 68                   je     400037aa <cdi_fs_mount+0x186>
3259 40003742:       8b 45 08                mov    0x8(%ebp),%eax
3260 40003745:       8b 50 20                mov    0x20(%eax),%edx
3261 40003748:       8b 45 fc                mov    -0x4(%ebp),%eax
3262 4000374b:       89 44 24 04             mov    %eax,0x4(%esp)
3263 4000374f:       89 14 24                mov    %edx,(%esp)
3264 40003752:       e8 6c 00 00 00          call   400037c3 <cdi_list_push>
3265 40003757:       8b 15 50 59 01 40       mov    0x40015950,%edx
3266 4000375d:       8b 45 fc                mov    -0x4(%ebp),%eax
3267 40003760:       89 44 24 04             mov    %eax,0x4(%esp)
3268 40003764:       89 14 24                mov    %edx,(%esp)
3269 40003767:       e8 57 00 00 00          call   400037c3 <cdi_list_push>
3270 4000376c:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
3271 40003773:       eb 3c                   jmp    400037b1 <cdi_fs_mount+0x18d>
3272 40003775:       8b 45 fc                mov    -0x4(%ebp),%eax
3273 40003778:       8b 40 20                mov    0x20(%eax),%eax
3274 4000377b:       89 04 24                mov    %eax,(%esp)
3275 4000377e:       e8 5a 00 00 00          call   400037dd <cdi_list_destroy>
3276 40003783:       8b 45 fc                mov    -0x4(%ebp),%eax
3277 40003786:       8b 40 2c                mov    0x2c(%eax),%eax
3278 40003789:       89 04 24                mov    %eax,(%esp)
3279 4000378c:       e8 8c 3b 00 00          call   4000731d <close>
3280 40003791:       8b 45 fc                mov    -0x4(%ebp),%eax
3281 40003794:       8b 40 24                mov    0x24(%eax),%eax
3282 40003797:       89 04 24                mov    %eax,(%esp)
3283 4000379a:       e8 bc 8a 00 00          call   4000c25b <free>
3284 4000379f:       8b 45 fc                mov    -0x4(%ebp),%eax
3285 400037a2:       89 04 24                mov    %eax,(%esp)
3286 400037a5:       e8 b1 8a 00 00          call   4000c25b <free>
3287 400037aa:       c7 45 ec e3 ff ff ff    movl   $0xffffffe3,-0x14(%ebp)
3288 400037b1:       8b 45 ec                mov    -0x14(%ebp),%eax
3289 400037b4:       c9                      leave  
3290 400037b5:       c3                      ret    
3292 400037b6 <cdi_list_create>:
3293 400037b6:       55                      push   %ebp
3294 400037b7:       89 e5                   mov    %esp,%ebp
3295 400037b9:       83 ec 08                sub    $0x8,%esp
3296 400037bc:       e8 37 c3 00 00          call   4000faf8 <llist_create>
3297 400037c1:       c9                      leave  
3298 400037c2:       c3                      ret    
3300 400037c3 <cdi_list_push>:
3301 400037c3:       55                      push   %ebp
3302 400037c4:       89 e5                   mov    %esp,%ebp
3303 400037c6:       83 ec 08                sub    $0x8,%esp
3304 400037c9:       8b 45 0c                mov    0xc(%ebp),%eax
3305 400037cc:       89 44 24 04             mov    %eax,0x4(%esp)
3306 400037d0:       8b 45 08                mov    0x8(%ebp),%eax
3307 400037d3:       89 04 24                mov    %eax,(%esp)
3308 400037d6:       e8 98 c3 00 00          call   4000fb73 <llist_push>
3309 400037db:       c9                      leave  
3310 400037dc:       c3                      ret    
3312 400037dd <cdi_list_destroy>:
3313 400037dd:       55                      push   %ebp
3314 400037de:       89 e5                   mov    %esp,%ebp
3315 400037e0:       83 ec 08                sub    $0x8,%esp
3316 400037e3:       8b 45 08                mov    0x8(%ebp),%eax
3317 400037e6:       89 04 24                mov    %eax,(%esp)
3318 400037e9:       e8 37 c3 00 00          call   4000fb25 <llist_destroy>
3319 400037ee:       c9                      leave  
3320 400037ef:       c3                      ret    
3322 400037f0 <cdi_fs_mount_rpc>:
3323 400037f0:       55                      push   %ebp
3324 400037f1:       89 e5                   mov    %esp,%ebp
3325 400037f3:       83 ec 38                sub    $0x38,%esp
3326 400037f6:       8b 15 60 59 01 40       mov    0x40015960,%edx
3327 400037fc:       8b 45 14                mov    0x14(%ebp),%eax
3328 400037ff:       89 44 24 14             mov    %eax,0x14(%esp)
3329 40003803:       8b 45 10                mov    0x10(%ebp),%eax
3330 40003806:       89 44 24 10             mov    %eax,0x10(%esp)
3331 4000380a:       8b 45 0c                mov    0xc(%ebp),%eax
3332 4000380d:       89 44 24 0c             mov    %eax,0xc(%esp)
3333 40003811:       8b 45 08                mov    0x8(%ebp),%eax
3334 40003814:       89 44 24 08             mov    %eax,0x8(%esp)
3335 40003818:       c7 44 24 04 0c 2b 01    movl   $0x40012b0c,0x4(%esp)
3336 4000381f:       40 
3337 40003820:       89 14 24                mov    %edx,(%esp)
3338 40003823:       e8 60 54 00 00          call   40008c88 <fprintf>
3339 40003828:       8b 45 10                mov    0x10(%ebp),%eax
3340 4000382b:       0f b6 00                movzbl (%eax),%eax
3341 4000382e:       84 c0                   test   %al,%al
3342 40003830:       75 07                   jne    40003839 <cdi_fs_mount_rpc+0x49>
3343 40003832:       c7 45 10 00 00 00 00    movl   $0x0,0x10(%ebp)
3344 40003839:       c7 45 f8 00 00 00 00    movl   $0x0,-0x8(%ebp)
3345 40003840:       eb 49                   jmp    4000388b <cdi_fs_mount_rpc+0x9b>
3346 40003842:       8b 45 fc                mov    -0x4(%ebp),%eax
3347 40003845:       8b 50 04                mov    0x4(%eax),%edx
3348 40003848:       8b 45 08                mov    0x8(%ebp),%eax
3349 4000384b:       89 44 24 04             mov    %eax,0x4(%esp)
3350 4000384f:       89 14 24                mov    %edx,(%esp)
3351 40003852:       e8 41 bb 00 00          call   4000f398 <strcmp>
3352 40003857:       85 c0                   test   %eax,%eax
3353 40003859:       75 2c                   jne    40003887 <cdi_fs_mount_rpc+0x97>
3354 4000385b:       8b 45 14                mov    0x14(%ebp),%eax
3355 4000385e:       89 44 24 10             mov    %eax,0x10(%esp)
3356 40003862:       8b 45 10                mov    0x10(%ebp),%eax
3357 40003865:       89 44 24 0c             mov    %eax,0xc(%esp)
3358 40003869:       8b 45 0c                mov    0xc(%ebp),%eax
3359 4000386c:       89 44 24 08             mov    %eax,0x8(%esp)
3360 40003870:       8b 45 08                mov    0x8(%ebp),%eax
3361 40003873:       89 44 24 04             mov    %eax,0x4(%esp)
3362 40003877:       8b 45 fc                mov    -0x4(%ebp),%eax
3363 4000387a:       89 04 24                mov    %eax,(%esp)
3364 4000387d:       e8 a2 fd ff ff          call   40003624 <cdi_fs_mount>
3365 40003882:       89 45 ec                mov    %eax,-0x14(%ebp)
3366 40003885:       eb 28                   jmp    400038af <cdi_fs_mount_rpc+0xbf>
3367 40003887:       83 45 f8 01             addl   $0x1,-0x8(%ebp)
3368 4000388b:       a1 58 59 01 40          mov    0x40015958,%eax
3369 40003890:       8b 55 f8                mov    -0x8(%ebp),%edx
3370 40003893:       89 54 24 04             mov    %edx,0x4(%esp)
3371 40003897:       89 04 24                mov    %eax,(%esp)
3372 4000389a:       e8 15 00 00 00          call   400038b4 <cdi_list_get>
3373 4000389f:       89 45 fc                mov    %eax,-0x4(%ebp)
3374 400038a2:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
3375 400038a6:       75 9a                   jne    40003842 <cdi_fs_mount_rpc+0x52>
3376 400038a8:       c7 45 ec e4 ff ff ff    movl   $0xffffffe4,-0x14(%ebp)
3377 400038af:       8b 45 ec                mov    -0x14(%ebp),%eax
3378 400038b2:       c9                      leave  
3379 400038b3:       c3                      ret    
3381 400038b4 <cdi_list_get>:
3382 400038b4:       55                      push   %ebp
3383 400038b5:       89 e5                   mov    %esp,%ebp
3384 400038b7:       83 ec 08                sub    $0x8,%esp
3385 400038ba:       8b 45 0c                mov    0xc(%ebp),%eax
3386 400038bd:       89 44 24 04             mov    %eax,0x4(%esp)
3387 400038c1:       8b 45 08                mov    0x8(%ebp),%eax
3388 400038c4:       89 04 24                mov    %eax,(%esp)
3389 400038c7:       e8 df c3 00 00          call   4000fcab <llist_get>
3390 400038cc:       c9                      leave  
3391 400038cd:       c3                      ret    
3393 400038ce <cdi_fs_unmount>:
3394 400038ce:       55                      push   %ebp
3395 400038cf:       89 e5                   mov    %esp,%ebp
3396 400038d1:       83 ec 18                sub    $0x18,%esp
3397 400038d4:       8b 15 60 59 01 40       mov    0x40015960,%edx
3398 400038da:       8b 45 08                mov    0x8(%ebp),%eax
3399 400038dd:       89 44 24 08             mov    %eax,0x8(%esp)
3400 400038e1:       c7 44 24 04 2b 2b 01    movl   $0x40012b2b,0x4(%esp)
3401 400038e8:       40 
3402 400038e9:       89 14 24                mov    %edx,(%esp)
3403 400038ec:       e8 97 53 00 00          call   40008c88 <fprintf>
3404 400038f1:       8b 45 08                mov    0x8(%ebp),%eax
3405 400038f4:       8b 40 18                mov    0x18(%eax),%eax
3406 400038f7:       89 44 24 08             mov    %eax,0x8(%esp)
3407 400038fb:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
3408 40003902:       00 
3409 40003903:       c7 04 24 41 2b 01 40    movl   $0x40012b41,(%esp)
3410 4000390a:       e8 d8 d8 00 00          call   400111e7 <rpc_call>
3411 4000390f:       8b 45 08                mov    0x8(%ebp),%eax
3412 40003912:       8b 00                   mov    (%eax),%eax
3413 40003914:       8b 50 1c                mov    0x1c(%eax),%edx
3414 40003917:       8b 45 08                mov    0x8(%ebp),%eax
3415 4000391a:       89 04 24                mov    %eax,(%esp)
3416 4000391d:       ff d2                   call   *%edx
3417 4000391f:       85 c0                   test   %eax,%eax
3418 40003921:       74 09                   je     4000392c <cdi_fs_unmount+0x5e>
3419 40003923:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
3420 4000392a:       eb 07                   jmp    40003933 <cdi_fs_unmount+0x65>
3421 4000392c:       c7 45 fc ff ff ff ff    movl   $0xffffffff,-0x4(%ebp)
3422 40003933:       8b 45 fc                mov    -0x4(%ebp),%eax
3423 40003936:       c9                      leave  
3424 40003937:       c3                      ret    
3426 40003938 <cdi_fs_unmount_rpc>:
3427 40003938:       55                      push   %ebp
3428 40003939:       89 e5                   mov    %esp,%ebp
3429 4000393b:       83 ec 28                sub    $0x28,%esp
3430 4000393e:       8b 15 60 59 01 40       mov    0x40015960,%edx
3431 40003944:       8b 45 08                mov    0x8(%ebp),%eax
3432 40003947:       89 44 24 08             mov    %eax,0x8(%esp)
3433 4000394b:       c7 44 24 04 4d 2b 01    movl   $0x40012b4d,0x4(%esp)
3434 40003952:       40 
3435 40003953:       89 14 24                mov    %edx,(%esp)
3436 40003956:       e8 2d 53 00 00          call   40008c88 <fprintf>
3437 4000395b:       c7 45 f0 00 00 00 00    movl   $0x0,-0x10(%ebp)
3438 40003962:       eb 71                   jmp    400039d5 <cdi_fs_unmount_rpc+0x9d>
3439 40003964:       8b 45 f8                mov    -0x8(%ebp),%eax
3440 40003967:       8b 50 04                mov    0x4(%eax),%edx
3441 4000396a:       8b 45 08                mov    0x8(%ebp),%eax
3442 4000396d:       89 44 24 04             mov    %eax,0x4(%esp)
3443 40003971:       89 14 24                mov    %edx,(%esp)
3444 40003974:       e8 1f ba 00 00          call   4000f398 <strcmp>
3445 40003979:       85 c0                   test   %eax,%eax
3446 4000397b:       75 54                   jne    400039d1 <cdi_fs_unmount_rpc+0x99>
3447 4000397d:       c7 45 f4 00 00 00 00    movl   $0x0,-0xc(%ebp)
3448 40003984:       eb 2d                   jmp    400039b3 <cdi_fs_unmount_rpc+0x7b>
3449 40003986:       8b 45 fc                mov    -0x4(%ebp),%eax
3450 40003989:       8b 50 24                mov    0x24(%eax),%edx
3451 4000398c:       8b 45 0c                mov    0xc(%ebp),%eax
3452 4000398f:       89 44 24 04             mov    %eax,0x4(%esp)
3453 40003993:       89 14 24                mov    %edx,(%esp)
3454 40003996:       e8 fd b9 00 00          call   4000f398 <strcmp>
3455 4000399b:       85 c0                   test   %eax,%eax
3456 4000399d:       75 10                   jne    400039af <cdi_fs_unmount_rpc+0x77>
3457 4000399f:       8b 45 fc                mov    -0x4(%ebp),%eax
3458 400039a2:       89 04 24                mov    %eax,(%esp)
3459 400039a5:       e8 24 ff ff ff          call   400038ce <cdi_fs_unmount>
3460 400039aa:       89 45 ec                mov    %eax,-0x14(%ebp)
3461 400039ad:       eb 4e                   jmp    400039fd <cdi_fs_unmount_rpc+0xc5>
3462 400039af:       83 45 f4 01             addl   $0x1,-0xc(%ebp)
3463 400039b3:       8b 45 f8                mov    -0x8(%ebp),%eax
3464 400039b6:       8b 50 20                mov    0x20(%eax),%edx
3465 400039b9:       8b 45 f4                mov    -0xc(%ebp),%eax
3466 400039bc:       89 44 24 04             mov    %eax,0x4(%esp)
3467 400039c0:       89 14 24                mov    %edx,(%esp)
3468 400039c3:       e8 ec fe ff ff          call   400038b4 <cdi_list_get>
3469 400039c8:       89 45 fc                mov    %eax,-0x4(%ebp)
3470 400039cb:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
3471 400039cf:       75 b5                   jne    40003986 <cdi_fs_unmount_rpc+0x4e>
3472 400039d1:       83 45 f0 01             addl   $0x1,-0x10(%ebp)
3473 400039d5:       a1 58 59 01 40          mov    0x40015958,%eax
3474 400039da:       8b 55 f0                mov    -0x10(%ebp),%edx
3475 400039dd:       89 54 24 04             mov    %edx,0x4(%esp)
3476 400039e1:       89 04 24                mov    %eax,(%esp)
3477 400039e4:       e8 cb fe ff ff          call   400038b4 <cdi_list_get>
3478 400039e9:       89 45 f8                mov    %eax,-0x8(%ebp)
3479 400039ec:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
3480 400039f0:       0f 85 6e ff ff ff       jne    40003964 <cdi_fs_unmount_rpc+0x2c>
3481 400039f6:       c7 45 ec ff ff ff ff    movl   $0xffffffff,-0x14(%ebp)
3482 400039fd:       8b 45 ec                mov    -0x14(%ebp),%eax
3483 40003a00:       c9                      leave  
3484 40003a01:       c3                      ret    
3486 40003a02 <_cdi_fs_func>:
3487 40003a02:       55                      push   %ebp
3488 40003a03:       89 e5                   mov    %esp,%ebp
3489 40003a05:       83 ec 28                sub    $0x28,%esp
3490 40003a08:       8b 45 18                mov    0x18(%ebp),%eax
3491 40003a0b:       89 44 24 0c             mov    %eax,0xc(%esp)
3492 40003a0f:       8b 45 08                mov    0x8(%ebp),%eax
3493 40003a12:       89 44 24 08             mov    %eax,0x8(%esp)
3494 40003a16:       c7 44 24 04 65 2b 01    movl   $0x40012b65,0x4(%esp)
3495 40003a1d:       40 
3496 40003a1e:       8d 45 f8                lea    -0x8(%ebp),%eax
3497 40003a21:       89 04 24                mov    %eax,(%esp)
3498 40003a24:       e8 df 27 00 00          call   40006208 <asprintf>
3499 40003a29:       8b 55 f8                mov    -0x8(%ebp),%edx
3500 40003a2c:       8b 45 14                mov    0x14(%ebp),%eax
3501 40003a2f:       89 44 24 0c             mov    %eax,0xc(%esp)
3502 40003a33:       8b 45 10                mov    0x10(%ebp),%eax
3503 40003a36:       89 44 24 08             mov    %eax,0x8(%esp)
3504 40003a3a:       8b 45 0c                mov    0xc(%ebp),%eax
3505 40003a3d:       89 44 24 04             mov    %eax,0x4(%esp)
3506 40003a41:       89 14 24                mov    %edx,(%esp)
3507 40003a44:       e8 d7 d1 00 00          call   40010c20 <rpc_func_create>
3508 40003a49:       89 45 fc                mov    %eax,-0x4(%ebp)
3509 40003a4c:       8b 45 f8                mov    -0x8(%ebp),%eax
3510 40003a4f:       89 04 24                mov    %eax,(%esp)
3511 40003a52:       e8 04 88 00 00          call   4000c25b <free>
3512 40003a57:       8b 45 fc                mov    -0x4(%ebp),%eax
3513 40003a5a:       c9                      leave  
3514 40003a5b:       c3                      ret    
3516 40003a5c <cdi_fs_find>:
3517 40003a5c:       55                      push   %ebp
3518 40003a5d:       89 e5                   mov    %esp,%ebp
3519 40003a5f:       83 ec 28                sub    $0x28,%esp
3520 40003a62:       8b 15 60 59 01 40       mov    0x40015960,%edx
3521 40003a68:       8b 45 08                mov    0x8(%ebp),%eax
3522 40003a6b:       89 44 24 08             mov    %eax,0x8(%esp)
3523 40003a6f:       c7 44 24 04 6b 2b 01    movl   $0x40012b6b,0x4(%esp)
3524 40003a76:       40 
3525 40003a77:       89 14 24                mov    %edx,(%esp)
3526 40003a7a:       e8 09 52 00 00          call   40008c88 <fprintf>
3527 40003a7f:       c7 45 f8 00 00 00 00    movl   $0x0,-0x8(%ebp)
3528 40003a86:       eb 17                   jmp    40003a9f <cdi_fs_find+0x43>
3529 40003a88:       8b 45 fc                mov    -0x4(%ebp),%eax
3530 40003a8b:       8b 40 18                mov    0x18(%eax),%eax
3531 40003a8e:       3b 45 08                cmp    0x8(%ebp),%eax
3532 40003a91:       75 08                   jne    40003a9b <cdi_fs_find+0x3f>
3533 40003a93:       8b 45 fc                mov    -0x4(%ebp),%eax
3534 40003a96:       89 45 ec                mov    %eax,-0x14(%ebp)
3535 40003a99:       eb 28                   jmp    40003ac3 <cdi_fs_find+0x67>
3536 40003a9b:       83 45 f8 01             addl   $0x1,-0x8(%ebp)
3537 40003a9f:       a1 50 59 01 40          mov    0x40015950,%eax
3538 40003aa4:       8b 55 f8                mov    -0x8(%ebp),%edx
3539 40003aa7:       89 54 24 04             mov    %edx,0x4(%esp)
3540 40003aab:       89 04 24                mov    %eax,(%esp)
3541 40003aae:       e8 01 fe ff ff          call   400038b4 <cdi_list_get>
3542 40003ab3:       89 45 fc                mov    %eax,-0x4(%ebp)
3543 40003ab6:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
3544 40003aba:       75 cc                   jne    40003a88 <cdi_fs_find+0x2c>
3545 40003abc:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
3546 40003ac3:       8b 45 ec                mov    -0x14(%ebp),%eax
3547 40003ac6:       c9                      leave  
3548 40003ac7:       c3                      ret    
3550 40003ac8 <cdi_fs_file_find>:
3551 40003ac8:       55                      push   %ebp
3552 40003ac9:       89 e5                   mov    %esp,%ebp
3553 40003acb:       83 ec 28                sub    $0x28,%esp
3554 40003ace:       a1 60 59 01 40          mov    0x40015960,%eax
3555 40003ad3:       8b 55 0c                mov    0xc(%ebp),%edx
3556 40003ad6:       89 54 24 0c             mov    %edx,0xc(%esp)
3557 40003ada:       8b 55 08                mov    0x8(%ebp),%edx
3558 40003add:       89 54 24 08             mov    %edx,0x8(%esp)
3559 40003ae1:       c7 44 24 04 7c 2b 01    movl   $0x40012b7c,0x4(%esp)
3560 40003ae8:       40 
3561 40003ae9:       89 04 24                mov    %eax,(%esp)
3562 40003aec:       e8 97 51 00 00          call   40008c88 <fprintf>
3563 40003af1:       c7 45 f8 00 00 00 00    movl   $0x0,-0x8(%ebp)
3564 40003af8:       eb 17                   jmp    40003b11 <cdi_fs_file_find+0x49>
3565 40003afa:       8b 45 fc                mov    -0x4(%ebp),%eax
3566 40003afd:       8b 40 04                mov    0x4(%eax),%eax
3567 40003b00:       3b 45 0c                cmp    0xc(%ebp),%eax
3568 40003b03:       75 08                   jne    40003b0d <cdi_fs_file_find+0x45>
3569 40003b05:       8b 45 fc                mov    -0x4(%ebp),%eax
3570 40003b08:       89 45 ec                mov    %eax,-0x14(%ebp)
3571 40003b0b:       eb 29                   jmp    40003b36 <cdi_fs_file_find+0x6e>
3572 40003b0d:       83 45 f8 01             addl   $0x1,-0x8(%ebp)
3573 40003b11:       8b 45 08                mov    0x8(%ebp),%eax
3574 40003b14:       8b 50 20                mov    0x20(%eax),%edx
3575 40003b17:       8b 45 f8                mov    -0x8(%ebp),%eax
3576 40003b1a:       89 44 24 04             mov    %eax,0x4(%esp)
3577 40003b1e:       89 14 24                mov    %edx,(%esp)
3578 40003b21:       e8 8e fd ff ff          call   400038b4 <cdi_list_get>
3579 40003b26:       89 45 fc                mov    %eax,-0x4(%ebp)
3580 40003b29:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
3581 40003b2d:       75 cb                   jne    40003afa <cdi_fs_file_find+0x32>
3582 40003b2f:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
3583 40003b36:       8b 45 ec                mov    -0x14(%ebp),%eax
3584 40003b39:       c9                      leave  
3585 40003b3a:       c3                      ret    
3587 40003b3b <cdi_fs_error2errno>:
3588 40003b3b:       55                      push   %ebp
3589 40003b3c:       89 e5                   mov    %esp,%ebp
3590 40003b3e:       83 ec 04                sub    $0x4,%esp
3591 40003b41:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
3592 40003b45:       75 09                   jne    40003b50 <cdi_fs_error2errno+0x15>
3593 40003b47:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
3594 40003b4e:       eb 70                   jmp    40003bc0 <cdi_fs_error2errno+0x85>
3595 40003b50:       83 7d 08 01             cmpl   $0x1,0x8(%ebp)
3596 40003b54:       75 09                   jne    40003b5f <cdi_fs_error2errno+0x24>
3597 40003b56:       c7 45 fc 1d 00 00 00    movl   $0x1d,-0x4(%ebp)
3598 40003b5d:       eb 61                   jmp    40003bc0 <cdi_fs_error2errno+0x85>
3599 40003b5f:       83 7d 08 02             cmpl   $0x2,0x8(%ebp)
3600 40003b63:       75 09                   jne    40003b6e <cdi_fs_error2errno+0x33>
3601 40003b65:       c7 45 fc 37 00 00 00    movl   $0x37,-0x4(%ebp)
3602 40003b6c:       eb 52                   jmp    40003bc0 <cdi_fs_error2errno+0x85>
3603 40003b6e:       83 7d 08 03             cmpl   $0x3,0x8(%ebp)
3604 40003b72:       75 09                   jne    40003b7d <cdi_fs_error2errno+0x42>
3605 40003b74:       c7 45 fc 2d 00 00 00    movl   $0x2d,-0x4(%ebp)
3606 40003b7b:       eb 43                   jmp    40003bc0 <cdi_fs_error2errno+0x85>
3607 40003b7d:       83 7d 08 04             cmpl   $0x4,0x8(%ebp)
3608 40003b81:       75 09                   jne    40003b8c <cdi_fs_error2errno+0x51>
3609 40003b83:       c7 45 fc ff ff ff ff    movl   $0xffffffff,-0x4(%ebp)
3610 40003b8a:       eb 34                   jmp    40003bc0 <cdi_fs_error2errno+0x85>
3611 40003b8c:       83 7d 08 05             cmpl   $0x5,0x8(%ebp)
3612 40003b90:       75 09                   jne    40003b9b <cdi_fs_error2errno+0x60>
3613 40003b92:       c7 45 fc 47 00 00 00    movl   $0x47,-0x4(%ebp)
3614 40003b99:       eb 25                   jmp    40003bc0 <cdi_fs_error2errno+0x85>
3615 40003b9b:       83 7d 08 06             cmpl   $0x6,0x8(%ebp)
3616 40003b9f:       75 09                   jne    40003baa <cdi_fs_error2errno+0x6f>
3617 40003ba1:       c7 45 fc ff ff ff ff    movl   $0xffffffff,-0x4(%ebp)
3618 40003ba8:       eb 16                   jmp    40003bc0 <cdi_fs_error2errno+0x85>
3619 40003baa:       83 7d 08 07             cmpl   $0x7,0x8(%ebp)
3620 40003bae:       75 09                   jne    40003bb9 <cdi_fs_error2errno+0x7e>
3621 40003bb0:       c7 45 fc 3c 00 00 00    movl   $0x3c,-0x4(%ebp)
3622 40003bb7:       eb 07                   jmp    40003bc0 <cdi_fs_error2errno+0x85>
3623 40003bb9:       c7 45 fc ff ff ff ff    movl   $0xffffffff,-0x4(%ebp)
3624 40003bc0:       8b 45 fc                mov    -0x4(%ebp),%eax
3625 40003bc3:       c9                      leave  
3626 40003bc4:       c3                      ret    
3628 40003bc5 <cdi_fs_parentres>:
3629 40003bc5:       55                      push   %ebp
3630 40003bc6:       89 e5                   mov    %esp,%ebp
3631 40003bc8:       83 ec 48                sub    $0x48,%esp
3632 40003bcb:       8b 15 60 59 01 40       mov    0x40015960,%edx
3633 40003bd1:       8b 45 0c                mov    0xc(%ebp),%eax
3634 40003bd4:       89 44 24 0c             mov    %eax,0xc(%esp)
3635 40003bd8:       8b 45 08                mov    0x8(%ebp),%eax
3636 40003bdb:       89 44 24 08             mov    %eax,0x8(%esp)
3637 40003bdf:       c7 44 24 04 97 2b 01    movl   $0x40012b97,0x4(%esp)
3638 40003be6:       40 
3639 40003be7:       89 14 24                mov    %edx,(%esp)
3640 40003bea:       e8 99 50 00 00          call   40008c88 <fprintf>
3641 40003bef:       8b 45 08                mov    0x8(%ebp),%eax
3642 40003bf2:       8b 40 04                mov    0x4(%eax),%eax
3643 40003bf5:       89 45 e8                mov    %eax,-0x18(%ebp)
3644 40003bf8:       8b 45 e8                mov    -0x18(%ebp),%eax
3645 40003bfb:       89 45 ec                mov    %eax,-0x14(%ebp)
3646 40003bfe:       8b 45 08                mov    0x8(%ebp),%eax
3647 40003c01:       89 45 dc                mov    %eax,-0x24(%ebp)
3648 40003c04:       8b 45 e8                mov    -0x18(%ebp),%eax
3649 40003c07:       89 45 e0                mov    %eax,-0x20(%ebp)
3650 40003c0a:       c7 45 e4 00 00 00 00    movl   $0x0,-0x1c(%ebp)
3651 40003c11:       8b 45 0c                mov    0xc(%ebp),%eax
3652 40003c14:       89 04 24                mov    %eax,(%esp)
3653 40003c17:       e8 f8 c7 00 00          call   40010414 <path_parse>
3654 40003c1c:       89 45 fc                mov    %eax,-0x4(%ebp)
3655 40003c1f:       8b 45 fc                mov    -0x4(%ebp),%eax
3656 40003c22:       8b 00                   mov    (%eax),%eax
3657 40003c24:       83 e8 01                sub    $0x1,%eax
3658 40003c27:       89 45 f8                mov    %eax,-0x8(%ebp)
3659 40003c2a:       eb 04                   jmp    40003c30 <cdi_fs_parentres+0x6b>
3660 40003c2c:       83 6d f8 01             subl   $0x1,-0x8(%ebp)
3661 40003c30:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
3662 40003c34:       78 18                   js     40003c4e <cdi_fs_parentres+0x89>
3663 40003c36:       8b 45 fc                mov    -0x4(%ebp),%eax
3664 40003c39:       8b 50 04                mov    0x4(%eax),%edx
3665 40003c3c:       8b 45 f8                mov    -0x8(%ebp),%eax
3666 40003c3f:       c1 e0 02                shl    $0x2,%eax
3667 40003c42:       8d 04 02                lea    (%edx,%eax,1),%eax
3668 40003c45:       8b 00                   mov    (%eax),%eax
3669 40003c47:       0f b6 00                movzbl (%eax),%eax
3670 40003c4a:       84 c0                   test   %al,%al
3671 40003c4c:       74 de                   je     40003c2c <cdi_fs_parentres+0x67>
3672 40003c4e:       c7 45 f4 00 00 00 00    movl   $0x0,-0xc(%ebp)
3673 40003c55:       e9 8c 00 00 00          jmp    40003ce6 <cdi_fs_parentres+0x121>
3674 40003c5a:       8b 45 fc                mov    -0x4(%ebp),%eax
3675 40003c5d:       8b 50 04                mov    0x4(%eax),%edx
3676 40003c60:       8b 45 f4                mov    -0xc(%ebp),%eax
3677 40003c63:       c1 e0 02                shl    $0x2,%eax
3678 40003c66:       8d 04 02                lea    (%edx,%eax,1),%eax
3679 40003c69:       8b 00                   mov    (%eax),%eax
3680 40003c6b:       0f b6 00                movzbl (%eax),%eax
3681 40003c6e:       84 c0                   test   %al,%al
3682 40003c70:       74 70                   je     40003ce2 <cdi_fs_parentres+0x11d>
3683 40003c72:       8d 45 dc                lea    -0x24(%ebp),%eax
3684 40003c75:       89 04 24                mov    %eax,(%esp)
3685 40003c78:       e8 bf 00 00 00          call   40003d3c <cdi_fs_loadres>
3686 40003c7d:       c7 45 f0 00 00 00 00    movl   $0x0,-0x10(%ebp)
3687 40003c84:       eb 38                   jmp    40003cbe <cdi_fs_parentres+0xf9>
3688 40003c86:       8b 45 fc                mov    -0x4(%ebp),%eax
3689 40003c89:       8b 50 04                mov    0x4(%eax),%edx
3690 40003c8c:       8b 45 f4                mov    -0xc(%ebp),%eax
3691 40003c8f:       c1 e0 02                shl    $0x2,%eax
3692 40003c92:       8d 04 02                lea    (%edx,%eax,1),%eax
3693 40003c95:       8b 10                   mov    (%eax),%edx
3694 40003c97:       8b 45 ec                mov    -0x14(%ebp),%eax
3695 40003c9a:       8b 00                   mov    (%eax),%eax
3696 40003c9c:       89 54 24 04             mov    %edx,0x4(%esp)
3697 40003ca0:       89 04 24                mov    %eax,(%esp)
3698 40003ca3:       e8 f0 b6 00 00          call   4000f398 <strcmp>
3699 40003ca8:       85 c0                   test   %eax,%eax
3700 40003caa:       75 0e                   jne    40003cba <cdi_fs_parentres+0xf5>
3701 40003cac:       8b 45 ec                mov    -0x14(%ebp),%eax
3702 40003caf:       89 45 e8                mov    %eax,-0x18(%ebp)
3703 40003cb2:       8b 45 ec                mov    -0x14(%ebp),%eax
3704 40003cb5:       89 45 e0                mov    %eax,-0x20(%ebp)
3705 40003cb8:       eb 22                   jmp    40003cdc <cdi_fs_parentres+0x117>
3706 40003cba:       83 45 f0 01             addl   $0x1,-0x10(%ebp)
3707 40003cbe:       8b 45 e8                mov    -0x18(%ebp),%eax
3708 40003cc1:       8b 50 14                mov    0x14(%eax),%edx
3709 40003cc4:       8b 45 f0                mov    -0x10(%ebp),%eax
3710 40003cc7:       89 44 24 04             mov    %eax,0x4(%esp)
3711 40003ccb:       89 14 24                mov    %edx,(%esp)
3712 40003cce:       e8 e1 fb ff ff          call   400038b4 <cdi_list_get>
3713 40003cd3:       89 45 ec                mov    %eax,-0x14(%ebp)
3714 40003cd6:       83 7d ec 00             cmpl   $0x0,-0x14(%ebp)
3715 40003cda:       75 aa                   jne    40003c86 <cdi_fs_parentres+0xc1>
3716 40003cdc:       83 7d ec 00             cmpl   $0x0,-0x14(%ebp)
3717 40003ce0:       74 10                   je     40003cf2 <cdi_fs_parentres+0x12d>
3718 40003ce2:       83 45 f4 01             addl   $0x1,-0xc(%ebp)
3719 40003ce6:       8b 45 f4                mov    -0xc(%ebp),%eax
3720 40003ce9:       3b 45 f8                cmp    -0x8(%ebp),%eax
3721 40003cec:       0f 8c 68 ff ff ff       jl     40003c5a <cdi_fs_parentres+0x95>
3722 40003cf2:       8b 55 10                mov    0x10(%ebp),%edx
3723 40003cf5:       8b 45 0c                mov    0xc(%ebp),%eax
3724 40003cf8:       89 02                   mov    %eax,(%edx)
3725 40003cfa:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
3726 40003cfe:       79 17                   jns    40003d17 <cdi_fs_parentres+0x152>
3727 40003d00:       8b 45 10                mov    0x10(%ebp),%eax
3728 40003d03:       8b 00                   mov    (%eax),%eax
3729 40003d05:       c7 44 24 04 b2 2b 01    movl   $0x40012bb2,0x4(%esp)
3730 40003d0c:       40 
3731 40003d0d:       89 04 24                mov    %eax,(%esp)
3732 40003d10:       e8 10 b7 00 00          call   4000f425 <strcpy>
3733 40003d15:       eb 20                   jmp    40003d37 <cdi_fs_parentres+0x172>
3734 40003d17:       8b 45 fc                mov    -0x4(%ebp),%eax
3735 40003d1a:       8b 50 04                mov    0x4(%eax),%edx
3736 40003d1d:       8b 45 f8                mov    -0x8(%ebp),%eax
3737 40003d20:       c1 e0 02                shl    $0x2,%eax
3738 40003d23:       8d 04 02                lea    (%edx,%eax,1),%eax
3739 40003d26:       8b 00                   mov    (%eax),%eax
3740 40003d28:       89 44 24 04             mov    %eax,0x4(%esp)
3741 40003d2c:       8b 45 0c                mov    0xc(%ebp),%eax
3742 40003d2f:       89 04 24                mov    %eax,(%esp)
3743 40003d32:       e8 ee b6 00 00          call   4000f425 <strcpy>
3744 40003d37:       8b 45 ec                mov    -0x14(%ebp),%eax
3745 40003d3a:       c9                      leave  
3746 40003d3b:       c3                      ret    
3748 40003d3c <cdi_fs_loadres>:
3749 40003d3c:       55                      push   %ebp
3750 40003d3d:       89 e5                   mov    %esp,%ebp
3751 40003d3f:       83 ec 18                sub    $0x18,%esp
3752 40003d42:       8b 15 60 59 01 40       mov    0x40015960,%edx
3753 40003d48:       8b 45 08                mov    0x8(%ebp),%eax
3754 40003d4b:       89 44 24 08             mov    %eax,0x8(%esp)
3755 40003d4f:       c7 44 24 04 b4 2b 01    movl   $0x40012bb4,0x4(%esp)
3756 40003d56:       40 
3757 40003d57:       89 14 24                mov    %edx,(%esp)
3758 40003d5a:       e8 29 4f 00 00          call   40008c88 <fprintf>
3759 40003d5f:       8b 45 08                mov    0x8(%ebp),%eax
3760 40003d62:       8b 40 04                mov    0x4(%eax),%eax
3761 40003d65:       8b 40 08                mov    0x8(%eax),%eax
3762 40003d68:       85 c0                   test   %eax,%eax
3763 40003d6a:       75 2f                   jne    40003d9b <cdi_fs_loadres+0x5f>
3764 40003d6c:       8b 45 08                mov    0x8(%ebp),%eax
3765 40003d6f:       8b 40 04                mov    0x4(%eax),%eax
3766 40003d72:       8b 40 48                mov    0x48(%eax),%eax
3767 40003d75:       8b 10                   mov    (%eax),%edx
3768 40003d77:       8b 45 08                mov    0x8(%ebp),%eax
3769 40003d7a:       89 04 24                mov    %eax,(%esp)
3770 40003d7d:       ff d2                   call   *%edx
3771 40003d7f:       85 c0                   test   %eax,%eax
3772 40003d81:       74 09                   je     40003d8c <cdi_fs_loadres+0x50>
3773 40003d83:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
3774 40003d8a:       eb 07                   jmp    40003d93 <cdi_fs_loadres+0x57>
3775 40003d8c:       c7 45 fc ff ff ff ff    movl   $0xffffffff,-0x4(%ebp)
3776 40003d93:       8b 45 fc                mov    -0x4(%ebp),%eax
3777 40003d96:       89 45 f8                mov    %eax,-0x8(%ebp)
3778 40003d99:       eb 07                   jmp    40003da2 <cdi_fs_loadres+0x66>
3779 40003d9b:       c7 45 f8 00 00 00 00    movl   $0x0,-0x8(%ebp)
3780 40003da2:       8b 45 f8                mov    -0x8(%ebp),%eax
3781 40003da5:       c9                      leave  
3782 40003da6:       c3                      ret    
3784 40003da7 <cdi_fs_path2res>:
3785 40003da7:       55                      push   %ebp
3786 40003da8:       89 e5                   mov    %esp,%ebp
3787 40003daa:       83 ec 38                sub    $0x38,%esp
3788 40003dad:       8b 15 60 59 01 40       mov    0x40015960,%edx
3789 40003db3:       8b 45 0c                mov    0xc(%ebp),%eax
3790 40003db6:       89 44 24 0c             mov    %eax,0xc(%esp)
3791 40003dba:       8b 45 08                mov    0x8(%ebp),%eax
3792 40003dbd:       89 44 24 08             mov    %eax,0x8(%esp)
3793 40003dc1:       c7 44 24 04 ca 2b 01    movl   $0x40012bca,0x4(%esp)
3794 40003dc8:       40 
3795 40003dc9:       89 14 24                mov    %edx,(%esp)
3796 40003dcc:       e8 b7 4e 00 00          call   40008c88 <fprintf>
3797 40003dd1:       8b 45 08                mov    0x8(%ebp),%eax
3798 40003dd4:       8b 40 04                mov    0x4(%eax),%eax
3799 40003dd7:       89 45 ec                mov    %eax,-0x14(%ebp)
3800 40003dda:       8b 45 ec                mov    -0x14(%ebp),%eax
3801 40003ddd:       89 45 f0                mov    %eax,-0x10(%ebp)
3802 40003de0:       8b 45 08                mov    0x8(%ebp),%eax
3803 40003de3:       89 45 e0                mov    %eax,-0x20(%ebp)
3804 40003de6:       8b 45 ec                mov    -0x14(%ebp),%eax
3805 40003de9:       89 45 e4                mov    %eax,-0x1c(%ebp)
3806 40003dec:       c7 45 e8 00 00 00 00    movl   $0x0,-0x18(%ebp)
3807 40003df3:       8b 45 0c                mov    0xc(%ebp),%eax
3808 40003df6:       89 04 24                mov    %eax,(%esp)
3809 40003df9:       e8 16 c6 00 00          call   40010414 <path_parse>
3810 40003dfe:       89 45 fc                mov    %eax,-0x4(%ebp)
3811 40003e01:       c7 45 f4 00 00 00 00    movl   $0x0,-0xc(%ebp)
3812 40003e08:       e9 8c 00 00 00          jmp    40003e99 <cdi_fs_path2res+0xf2>
3813 40003e0d:       8b 45 fc                mov    -0x4(%ebp),%eax
3814 40003e10:       8b 50 04                mov    0x4(%eax),%edx
3815 40003e13:       8b 45 f4                mov    -0xc(%ebp),%eax
3816 40003e16:       c1 e0 02                shl    $0x2,%eax
3817 40003e19:       8d 04 02                lea    (%edx,%eax,1),%eax
3818 40003e1c:       8b 00                   mov    (%eax),%eax
3819 40003e1e:       0f b6 00                movzbl (%eax),%eax
3820 40003e21:       84 c0                   test   %al,%al
3821 40003e23:       74 70                   je     40003e95 <cdi_fs_path2res+0xee>
3822 40003e25:       8d 45 e0                lea    -0x20(%ebp),%eax
3823 40003e28:       89 04 24                mov    %eax,(%esp)
3824 40003e2b:       e8 0c ff ff ff          call   40003d3c <cdi_fs_loadres>
3825 40003e30:       c7 45 f8 00 00 00 00    movl   $0x0,-0x8(%ebp)
3826 40003e37:       eb 38                   jmp    40003e71 <cdi_fs_path2res+0xca>
3827 40003e39:       8b 45 fc                mov    -0x4(%ebp),%eax
3828 40003e3c:       8b 50 04                mov    0x4(%eax),%edx
3829 40003e3f:       8b 45 f4                mov    -0xc(%ebp),%eax
3830 40003e42:       c1 e0 02                shl    $0x2,%eax
3831 40003e45:       8d 04 02                lea    (%edx,%eax,1),%eax
3832 40003e48:       8b 10                   mov    (%eax),%edx
3833 40003e4a:       8b 45 f0                mov    -0x10(%ebp),%eax
3834 40003e4d:       8b 00                   mov    (%eax),%eax
3835 40003e4f:       89 54 24 04             mov    %edx,0x4(%esp)
3836 40003e53:       89 04 24                mov    %eax,(%esp)
3837 40003e56:       e8 3d b5 00 00          call   4000f398 <strcmp>
3838 40003e5b:       85 c0                   test   %eax,%eax
3839 40003e5d:       75 0e                   jne    40003e6d <cdi_fs_path2res+0xc6>
3840 40003e5f:       8b 45 f0                mov    -0x10(%ebp),%eax
3841 40003e62:       89 45 ec                mov    %eax,-0x14(%ebp)
3842 40003e65:       8b 45 f0                mov    -0x10(%ebp),%eax
3843 40003e68:       89 45 e4                mov    %eax,-0x1c(%ebp)
3844 40003e6b:       eb 22                   jmp    40003e8f <cdi_fs_path2res+0xe8>
3845 40003e6d:       83 45 f8 01             addl   $0x1,-0x8(%ebp)
3846 40003e71:       8b 45 ec                mov    -0x14(%ebp),%eax
3847 40003e74:       8b 50 14                mov    0x14(%eax),%edx
3848 40003e77:       8b 45 f8                mov    -0x8(%ebp),%eax
3849 40003e7a:       89 44 24 04             mov    %eax,0x4(%esp)
3850 40003e7e:       89 14 24                mov    %edx,(%esp)
3851 40003e81:       e8 2e fa ff ff          call   400038b4 <cdi_list_get>
3852 40003e86:       89 45 f0                mov    %eax,-0x10(%ebp)
3853 40003e89:       83 7d f0 00             cmpl   $0x0,-0x10(%ebp)
3854 40003e8d:       75 aa                   jne    40003e39 <cdi_fs_path2res+0x92>
3855 40003e8f:       83 7d f0 00             cmpl   $0x0,-0x10(%ebp)
3856 40003e93:       74 12                   je     40003ea7 <cdi_fs_path2res+0x100>
3857 40003e95:       83 45 f4 01             addl   $0x1,-0xc(%ebp)
3858 40003e99:       8b 45 fc                mov    -0x4(%ebp),%eax
3859 40003e9c:       8b 00                   mov    (%eax),%eax
3860 40003e9e:       3b 45 f4                cmp    -0xc(%ebp),%eax
3861 40003ea1:       0f 87 66 ff ff ff       ja     40003e0d <cdi_fs_path2res+0x66>
3862 40003ea7:       8b 45 f0                mov    -0x10(%ebp),%eax
3863 40003eaa:       c9                      leave  
3864 40003eab:       c3                      ret    
3866 40003eac <cdi_fs_mode2class>:
3867 40003eac:       55                      push   %ebp
3868 40003ead:       89 e5                   mov    %esp,%ebp
3869 40003eaf:       83 ec 04                sub    $0x4,%esp
3870 40003eb2:       8b 45 08                mov    0x8(%ebp),%eax
3871 40003eb5:       25 00 f0 00 00          and    $0xf000,%eax
3872 40003eba:       3d 00 80 00 00          cmp    $0x8000,%eax
3873 40003ebf:       75 0c                   jne    40003ecd <cdi_fs_mode2class+0x21>
3874 40003ec1:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
3875 40003ec8:       e9 c1 00 00 00          jmp    40003f8e <cdi_fs_mode2class+0xe2>
3876 40003ecd:       8b 45 08                mov    0x8(%ebp),%eax
3877 40003ed0:       25 00 f0 00 00          and    $0xf000,%eax
3878 40003ed5:       3d 00 40 00 00          cmp    $0x4000,%eax
3879 40003eda:       75 0c                   jne    40003ee8 <cdi_fs_mode2class+0x3c>
3880 40003edc:       c7 45 fc 01 00 00 00    movl   $0x1,-0x4(%ebp)
3881 40003ee3:       e9 a6 00 00 00          jmp    40003f8e <cdi_fs_mode2class+0xe2>
3882 40003ee8:       8b 45 08                mov    0x8(%ebp),%eax
3883 40003eeb:       25 00 f0 00 00          and    $0xf000,%eax
3884 40003ef0:       3d 00 a0 00 00          cmp    $0xa000,%eax
3885 40003ef5:       75 0c                   jne    40003f03 <cdi_fs_mode2class+0x57>
3886 40003ef7:       c7 45 fc 02 00 00 00    movl   $0x2,-0x4(%ebp)
3887 40003efe:       e9 8b 00 00 00          jmp    40003f8e <cdi_fs_mode2class+0xe2>
3888 40003f03:       8b 45 08                mov    0x8(%ebp),%eax
3889 40003f06:       25 00 f0 00 00          and    $0xf000,%eax
3890 40003f0b:       3d 00 20 00 00          cmp    $0x2000,%eax
3891 40003f10:       75 12                   jne    40003f24 <cdi_fs_mode2class+0x78>
3892 40003f12:       8b 45 0c                mov    0xc(%ebp),%eax
3893 40003f15:       c7 00 01 00 00 00       movl   $0x1,(%eax)
3894 40003f1b:       c7 45 fc 03 00 00 00    movl   $0x3,-0x4(%ebp)
3895 40003f22:       eb 6a                   jmp    40003f8e <cdi_fs_mode2class+0xe2>
3896 40003f24:       8b 45 08                mov    0x8(%ebp),%eax
3897 40003f27:       25 00 f0 00 00          and    $0xf000,%eax
3898 40003f2c:       3d 00 60 00 00          cmp    $0x6000,%eax
3899 40003f31:       75 12                   jne    40003f45 <cdi_fs_mode2class+0x99>
3900 40003f33:       8b 45 0c                mov    0xc(%ebp),%eax
3901 40003f36:       c7 00 00 00 00 00       movl   $0x0,(%eax)
3902 40003f3c:       c7 45 fc 03 00 00 00    movl   $0x3,-0x4(%ebp)
3903 40003f43:       eb 49                   jmp    40003f8e <cdi_fs_mode2class+0xe2>
3904 40003f45:       8b 45 08                mov    0x8(%ebp),%eax
3905 40003f48:       25 00 f0 00 00          and    $0xf000,%eax
3906 40003f4d:       3d 00 10 00 00          cmp    $0x1000,%eax
3907 40003f52:       75 12                   jne    40003f66 <cdi_fs_mode2class+0xba>
3908 40003f54:       8b 45 0c                mov    0xc(%ebp),%eax
3909 40003f57:       c7 00 02 00 00 00       movl   $0x2,(%eax)
3910 40003f5d:       c7 45 fc 03 00 00 00    movl   $0x3,-0x4(%ebp)
3911 40003f64:       eb 28                   jmp    40003f8e <cdi_fs_mode2class+0xe2>
3912 40003f66:       8b 45 08                mov    0x8(%ebp),%eax
3913 40003f69:       25 00 f0 00 00          and    $0xf000,%eax
3914 40003f6e:       3d 00 c0 00 00          cmp    $0xc000,%eax
3915 40003f73:       75 12                   jne    40003f87 <cdi_fs_mode2class+0xdb>
3916 40003f75:       8b 45 0c                mov    0xc(%ebp),%eax
3917 40003f78:       c7 00 03 00 00 00       movl   $0x3,(%eax)
3918 40003f7e:       c7 45 fc 03 00 00 00    movl   $0x3,-0x4(%ebp)
3919 40003f85:       eb 07                   jmp    40003f8e <cdi_fs_mode2class+0xe2>
3920 40003f87:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
3921 40003f8e:       8b 45 fc                mov    -0x4(%ebp),%eax
3922 40003f91:       c9                      leave  
3923 40003f92:       c3                      ret    
3925 40003f93 <cdi_fs_class2mode>:
3926 40003f93:       55                      push   %ebp
3927 40003f94:       89 e5                   mov    %esp,%ebp
3928 40003f96:       83 ec 10                sub    $0x10,%esp
3929 40003f99:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
3930 40003fa0:       8b 45 08                mov    0x8(%ebp),%eax
3931 40003fa3:       8b 40 4c                mov    0x4c(%eax),%eax
3932 40003fa6:       85 c0                   test   %eax,%eax
3933 40003fa8:       74 07                   je     40003fb1 <cdi_fs_class2mode+0x1e>
3934 40003faa:       81 4d fc 00 80 00 00    orl    $0x8000,-0x4(%ebp)
3935 40003fb1:       8b 45 08                mov    0x8(%ebp),%eax
3936 40003fb4:       8b 40 50                mov    0x50(%eax),%eax
3937 40003fb7:       85 c0                   test   %eax,%eax
3938 40003fb9:       74 07                   je     40003fc2 <cdi_fs_class2mode+0x2f>
3939 40003fbb:       81 4d fc 00 40 00 00    orl    $0x4000,-0x4(%ebp)
3940 40003fc2:       8b 45 08                mov    0x8(%ebp),%eax
3941 40003fc5:       8b 40 54                mov    0x54(%eax),%eax
3942 40003fc8:       85 c0                   test   %eax,%eax
3943 40003fca:       74 07                   je     40003fd3 <cdi_fs_class2mode+0x40>
3944 40003fcc:       81 4d fc 00 a0 00 00    orl    $0xa000,-0x4(%ebp)
3945 40003fd3:       8b 45 08                mov    0x8(%ebp),%eax
3946 40003fd6:       8b 40 58                mov    0x58(%eax),%eax
3947 40003fd9:       85 c0                   test   %eax,%eax
3948 40003fdb:       74 4d                   je     4000402a <cdi_fs_class2mode+0x97>
3949 40003fdd:       8b 45 08                mov    0x8(%ebp),%eax
3950 40003fe0:       8b 40 5c                mov    0x5c(%eax),%eax
3951 40003fe3:       83 f8 01                cmp    $0x1,%eax
3952 40003fe6:       75 09                   jne    40003ff1 <cdi_fs_class2mode+0x5e>
3953 40003fe8:       81 4d fc 00 20 00 00    orl    $0x2000,-0x4(%ebp)
3954 40003fef:       eb 39                   jmp    4000402a <cdi_fs_class2mode+0x97>
3955 40003ff1:       8b 45 08                mov    0x8(%ebp),%eax
3956 40003ff4:       8b 40 5c                mov    0x5c(%eax),%eax
3957 40003ff7:       85 c0                   test   %eax,%eax
3958 40003ff9:       75 09                   jne    40004004 <cdi_fs_class2mode+0x71>
3959 40003ffb:       81 4d fc 00 60 00 00    orl    $0x6000,-0x4(%ebp)
3960 40004002:       eb 26                   jmp    4000402a <cdi_fs_class2mode+0x97>
3961 40004004:       8b 45 08                mov    0x8(%ebp),%eax
3962 40004007:       8b 40 5c                mov    0x5c(%eax),%eax
3963 4000400a:       83 f8 02                cmp    $0x2,%eax
3964 4000400d:       75 09                   jne    40004018 <cdi_fs_class2mode+0x85>
3965 4000400f:       81 4d fc 00 10 00 00    orl    $0x1000,-0x4(%ebp)
3966 40004016:       eb 12                   jmp    4000402a <cdi_fs_class2mode+0x97>
3967 40004018:       8b 45 08                mov    0x8(%ebp),%eax
3968 4000401b:       8b 40 5c                mov    0x5c(%eax),%eax
3969 4000401e:       83 f8 03                cmp    $0x3,%eax
3970 40004021:       75 07                   jne    4000402a <cdi_fs_class2mode+0x97>
3971 40004023:       81 4d fc 00 c0 00 00    orl    $0xc000,-0x4(%ebp)
3972 4000402a:       8b 45 fc                mov    -0x4(%ebp),%eax
3973 4000402d:       c9                      leave  
3974 4000402e:       c3                      ret    
3976 4000402f <cdi_fs_filesize>:
3977 4000402f:       55                      push   %ebp
3978 40004030:       89 e5                   mov    %esp,%ebp
3979 40004032:       83 ec 28                sub    $0x28,%esp
3980 40004035:       8b 45 0c                mov    0xc(%ebp),%eax
3981 40004038:       8b 40 48                mov    0x48(%eax),%eax
3982 4000403b:       8b 40 1c                mov    0x1c(%eax),%eax
3983 4000403e:       85 c0                   test   %eax,%eax
3984 40004040:       74 31                   je     40004073 <cdi_fs_filesize+0x44>
3985 40004042:       8b 45 08                mov    0x8(%ebp),%eax
3986 40004045:       89 45 f4                mov    %eax,-0xc(%ebp)
3987 40004048:       8b 45 0c                mov    0xc(%ebp),%eax
3988 4000404b:       89 45 f8                mov    %eax,-0x8(%ebp)
3989 4000404e:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
3990 40004055:       8b 45 0c                mov    0xc(%ebp),%eax
3991 40004058:       8b 40 48                mov    0x48(%eax),%eax
3992 4000405b:       8b 50 1c                mov    0x1c(%eax),%edx
3993 4000405e:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
3994 40004065:       00 
3995 40004066:       8d 45 f4                lea    -0xc(%ebp),%eax
3996 40004069:       89 04 24                mov    %eax,(%esp)
3997 4000406c:       ff d2                   call   *%edx
3998 4000406e:       89 45 ec                mov    %eax,-0x14(%ebp)
3999 40004071:       eb 07                   jmp    4000407a <cdi_fs_filesize+0x4b>
4000 40004073:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
4001 4000407a:       8b 45 ec                mov    -0x14(%ebp),%eax
4002 4000407d:       c9                      leave  
4003 4000407e:       c3                      ret    
4005 4000407f <fs_open>:
4006 4000407f:       55                      push   %ebp
4007 40004080:       89 e5                   mov    %esp,%ebp
4008 40004082:       83 ec 48                sub    $0x48,%esp
4009 40004085:       8b 15 60 59 01 40       mov    0x40015960,%edx
4010 4000408b:       8b 45 10                mov    0x10(%ebp),%eax
4011 4000408e:       89 44 24 10             mov    %eax,0x10(%esp)
4012 40004092:       8b 45 0c                mov    0xc(%ebp),%eax
4013 40004095:       89 44 24 0c             mov    %eax,0xc(%esp)
4014 40004099:       8b 45 08                mov    0x8(%ebp),%eax
4015 4000409c:       89 44 24 08             mov    %eax,0x8(%esp)
4016 400040a0:       c7 44 24 04 e4 2b 01    movl   $0x40012be4,0x4(%esp)
4017 400040a7:       40 
4018 400040a8:       89 14 24                mov    %edx,(%esp)
4019 400040ab:       e8 d8 4b 00 00          call   40008c88 <fprintf>
4020 400040b0:       8b 45 08                mov    0x8(%ebp),%eax
4021 400040b3:       89 04 24                mov    %eax,(%esp)
4022 400040b6:       e8 a1 f9 ff ff          call   40003a5c <cdi_fs_find>
4023 400040bb:       89 45 f0                mov    %eax,-0x10(%ebp)
4024 400040be:       83 7d f0 00             cmpl   $0x0,-0x10(%ebp)
4025 400040c2:       0f 84 74 01 00 00       je     4000423c <fs_open+0x1bd>
4026 400040c8:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
4027 400040cf:       00 
4028 400040d0:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
4029 400040d7:       00 
4030 400040d8:       8b 45 10                mov    0x10(%ebp),%eax
4031 400040db:       89 04 24                mov    %eax,(%esp)
4032 400040de:       e8 f1 91 00 00          call   4000d2d4 <shmat>
4033 400040e3:       89 45 f4                mov    %eax,-0xc(%ebp)
4034 400040e6:       83 7d f4 00             cmpl   $0x0,-0xc(%ebp)
4035 400040ea:       0f 84 3e 01 00 00       je     4000422e <fs_open+0x1af>
4036 400040f0:       8b 45 f4                mov    -0xc(%ebp),%eax
4037 400040f3:       89 44 24 04             mov    %eax,0x4(%esp)
4038 400040f7:       8b 45 f0                mov    -0x10(%ebp),%eax
4039 400040fa:       89 04 24                mov    %eax,(%esp)
4040 400040fd:       e8 a5 fc ff ff          call   40003da7 <cdi_fs_path2res>
4041 40004102:       89 45 f8                mov    %eax,-0x8(%ebp)
4042 40004105:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
4043 40004109:       0f 84 0b 01 00 00       je     4000421a <fs_open+0x19b>
4044 4000410f:       8b 45 f8                mov    -0x8(%ebp),%eax
4045 40004112:       8b 40 4c                mov    0x4c(%eax),%eax
4046 40004115:       85 c0                   test   %eax,%eax
4047 40004117:       0f 84 e9 00 00 00       je     40004206 <fs_open+0x187>
4048 4000411d:       8b 45 f0                mov    -0x10(%ebp),%eax
4049 40004120:       89 45 e4                mov    %eax,-0x1c(%ebp)
4050 40004123:       8b 45 f8                mov    -0x8(%ebp),%eax
4051 40004126:       89 45 e8                mov    %eax,-0x18(%ebp)
4052 40004129:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
4053 40004130:       8d 45 e4                lea    -0x1c(%ebp),%eax
4054 40004133:       89 04 24                mov    %eax,(%esp)
4055 40004136:       e8 01 fc ff ff          call   40003d3c <cdi_fs_loadres>
4056 4000413b:       85 c0                   test   %eax,%eax
4057 4000413d:       0f 85 a4 00 00 00       jne    400041e7 <fs_open+0x168>
4058 40004143:       c7 04 24 1c 00 00 00    movl   $0x1c,(%esp)
4059 4000414a:       e8 55 7c 00 00          call   4000bda4 <malloc>
4060 4000414f:       89 45 fc                mov    %eax,-0x4(%ebp)
4061 40004152:       8b 55 fc                mov    -0x4(%ebp),%edx
4062 40004155:       8b 45 f8                mov    -0x8(%ebp),%eax
4063 40004158:       89 02                   mov    %eax,(%edx)
4064 4000415a:       8b 45 f0                mov    -0x10(%ebp),%eax
4065 4000415d:       8b 50 1c                mov    0x1c(%eax),%edx
4066 40004160:       8b 45 fc                mov    -0x4(%ebp),%eax
4067 40004163:       89 50 04                mov    %edx,0x4(%eax)
4068 40004166:       83 c2 01                add    $0x1,%edx
4069 40004169:       8b 45 f0                mov    -0x10(%ebp),%eax
4070 4000416c:       89 50 1c                mov    %edx,0x1c(%eax)
4071 4000416f:       8b 45 fc                mov    -0x4(%ebp),%eax
4072 40004172:       c7 40 08 00 00 00 00    movl   $0x0,0x8(%eax)
4073 40004179:       8b 45 0c                mov    0xc(%ebp),%eax
4074 4000417c:       83 e0 40                and    $0x40,%eax
4075 4000417f:       85 c0                   test   %eax,%eax
4076 40004181:       74 1e                   je     400041a1 <fs_open+0x122>
4077 40004183:       8b 45 f8                mov    -0x8(%ebp),%eax
4078 40004186:       89 44 24 04             mov    %eax,0x4(%esp)
4079 4000418a:       8b 45 f0                mov    -0x10(%ebp),%eax
4080 4000418d:       89 04 24                mov    %eax,(%esp)
4081 40004190:       e8 9a fe ff ff          call   4000402f <cdi_fs_filesize>
4082 40004195:       89 45 d0                mov    %eax,-0x30(%ebp)
4083 40004198:       c7 45 d4 00 00 00 00    movl   $0x0,-0x2c(%ebp)
4084 4000419f:       eb 0e                   jmp    400041af <fs_open+0x130>
4085 400041a1:       c7 45 d0 00 00 00 00    movl   $0x0,-0x30(%ebp)
4086 400041a8:       c7 45 d4 00 00 00 00    movl   $0x0,-0x2c(%ebp)
4087 400041af:       8b 45 fc                mov    -0x4(%ebp),%eax
4088 400041b2:       8b 55 d0                mov    -0x30(%ebp),%edx
4089 400041b5:       8b 4d d4                mov    -0x2c(%ebp),%ecx
4090 400041b8:       89 50 0c                mov    %edx,0xc(%eax)
4091 400041bb:       89 48 10                mov    %ecx,0x10(%eax)
4092 400041be:       8b 55 fc                mov    -0x4(%ebp),%edx
4093 400041c1:       8b 45 f4                mov    -0xc(%ebp),%eax
4094 400041c4:       89 42 14                mov    %eax,0x14(%edx)
4095 400041c7:       8b 45 f0                mov    -0x10(%ebp),%eax
4096 400041ca:       8b 50 20                mov    0x20(%eax),%edx
4097 400041cd:       8b 45 fc                mov    -0x4(%ebp),%eax
4098 400041d0:       89 44 24 04             mov    %eax,0x4(%esp)
4099 400041d4:       89 14 24                mov    %edx,(%esp)
4100 400041d7:       e8 e7 f5 ff ff          call   400037c3 <cdi_list_push>
4101 400041dc:       8b 45 fc                mov    -0x4(%ebp),%eax
4102 400041df:       8b 40 04                mov    0x4(%eax),%eax
4103 400041e2:       89 45 dc                mov    %eax,-0x24(%ebp)
4104 400041e5:       eb 5c                   jmp    40004243 <fs_open+0x1c4>
4105 400041e7:       8b 45 f4                mov    -0xc(%ebp),%eax
4106 400041ea:       89 04 24                mov    %eax,(%esp)
4107 400041ed:       e8 65 91 00 00          call   4000d357 <shmdt>
4108 400041f2:       8b 45 ec                mov    -0x14(%ebp),%eax
4109 400041f5:       89 04 24                mov    %eax,(%esp)
4110 400041f8:       e8 3e f9 ff ff          call   40003b3b <cdi_fs_error2errno>
4111 400041fd:       89 c1                   mov    %eax,%ecx
4112 400041ff:       f7 d9                   neg    %ecx
4113 40004201:       89 4d dc                mov    %ecx,-0x24(%ebp)
4114 40004204:       eb 3d                   jmp    40004243 <fs_open+0x1c4>
4115 40004206:       8b 45 f4                mov    -0xc(%ebp),%eax
4116 40004209:       89 04 24                mov    %eax,(%esp)
4117 4000420c:       e8 46 91 00 00          call   4000d357 <shmdt>
4118 40004211:       c7 45 dc d3 ff ff ff    movl   $0xffffffd3,-0x24(%ebp)
4119 40004218:       eb 29                   jmp    40004243 <fs_open+0x1c4>
4120 4000421a:       8b 45 f4                mov    -0xc(%ebp),%eax
4121 4000421d:       89 04 24                mov    %eax,(%esp)
4122 40004220:       e8 32 91 00 00          call   4000d357 <shmdt>
4123 40004225:       c7 45 dc d3 ff ff ff    movl   $0xffffffd3,-0x24(%ebp)
4124 4000422c:       eb 15                   jmp    40004243 <fs_open+0x1c4>
4125 4000422e:       a1 54 59 01 40          mov    0x40015954,%eax
4126 40004233:       89 c2                   mov    %eax,%edx
4127 40004235:       f7 da                   neg    %edx
4128 40004237:       89 55 dc                mov    %edx,-0x24(%ebp)
4129 4000423a:       eb 07                   jmp    40004243 <fs_open+0x1c4>
4130 4000423c:       c7 45 dc e4 ff ff ff    movl   $0xffffffe4,-0x24(%ebp)
4131 40004243:       8b 45 dc                mov    -0x24(%ebp),%eax
4132 40004246:       c9                      leave  
4133 40004247:       c3                      ret    
4135 40004248 <fs_close>:
4136 40004248:       55                      push   %ebp
4137 40004249:       89 e5                   mov    %esp,%ebp
4138 4000424b:       83 ec 38                sub    $0x38,%esp
4139 4000424e:       8b 15 60 59 01 40       mov    0x40015960,%edx
4140 40004254:       8b 45 0c                mov    0xc(%ebp),%eax
4141 40004257:       89 44 24 0c             mov    %eax,0xc(%esp)
4142 4000425b:       8b 45 08                mov    0x8(%ebp),%eax
4143 4000425e:       89 44 24 08             mov    %eax,0x8(%esp)
4144 40004262:       c7 44 24 04 f7 2b 01    movl   $0x40012bf7,0x4(%esp)
4145 40004269:       40 
4146 4000426a:       89 14 24                mov    %edx,(%esp)
4147 4000426d:       e8 16 4a 00 00          call   40008c88 <fprintf>
4148 40004272:       8b 45 08                mov    0x8(%ebp),%eax
4149 40004275:       89 04 24                mov    %eax,(%esp)
4150 40004278:       e8 df f7 ff ff          call   40003a5c <cdi_fs_find>
4151 4000427d:       89 45 f8                mov    %eax,-0x8(%ebp)
4152 40004280:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
4153 40004284:       0f 84 bf 00 00 00       je     40004349 <fs_close+0x101>
4154 4000428a:       8b 45 0c                mov    0xc(%ebp),%eax
4155 4000428d:       89 44 24 04             mov    %eax,0x4(%esp)
4156 40004291:       8b 45 f8                mov    -0x8(%ebp),%eax
4157 40004294:       89 04 24                mov    %eax,(%esp)
4158 40004297:       e8 2c f8 ff ff          call   40003ac8 <cdi_fs_file_find>
4159 4000429c:       89 45 fc                mov    %eax,-0x4(%ebp)
4160 4000429f:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
4161 400042a3:       0f 84 97 00 00 00       je     40004340 <fs_close+0xf8>
4162 400042a9:       8b 45 fc                mov    -0x4(%ebp),%eax
4163 400042ac:       8b 40 08                mov    0x8(%eax),%eax
4164 400042af:       85 c0                   test   %eax,%eax
4165 400042b1:       0f 85 80 00 00 00       jne    40004337 <fs_close+0xef>
4166 400042b7:       8b 45 fc                mov    -0x4(%ebp),%eax
4167 400042ba:       8b 10                   mov    (%eax),%edx
4168 400042bc:       8b 45 f8                mov    -0x8(%ebp),%eax
4169 400042bf:       89 45 ec                mov    %eax,-0x14(%ebp)
4170 400042c2:       89 55 f0                mov    %edx,-0x10(%ebp)
4171 400042c5:       c7 45 f4 00 00 00 00    movl   $0x0,-0xc(%ebp)
4172 400042cc:       8b 45 fc                mov    -0x4(%ebp),%eax
4173 400042cf:       8b 00                   mov    (%eax),%eax
4174 400042d1:       8b 40 48                mov    0x48(%eax),%eax
4175 400042d4:       8b 50 04                mov    0x4(%eax),%edx
4176 400042d7:       8d 45 ec                lea    -0x14(%ebp),%eax
4177 400042da:       89 04 24                mov    %eax,(%esp)
4178 400042dd:       ff d2                   call   *%edx
4179 400042df:       85 c0                   test   %eax,%eax
4180 400042e1:       74 4b                   je     4000432e <fs_close+0xe6>
4181 400042e3:       8b 45 fc                mov    -0x4(%ebp),%eax
4182 400042e6:       8b 40 14                mov    0x14(%eax),%eax
4183 400042e9:       89 04 24                mov    %eax,(%esp)
4184 400042ec:       e8 66 90 00 00          call   4000d357 <shmdt>
4185 400042f1:       8b 45 f8                mov    -0x8(%ebp),%eax
4186 400042f4:       8b 50 20                mov    0x20(%eax),%edx
4187 400042f7:       8b 45 fc                mov    -0x4(%ebp),%eax
4188 400042fa:       89 44 24 04             mov    %eax,0x4(%esp)
4189 400042fe:       89 14 24                mov    %edx,(%esp)
4190 40004301:       e8 3f bb 00 00          call   4000fe45 <llist_find>
4191 40004306:       89 c2                   mov    %eax,%edx
4192 40004308:       8b 45 f8                mov    -0x8(%ebp),%eax
4193 4000430b:       8b 40 20                mov    0x20(%eax),%eax
4194 4000430e:       89 54 24 04             mov    %edx,0x4(%esp)
4195 40004312:       89 04 24                mov    %eax,(%esp)
4196 40004315:       e8 3b 00 00 00          call   40004355 <cdi_list_remove>
4197 4000431a:       8b 45 fc                mov    -0x4(%ebp),%eax
4198 4000431d:       89 04 24                mov    %eax,(%esp)
4199 40004320:       e8 36 7f 00 00          call   4000c25b <free>
4200 40004325:       c7 45 dc 00 00 00 00    movl   $0x0,-0x24(%ebp)
4201 4000432c:       eb 22                   jmp    40004350 <fs_close+0x108>
4202 4000432e:       c7 45 dc c9 ff ff ff    movl   $0xffffffc9,-0x24(%ebp)
4203 40004335:       eb 19                   jmp    40004350 <fs_close+0x108>
4204 40004337:       c7 45 dc f8 ff ff ff    movl   $0xfffffff8,-0x24(%ebp)
4205 4000433e:       eb 10                   jmp    40004350 <fs_close+0x108>
4206 40004340:       c7 45 dc f8 ff ff ff    movl   $0xfffffff8,-0x24(%ebp)
4207 40004347:       eb 07                   jmp    40004350 <fs_close+0x108>
4208 40004349:       c7 45 dc e4 ff ff ff    movl   $0xffffffe4,-0x24(%ebp)
4209 40004350:       8b 45 dc                mov    -0x24(%ebp),%eax
4210 40004353:       c9                      leave  
4211 40004354:       c3                      ret    
4213 40004355 <cdi_list_remove>:
4214 40004355:       55                      push   %ebp
4215 40004356:       89 e5                   mov    %esp,%ebp
4216 40004358:       83 ec 08                sub    $0x8,%esp
4217 4000435b:       8b 45 0c                mov    0xc(%ebp),%eax
4218 4000435e:       89 44 24 04             mov    %eax,0x4(%esp)
4219 40004362:       8b 45 08                mov    0x8(%ebp),%eax
4220 40004365:       89 04 24                mov    %eax,(%esp)
4221 40004368:       e8 10 ba 00 00          call   4000fd7d <llist_remove>
4222 4000436d:       c9                      leave  
4223 4000436e:       c3                      ret    
4225 4000436f <fs_read>:
4226 4000436f:       55                      push   %ebp
4227 40004370:       89 e5                   mov    %esp,%ebp
4228 40004372:       56                      push   %esi
4229 40004373:       53                      push   %ebx
4230 40004374:       83 ec 40                sub    $0x40,%esp
4231 40004377:       8b 15 60 59 01 40       mov    0x40015960,%edx
4232 4000437d:       8b 45 10                mov    0x10(%ebp),%eax
4233 40004380:       89 44 24 10             mov    %eax,0x10(%esp)
4234 40004384:       8b 45 0c                mov    0xc(%ebp),%eax
4235 40004387:       89 44 24 0c             mov    %eax,0xc(%esp)
4236 4000438b:       8b 45 08                mov    0x8(%ebp),%eax
4237 4000438e:       89 44 24 08             mov    %eax,0x8(%esp)
4238 40004392:       c7 44 24 04 08 2c 01    movl   $0x40012c08,0x4(%esp)
4239 40004399:       40 
4240 4000439a:       89 14 24                mov    %edx,(%esp)
4241 4000439d:       e8 e6 48 00 00          call   40008c88 <fprintf>
4242 400043a2:       8b 45 08                mov    0x8(%ebp),%eax
4243 400043a5:       89 04 24                mov    %eax,(%esp)
4244 400043a8:       e8 af f6 ff ff          call   40003a5c <cdi_fs_find>
4245 400043ad:       89 45 ec                mov    %eax,-0x14(%ebp)
4246 400043b0:       83 7d ec 00             cmpl   $0x0,-0x14(%ebp)
4247 400043b4:       0f 84 04 01 00 00       je     400044be <fs_read+0x14f>
4248 400043ba:       8b 45 0c                mov    0xc(%ebp),%eax
4249 400043bd:       89 44 24 04             mov    %eax,0x4(%esp)
4250 400043c1:       8b 45 ec                mov    -0x14(%ebp),%eax
4251 400043c4:       89 04 24                mov    %eax,(%esp)
4252 400043c7:       e8 fc f6 ff ff          call   40003ac8 <cdi_fs_file_find>
4253 400043cc:       89 45 f0                mov    %eax,-0x10(%ebp)
4254 400043cf:       83 7d f0 00             cmpl   $0x0,-0x10(%ebp)
4255 400043d3:       0f 84 dc 00 00 00       je     400044b5 <fs_read+0x146>
4256 400043d9:       8b 45 f0                mov    -0x10(%ebp),%eax
4257 400043dc:       8b 00                   mov    (%eax),%eax
4258 400043de:       8b 40 4c                mov    0x4c(%eax),%eax
4259 400043e1:       85 c0                   test   %eax,%eax
4260 400043e3:       0f 84 c3 00 00 00       je     400044ac <fs_read+0x13d>
4261 400043e9:       8b 45 f0                mov    -0x10(%ebp),%eax
4262 400043ec:       8b 40 08                mov    0x8(%eax),%eax
4263 400043ef:       85 c0                   test   %eax,%eax
4264 400043f1:       0f 85 b5 00 00 00       jne    400044ac <fs_read+0x13d>
4265 400043f7:       8b 45 f0                mov    -0x10(%ebp),%eax
4266 400043fa:       8b 00                   mov    (%eax),%eax
4267 400043fc:       8b 40 4c                mov    0x4c(%eax),%eax
4268 400043ff:       8b 40 04                mov    0x4(%eax),%eax
4269 40004402:       85 c0                   test   %eax,%eax
4270 40004404:       0f 84 99 00 00 00       je     400044a3 <fs_read+0x134>
4271 4000440a:       8b 45 f0                mov    -0x10(%ebp),%eax
4272 4000440d:       8b 10                   mov    (%eax),%edx
4273 4000440f:       8b 45 ec                mov    -0x14(%ebp),%eax
4274 40004412:       89 45 e0                mov    %eax,-0x20(%ebp)
4275 40004415:       89 55 e4                mov    %edx,-0x1c(%ebp)
4276 40004418:       c7 45 e8 00 00 00 00    movl   $0x0,-0x18(%ebp)
4277 4000441f:       8b 45 f0                mov    -0x10(%ebp),%eax
4278 40004422:       8b 00                   mov    (%eax),%eax
4279 40004424:       8b 40 4c                mov    0x4c(%eax),%eax
4280 40004427:       8b 70 04                mov    0x4(%eax),%esi
4281 4000442a:       8b 45 f0                mov    -0x10(%ebp),%eax
4282 4000442d:       8b 58 14                mov    0x14(%eax),%ebx
4283 40004430:       8b 45 f0                mov    -0x10(%ebp),%eax
4284 40004433:       8b 50 0c                mov    0xc(%eax),%edx
4285 40004436:       8b 48 10                mov    0x10(%eax),%ecx
4286 40004439:       89 5c 24 10             mov    %ebx,0x10(%esp)
4287 4000443d:       8b 45 10                mov    0x10(%ebp),%eax
4288 40004440:       89 44 24 0c             mov    %eax,0xc(%esp)
4289 40004444:       89 54 24 04             mov    %edx,0x4(%esp)
4290 40004448:       89 4c 24 08             mov    %ecx,0x8(%esp)
4291 4000444c:       8d 45 e0                lea    -0x20(%ebp),%eax
4292 4000444f:       89 04 24                mov    %eax,(%esp)
4293 40004452:       ff d6                   call   *%esi
4294 40004454:       89 45 f4                mov    %eax,-0xc(%ebp)
4295 40004457:       83 7d f4 00             cmpl   $0x0,-0xc(%ebp)
4296 4000445b:       7e 1e                   jle    4000447b <fs_read+0x10c>
4297 4000445d:       8b 45 f0                mov    -0x10(%ebp),%eax
4298 40004460:       8b 48 0c                mov    0xc(%eax),%ecx
4299 40004463:       8b 58 10                mov    0x10(%eax),%ebx
4300 40004466:       8b 45 f4                mov    -0xc(%ebp),%eax
4301 40004469:       89 c2                   mov    %eax,%edx
4302 4000446b:       c1 fa 1f                sar    $0x1f,%edx
4303 4000446e:       01 c8                   add    %ecx,%eax
4304 40004470:       11 da                   adc    %ebx,%edx
4305 40004472:       8b 4d f0                mov    -0x10(%ebp),%ecx
4306 40004475:       89 41 0c                mov    %eax,0xc(%ecx)
4307 40004478:       89 51 10                mov    %edx,0x10(%ecx)
4308 4000447b:       83 7d f4 00             cmpl   $0x0,-0xc(%ebp)
4309 4000447f:       79 14                   jns    40004495 <fs_read+0x126>
4310 40004481:       8b 45 e8                mov    -0x18(%ebp),%eax
4311 40004484:       89 04 24                mov    %eax,(%esp)
4312 40004487:       e8 af f6 ff ff          call   40003b3b <cdi_fs_error2errno>
4313 4000448c:       89 c2                   mov    %eax,%edx
4314 4000448e:       f7 da                   neg    %edx
4315 40004490:       89 55 d4                mov    %edx,-0x2c(%ebp)
4316 40004493:       eb 06                   jmp    4000449b <fs_read+0x12c>
4317 40004495:       8b 45 f4                mov    -0xc(%ebp),%eax
4318 40004498:       89 45 d4                mov    %eax,-0x2c(%ebp)
4319 4000449b:       8b 55 d4                mov    -0x2c(%ebp),%edx
4320 4000449e:       89 55 d0                mov    %edx,-0x30(%ebp)
4321 400044a1:       eb 22                   jmp    400044c5 <fs_read+0x156>
4322 400044a3:       c7 45 d0 c9 ff ff ff    movl   $0xffffffc9,-0x30(%ebp)
4323 400044aa:       eb 19                   jmp    400044c5 <fs_read+0x156>
4324 400044ac:       c7 45 d0 f8 ff ff ff    movl   $0xfffffff8,-0x30(%ebp)
4325 400044b3:       eb 10                   jmp    400044c5 <fs_read+0x156>
4326 400044b5:       c7 45 d0 f8 ff ff ff    movl   $0xfffffff8,-0x30(%ebp)
4327 400044bc:       eb 07                   jmp    400044c5 <fs_read+0x156>
4328 400044be:       c7 45 d0 e4 ff ff ff    movl   $0xffffffe4,-0x30(%ebp)
4329 400044c5:       8b 45 d0                mov    -0x30(%ebp),%eax
4330 400044c8:       83 c4 40                add    $0x40,%esp
4331 400044cb:       5b                      pop    %ebx
4332 400044cc:       5e                      pop    %esi
4333 400044cd:       5d                      pop    %ebp
4334 400044ce:       c3                      ret    
4336 400044cf <fs_write>:
4337 400044cf:       55                      push   %ebp
4338 400044d0:       89 e5                   mov    %esp,%ebp
4339 400044d2:       56                      push   %esi
4340 400044d3:       53                      push   %ebx
4341 400044d4:       83 ec 40                sub    $0x40,%esp
4342 400044d7:       8b 15 60 59 01 40       mov    0x40015960,%edx
4343 400044dd:       8b 45 10                mov    0x10(%ebp),%eax
4344 400044e0:       89 44 24 10             mov    %eax,0x10(%esp)
4345 400044e4:       8b 45 0c                mov    0xc(%ebp),%eax
4346 400044e7:       89 44 24 0c             mov    %eax,0xc(%esp)
4347 400044eb:       8b 45 08                mov    0x8(%ebp),%eax
4348 400044ee:       89 44 24 08             mov    %eax,0x8(%esp)
4349 400044f2:       c7 44 24 04 1b 2c 01    movl   $0x40012c1b,0x4(%esp)
4350 400044f9:       40 
4351 400044fa:       89 14 24                mov    %edx,(%esp)
4352 400044fd:       e8 86 47 00 00          call   40008c88 <fprintf>
4353 40004502:       8b 45 08                mov    0x8(%ebp),%eax
4354 40004505:       89 04 24                mov    %eax,(%esp)
4355 40004508:       e8 4f f5 ff ff          call   40003a5c <cdi_fs_find>
4356 4000450d:       89 45 ec                mov    %eax,-0x14(%ebp)
4357 40004510:       83 7d ec 00             cmpl   $0x0,-0x14(%ebp)
4358 40004514:       0f 84 04 01 00 00       je     4000461e <fs_write+0x14f>
4359 4000451a:       8b 45 0c                mov    0xc(%ebp),%eax
4360 4000451d:       89 44 24 04             mov    %eax,0x4(%esp)
4361 40004521:       8b 45 ec                mov    -0x14(%ebp),%eax
4362 40004524:       89 04 24                mov    %eax,(%esp)
4363 40004527:       e8 9c f5 ff ff          call   40003ac8 <cdi_fs_file_find>
4364 4000452c:       89 45 f0                mov    %eax,-0x10(%ebp)
4365 4000452f:       83 7d f0 00             cmpl   $0x0,-0x10(%ebp)
4366 40004533:       0f 84 dc 00 00 00       je     40004615 <fs_write+0x146>
4367 40004539:       8b 45 f0                mov    -0x10(%ebp),%eax
4368 4000453c:       8b 00                   mov    (%eax),%eax
4369 4000453e:       8b 40 4c                mov    0x4c(%eax),%eax
4370 40004541:       85 c0                   test   %eax,%eax
4371 40004543:       0f 84 c3 00 00 00       je     4000460c <fs_write+0x13d>
4372 40004549:       8b 45 f0                mov    -0x10(%ebp),%eax
4373 4000454c:       8b 40 08                mov    0x8(%eax),%eax
4374 4000454f:       85 c0                   test   %eax,%eax
4375 40004551:       0f 85 b5 00 00 00       jne    4000460c <fs_write+0x13d>
4376 40004557:       8b 45 f0                mov    -0x10(%ebp),%eax
4377 4000455a:       8b 00                   mov    (%eax),%eax
4378 4000455c:       8b 40 4c                mov    0x4c(%eax),%eax
4379 4000455f:       8b 40 08                mov    0x8(%eax),%eax
4380 40004562:       85 c0                   test   %eax,%eax
4381 40004564:       0f 84 99 00 00 00       je     40004603 <fs_write+0x134>
4382 4000456a:       8b 45 f0                mov    -0x10(%ebp),%eax
4383 4000456d:       8b 10                   mov    (%eax),%edx
4384 4000456f:       8b 45 ec                mov    -0x14(%ebp),%eax
4385 40004572:       89 45 e0                mov    %eax,-0x20(%ebp)
4386 40004575:       89 55 e4                mov    %edx,-0x1c(%ebp)
4387 40004578:       c7 45 e8 00 00 00 00    movl   $0x0,-0x18(%ebp)
4388 4000457f:       8b 45 f0                mov    -0x10(%ebp),%eax
4389 40004582:       8b 00                   mov    (%eax),%eax
4390 40004584:       8b 40 4c                mov    0x4c(%eax),%eax
4391 40004587:       8b 70 08                mov    0x8(%eax),%esi
4392 4000458a:       8b 45 f0                mov    -0x10(%ebp),%eax
4393 4000458d:       8b 58 14                mov    0x14(%eax),%ebx
4394 40004590:       8b 45 f0                mov    -0x10(%ebp),%eax
4395 40004593:       8b 50 0c                mov    0xc(%eax),%edx
4396 40004596:       8b 48 10                mov    0x10(%eax),%ecx
4397 40004599:       89 5c 24 10             mov    %ebx,0x10(%esp)
4398 4000459d:       8b 45 10                mov    0x10(%ebp),%eax
4399 400045a0:       89 44 24 0c             mov    %eax,0xc(%esp)
4400 400045a4:       89 54 24 04             mov    %edx,0x4(%esp)
4401 400045a8:       89 4c 24 08             mov    %ecx,0x8(%esp)
4402 400045ac:       8d 45 e0                lea    -0x20(%ebp),%eax
4403 400045af:       89 04 24                mov    %eax,(%esp)
4404 400045b2:       ff d6                   call   *%esi
4405 400045b4:       89 45 f4                mov    %eax,-0xc(%ebp)
4406 400045b7:       83 7d f4 00             cmpl   $0x0,-0xc(%ebp)
4407 400045bb:       7e 1e                   jle    400045db <fs_write+0x10c>
4408 400045bd:       8b 45 f0                mov    -0x10(%ebp),%eax
4409 400045c0:       8b 48 0c                mov    0xc(%eax),%ecx
4410 400045c3:       8b 58 10                mov    0x10(%eax),%ebx
4411 400045c6:       8b 45 f4                mov    -0xc(%ebp),%eax
4412 400045c9:       89 c2                   mov    %eax,%edx
4413 400045cb:       c1 fa 1f                sar    $0x1f,%edx
4414 400045ce:       01 c8                   add    %ecx,%eax
4415 400045d0:       11 da                   adc    %ebx,%edx
4416 400045d2:       8b 4d f0                mov    -0x10(%ebp),%ecx
4417 400045d5:       89 41 0c                mov    %eax,0xc(%ecx)
4418 400045d8:       89 51 10                mov    %edx,0x10(%ecx)
4419 400045db:       83 7d f4 00             cmpl   $0x0,-0xc(%ebp)
4420 400045df:       79 14                   jns    400045f5 <fs_write+0x126>
4421 400045e1:       8b 45 e8                mov    -0x18(%ebp),%eax
4422 400045e4:       89 04 24                mov    %eax,(%esp)
4423 400045e7:       e8 4f f5 ff ff          call   40003b3b <cdi_fs_error2errno>
4424 400045ec:       89 c2                   mov    %eax,%edx
4425 400045ee:       f7 da                   neg    %edx
4426 400045f0:       89 55 d4                mov    %edx,-0x2c(%ebp)
4427 400045f3:       eb 06                   jmp    400045fb <fs_write+0x12c>
4428 400045f5:       8b 45 f4                mov    -0xc(%ebp),%eax
4429 400045f8:       89 45 d4                mov    %eax,-0x2c(%ebp)
4430 400045fb:       8b 55 d4                mov    -0x2c(%ebp),%edx
4431 400045fe:       89 55 d0                mov    %edx,-0x30(%ebp)
4432 40004601:       eb 22                   jmp    40004625 <fs_write+0x156>
4433 40004603:       c7 45 d0 c9 ff ff ff    movl   $0xffffffc9,-0x30(%ebp)
4434 4000460a:       eb 19                   jmp    40004625 <fs_write+0x156>
4435 4000460c:       c7 45 d0 f8 ff ff ff    movl   $0xfffffff8,-0x30(%ebp)
4436 40004613:       eb 10                   jmp    40004625 <fs_write+0x156>
4437 40004615:       c7 45 d0 f8 ff ff ff    movl   $0xfffffff8,-0x30(%ebp)
4438 4000461c:       eb 07                   jmp    40004625 <fs_write+0x156>
4439 4000461e:       c7 45 d0 e4 ff ff ff    movl   $0xffffffe4,-0x30(%ebp)
4440 40004625:       8b 45 d0                mov    -0x30(%ebp),%eax
4441 40004628:       83 c4 40                add    $0x40,%esp
4442 4000462b:       5b                      pop    %ebx
4443 4000462c:       5e                      pop    %esi
4444 4000462d:       5d                      pop    %ebp
4445 4000462e:       c3                      ret    
4447 4000462f <fs_seek>:
4448 4000462f:       55                      push   %ebp
4449 40004630:       89 e5                   mov    %esp,%ebp
4450 40004632:       53                      push   %ebx
4451 40004633:       83 ec 34                sub    $0x34,%esp
4452 40004636:       8b 15 60 59 01 40       mov    0x40015960,%edx
4453 4000463c:       8b 45 14                mov    0x14(%ebp),%eax
4454 4000463f:       89 44 24 14             mov    %eax,0x14(%esp)
4455 40004643:       8b 45 10                mov    0x10(%ebp),%eax
4456 40004646:       89 44 24 10             mov    %eax,0x10(%esp)
4457 4000464a:       8b 45 0c                mov    0xc(%ebp),%eax
4458 4000464d:       89 44 24 0c             mov    %eax,0xc(%esp)
4459 40004651:       8b 45 08                mov    0x8(%ebp),%eax
4460 40004654:       89 44 24 08             mov    %eax,0x8(%esp)
4461 40004658:       c7 44 24 04 2f 2c 01    movl   $0x40012c2f,0x4(%esp)
4462 4000465f:       40 
4463 40004660:       89 14 24                mov    %edx,(%esp)
4464 40004663:       e8 20 46 00 00          call   40008c88 <fprintf>
4465 40004668:       8b 45 08                mov    0x8(%ebp),%eax
4466 4000466b:       89 04 24                mov    %eax,(%esp)
4467 4000466e:       e8 e9 f3 ff ff          call   40003a5c <cdi_fs_find>
4468 40004673:       89 45 f4                mov    %eax,-0xc(%ebp)
4469 40004676:       83 7d f4 00             cmpl   $0x0,-0xc(%ebp)
4470 4000467a:       0f 84 c7 00 00 00       je     40004747 <fs_seek+0x118>
4471 40004680:       8b 45 0c                mov    0xc(%ebp),%eax
4472 40004683:       89 44 24 04             mov    %eax,0x4(%esp)
4473 40004687:       8b 45 f4                mov    -0xc(%ebp),%eax
4474 4000468a:       89 04 24                mov    %eax,(%esp)
4475 4000468d:       e8 36 f4 ff ff          call   40003ac8 <cdi_fs_file_find>
4476 40004692:       89 45 f8                mov    %eax,-0x8(%ebp)
4477 40004695:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
4478 40004699:       0f 84 9f 00 00 00       je     4000473e <fs_seek+0x10f>
4479 4000469f:       8b 45 f8                mov    -0x8(%ebp),%eax
4480 400046a2:       8b 40 08                mov    0x8(%eax),%eax
4481 400046a5:       85 c0                   test   %eax,%eax
4482 400046a7:       0f 85 88 00 00 00       jne    40004735 <fs_seek+0x106>
4483 400046ad:       83 7d 14 00             cmpl   $0x0,0x14(%ebp)
4484 400046b1:       75 13                   jne    400046c6 <fs_seek+0x97>
4485 400046b3:       8b 45 10                mov    0x10(%ebp),%eax
4486 400046b6:       89 c2                   mov    %eax,%edx
4487 400046b8:       c1 fa 1f                sar    $0x1f,%edx
4488 400046bb:       8b 4d f8                mov    -0x8(%ebp),%ecx
4489 400046be:       89 41 0c                mov    %eax,0xc(%ecx)
4490 400046c1:       89 51 10                mov    %edx,0x10(%ecx)
4491 400046c4:       eb 61                   jmp    40004727 <fs_seek+0xf8>
4492 400046c6:       83 7d 14 01             cmpl   $0x1,0x14(%ebp)
4493 400046ca:       75 20                   jne    400046ec <fs_seek+0xbd>
4494 400046cc:       8b 45 f8                mov    -0x8(%ebp),%eax
4495 400046cf:       8b 48 0c                mov    0xc(%eax),%ecx
4496 400046d2:       8b 58 10                mov    0x10(%eax),%ebx
4497 400046d5:       8b 45 10                mov    0x10(%ebp),%eax
4498 400046d8:       89 c2                   mov    %eax,%edx
4499 400046da:       c1 fa 1f                sar    $0x1f,%edx
4500 400046dd:       01 c8                   add    %ecx,%eax
4501 400046df:       11 da                   adc    %ebx,%edx
4502 400046e1:       8b 4d f8                mov    -0x8(%ebp),%ecx
4503 400046e4:       89 41 0c                mov    %eax,0xc(%ecx)
4504 400046e7:       89 51 10                mov    %edx,0x10(%ecx)
4505 400046ea:       eb 3b                   jmp    40004727 <fs_seek+0xf8>
4506 400046ec:       83 7d 14 02             cmpl   $0x2,0x14(%ebp)
4507 400046f0:       75 2c                   jne    4000471e <fs_seek+0xef>
4508 400046f2:       8b 45 f8                mov    -0x8(%ebp),%eax
4509 400046f5:       8b 00                   mov    (%eax),%eax
4510 400046f7:       89 44 24 04             mov    %eax,0x4(%esp)
4511 400046fb:       8b 45 f4                mov    -0xc(%ebp),%eax
4512 400046fe:       89 04 24                mov    %eax,(%esp)
4513 40004701:       e8 29 f9 ff ff          call   4000402f <cdi_fs_filesize>
4514 40004706:       89 c2                   mov    %eax,%edx
4515 40004708:       8b 45 10                mov    0x10(%ebp),%eax
4516 4000470b:       8d 04 02                lea    (%edx,%eax,1),%eax
4517 4000470e:       ba 00 00 00 00          mov    $0x0,%edx
4518 40004713:       8b 4d f8                mov    -0x8(%ebp),%ecx
4519 40004716:       89 41 0c                mov    %eax,0xc(%ecx)
4520 40004719:       89 51 10                mov    %edx,0x10(%ecx)
4521 4000471c:       eb 09                   jmp    40004727 <fs_seek+0xf8>
4522 4000471e:       c7 45 e8 e4 ff ff ff    movl   $0xffffffe4,-0x18(%ebp)
4523 40004725:       eb 27                   jmp    4000474e <fs_seek+0x11f>
4524 40004727:       8b 45 f8                mov    -0x8(%ebp),%eax
4525 4000472a:       8b 50 10                mov    0x10(%eax),%edx
4526 4000472d:       8b 40 0c                mov    0xc(%eax),%eax
4527 40004730:       89 45 e8                mov    %eax,-0x18(%ebp)
4528 40004733:       eb 19                   jmp    4000474e <fs_seek+0x11f>
4529 40004735:       c7 45 e8 f8 ff ff ff    movl   $0xfffffff8,-0x18(%ebp)
4530 4000473c:       eb 10                   jmp    4000474e <fs_seek+0x11f>
4531 4000473e:       c7 45 e8 f8 ff ff ff    movl   $0xfffffff8,-0x18(%ebp)
4532 40004745:       eb 07                   jmp    4000474e <fs_seek+0x11f>
4533 40004747:       c7 45 e8 e4 ff ff ff    movl   $0xffffffe4,-0x18(%ebp)
4534 4000474e:       8b 45 e8                mov    -0x18(%ebp),%eax
4535 40004751:       83 c4 34                add    $0x34,%esp
4536 40004754:       5b                      pop    %ebx
4537 40004755:       5d                      pop    %ebp
4538 40004756:       c3                      ret    
4540 40004757 <fs_fstat>:
4541 40004757:       55                      push   %ebp
4542 40004758:       89 e5                   mov    %esp,%ebp
4543 4000475a:       83 ec 38                sub    $0x38,%esp
4544 4000475d:       8b 15 60 59 01 40       mov    0x40015960,%edx
4545 40004763:       8b 45 0c                mov    0xc(%ebp),%eax
4546 40004766:       89 44 24 0c             mov    %eax,0xc(%esp)
4547 4000476a:       8b 45 08                mov    0x8(%ebp),%eax
4548 4000476d:       89 44 24 08             mov    %eax,0x8(%esp)
4549 40004771:       c7 44 24 04 45 2c 01    movl   $0x40012c45,0x4(%esp)
4550 40004778:       40 
4551 40004779:       89 14 24                mov    %edx,(%esp)
4552 4000477c:       e8 07 45 00 00          call   40008c88 <fprintf>
4553 40004781:       8b 45 08                mov    0x8(%ebp),%eax
4554 40004784:       89 04 24                mov    %eax,(%esp)
4555 40004787:       e8 d0 f2 ff ff          call   40003a5c <cdi_fs_find>
4556 4000478c:       89 45 f4                mov    %eax,-0xc(%ebp)
4557 4000478f:       83 7d f4 00             cmpl   $0x0,-0xc(%ebp)
4558 40004793:       0f 84 79 01 00 00       je     40004912 <fs_fstat+0x1bb>
4559 40004799:       8b 45 0c                mov    0xc(%ebp),%eax
4560 4000479c:       89 44 24 04             mov    %eax,0x4(%esp)
4561 400047a0:       8b 45 f4                mov    -0xc(%ebp),%eax
4562 400047a3:       89 04 24                mov    %eax,(%esp)
4563 400047a6:       e8 1d f3 ff ff          call   40003ac8 <cdi_fs_file_find>
4564 400047ab:       89 45 f8                mov    %eax,-0x8(%ebp)
4565 400047ae:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
4566 400047b2:       0f 84 51 01 00 00       je     40004909 <fs_fstat+0x1b2>
4567 400047b8:       8b 45 f8                mov    -0x8(%ebp),%eax
4568 400047bb:       8b 10                   mov    (%eax),%edx
4569 400047bd:       8b 45 f4                mov    -0xc(%ebp),%eax
4570 400047c0:       89 45 e8                mov    %eax,-0x18(%ebp)
4571 400047c3:       89 55 ec                mov    %edx,-0x14(%ebp)
4572 400047c6:       c7 45 f0 00 00 00 00    movl   $0x0,-0x10(%ebp)
4573 400047cd:       8b 45 f8                mov    -0x8(%ebp),%eax
4574 400047d0:       8b 40 14                mov    0x14(%eax),%eax
4575 400047d3:       89 45 fc                mov    %eax,-0x4(%ebp)
4576 400047d6:       c7 44 24 08 34 00 00    movl   $0x34,0x8(%esp)
4577 400047dd:       00 
4578 400047de:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
4579 400047e5:       00 
4580 400047e6:       8b 45 fc                mov    -0x4(%ebp),%eax
4581 400047e9:       89 04 24                mov    %eax,(%esp)
4582 400047ec:       e8 ec aa 00 00          call   4000f2dd <memset>
4583 400047f1:       8b 45 f8                mov    -0x8(%ebp),%eax
4584 400047f4:       8b 00                   mov    (%eax),%eax
4585 400047f6:       8b 40 58                mov    0x58(%eax),%eax
4586 400047f9:       85 c0                   test   %eax,%eax
4587 400047fb:       74 1c                   je     40004819 <fs_fstat+0xc2>
4588 400047fd:       8b 45 f8                mov    -0x8(%ebp),%eax
4589 40004800:       8b 00                   mov    (%eax),%eax
4590 40004802:       8b 40 58                mov    0x58(%eax),%eax
4591 40004805:       8b 10                   mov    (%eax),%edx
4592 40004807:       8b 45 fc                mov    -0x4(%ebp),%eax
4593 4000480a:       83 c0 18                add    $0x18,%eax
4594 4000480d:       89 44 24 04             mov    %eax,0x4(%esp)
4595 40004811:       8d 45 e8                lea    -0x18(%ebp),%eax
4596 40004814:       89 04 24                mov    %eax,(%esp)
4597 40004817:       ff d2                   call   *%edx
4598 40004819:       8b 45 f8                mov    -0x8(%ebp),%eax
4599 4000481c:       8b 00                   mov    (%eax),%eax
4600 4000481e:       8b 40 48                mov    0x48(%eax),%eax
4601 40004821:       8b 50 1c                mov    0x1c(%eax),%edx
4602 40004824:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
4603 4000482b:       00 
4604 4000482c:       8d 45 e8                lea    -0x18(%ebp),%eax
4605 4000482f:       89 04 24                mov    %eax,(%esp)
4606 40004832:       ff d2                   call   *%edx
4607 40004834:       89 c2                   mov    %eax,%edx
4608 40004836:       8b 45 fc                mov    -0x4(%ebp),%eax
4609 40004839:       89 50 1c                mov    %edx,0x1c(%eax)
4610 4000483c:       8b 45 f8                mov    -0x8(%ebp),%eax
4611 4000483f:       8b 00                   mov    (%eax),%eax
4612 40004841:       8b 40 48                mov    0x48(%eax),%eax
4613 40004844:       8b 50 1c                mov    0x1c(%eax),%edx
4614 40004847:       c7 44 24 04 05 00 00    movl   $0x5,0x4(%esp)
4615 4000484e:       00 
4616 4000484f:       8d 45 e8                lea    -0x18(%ebp),%eax
4617 40004852:       89 04 24                mov    %eax,(%esp)
4618 40004855:       ff d2                   call   *%edx
4619 40004857:       89 c2                   mov    %eax,%edx
4620 40004859:       8b 45 fc                mov    -0x4(%ebp),%eax
4621 4000485c:       89 50 20                mov    %edx,0x20(%eax)
4622 4000485f:       8b 45 f8                mov    -0x8(%ebp),%eax
4623 40004862:       8b 00                   mov    (%eax),%eax
4624 40004864:       8b 40 48                mov    0x48(%eax),%eax
4625 40004867:       8b 50 1c                mov    0x1c(%eax),%edx
4626 4000486a:       c7 44 24 04 06 00 00    movl   $0x6,0x4(%esp)
4627 40004871:       00 
4628 40004872:       8d 45 e8                lea    -0x18(%ebp),%eax
4629 40004875:       89 04 24                mov    %eax,(%esp)
4630 40004878:       ff d2                   call   *%edx
4631 4000487a:       89 c2                   mov    %eax,%edx
4632 4000487c:       8b 45 fc                mov    -0x4(%ebp),%eax
4633 4000487f:       89 50 24                mov    %edx,0x24(%eax)
4634 40004882:       8b 45 f8                mov    -0x8(%ebp),%eax
4635 40004885:       8b 00                   mov    (%eax),%eax
4636 40004887:       8b 40 48                mov    0x48(%eax),%eax
4637 4000488a:       8b 50 1c                mov    0x1c(%eax),%edx
4638 4000488d:       c7 44 24 04 04 00 00    movl   $0x4,0x4(%esp)
4639 40004894:       00 
4640 40004895:       8d 45 e8                lea    -0x18(%ebp),%eax
4641 40004898:       89 04 24                mov    %eax,(%esp)
4642 4000489b:       ff d2                   call   *%edx
4643 4000489d:       89 c2                   mov    %eax,%edx
4644 4000489f:       8b 45 fc                mov    -0x4(%ebp),%eax
4645 400048a2:       89 50 28                mov    %edx,0x28(%eax)
4646 400048a5:       8b 45 f8                mov    -0x8(%ebp),%eax
4647 400048a8:       8b 00                   mov    (%eax),%eax
4648 400048aa:       8b 40 48                mov    0x48(%eax),%eax
4649 400048ad:       8b 50 1c                mov    0x1c(%eax),%edx
4650 400048b0:       c7 44 24 04 03 00 00    movl   $0x3,0x4(%esp)
4651 400048b7:       00 
4652 400048b8:       8d 45 e8                lea    -0x18(%ebp),%eax
4653 400048bb:       89 04 24                mov    %eax,(%esp)
4654 400048be:       ff d2                   call   *%edx
4655 400048c0:       89 c2                   mov    %eax,%edx
4656 400048c2:       8b 45 fc                mov    -0x4(%ebp),%eax
4657 400048c5:       89 50 2c                mov    %edx,0x2c(%eax)
4658 400048c8:       8b 45 f8                mov    -0x8(%ebp),%eax
4659 400048cb:       8b 00                   mov    (%eax),%eax
4660 400048cd:       8b 40 48                mov    0x48(%eax),%eax
4661 400048d0:       8b 50 1c                mov    0x1c(%eax),%edx
4662 400048d3:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
4663 400048da:       00 
4664 400048db:       8d 45 e8                lea    -0x18(%ebp),%eax
4665 400048de:       89 04 24                mov    %eax,(%esp)
4666 400048e1:       ff d2                   call   *%edx
4667 400048e3:       89 c2                   mov    %eax,%edx
4668 400048e5:       8b 45 fc                mov    -0x4(%ebp),%eax
4669 400048e8:       89 50 30                mov    %edx,0x30(%eax)
4670 400048eb:       8b 45 f8                mov    -0x8(%ebp),%eax
4671 400048ee:       8b 00                   mov    (%eax),%eax
4672 400048f0:       89 04 24                mov    %eax,(%esp)
4673 400048f3:       e8 9b f6 ff ff          call   40003f93 <cdi_fs_class2mode>
4674 400048f8:       89 c2                   mov    %eax,%edx
4675 400048fa:       8b 45 fc                mov    -0x4(%ebp),%eax
4676 400048fd:       89 50 08                mov    %edx,0x8(%eax)
4677 40004900:       c7 45 dc 00 00 00 00    movl   $0x0,-0x24(%ebp)
4678 40004907:       eb 10                   jmp    40004919 <fs_fstat+0x1c2>
4679 40004909:       c7 45 dc f8 ff ff ff    movl   $0xfffffff8,-0x24(%ebp)
4680 40004910:       eb 07                   jmp    40004919 <fs_fstat+0x1c2>
4681 40004912:       c7 45 dc e4 ff ff ff    movl   $0xffffffe4,-0x24(%ebp)
4682 40004919:       8b 45 dc                mov    -0x24(%ebp),%eax
4683 4000491c:       c9                      leave  
4684 4000491d:       c3                      ret    
4686 4000491e <fs_unlink>:
4687 4000491e:       55                      push   %ebp
4688 4000491f:       89 e5                   mov    %esp,%ebp
4689 40004921:       83 ec 38                sub    $0x38,%esp
4690 40004924:       8b 15 60 59 01 40       mov    0x40015960,%edx
4691 4000492a:       8b 45 0c                mov    0xc(%ebp),%eax
4692 4000492d:       89 44 24 0c             mov    %eax,0xc(%esp)
4693 40004931:       8b 45 08                mov    0x8(%ebp),%eax
4694 40004934:       89 44 24 08             mov    %eax,0x8(%esp)
4695 40004938:       c7 44 24 04 56 2c 01    movl   $0x40012c56,0x4(%esp)
4696 4000493f:       40 
4697 40004940:       89 14 24                mov    %edx,(%esp)
4698 40004943:       e8 40 43 00 00          call   40008c88 <fprintf>
4699 40004948:       8b 45 08                mov    0x8(%ebp),%eax
4700 4000494b:       89 04 24                mov    %eax,(%esp)
4701 4000494e:       e8 09 f1 ff ff          call   40003a5c <cdi_fs_find>
4702 40004953:       89 45 f8                mov    %eax,-0x8(%ebp)
4703 40004956:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
4704 4000495a:       0f 84 68 01 00 00       je     40004ac8 <fs_unlink+0x1aa>
4705 40004960:       8b 45 0c                mov    0xc(%ebp),%eax
4706 40004963:       89 44 24 04             mov    %eax,0x4(%esp)
4707 40004967:       8b 45 f8                mov    -0x8(%ebp),%eax
4708 4000496a:       89 04 24                mov    %eax,(%esp)
4709 4000496d:       e8 35 f4 ff ff          call   40003da7 <cdi_fs_path2res>
4710 40004972:       89 45 fc                mov    %eax,-0x4(%ebp)
4711 40004975:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
4712 40004979:       0f 84 40 01 00 00       je     40004abf <fs_unlink+0x1a1>
4713 4000497f:       8b 45 f8                mov    -0x8(%ebp),%eax
4714 40004982:       89 45 ec                mov    %eax,-0x14(%ebp)
4715 40004985:       8b 45 fc                mov    -0x4(%ebp),%eax
4716 40004988:       89 45 f0                mov    %eax,-0x10(%ebp)
4717 4000498b:       c7 45 f4 00 00 00 00    movl   $0x0,-0xc(%ebp)
4718 40004992:       8b 45 fc                mov    -0x4(%ebp),%eax
4719 40004995:       8b 40 4c                mov    0x4c(%eax),%eax
4720 40004998:       85 c0                   test   %eax,%eax
4721 4000499a:       74 34                   je     400049d0 <fs_unlink+0xb2>
4722 4000499c:       8b 45 fc                mov    -0x4(%ebp),%eax
4723 4000499f:       8b 40 48                mov    0x48(%eax),%eax
4724 400049a2:       8b 50 18                mov    0x18(%eax),%edx
4725 400049a5:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
4726 400049ac:       00 
4727 400049ad:       8d 45 ec                lea    -0x14(%ebp),%eax
4728 400049b0:       89 04 24                mov    %eax,(%esp)
4729 400049b3:       ff d2                   call   *%edx
4730 400049b5:       85 c0                   test   %eax,%eax
4731 400049b7:       75 17                   jne    400049d0 <fs_unlink+0xb2>
4732 400049b9:       8b 45 f4                mov    -0xc(%ebp),%eax
4733 400049bc:       89 04 24                mov    %eax,(%esp)
4734 400049bf:       e8 77 f1 ff ff          call   40003b3b <cdi_fs_error2errno>
4735 400049c4:       89 c2                   mov    %eax,%edx
4736 400049c6:       f7 da                   neg    %edx
4737 400049c8:       89 55 d8                mov    %edx,-0x28(%ebp)
4738 400049cb:       e9 ff 00 00 00          jmp    40004acf <fs_unlink+0x1b1>
4739 400049d0:       8b 45 fc                mov    -0x4(%ebp),%eax
4740 400049d3:       8b 40 50                mov    0x50(%eax),%eax
4741 400049d6:       85 c0                   test   %eax,%eax
4742 400049d8:       74 34                   je     40004a0e <fs_unlink+0xf0>
4743 400049da:       8b 45 fc                mov    -0x4(%ebp),%eax
4744 400049dd:       8b 40 48                mov    0x48(%eax),%eax
4745 400049e0:       8b 50 18                mov    0x18(%eax),%edx
4746 400049e3:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
4747 400049ea:       00 
4748 400049eb:       8d 45 ec                lea    -0x14(%ebp),%eax
4749 400049ee:       89 04 24                mov    %eax,(%esp)
4750 400049f1:       ff d2                   call   *%edx
4751 400049f3:       85 c0                   test   %eax,%eax
4752 400049f5:       75 17                   jne    40004a0e <fs_unlink+0xf0>
4753 400049f7:       8b 45 f4                mov    -0xc(%ebp),%eax
4754 400049fa:       89 04 24                mov    %eax,(%esp)
4755 400049fd:       e8 39 f1 ff ff          call   40003b3b <cdi_fs_error2errno>
4756 40004a02:       89 c2                   mov    %eax,%edx
4757 40004a04:       f7 da                   neg    %edx
4758 40004a06:       89 55 d8                mov    %edx,-0x28(%ebp)
4759 40004a09:       e9 c1 00 00 00          jmp    40004acf <fs_unlink+0x1b1>
4760 40004a0e:       8b 45 fc                mov    -0x4(%ebp),%eax
4761 40004a11:       8b 40 54                mov    0x54(%eax),%eax
4762 40004a14:       85 c0                   test   %eax,%eax
4763 40004a16:       74 34                   je     40004a4c <fs_unlink+0x12e>
4764 40004a18:       8b 45 fc                mov    -0x4(%ebp),%eax
4765 40004a1b:       8b 40 48                mov    0x48(%eax),%eax
4766 40004a1e:       8b 50 18                mov    0x18(%eax),%edx
4767 40004a21:       c7 44 24 04 02 00 00    movl   $0x2,0x4(%esp)
4768 40004a28:       00 
4769 40004a29:       8d 45 ec                lea    -0x14(%ebp),%eax
4770 40004a2c:       89 04 24                mov    %eax,(%esp)
4771 40004a2f:       ff d2                   call   *%edx
4772 40004a31:       85 c0                   test   %eax,%eax
4773 40004a33:       75 17                   jne    40004a4c <fs_unlink+0x12e>
4774 40004a35:       8b 45 f4                mov    -0xc(%ebp),%eax
4775 40004a38:       89 04 24                mov    %eax,(%esp)
4776 40004a3b:       e8 fb f0 ff ff          call   40003b3b <cdi_fs_error2errno>
4777 40004a40:       89 c2                   mov    %eax,%edx
4778 40004a42:       f7 da                   neg    %edx
4779 40004a44:       89 55 d8                mov    %edx,-0x28(%ebp)
4780 40004a47:       e9 83 00 00 00          jmp    40004acf <fs_unlink+0x1b1>
4781 40004a4c:       8b 45 fc                mov    -0x4(%ebp),%eax
4782 40004a4f:       8b 40 58                mov    0x58(%eax),%eax
4783 40004a52:       85 c0                   test   %eax,%eax
4784 40004a54:       74 31                   je     40004a87 <fs_unlink+0x169>
4785 40004a56:       8b 45 fc                mov    -0x4(%ebp),%eax
4786 40004a59:       8b 40 48                mov    0x48(%eax),%eax
4787 40004a5c:       8b 50 18                mov    0x18(%eax),%edx
4788 40004a5f:       c7 44 24 04 03 00 00    movl   $0x3,0x4(%esp)
4789 40004a66:       00 
4790 40004a67:       8d 45 ec                lea    -0x14(%ebp),%eax
4791 40004a6a:       89 04 24                mov    %eax,(%esp)
4792 40004a6d:       ff d2                   call   *%edx
4793 40004a6f:       85 c0                   test   %eax,%eax
4794 40004a71:       75 14                   jne    40004a87 <fs_unlink+0x169>
4795 40004a73:       8b 45 f4                mov    -0xc(%ebp),%eax
4796 40004a76:       89 04 24                mov    %eax,(%esp)
4797 40004a79:       e8 bd f0 ff ff          call   40003b3b <cdi_fs_error2errno>
4798 40004a7e:       89 c2                   mov    %eax,%edx
4799 40004a80:       f7 da                   neg    %edx
4800 40004a82:       89 55 d8                mov    %edx,-0x28(%ebp)
4801 40004a85:       eb 48                   jmp    40004acf <fs_unlink+0x1b1>
4802 40004a87:       8b 45 fc                mov    -0x4(%ebp),%eax
4803 40004a8a:       8b 40 48                mov    0x48(%eax),%eax
4804 40004a8d:       8b 50 08                mov    0x8(%eax),%edx
4805 40004a90:       8d 45 ec                lea    -0x14(%ebp),%eax
4806 40004a93:       89 04 24                mov    %eax,(%esp)
4807 40004a96:       ff d2                   call   *%edx
4808 40004a98:       85 c0                   test   %eax,%eax
4809 40004a9a:       75 14                   jne    40004ab0 <fs_unlink+0x192>
4810 40004a9c:       8b 45 f4                mov    -0xc(%ebp),%eax
4811 40004a9f:       89 04 24                mov    %eax,(%esp)
4812 40004aa2:       e8 94 f0 ff ff          call   40003b3b <cdi_fs_error2errno>
4813 40004aa7:       89 c2                   mov    %eax,%edx
4814 40004aa9:       f7 da                   neg    %edx
4815 40004aab:       89 55 dc                mov    %edx,-0x24(%ebp)
4816 40004aae:       eb 07                   jmp    40004ab7 <fs_unlink+0x199>
4817 40004ab0:       c7 45 dc 00 00 00 00    movl   $0x0,-0x24(%ebp)
4818 40004ab7:       8b 45 dc                mov    -0x24(%ebp),%eax
4819 40004aba:       89 45 d8                mov    %eax,-0x28(%ebp)
4820 40004abd:       eb 10                   jmp    40004acf <fs_unlink+0x1b1>
4821 40004abf:       c7 45 d8 d3 ff ff ff    movl   $0xffffffd3,-0x28(%ebp)
4822 40004ac6:       eb 07                   jmp    40004acf <fs_unlink+0x1b1>
4823 40004ac8:       c7 45 d8 e4 ff ff ff    movl   $0xffffffe4,-0x28(%ebp)
4824 40004acf:       8b 45 d8                mov    -0x28(%ebp),%eax
4825 40004ad2:       c9                      leave  
4826 40004ad3:       c3                      ret    
4828 40004ad4 <fs_rmdir>:
4829 40004ad4:       55                      push   %ebp
4830 40004ad5:       89 e5                   mov    %esp,%ebp
4831 40004ad7:       83 ec 18                sub    $0x18,%esp
4832 40004ada:       8b 15 60 59 01 40       mov    0x40015960,%edx
4833 40004ae0:       8b 45 0c                mov    0xc(%ebp),%eax
4834 40004ae3:       89 44 24 0c             mov    %eax,0xc(%esp)
4835 40004ae7:       8b 45 08                mov    0x8(%ebp),%eax
4836 40004aea:       89 44 24 08             mov    %eax,0x8(%esp)
4837 40004aee:       c7 44 24 04 68 2c 01    movl   $0x40012c68,0x4(%esp)
4838 40004af5:       40 
4839 40004af6:       89 14 24                mov    %edx,(%esp)
4840 40004af9:       e8 8a 41 00 00          call   40008c88 <fprintf>
4841 40004afe:       8b 45 0c                mov    0xc(%ebp),%eax
4842 40004b01:       89 44 24 04             mov    %eax,0x4(%esp)
4843 40004b05:       8b 45 08                mov    0x8(%ebp),%eax
4844 40004b08:       89 04 24                mov    %eax,(%esp)
4845 40004b0b:       e8 0e fe ff ff          call   4000491e <fs_unlink>
4846 40004b10:       c9                      leave  
4847 40004b11:       c3                      ret    
4849 40004b12 <fs_ftruncate>:
4850 40004b12:       55                      push   %ebp
4851 40004b13:       89 e5                   mov    %esp,%ebp
4852 40004b15:       83 ec 48                sub    $0x48,%esp
4853 40004b18:       8b 15 60 59 01 40       mov    0x40015960,%edx
4854 40004b1e:       8b 45 10                mov    0x10(%ebp),%eax
4855 40004b21:       89 44 24 10             mov    %eax,0x10(%esp)
4856 40004b25:       8b 45 0c                mov    0xc(%ebp),%eax
4857 40004b28:       89 44 24 0c             mov    %eax,0xc(%esp)
4858 40004b2c:       8b 45 08                mov    0x8(%ebp),%eax
4859 40004b2f:       89 44 24 08             mov    %eax,0x8(%esp)
4860 40004b33:       c7 44 24 04 79 2c 01    movl   $0x40012c79,0x4(%esp)
4861 40004b3a:       40 
4862 40004b3b:       89 14 24                mov    %edx,(%esp)
4863 40004b3e:       e8 45 41 00 00          call   40008c88 <fprintf>
4864 40004b43:       8b 45 08                mov    0x8(%ebp),%eax
4865 40004b46:       89 04 24                mov    %eax,(%esp)
4866 40004b49:       e8 0e ef ff ff          call   40003a5c <cdi_fs_find>
4867 40004b4e:       89 45 f8                mov    %eax,-0x8(%ebp)
4868 40004b51:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
4869 40004b55:       0f 84 a2 00 00 00       je     40004bfd <fs_ftruncate+0xeb>
4870 40004b5b:       8b 45 0c                mov    0xc(%ebp),%eax
4871 40004b5e:       89 44 24 04             mov    %eax,0x4(%esp)
4872 40004b62:       8b 45 f8                mov    -0x8(%ebp),%eax
4873 40004b65:       89 04 24                mov    %eax,(%esp)
4874 40004b68:       e8 5b ef ff ff          call   40003ac8 <cdi_fs_file_find>
4875 40004b6d:       89 45 fc                mov    %eax,-0x4(%ebp)
4876 40004b70:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
4877 40004b74:       74 7e                   je     40004bf4 <fs_ftruncate+0xe2>
4878 40004b76:       8b 45 fc                mov    -0x4(%ebp),%eax
4879 40004b79:       8b 00                   mov    (%eax),%eax
4880 40004b7b:       8b 40 4c                mov    0x4c(%eax),%eax
4881 40004b7e:       85 c0                   test   %eax,%eax
4882 40004b80:       74 69                   je     40004beb <fs_ftruncate+0xd9>
4883 40004b82:       8b 45 fc                mov    -0x4(%ebp),%eax
4884 40004b85:       8b 40 08                mov    0x8(%eax),%eax
4885 40004b88:       85 c0                   test   %eax,%eax
4886 40004b8a:       75 5f                   jne    40004beb <fs_ftruncate+0xd9>
4887 40004b8c:       8b 45 fc                mov    -0x4(%ebp),%eax
4888 40004b8f:       8b 10                   mov    (%eax),%edx
4889 40004b91:       8b 45 f8                mov    -0x8(%ebp),%eax
4890 40004b94:       89 45 ec                mov    %eax,-0x14(%ebp)
4891 40004b97:       89 55 f0                mov    %edx,-0x10(%ebp)
4892 40004b9a:       c7 45 f4 00 00 00 00    movl   $0x0,-0xc(%ebp)
4893 40004ba1:       8b 45 fc                mov    -0x4(%ebp),%eax
4894 40004ba4:       8b 00                   mov    (%eax),%eax
4895 40004ba6:       8b 40 4c                mov    0x4c(%eax),%eax
4896 40004ba9:       8b 48 0c                mov    0xc(%eax),%ecx
4897 40004bac:       8b 45 10                mov    0x10(%ebp),%eax
4898 40004baf:       89 c2                   mov    %eax,%edx
4899 40004bb1:       c1 fa 1f                sar    $0x1f,%edx
4900 40004bb4:       89 44 24 04             mov    %eax,0x4(%esp)
4901 40004bb8:       89 54 24 08             mov    %edx,0x8(%esp)
4902 40004bbc:       8d 45 ec                lea    -0x14(%ebp),%eax
4903 40004bbf:       89 04 24                mov    %eax,(%esp)
4904 40004bc2:       ff d1                   call   *%ecx
4905 40004bc4:       85 c0                   test   %eax,%eax
4906 40004bc6:       75 14                   jne    40004bdc <fs_ftruncate+0xca>
4907 40004bc8:       8b 45 f4                mov    -0xc(%ebp),%eax
4908 40004bcb:       89 04 24                mov    %eax,(%esp)
4909 40004bce:       e8 68 ef ff ff          call   40003b3b <cdi_fs_error2errno>
4910 40004bd3:       89 c2                   mov    %eax,%edx
4911 40004bd5:       f7 da                   neg    %edx
4912 40004bd7:       89 55 dc                mov    %edx,-0x24(%ebp)
4913 40004bda:       eb 07                   jmp    40004be3 <fs_ftruncate+0xd1>
4914 40004bdc:       c7 45 dc 00 00 00 00    movl   $0x0,-0x24(%ebp)
4915 40004be3:       8b 45 dc                mov    -0x24(%ebp),%eax
4916 40004be6:       89 45 d8                mov    %eax,-0x28(%ebp)
4917 40004be9:       eb 19                   jmp    40004c04 <fs_ftruncate+0xf2>
4918 40004beb:       c7 45 d8 d3 ff ff ff    movl   $0xffffffd3,-0x28(%ebp)
4919 40004bf2:       eb 10                   jmp    40004c04 <fs_ftruncate+0xf2>
4920 40004bf4:       c7 45 d8 f8 ff ff ff    movl   $0xfffffff8,-0x28(%ebp)
4921 40004bfb:       eb 07                   jmp    40004c04 <fs_ftruncate+0xf2>
4922 40004bfd:       c7 45 d8 e4 ff ff ff    movl   $0xffffffe4,-0x28(%ebp)
4923 40004c04:       8b 45 d8                mov    -0x28(%ebp),%eax
4924 40004c07:       c9                      leave  
4925 40004c08:       c3                      ret    
4927 40004c09 <fs_opendir>:
4928 40004c09:       55                      push   %ebp
4929 40004c0a:       89 e5                   mov    %esp,%ebp
4930 40004c0c:       83 ec 38                sub    $0x38,%esp
4931 40004c0f:       8b 15 60 59 01 40       mov    0x40015960,%edx
4932 40004c15:       8b 45 0c                mov    0xc(%ebp),%eax
4933 40004c18:       89 44 24 0c             mov    %eax,0xc(%esp)
4934 40004c1c:       8b 45 08                mov    0x8(%ebp),%eax
4935 40004c1f:       89 44 24 08             mov    %eax,0x8(%esp)
4936 40004c23:       c7 44 24 04 91 2c 01    movl   $0x40012c91,0x4(%esp)
4937 40004c2a:       40 
4938 40004c2b:       89 14 24                mov    %edx,(%esp)
4939 40004c2e:       e8 55 40 00 00          call   40008c88 <fprintf>
4940 40004c33:       8b 45 08                mov    0x8(%ebp),%eax
4941 40004c36:       89 04 24                mov    %eax,(%esp)
4942 40004c39:       e8 1e ee ff ff          call   40003a5c <cdi_fs_find>
4943 40004c3e:       89 45 f0                mov    %eax,-0x10(%ebp)
4944 40004c41:       83 7d f0 00             cmpl   $0x0,-0x10(%ebp)
4945 40004c45:       0f 84 46 01 00 00       je     40004d91 <fs_opendir+0x188>
4946 40004c4b:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
4947 40004c52:       00 
4948 40004c53:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
4949 40004c5a:       00 
4950 40004c5b:       8b 45 0c                mov    0xc(%ebp),%eax
4951 40004c5e:       89 04 24                mov    %eax,(%esp)
4952 40004c61:       e8 6e 86 00 00          call   4000d2d4 <shmat>
4953 40004c66:       89 45 f4                mov    %eax,-0xc(%ebp)
4954 40004c69:       83 7d f4 00             cmpl   $0x0,-0xc(%ebp)
4955 40004c6d:       0f 84 10 01 00 00       je     40004d83 <fs_opendir+0x17a>
4956 40004c73:       8b 45 f4                mov    -0xc(%ebp),%eax
4957 40004c76:       89 44 24 04             mov    %eax,0x4(%esp)
4958 40004c7a:       8b 45 f0                mov    -0x10(%ebp),%eax
4959 40004c7d:       89 04 24                mov    %eax,(%esp)
4960 40004c80:       e8 22 f1 ff ff          call   40003da7 <cdi_fs_path2res>
4961 40004c85:       89 45 f8                mov    %eax,-0x8(%ebp)
4962 40004c88:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
4963 40004c8c:       0f 84 dd 00 00 00       je     40004d6f <fs_opendir+0x166>
4964 40004c92:       8b 45 f0                mov    -0x10(%ebp),%eax
4965 40004c95:       89 45 e4                mov    %eax,-0x1c(%ebp)
4966 40004c98:       8b 45 f8                mov    -0x8(%ebp),%eax
4967 40004c9b:       89 45 e8                mov    %eax,-0x18(%ebp)
4968 40004c9e:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
4969 40004ca5:       8d 45 e4                lea    -0x1c(%ebp),%eax
4970 40004ca8:       89 04 24                mov    %eax,(%esp)
4971 40004cab:       e8 8c f0 ff ff          call   40003d3c <cdi_fs_loadres>
4972 40004cb0:       85 c0                   test   %eax,%eax
4973 40004cb2:       0f 85 98 00 00 00       jne    40004d50 <fs_opendir+0x147>
4974 40004cb8:       8b 45 f8                mov    -0x8(%ebp),%eax
4975 40004cbb:       8b 40 50                mov    0x50(%eax),%eax
4976 40004cbe:       85 c0                   test   %eax,%eax
4977 40004cc0:       74 7a                   je     40004d3c <fs_opendir+0x133>
4978 40004cc2:       c7 04 24 1c 00 00 00    movl   $0x1c,(%esp)
4979 40004cc9:       e8 d6 70 00 00          call   4000bda4 <malloc>
4980 40004cce:       89 45 fc                mov    %eax,-0x4(%ebp)
4981 40004cd1:       8b 55 fc                mov    -0x4(%ebp),%edx
4982 40004cd4:       8b 45 f8                mov    -0x8(%ebp),%eax
4983 40004cd7:       89 02                   mov    %eax,(%edx)
4984 40004cd9:       8b 45 f0                mov    -0x10(%ebp),%eax
4985 40004cdc:       8b 50 1c                mov    0x1c(%eax),%edx
4986 40004cdf:       8b 45 fc                mov    -0x4(%ebp),%eax
4987 40004ce2:       89 50 04                mov    %edx,0x4(%eax)
4988 40004ce5:       83 c2 01                add    $0x1,%edx
4989 40004ce8:       8b 45 f0                mov    -0x10(%ebp),%eax
4990 40004ceb:       89 50 1c                mov    %edx,0x1c(%eax)
4991 40004cee:       8b 45 fc                mov    -0x4(%ebp),%eax
4992 40004cf1:       c7 40 08 01 00 00 00    movl   $0x1,0x8(%eax)
4993 40004cf8:       8b 45 fc                mov    -0x4(%ebp),%eax
4994 40004cfb:       c7 40 0c 00 00 00 00    movl   $0x0,0xc(%eax)
4995 40004d02:       c7 40 10 00 00 00 00    movl   $0x0,0x10(%eax)
4996 40004d09:       8b 55 fc                mov    -0x4(%ebp),%edx
4997 40004d0c:       8b 45 f4                mov    -0xc(%ebp),%eax
4998 40004d0f:       89 42 14                mov    %eax,0x14(%edx)
4999 40004d12:       8b 45 fc                mov    -0x4(%ebp),%eax
5000 40004d15:       c7 40 18 00 00 00 00    movl   $0x0,0x18(%eax)
5001 40004d1c:       8b 45 f0                mov    -0x10(%ebp),%eax
5002 40004d1f:       8b 50 20                mov    0x20(%eax),%edx
5003 40004d22:       8b 45 fc                mov    -0x4(%ebp),%eax
5004 40004d25:       89 44 24 04             mov    %eax,0x4(%esp)
5005 40004d29:       89 14 24                mov    %edx,(%esp)
5006 40004d2c:       e8 92 ea ff ff          call   400037c3 <cdi_list_push>
5007 40004d31:       8b 45 fc                mov    -0x4(%ebp),%eax
5008 40004d34:       8b 40 04                mov    0x4(%eax),%eax
5009 40004d37:       89 45 dc                mov    %eax,-0x24(%ebp)
5010 40004d3a:       eb 5c                   jmp    40004d98 <fs_opendir+0x18f>
5011 40004d3c:       8b 45 f4                mov    -0xc(%ebp),%eax
5012 40004d3f:       89 04 24                mov    %eax,(%esp)
5013 40004d42:       e8 10 86 00 00          call   4000d357 <shmdt>
5014 40004d47:       c7 45 dc c7 ff ff ff    movl   $0xffffffc7,-0x24(%ebp)
5015 40004d4e:       eb 48                   jmp    40004d98 <fs_opendir+0x18f>
5016 40004d50:       8b 45 f4                mov    -0xc(%ebp),%eax
5017 40004d53:       89 04 24                mov    %eax,(%esp)
5018 40004d56:       e8 fc 85 00 00          call   4000d357 <shmdt>
5019 40004d5b:       8b 45 ec                mov    -0x14(%ebp),%eax
5020 40004d5e:       89 04 24                mov    %eax,(%esp)
5021 40004d61:       e8 d5 ed ff ff          call   40003b3b <cdi_fs_error2errno>
5022 40004d66:       89 c2                   mov    %eax,%edx
5023 40004d68:       f7 da                   neg    %edx
5024 40004d6a:       89 55 dc                mov    %edx,-0x24(%ebp)
5025 40004d6d:       eb 29                   jmp    40004d98 <fs_opendir+0x18f>
5026 40004d6f:       8b 45 f4                mov    -0xc(%ebp),%eax
5027 40004d72:       89 04 24                mov    %eax,(%esp)
5028 40004d75:       e8 dd 85 00 00          call   4000d357 <shmdt>
5029 40004d7a:       c7 45 dc d3 ff ff ff    movl   $0xffffffd3,-0x24(%ebp)
5030 40004d81:       eb 15                   jmp    40004d98 <fs_opendir+0x18f>
5031 40004d83:       a1 54 59 01 40          mov    0x40015954,%eax
5032 40004d88:       89 c2                   mov    %eax,%edx
5033 40004d8a:       f7 da                   neg    %edx
5034 40004d8c:       89 55 dc                mov    %edx,-0x24(%ebp)
5035 40004d8f:       eb 07                   jmp    40004d98 <fs_opendir+0x18f>
5036 40004d91:       c7 45 dc e4 ff ff ff    movl   $0xffffffe4,-0x24(%ebp)
5037 40004d98:       8b 45 dc                mov    -0x24(%ebp),%eax
5038 40004d9b:       c9                      leave  
5039 40004d9c:       c3                      ret    
5041 40004d9d <fs_readdir>:
5042 40004d9d:       55                      push   %ebp
5043 40004d9e:       89 e5                   mov    %esp,%ebp
5044 40004da0:       53                      push   %ebx
5045 40004da1:       83 ec 44                sub    $0x44,%esp
5046 40004da4:       8b 15 60 59 01 40       mov    0x40015960,%edx
5047 40004daa:       8b 45 0c                mov    0xc(%ebp),%eax
5048 40004dad:       89 44 24 0c             mov    %eax,0xc(%esp)
5049 40004db1:       8b 45 08                mov    0x8(%ebp),%eax
5050 40004db4:       89 44 24 08             mov    %eax,0x8(%esp)
5051 40004db8:       c7 44 24 04 a4 2c 01    movl   $0x40012ca4,0x4(%esp)
5052 40004dbf:       40 
5053 40004dc0:       89 14 24                mov    %edx,(%esp)
5054 40004dc3:       e8 c0 3e 00 00          call   40008c88 <fprintf>
5055 40004dc8:       8b 45 08                mov    0x8(%ebp),%eax
5056 40004dcb:       89 04 24                mov    %eax,(%esp)
5057 40004dce:       e8 89 ec ff ff          call   40003a5c <cdi_fs_find>
5058 40004dd3:       89 45 ec                mov    %eax,-0x14(%ebp)
5059 40004dd6:       83 7d ec 00             cmpl   $0x0,-0x14(%ebp)
5060 40004dda:       0f 84 73 01 00 00       je     40004f53 <fs_readdir+0x1b6>
5061 40004de0:       8b 45 0c                mov    0xc(%ebp),%eax
5062 40004de3:       89 44 24 04             mov    %eax,0x4(%esp)
5063 40004de7:       8b 45 ec                mov    -0x14(%ebp),%eax
5064 40004dea:       89 04 24                mov    %eax,(%esp)
5065 40004ded:       e8 d6 ec ff ff          call   40003ac8 <cdi_fs_file_find>
5066 40004df2:       89 45 f0                mov    %eax,-0x10(%ebp)
5067 40004df5:       83 7d f0 00             cmpl   $0x0,-0x10(%ebp)
5068 40004df9:       0f 84 4b 01 00 00       je     40004f4a <fs_readdir+0x1ad>
5069 40004dff:       8b 45 f0                mov    -0x10(%ebp),%eax
5070 40004e02:       8b 40 08                mov    0x8(%eax),%eax
5071 40004e05:       83 f8 01                cmp    $0x1,%eax
5072 40004e08:       0f 85 33 01 00 00       jne    40004f41 <fs_readdir+0x1a4>
5073 40004e0e:       8b 45 f0                mov    -0x10(%ebp),%eax
5074 40004e11:       8b 50 0c                mov    0xc(%eax),%edx
5075 40004e14:       8b 48 10                mov    0x10(%eax),%ecx
5076 40004e17:       89 55 c8                mov    %edx,-0x38(%ebp)
5077 40004e1a:       89 4d cc                mov    %ecx,-0x34(%ebp)
5078 40004e1d:       83 7d cc 00             cmpl   $0x0,-0x34(%ebp)
5079 40004e21:       77 62                   ja     40004e85 <fs_readdir+0xe8>
5080 40004e23:       83 7d cc 00             cmpl   $0x0,-0x34(%ebp)
5081 40004e27:       72 06                   jb     40004e2f <fs_readdir+0x92>
5082 40004e29:       83 7d c8 01             cmpl   $0x1,-0x38(%ebp)
5083 40004e2d:       77 56                   ja     40004e85 <fs_readdir+0xe8>
5084 40004e2f:       8b 45 f0                mov    -0x10(%ebp),%eax
5085 40004e32:       8b 50 10                mov    0x10(%eax),%edx
5086 40004e35:       8b 40 0c                mov    0xc(%eax),%eax
5087 40004e38:       89 c1                   mov    %eax,%ecx
5088 40004e3a:       09 d1                   or     %edx,%ecx
5089 40004e3c:       85 c9                   test   %ecx,%ecx
5090 40004e3e:       0f 94 c3                sete   %bl
5091 40004e41:       83 c0 01                add    $0x1,%eax
5092 40004e44:       83 d2 00                adc    $0x0,%edx
5093 40004e47:       8b 4d f0                mov    -0x10(%ebp),%ecx
5094 40004e4a:       89 41 0c                mov    %eax,0xc(%ecx)
5095 40004e4d:       89 51 10                mov    %edx,0x10(%ecx)
5096 40004e50:       84 db                   test   %bl,%bl
5097 40004e52:       74 09                   je     40004e5d <fs_readdir+0xc0>
5098 40004e54:       c7 45 d0 b7 2c 01 40    movl   $0x40012cb7,-0x30(%ebp)
5099 40004e5b:       eb 07                   jmp    40004e64 <fs_readdir+0xc7>
5100 40004e5d:       c7 45 d0 b9 2c 01 40    movl   $0x40012cb9,-0x30(%ebp)
5101 40004e64:       8b 45 f0                mov    -0x10(%ebp),%eax
5102 40004e67:       8b 40 14                mov    0x14(%eax),%eax
5103 40004e6a:       8b 4d d0                mov    -0x30(%ebp),%ecx
5104 40004e6d:       89 4c 24 04             mov    %ecx,0x4(%esp)
5105 40004e71:       89 04 24                mov    %eax,(%esp)
5106 40004e74:       e8 ac a5 00 00          call   4000f425 <strcpy>
5107 40004e79:       c7 45 d4 00 00 00 00    movl   $0x0,-0x2c(%ebp)
5108 40004e80:       e9 d5 00 00 00          jmp    40004f5a <fs_readdir+0x1bd>
5109 40004e85:       8b 45 f0                mov    -0x10(%ebp),%eax
5110 40004e88:       8b 40 18                mov    0x18(%eax),%eax
5111 40004e8b:       85 c0                   test   %eax,%eax
5112 40004e8d:       75 51                   jne    40004ee0 <fs_readdir+0x143>
5113 40004e8f:       8b 45 f0                mov    -0x10(%ebp),%eax
5114 40004e92:       8b 10                   mov    (%eax),%edx
5115 40004e94:       8b 45 ec                mov    -0x14(%ebp),%eax
5116 40004e97:       89 45 e0                mov    %eax,-0x20(%ebp)
5117 40004e9a:       89 55 e4                mov    %edx,-0x1c(%ebp)
5118 40004e9d:       c7 45 e8 00 00 00 00    movl   $0x0,-0x18(%ebp)
5119 40004ea4:       8d 45 e0                lea    -0x20(%ebp),%eax
5120 40004ea7:       89 04 24                mov    %eax,(%esp)
5121 40004eaa:       e8 8d ee ff ff          call   40003d3c <cdi_fs_loadres>
5122 40004eaf:       8b 45 f0                mov    -0x10(%ebp),%eax
5123 40004eb2:       8b 00                   mov    (%eax),%eax
5124 40004eb4:       8b 40 50                mov    0x50(%eax),%eax
5125 40004eb7:       85 c0                   test   %eax,%eax
5126 40004eb9:       74 1c                   je     40004ed7 <fs_readdir+0x13a>
5127 40004ebb:       8b 45 f0                mov    -0x10(%ebp),%eax
5128 40004ebe:       8b 00                   mov    (%eax),%eax
5129 40004ec0:       8b 40 50                mov    0x50(%eax),%eax
5130 40004ec3:       8b 10                   mov    (%eax),%edx
5131 40004ec5:       8d 45 e0                lea    -0x20(%ebp),%eax
5132 40004ec8:       89 04 24                mov    %eax,(%esp)
5133 40004ecb:       ff d2                   call   *%edx
5134 40004ecd:       89 c2                   mov    %eax,%edx
5135 40004ecf:       8b 45 f0                mov    -0x10(%ebp),%eax
5136 40004ed2:       89 50 18                mov    %edx,0x18(%eax)
5137 40004ed5:       eb 09                   jmp    40004ee0 <fs_readdir+0x143>
5138 40004ed7:       c7 45 d4 c7 ff ff ff    movl   $0xffffffc7,-0x2c(%ebp)
5139 40004ede:       eb 7a                   jmp    40004f5a <fs_readdir+0x1bd>
5140 40004ee0:       8b 45 f0                mov    -0x10(%ebp),%eax
5141 40004ee3:       8b 50 10                mov    0x10(%eax),%edx
5142 40004ee6:       8b 40 0c                mov    0xc(%eax),%eax
5143 40004ee9:       89 c1                   mov    %eax,%ecx
5144 40004eeb:       8d 59 fe                lea    -0x2(%ecx),%ebx
5145 40004eee:       83 c0 01                add    $0x1,%eax
5146 40004ef1:       83 d2 00                adc    $0x0,%edx
5147 40004ef4:       8b 4d f0                mov    -0x10(%ebp),%ecx
5148 40004ef7:       89 41 0c                mov    %eax,0xc(%ecx)
5149 40004efa:       89 51 10                mov    %edx,0x10(%ecx)
5150 40004efd:       8b 45 f0                mov    -0x10(%ebp),%eax
5151 40004f00:       8b 40 18                mov    0x18(%eax),%eax
5152 40004f03:       89 5c 24 04             mov    %ebx,0x4(%esp)
5153 40004f07:       89 04 24                mov    %eax,(%esp)
5154 40004f0a:       e8 a5 e9 ff ff          call   400038b4 <cdi_list_get>
5155 40004f0f:       89 45 f4                mov    %eax,-0xc(%ebp)
5156 40004f12:       83 7d f4 00             cmpl   $0x0,-0xc(%ebp)
5157 40004f16:       74 20                   je     40004f38 <fs_readdir+0x19b>
5158 40004f18:       8b 45 f4                mov    -0xc(%ebp),%eax
5159 40004f1b:       8b 10                   mov    (%eax),%edx
5160 40004f1d:       8b 45 f0                mov    -0x10(%ebp),%eax
5161 40004f20:       8b 40 14                mov    0x14(%eax),%eax
5162 40004f23:       89 54 24 04             mov    %edx,0x4(%esp)
5163 40004f27:       89 04 24                mov    %eax,(%esp)
5164 40004f2a:       e8 f6 a4 00 00          call   4000f425 <strcpy>
5165 40004f2f:       c7 45 d4 00 00 00 00    movl   $0x0,-0x2c(%ebp)
5166 40004f36:       eb 22                   jmp    40004f5a <fs_readdir+0x1bd>
5167 40004f38:       c7 45 d4 d3 ff ff ff    movl   $0xffffffd3,-0x2c(%ebp)
5168 40004f3f:       eb 19                   jmp    40004f5a <fs_readdir+0x1bd>
5169 40004f41:       c7 45 d4 c7 ff ff ff    movl   $0xffffffc7,-0x2c(%ebp)
5170 40004f48:       eb 10                   jmp    40004f5a <fs_readdir+0x1bd>
5171 40004f4a:       c7 45 d4 f8 ff ff ff    movl   $0xfffffff8,-0x2c(%ebp)
5172 40004f51:       eb 07                   jmp    40004f5a <fs_readdir+0x1bd>
5173 40004f53:       c7 45 d4 e4 ff ff ff    movl   $0xffffffe4,-0x2c(%ebp)
5174 40004f5a:       8b 45 d4                mov    -0x2c(%ebp),%eax
5175 40004f5d:       83 c4 44                add    $0x44,%esp
5176 40004f60:       5b                      pop    %ebx
5177 40004f61:       5d                      pop    %ebp
5178 40004f62:       c3                      ret    
5180 40004f63 <fs_closedir>:
5181 40004f63:       55                      push   %ebp
5182 40004f64:       89 e5                   mov    %esp,%ebp
5183 40004f66:       83 ec 28                sub    $0x28,%esp
5184 40004f69:       8b 15 60 59 01 40       mov    0x40015960,%edx
5185 40004f6f:       8b 45 0c                mov    0xc(%ebp),%eax
5186 40004f72:       89 44 24 0c             mov    %eax,0xc(%esp)
5187 40004f76:       8b 45 08                mov    0x8(%ebp),%eax
5188 40004f79:       89 44 24 08             mov    %eax,0x8(%esp)
5189 40004f7d:       c7 44 24 04 bc 2c 01    movl   $0x40012cbc,0x4(%esp)
5190 40004f84:       40 
5191 40004f85:       89 14 24                mov    %edx,(%esp)
5192 40004f88:       e8 fb 3c 00 00          call   40008c88 <fprintf>
5193 40004f8d:       8b 45 08                mov    0x8(%ebp),%eax
5194 40004f90:       89 04 24                mov    %eax,(%esp)
5195 40004f93:       e8 c4 ea ff ff          call   40003a5c <cdi_fs_find>
5196 40004f98:       89 45 f8                mov    %eax,-0x8(%ebp)
5197 40004f9b:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
5198 40004f9f:       0f 84 83 00 00 00       je     40005028 <fs_closedir+0xc5>
5199 40004fa5:       8b 45 0c                mov    0xc(%ebp),%eax
5200 40004fa8:       89 44 24 04             mov    %eax,0x4(%esp)
5201 40004fac:       8b 45 f8                mov    -0x8(%ebp),%eax
5202 40004faf:       89 04 24                mov    %eax,(%esp)
5203 40004fb2:       e8 11 eb ff ff          call   40003ac8 <cdi_fs_file_find>
5204 40004fb7:       89 45 fc                mov    %eax,-0x4(%ebp)
5205 40004fba:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
5206 40004fbe:       74 5f                   je     4000501f <fs_closedir+0xbc>
5207 40004fc0:       8b 45 fc                mov    -0x4(%ebp),%eax
5208 40004fc3:       8b 40 08                mov    0x8(%eax),%eax
5209 40004fc6:       83 f8 01                cmp    $0x1,%eax
5210 40004fc9:       75 4b                   jne    40005016 <fs_closedir+0xb3>
5211 40004fcb:       8b 45 fc                mov    -0x4(%ebp),%eax
5212 40004fce:       8b 40 14                mov    0x14(%eax),%eax
5213 40004fd1:       89 04 24                mov    %eax,(%esp)
5214 40004fd4:       e8 7e 83 00 00          call   4000d357 <shmdt>
5215 40004fd9:       8b 45 f8                mov    -0x8(%ebp),%eax
5216 40004fdc:       8b 50 20                mov    0x20(%eax),%edx
5217 40004fdf:       8b 45 fc                mov    -0x4(%ebp),%eax
5218 40004fe2:       89 44 24 04             mov    %eax,0x4(%esp)
5219 40004fe6:       89 14 24                mov    %edx,(%esp)
5220 40004fe9:       e8 57 ae 00 00          call   4000fe45 <llist_find>
5221 40004fee:       89 c2                   mov    %eax,%edx
5222 40004ff0:       8b 45 f8                mov    -0x8(%ebp),%eax
5223 40004ff3:       8b 40 20                mov    0x20(%eax),%eax
5224 40004ff6:       89 54 24 04             mov    %edx,0x4(%esp)
5225 40004ffa:       89 04 24                mov    %eax,(%esp)
5226 40004ffd:       e8 53 f3 ff ff          call   40004355 <cdi_list_remove>
5227 40005002:       8b 45 fc                mov    -0x4(%ebp),%eax
5228 40005005:       89 04 24                mov    %eax,(%esp)
5229 40005008:       e8 4e 72 00 00          call   4000c25b <free>
5230 4000500d:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
5231 40005014:       eb 19                   jmp    4000502f <fs_closedir+0xcc>
5232 40005016:       c7 45 ec c7 ff ff ff    movl   $0xffffffc7,-0x14(%ebp)
5233 4000501d:       eb 10                   jmp    4000502f <fs_closedir+0xcc>
5234 4000501f:       c7 45 ec f8 ff ff ff    movl   $0xfffffff8,-0x14(%ebp)
5235 40005026:       eb 07                   jmp    4000502f <fs_closedir+0xcc>
5236 40005028:       c7 45 ec e4 ff ff ff    movl   $0xffffffe4,-0x14(%ebp)
5237 4000502f:       8b 45 ec                mov    -0x14(%ebp),%eax
5238 40005032:       c9                      leave  
5239 40005033:       c3                      ret    
5241 40005034 <fs_seekdir>:
5242 40005034:       55                      push   %ebp
5243 40005035:       89 e5                   mov    %esp,%ebp
5244 40005037:       83 ec 28                sub    $0x28,%esp
5245 4000503a:       8b 15 60 59 01 40       mov    0x40015960,%edx
5246 40005040:       8b 45 10                mov    0x10(%ebp),%eax
5247 40005043:       89 44 24 10             mov    %eax,0x10(%esp)
5248 40005047:       8b 45 0c                mov    0xc(%ebp),%eax
5249 4000504a:       89 44 24 0c             mov    %eax,0xc(%esp)
5250 4000504e:       8b 45 08                mov    0x8(%ebp),%eax
5251 40005051:       89 44 24 08             mov    %eax,0x8(%esp)
5252 40005055:       c7 44 24 04 d0 2c 01    movl   $0x40012cd0,0x4(%esp)
5253 4000505c:       40 
5254 4000505d:       89 14 24                mov    %edx,(%esp)
5255 40005060:       e8 23 3c 00 00          call   40008c88 <fprintf>
5256 40005065:       8b 45 08                mov    0x8(%ebp),%eax
5257 40005068:       89 04 24                mov    %eax,(%esp)
5258 4000506b:       e8 ec e9 ff ff          call   40003a5c <cdi_fs_find>
5259 40005070:       89 45 f8                mov    %eax,-0x8(%ebp)
5260 40005073:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
5261 40005077:       74 5d                   je     400050d6 <fs_seekdir+0xa2>
5262 40005079:       8b 45 0c                mov    0xc(%ebp),%eax
5263 4000507c:       89 44 24 04             mov    %eax,0x4(%esp)
5264 40005080:       8b 45 f8                mov    -0x8(%ebp),%eax
5265 40005083:       89 04 24                mov    %eax,(%esp)
5266 40005086:       e8 3d ea ff ff          call   40003ac8 <cdi_fs_file_find>
5267 4000508b:       89 45 fc                mov    %eax,-0x4(%ebp)
5268 4000508e:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
5269 40005092:       74 39                   je     400050cd <fs_seekdir+0x99>
5270 40005094:       8b 45 fc                mov    -0x4(%ebp),%eax
5271 40005097:       8b 40 08                mov    0x8(%eax),%eax
5272 4000509a:       83 f8 01                cmp    $0x1,%eax
5273 4000509d:       75 25                   jne    400050c4 <fs_seekdir+0x90>
5274 4000509f:       83 7d 10 ff             cmpl   $0xffffffff,0x10(%ebp)
5275 400050a3:       74 11                   je     400050b6 <fs_seekdir+0x82>
5276 400050a5:       8b 45 10                mov    0x10(%ebp),%eax
5277 400050a8:       89 c2                   mov    %eax,%edx
5278 400050aa:       c1 fa 1f                sar    $0x1f,%edx
5279 400050ad:       8b 4d fc                mov    -0x4(%ebp),%ecx
5280 400050b0:       89 41 0c                mov    %eax,0xc(%ecx)
5281 400050b3:       89 51 10                mov    %edx,0x10(%ecx)
5282 400050b6:       8b 45 fc                mov    -0x4(%ebp),%eax
5283 400050b9:       8b 50 10                mov    0x10(%eax),%edx
5284 400050bc:       8b 40 0c                mov    0xc(%eax),%eax
5285 400050bf:       89 45 ec                mov    %eax,-0x14(%ebp)
5286 400050c2:       eb 19                   jmp    400050dd <fs_seekdir+0xa9>
5287 400050c4:       c7 45 ec c7 ff ff ff    movl   $0xffffffc7,-0x14(%ebp)
5288 400050cb:       eb 10                   jmp    400050dd <fs_seekdir+0xa9>
5289 400050cd:       c7 45 ec f8 ff ff ff    movl   $0xfffffff8,-0x14(%ebp)
5290 400050d4:       eb 07                   jmp    400050dd <fs_seekdir+0xa9>
5291 400050d6:       c7 45 ec e4 ff ff ff    movl   $0xffffffe4,-0x14(%ebp)
5292 400050dd:       8b 45 ec                mov    -0x14(%ebp),%eax
5293 400050e0:       c9                      leave  
5294 400050e1:       c3                      ret    
5296 400050e2 <fs_statvfs>:
5297 400050e2:       55                      push   %ebp
5298 400050e3:       89 e5                   mov    %esp,%ebp
5299 400050e5:       83 ec 28                sub    $0x28,%esp
5300 400050e8:       8b 15 60 59 01 40       mov    0x40015960,%edx
5301 400050ee:       8b 45 0c                mov    0xc(%ebp),%eax
5302 400050f1:       89 44 24 0c             mov    %eax,0xc(%esp)
5303 400050f5:       8b 45 08                mov    0x8(%ebp),%eax
5304 400050f8:       89 44 24 08             mov    %eax,0x8(%esp)
5305 400050fc:       c7 44 24 04 e6 2c 01    movl   $0x40012ce6,0x4(%esp)
5306 40005103:       40 
5307 40005104:       89 14 24                mov    %edx,(%esp)
5308 40005107:       e8 7c 3b 00 00          call   40008c88 <fprintf>
5309 4000510c:       8b 45 08                mov    0x8(%ebp),%eax
5310 4000510f:       89 04 24                mov    %eax,(%esp)
5311 40005112:       e8 45 e9 ff ff          call   40003a5c <cdi_fs_find>
5312 40005117:       89 45 f8                mov    %eax,-0x8(%ebp)
5313 4000511a:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
5314 4000511e:       74 61                   je     40005181 <fs_statvfs+0x9f>
5315 40005120:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
5316 40005127:       00 
5317 40005128:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
5318 4000512f:       00 
5319 40005130:       8b 45 0c                mov    0xc(%ebp),%eax
5320 40005133:       89 04 24                mov    %eax,(%esp)
5321 40005136:       e8 99 81 00 00          call   4000d2d4 <shmat>
5322 4000513b:       89 45 fc                mov    %eax,-0x4(%ebp)
5323 4000513e:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
5324 40005142:       74 2f                   je     40005173 <fs_statvfs+0x91>
5325 40005144:       c7 44 24 08 2c 00 00    movl   $0x2c,0x8(%esp)
5326 4000514b:       00 
5327 4000514c:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
5328 40005153:       00 
5329 40005154:       8b 45 fc                mov    -0x4(%ebp),%eax
5330 40005157:       89 04 24                mov    %eax,(%esp)
5331 4000515a:       e8 7e a1 00 00          call   4000f2dd <memset>
5332 4000515f:       8b 45 fc                mov    -0x4(%ebp),%eax
5333 40005162:       89 04 24                mov    %eax,(%esp)
5334 40005165:       e8 ed 81 00 00          call   4000d357 <shmdt>
5335 4000516a:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
5336 40005171:       eb 15                   jmp    40005188 <fs_statvfs+0xa6>
5337 40005173:       a1 54 59 01 40          mov    0x40015954,%eax
5338 40005178:       89 c2                   mov    %eax,%edx
5339 4000517a:       f7 da                   neg    %edx
5340 4000517c:       89 55 ec                mov    %edx,-0x14(%ebp)
5341 4000517f:       eb 07                   jmp    40005188 <fs_statvfs+0xa6>
5342 40005181:       c7 45 ec e4 ff ff ff    movl   $0xffffffe4,-0x14(%ebp)
5343 40005188:       8b 45 ec                mov    -0x14(%ebp),%eax
5344 4000518b:       c9                      leave  
5345 4000518c:       c3                      ret    
5347 4000518d <fs_mknod>:
5348 4000518d:       55                      push   %ebp
5349 4000518e:       89 e5                   mov    %esp,%ebp
5350 40005190:       53                      push   %ebx
5351 40005191:       83 ec 44                sub    $0x44,%esp
5352 40005194:       8b 15 60 59 01 40       mov    0x40015960,%edx
5353 4000519a:       8b 45 14                mov    0x14(%ebp),%eax
5354 4000519d:       89 44 24 14             mov    %eax,0x14(%esp)
5355 400051a1:       8b 45 10                mov    0x10(%ebp),%eax
5356 400051a4:       89 44 24 10             mov    %eax,0x10(%esp)
5357 400051a8:       8b 45 0c                mov    0xc(%ebp),%eax
5358 400051ab:       89 44 24 0c             mov    %eax,0xc(%esp)
5359 400051af:       8b 45 08                mov    0x8(%ebp),%eax
5360 400051b2:       89 44 24 08             mov    %eax,0x8(%esp)
5361 400051b6:       c7 44 24 04 f9 2c 01    movl   $0x40012cf9,0x4(%esp)
5362 400051bd:       40 
5363 400051be:       89 14 24                mov    %edx,(%esp)
5364 400051c1:       e8 c2 3a 00 00          call   40008c88 <fprintf>
5365 400051c6:       8b 45 08                mov    0x8(%ebp),%eax
5366 400051c9:       89 04 24                mov    %eax,(%esp)
5367 400051cc:       e8 8b e8 ff ff          call   40003a5c <cdi_fs_find>
5368 400051d1:       89 45 f4                mov    %eax,-0xc(%ebp)
5369 400051d4:       83 7d f4 00             cmpl   $0x0,-0xc(%ebp)
5370 400051d8:       0f 84 5c 01 00 00       je     4000533a <fs_mknod+0x1ad>
5371 400051de:       8b 45 0c                mov    0xc(%ebp),%eax
5372 400051e1:       89 44 24 04             mov    %eax,0x4(%esp)
5373 400051e5:       8b 45 f4                mov    -0xc(%ebp),%eax
5374 400051e8:       89 04 24                mov    %eax,(%esp)
5375 400051eb:       e8 b7 eb ff ff          call   40003da7 <cdi_fs_path2res>
5376 400051f0:       85 c0                   test   %eax,%eax
5377 400051f2:       0f 85 39 01 00 00       jne    40005331 <fs_mknod+0x1a4>
5378 400051f8:       8d 45 f0                lea    -0x10(%ebp),%eax
5379 400051fb:       89 44 24 08             mov    %eax,0x8(%esp)
5380 400051ff:       8b 45 0c                mov    0xc(%ebp),%eax
5381 40005202:       89 44 24 04             mov    %eax,0x4(%esp)
5382 40005206:       8b 45 f4                mov    -0xc(%ebp),%eax
5383 40005209:       89 04 24                mov    %eax,(%esp)
5384 4000520c:       e8 b4 e9 ff ff          call   40003bc5 <cdi_fs_parentres>
5385 40005211:       89 45 f8                mov    %eax,-0x8(%ebp)
5386 40005214:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
5387 40005218:       0f 84 0a 01 00 00       je     40005328 <fs_mknod+0x19b>
5388 4000521e:       8b 45 f8                mov    -0x8(%ebp),%eax
5389 40005221:       8b 40 50                mov    0x50(%eax),%eax
5390 40005224:       85 c0                   test   %eax,%eax
5391 40005226:       0f 84 f3 00 00 00       je     4000531f <fs_mknod+0x192>
5392 4000522c:       8b 45 f4                mov    -0xc(%ebp),%eax
5393 4000522f:       89 45 e4                mov    %eax,-0x1c(%ebp)
5394 40005232:       c7 45 e8 00 00 00 00    movl   $0x0,-0x18(%ebp)
5395 40005239:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
5396 40005240:       8b 45 f8                mov    -0x8(%ebp),%eax
5397 40005243:       8b 40 50                mov    0x50(%eax),%eax
5398 40005246:       8b 48 04                mov    0x4(%eax),%ecx
5399 40005249:       8b 55 f0                mov    -0x10(%ebp),%edx
5400 4000524c:       8b 45 f8                mov    -0x8(%ebp),%eax
5401 4000524f:       89 44 24 08             mov    %eax,0x8(%esp)
5402 40005253:       89 54 24 04             mov    %edx,0x4(%esp)
5403 40005257:       8d 45 e4                lea    -0x1c(%ebp),%eax
5404 4000525a:       89 04 24                mov    %eax,(%esp)
5405 4000525d:       ff d1                   call   *%ecx
5406 4000525f:       85 c0                   test   %eax,%eax
5407 40005261:       75 17                   jne    4000527a <fs_mknod+0xed>
5408 40005263:       8b 45 ec                mov    -0x14(%ebp),%eax
5409 40005266:       89 04 24                mov    %eax,(%esp)
5410 40005269:       e8 cd e8 ff ff          call   40003b3b <cdi_fs_error2errno>
5411 4000526e:       89 c2                   mov    %eax,%edx
5412 40005270:       f7 da                   neg    %edx
5413 40005272:       89 55 d4                mov    %edx,-0x2c(%ebp)
5414 40005275:       e9 c7 00 00 00          jmp    40005341 <fs_mknod+0x1b4>
5415 4000527a:       8d 45 e4                lea    -0x1c(%ebp),%eax
5416 4000527d:       89 04 24                mov    %eax,(%esp)
5417 40005280:       e8 b7 ea ff ff          call   40003d3c <cdi_fs_loadres>
5418 40005285:       83 f8 ff                cmp    $0xffffffff,%eax
5419 40005288:       75 17                   jne    400052a1 <fs_mknod+0x114>
5420 4000528a:       8b 45 ec                mov    -0x14(%ebp),%eax
5421 4000528d:       89 04 24                mov    %eax,(%esp)
5422 40005290:       e8 a6 e8 ff ff          call   40003b3b <cdi_fs_error2errno>
5423 40005295:       89 c2                   mov    %eax,%edx
5424 40005297:       f7 da                   neg    %edx
5425 40005299:       89 55 d4                mov    %edx,-0x2c(%ebp)
5426 4000529c:       e9 a0 00 00 00          jmp    40005341 <fs_mknod+0x1b4>
5427 400052a1:       8b 45 e8                mov    -0x18(%ebp),%eax
5428 400052a4:       c7 40 5c 00 00 00 00    movl   $0x0,0x5c(%eax)
5429 400052ab:       8b 45 e8                mov    -0x18(%ebp),%eax
5430 400052ae:       8b 40 48                mov    0x48(%eax),%eax
5431 400052b1:       8b 58 14                mov    0x14(%eax),%ebx
5432 400052b4:       8b 45 e8                mov    -0x18(%ebp),%eax
5433 400052b7:       83 c0 5c                add    $0x5c,%eax
5434 400052ba:       89 44 24 04             mov    %eax,0x4(%esp)
5435 400052be:       8b 45 10                mov    0x10(%ebp),%eax
5436 400052c1:       89 04 24                mov    %eax,(%esp)
5437 400052c4:       e8 e3 eb ff ff          call   40003eac <cdi_fs_mode2class>
5438 400052c9:       89 44 24 04             mov    %eax,0x4(%esp)
5439 400052cd:       8d 45 e4                lea    -0x1c(%ebp),%eax
5440 400052d0:       89 04 24                mov    %eax,(%esp)
5441 400052d3:       ff d3                   call   *%ebx
5442 400052d5:       85 c0                   test   %eax,%eax
5443 400052d7:       75 14                   jne    400052ed <fs_mknod+0x160>
5444 400052d9:       8b 45 ec                mov    -0x14(%ebp),%eax
5445 400052dc:       89 04 24                mov    %eax,(%esp)
5446 400052df:       e8 57 e8 ff ff          call   40003b3b <cdi_fs_error2errno>
5447 400052e4:       89 c2                   mov    %eax,%edx
5448 400052e6:       f7 da                   neg    %edx
5449 400052e8:       89 55 d4                mov    %edx,-0x2c(%ebp)
5450 400052eb:       eb 54                   jmp    40005341 <fs_mknod+0x1b4>
5451 400052ed:       8d 45 e4                lea    -0x1c(%ebp),%eax
5452 400052f0:       89 04 24                mov    %eax,(%esp)
5453 400052f3:       e8 52 00 00 00          call   4000534a <cdi_fs_unloadres>
5454 400052f8:       85 c0                   test   %eax,%eax
5455 400052fa:       74 14                   je     40005310 <fs_mknod+0x183>
5456 400052fc:       8b 45 ec                mov    -0x14(%ebp),%eax
5457 400052ff:       89 04 24                mov    %eax,(%esp)
5458 40005302:       e8 34 e8 ff ff          call   40003b3b <cdi_fs_error2errno>
5459 40005307:       89 c2                   mov    %eax,%edx
5460 40005309:       f7 da                   neg    %edx
5461 4000530b:       89 55 d8                mov    %edx,-0x28(%ebp)
5462 4000530e:       eb 07                   jmp    40005317 <fs_mknod+0x18a>
5463 40005310:       c7 45 d8 00 00 00 00    movl   $0x0,-0x28(%ebp)
5464 40005317:       8b 45 d8                mov    -0x28(%ebp),%eax
5465 4000531a:       89 45 d4                mov    %eax,-0x2c(%ebp)
5466 4000531d:       eb 22                   jmp    40005341 <fs_mknod+0x1b4>
5467 4000531f:       c7 45 d4 c7 ff ff ff    movl   $0xffffffc7,-0x2c(%ebp)
5468 40005326:       eb 19                   jmp    40005341 <fs_mknod+0x1b4>
5469 40005328:       c7 45 d4 d3 ff ff ff    movl   $0xffffffd3,-0x2c(%ebp)
5470 4000532f:       eb 10                   jmp    40005341 <fs_mknod+0x1b4>
5471 40005331:       c7 45 d4 ec ff ff ff    movl   $0xffffffec,-0x2c(%ebp)
5472 40005338:       eb 07                   jmp    40005341 <fs_mknod+0x1b4>
5473 4000533a:       c7 45 d4 e4 ff ff ff    movl   $0xffffffe4,-0x2c(%ebp)
5474 40005341:       8b 45 d4                mov    -0x2c(%ebp),%eax
5475 40005344:       83 c4 44                add    $0x44,%esp
5476 40005347:       5b                      pop    %ebx
5477 40005348:       5d                      pop    %ebp
5478 40005349:       c3                      ret    
5480 4000534a <cdi_fs_unloadres>:
5481 4000534a:       55                      push   %ebp
5482 4000534b:       89 e5                   mov    %esp,%ebp
5483 4000534d:       83 ec 18                sub    $0x18,%esp
5484 40005350:       8b 15 60 59 01 40       mov    0x40015960,%edx
5485 40005356:       8b 45 08                mov    0x8(%ebp),%eax
5486 40005359:       89 44 24 08             mov    %eax,0x8(%esp)
5487 4000535d:       c7 44 24 04 10 2d 01    movl   $0x40012d10,0x4(%esp)
5488 40005364:       40 
5489 40005365:       89 14 24                mov    %edx,(%esp)
5490 40005368:       e8 1b 39 00 00          call   40008c88 <fprintf>
5491 4000536d:       8b 45 08                mov    0x8(%ebp),%eax
5492 40005370:       8b 40 04                mov    0x4(%eax),%eax
5493 40005373:       8b 40 08                mov    0x8(%eax),%eax
5494 40005376:       85 c0                   test   %eax,%eax
5495 40005378:       74 2f                   je     400053a9 <cdi_fs_unloadres+0x5f>
5496 4000537a:       8b 45 08                mov    0x8(%ebp),%eax
5497 4000537d:       8b 40 04                mov    0x4(%eax),%eax
5498 40005380:       8b 40 48                mov    0x48(%eax),%eax
5499 40005383:       8b 10                   mov    (%eax),%edx
5500 40005385:       8b 45 08                mov    0x8(%ebp),%eax
5501 40005388:       89 04 24                mov    %eax,(%esp)
5502 4000538b:       ff d2                   call   *%edx
5503 4000538d:       85 c0                   test   %eax,%eax
5504 4000538f:       74 09                   je     4000539a <cdi_fs_unloadres+0x50>
5505 40005391:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
5506 40005398:       eb 07                   jmp    400053a1 <cdi_fs_unloadres+0x57>
5507 4000539a:       c7 45 fc ff ff ff ff    movl   $0xffffffff,-0x4(%ebp)
5508 400053a1:       8b 45 fc                mov    -0x4(%ebp),%eax
5509 400053a4:       89 45 f8                mov    %eax,-0x8(%ebp)
5510 400053a7:       eb 07                   jmp    400053b0 <cdi_fs_unloadres+0x66>
5511 400053a9:       c7 45 f8 00 00 00 00    movl   $0x0,-0x8(%ebp)
5512 400053b0:       8b 45 f8                mov    -0x8(%ebp),%eax
5513 400053b3:       c9                      leave  
5514 400053b4:       c3                      ret    
5516 400053b5 <fs_readlink>:
5517 400053b5:       55                      push   %ebp
5518 400053b6:       89 e5                   mov    %esp,%ebp
5519 400053b8:       83 ec 38                sub    $0x38,%esp
5520 400053bb:       8b 15 60 59 01 40       mov    0x40015960,%edx
5521 400053c1:       8b 45 10                mov    0x10(%ebp),%eax
5522 400053c4:       89 44 24 10             mov    %eax,0x10(%esp)
5523 400053c8:       8b 45 0c                mov    0xc(%ebp),%eax
5524 400053cb:       89 44 24 0c             mov    %eax,0xc(%esp)
5525 400053cf:       8b 45 08                mov    0x8(%ebp),%eax
5526 400053d2:       89 44 24 08             mov    %eax,0x8(%esp)
5527 400053d6:       c7 44 24 04 28 2d 01    movl   $0x40012d28,0x4(%esp)
5528 400053dd:       40 
5529 400053de:       89 14 24                mov    %edx,(%esp)
5530 400053e1:       e8 a2 38 00 00          call   40008c88 <fprintf>
5531 400053e6:       8b 45 08                mov    0x8(%ebp),%eax
5532 400053e9:       89 04 24                mov    %eax,(%esp)
5533 400053ec:       e8 6b e6 ff ff          call   40003a5c <cdi_fs_find>
5534 400053f1:       89 45 ec                mov    %eax,-0x14(%ebp)
5535 400053f4:       83 7d ec 00             cmpl   $0x0,-0x14(%ebp)
5536 400053f8:       0f 84 ed 00 00 00       je     400054eb <fs_readlink+0x136>
5537 400053fe:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
5538 40005405:       00 
5539 40005406:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
5540 4000540d:       00 
5541 4000540e:       8b 45 0c                mov    0xc(%ebp),%eax
5542 40005411:       89 04 24                mov    %eax,(%esp)
5543 40005414:       e8 bb 7e 00 00          call   4000d2d4 <shmat>
5544 40005419:       89 45 f0                mov    %eax,-0x10(%ebp)
5545 4000541c:       83 7d f0 00             cmpl   $0x0,-0x10(%ebp)
5546 40005420:       0f 84 b7 00 00 00       je     400054dd <fs_readlink+0x128>
5547 40005426:       8b 45 f0                mov    -0x10(%ebp),%eax
5548 40005429:       89 44 24 04             mov    %eax,0x4(%esp)
5549 4000542d:       8b 45 ec                mov    -0x14(%ebp),%eax
5550 40005430:       89 04 24                mov    %eax,(%esp)
5551 40005433:       e8 6f e9 ff ff          call   40003da7 <cdi_fs_path2res>
5552 40005438:       89 45 f4                mov    %eax,-0xc(%ebp)
5553 4000543b:       83 7d f4 00             cmpl   $0x0,-0xc(%ebp)
5554 4000543f:       0f 84 84 00 00 00       je     400054c9 <fs_readlink+0x114>
5555 40005445:       8b 45 f4                mov    -0xc(%ebp),%eax
5556 40005448:       8b 40 54                mov    0x54(%eax),%eax
5557 4000544b:       85 c0                   test   %eax,%eax
5558 4000544d:       74 66                   je     400054b5 <fs_readlink+0x100>
5559 4000544f:       8b 45 ec                mov    -0x14(%ebp),%eax
5560 40005452:       89 45 e0                mov    %eax,-0x20(%ebp)
5561 40005455:       8b 45 f4                mov    -0xc(%ebp),%eax
5562 40005458:       89 45 e4                mov    %eax,-0x1c(%ebp)
5563 4000545b:       c7 45 e8 00 00 00 00    movl   $0x0,-0x18(%ebp)
5564 40005462:       8b 45 f4                mov    -0xc(%ebp),%eax
5565 40005465:       8b 40 54                mov    0x54(%eax),%eax
5566 40005468:       8b 10                   mov    (%eax),%edx
5567 4000546a:       8d 45 e0                lea    -0x20(%ebp),%eax
5568 4000546d:       89 04 24                mov    %eax,(%esp)
5569 40005470:       ff d2                   call   *%edx
5570 40005472:       89 45 f8                mov    %eax,-0x8(%ebp)
5571 40005475:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
5572 4000547c:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
5573 40005480:       74 20                   je     400054a2 <fs_readlink+0xed>
5574 40005482:       8b 45 f8                mov    -0x8(%ebp),%eax
5575 40005485:       89 04 24                mov    %eax,(%esp)
5576 40005488:       e8 2b a0 00 00          call   4000f4b8 <strlen>
5577 4000548d:       89 45 fc                mov    %eax,-0x4(%ebp)
5578 40005490:       8b 55 f0                mov    -0x10(%ebp),%edx
5579 40005493:       8b 45 f8                mov    -0x8(%ebp),%eax
5580 40005496:       89 44 24 04             mov    %eax,0x4(%esp)
5581 4000549a:       89 14 24                mov    %edx,(%esp)
5582 4000549d:       e8 83 9f 00 00          call   4000f425 <strcpy>
5583 400054a2:       8b 45 f0                mov    -0x10(%ebp),%eax
5584 400054a5:       89 04 24                mov    %eax,(%esp)
5585 400054a8:       e8 aa 7e 00 00          call   4000d357 <shmdt>
5586 400054ad:       8b 45 fc                mov    -0x4(%ebp),%eax
5587 400054b0:       89 45 dc                mov    %eax,-0x24(%ebp)
5588 400054b3:       eb 3d                   jmp    400054f2 <fs_readlink+0x13d>
5589 400054b5:       8b 45 f0                mov    -0x10(%ebp),%eax
5590 400054b8:       89 04 24                mov    %eax,(%esp)
5591 400054bb:       e8 97 7e 00 00          call   4000d357 <shmdt>
5592 400054c0:       c7 45 dc d0 ff ff ff    movl   $0xffffffd0,-0x24(%ebp)
5593 400054c7:       eb 29                   jmp    400054f2 <fs_readlink+0x13d>
5594 400054c9:       8b 45 f0                mov    -0x10(%ebp),%eax
5595 400054cc:       89 04 24                mov    %eax,(%esp)
5596 400054cf:       e8 83 7e 00 00          call   4000d357 <shmdt>
5597 400054d4:       c7 45 dc d3 ff ff ff    movl   $0xffffffd3,-0x24(%ebp)
5598 400054db:       eb 15                   jmp    400054f2 <fs_readlink+0x13d>
5599 400054dd:       a1 54 59 01 40          mov    0x40015954,%eax
5600 400054e2:       89 c2                   mov    %eax,%edx
5601 400054e4:       f7 da                   neg    %edx
5602 400054e6:       89 55 dc                mov    %edx,-0x24(%ebp)
5603 400054e9:       eb 07                   jmp    400054f2 <fs_readlink+0x13d>
5604 400054eb:       c7 45 dc e4 ff ff ff    movl   $0xffffffe4,-0x24(%ebp)
5605 400054f2:       8b 45 dc                mov    -0x24(%ebp),%eax
5606 400054f5:       c9                      leave  
5607 400054f6:       c3                      ret    
5609 400054f7 <fs_symlink>:
5610 400054f7:       55                      push   %ebp
5611 400054f8:       89 e5                   mov    %esp,%ebp
5612 400054fa:       83 ec 48                sub    $0x48,%esp
5613 400054fd:       8b 15 60 59 01 40       mov    0x40015960,%edx
5614 40005503:       8b 45 10                mov    0x10(%ebp),%eax
5615 40005506:       89 44 24 10             mov    %eax,0x10(%esp)
5616 4000550a:       8b 45 0c                mov    0xc(%ebp),%eax
5617 4000550d:       89 44 24 0c             mov    %eax,0xc(%esp)
5618 40005511:       8b 45 08                mov    0x8(%ebp),%eax
5619 40005514:       89 44 24 08             mov    %eax,0x8(%esp)
5620 40005518:       c7 44 24 04 3f 2d 01    movl   $0x40012d3f,0x4(%esp)
5621 4000551f:       40 
5622 40005520:       89 14 24                mov    %edx,(%esp)
5623 40005523:       e8 60 37 00 00          call   40008c88 <fprintf>
5624 40005528:       8b 45 08                mov    0x8(%ebp),%eax
5625 4000552b:       89 04 24                mov    %eax,(%esp)
5626 4000552e:       e8 29 e5 ff ff          call   40003a5c <cdi_fs_find>
5627 40005533:       89 45 f8                mov    %eax,-0x8(%ebp)
5628 40005536:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
5629 4000553a:       0f 84 58 01 00 00       je     40005698 <fs_symlink+0x1a1>
5630 40005540:       8d 45 f4                lea    -0xc(%ebp),%eax
5631 40005543:       89 44 24 08             mov    %eax,0x8(%esp)
5632 40005547:       8b 45 0c                mov    0xc(%ebp),%eax
5633 4000554a:       89 44 24 04             mov    %eax,0x4(%esp)
5634 4000554e:       8b 45 f8                mov    -0x8(%ebp),%eax
5635 40005551:       89 04 24                mov    %eax,(%esp)
5636 40005554:       e8 6c e6 ff ff          call   40003bc5 <cdi_fs_parentres>
5637 40005559:       89 45 fc                mov    %eax,-0x4(%ebp)
5638 4000555c:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
5639 40005560:       0f 84 29 01 00 00       je     4000568f <fs_symlink+0x198>
5640 40005566:       8b 45 fc                mov    -0x4(%ebp),%eax
5641 40005569:       8b 40 50                mov    0x50(%eax),%eax
5642 4000556c:       85 c0                   test   %eax,%eax
5643 4000556e:       0f 84 12 01 00 00       je     40005686 <fs_symlink+0x18f>
5644 40005574:       8b 45 f8                mov    -0x8(%ebp),%eax
5645 40005577:       89 45 e8                mov    %eax,-0x18(%ebp)
5646 4000557a:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
5647 40005581:       c7 45 f0 00 00 00 00    movl   $0x0,-0x10(%ebp)
5648 40005588:       8b 45 fc                mov    -0x4(%ebp),%eax
5649 4000558b:       8b 40 50                mov    0x50(%eax),%eax
5650 4000558e:       8b 48 04                mov    0x4(%eax),%ecx
5651 40005591:       8b 55 f4                mov    -0xc(%ebp),%edx
5652 40005594:       8b 45 fc                mov    -0x4(%ebp),%eax
5653 40005597:       89 44 24 08             mov    %eax,0x8(%esp)
5654 4000559b:       89 54 24 04             mov    %edx,0x4(%esp)
5655 4000559f:       8d 45 e8                lea    -0x18(%ebp),%eax
5656 400055a2:       89 04 24                mov    %eax,(%esp)
5657 400055a5:       ff d1                   call   *%ecx
5658 400055a7:       85 c0                   test   %eax,%eax
5659 400055a9:       75 17                   jne    400055c2 <fs_symlink+0xcb>
5660 400055ab:       8b 45 f0                mov    -0x10(%ebp),%eax
5661 400055ae:       89 04 24                mov    %eax,(%esp)
5662 400055b1:       e8 85 e5 ff ff          call   40003b3b <cdi_fs_error2errno>
5663 400055b6:       89 c2                   mov    %eax,%edx
5664 400055b8:       f7 da                   neg    %edx
5665 400055ba:       89 55 d8                mov    %edx,-0x28(%ebp)
5666 400055bd:       e9 dd 00 00 00          jmp    4000569f <fs_symlink+0x1a8>
5667 400055c2:       8d 45 e8                lea    -0x18(%ebp),%eax
5668 400055c5:       89 04 24                mov    %eax,(%esp)
5669 400055c8:       e8 6f e7 ff ff          call   40003d3c <cdi_fs_loadres>
5670 400055cd:       83 f8 ff                cmp    $0xffffffff,%eax
5671 400055d0:       75 17                   jne    400055e9 <fs_symlink+0xf2>
5672 400055d2:       8b 45 f0                mov    -0x10(%ebp),%eax
5673 400055d5:       89 04 24                mov    %eax,(%esp)
5674 400055d8:       e8 5e e5 ff ff          call   40003b3b <cdi_fs_error2errno>
5675 400055dd:       89 c2                   mov    %eax,%edx
5676 400055df:       f7 da                   neg    %edx
5677 400055e1:       89 55 d8                mov    %edx,-0x28(%ebp)
5678 400055e4:       e9 b6 00 00 00          jmp    4000569f <fs_symlink+0x1a8>
5679 400055e9:       8b 45 ec                mov    -0x14(%ebp),%eax
5680 400055ec:       c7 40 5c 00 00 00 00    movl   $0x0,0x5c(%eax)
5681 400055f3:       8b 45 ec                mov    -0x14(%ebp),%eax
5682 400055f6:       8b 40 48                mov    0x48(%eax),%eax
5683 400055f9:       8b 50 14                mov    0x14(%eax),%edx
5684 400055fc:       c7 44 24 04 02 00 00    movl   $0x2,0x4(%esp)
5685 40005603:       00 
5686 40005604:       8d 45 e8                lea    -0x18(%ebp),%eax
5687 40005607:       89 04 24                mov    %eax,(%esp)
5688 4000560a:       ff d2                   call   *%edx
5689 4000560c:       85 c0                   test   %eax,%eax
5690 4000560e:       75 14                   jne    40005624 <fs_symlink+0x12d>
5691 40005610:       8b 45 f0                mov    -0x10(%ebp),%eax
5692 40005613:       89 04 24                mov    %eax,(%esp)
5693 40005616:       e8 20 e5 ff ff          call   40003b3b <cdi_fs_error2errno>
5694 4000561b:       89 c2                   mov    %eax,%edx
5695 4000561d:       f7 da                   neg    %edx
5696 4000561f:       89 55 d8                mov    %edx,-0x28(%ebp)
5697 40005622:       eb 7b                   jmp    4000569f <fs_symlink+0x1a8>
5698 40005624:       8b 45 ec                mov    -0x14(%ebp),%eax
5699 40005627:       8b 40 54                mov    0x54(%eax),%eax
5700 4000562a:       8b 50 04                mov    0x4(%eax),%edx
5701 4000562d:       8b 45 10                mov    0x10(%ebp),%eax
5702 40005630:       89 44 24 04             mov    %eax,0x4(%esp)
5703 40005634:       8d 45 e8                lea    -0x18(%ebp),%eax
5704 40005637:       89 04 24                mov    %eax,(%esp)
5705 4000563a:       ff d2                   call   *%edx
5706 4000563c:       85 c0                   test   %eax,%eax
5707 4000563e:       75 14                   jne    40005654 <fs_symlink+0x15d>
5708 40005640:       8b 45 f0                mov    -0x10(%ebp),%eax
5709 40005643:       89 04 24                mov    %eax,(%esp)
5710 40005646:       e8 f0 e4 ff ff          call   40003b3b <cdi_fs_error2errno>
5711 4000564b:       89 c2                   mov    %eax,%edx
5712 4000564d:       f7 da                   neg    %edx
5713 4000564f:       89 55 d8                mov    %edx,-0x28(%ebp)
5714 40005652:       eb 4b                   jmp    4000569f <fs_symlink+0x1a8>
5715 40005654:       8d 45 e8                lea    -0x18(%ebp),%eax
5716 40005657:       89 04 24                mov    %eax,(%esp)
5717 4000565a:       e8 eb fc ff ff          call   4000534a <cdi_fs_unloadres>
5718 4000565f:       85 c0                   test   %eax,%eax
5719 40005661:       74 14                   je     40005677 <fs_symlink+0x180>
5720 40005663:       8b 45 f0                mov    -0x10(%ebp),%eax
5721 40005666:       89 04 24                mov    %eax,(%esp)
5722 40005669:       e8 cd e4 ff ff          call   40003b3b <cdi_fs_error2errno>
5723 4000566e:       89 c2                   mov    %eax,%edx
5724 40005670:       f7 da                   neg    %edx
5725 40005672:       89 55 dc                mov    %edx,-0x24(%ebp)
5726 40005675:       eb 07                   jmp    4000567e <fs_symlink+0x187>
5727 40005677:       c7 45 dc 00 00 00 00    movl   $0x0,-0x24(%ebp)
5728 4000567e:       8b 45 dc                mov    -0x24(%ebp),%eax
5729 40005681:       89 45 d8                mov    %eax,-0x28(%ebp)
5730 40005684:       eb 19                   jmp    4000569f <fs_symlink+0x1a8>
5731 40005686:       c7 45 d8 c7 ff ff ff    movl   $0xffffffc7,-0x28(%ebp)
5732 4000568d:       eb 10                   jmp    4000569f <fs_symlink+0x1a8>
5733 4000568f:       c7 45 d8 d3 ff ff ff    movl   $0xffffffd3,-0x28(%ebp)
5734 40005696:       eb 07                   jmp    4000569f <fs_symlink+0x1a8>
5735 40005698:       c7 45 d8 e4 ff ff ff    movl   $0xffffffe4,-0x28(%ebp)
5736 4000569f:       8b 45 d8                mov    -0x28(%ebp),%eax
5737 400056a2:       c9                      leave  
5738 400056a3:       c3                      ret    
5740 400056a4 <fs_dup>:
5741 400056a4:       55                      push   %ebp
5742 400056a5:       89 e5                   mov    %esp,%ebp
5743 400056a7:       83 ec 28                sub    $0x28,%esp
5744 400056aa:       8b 15 60 59 01 40       mov    0x40015960,%edx
5745 400056b0:       8b 45 10                mov    0x10(%ebp),%eax
5746 400056b3:       89 44 24 10             mov    %eax,0x10(%esp)
5747 400056b7:       8b 45 0c                mov    0xc(%ebp),%eax
5748 400056ba:       89 44 24 0c             mov    %eax,0xc(%esp)
5749 400056be:       8b 45 08                mov    0x8(%ebp),%eax
5750 400056c1:       89 44 24 08             mov    %eax,0x8(%esp)
5751 400056c5:       c7 44 24 04 55 2d 01    movl   $0x40012d55,0x4(%esp)
5752 400056cc:       40 
5753 400056cd:       89 14 24                mov    %edx,(%esp)
5754 400056d0:       e8 b3 35 00 00          call   40008c88 <fprintf>
5755 400056d5:       8b 45 08                mov    0x8(%ebp),%eax
5756 400056d8:       89 04 24                mov    %eax,(%esp)
5757 400056db:       e8 7c e3 ff ff          call   40003a5c <cdi_fs_find>
5758 400056e0:       89 45 f0                mov    %eax,-0x10(%ebp)
5759 400056e3:       83 7d f0 00             cmpl   $0x0,-0x10(%ebp)
5760 400056e7:       0f 84 8e 00 00 00       je     4000577b <fs_dup+0xd7>
5761 400056ed:       8b 45 0c                mov    0xc(%ebp),%eax
5762 400056f0:       89 44 24 04             mov    %eax,0x4(%esp)
5763 400056f4:       8b 45 f0                mov    -0x10(%ebp),%eax
5764 400056f7:       89 04 24                mov    %eax,(%esp)
5765 400056fa:       e8 c9 e3 ff ff          call   40003ac8 <cdi_fs_file_find>
5766 400056ff:       89 45 f4                mov    %eax,-0xc(%ebp)
5767 40005702:       83 7d f4 00             cmpl   $0x0,-0xc(%ebp)
5768 40005706:       74 6a                   je     40005772 <fs_dup+0xce>
5769 40005708:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
5770 4000570f:       00 
5771 40005710:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
5772 40005717:       00 
5773 40005718:       8b 45 10                mov    0x10(%ebp),%eax
5774 4000571b:       89 04 24                mov    %eax,(%esp)
5775 4000571e:       e8 b1 7b 00 00          call   4000d2d4 <shmat>
5776 40005723:       89 45 f8                mov    %eax,-0x8(%ebp)
5777 40005726:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
5778 4000572a:       74 38                   je     40005764 <fs_dup+0xc0>
5779 4000572c:       c7 04 24 1c 00 00 00    movl   $0x1c,(%esp)
5780 40005733:       e8 6c 66 00 00          call   4000bda4 <malloc>
5781 40005738:       89 45 fc                mov    %eax,-0x4(%ebp)
5782 4000573b:       8b 45 f0                mov    -0x10(%ebp),%eax
5783 4000573e:       8b 50 1c                mov    0x1c(%eax),%edx
5784 40005741:       8b 45 fc                mov    -0x4(%ebp),%eax
5785 40005744:       89 50 04                mov    %edx,0x4(%eax)
5786 40005747:       83 c2 01                add    $0x1,%edx
5787 4000574a:       8b 45 f0                mov    -0x10(%ebp),%eax
5788 4000574d:       89 50 1c                mov    %edx,0x1c(%eax)
5789 40005750:       8b 55 fc                mov    -0x4(%ebp),%edx
5790 40005753:       8b 45 f8                mov    -0x8(%ebp),%eax
5791 40005756:       89 42 14                mov    %eax,0x14(%edx)
5792 40005759:       8b 45 fc                mov    -0x4(%ebp),%eax
5793 4000575c:       8b 40 04                mov    0x4(%eax),%eax
5794 4000575f:       89 45 ec                mov    %eax,-0x14(%ebp)
5795 40005762:       eb 1e                   jmp    40005782 <fs_dup+0xde>
5796 40005764:       a1 54 59 01 40          mov    0x40015954,%eax
5797 40005769:       89 c2                   mov    %eax,%edx
5798 4000576b:       f7 da                   neg    %edx
5799 4000576d:       89 55 ec                mov    %edx,-0x14(%ebp)
5800 40005770:       eb 10                   jmp    40005782 <fs_dup+0xde>
5801 40005772:       c7 45 ec f8 ff ff ff    movl   $0xfffffff8,-0x14(%ebp)
5802 40005779:       eb 07                   jmp    40005782 <fs_dup+0xde>
5803 4000577b:       c7 45 ec e4 ff ff ff    movl   $0xffffffe4,-0x14(%ebp)
5804 40005782:       8b 45 ec                mov    -0x14(%ebp),%eax
5805 40005785:       c9                      leave  
5806 40005786:       c3                      ret    
5808 40005787 <fs_utime>:
5809 40005787:       55                      push   %ebp
5810 40005788:       89 e5                   mov    %esp,%ebp
5811 4000578a:       83 ec 38                sub    $0x38,%esp
5812 4000578d:       8b 15 60 59 01 40       mov    0x40015960,%edx
5813 40005793:       8b 45 0c                mov    0xc(%ebp),%eax
5814 40005796:       89 44 24 0c             mov    %eax,0xc(%esp)
5815 4000579a:       8b 45 08                mov    0x8(%ebp),%eax
5816 4000579d:       89 44 24 08             mov    %eax,0x8(%esp)
5817 400057a1:       c7 44 24 04 67 2d 01    movl   $0x40012d67,0x4(%esp)
5818 400057a8:       40 
5819 400057a9:       89 14 24                mov    %edx,(%esp)
5820 400057ac:       e8 d7 34 00 00          call   40008c88 <fprintf>
5821 400057b1:       8b 45 08                mov    0x8(%ebp),%eax
5822 400057b4:       89 04 24                mov    %eax,(%esp)
5823 400057b7:       e8 a0 e2 ff ff          call   40003a5c <cdi_fs_find>
5824 400057bc:       89 45 f0                mov    %eax,-0x10(%ebp)
5825 400057bf:       83 7d f0 00             cmpl   $0x0,-0x10(%ebp)
5826 400057c3:       0f 84 fb 00 00 00       je     400058c4 <fs_utime+0x13d>
5827 400057c9:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
5828 400057d0:       00 
5829 400057d1:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
5830 400057d8:       00 
5831 400057d9:       8b 45 0c                mov    0xc(%ebp),%eax
5832 400057dc:       89 04 24                mov    %eax,(%esp)
5833 400057df:       e8 f0 7a 00 00          call   4000d2d4 <shmat>
5834 400057e4:       89 45 f4                mov    %eax,-0xc(%ebp)
5835 400057e7:       83 7d f4 00             cmpl   $0x0,-0xc(%ebp)
5836 400057eb:       0f 84 c5 00 00 00       je     400058b6 <fs_utime+0x12f>
5837 400057f1:       8b 45 f4                mov    -0xc(%ebp),%eax
5838 400057f4:       89 44 24 04             mov    %eax,0x4(%esp)
5839 400057f8:       8b 45 f0                mov    -0x10(%ebp),%eax
5840 400057fb:       89 04 24                mov    %eax,(%esp)
5841 400057fe:       e8 a4 e5 ff ff          call   40003da7 <cdi_fs_path2res>
5842 40005803:       89 45 f8                mov    %eax,-0x8(%ebp)
5843 40005806:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
5844 4000580a:       0f 84 92 00 00 00       je     400058a2 <fs_utime+0x11b>
5845 40005810:       8b 45 f4                mov    -0xc(%ebp),%eax
5846 40005813:       89 04 24                mov    %eax,(%esp)
5847 40005816:       e8 9d 9c 00 00          call   4000f4b8 <strlen>
5848 4000581b:       83 c0 01                add    $0x1,%eax
5849 4000581e:       03 45 f4                add    -0xc(%ebp),%eax
5850 40005821:       89 45 fc                mov    %eax,-0x4(%ebp)
5851 40005824:       8b 45 f0                mov    -0x10(%ebp),%eax
5852 40005827:       89 45 e4                mov    %eax,-0x1c(%ebp)
5853 4000582a:       8b 45 f8                mov    -0x8(%ebp),%eax
5854 4000582d:       89 45 e8                mov    %eax,-0x18(%ebp)
5855 40005830:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
5856 40005837:       8b 45 f8                mov    -0x8(%ebp),%eax
5857 4000583a:       8b 40 48                mov    0x48(%eax),%eax
5858 4000583d:       8b 48 20                mov    0x20(%eax),%ecx
5859 40005840:       8b 45 fc                mov    -0x4(%ebp),%eax
5860 40005843:       8b 00                   mov    (%eax),%eax
5861 40005845:       ba 00 00 00 00          mov    $0x0,%edx
5862 4000584a:       89 44 24 08             mov    %eax,0x8(%esp)
5863 4000584e:       89 54 24 0c             mov    %edx,0xc(%esp)
5864 40005852:       c7 44 24 04 05 00 00    movl   $0x5,0x4(%esp)
5865 40005859:       00 
5866 4000585a:       8d 45 e4                lea    -0x1c(%ebp),%eax
5867 4000585d:       89 04 24                mov    %eax,(%esp)
5868 40005860:       ff d1                   call   *%ecx
5869 40005862:       8b 45 f8                mov    -0x8(%ebp),%eax
5870 40005865:       8b 40 48                mov    0x48(%eax),%eax
5871 40005868:       8b 48 20                mov    0x20(%eax),%ecx
5872 4000586b:       8b 45 fc                mov    -0x4(%ebp),%eax
5873 4000586e:       8b 40 04                mov    0x4(%eax),%eax
5874 40005871:       ba 00 00 00 00          mov    $0x0,%edx
5875 40005876:       89 44 24 08             mov    %eax,0x8(%esp)
5876 4000587a:       89 54 24 0c             mov    %edx,0xc(%esp)
5877 4000587e:       c7 44 24 04 06 00 00    movl   $0x6,0x4(%esp)
5878 40005885:       00 
5879 40005886:       8d 45 e4                lea    -0x1c(%ebp),%eax
5880 40005889:       89 04 24                mov    %eax,(%esp)
5881 4000588c:       ff d1                   call   *%ecx
5882 4000588e:       8b 45 f4                mov    -0xc(%ebp),%eax
5883 40005891:       89 04 24                mov    %eax,(%esp)
5884 40005894:       e8 be 7a 00 00          call   4000d357 <shmdt>
5885 40005899:       c7 45 dc 00 00 00 00    movl   $0x0,-0x24(%ebp)
5886 400058a0:       eb 29                   jmp    400058cb <fs_utime+0x144>
5887 400058a2:       8b 45 f4                mov    -0xc(%ebp),%eax
5888 400058a5:       89 04 24                mov    %eax,(%esp)
5889 400058a8:       e8 aa 7a 00 00          call   4000d357 <shmdt>
5890 400058ad:       c7 45 dc d3 ff ff ff    movl   $0xffffffd3,-0x24(%ebp)
5891 400058b4:       eb 15                   jmp    400058cb <fs_utime+0x144>
5892 400058b6:       a1 54 59 01 40          mov    0x40015954,%eax
5893 400058bb:       89 c2                   mov    %eax,%edx
5894 400058bd:       f7 da                   neg    %edx
5895 400058bf:       89 55 dc                mov    %edx,-0x24(%ebp)
5896 400058c2:       eb 07                   jmp    400058cb <fs_utime+0x144>
5897 400058c4:       c7 45 dc e4 ff ff ff    movl   $0xffffffe4,-0x24(%ebp)
5898 400058cb:       8b 45 dc                mov    -0x24(%ebp),%eax
5899 400058ce:       c9                      leave  
5900 400058cf:       c3                      ret    
5902 400058d0 <cdi_fs_init>:
5903 400058d0:       55                      push   %ebp
5904 400058d1:       89 e5                   mov    %esp,%ebp
5905 400058d3:       83 ec 28                sub    $0x28,%esp
5906 400058d6:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
5907 400058dd:       00 
5908 400058de:       c7 04 24 28 00 00 00    movl   $0x28,(%esp)
5909 400058e5:       e8 ae be 00 00          call   40011798 <syscall_call>
5910 400058ea:       89 45 fc                mov    %eax,-0x4(%ebp)
5911 400058ed:       8b 45 fc                mov    -0x4(%ebp),%eax
5912 400058f0:       89 44 24 10             mov    %eax,0x10(%esp)
5913 400058f4:       c7 44 24 0c 0c 00 00    movl   $0xc,0xc(%esp)
5914 400058fb:       00 
5915 400058fc:       c7 44 24 08 78 2d 01    movl   $0x40012d78,0x8(%esp)
5916 40005903:       40 
5917 40005904:       c7 44 24 04 7f 40 00    movl   $0x4000407f,0x4(%esp)
5918 4000590b:       40 
5919 4000590c:       c7 04 24 7c 2d 01 40    movl   $0x40012d7c,(%esp)
5920 40005913:       e8 ea e0 ff ff          call   40003a02 <_cdi_fs_func>
5921 40005918:       8b 45 fc                mov    -0x4(%ebp),%eax
5922 4000591b:       89 44 24 10             mov    %eax,0x10(%esp)
5923 4000591f:       c7 44 24 0c 08 00 00    movl   $0x8,0xc(%esp)
5924 40005926:       00 
5925 40005927:       c7 44 24 08 84 2d 01    movl   $0x40012d84,0x8(%esp)
5926 4000592e:       40 
5927 4000592f:       c7 44 24 04 48 42 00    movl   $0x40004248,0x4(%esp)
5928 40005936:       40 
5929 40005937:       c7 04 24 87 2d 01 40    movl   $0x40012d87,(%esp)
5930 4000593e:       e8 bf e0 ff ff          call   40003a02 <_cdi_fs_func>
5931 40005943:       8b 45 fc                mov    -0x4(%ebp),%eax
5932 40005946:       89 44 24 10             mov    %eax,0x10(%esp)
5933 4000594a:       c7 44 24 0c 0c 00 00    movl   $0xc,0xc(%esp)
5934 40005951:       00 
5935 40005952:       c7 44 24 08 78 2d 01    movl   $0x40012d78,0x8(%esp)
5936 40005959:       40 
5937 4000595a:       c7 44 24 04 6f 43 00    movl   $0x4000436f,0x4(%esp)
5938 40005961:       40 
5939 40005962:       c7 04 24 90 2d 01 40    movl   $0x40012d90,(%esp)
5940 40005969:       e8 94 e0 ff ff          call   40003a02 <_cdi_fs_func>
5941 4000596e:       8b 45 fc                mov    -0x4(%ebp),%eax
5942 40005971:       89 44 24 10             mov    %eax,0x10(%esp)
5943 40005975:       c7 44 24 0c 0c 00 00    movl   $0xc,0xc(%esp)
5944 4000597c:       00 
5945 4000597d:       c7 44 24 08 78 2d 01    movl   $0x40012d78,0x8(%esp)
5946 40005984:       40 
5947 40005985:       c7 44 24 04 cf 44 00    movl   $0x400044cf,0x4(%esp)
5948 4000598c:       40 
5949 4000598d:       c7 04 24 98 2d 01 40    movl   $0x40012d98,(%esp)
5950 40005994:       e8 69 e0 ff ff          call   40003a02 <_cdi_fs_func>
5951 40005999:       8b 45 fc                mov    -0x4(%ebp),%eax
5952 4000599c:       89 44 24 10             mov    %eax,0x10(%esp)
5953 400059a0:       c7 44 24 0c 10 00 00    movl   $0x10,0xc(%esp)
5954 400059a7:       00 
5955 400059a8:       c7 44 24 08 a1 2d 01    movl   $0x40012da1,0x8(%esp)
5956 400059af:       40 
5957 400059b0:       c7 44 24 04 2f 46 00    movl   $0x4000462f,0x4(%esp)
5958 400059b7:       40 
5959 400059b8:       c7 04 24 a6 2d 01 40    movl   $0x40012da6,(%esp)
5960 400059bf:       e8 3e e0 ff ff          call   40003a02 <_cdi_fs_func>
5961 400059c4:       8b 45 fc                mov    -0x4(%ebp),%eax
5962 400059c7:       89 44 24 10             mov    %eax,0x10(%esp)
5963 400059cb:       c7 44 24 0c 08 00 00    movl   $0x8,0xc(%esp)
5964 400059d2:       00 
5965 400059d3:       c7 44 24 08 84 2d 01    movl   $0x40012d84,0x8(%esp)
5966 400059da:       40 
5967 400059db:       c7 44 24 04 57 47 00    movl   $0x40004757,0x4(%esp)
5968 400059e2:       40 
5969 400059e3:       c7 04 24 ae 2d 01 40    movl   $0x40012dae,(%esp)
5970 400059ea:       e8 13 e0 ff ff          call   40003a02 <_cdi_fs_func>
5971 400059ef:       8b 45 fc                mov    -0x4(%ebp),%eax
5972 400059f2:       89 44 24 10             mov    %eax,0x10(%esp)
5973 400059f6:       c7 44 24 0c 04 04 00    movl   $0x404,0xc(%esp)
5974 400059fd:       00 
5975 400059fe:       c7 44 24 08 b7 2d 01    movl   $0x40012db7,0x8(%esp)
5976 40005a05:       40 
5977 40005a06:       c7 44 24 04 1e 49 00    movl   $0x4000491e,0x4(%esp)
5978 40005a0d:       40 
5979 40005a0e:       c7 04 24 ba 2d 01 40    movl   $0x40012dba,(%esp)
5980 40005a15:       e8 e8 df ff ff          call   40003a02 <_cdi_fs_func>
5981 40005a1a:       8b 45 fc                mov    -0x4(%ebp),%eax
5982 40005a1d:       89 44 24 10             mov    %eax,0x10(%esp)
5983 40005a21:       c7 44 24 0c 04 04 00    movl   $0x404,0xc(%esp)
5984 40005a28:       00 
5985 40005a29:       c7 44 24 08 b7 2d 01    movl   $0x40012db7,0x8(%esp)
5986 40005a30:       40 
5987 40005a31:       c7 44 24 04 d4 4a 00    movl   $0x40004ad4,0x4(%esp)
5988 40005a38:       40 
5989 40005a39:       c7 04 24 c4 2d 01 40    movl   $0x40012dc4,(%esp)
5990 40005a40:       e8 bd df ff ff          call   40003a02 <_cdi_fs_func>
5991 40005a45:       8b 45 fc                mov    -0x4(%ebp),%eax
5992 40005a48:       89 44 24 10             mov    %eax,0x10(%esp)
5993 40005a4c:       c7 44 24 0c 0c 00 00    movl   $0xc,0xc(%esp)
5994 40005a53:       00 
5995 40005a54:       c7 44 24 08 78 2d 01    movl   $0x40012d78,0x8(%esp)
5996 40005a5b:       40 
5997 40005a5c:       c7 44 24 04 12 4b 00    movl   $0x40004b12,0x4(%esp)
5998 40005a63:       40 
5999 40005a64:       c7 04 24 cd 2d 01 40    movl   $0x40012dcd,(%esp)
6000 40005a6b:       e8 92 df ff ff          call   40003a02 <_cdi_fs_func>
6001 40005a70:       8b 45 fc                mov    -0x4(%ebp),%eax
6002 40005a73:       89 44 24 10             mov    %eax,0x10(%esp)
6003 40005a77:       c7 44 24 0c 08 00 00    movl   $0x8,0xc(%esp)
6004 40005a7e:       00 
6005 40005a7f:       c7 44 24 08 84 2d 01    movl   $0x40012d84,0x8(%esp)
6006 40005a86:       40 
6007 40005a87:       c7 44 24 04 09 4c 00    movl   $0x40004c09,0x4(%esp)
6008 40005a8e:       40 
6009 40005a8f:       c7 04 24 da 2d 01 40    movl   $0x40012dda,(%esp)
6010 40005a96:       e8 67 df ff ff          call   40003a02 <_cdi_fs_func>
6011 40005a9b:       8b 45 fc                mov    -0x4(%ebp),%eax
6012 40005a9e:       89 44 24 10             mov    %eax,0x10(%esp)
6013 40005aa2:       c7 44 24 0c 08 00 00    movl   $0x8,0xc(%esp)
6014 40005aa9:       00 
6015 40005aaa:       c7 44 24 08 84 2d 01    movl   $0x40012d84,0x8(%esp)
6016 40005ab1:       40 
6017 40005ab2:       c7 44 24 04 9d 4d 00    movl   $0x40004d9d,0x4(%esp)
6018 40005ab9:       40 
6019 40005aba:       c7 04 24 e5 2d 01 40    movl   $0x40012de5,(%esp)
6020 40005ac1:       e8 3c df ff ff          call   40003a02 <_cdi_fs_func>
6021 40005ac6:       8b 45 fc                mov    -0x4(%ebp),%eax
6022 40005ac9:       89 44 24 10             mov    %eax,0x10(%esp)
6023 40005acd:       c7 44 24 0c 08 00 00    movl   $0x8,0xc(%esp)
6024 40005ad4:       00 
6025 40005ad5:       c7 44 24 08 84 2d 01    movl   $0x40012d84,0x8(%esp)
6026 40005adc:       40 
6027 40005add:       c7 44 24 04 63 4f 00    movl   $0x40004f63,0x4(%esp)
6028 40005ae4:       40 
6029 40005ae5:       c7 04 24 f0 2d 01 40    movl   $0x40012df0,(%esp)
6030 40005aec:       e8 11 df ff ff          call   40003a02 <_cdi_fs_func>
6031 40005af1:       8b 45 fc                mov    -0x4(%ebp),%eax
6032 40005af4:       89 44 24 10             mov    %eax,0x10(%esp)
6033 40005af8:       c7 44 24 0c 0c 00 00    movl   $0xc,0xc(%esp)
6034 40005aff:       00 
6035 40005b00:       c7 44 24 08 78 2d 01    movl   $0x40012d78,0x8(%esp)
6036 40005b07:       40 
6037 40005b08:       c7 44 24 04 34 50 00    movl   $0x40005034,0x4(%esp)
6038 40005b0f:       40 
6039 40005b10:       c7 04 24 fc 2d 01 40    movl   $0x40012dfc,(%esp)
6040 40005b17:       e8 e6 de ff ff          call   40003a02 <_cdi_fs_func>
6041 40005b1c:       8b 45 fc                mov    -0x4(%ebp),%eax
6042 40005b1f:       89 44 24 10             mov    %eax,0x10(%esp)
6043 40005b23:       c7 44 24 0c 04 00 00    movl   $0x4,0xc(%esp)
6044 40005b2a:       00 
6045 40005b2b:       c7 44 24 08 84 2d 01    movl   $0x40012d84,0x8(%esp)
6046 40005b32:       40 
6047 40005b33:       c7 44 24 04 e2 50 00    movl   $0x400050e2,0x4(%esp)
6048 40005b3a:       40 
6049 40005b3b:       c7 04 24 07 2e 01 40    movl   $0x40012e07,(%esp)
6050 40005b42:       e8 bb de ff ff          call   40003a02 <_cdi_fs_func>
6051 40005b47:       8b 45 fc                mov    -0x4(%ebp),%eax
6052 40005b4a:       89 44 24 10             mov    %eax,0x10(%esp)
6053 40005b4e:       c7 44 24 0c 0c 00 00    movl   $0xc,0xc(%esp)
6054 40005b55:       00 
6055 40005b56:       c7 44 24 08 78 2d 01    movl   $0x40012d78,0x8(%esp)
6056 40005b5d:       40 
6057 40005b5e:       c7 44 24 04 b5 53 00    movl   $0x400053b5,0x4(%esp)
6058 40005b65:       40 
6059 40005b66:       c7 04 24 12 2e 01 40    movl   $0x40012e12,(%esp)
6060 40005b6d:       e8 90 de ff ff          call   40003a02 <_cdi_fs_func>
6061 40005b72:       8b 45 fc                mov    -0x4(%ebp),%eax
6062 40005b75:       89 44 24 10             mov    %eax,0x10(%esp)
6063 40005b79:       c7 44 24 0c 04 08 00    movl   $0x804,0xc(%esp)
6064 40005b80:       00 
6065 40005b81:       c7 44 24 08 1e 2e 01    movl   $0x40012e1e,0x8(%esp)
6066 40005b88:       40 
6067 40005b89:       c7 44 24 04 f7 54 00    movl   $0x400054f7,0x4(%esp)
6068 40005b90:       40 
6069 40005b91:       c7 04 24 22 2e 01 40    movl   $0x40012e22,(%esp)
6070 40005b98:       e8 65 de ff ff          call   40003a02 <_cdi_fs_func>
6071 40005b9d:       8b 45 fc                mov    -0x4(%ebp),%eax
6072 40005ba0:       89 44 24 10             mov    %eax,0x10(%esp)
6073 40005ba4:       c7 44 24 0c 0c 04 00    movl   $0x40c,0xc(%esp)
6074 40005bab:       00 
6075 40005bac:       c7 44 24 08 2d 2e 01    movl   $0x40012e2d,0x8(%esp)
6076 40005bb3:       40 
6077 40005bb4:       c7 44 24 04 8d 51 00    movl   $0x4000518d,0x4(%esp)
6078 40005bbb:       40 
6079 40005bbc:       c7 04 24 32 2e 01 40    movl   $0x40012e32,(%esp)
6080 40005bc3:       e8 3a de ff ff          call   40003a02 <_cdi_fs_func>
6081 40005bc8:       8b 45 fc                mov    -0x4(%ebp),%eax
6082 40005bcb:       89 44 24 10             mov    %eax,0x10(%esp)
6083 40005bcf:       c7 44 24 0c 0c 00 00    movl   $0xc,0xc(%esp)
6084 40005bd6:       00 
6085 40005bd7:       c7 44 24 08 78 2d 01    movl   $0x40012d78,0x8(%esp)
6086 40005bde:       40 
6087 40005bdf:       c7 44 24 04 a4 56 00    movl   $0x400056a4,0x4(%esp)
6088 40005be6:       40 
6089 40005be7:       c7 04 24 3b 2e 01 40    movl   $0x40012e3b,(%esp)
6090 40005bee:       e8 0f de ff ff          call   40003a02 <_cdi_fs_func>
6091 40005bf3:       8b 45 fc                mov    -0x4(%ebp),%eax
6092 40005bf6:       89 44 24 10             mov    %eax,0x10(%esp)
6093 40005bfa:       c7 44 24 0c 08 00 00    movl   $0x8,0xc(%esp)
6094 40005c01:       00 
6095 40005c02:       c7 44 24 08 84 2d 01    movl   $0x40012d84,0x8(%esp)
6096 40005c09:       40 
6097 40005c0a:       c7 44 24 04 87 57 00    movl   $0x40005787,0x4(%esp)
6098 40005c11:       40 
6099 40005c12:       c7 04 24 42 2e 01 40    movl   $0x40012e42,(%esp)
6100 40005c19:       e8 e4 dd ff ff          call   40003a02 <_cdi_fs_func>
6101 40005c1e:       b8 00 00 00 00          mov    $0x0,%eax
6102 40005c23:       c9                      leave  
6103 40005c24:       c3                      ret    
6105 40005c25 <cdi_fs_driver_init>:
6106 40005c25:       55                      push   %ebp
6107 40005c26:       89 e5                   mov    %esp,%ebp
6108 40005c28:       83 ec 18                sub    $0x18,%esp
6109 40005c2b:       8b 15 60 59 01 40       mov    0x40015960,%edx
6110 40005c31:       8b 45 08                mov    0x8(%ebp),%eax
6111 40005c34:       89 44 24 08             mov    %eax,0x8(%esp)
6112 40005c38:       c7 44 24 04 4b 2e 01    movl   $0x40012e4b,0x4(%esp)
6113 40005c3f:       40 
6114 40005c40:       89 14 24                mov    %edx,(%esp)
6115 40005c43:       e8 40 30 00 00          call   40008c88 <fprintf>
6116 40005c48:       8b 45 08                mov    0x8(%ebp),%eax
6117 40005c4b:       89 04 24                mov    %eax,(%esp)
6118 40005c4e:       e8 06 d9 ff ff          call   40003559 <cdi_driver_init>
6119 40005c53:       e8 5e db ff ff          call   400037b6 <cdi_list_create>
6120 40005c58:       89 c2                   mov    %eax,%edx
6121 40005c5a:       8b 45 08                mov    0x8(%ebp),%eax
6122 40005c5d:       89 50 20                mov    %edx,0x20(%eax)
6123 40005c60:       c9                      leave  
6124 40005c61:       c3                      ret    
6126 40005c62 <cdi_fs_driver_destroy>:
6127 40005c62:       55                      push   %ebp
6128 40005c63:       89 e5                   mov    %esp,%ebp
6129 40005c65:       83 ec 28                sub    $0x28,%esp
6130 40005c68:       8b 15 60 59 01 40       mov    0x40015960,%edx
6131 40005c6e:       8b 45 08                mov    0x8(%ebp),%eax
6132 40005c71:       89 44 24 08             mov    %eax,0x8(%esp)
6133 40005c75:       c7 44 24 04 65 2e 01    movl   $0x40012e65,0x4(%esp)
6134 40005c7c:       40 
6135 40005c7d:       89 14 24                mov    %edx,(%esp)
6136 40005c80:       e8 03 30 00 00          call   40008c88 <fprintf>
6137 40005c85:       eb 0e                   jmp    40005c95 <cdi_fs_driver_destroy+0x33>
6138 40005c87:       8b 45 08                mov    0x8(%ebp),%eax
6139 40005c8a:       8b 50 1c                mov    0x1c(%eax),%edx
6140 40005c8d:       8b 45 fc                mov    -0x4(%ebp),%eax
6141 40005c90:       89 04 24                mov    %eax,(%esp)
6142 40005c93:       ff d2                   call   *%edx
6143 40005c95:       8b 45 08                mov    0x8(%ebp),%eax
6144 40005c98:       8b 40 20                mov    0x20(%eax),%eax
6145 40005c9b:       89 04 24                mov    %eax,(%esp)
6146 40005c9e:       e8 24 00 00 00          call   40005cc7 <cdi_list_pop>
6147 40005ca3:       89 45 fc                mov    %eax,-0x4(%ebp)
6148 40005ca6:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
6149 40005caa:       75 db                   jne    40005c87 <cdi_fs_driver_destroy+0x25>
6150 40005cac:       8b 45 08                mov    0x8(%ebp),%eax
6151 40005caf:       8b 40 20                mov    0x20(%eax),%eax
6152 40005cb2:       89 04 24                mov    %eax,(%esp)
6153 40005cb5:       e8 23 db ff ff          call   400037dd <cdi_list_destroy>
6154 40005cba:       8b 45 08                mov    0x8(%ebp),%eax
6155 40005cbd:       89 04 24                mov    %eax,(%esp)
6156 40005cc0:       e8 be d8 ff ff          call   40003583 <cdi_driver_destroy>
6157 40005cc5:       c9                      leave  
6158 40005cc6:       c3                      ret    
6160 40005cc7 <cdi_list_pop>:
6161 40005cc7:       55                      push   %ebp
6162 40005cc8:       89 e5                   mov    %esp,%ebp
6163 40005cca:       83 ec 08                sub    $0x8,%esp
6164 40005ccd:       8b 45 08                mov    0x8(%ebp),%eax
6165 40005cd0:       89 04 24                mov    %eax,(%esp)
6166 40005cd3:       e8 f4 9e 00 00          call   4000fbcc <llist_pop>
6167 40005cd8:       c9                      leave  
6168 40005cd9:       c3                      ret    
6170 40005cda <cdi_fs_driver_register>:
6171 40005cda:       55                      push   %ebp
6172 40005cdb:       89 e5                   mov    %esp,%ebp
6173 40005cdd:       83 ec 28                sub    $0x28,%esp
6174 40005ce0:       8b 15 60 59 01 40       mov    0x40015960,%edx
6175 40005ce6:       8b 45 08                mov    0x8(%ebp),%eax
6176 40005ce9:       89 44 24 08             mov    %eax,0x8(%esp)
6177 40005ced:       c7 44 24 04 82 2e 01    movl   $0x40012e82,0x4(%esp)
6178 40005cf4:       40 
6179 40005cf5:       89 14 24                mov    %edx,(%esp)
6180 40005cf8:       e8 8b 2f 00 00          call   40008c88 <fprintf>
6181 40005cfd:       8b 45 08                mov    0x8(%ebp),%eax
6182 40005d00:       89 04 24                mov    %eax,(%esp)
6183 40005d03:       e8 c4 d8 ff ff          call   400035cc <cdi_driver_register>
6184 40005d08:       8b 45 08                mov    0x8(%ebp),%eax
6185 40005d0b:       8b 40 04                mov    0x4(%eax),%eax
6186 40005d0e:       89 44 24 08             mov    %eax,0x8(%esp)
6187 40005d12:       c7 44 24 04 a0 2e 01    movl   $0x40012ea0,0x4(%esp)
6188 40005d19:       40 
6189 40005d1a:       8d 45 fc                lea    -0x4(%ebp),%eax
6190 40005d1d:       89 04 24                mov    %eax,(%esp)
6191 40005d20:       e8 e3 04 00 00          call   40006208 <asprintf>
6192 40005d25:       8b 45 fc                mov    -0x4(%ebp),%eax
6193 40005d28:       c7 44 24 0c 04 05 00    movl   $0x504,0xc(%esp)
6194 40005d2f:       00 
6195 40005d30:       c7 44 24 08 a9 2e 01    movl   $0x40012ea9,0x8(%esp)
6196 40005d37:       40 
6197 40005d38:       c7 44 24 04 f0 37 00    movl   $0x400037f0,0x4(%esp)
6198 40005d3f:       40 
6199 40005d40:       89 04 24                mov    %eax,(%esp)
6200 40005d43:       e8 d8 ae 00 00          call   40010c20 <rpc_func_create>
6201 40005d48:       8b 45 fc                mov    -0x4(%ebp),%eax
6202 40005d4b:       89 04 24                mov    %eax,(%esp)
6203 40005d4e:       e8 08 65 00 00          call   4000c25b <free>
6204 40005d53:       8b 45 08                mov    0x8(%ebp),%eax
6205 40005d56:       8b 40 04                mov    0x4(%eax),%eax
6206 40005d59:       89 44 24 08             mov    %eax,0x8(%esp)
6207 40005d5d:       c7 44 24 04 ae 2e 01    movl   $0x40012eae,0x4(%esp)
6208 40005d64:       40 
6209 40005d65:       8d 45 fc                lea    -0x4(%ebp),%eax
6210 40005d68:       89 04 24                mov    %eax,(%esp)
6211 40005d6b:       e8 98 04 00 00          call   40006208 <asprintf>
6212 40005d70:       8b 45 fc                mov    -0x4(%ebp),%eax
6213 40005d73:       c7 44 24 0c 00 01 00    movl   $0x100,0xc(%esp)
6214 40005d7a:       00 
6215 40005d7b:       c7 44 24 08 b9 2e 01    movl   $0x40012eb9,0x8(%esp)
6216 40005d82:       40 
6217 40005d83:       c7 44 24 04 38 39 00    movl   $0x40003938,0x4(%esp)
6218 40005d8a:       40 
6219 40005d8b:       89 04 24                mov    %eax,(%esp)
6220 40005d8e:       e8 8d ae 00 00          call   40010c20 <rpc_func_create>
6221 40005d93:       8b 45 fc                mov    -0x4(%ebp),%eax
6222 40005d96:       89 04 24                mov    %eax,(%esp)
6223 40005d99:       e8 bd 64 00 00          call   4000c25b <free>
6224 40005d9e:       c9                      leave  
6225 40005d9f:       c3                      ret    
6227 40005da0 <cdi_fs_data_read>:
6228 40005da0:       55                      push   %ebp
6229 40005da1:       89 e5                   mov    %esp,%ebp
6230 40005da3:       83 ec 38                sub    $0x38,%esp
6231 40005da6:       8b 45 0c                mov    0xc(%ebp),%eax
6232 40005da9:       89 45 f8                mov    %eax,-0x8(%ebp)
6233 40005dac:       8b 45 10                mov    0x10(%ebp),%eax
6234 40005daf:       89 45 fc                mov    %eax,-0x4(%ebp)
6235 40005db2:       8b 0d 60 59 01 40       mov    0x40015960,%ecx
6236 40005db8:       8b 45 18                mov    0x18(%ebp),%eax
6237 40005dbb:       89 44 24 18             mov    %eax,0x18(%esp)
6238 40005dbf:       8b 45 14                mov    0x14(%ebp),%eax
6239 40005dc2:       89 44 24 14             mov    %eax,0x14(%esp)
6240 40005dc6:       8b 45 f8                mov    -0x8(%ebp),%eax
6241 40005dc9:       8b 55 fc                mov    -0x4(%ebp),%edx
6242 40005dcc:       89 44 24 0c             mov    %eax,0xc(%esp)
6243 40005dd0:       89 54 24 10             mov    %edx,0x10(%esp)
6244 40005dd4:       8b 45 08                mov    0x8(%ebp),%eax
6245 40005dd7:       89 44 24 08             mov    %eax,0x8(%esp)
6246 40005ddb:       c7 44 24 04 bc 2e 01    movl   $0x40012ebc,0x4(%esp)
6247 40005de2:       40 
6248 40005de3:       89 0c 24                mov    %ecx,(%esp)
6249 40005de6:       e8 9d 2e 00 00          call   40008c88 <fprintf>
6250 40005deb:       8b 45 08                mov    0x8(%ebp),%eax
6251 40005dee:       8b 40 28                mov    0x28(%eax),%eax
6252 40005df1:       85 c0                   test   %eax,%eax
6253 40005df3:       74 43                   je     40005e38 <cdi_fs_data_read+0x98>
6254 40005df5:       8b 55 f8                mov    -0x8(%ebp),%edx
6255 40005df8:       8b 45 08                mov    0x8(%ebp),%eax
6256 40005dfb:       8b 40 2c                mov    0x2c(%eax),%eax
6257 40005dfe:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
6258 40005e05:       00 
6259 40005e06:       89 54 24 04             mov    %edx,0x4(%esp)
6260 40005e0a:       89 04 24                mov    %eax,(%esp)
6261 40005e0d:       e8 b2 1a 00 00          call   400078c4 <lseek>
6262 40005e12:       83 f8 ff                cmp    $0xffffffff,%eax
6263 40005e15:       74 21                   je     40005e38 <cdi_fs_data_read+0x98>
6264 40005e17:       8b 45 08                mov    0x8(%ebp),%eax
6265 40005e1a:       8b 50 2c                mov    0x2c(%eax),%edx
6266 40005e1d:       8b 45 14                mov    0x14(%ebp),%eax
6267 40005e20:       89 44 24 08             mov    %eax,0x8(%esp)
6268 40005e24:       8b 45 18                mov    0x18(%ebp),%eax
6269 40005e27:       89 44 24 04             mov    %eax,0x4(%esp)
6270 40005e2b:       89 14 24                mov    %edx,(%esp)
6271 40005e2e:       e8 25 18 00 00          call   40007658 <read>
6272 40005e33:       89 45 f4                mov    %eax,-0xc(%ebp)
6273 40005e36:       eb 07                   jmp    40005e3f <cdi_fs_data_read+0x9f>
6274 40005e38:       c7 45 f4 00 00 00 00    movl   $0x0,-0xc(%ebp)
6275 40005e3f:       8b 45 f4                mov    -0xc(%ebp),%eax
6276 40005e42:       c9                      leave  
6277 40005e43:       c3                      ret    
6279 40005e44 <cdi_fs_data_write>:
6280 40005e44:       55                      push   %ebp
6281 40005e45:       89 e5                   mov    %esp,%ebp
6282 40005e47:       83 ec 38                sub    $0x38,%esp
6283 40005e4a:       8b 45 0c                mov    0xc(%ebp),%eax
6284 40005e4d:       89 45 f8                mov    %eax,-0x8(%ebp)
6285 40005e50:       8b 45 10                mov    0x10(%ebp),%eax
6286 40005e53:       89 45 fc                mov    %eax,-0x4(%ebp)
6287 40005e56:       8b 0d 60 59 01 40       mov    0x40015960,%ecx
6288 40005e5c:       8b 45 18                mov    0x18(%ebp),%eax
6289 40005e5f:       89 44 24 18             mov    %eax,0x18(%esp)
6290 40005e63:       8b 45 14                mov    0x14(%ebp),%eax
6291 40005e66:       89 44 24 14             mov    %eax,0x14(%esp)
6292 40005e6a:       8b 45 f8                mov    -0x8(%ebp),%eax
6293 40005e6d:       8b 55 fc                mov    -0x4(%ebp),%edx
6294 40005e70:       89 44 24 0c             mov    %eax,0xc(%esp)
6295 40005e74:       89 54 24 10             mov    %edx,0x10(%esp)
6296 40005e78:       8b 45 08                mov    0x8(%ebp),%eax
6297 40005e7b:       89 44 24 08             mov    %eax,0x8(%esp)
6298 40005e7f:       c7 44 24 04 e4 2e 01    movl   $0x40012ee4,0x4(%esp)
6299 40005e86:       40 
6300 40005e87:       89 0c 24                mov    %ecx,(%esp)
6301 40005e8a:       e8 f9 2d 00 00          call   40008c88 <fprintf>
6302 40005e8f:       8b 45 08                mov    0x8(%ebp),%eax
6303 40005e92:       8b 40 28                mov    0x28(%eax),%eax
6304 40005e95:       85 c0                   test   %eax,%eax
6305 40005e97:       74 43                   je     40005edc <cdi_fs_data_write+0x98>
6306 40005e99:       8b 55 f8                mov    -0x8(%ebp),%edx
6307 40005e9c:       8b 45 08                mov    0x8(%ebp),%eax
6308 40005e9f:       8b 40 2c                mov    0x2c(%eax),%eax
6309 40005ea2:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
6310 40005ea9:       00 
6311 40005eaa:       89 54 24 04             mov    %edx,0x4(%esp)
6312 40005eae:       89 04 24                mov    %eax,(%esp)
6313 40005eb1:       e8 0e 1a 00 00          call   400078c4 <lseek>
6314 40005eb6:       83 f8 ff                cmp    $0xffffffff,%eax
6315 40005eb9:       74 21                   je     40005edc <cdi_fs_data_write+0x98>
6316 40005ebb:       8b 45 08                mov    0x8(%ebp),%eax
6317 40005ebe:       8b 50 2c                mov    0x2c(%eax),%edx
6318 40005ec1:       8b 45 14                mov    0x14(%ebp),%eax
6319 40005ec4:       89 44 24 08             mov    %eax,0x8(%esp)
6320 40005ec8:       8b 45 18                mov    0x18(%ebp),%eax
6321 40005ecb:       89 44 24 04             mov    %eax,0x4(%esp)
6322 40005ecf:       89 14 24                mov    %edx,(%esp)
6323 40005ed2:       e8 fb 18 00 00          call   400077d2 <write>
6324 40005ed7:       89 45 f4                mov    %eax,-0xc(%ebp)
6325 40005eda:       eb 07                   jmp    40005ee3 <cdi_fs_data_write+0x9f>
6326 40005edc:       c7 45 f4 00 00 00 00    movl   $0x0,-0xc(%ebp)
6327 40005ee3:       8b 45 f4                mov    -0xc(%ebp),%eax
6328 40005ee6:       c9                      leave  
6329 40005ee7:       c3                      ret    
6331 40005ee8 <cdi_ioports_alloc>:
6332 40005ee8:       55                      push   %ebp
6333 40005ee9:       89 e5                   mov    %esp,%ebp
6334 40005eeb:       83 ec 28                sub    $0x28,%esp
6335 40005eee:       8b 45 08                mov    0x8(%ebp),%eax
6336 40005ef1:       8b 55 0c                mov    0xc(%ebp),%edx
6337 40005ef4:       66 89 45 ec             mov    %ax,-0x14(%ebp)
6338 40005ef8:       66 89 55 e8             mov    %dx,-0x18(%ebp)
6339 40005efc:       66 c7 45 fe 00 00       movw   $0x0,-0x2(%ebp)
6340 40005f02:       eb 28                   jmp    40005f2c <cdi_ioports_alloc+0x44>
6341 40005f04:       0f b7 55 fe             movzwl -0x2(%ebp),%edx
6342 40005f08:       0f b7 45 ec             movzwl -0x14(%ebp),%eax
6343 40005f0c:       01 d0                   add    %edx,%eax
6344 40005f0e:       0f b7 c0                movzwl %ax,%eax
6345 40005f11:       89 04 24                mov    %eax,(%esp)
6346 40005f14:       e8 29 00 00 00          call   40005f42 <ioport_reg>
6347 40005f19:       83 f8 ff                cmp    $0xffffffff,%eax
6348 40005f1c:       75 09                   jne    40005f27 <cdi_ioports_alloc+0x3f>
6349 40005f1e:       c7 45 e4 ff ff ff ff    movl   $0xffffffff,-0x1c(%ebp)
6350 40005f25:       eb 16                   jmp    40005f3d <cdi_ioports_alloc+0x55>
6351 40005f27:       66 83 45 fe 01          addw   $0x1,-0x2(%ebp)
6352 40005f2c:       0f b7 45 fe             movzwl -0x2(%ebp),%eax
6353 40005f30:       66 3b 45 e8             cmp    -0x18(%ebp),%ax
6354 40005f34:       72 ce                   jb     40005f04 <cdi_ioports_alloc+0x1c>
6355 40005f36:       c7 45 e4 00 00 00 00    movl   $0x0,-0x1c(%ebp)
6356 40005f3d:       8b 45 e4                mov    -0x1c(%ebp),%eax
6357 40005f40:       c9                      leave  
6358 40005f41:       c3                      ret    
6360 40005f42 <ioport_reg>:
6361 40005f42:       55                      push   %ebp
6362 40005f43:       89 e5                   mov    %esp,%ebp
6363 40005f45:       83 ec 28                sub    $0x28,%esp
6364 40005f48:       8b 45 08                mov    0x8(%ebp),%eax
6365 40005f4b:       66 89 45 ec             mov    %ax,-0x14(%ebp)
6366 40005f4f:       0f b7 45 ec             movzwl -0x14(%ebp),%eax
6367 40005f53:       89 44 24 08             mov    %eax,0x8(%esp)
6368 40005f57:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
6369 40005f5e:       00 
6370 40005f5f:       c7 04 24 43 00 00 00    movl   $0x43,(%esp)
6371 40005f66:       e8 2d b8 00 00          call   40011798 <syscall_call>
6372 40005f6b:       89 45 fc                mov    %eax,-0x4(%ebp)
6373 40005f6e:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
6374 40005f72:       79 0c                   jns    40005f80 <ioport_reg+0x3e>
6375 40005f74:       8b 45 fc                mov    -0x4(%ebp),%eax
6376 40005f77:       89 c2                   mov    %eax,%edx
6377 40005f79:       f7 da                   neg    %edx
6378 40005f7b:       89 55 e8                mov    %edx,-0x18(%ebp)
6379 40005f7e:       eb 07                   jmp    40005f87 <ioport_reg+0x45>
6380 40005f80:       c7 45 e8 00 00 00 00    movl   $0x0,-0x18(%ebp)
6381 40005f87:       8b 45 e8                mov    -0x18(%ebp),%eax
6382 40005f8a:       a3 54 59 01 40          mov    %eax,0x40015954
6383 40005f8f:       8b 45 fc                mov    -0x4(%ebp),%eax
6384 40005f92:       c1 f8 1f                sar    $0x1f,%eax
6385 40005f95:       0b 45 fc                or     -0x4(%ebp),%eax
6386 40005f98:       c9                      leave  
6387 40005f99:       c3                      ret    
6389 40005f9a <cdi_ioports_free>:
6390 40005f9a:       55                      push   %ebp
6391 40005f9b:       89 e5                   mov    %esp,%ebp
6392 40005f9d:       83 ec 28                sub    $0x28,%esp
6393 40005fa0:       8b 45 08                mov    0x8(%ebp),%eax
6394 40005fa3:       8b 55 0c                mov    0xc(%ebp),%edx
6395 40005fa6:       66 89 45 ec             mov    %ax,-0x14(%ebp)
6396 40005faa:       66 89 55 e8             mov    %dx,-0x18(%ebp)
6397 40005fae:       66 c7 45 fe 00 00       movw   $0x0,-0x2(%ebp)
6398 40005fb4:       eb 1a                   jmp    40005fd0 <cdi_ioports_free+0x36>
6399 40005fb6:       0f b7 55 fe             movzwl -0x2(%ebp),%edx
6400 40005fba:       0f b7 45 ec             movzwl -0x14(%ebp),%eax
6401 40005fbe:       01 d0                   add    %edx,%eax
6402 40005fc0:       0f b7 c0                movzwl %ax,%eax
6403 40005fc3:       89 04 24                mov    %eax,(%esp)
6404 40005fc6:       e8 16 00 00 00          call   40005fe1 <ioport_unreg>
6405 40005fcb:       66 83 45 fe 01          addw   $0x1,-0x2(%ebp)
6406 40005fd0:       0f b7 45 fe             movzwl -0x2(%ebp),%eax
6407 40005fd4:       66 3b 45 e8             cmp    -0x18(%ebp),%ax
6408 40005fd8:       72 dc                   jb     40005fb6 <cdi_ioports_free+0x1c>
6409 40005fda:       b8 00 00 00 00          mov    $0x0,%eax
6410 40005fdf:       c9                      leave  
6411 40005fe0:       c3                      ret    
6413 40005fe1 <ioport_unreg>:
6414 40005fe1:       55                      push   %ebp
6415 40005fe2:       89 e5                   mov    %esp,%ebp
6416 40005fe4:       83 ec 28                sub    $0x28,%esp
6417 40005fe7:       8b 45 08                mov    0x8(%ebp),%eax
6418 40005fea:       66 89 45 ec             mov    %ax,-0x14(%ebp)
6419 40005fee:       0f b7 45 ec             movzwl -0x14(%ebp),%eax
6420 40005ff2:       89 44 24 08             mov    %eax,0x8(%esp)
6421 40005ff6:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
6422 40005ffd:       00 
6423 40005ffe:       c7 04 24 44 00 00 00    movl   $0x44,(%esp)
6424 40006005:       e8 8e b7 00 00          call   40011798 <syscall_call>
6425 4000600a:       89 45 fc                mov    %eax,-0x4(%ebp)
6426 4000600d:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
6427 40006011:       79 0c                   jns    4000601f <ioport_unreg+0x3e>
6428 40006013:       8b 45 fc                mov    -0x4(%ebp),%eax
6429 40006016:       89 c2                   mov    %eax,%edx
6430 40006018:       f7 da                   neg    %edx
6431 4000601a:       89 55 e8                mov    %edx,-0x18(%ebp)
6432 4000601d:       eb 07                   jmp    40006026 <ioport_unreg+0x45>
6433 4000601f:       c7 45 e8 00 00 00 00    movl   $0x0,-0x18(%ebp)
6434 40006026:       8b 45 e8                mov    -0x18(%ebp),%eax
6435 40006029:       a3 54 59 01 40          mov    %eax,0x40015954
6436 4000602e:       8b 45 fc                mov    -0x4(%ebp),%eax
6437 40006031:       c1 f8 1f                sar    $0x1f,%eax
6438 40006034:       0b 45 fc                or     -0x4(%ebp),%eax
6439 40006037:       c9                      leave  
6440 40006038:       c3                      ret    
6442 40006039 <is_leapyear>:
6443 40006039:       55                      push   %ebp
6444 4000603a:       89 e5                   mov    %esp,%ebp
6445 4000603c:       83 ec 10                sub    $0x10,%esp
6446 4000603f:       8b 4d 08                mov    0x8(%ebp),%ecx
6447 40006042:       c7 45 f0 1f 85 eb 51    movl   $0x51eb851f,-0x10(%ebp)
6448 40006049:       8b 45 f0                mov    -0x10(%ebp),%eax
6449 4000604c:       f7 e1                   mul    %ecx
6450 4000604e:       89 d0                   mov    %edx,%eax
6451 40006050:       c1 e8 07                shr    $0x7,%eax
6452 40006053:       89 45 f4                mov    %eax,-0xc(%ebp)
6453 40006056:       69 45 f4 90 01 00 00    imul   $0x190,-0xc(%ebp),%eax
6454 4000605d:       89 ca                   mov    %ecx,%edx
6455 4000605f:       29 c2                   sub    %eax,%edx
6456 40006061:       89 55 f4                mov    %edx,-0xc(%ebp)
6457 40006064:       83 7d f4 00             cmpl   $0x0,-0xc(%ebp)
6458 40006068:       75 09                   jne    40006073 <is_leapyear+0x3a>
6459 4000606a:       c7 45 f8 01 00 00 00    movl   $0x1,-0x8(%ebp)
6460 40006071:       eb 4b                   jmp    400060be <is_leapyear+0x85>
6461 40006073:       8b 4d 08                mov    0x8(%ebp),%ecx
6462 40006076:       c7 45 f0 1f 85 eb 51    movl   $0x51eb851f,-0x10(%ebp)
6463 4000607d:       8b 45 f0                mov    -0x10(%ebp),%eax
6464 40006080:       f7 e1                   mul    %ecx
6465 40006082:       89 d0                   mov    %edx,%eax
6466 40006084:       c1 e8 05                shr    $0x5,%eax
6467 40006087:       89 45 fc                mov    %eax,-0x4(%ebp)
6468 4000608a:       6b 45 fc 64             imul   $0x64,-0x4(%ebp),%eax
6469 4000608e:       89 ca                   mov    %ecx,%edx
6470 40006090:       29 c2                   sub    %eax,%edx
6471 40006092:       89 55 fc                mov    %edx,-0x4(%ebp)
6472 40006095:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
6473 40006099:       75 09                   jne    400060a4 <is_leapyear+0x6b>
6474 4000609b:       c7 45 f8 00 00 00 00    movl   $0x0,-0x8(%ebp)
6475 400060a2:       eb 1a                   jmp    400060be <is_leapyear+0x85>
6476 400060a4:       8b 45 08                mov    0x8(%ebp),%eax
6477 400060a7:       83 e0 03                and    $0x3,%eax
6478 400060aa:       85 c0                   test   %eax,%eax
6479 400060ac:       75 09                   jne    400060b7 <is_leapyear+0x7e>
6480 400060ae:       c7 45 f8 01 00 00 00    movl   $0x1,-0x8(%ebp)
6481 400060b5:       eb 07                   jmp    400060be <is_leapyear+0x85>
6482 400060b7:       c7 45 f8 00 00 00 00    movl   $0x0,-0x8(%ebp)
6483 400060be:       8b 45 f8                mov    -0x8(%ebp),%eax
6484 400060c1:       c9                      leave  
6485 400060c2:       c3                      ret    
6487 400060c3 <days_per_month>:
6488 400060c3:       55                      push   %ebp
6489 400060c4:       89 e5                   mov    %esp,%ebp
6490 400060c6:       53                      push   %ebx
6491 400060c7:       83 ec 34                sub    $0x34,%esp
6492 400060ca:       c7 45 cc 1f 00 00 00    movl   $0x1f,-0x34(%ebp)
6493 400060d1:       c7 45 d0 1c 00 00 00    movl   $0x1c,-0x30(%ebp)
6494 400060d8:       c7 45 d4 1f 00 00 00    movl   $0x1f,-0x2c(%ebp)
6495 400060df:       c7 45 d8 1e 00 00 00    movl   $0x1e,-0x28(%ebp)
6496 400060e6:       c7 45 dc 1f 00 00 00    movl   $0x1f,-0x24(%ebp)
6497 400060ed:       c7 45 e0 1e 00 00 00    movl   $0x1e,-0x20(%ebp)
6498 400060f4:       c7 45 e4 1f 00 00 00    movl   $0x1f,-0x1c(%ebp)
6499 400060fb:       c7 45 e8 1f 00 00 00    movl   $0x1f,-0x18(%ebp)
6500 40006102:       c7 45 ec 1e 00 00 00    movl   $0x1e,-0x14(%ebp)
6501 40006109:       c7 45 f0 1f 00 00 00    movl   $0x1f,-0x10(%ebp)
6502 40006110:       c7 45 f4 1e 00 00 00    movl   $0x1e,-0xc(%ebp)
6503 40006117:       c7 45 f8 1f 00 00 00    movl   $0x1f,-0x8(%ebp)
6504 4000611e:       8b 45 08                mov    0x8(%ebp),%eax
6505 40006121:       8b 5c 85 cc             mov    -0x34(%ebp,%eax,4),%ebx
6506 40006125:       8b 45 0c                mov    0xc(%ebp),%eax
6507 40006128:       89 04 24                mov    %eax,(%esp)
6508 4000612b:       e8 09 ff ff ff          call   40006039 <is_leapyear>
6509 40006130:       85 c0                   test   %eax,%eax
6510 40006132:       0f 95 c0                setne  %al
6511 40006135:       0f b6 c0                movzbl %al,%eax
6512 40006138:       8d 04 03                lea    (%ebx,%eax,1),%eax
6513 4000613b:       83 c4 34                add    $0x34,%esp
6514 4000613e:       5b                      pop    %ebx
6515 4000613f:       5d                      pop    %ebp
6516 40006140:       c3                      ret    
6518 40006141 <cdi_time_by_date>:
6519 40006141:       55                      push   %ebp
6520 40006142:       89 e5                   mov    %esp,%ebp
6521 40006144:       83 ec 20                sub    $0x20,%esp
6522 40006147:       c7 45 f8 00 00 00 00    movl   $0x0,-0x8(%ebp)
6523 4000614e:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
6524 40006155:       c7 45 f4 b2 07 00 00    movl   $0x7b2,-0xc(%ebp)
6525 4000615c:       eb 3d                   jmp    4000619b <cdi_time_by_date+0x5a>
6526 4000615e:       8b 45 f4                mov    -0xc(%ebp),%eax
6527 40006161:       89 04 24                mov    %eax,(%esp)
6528 40006164:       e8 d0 fe ff ff          call   40006039 <is_leapyear>
6529 40006169:       85 c0                   test   %eax,%eax
6530 4000616b:       74 10                   je     4000617d <cdi_time_by_date+0x3c>
6531 4000616d:       c7 45 e8 00 85 e2 01    movl   $0x1e28500,-0x18(%ebp)
6532 40006174:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
6533 4000617b:       eb 0e                   jmp    4000618b <cdi_time_by_date+0x4a>
6534 4000617d:       c7 45 e8 80 33 e1 01    movl   $0x1e13380,-0x18(%ebp)
6535 40006184:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
6536 4000618b:       8b 45 e8                mov    -0x18(%ebp),%eax
6537 4000618e:       8b 55 ec                mov    -0x14(%ebp),%edx
6538 40006191:       89 45 f8                mov    %eax,-0x8(%ebp)
6539 40006194:       89 55 fc                mov    %edx,-0x4(%ebp)
6540 40006197:       83 45 f4 01             addl   $0x1,-0xc(%ebp)
6541 4000619b:       8b 45 f4                mov    -0xc(%ebp),%eax
6542 4000619e:       3b 45 08                cmp    0x8(%ebp),%eax
6543 400061a1:       72 bb                   jb     4000615e <cdi_time_by_date+0x1d>
6544 400061a3:       c7 45 f4 00 00 00 00    movl   $0x0,-0xc(%ebp)
6545 400061aa:       eb 27                   jmp    400061d3 <cdi_time_by_date+0x92>
6546 400061ac:       8b 45 08                mov    0x8(%ebp),%eax
6547 400061af:       89 44 24 04             mov    %eax,0x4(%esp)
6548 400061b3:       8b 45 0c                mov    0xc(%ebp),%eax
6549 400061b6:       89 04 24                mov    %eax,(%esp)
6550 400061b9:       e8 05 ff ff ff          call   400060c3 <days_per_month>
6551 400061be:       69 c0 80 51 01 00       imul   $0x15180,%eax,%eax
6552 400061c4:       89 c2                   mov    %eax,%edx
6553 400061c6:       c1 fa 1f                sar    $0x1f,%edx
6554 400061c9:       01 45 f8                add    %eax,-0x8(%ebp)
6555 400061cc:       11 55 fc                adc    %edx,-0x4(%ebp)
6556 400061cf:       83 45 f4 01             addl   $0x1,-0xc(%ebp)
6557 400061d3:       8b 45 f4                mov    -0xc(%ebp),%eax
6558 400061d6:       3b 45 0c                cmp    0xc(%ebp),%eax
6559 400061d9:       72 d1                   jb     400061ac <cdi_time_by_date+0x6b>
6560 400061db:       8b 45 10                mov    0x10(%ebp),%eax
6561 400061de:       69 c0 10 0e 00 00       imul   $0xe10,%eax,%eax
6562 400061e4:       ba 00 00 00 00          mov    $0x0,%edx
6563 400061e9:       01 45 f8                add    %eax,-0x8(%ebp)
6564 400061ec:       11 55 fc                adc    %edx,-0x4(%ebp)
6565 400061ef:       8b 45 f8                mov    -0x8(%ebp),%eax
6566 400061f2:       8b 55 fc                mov    -0x4(%ebp),%edx
6567 400061f5:       c9                      leave  
6568 400061f6:       c3                      ret    
6570 400061f7 <cdi_alloc_phys_addr>:
6571 400061f7:       55                      push   %ebp
6572 400061f8:       89 e5                   mov    %esp,%ebp
6573 400061fa:       b8 00 00 00 00          mov    $0x0,%eax
6574 400061ff:       5d                      pop    %ebp
6575 40006200:       c3                      ret    
6577 40006201 <cdi_free_phys_addr>:
6578 40006201:       55                      push   %ebp
6579 40006202:       89 e5                   mov    %esp,%ebp
6580 40006204:       5d                      pop    %ebp
6581 40006205:       c3                      ret    
6582 40006206:       90                      nop    
6583 40006207:       90                      nop    
6585 40006208 <asprintf>:
6586 40006208:       55                      push   %ebp
6587 40006209:       89 e5                   mov    %esp,%ebp
6588 4000620b:       83 ec 38                sub    $0x38,%esp
6589 4000620e:       8d 45 10                lea    0x10(%ebp),%eax
6590 40006211:       89 45 f0                mov    %eax,-0x10(%ebp)
6591 40006214:       8b 45 f0                mov    -0x10(%ebp),%eax
6592 40006217:       89 45 ec                mov    %eax,-0x14(%ebp)
6593 4000621a:       8b 45 ec                mov    -0x14(%ebp),%eax
6594 4000621d:       89 44 24 0c             mov    %eax,0xc(%esp)
6595 40006221:       8b 45 0c                mov    0xc(%ebp),%eax
6596 40006224:       89 44 24 08             mov    %eax,0x8(%esp)
6597 40006228:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
6598 4000622f:       00 
6599 40006230:       c7 04 24 00 00 00 00    movl   $0x0,(%esp)
6600 40006237:       e8 21 86 00 00          call   4000e85d <vsnprintf>
6601 4000623c:       83 c0 01                add    $0x1,%eax
6602 4000623f:       89 45 f8                mov    %eax,-0x8(%ebp)
6603 40006242:       8b 45 f8                mov    -0x8(%ebp),%eax
6604 40006245:       89 04 24                mov    %eax,(%esp)
6605 40006248:       e8 57 5b 00 00          call   4000bda4 <malloc>
6606 4000624d:       89 45 fc                mov    %eax,-0x4(%ebp)
6607 40006250:       8b 55 08                mov    0x8(%ebp),%edx
6608 40006253:       8b 45 fc                mov    -0x4(%ebp),%eax
6609 40006256:       89 02                   mov    %eax,(%edx)
6610 40006258:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
6611 4000625c:       75 09                   jne    40006267 <asprintf+0x5f>
6612 4000625e:       c7 45 dc ff ff ff ff    movl   $0xffffffff,-0x24(%ebp)
6613 40006265:       eb 29                   jmp    40006290 <asprintf+0x88>
6614 40006267:       8b 45 f0                mov    -0x10(%ebp),%eax
6615 4000626a:       8b 55 f8                mov    -0x8(%ebp),%edx
6616 4000626d:       89 44 24 0c             mov    %eax,0xc(%esp)
6617 40006271:       8b 45 0c                mov    0xc(%ebp),%eax
6618 40006274:       89 44 24 08             mov    %eax,0x8(%esp)
6619 40006278:       89 54 24 04             mov    %edx,0x4(%esp)
6620 4000627c:       8b 45 fc                mov    -0x4(%ebp),%eax
6621 4000627f:       89 04 24                mov    %eax,(%esp)
6622 40006282:       e8 d6 85 00 00          call   4000e85d <vsnprintf>
6623 40006287:       89 45 f4                mov    %eax,-0xc(%ebp)
6624 4000628a:       8b 45 f4                mov    -0xc(%ebp),%eax
6625 4000628d:       89 45 dc                mov    %eax,-0x24(%ebp)
6626 40006290:       8b 45 dc                mov    -0x24(%ebp),%eax
6627 40006293:       c9                      leave  
6628 40006294:       c3                      ret    
6629 40006295:       90                      nop    
6630 40006296:       90                      nop    
6631 40006297:       90                      nop    
6633 40006298 <_fs_init>:
6634 40006298:       55                      push   %ebp
6635 40006299:       89 e5                   mov    %esp,%ebp
6636 4000629b:       83 ec 28                sub    $0x28,%esp
6637 4000629e:       e8 55 98 00 00          call   4000faf8 <llist_create>
6638 400062a3:       a3 74 42 01 40          mov    %eax,0x40014274
6639 400062a8:       e8 4b 98 00 00          call   4000faf8 <llist_create>
6640 400062ad:       a3 78 42 01 40          mov    %eax,0x40014278
6641 400062b2:       c7 05 7c 42 01 40 03    movl   $0x3,0x4001427c
6642 400062b9:       00 00 00 
6643 400062bc:       c7 05 8c 42 01 40 ff    movl   $0x1ff,0x4001428c
6644 400062c3:       01 00 00 
6645 400062c6:       c7 04 24 0c 2f 01 40    movl   $0x40012f0c,(%esp)
6646 400062cd:       e8 0f b7 00 00          call   400119e1 <getenv>
6647 400062d2:       89 45 fc                mov    %eax,-0x4(%ebp)
6648 400062d5:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
6649 400062d9:       75 07                   jne    400062e2 <_fs_init+0x4a>
6650 400062db:       c7 45 fc 11 2f 01 40    movl   $0x40012f11,-0x4(%ebp)
6651 400062e2:       c7 44 24 08 0c 00 00    movl   $0xc,0x8(%esp)
6652 400062e9:       00 
6653 400062ea:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
6654 400062f1:       00 
6655 400062f2:       c7 04 24 80 42 01 40    movl   $0x40014280,(%esp)
6656 400062f9:       e8 df 8f 00 00          call   4000f2dd <memset>
6657 400062fe:       8b 45 fc                mov    -0x4(%ebp),%eax
6658 40006301:       89 04 24                mov    %eax,(%esp)
6659 40006304:       e8 83 0a 00 00          call   40006d8c <chdir>
6660 40006309:       a1 44 59 01 40          mov    0x40015944,%eax
6661 4000630e:       8b 00                   mov    (%eax),%eax
6662 40006310:       89 44 24 04             mov    %eax,0x4(%esp)
6663 40006314:       c7 04 24 00 00 00 00    movl   $0x0,(%esp)
6664 4000631b:       e8 54 05 00 00          call   40006874 <_open_unnamed_pipe>
6665 40006320:       a1 44 59 01 40          mov    0x40015944,%eax
6666 40006325:       8b 40 04                mov    0x4(%eax),%eax
6667 40006328:       89 44 24 04             mov    %eax,0x4(%esp)
6668 4000632c:       c7 04 24 01 00 00 00    movl   $0x1,(%esp)
6669 40006333:       e8 3c 05 00 00          call   40006874 <_open_unnamed_pipe>
6670 40006338:       a1 44 59 01 40          mov    0x40015944,%eax
6671 4000633d:       8b 40 08                mov    0x8(%eax),%eax
6672 40006340:       89 44 24 04             mov    %eax,0x4(%esp)
6673 40006344:       c7 04 24 02 00 00 00    movl   $0x2,(%esp)
6674 4000634b:       e8 24 05 00 00          call   40006874 <_open_unnamed_pipe>
6675 40006350:       c9                      leave  
6676 40006351:       c3                      ret    
6678 40006352 <mp_match>:
6679 40006352:       55                      push   %ebp
6680 40006353:       89 e5                   mov    %esp,%ebp
6681 40006355:       53                      push   %ebx
6682 40006356:       83 ec 34                sub    $0x34,%esp
6683 40006359:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
6684 40006360:       c7 45 f4 00 00 00 00    movl   $0x0,-0xc(%ebp)
6685 40006367:       8b 45 08                mov    0x8(%ebp),%eax
6686 4000636a:       89 04 24                mov    %eax,(%esp)
6687 4000636d:       e8 a2 a0 00 00          call   40010414 <path_parse>
6688 40006372:       89 45 f8                mov    %eax,-0x8(%ebp)
6689 40006375:       83 7d 0c 00             cmpl   $0x0,0xc(%ebp)
6690 40006379:       74 0b                   je     40006386 <mp_match+0x34>
6691 4000637b:       8b 45 f8                mov    -0x8(%ebp),%eax
6692 4000637e:       89 04 24                mov    %eax,(%esp)
6693 40006381:       e8 6c a8 00 00          call   40010bf2 <path_parent>
6694 40006386:       c7 45 e4 00 00 00 00    movl   $0x0,-0x1c(%ebp)
6695 4000638d:       eb 30                   jmp    400063bf <mp_match+0x6d>
6696 4000638f:       8b 45 f0                mov    -0x10(%ebp),%eax
6697 40006392:       8b 40 08                mov    0x8(%eax),%eax
6698 40006395:       89 44 24 04             mov    %eax,0x4(%esp)
6699 40006399:       8b 45 f8                mov    -0x8(%ebp),%eax
6700 4000639c:       89 04 24                mov    %eax,(%esp)
6701 4000639f:       e8 16 a5 00 00          call   400108ba <path_compare>
6702 400063a4:       89 45 e8                mov    %eax,-0x18(%ebp)
6703 400063a7:       8b 45 e8                mov    -0x18(%ebp),%eax
6704 400063aa:       3b 45 ec                cmp    -0x14(%ebp),%eax
6705 400063ad:       76 0c                   jbe    400063bb <mp_match+0x69>
6706 400063af:       8b 45 e8                mov    -0x18(%ebp),%eax
6707 400063b2:       89 45 ec                mov    %eax,-0x14(%ebp)
6708 400063b5:       8b 45 f0                mov    -0x10(%ebp),%eax
6709 400063b8:       89 45 f4                mov    %eax,-0xc(%ebp)
6710 400063bb:       83 45 e4 01             addl   $0x1,-0x1c(%ebp)
6711 400063bf:       a1 78 42 01 40          mov    0x40014278,%eax
6712 400063c4:       8b 55 e4                mov    -0x1c(%ebp),%edx
6713 400063c7:       89 54 24 04             mov    %edx,0x4(%esp)
6714 400063cb:       89 04 24                mov    %eax,(%esp)
6715 400063ce:       e8 d8 98 00 00          call   4000fcab <llist_get>
6716 400063d3:       89 45 f0                mov    %eax,-0x10(%ebp)
6717 400063d6:       83 7d f0 00             cmpl   $0x0,-0x10(%ebp)
6718 400063da:       75 b3                   jne    4000638f <mp_match+0x3d>
6719 400063dc:       83 7d f4 00             cmpl   $0x0,-0xc(%ebp)
6720 400063e0:       74 48                   je     4000642a <mp_match+0xd8>
6721 400063e2:       8b 45 08                mov    0x8(%ebp),%eax
6722 400063e5:       89 04 24                mov    %eax,(%esp)
6723 400063e8:       e8 cb 90 00 00          call   4000f4b8 <strlen>
6724 400063ed:       89 c3                   mov    %eax,%ebx
6725 400063ef:       8b 45 f4                mov    -0xc(%ebp),%eax
6726 400063f2:       8b 40 0c                mov    0xc(%eax),%eax
6727 400063f5:       89 04 24                mov    %eax,(%esp)
6728 400063f8:       e8 bb 90 00 00          call   4000f4b8 <strlen>
6729 400063fd:       89 da                   mov    %ebx,%edx
6730 400063ff:       29 c2                   sub    %eax,%edx
6731 40006401:       89 d0                   mov    %edx,%eax
6732 40006403:       8d 58 01                lea    0x1(%eax),%ebx
6733 40006406:       8b 45 f4                mov    -0xc(%ebp),%eax
6734 40006409:       8b 40 0c                mov    0xc(%eax),%eax
6735 4000640c:       89 04 24                mov    %eax,(%esp)
6736 4000640f:       e8 a4 90 00 00          call   4000f4b8 <strlen>
6737 40006414:       03 45 08                add    0x8(%ebp),%eax
6738 40006417:       89 5c 24 08             mov    %ebx,0x8(%esp)
6739 4000641b:       89 44 24 04             mov    %eax,0x4(%esp)
6740 4000641f:       8b 45 08                mov    0x8(%ebp),%eax
6741 40006422:       89 04 24                mov    %eax,(%esp)
6742 40006425:       e8 8e 8d 00 00          call   4000f1b8 <memmove>
6743 4000642a:       8b 45 08                mov    0x8(%ebp),%eax
6744 4000642d:       0f b6 00                movzbl (%eax),%eax
6745 40006430:       84 c0                   test   %al,%al
6746 40006432:       75 13                   jne    40006447 <mp_match+0xf5>
6747 40006434:       c7 44 24 04 11 2f 01    movl   $0x40012f11,0x4(%esp)
6748 4000643b:       40 
6749 4000643c:       8b 45 08                mov    0x8(%ebp),%eax
6750 4000643f:       89 04 24                mov    %eax,(%esp)
6751 40006442:       e8 de 8f 00 00          call   4000f425 <strcpy>
6752 40006447:       8b 45 f4                mov    -0xc(%ebp),%eax
6753 4000644a:       83 c4 34                add    $0x34,%esp
6754 4000644d:       5b                      pop    %ebx
6755 4000644e:       5d                      pop    %ebp
6756 4000644f:       c3                      ret    
6758 40006450 <fsbypath>:
6759 40006450:       55                      push   %ebp
6760 40006451:       89 e5                   mov    %esp,%ebp
6761 40006453:       53                      push   %ebx
6762 40006454:       83 ec 24                sub    $0x24,%esp
6763 40006457:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
6764 4000645b:       74 0a                   je     40006467 <fsbypath+0x17>
6765 4000645d:       8b 45 08                mov    0x8(%ebp),%eax
6766 40006460:       0f b6 00                movzbl (%eax),%eax
6767 40006463:       84 c0                   test   %al,%al
6768 40006465:       75 0c                   jne    40006473 <fsbypath+0x23>
6769 40006467:       c7 45 e8 00 00 00 00    movl   $0x0,-0x18(%ebp)
6770 4000646e:       e9 52 01 00 00          jmp    400065c5 <fsbypath+0x175>
6771 40006473:       8b 45 0c                mov    0xc(%ebp),%eax
6772 40006476:       89 44 24 04             mov    %eax,0x4(%esp)
6773 4000647a:       8b 45 08                mov    0x8(%ebp),%eax
6774 4000647d:       89 04 24                mov    %eax,(%esp)
6775 40006480:       e8 cd fe ff ff          call   40006352 <mp_match>
6776 40006485:       89 45 f4                mov    %eax,-0xc(%ebp)
6777 40006488:       83 7d f4 00             cmpl   $0x0,-0xc(%ebp)
6778 4000648c:       0f 85 2d 01 00 00       jne    400065bf <fsbypath+0x16f>
6779 40006492:       c7 04 24 10 00 00 00    movl   $0x10,(%esp)
6780 40006499:       e8 06 59 00 00          call   4000bda4 <malloc>
6781 4000649e:       89 45 f4                mov    %eax,-0xc(%ebp)
6782 400064a1:       8b 45 08                mov    0x8(%ebp),%eax
6783 400064a4:       89 04 24                mov    %eax,(%esp)
6784 400064a7:       e8 c1 8f 00 00          call   4000f46d <strdup>
6785 400064ac:       89 45 f8                mov    %eax,-0x8(%ebp)
6786 400064af:       8b 45 0c                mov    0xc(%ebp),%eax
6787 400064b2:       89 44 24 0c             mov    %eax,0xc(%esp)
6788 400064b6:       8b 45 08                mov    0x8(%ebp),%eax
6789 400064b9:       89 44 24 08             mov    %eax,0x8(%esp)
6790 400064bd:       c7 44 24 04 02 00 00    movl   $0x2,0x4(%esp)
6791 400064c4:       00 
6792 400064c5:       c7 04 24 13 2f 01 40    movl   $0x40012f13,(%esp)
6793 400064cc:       e8 16 ad 00 00          call   400111e7 <rpc_call>
6794 400064d1:       89 c2                   mov    %eax,%edx
6795 400064d3:       8b 45 f4                mov    -0xc(%ebp),%eax
6796 400064d6:       89 50 04                mov    %edx,0x4(%eax)
6797 400064d9:       8b 45 f4                mov    -0xc(%ebp),%eax
6798 400064dc:       8b 40 04                mov    0x4(%eax),%eax
6799 400064df:       85 c0                   test   %eax,%eax
6800 400064e1:       79 24                   jns    40006507 <fsbypath+0xb7>
6801 400064e3:       8b 45 f8                mov    -0x8(%ebp),%eax
6802 400064e6:       89 04 24                mov    %eax,(%esp)
6803 400064e9:       e8 6d 5d 00 00          call   4000c25b <free>
6804 400064ee:       8b 45 f4                mov    -0xc(%ebp),%eax
6805 400064f1:       8b 40 04                mov    0x4(%eax),%eax
6806 400064f4:       f7 d8                   neg    %eax
6807 400064f6:       a3 54 59 01 40          mov    %eax,0x40015954
6808 400064fb:       c7 45 e8 00 00 00 00    movl   $0x0,-0x18(%ebp)
6809 40006502:       e9 be 00 00 00          jmp    400065c5 <fsbypath+0x175>
6810 40006507:       8b 45 f8                mov    -0x8(%ebp),%eax
6811 4000650a:       89 04 24                mov    %eax,(%esp)
6812 4000650d:       e8 a6 8f 00 00          call   4000f4b8 <strlen>
6813 40006512:       89 c3                   mov    %eax,%ebx
6814 40006514:       8b 45 08                mov    0x8(%ebp),%eax
6815 40006517:       89 04 24                mov    %eax,(%esp)
6816 4000651a:       e8 99 8f 00 00          call   4000f4b8 <strlen>
6817 4000651f:       89 da                   mov    %ebx,%edx
6818 40006521:       29 c2                   sub    %eax,%edx
6819 40006523:       89 d0                   mov    %edx,%eax
6820 40006525:       03 45 f8                add    -0x8(%ebp),%eax
6821 40006528:       c6 00 00                movb   $0x0,(%eax)
6822 4000652b:       8b 45 f8                mov    -0x8(%ebp),%eax
6823 4000652e:       89 04 24                mov    %eax,(%esp)
6824 40006531:       e8 de 9e 00 00          call   40010414 <path_parse>
6825 40006536:       89 c2                   mov    %eax,%edx
6826 40006538:       8b 45 f4                mov    -0xc(%ebp),%eax
6827 4000653b:       89 50 08                mov    %edx,0x8(%eax)
6828 4000653e:       8b 45 f4                mov    -0xc(%ebp),%eax
6829 40006541:       8b 40 08                mov    0x8(%eax),%eax
6830 40006544:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
6831 4000654b:       00 
6832 4000654c:       89 04 24                mov    %eax,(%esp)
6833 4000654f:       e8 8c a1 00 00          call   400106e0 <path_output>
6834 40006554:       89 c2                   mov    %eax,%edx
6835 40006556:       8b 45 f4                mov    -0xc(%ebp),%eax
6836 40006559:       89 50 0c                mov    %edx,0xc(%eax)
6837 4000655c:       8b 45 f8                mov    -0x8(%ebp),%eax
6838 4000655f:       89 04 24                mov    %eax,(%esp)
6839 40006562:       e8 f4 5c 00 00          call   4000c25b <free>
6840 40006567:       8b 45 f4                mov    -0xc(%ebp),%eax
6841 4000656a:       8b 40 04                mov    0x4(%eax),%eax
6842 4000656d:       89 44 24 08             mov    %eax,0x8(%esp)
6843 40006571:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
6844 40006578:       00 
6845 40006579:       c7 04 24 1f 2f 01 40    movl   $0x40012f1f,(%esp)
6846 40006580:       e8 62 ac 00 00          call   400111e7 <rpc_call>
6847 40006585:       89 c2                   mov    %eax,%edx
6848 40006587:       8b 45 f4                mov    -0xc(%ebp),%eax
6849 4000658a:       89 10                   mov    %edx,(%eax)
6850 4000658c:       8b 45 f4                mov    -0xc(%ebp),%eax
6851 4000658f:       8b 00                   mov    (%eax),%eax
6852 40006591:       85 c0                   test   %eax,%eax
6853 40006593:       79 15                   jns    400065aa <fsbypath+0x15a>
6854 40006595:       8b 45 f4                mov    -0xc(%ebp),%eax
6855 40006598:       8b 00                   mov    (%eax),%eax
6856 4000659a:       f7 d8                   neg    %eax
6857 4000659c:       a3 54 59 01 40          mov    %eax,0x40015954
6858 400065a1:       c7 45 e8 00 00 00 00    movl   $0x0,-0x18(%ebp)
6859 400065a8:       eb 1b                   jmp    400065c5 <fsbypath+0x175>
6860 400065aa:       8b 15 78 42 01 40       mov    0x40014278,%edx
6861 400065b0:       8b 45 f4                mov    -0xc(%ebp),%eax
6862 400065b3:       89 44 24 04             mov    %eax,0x4(%esp)
6863 400065b7:       89 14 24                mov    %edx,(%esp)
6864 400065ba:       e8 b4 95 00 00          call   4000fb73 <llist_push>
6865 400065bf:       8b 45 f4                mov    -0xc(%ebp),%eax
6866 400065c2:       89 45 e8                mov    %eax,-0x18(%ebp)
6867 400065c5:       8b 45 e8                mov    -0x18(%ebp),%eax
6868 400065c8:       83 c4 24                add    $0x24,%esp
6869 400065cb:       5b                      pop    %ebx
6870 400065cc:       5d                      pop    %ebp
6871 400065cd:       c3                      ret    
6873 400065ce <lidxbyfh>:
6874 400065ce:       55                      push   %ebp
6875 400065cf:       89 e5                   mov    %esp,%ebp
6876 400065d1:       83 ec 28                sub    $0x28,%esp
6877 400065d4:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
6878 400065db:       eb 17                   jmp    400065f4 <lidxbyfh+0x26>
6879 400065dd:       8b 45 f8                mov    -0x8(%ebp),%eax
6880 400065e0:       8b 40 14                mov    0x14(%eax),%eax
6881 400065e3:       3b 45 08                cmp    0x8(%ebp),%eax
6882 400065e6:       75 08                   jne    400065f0 <lidxbyfh+0x22>
6883 400065e8:       8b 45 fc                mov    -0x4(%ebp),%eax
6884 400065eb:       89 45 ec                mov    %eax,-0x14(%ebp)
6885 400065ee:       eb 29                   jmp    40006619 <lidxbyfh+0x4b>
6886 400065f0:       83 45 fc 01             addl   $0x1,-0x4(%ebp)
6887 400065f4:       8b 45 fc                mov    -0x4(%ebp),%eax
6888 400065f7:       8b 15 74 42 01 40       mov    0x40014274,%edx
6889 400065fd:       89 44 24 04             mov    %eax,0x4(%esp)
6890 40006601:       89 14 24                mov    %edx,(%esp)
6891 40006604:       e8 a2 96 00 00          call   4000fcab <llist_get>
6892 40006609:       89 45 f8                mov    %eax,-0x8(%ebp)
6893 4000660c:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
6894 40006610:       75 cb                   jne    400065dd <lidxbyfh+0xf>
6895 40006612:       c7 45 ec ff ff ff ff    movl   $0xffffffff,-0x14(%ebp)
6896 40006619:       8b 45 ec                mov    -0x14(%ebp),%eax
6897 4000661c:       c9                      leave  
6898 4000661d:       c3                      ret    
6900 4000661e <getabsolutepath>:
6901 4000661e:       55                      push   %ebp
6902 4000661f:       89 e5                   mov    %esp,%ebp
6903 40006621:       83 ec 18                sub    $0x18,%esp
6904 40006624:       8b 45 08                mov    0x8(%ebp),%eax
6905 40006627:       89 04 24                mov    %eax,(%esp)
6906 4000662a:       e8 e5 9d 00 00          call   40010414 <path_parse>
6907 4000662f:       89 45 f8                mov    %eax,-0x8(%ebp)
6908 40006632:       8b 45 f8                mov    -0x8(%ebp),%eax
6909 40006635:       8b 40 0c                mov    0xc(%eax),%eax
6910 40006638:       85 c0                   test   %eax,%eax
6911 4000663a:       75 29                   jne    40006665 <getabsolutepath+0x47>
6912 4000663c:       8b 15 88 42 01 40       mov    0x40014288,%edx
6913 40006642:       8b 45 f8                mov    -0x8(%ebp),%eax
6914 40006645:       89 44 24 04             mov    %eax,0x4(%esp)
6915 40006649:       89 14 24                mov    %edx,(%esp)
6916 4000664c:       e8 8c a3 00 00          call   400109dd <path_cat>
6917 40006651:       89 45 fc                mov    %eax,-0x4(%ebp)
6918 40006654:       8b 45 f8                mov    -0x8(%ebp),%eax
6919 40006657:       89 04 24                mov    %eax,(%esp)
6920 4000665a:       e8 da 9e 00 00          call   40010539 <path_destroy>
6921 4000665f:       8b 45 fc                mov    -0x4(%ebp),%eax
6922 40006662:       89 45 f8                mov    %eax,-0x8(%ebp)
6923 40006665:       8b 45 f8                mov    -0x8(%ebp),%eax
6924 40006668:       89 04 24                mov    %eax,(%esp)
6925 4000666b:       e8 fe 9e 00 00          call   4001056e <path_reject_dots>
6926 40006670:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
6927 40006677:       00 
6928 40006678:       8b 45 f8                mov    -0x8(%ebp),%eax
6929 4000667b:       89 04 24                mov    %eax,(%esp)
6930 4000667e:       e8 5d a0 00 00          call   400106e0 <path_output>
6931 40006683:       c9                      leave  
6932 40006684:       c3                      ret    
6934 40006685 <_create_unnamed_pipe>:
6935 40006685:       55                      push   %ebp
6936 40006686:       89 e5                   mov    %esp,%ebp
6937 40006688:       83 ec 28                sub    $0x28,%esp
6938 4000668b:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
6939 40006692:       00 
6940 40006693:       c7 44 24 04 00 20 00    movl   $0x2000,0x4(%esp)
6941 4000669a:       00 
6942 4000669b:       c7 04 24 00 00 00 00    movl   $0x0,(%esp)
6943 400066a2:       e8 71 6b 00 00          call   4000d218 <shmget>
6944 400066a7:       89 45 f4                mov    %eax,-0xc(%ebp)
6945 400066aa:       83 7d f4 ff             cmpl   $0xffffffff,-0xc(%ebp)
6946 400066ae:       0f 84 0c 01 00 00       je     400067c0 <_create_unnamed_pipe+0x13b>
6947 400066b4:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
6948 400066bb:       00 
6949 400066bc:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
6950 400066c3:       00 
6951 400066c4:       8b 45 f4                mov    -0xc(%ebp),%eax
6952 400066c7:       89 04 24                mov    %eax,(%esp)
6953 400066ca:       e8 05 6c 00 00          call   4000d2d4 <shmat>
6954 400066cf:       89 45 f8                mov    %eax,-0x8(%ebp)
6955 400066d2:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
6956 400066d6:       0f 84 c9 00 00 00       je     400067a5 <_create_unnamed_pipe+0x120>
6957 400066dc:       c7 04 24 28 00 00 00    movl   $0x28,(%esp)
6958 400066e3:       e8 bc 56 00 00          call   4000bda4 <malloc>
6959 400066e8:       89 45 fc                mov    %eax,-0x4(%ebp)
6960 400066eb:       c7 44 24 08 28 00 00    movl   $0x28,0x8(%esp)
6961 400066f2:       00 
6962 400066f3:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
6963 400066fa:       00 
6964 400066fb:       8b 45 fc                mov    -0x4(%ebp),%eax
6965 400066fe:       89 04 24                mov    %eax,(%esp)
6966 40006701:       e8 d7 8b 00 00          call   4000f2dd <memset>
6967 40006706:       8b 15 7c 42 01 40       mov    0x4001427c,%edx
6968 4000670c:       8b 45 fc                mov    -0x4(%ebp),%eax
6969 4000670f:       89 50 14                mov    %edx,0x14(%eax)
6970 40006712:       8d 42 01                lea    0x1(%edx),%eax
6971 40006715:       a3 7c 42 01 40          mov    %eax,0x4001427c
6972 4000671a:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
6973 4000671e:       74 09                   je     40006729 <_create_unnamed_pipe+0xa4>
6974 40006720:       c7 45 e8 01 00 00 00    movl   $0x1,-0x18(%ebp)
6975 40006727:       eb 07                   jmp    40006730 <_create_unnamed_pipe+0xab>
6976 40006729:       c7 45 e8 02 00 00 00    movl   $0x2,-0x18(%ebp)
6977 40006730:       8b 45 fc                mov    -0x4(%ebp),%eax
6978 40006733:       8b 55 e8                mov    -0x18(%ebp),%edx
6979 40006736:       89 50 10                mov    %edx,0x10(%eax)
6980 40006739:       8b 55 fc                mov    -0x4(%ebp),%edx
6981 4000673c:       8b 45 f4                mov    -0xc(%ebp),%eax
6982 4000673f:       89 42 1c                mov    %eax,0x1c(%edx)
6983 40006742:       8b 55 fc                mov    -0x4(%ebp),%edx
6984 40006745:       8b 45 f8                mov    -0x8(%ebp),%eax
6985 40006748:       89 42 20                mov    %eax,0x20(%edx)
6986 4000674b:       8b 55 08                mov    0x8(%ebp),%edx
6987 4000674e:       8b 45 f8                mov    -0x8(%ebp),%eax
6988 40006751:       89 10                   mov    %edx,(%eax)
6989 40006753:       8b 45 f8                mov    -0x8(%ebp),%eax
6990 40006756:       83 c0 04                add    $0x4,%eax
6991 40006759:       c7 00 00 00 00 00       movl   $0x0,(%eax)
6992 4000675f:       8b 45 f8                mov    -0x8(%ebp),%eax
6993 40006762:       83 c0 08                add    $0x8,%eax
6994 40006765:       c7 00 00 00 00 00       movl   $0x0,(%eax)
6995 4000676b:       8b 45 f8                mov    -0x8(%ebp),%eax
6996 4000676e:       83 c0 0c                add    $0xc,%eax
6997 40006771:       c7 00 00 00 00 00       movl   $0x0,(%eax)
6998 40006777:       8b 15 74 42 01 40       mov    0x40014274,%edx
6999 4000677d:       8b 45 fc                mov    -0x4(%ebp),%eax
7000 40006780:       89 44 24 04             mov    %eax,0x4(%esp)
7001 40006784:       89 14 24                mov    %edx,(%esp)
7002 40006787:       e8 e7 93 00 00          call   4000fb73 <llist_push>
7003 4000678c:       83 7d 0c 00             cmpl   $0x0,0xc(%ebp)
7004 40006790:       74 08                   je     4000679a <_create_unnamed_pipe+0x115>
7005 40006792:       8b 55 0c                mov    0xc(%ebp),%edx
7006 40006795:       8b 45 f4                mov    -0xc(%ebp),%eax
7007 40006798:       89 02                   mov    %eax,(%edx)
7008 4000679a:       8b 45 fc                mov    -0x4(%ebp),%eax
7009 4000679d:       8b 40 14                mov    0x14(%eax),%eax
7010 400067a0:       89 45 ec                mov    %eax,-0x14(%ebp)
7011 400067a3:       eb 22                   jmp    400067c7 <_create_unnamed_pipe+0x142>
7012 400067a5:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
7013 400067ac:       00 
7014 400067ad:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
7015 400067b4:       00 
7016 400067b5:       8b 45 f4                mov    -0xc(%ebp),%eax
7017 400067b8:       89 04 24                mov    %eax,(%esp)
7018 400067bb:       e8 07 6c 00 00          call   4000d3c7 <shmctl>
7019 400067c0:       c7 45 ec ff ff ff ff    movl   $0xffffffff,-0x14(%ebp)
7020 400067c7:       8b 45 ec                mov    -0x14(%ebp),%eax
7021 400067ca:       c9                      leave  
7022 400067cb:       c3                      ret    
7024 400067cc <_destroy_unnamed_pipe>:
7025 400067cc:       55                      push   %ebp
7026 400067cd:       89 e5                   mov    %esp,%ebp
7027 400067cf:       83 ec 28                sub    $0x28,%esp
7028 400067d2:       8b 45 08                mov    0x8(%ebp),%eax
7029 400067d5:       89 04 24                mov    %eax,(%esp)
7030 400067d8:       e8 f1 fd ff ff          call   400065ce <lidxbyfh>
7031 400067dd:       8b 15 74 42 01 40       mov    0x40014274,%edx
7032 400067e3:       89 44 24 04             mov    %eax,0x4(%esp)
7033 400067e7:       89 14 24                mov    %edx,(%esp)
7034 400067ea:       e8 bc 94 00 00          call   4000fcab <llist_get>
7035 400067ef:       89 45 fc                mov    %eax,-0x4(%ebp)
7036 400067f2:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
7037 400067f6:       74 66                   je     4000685e <_destroy_unnamed_pipe+0x92>
7038 400067f8:       8b 45 fc                mov    -0x4(%ebp),%eax
7039 400067fb:       8b 00                   mov    (%eax),%eax
7040 400067fd:       85 c0                   test   %eax,%eax
7041 400067ff:       75 5d                   jne    4000685e <_destroy_unnamed_pipe+0x92>
7042 40006801:       8b 45 fc                mov    -0x4(%ebp),%eax
7043 40006804:       8b 40 20                mov    0x20(%eax),%eax
7044 40006807:       89 04 24                mov    %eax,(%esp)
7045 4000680a:       e8 48 6b 00 00          call   4000d357 <shmdt>
7046 4000680f:       8b 45 fc                mov    -0x4(%ebp),%eax
7047 40006812:       8b 40 1c                mov    0x1c(%eax),%eax
7048 40006815:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
7049 4000681c:       00 
7050 4000681d:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
7051 40006824:       00 
7052 40006825:       89 04 24                mov    %eax,(%esp)
7053 40006828:       e8 9a 6b 00 00          call   4000d3c7 <shmctl>
7054 4000682d:       8b 45 08                mov    0x8(%ebp),%eax
7055 40006830:       89 04 24                mov    %eax,(%esp)
7056 40006833:       e8 96 fd ff ff          call   400065ce <lidxbyfh>
7057 40006838:       8b 15 74 42 01 40       mov    0x40014274,%edx
7058 4000683e:       89 44 24 04             mov    %eax,0x4(%esp)
7059 40006842:       89 14 24                mov    %edx,(%esp)
7060 40006845:       e8 33 95 00 00          call   4000fd7d <llist_remove>
7061 4000684a:       8b 45 fc                mov    -0x4(%ebp),%eax
7062 4000684d:       89 04 24                mov    %eax,(%esp)
7063 40006850:       e8 06 5a 00 00          call   4000c25b <free>
7064 40006855:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
7065 4000685c:       eb 11                   jmp    4000686f <_destroy_unnamed_pipe+0xa3>
7066 4000685e:       c7 05 54 59 01 40 08    movl   $0x8,0x40015954
7067 40006865:       00 00 00 
7068 40006868:       c7 45 ec ff ff ff ff    movl   $0xffffffff,-0x14(%ebp)
7069 4000686f:       8b 45 ec                mov    -0x14(%ebp),%eax
7070 40006872:       c9                      leave  
7071 40006873:       c3                      ret    
7073 40006874 <_open_unnamed_pipe>:
7074 40006874:       55                      push   %ebp
7075 40006875:       89 e5                   mov    %esp,%ebp
7076 40006877:       83 ec 28                sub    $0x28,%esp
7077 4000687a:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
7078 40006881:       00 
7079 40006882:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
7080 40006889:       00 
7081 4000688a:       8b 45 0c                mov    0xc(%ebp),%eax
7082 4000688d:       89 04 24                mov    %eax,(%esp)
7083 40006890:       e8 3f 6a 00 00          call   4000d2d4 <shmat>
7084 40006895:       89 45 f8                mov    %eax,-0x8(%ebp)
7085 40006898:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
7086 4000689c:       0f 84 9a 00 00 00       je     4000693c <_open_unnamed_pipe+0xc8>
7087 400068a2:       83 7d 08 ff             cmpl   $0xffffffff,0x8(%ebp)
7088 400068a6:       75 10                   jne    400068b8 <_open_unnamed_pipe+0x44>
7089 400068a8:       a1 7c 42 01 40          mov    0x4001427c,%eax
7090 400068ad:       89 45 08                mov    %eax,0x8(%ebp)
7091 400068b0:       83 c0 01                add    $0x1,%eax
7092 400068b3:       a3 7c 42 01 40          mov    %eax,0x4001427c
7093 400068b8:       c7 04 24 28 00 00 00    movl   $0x28,(%esp)
7094 400068bf:       e8 e0 54 00 00          call   4000bda4 <malloc>
7095 400068c4:       89 45 fc                mov    %eax,-0x4(%ebp)
7096 400068c7:       c7 44 24 08 28 00 00    movl   $0x28,0x8(%esp)
7097 400068ce:       00 
7098 400068cf:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
7099 400068d6:       00 
7100 400068d7:       8b 45 fc                mov    -0x4(%ebp),%eax
7101 400068da:       89 04 24                mov    %eax,(%esp)
7102 400068dd:       e8 fb 89 00 00          call   4000f2dd <memset>
7103 400068e2:       8b 55 fc                mov    -0x4(%ebp),%edx
7104 400068e5:       8b 45 08                mov    0x8(%ebp),%eax
7105 400068e8:       89 42 14                mov    %eax,0x14(%edx)
7106 400068eb:       8b 45 f8                mov    -0x8(%ebp),%eax
7107 400068ee:       8b 00                   mov    (%eax),%eax
7108 400068f0:       85 c0                   test   %eax,%eax
7109 400068f2:       74 09                   je     400068fd <_open_unnamed_pipe+0x89>
7110 400068f4:       c7 45 e8 02 00 00 00    movl   $0x2,-0x18(%ebp)
7111 400068fb:       eb 07                   jmp    40006904 <_open_unnamed_pipe+0x90>
7112 400068fd:       c7 45 e8 01 00 00 00    movl   $0x1,-0x18(%ebp)
7113 40006904:       8b 45 fc                mov    -0x4(%ebp),%eax
7114 40006907:       8b 55 e8                mov    -0x18(%ebp),%edx
7115 4000690a:       89 50 10                mov    %edx,0x10(%eax)
7116 4000690d:       8b 55 fc                mov    -0x4(%ebp),%edx
7117 40006910:       8b 45 0c                mov    0xc(%ebp),%eax
7118 40006913:       89 42 1c                mov    %eax,0x1c(%edx)
7119 40006916:       8b 55 fc                mov    -0x4(%ebp),%edx
7120 40006919:       8b 45 f8                mov    -0x8(%ebp),%eax
7121 4000691c:       89 42 20                mov    %eax,0x20(%edx)
7122 4000691f:       8b 15 74 42 01 40       mov    0x40014274,%edx
7123 40006925:       8b 45 fc                mov    -0x4(%ebp),%eax
7124 40006928:       89 44 24 04             mov    %eax,0x4(%esp)
7125 4000692c:       89 14 24                mov    %edx,(%esp)
7126 4000692f:       e8 3f 92 00 00          call   4000fb73 <llist_push>
7127 40006934:       8b 45 08                mov    0x8(%ebp),%eax
7128 40006937:       89 45 ec                mov    %eax,-0x14(%ebp)
7129 4000693a:       eb 07                   jmp    40006943 <_open_unnamed_pipe+0xcf>
7130 4000693c:       c7 45 ec ff ff ff ff    movl   $0xffffffff,-0x14(%ebp)
7131 40006943:       8b 45 ec                mov    -0x14(%ebp),%eax
7132 40006946:       c9                      leave  
7133 40006947:       c3                      ret    
7135 40006948 <_close_unnamed_pipe>:
7136 40006948:       55                      push   %ebp
7137 40006949:       89 e5                   mov    %esp,%ebp
7138 4000694b:       83 ec 28                sub    $0x28,%esp
7139 4000694e:       8b 45 08                mov    0x8(%ebp),%eax
7140 40006951:       89 04 24                mov    %eax,(%esp)
7141 40006954:       e8 75 fc ff ff          call   400065ce <lidxbyfh>
7142 40006959:       8b 15 74 42 01 40       mov    0x40014274,%edx
7143 4000695f:       89 44 24 04             mov    %eax,0x4(%esp)
7144 40006963:       89 14 24                mov    %edx,(%esp)
7145 40006966:       e8 40 93 00 00          call   4000fcab <llist_get>
7146 4000696b:       89 45 fc                mov    %eax,-0x4(%ebp)
7147 4000696e:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
7148 40006972:       74 48                   je     400069bc <_close_unnamed_pipe+0x74>
7149 40006974:       8b 45 fc                mov    -0x4(%ebp),%eax
7150 40006977:       8b 00                   mov    (%eax),%eax
7151 40006979:       85 c0                   test   %eax,%eax
7152 4000697b:       75 3f                   jne    400069bc <_close_unnamed_pipe+0x74>
7153 4000697d:       8b 45 fc                mov    -0x4(%ebp),%eax
7154 40006980:       8b 40 20                mov    0x20(%eax),%eax
7155 40006983:       89 04 24                mov    %eax,(%esp)
7156 40006986:       e8 cc 69 00 00          call   4000d357 <shmdt>
7157 4000698b:       8b 45 08                mov    0x8(%ebp),%eax
7158 4000698e:       89 04 24                mov    %eax,(%esp)
7159 40006991:       e8 38 fc ff ff          call   400065ce <lidxbyfh>
7160 40006996:       8b 15 74 42 01 40       mov    0x40014274,%edx
7161 4000699c:       89 44 24 04             mov    %eax,0x4(%esp)
7162 400069a0:       89 14 24                mov    %edx,(%esp)
7163 400069a3:       e8 d5 93 00 00          call   4000fd7d <llist_remove>
7164 400069a8:       8b 45 fc                mov    -0x4(%ebp),%eax
7165 400069ab:       89 04 24                mov    %eax,(%esp)
7166 400069ae:       e8 a8 58 00 00          call   4000c25b <free>
7167 400069b3:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
7168 400069ba:       eb 11                   jmp    400069cd <_close_unnamed_pipe+0x85>
7169 400069bc:       c7 05 54 59 01 40 08    movl   $0x8,0x40015954
7170 400069c3:       00 00 00 
7171 400069c6:       c7 45 ec ff ff ff ff    movl   $0xffffffff,-0x14(%ebp)
7172 400069cd:       8b 45 ec                mov    -0x14(%ebp),%eax
7173 400069d0:       c9                      leave  
7174 400069d1:       c3                      ret    
7176 400069d2 <_read_unnamed_pipe>:
7177 400069d2:       55                      push   %ebp
7178 400069d3:       89 e5                   mov    %esp,%ebp
7179 400069d5:       83 ec 38                sub    $0x38,%esp
7180 400069d8:       8b 45 08                mov    0x8(%ebp),%eax
7181 400069db:       89 04 24                mov    %eax,(%esp)
7182 400069de:       e8 eb fb ff ff          call   400065ce <lidxbyfh>
7183 400069e3:       8b 15 74 42 01 40       mov    0x40014274,%edx
7184 400069e9:       89 44 24 04             mov    %eax,0x4(%esp)
7185 400069ed:       89 14 24                mov    %edx,(%esp)
7186 400069f0:       e8 b6 92 00 00          call   4000fcab <llist_get>
7187 400069f5:       89 45 e0                mov    %eax,-0x20(%ebp)
7188 400069f8:       c7 45 e4 ff ff ff ff    movl   $0xffffffff,-0x1c(%ebp)
7189 400069ff:       83 7d e0 00             cmpl   $0x0,-0x20(%ebp)
7190 40006a03:       0f 84 55 01 00 00       je     40006b5e <_read_unnamed_pipe+0x18c>
7191 40006a09:       8b 45 e0                mov    -0x20(%ebp),%eax
7192 40006a0c:       8b 00                   mov    (%eax),%eax
7193 40006a0e:       85 c0                   test   %eax,%eax
7194 40006a10:       0f 85 48 01 00 00       jne    40006b5e <_read_unnamed_pipe+0x18c>
7195 40006a16:       8b 45 e0                mov    -0x20(%ebp),%eax
7196 40006a19:       8b 40 10                mov    0x10(%eax),%eax
7197 40006a1c:       83 f8 01                cmp    $0x1,%eax
7198 40006a1f:       0f 85 39 01 00 00       jne    40006b5e <_read_unnamed_pipe+0x18c>
7199 40006a25:       8b 45 e0                mov    -0x20(%ebp),%eax
7200 40006a28:       8b 40 20                mov    0x20(%eax),%eax
7201 40006a2b:       83 c0 08                add    $0x8,%eax
7202 40006a2e:       89 45 e8                mov    %eax,-0x18(%ebp)
7203 40006a31:       8b 45 e0                mov    -0x20(%ebp),%eax
7204 40006a34:       8b 40 20                mov    0x20(%eax),%eax
7205 40006a37:       83 c0 0c                add    $0xc,%eax
7206 40006a3a:       89 45 ec                mov    %eax,-0x14(%ebp)
7207 40006a3d:       8b 45 e0                mov    -0x20(%ebp),%eax
7208 40006a40:       8b 40 20                mov    0x20(%eax),%eax
7209 40006a43:       83 c0 10                add    $0x10,%eax
7210 40006a46:       89 45 f0                mov    %eax,-0x10(%ebp)
7211 40006a49:       8b 45 ec                mov    -0x14(%ebp),%eax
7212 40006a4c:       8b 10                   mov    (%eax),%edx
7213 40006a4e:       8b 45 e8                mov    -0x18(%ebp),%eax
7214 40006a51:       8b 00                   mov    (%eax),%eax
7215 40006a53:       39 c2                   cmp    %eax,%edx
7216 40006a55:       72 13                   jb     40006a6a <_read_unnamed_pipe+0x98>
7217 40006a57:       8b 45 ec                mov    -0x14(%ebp),%eax
7218 40006a5a:       8b 10                   mov    (%eax),%edx
7219 40006a5c:       8b 45 e8                mov    -0x18(%ebp),%eax
7220 40006a5f:       8b 00                   mov    (%eax),%eax
7221 40006a61:       89 d1                   mov    %edx,%ecx
7222 40006a63:       29 c1                   sub    %eax,%ecx
7223 40006a65:       89 4d d8                mov    %ecx,-0x28(%ebp)
7224 40006a68:       eb 18                   jmp    40006a82 <_read_unnamed_pipe+0xb0>
7225 40006a6a:       8b 45 ec                mov    -0x14(%ebp),%eax
7226 40006a6d:       8b 10                   mov    (%eax),%edx
7227 40006a6f:       8b 45 e8                mov    -0x18(%ebp),%eax
7228 40006a72:       8b 00                   mov    (%eax),%eax
7229 40006a74:       89 d1                   mov    %edx,%ecx
7230 40006a76:       29 c1                   sub    %eax,%ecx
7231 40006a78:       89 c8                   mov    %ecx,%eax
7232 40006a7a:       05 f0 1f 00 00          add    $0x1ff0,%eax
7233 40006a7f:       89 45 d8                mov    %eax,-0x28(%ebp)
7234 40006a82:       8b 45 d8                mov    -0x28(%ebp),%eax
7235 40006a85:       89 45 f4                mov    %eax,-0xc(%ebp)
7236 40006a88:       8b 45 10                mov    0x10(%ebp),%eax
7237 40006a8b:       3b 45 f4                cmp    -0xc(%ebp),%eax
7238 40006a8e:       76 06                   jbe    40006a96 <_read_unnamed_pipe+0xc4>
7239 40006a90:       8b 45 f4                mov    -0xc(%ebp),%eax
7240 40006a93:       89 45 10                mov    %eax,0x10(%ebp)
7241 40006a96:       8b 45 ec                mov    -0x14(%ebp),%eax
7242 40006a99:       8b 10                   mov    (%eax),%edx
7243 40006a9b:       8b 45 e8                mov    -0x18(%ebp),%eax
7244 40006a9e:       8b 00                   mov    (%eax),%eax
7245 40006aa0:       39 c2                   cmp    %eax,%edx
7246 40006aa2:       72 1b                   jb     40006abf <_read_unnamed_pipe+0xed>
7247 40006aa4:       8b 45 10                mov    0x10(%ebp),%eax
7248 40006aa7:       89 44 24 08             mov    %eax,0x8(%esp)
7249 40006aab:       8b 45 f0                mov    -0x10(%ebp),%eax
7250 40006aae:       89 44 24 04             mov    %eax,0x4(%esp)
7251 40006ab2:       8b 45 0c                mov    0xc(%ebp),%eax
7252 40006ab5:       89 04 24                mov    %eax,(%esp)
7253 40006ab8:       e8 43 86 00 00          call   4000f100 <memcpy>
7254 40006abd:       eb 56                   jmp    40006b15 <_read_unnamed_pipe+0x143>
7255 40006abf:       8b 45 e8                mov    -0x18(%ebp),%eax
7256 40006ac2:       8b 10                   mov    (%eax),%edx
7257 40006ac4:       b8 f0 1f 00 00          mov    $0x1ff0,%eax
7258 40006ac9:       29 d0                   sub    %edx,%eax
7259 40006acb:       89 45 f8                mov    %eax,-0x8(%ebp)
7260 40006ace:       8b 45 ec                mov    -0x14(%ebp),%eax
7261 40006ad1:       8b 00                   mov    (%eax),%eax
7262 40006ad3:       89 45 fc                mov    %eax,-0x4(%ebp)
7263 40006ad6:       8b 45 e8                mov    -0x18(%ebp),%eax
7264 40006ad9:       8b 00                   mov    (%eax),%eax
7265 40006adb:       89 c2                   mov    %eax,%edx
7266 40006add:       03 55 f0                add    -0x10(%ebp),%edx
7267 40006ae0:       8b 45 f8                mov    -0x8(%ebp),%eax
7268 40006ae3:       89 44 24 08             mov    %eax,0x8(%esp)
7269 40006ae7:       89 54 24 04             mov    %edx,0x4(%esp)
7270 40006aeb:       8b 45 0c                mov    0xc(%ebp),%eax
7271 40006aee:       89 04 24                mov    %eax,(%esp)
7272 40006af1:       e8 0a 86 00 00          call   4000f100 <memcpy>
7273 40006af6:       8b 55 f8                mov    -0x8(%ebp),%edx
7274 40006af9:       8b 45 0c                mov    0xc(%ebp),%eax
7275 40006afc:       8d 14 10                lea    (%eax,%edx,1),%edx
7276 40006aff:       8b 45 fc                mov    -0x4(%ebp),%eax
7277 40006b02:       89 44 24 08             mov    %eax,0x8(%esp)
7278 40006b06:       8b 45 f0                mov    -0x10(%ebp),%eax
7279 40006b09:       89 44 24 04             mov    %eax,0x4(%esp)
7280 40006b0d:       89 14 24                mov    %edx,(%esp)
7281 40006b10:       e8 eb 85 00 00          call   4000f100 <memcpy>
7282 40006b15:       8b 45 e8                mov    -0x18(%ebp),%eax
7283 40006b18:       8b 00                   mov    (%eax),%eax
7284 40006b1a:       89 c1                   mov    %eax,%ecx
7285 40006b1c:       03 4d 10                add    0x10(%ebp),%ecx
7286 40006b1f:       89 ca                   mov    %ecx,%edx
7287 40006b21:       c1 ea 04                shr    $0x4,%edx
7288 40006b24:       c7 45 d4 03 04 08 10    movl   $0x10080403,-0x2c(%ebp)
7289 40006b2b:       8b 45 d4                mov    -0x2c(%ebp),%eax
7290 40006b2e:       f7 e2                   mul    %edx
7291 40006b30:       89 d0                   mov    %edx,%eax
7292 40006b32:       c1 e8 05                shr    $0x5,%eax
7293 40006b35:       89 45 dc                mov    %eax,-0x24(%ebp)
7294 40006b38:       8b 45 dc                mov    -0x24(%ebp),%eax
7295 40006b3b:       89 c2                   mov    %eax,%edx
7296 40006b3d:       c1 e2 04                shl    $0x4,%edx
7297 40006b40:       89 d0                   mov    %edx,%eax
7298 40006b42:       c1 e0 09                shl    $0x9,%eax
7299 40006b45:       29 d0                   sub    %edx,%eax
7300 40006b47:       89 ca                   mov    %ecx,%edx
7301 40006b49:       29 c2                   sub    %eax,%edx
7302 40006b4b:       89 55 dc                mov    %edx,-0x24(%ebp)
7303 40006b4e:       8b 45 e8                mov    -0x18(%ebp),%eax
7304 40006b51:       8b 4d dc                mov    -0x24(%ebp),%ecx
7305 40006b54:       89 08                   mov    %ecx,(%eax)
7306 40006b56:       8b 45 10                mov    0x10(%ebp),%eax
7307 40006b59:       89 45 e4                mov    %eax,-0x1c(%ebp)
7308 40006b5c:       eb 0a                   jmp    40006b68 <_read_unnamed_pipe+0x196>
7309 40006b5e:       c7 05 54 59 01 40 08    movl   $0x8,0x40015954
7310 40006b65:       00 00 00 
7311 40006b68:       8b 45 e4                mov    -0x1c(%ebp),%eax
7312 40006b6b:       c9                      leave  
7313 40006b6c:       c3                      ret    
7315 40006b6d <_write_unnamed_pipe>:
7316 40006b6d:       55                      push   %ebp
7317 40006b6e:       89 e5                   mov    %esp,%ebp
7318 40006b70:       83 ec 38                sub    $0x38,%esp
7319 40006b73:       8b 45 08                mov    0x8(%ebp),%eax
7320 40006b76:       89 04 24                mov    %eax,(%esp)
7321 40006b79:       e8 50 fa ff ff          call   400065ce <lidxbyfh>
7322 40006b7e:       8b 15 74 42 01 40       mov    0x40014274,%edx
7323 40006b84:       89 44 24 04             mov    %eax,0x4(%esp)
7324 40006b88:       89 14 24                mov    %edx,(%esp)
7325 40006b8b:       e8 1b 91 00 00          call   4000fcab <llist_get>
7326 40006b90:       89 45 e0                mov    %eax,-0x20(%ebp)
7327 40006b93:       c7 45 e4 ff ff ff ff    movl   $0xffffffff,-0x1c(%ebp)
7328 40006b9a:       83 7d e0 00             cmpl   $0x0,-0x20(%ebp)
7329 40006b9e:       0f 84 55 01 00 00       je     40006cf9 <_write_unnamed_pipe+0x18c>
7330 40006ba4:       8b 45 e0                mov    -0x20(%ebp),%eax
7331 40006ba7:       8b 00                   mov    (%eax),%eax
7332 40006ba9:       85 c0                   test   %eax,%eax
7333 40006bab:       0f 85 48 01 00 00       jne    40006cf9 <_write_unnamed_pipe+0x18c>
7334 40006bb1:       8b 45 e0                mov    -0x20(%ebp),%eax
7335 40006bb4:       8b 40 10                mov    0x10(%eax),%eax
7336 40006bb7:       83 f8 02                cmp    $0x2,%eax
7337 40006bba:       0f 85 39 01 00 00       jne    40006cf9 <_write_unnamed_pipe+0x18c>
7338 40006bc0:       8b 45 e0                mov    -0x20(%ebp),%eax
7339 40006bc3:       8b 40 20                mov    0x20(%eax),%eax
7340 40006bc6:       83 c0 08                add    $0x8,%eax
7341 40006bc9:       89 45 e8                mov    %eax,-0x18(%ebp)
7342 40006bcc:       8b 45 e0                mov    -0x20(%ebp),%eax
7343 40006bcf:       8b 40 20                mov    0x20(%eax),%eax
7344 40006bd2:       83 c0 0c                add    $0xc,%eax
7345 40006bd5:       89 45 ec                mov    %eax,-0x14(%ebp)
7346 40006bd8:       8b 45 e0                mov    -0x20(%ebp),%eax
7347 40006bdb:       8b 40 20                mov    0x20(%eax),%eax
7348 40006bde:       83 c0 10                add    $0x10,%eax
7349 40006be1:       89 45 f0                mov    %eax,-0x10(%ebp)
7350 40006be4:       8b 45 e8                mov    -0x18(%ebp),%eax
7351 40006be7:       8b 10                   mov    (%eax),%edx
7352 40006be9:       8b 45 ec                mov    -0x14(%ebp),%eax
7353 40006bec:       8b 00                   mov    (%eax),%eax
7354 40006bee:       39 c2                   cmp    %eax,%edx
7355 40006bf0:       76 13                   jbe    40006c05 <_write_unnamed_pipe+0x98>
7356 40006bf2:       8b 45 e8                mov    -0x18(%ebp),%eax
7357 40006bf5:       8b 10                   mov    (%eax),%edx
7358 40006bf7:       8b 45 ec                mov    -0x14(%ebp),%eax
7359 40006bfa:       8b 00                   mov    (%eax),%eax
7360 40006bfc:       89 d1                   mov    %edx,%ecx
7361 40006bfe:       29 c1                   sub    %eax,%ecx
7362 40006c00:       89 4d d8                mov    %ecx,-0x28(%ebp)
7363 40006c03:       eb 18                   jmp    40006c1d <_write_unnamed_pipe+0xb0>
7364 40006c05:       8b 45 e8                mov    -0x18(%ebp),%eax
7365 40006c08:       8b 10                   mov    (%eax),%edx
7366 40006c0a:       8b 45 ec                mov    -0x14(%ebp),%eax
7367 40006c0d:       8b 00                   mov    (%eax),%eax
7368 40006c0f:       89 d1                   mov    %edx,%ecx
7369 40006c11:       29 c1                   sub    %eax,%ecx
7370 40006c13:       89 c8                   mov    %ecx,%eax
7371 40006c15:       05 f0 1f 00 00          add    $0x1ff0,%eax
7372 40006c1a:       89 45 d8                mov    %eax,-0x28(%ebp)
7373 40006c1d:       8b 45 d8                mov    -0x28(%ebp),%eax
7374 40006c20:       89 45 f4                mov    %eax,-0xc(%ebp)
7375 40006c23:       8b 45 10                mov    0x10(%ebp),%eax
7376 40006c26:       3b 45 f4                cmp    -0xc(%ebp),%eax
7377 40006c29:       76 06                   jbe    40006c31 <_write_unnamed_pipe+0xc4>
7378 40006c2b:       8b 45 f4                mov    -0xc(%ebp),%eax
7379 40006c2e:       89 45 10                mov    %eax,0x10(%ebp)
7380 40006c31:       8b 45 e8                mov    -0x18(%ebp),%eax
7381 40006c34:       8b 10                   mov    (%eax),%edx
7382 40006c36:       8b 45 ec                mov    -0x14(%ebp),%eax
7383 40006c39:       8b 00                   mov    (%eax),%eax
7384 40006c3b:       39 c2                   cmp    %eax,%edx
7385 40006c3d:       72 1b                   jb     40006c5a <_write_unnamed_pipe+0xed>
7386 40006c3f:       8b 45 10                mov    0x10(%ebp),%eax
7387 40006c42:       89 44 24 08             mov    %eax,0x8(%esp)
7388 40006c46:       8b 45 0c                mov    0xc(%ebp),%eax
7389 40006c49:       89 44 24 04             mov    %eax,0x4(%esp)
7390 40006c4d:       8b 45 f0                mov    -0x10(%ebp),%eax
7391 40006c50:       89 04 24                mov    %eax,(%esp)
7392 40006c53:       e8 a8 84 00 00          call   4000f100 <memcpy>
7393 40006c58:       eb 56                   jmp    40006cb0 <_write_unnamed_pipe+0x143>
7394 40006c5a:       8b 45 ec                mov    -0x14(%ebp),%eax
7395 40006c5d:       8b 10                   mov    (%eax),%edx
7396 40006c5f:       b8 f0 1f 00 00          mov    $0x1ff0,%eax
7397 40006c64:       29 d0                   sub    %edx,%eax
7398 40006c66:       89 45 f8                mov    %eax,-0x8(%ebp)
7399 40006c69:       8b 45 e8                mov    -0x18(%ebp),%eax
7400 40006c6c:       8b 00                   mov    (%eax),%eax
7401 40006c6e:       89 45 fc                mov    %eax,-0x4(%ebp)
7402 40006c71:       8b 45 ec                mov    -0x14(%ebp),%eax
7403 40006c74:       8b 00                   mov    (%eax),%eax
7404 40006c76:       89 c2                   mov    %eax,%edx
7405 40006c78:       03 55 f0                add    -0x10(%ebp),%edx
7406 40006c7b:       8b 45 f8                mov    -0x8(%ebp),%eax
7407 40006c7e:       89 44 24 08             mov    %eax,0x8(%esp)
7408 40006c82:       8b 45 0c                mov    0xc(%ebp),%eax
7409 40006c85:       89 44 24 04             mov    %eax,0x4(%esp)
7410 40006c89:       89 14 24                mov    %edx,(%esp)
7411 40006c8c:       e8 6f 84 00 00          call   4000f100 <memcpy>
7412 40006c91:       8b 55 f8                mov    -0x8(%ebp),%edx
7413 40006c94:       8b 45 0c                mov    0xc(%ebp),%eax
7414 40006c97:       8d 14 10                lea    (%eax,%edx,1),%edx
7415 40006c9a:       8b 45 fc                mov    -0x4(%ebp),%eax
7416 40006c9d:       89 44 24 08             mov    %eax,0x8(%esp)
7417 40006ca1:       89 54 24 04             mov    %edx,0x4(%esp)
7418 40006ca5:       8b 45 f0                mov    -0x10(%ebp),%eax
7419 40006ca8:       89 04 24                mov    %eax,(%esp)
7420 40006cab:       e8 50 84 00 00          call   4000f100 <memcpy>
7421 40006cb0:       8b 45 ec                mov    -0x14(%ebp),%eax
7422 40006cb3:       8b 00                   mov    (%eax),%eax
7423 40006cb5:       89 c1                   mov    %eax,%ecx
7424 40006cb7:       03 4d 10                add    0x10(%ebp),%ecx
7425 40006cba:       89 ca                   mov    %ecx,%edx
7426 40006cbc:       c1 ea 04                shr    $0x4,%edx
7427 40006cbf:       c7 45 d4 03 04 08 10    movl   $0x10080403,-0x2c(%ebp)
7428 40006cc6:       8b 45 d4                mov    -0x2c(%ebp),%eax
7429 40006cc9:       f7 e2                   mul    %edx
7430 40006ccb:       89 d0                   mov    %edx,%eax
7431 40006ccd:       c1 e8 05                shr    $0x5,%eax
7432 40006cd0:       89 45 dc                mov    %eax,-0x24(%ebp)
7433 40006cd3:       8b 45 dc                mov    -0x24(%ebp),%eax
7434 40006cd6:       89 c2                   mov    %eax,%edx
7435 40006cd8:       c1 e2 04                shl    $0x4,%edx
7436 40006cdb:       89 d0                   mov    %edx,%eax
7437 40006cdd:       c1 e0 09                shl    $0x9,%eax
7438 40006ce0:       29 d0                   sub    %edx,%eax
7439 40006ce2:       89 ca                   mov    %ecx,%edx
7440 40006ce4:       29 c2                   sub    %eax,%edx
7441 40006ce6:       89 55 dc                mov    %edx,-0x24(%ebp)
7442 40006ce9:       8b 45 ec                mov    -0x14(%ebp),%eax
7443 40006cec:       8b 4d dc                mov    -0x24(%ebp),%ecx
7444 40006cef:       89 08                   mov    %ecx,(%eax)
7445 40006cf1:       8b 45 10                mov    0x10(%ebp),%eax
7446 40006cf4:       89 45 e4                mov    %eax,-0x1c(%ebp)
7447 40006cf7:       eb 0a                   jmp    40006d03 <_write_unnamed_pipe+0x196>
7448 40006cf9:       c7 05 54 59 01 40 08    movl   $0x8,0x40015954
7449 40006d00:       00 00 00 
7450 40006d03:       8b 45 e4                mov    -0x1c(%ebp),%eax
7451 40006d06:       c9                      leave  
7452 40006d07:       c3                      ret    
7454 40006d08 <getcwd>:
7455 40006d08:       55                      push   %ebp
7456 40006d09:       89 e5                   mov    %esp,%ebp
7457 40006d0b:       83 ec 18                sub    $0x18,%esp
7458 40006d0e:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
7459 40006d12:       75 1b                   jne    40006d2f <getcwd+0x27>
7460 40006d14:       a1 84 42 01 40          mov    0x40014284,%eax
7461 40006d19:       83 c0 01                add    $0x1,%eax
7462 40006d1c:       89 45 0c                mov    %eax,0xc(%ebp)
7463 40006d1f:       8b 45 0c                mov    0xc(%ebp),%eax
7464 40006d22:       89 04 24                mov    %eax,(%esp)
7465 40006d25:       e8 7a 50 00 00          call   4000bda4 <malloc>
7466 40006d2a:       89 45 08                mov    %eax,0x8(%ebp)
7467 40006d2d:       eb 39                   jmp    40006d68 <getcwd+0x60>
7468 40006d2f:       83 7d 0c 00             cmpl   $0x0,0xc(%ebp)
7469 40006d33:       75 13                   jne    40006d48 <getcwd+0x40>
7470 40006d35:       c7 05 54 59 01 40 1c    movl   $0x1c,0x40015954
7471 40006d3c:       00 00 00 
7472 40006d3f:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
7473 40006d46:       eb 3f                   jmp    40006d87 <getcwd+0x7f>
7474 40006d48:       a1 84 42 01 40          mov    0x40014284,%eax
7475 40006d4d:       83 c0 01                add    $0x1,%eax
7476 40006d50:       3b 45 0c                cmp    0xc(%ebp),%eax
7477 40006d53:       76 13                   jbe    40006d68 <getcwd+0x60>
7478 40006d55:       c7 05 54 59 01 40 46    movl   $0x46,0x40015954
7479 40006d5c:       00 00 00 
7480 40006d5f:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
7481 40006d66:       eb 1f                   jmp    40006d87 <getcwd+0x7f>
7482 40006d68:       8b 15 80 42 01 40       mov    0x40014280,%edx
7483 40006d6e:       8b 45 0c                mov    0xc(%ebp),%eax
7484 40006d71:       89 44 24 08             mov    %eax,0x8(%esp)
7485 40006d75:       89 54 24 04             mov    %edx,0x4(%esp)
7486 40006d79:       8b 45 08                mov    0x8(%ebp),%eax
7487 40006d7c:       89 04 24                mov    %eax,(%esp)
7488 40006d7f:       e8 74 88 00 00          call   4000f5f8 <strncpy>
7489 40006d84:       89 45 fc                mov    %eax,-0x4(%ebp)
7490 40006d87:       8b 45 fc                mov    -0x4(%ebp),%eax
7491 40006d8a:       c9                      leave  
7492 40006d8b:       c3                      ret    
7494 40006d8c <chdir>:
7495 40006d8c:       55                      push   %ebp
7496 40006d8d:       89 e5                   mov    %esp,%ebp
7497 40006d8f:       83 ec 28                sub    $0x28,%esp
7498 40006d92:       8b 45 08                mov    0x8(%ebp),%eax
7499 40006d95:       89 04 24                mov    %eax,(%esp)
7500 40006d98:       e8 81 f8 ff ff          call   4000661e <getabsolutepath>
7501 40006d9d:       89 45 08                mov    %eax,0x8(%ebp)
7502 40006da0:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
7503 40006da4:       75 07                   jne    40006dad <chdir+0x21>
7504 40006da6:       c7 45 08 11 2f 01 40    movl   $0x40012f11,0x8(%ebp)
7505 40006dad:       8b 45 08                mov    0x8(%ebp),%eax
7506 40006db0:       89 04 24                mov    %eax,(%esp)
7507 40006db3:       e8 50 0f 00 00          call   40007d08 <opendir>
7508 40006db8:       89 45 fc                mov    %eax,-0x4(%ebp)
7509 40006dbb:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
7510 40006dbf:       0f 84 94 00 00 00       je     40006e59 <chdir+0xcd>
7511 40006dc5:       8b 45 fc                mov    -0x4(%ebp),%eax
7512 40006dc8:       89 04 24                mov    %eax,(%esp)
7513 40006dcb:       e8 11 11 00 00          call   40007ee1 <closedir>
7514 40006dd0:       a1 80 42 01 40          mov    0x40014280,%eax
7515 40006dd5:       89 04 24                mov    %eax,(%esp)
7516 40006dd8:       e8 7e 54 00 00          call   4000c25b <free>
7517 40006ddd:       a1 88 42 01 40          mov    0x40014288,%eax
7518 40006de2:       89 04 24                mov    %eax,(%esp)
7519 40006de5:       e8 4f 97 00 00          call   40010539 <path_destroy>
7520 40006dea:       8b 45 08                mov    0x8(%ebp),%eax
7521 40006ded:       89 04 24                mov    %eax,(%esp)
7522 40006df0:       e8 1f 96 00 00          call   40010414 <path_parse>
7523 40006df5:       a3 88 42 01 40          mov    %eax,0x40014288
7524 40006dfa:       a1 88 42 01 40          mov    0x40014288,%eax
7525 40006dff:       89 04 24                mov    %eax,(%esp)
7526 40006e02:       e8 67 97 00 00          call   4001056e <path_reject_dots>
7527 40006e07:       a1 88 42 01 40          mov    0x40014288,%eax
7528 40006e0c:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
7529 40006e13:       00 
7530 40006e14:       89 04 24                mov    %eax,(%esp)
7531 40006e17:       e8 c4 98 00 00          call   400106e0 <path_output>
7532 40006e1c:       a3 80 42 01 40          mov    %eax,0x40014280
7533 40006e21:       a1 80 42 01 40          mov    0x40014280,%eax
7534 40006e26:       89 04 24                mov    %eax,(%esp)
7535 40006e29:       e8 8a 86 00 00          call   4000f4b8 <strlen>
7536 40006e2e:       a3 84 42 01 40          mov    %eax,0x40014284
7537 40006e33:       a1 80 42 01 40          mov    0x40014280,%eax
7538 40006e38:       c7 44 24 08 01 00 00    movl   $0x1,0x8(%esp)
7539 40006e3f:       00 
7540 40006e40:       89 44 24 04             mov    %eax,0x4(%esp)
7541 40006e44:       c7 04 24 0c 2f 01 40    movl   $0x40012f0c,(%esp)
7542 40006e4b:       e8 d4 ab 00 00          call   40011a24 <setenv>
7543 40006e50:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
7544 40006e57:       eb 07                   jmp    40006e60 <chdir+0xd4>
7545 40006e59:       c7 45 ec ff ff ff ff    movl   $0xffffffff,-0x14(%ebp)
7546 40006e60:       8b 45 ec                mov    -0x14(%ebp),%eax
7547 40006e63:       c9                      leave  
7548 40006e64:       c3                      ret    
7550 40006e65 <fchdir>:
7551 40006e65:       55                      push   %ebp
7552 40006e66:       89 e5                   mov    %esp,%ebp
7553 40006e68:       83 ec 28                sub    $0x28,%esp
7554 40006e6b:       8b 45 08                mov    0x8(%ebp),%eax
7555 40006e6e:       89 04 24                mov    %eax,(%esp)
7556 40006e71:       e8 58 f7 ff ff          call   400065ce <lidxbyfh>
7557 40006e76:       8b 15 74 42 01 40       mov    0x40014274,%edx
7558 40006e7c:       89 44 24 04             mov    %eax,0x4(%esp)
7559 40006e80:       89 14 24                mov    %edx,(%esp)
7560 40006e83:       e8 23 8e 00 00          call   4000fcab <llist_get>
7561 40006e88:       89 45 fc                mov    %eax,-0x4(%ebp)
7562 40006e8b:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
7563 40006e8f:       74 13                   je     40006ea4 <fchdir+0x3f>
7564 40006e91:       8b 45 fc                mov    -0x4(%ebp),%eax
7565 40006e94:       8b 40 18                mov    0x18(%eax),%eax
7566 40006e97:       89 04 24                mov    %eax,(%esp)
7567 40006e9a:       e8 ed fe ff ff          call   40006d8c <chdir>
7568 40006e9f:       89 45 f8                mov    %eax,-0x8(%ebp)
7569 40006ea2:       eb 07                   jmp    40006eab <fchdir+0x46>
7570 40006ea4:       c7 45 f8 f8 ff ff ff    movl   $0xfffffff8,-0x8(%ebp)
7571 40006eab:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
7572 40006eaf:       79 0c                   jns    40006ebd <fchdir+0x58>
7573 40006eb1:       8b 45 f8                mov    -0x8(%ebp),%eax
7574 40006eb4:       89 c2                   mov    %eax,%edx
7575 40006eb6:       f7 da                   neg    %edx
7576 40006eb8:       89 55 ec                mov    %edx,-0x14(%ebp)
7577 40006ebb:       eb 07                   jmp    40006ec4 <fchdir+0x5f>
7578 40006ebd:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
7579 40006ec4:       8b 45 ec                mov    -0x14(%ebp),%eax
7580 40006ec7:       a3 54 59 01 40          mov    %eax,0x40015954
7581 40006ecc:       8b 45 f8                mov    -0x8(%ebp),%eax
7582 40006ecf:       c1 f8 1f                sar    $0x1f,%eax
7583 40006ed2:       0b 45 f8                or     -0x8(%ebp),%eax
7584 40006ed5:       c9                      leave  
7585 40006ed6:       c3                      ret    
7587 40006ed7 <mknod>:
7588 40006ed7:       55                      push   %ebp
7589 40006ed8:       89 e5                   mov    %esp,%ebp
7590 40006eda:       53                      push   %ebx
7591 40006edb:       83 ec 34                sub    $0x34,%esp
7592 40006ede:       8b 45 08                mov    0x8(%ebp),%eax
7593 40006ee1:       89 04 24                mov    %eax,(%esp)
7594 40006ee4:       e8 35 f7 ff ff          call   4000661e <getabsolutepath>
7595 40006ee9:       89 45 f4                mov    %eax,-0xc(%ebp)
7596 40006eec:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
7597 40006ef3:       00 
7598 40006ef4:       8b 45 f4                mov    -0xc(%ebp),%eax
7599 40006ef7:       89 04 24                mov    %eax,(%esp)
7600 40006efa:       e8 51 f5 ff ff          call   40006450 <fsbypath>
7601 40006eff:       89 45 f8                mov    %eax,-0x8(%ebp)
7602 40006f02:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
7603 40006f06:       74 67                   je     40006f6f <mknod+0x98>
7604 40006f08:       8b 45 f8                mov    -0x8(%ebp),%eax
7605 40006f0b:       8b 00                   mov    (%eax),%eax
7606 40006f0d:       89 44 24 08             mov    %eax,0x8(%esp)
7607 40006f11:       c7 44 24 04 2a 2f 01    movl   $0x40012f2a,0x4(%esp)
7608 40006f18:       40 
7609 40006f19:       8d 45 ec                lea    -0x14(%ebp),%eax
7610 40006f1c:       89 04 24                mov    %eax,(%esp)
7611 40006f1f:       e8 e4 f2 ff ff          call   40006208 <asprintf>
7612 40006f24:       a1 8c 42 01 40          mov    0x4001428c,%eax
7613 40006f29:       f7 d0                   not    %eax
7614 40006f2b:       89 c2                   mov    %eax,%edx
7615 40006f2d:       23 55 0c                and    0xc(%ebp),%edx
7616 40006f30:       8b 45 f8                mov    -0x8(%ebp),%eax
7617 40006f33:       8b 48 04                mov    0x4(%eax),%ecx
7618 40006f36:       8b 5d ec                mov    -0x14(%ebp),%ebx
7619 40006f39:       8b 45 10                mov    0x10(%ebp),%eax
7620 40006f3c:       89 44 24 14             mov    %eax,0x14(%esp)
7621 40006f40:       89 54 24 10             mov    %edx,0x10(%esp)
7622 40006f44:       8b 45 f4                mov    -0xc(%ebp),%eax
7623 40006f47:       89 44 24 0c             mov    %eax,0xc(%esp)
7624 40006f4b:       89 4c 24 08             mov    %ecx,0x8(%esp)
7625 40006f4f:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
7626 40006f56:       00 
7627 40006f57:       89 1c 24                mov    %ebx,(%esp)
7628 40006f5a:       e8 88 a2 00 00          call   400111e7 <rpc_call>
7629 40006f5f:       89 45 f0                mov    %eax,-0x10(%ebp)
7630 40006f62:       8b 45 ec                mov    -0x14(%ebp),%eax
7631 40006f65:       89 04 24                mov    %eax,(%esp)
7632 40006f68:       e8 ee 52 00 00          call   4000c25b <free>
7633 40006f6d:       eb 07                   jmp    40006f76 <mknod+0x9f>
7634 40006f6f:       c7 45 f0 e4 ff ff ff    movl   $0xffffffe4,-0x10(%ebp)
7635 40006f76:       8b 45 f4                mov    -0xc(%ebp),%eax
7636 40006f79:       89 04 24                mov    %eax,(%esp)
7637 40006f7c:       e8 da 52 00 00          call   4000c25b <free>
7638 40006f81:       83 7d f0 00             cmpl   $0x0,-0x10(%ebp)
7639 40006f85:       79 0c                   jns    40006f93 <mknod+0xbc>
7640 40006f87:       8b 45 f0                mov    -0x10(%ebp),%eax
7641 40006f8a:       89 c2                   mov    %eax,%edx
7642 40006f8c:       f7 da                   neg    %edx
7643 40006f8e:       89 55 e8                mov    %edx,-0x18(%ebp)
7644 40006f91:       eb 07                   jmp    40006f9a <mknod+0xc3>
7645 40006f93:       c7 45 e8 00 00 00 00    movl   $0x0,-0x18(%ebp)
7646 40006f9a:       8b 45 e8                mov    -0x18(%ebp),%eax
7647 40006f9d:       a3 54 59 01 40          mov    %eax,0x40015954
7648 40006fa2:       8b 45 f0                mov    -0x10(%ebp),%eax
7649 40006fa5:       c1 f8 1f                sar    $0x1f,%eax
7650 40006fa8:       0b 45 f0                or     -0x10(%ebp),%eax
7651 40006fab:       83 c4 34                add    $0x34,%esp
7652 40006fae:       5b                      pop    %ebx
7653 40006faf:       5d                      pop    %ebp
7654 40006fb0:       c3                      ret    
7656 40006fb1 <access>:
7657 40006fb1:       55                      push   %ebp
7658 40006fb2:       89 e5                   mov    %esp,%ebp
7659 40006fb4:       83 ec 28                sub    $0x28,%esp
7660 40006fb7:       8b 45 08                mov    0x8(%ebp),%eax
7661 40006fba:       89 04 24                mov    %eax,(%esp)
7662 40006fbd:       e8 5c f6 ff ff          call   4000661e <getabsolutepath>
7663 40006fc2:       89 45 f8                mov    %eax,-0x8(%ebp)
7664 40006fc5:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
7665 40006fcc:       00 
7666 40006fcd:       8b 45 f8                mov    -0x8(%ebp),%eax
7667 40006fd0:       89 04 24                mov    %eax,(%esp)
7668 40006fd3:       e8 78 f4 ff ff          call   40006450 <fsbypath>
7669 40006fd8:       89 45 fc                mov    %eax,-0x4(%ebp)
7670 40006fdb:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
7671 40006fdf:       74 57                   je     40007038 <access+0x87>
7672 40006fe1:       8b 45 fc                mov    -0x4(%ebp),%eax
7673 40006fe4:       8b 00                   mov    (%eax),%eax
7674 40006fe6:       89 44 24 08             mov    %eax,0x8(%esp)
7675 40006fea:       c7 44 24 04 36 2f 01    movl   $0x40012f36,0x4(%esp)
7676 40006ff1:       40 
7677 40006ff2:       8d 45 f0                lea    -0x10(%ebp),%eax
7678 40006ff5:       89 04 24                mov    %eax,(%esp)
7679 40006ff8:       e8 0b f2 ff ff          call   40006208 <asprintf>
7680 40006ffd:       8b 45 fc                mov    -0x4(%ebp),%eax
7681 40007000:       8b 50 04                mov    0x4(%eax),%edx
7682 40007003:       8b 4d f0                mov    -0x10(%ebp),%ecx
7683 40007006:       8b 45 0c                mov    0xc(%ebp),%eax
7684 40007009:       89 44 24 10             mov    %eax,0x10(%esp)
7685 4000700d:       8b 45 f8                mov    -0x8(%ebp),%eax
7686 40007010:       89 44 24 0c             mov    %eax,0xc(%esp)
7687 40007014:       89 54 24 08             mov    %edx,0x8(%esp)
7688 40007018:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
7689 4000701f:       00 
7690 40007020:       89 0c 24                mov    %ecx,(%esp)
7691 40007023:       e8 bf a1 00 00          call   400111e7 <rpc_call>
7692 40007028:       89 45 f4                mov    %eax,-0xc(%ebp)
7693 4000702b:       8b 45 f0                mov    -0x10(%ebp),%eax
7694 4000702e:       89 04 24                mov    %eax,(%esp)
7695 40007031:       e8 25 52 00 00          call   4000c25b <free>
7696 40007036:       eb 07                   jmp    4000703f <access+0x8e>
7697 40007038:       c7 45 f4 e4 ff ff ff    movl   $0xffffffe4,-0xc(%ebp)
7698 4000703f:       8b 45 f8                mov    -0x8(%ebp),%eax
7699 40007042:       89 04 24                mov    %eax,(%esp)
7700 40007045:       e8 11 52 00 00          call   4000c25b <free>
7701 4000704a:       83 7d f4 00             cmpl   $0x0,-0xc(%ebp)
7702 4000704e:       79 0c                   jns    4000705c <access+0xab>
7703 40007050:       8b 45 f4                mov    -0xc(%ebp),%eax
7704 40007053:       89 c2                   mov    %eax,%edx
7705 40007055:       f7 da                   neg    %edx
7706 40007057:       89 55 ec                mov    %edx,-0x14(%ebp)
7707 4000705a:       eb 07                   jmp    40007063 <access+0xb2>
7708 4000705c:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
7709 40007063:       8b 45 ec                mov    -0x14(%ebp),%eax
7710 40007066:       a3 54 59 01 40          mov    %eax,0x40015954
7711 4000706b:       8b 45 f4                mov    -0xc(%ebp),%eax
7712 4000706e:       c1 f8 1f                sar    $0x1f,%eax
7713 40007071:       0b 45 f4                or     -0xc(%ebp),%eax
7714 40007074:       c9                      leave  
7715 40007075:       c3                      ret    
7717 40007076 <open>:
7718 40007076:       55                      push   %ebp
7719 40007077:       89 e5                   mov    %esp,%ebp
7720 40007079:       83 ec 48                sub    $0x48,%esp
7721 4000707c:       c7 45 e4 00 00 00 00    movl   $0x0,-0x1c(%ebp)
7722 40007083:       8b 45 08                mov    0x8(%ebp),%eax
7723 40007086:       89 04 24                mov    %eax,(%esp)
7724 40007089:       e8 90 f5 ff ff          call   4000661e <getabsolutepath>
7725 4000708e:       89 45 ec                mov    %eax,-0x14(%ebp)
7726 40007091:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
7727 40007098:       00 
7728 40007099:       8b 45 ec                mov    -0x14(%ebp),%eax
7729 4000709c:       89 04 24                mov    %eax,(%esp)
7730 4000709f:       e8 ac f3 ff ff          call   40006450 <fsbypath>
7731 400070a4:       89 45 f0                mov    %eax,-0x10(%ebp)
7732 400070a7:       83 7d f0 00             cmpl   $0x0,-0x10(%ebp)
7733 400070ab:       75 0a                   jne    400070b7 <open+0x41>
7734 400070ad:       a1 54 59 01 40          mov    0x40015954,%eax
7735 400070b2:       f7 d8                   neg    %eax
7736 400070b4:       89 45 e4                mov    %eax,-0x1c(%ebp)
7737 400070b7:       8d 45 10                lea    0x10(%ebp),%eax
7738 400070ba:       89 45 e0                mov    %eax,-0x20(%ebp)
7739 400070bd:       83 7d e4 00             cmpl   $0x0,-0x1c(%ebp)
7740 400070c1:       0f 85 9c 01 00 00       jne    40007263 <open+0x1ed>
7741 400070c7:       8b 45 0c                mov    0xc(%ebp),%eax
7742 400070ca:       83 e0 04                and    $0x4,%eax
7743 400070cd:       85 c0                   test   %eax,%eax
7744 400070cf:       74 48                   je     40007119 <open+0xa3>
7745 400070d1:       83 65 0c fb             andl   $0xfffffffb,0xc(%ebp)
7746 400070d5:       8b 55 e0                mov    -0x20(%ebp),%edx
7747 400070d8:       8d 42 04                lea    0x4(%edx),%eax
7748 400070db:       89 45 e0                mov    %eax,-0x20(%ebp)
7749 400070de:       89 d0                   mov    %edx,%eax
7750 400070e0:       8b 00                   mov    (%eax),%eax
7751 400070e2:       80 cc 80                or     $0x80,%ah
7752 400070e5:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
7753 400070ec:       00 
7754 400070ed:       89 44 24 04             mov    %eax,0x4(%esp)
7755 400070f1:       8b 45 08                mov    0x8(%ebp),%eax
7756 400070f4:       89 04 24                mov    %eax,(%esp)
7757 400070f7:       e8 db fd ff ff          call   40006ed7 <mknod>
7758 400070fc:       89 45 f8                mov    %eax,-0x8(%ebp)
7759 400070ff:       83 7d f8 ff             cmpl   $0xffffffff,-0x8(%ebp)
7760 40007103:       75 14                   jne    40007119 <open+0xa3>
7761 40007105:       a1 54 59 01 40          mov    0x40015954,%eax
7762 4000710a:       83 f8 14                cmp    $0x14,%eax
7763 4000710d:       74 0a                   je     40007119 <open+0xa3>
7764 4000710f:       a1 54 59 01 40          mov    0x40015954,%eax
7765 40007114:       f7 d8                   neg    %eax
7766 40007116:       89 45 e4                mov    %eax,-0x1c(%ebp)
7767 40007119:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
7768 40007120:       00 
7769 40007121:       c7 44 24 04 00 20 00    movl   $0x2000,0x4(%esp)
7770 40007128:       00 
7771 40007129:       c7 04 24 00 00 00 00    movl   $0x0,(%esp)
7772 40007130:       e8 e3 60 00 00          call   4000d218 <shmget>
7773 40007135:       89 45 f4                mov    %eax,-0xc(%ebp)
7774 40007138:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
7775 4000713f:       00 
7776 40007140:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
7777 40007147:       00 
7778 40007148:       8b 45 f4                mov    -0xc(%ebp),%eax
7779 4000714b:       89 04 24                mov    %eax,(%esp)
7780 4000714e:       e8 81 61 00 00          call   4000d2d4 <shmat>
7781 40007153:       89 45 e8                mov    %eax,-0x18(%ebp)
7782 40007156:       83 7d e8 00             cmpl   $0x0,-0x18(%ebp)
7783 4000715a:       0f 84 03 01 00 00       je     40007263 <open+0x1ed>
7784 40007160:       8b 55 e8                mov    -0x18(%ebp),%edx
7785 40007163:       c7 44 24 08 00 20 00    movl   $0x2000,0x8(%esp)
7786 4000716a:       00 
7787 4000716b:       8b 45 ec                mov    -0x14(%ebp),%eax
7788 4000716e:       89 44 24 04             mov    %eax,0x4(%esp)
7789 40007172:       89 14 24                mov    %edx,(%esp)
7790 40007175:       e8 7e 84 00 00          call   4000f5f8 <strncpy>
7791 4000717a:       8b 45 f0                mov    -0x10(%ebp),%eax
7792 4000717d:       8b 00                   mov    (%eax),%eax
7793 4000717f:       89 44 24 08             mov    %eax,0x8(%esp)
7794 40007183:       c7 44 24 04 43 2f 01    movl   $0x40012f43,0x4(%esp)
7795 4000718a:       40 
7796 4000718b:       8d 45 dc                lea    -0x24(%ebp),%eax
7797 4000718e:       89 04 24                mov    %eax,(%esp)
7798 40007191:       e8 72 f0 ff ff          call   40006208 <asprintf>
7799 40007196:       8b 45 f0                mov    -0x10(%ebp),%eax
7800 40007199:       8b 50 04                mov    0x4(%eax),%edx
7801 4000719c:       8b 4d dc                mov    -0x24(%ebp),%ecx
7802 4000719f:       8b 45 f4                mov    -0xc(%ebp),%eax
7803 400071a2:       89 44 24 10             mov    %eax,0x10(%esp)
7804 400071a6:       8b 45 0c                mov    0xc(%ebp),%eax
7805 400071a9:       89 44 24 0c             mov    %eax,0xc(%esp)
7806 400071ad:       89 54 24 08             mov    %edx,0x8(%esp)
7807 400071b1:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
7808 400071b8:       00 
7809 400071b9:       89 0c 24                mov    %ecx,(%esp)
7810 400071bc:       e8 26 a0 00 00          call   400111e7 <rpc_call>
7811 400071c1:       89 45 e4                mov    %eax,-0x1c(%ebp)
7812 400071c4:       8b 45 dc                mov    -0x24(%ebp),%eax
7813 400071c7:       89 04 24                mov    %eax,(%esp)
7814 400071ca:       e8 8c 50 00 00          call   4000c25b <free>
7815 400071cf:       83 7d e4 00             cmpl   $0x0,-0x1c(%ebp)
7816 400071d3:       0f 88 8a 00 00 00       js     40007263 <open+0x1ed>
7817 400071d9:       c7 04 24 28 00 00 00    movl   $0x28,(%esp)
7818 400071e0:       e8 bf 4b 00 00          call   4000bda4 <malloc>
7819 400071e5:       89 45 fc                mov    %eax,-0x4(%ebp)
7820 400071e8:       8b 55 fc                mov    -0x4(%ebp),%edx
7821 400071eb:       8b 45 e4                mov    -0x1c(%ebp),%eax
7822 400071ee:       89 42 04                mov    %eax,0x4(%edx)
7823 400071f1:       8b 55 fc                mov    -0x4(%ebp),%edx
7824 400071f4:       8b 45 f0                mov    -0x10(%ebp),%eax
7825 400071f7:       89 02                   mov    %eax,(%edx)
7826 400071f9:       8b 55 fc                mov    -0x4(%ebp),%edx
7827 400071fc:       8b 45 0c                mov    0xc(%ebp),%eax
7828 400071ff:       89 42 10                mov    %eax,0x10(%edx)
7829 40007202:       8b 45 fc                mov    -0x4(%ebp),%eax
7830 40007205:       c7 40 0c 00 80 00 00    movl   $0x8000,0xc(%eax)
7831 4000720c:       8b 15 7c 42 01 40       mov    0x4001427c,%edx
7832 40007212:       8b 45 fc                mov    -0x4(%ebp),%eax
7833 40007215:       89 50 14                mov    %edx,0x14(%eax)
7834 40007218:       8d 42 01                lea    0x1(%edx),%eax
7835 4000721b:       a3 7c 42 01 40          mov    %eax,0x4001427c
7836 40007220:       8b 45 ec                mov    -0x14(%ebp),%eax
7837 40007223:       89 04 24                mov    %eax,(%esp)
7838 40007226:       e8 42 82 00 00          call   4000f46d <strdup>
7839 4000722b:       89 c2                   mov    %eax,%edx
7840 4000722d:       8b 45 fc                mov    -0x4(%ebp),%eax
7841 40007230:       89 50 18                mov    %edx,0x18(%eax)
7842 40007233:       8b 55 fc                mov    -0x4(%ebp),%edx
7843 40007236:       8b 45 f4                mov    -0xc(%ebp),%eax
7844 40007239:       89 42 1c                mov    %eax,0x1c(%edx)
7845 4000723c:       8b 55 fc                mov    -0x4(%ebp),%edx
7846 4000723f:       8b 45 e8                mov    -0x18(%ebp),%eax
7847 40007242:       89 42 20                mov    %eax,0x20(%edx)
7848 40007245:       8b 45 fc                mov    -0x4(%ebp),%eax
7849 40007248:       8b 40 14                mov    0x14(%eax),%eax
7850 4000724b:       89 45 e4                mov    %eax,-0x1c(%ebp)
7851 4000724e:       8b 15 74 42 01 40       mov    0x40014274,%edx
7852 40007254:       8b 45 fc                mov    -0x4(%ebp),%eax
7853 40007257:       89 44 24 04             mov    %eax,0x4(%esp)
7854 4000725b:       89 14 24                mov    %edx,(%esp)
7855 4000725e:       e8 10 89 00 00          call   4000fb73 <llist_push>
7856 40007263:       8b 45 ec                mov    -0x14(%ebp),%eax
7857 40007266:       89 04 24                mov    %eax,(%esp)
7858 40007269:       e8 ed 4f 00 00          call   4000c25b <free>
7859 4000726e:       83 7d e4 00             cmpl   $0x0,-0x1c(%ebp)
7860 40007272:       79 0c                   jns    40007280 <open+0x20a>
7861 40007274:       8b 45 e4                mov    -0x1c(%ebp),%eax
7862 40007277:       89 c2                   mov    %eax,%edx
7863 40007279:       f7 da                   neg    %edx
7864 4000727b:       89 55 cc                mov    %edx,-0x34(%ebp)
7865 4000727e:       eb 07                   jmp    40007287 <open+0x211>
7866 40007280:       c7 45 cc 00 00 00 00    movl   $0x0,-0x34(%ebp)
7867 40007287:       8b 45 cc                mov    -0x34(%ebp),%eax
7868 4000728a:       a3 54 59 01 40          mov    %eax,0x40015954
7869 4000728f:       8b 45 e4                mov    -0x1c(%ebp),%eax
7870 40007292:       c1 f8 1f                sar    $0x1f,%eax
7871 40007295:       0b 45 e4                or     -0x1c(%ebp),%eax
7872 40007298:       c9                      leave  
7873 40007299:       c3                      ret    
7875 4000729a <_close_all_filehandles>:
7876 4000729a:       55                      push   %ebp
7877 4000729b:       89 e5                   mov    %esp,%ebp
7878 4000729d:       83 ec 18                sub    $0x18,%esp
7879 400072a0:       eb 3f                   jmp    400072e1 <_close_all_filehandles+0x47>
7880 400072a2:       8b 45 fc                mov    -0x4(%ebp),%eax
7881 400072a5:       8b 40 0c                mov    0xc(%eax),%eax
7882 400072a8:       25 00 f0 00 00          and    $0xf000,%eax
7883 400072ad:       3d 00 80 00 00          cmp    $0x8000,%eax
7884 400072b2:       75 10                   jne    400072c4 <_close_all_filehandles+0x2a>
7885 400072b4:       8b 45 fc                mov    -0x4(%ebp),%eax
7886 400072b7:       8b 40 14                mov    0x14(%eax),%eax
7887 400072ba:       89 04 24                mov    %eax,(%esp)
7888 400072bd:       e8 5b 00 00 00          call   4000731d <close>
7889 400072c2:       eb 1d                   jmp    400072e1 <_close_all_filehandles+0x47>
7890 400072c4:       8b 45 fc                mov    -0x4(%ebp),%eax
7891 400072c7:       8b 40 0c                mov    0xc(%eax),%eax
7892 400072ca:       25 00 f0 00 00          and    $0xf000,%eax
7893 400072cf:       3d 00 40 00 00          cmp    $0x4000,%eax
7894 400072d4:       75 0b                   jne    400072e1 <_close_all_filehandles+0x47>
7895 400072d6:       8b 45 fc                mov    -0x4(%ebp),%eax
7896 400072d9:       89 04 24                mov    %eax,(%esp)
7897 400072dc:       e8 00 0c 00 00          call   40007ee1 <closedir>
7898 400072e1:       a1 74 42 01 40          mov    0x40014274,%eax
7899 400072e6:       89 04 24                mov    %eax,(%esp)
7900 400072e9:       e8 de 88 00 00          call   4000fbcc <llist_pop>
7901 400072ee:       89 45 fc                mov    %eax,-0x4(%ebp)
7902 400072f1:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
7903 400072f5:       75 ab                   jne    400072a2 <_close_all_filehandles+0x8>
7904 400072f7:       c7 04 24 00 00 00 00    movl   $0x0,(%esp)
7905 400072fe:       e8 c9 f4 ff ff          call   400067cc <_destroy_unnamed_pipe>
7906 40007303:       c7 04 24 01 00 00 00    movl   $0x1,(%esp)
7907 4000730a:       e8 bd f4 ff ff          call   400067cc <_destroy_unnamed_pipe>
7908 4000730f:       c7 04 24 02 00 00 00    movl   $0x2,(%esp)
7909 40007316:       e8 b1 f4 ff ff          call   400067cc <_destroy_unnamed_pipe>
7910 4000731b:       c9                      leave  
7911 4000731c:       c3                      ret    
7913 4000731d <close>:
7914 4000731d:       55                      push   %ebp
7915 4000731e:       89 e5                   mov    %esp,%ebp
7916 40007320:       83 ec 28                sub    $0x28,%esp
7917 40007323:       8b 45 08                mov    0x8(%ebp),%eax
7918 40007326:       89 04 24                mov    %eax,(%esp)
7919 40007329:       e8 a0 f2 ff ff          call   400065ce <lidxbyfh>
7920 4000732e:       8b 15 74 42 01 40       mov    0x40014274,%edx
7921 40007334:       89 44 24 04             mov    %eax,0x4(%esp)
7922 40007338:       89 14 24                mov    %edx,(%esp)
7923 4000733b:       e8 6b 89 00 00          call   4000fcab <llist_get>
7924 40007340:       89 45 fc                mov    %eax,-0x4(%ebp)
7925 40007343:       8b 45 fc                mov    -0x4(%ebp),%eax
7926 40007346:       8b 00                   mov    (%eax),%eax
7927 40007348:       85 c0                   test   %eax,%eax
7928 4000734a:       75 13                   jne    4000735f <close+0x42>
7929 4000734c:       8b 45 08                mov    0x8(%ebp),%eax
7930 4000734f:       89 04 24                mov    %eax,(%esp)
7931 40007352:       e8 f1 f5 ff ff          call   40006948 <_close_unnamed_pipe>
7932 40007357:       89 45 e8                mov    %eax,-0x18(%ebp)
7933 4000735a:       e9 ff 00 00 00          jmp    4000745e <close+0x141>
7934 4000735f:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
7935 40007363:       0f 84 bf 00 00 00       je     40007428 <close+0x10b>
7936 40007369:       8b 45 fc                mov    -0x4(%ebp),%eax
7937 4000736c:       8b 00                   mov    (%eax),%eax
7938 4000736e:       8b 00                   mov    (%eax),%eax
7939 40007370:       89 44 24 08             mov    %eax,0x8(%esp)
7940 40007374:       c7 44 24 04 4e 2f 01    movl   $0x40012f4e,0x4(%esp)
7941 4000737b:       40 
7942 4000737c:       8d 45 f4                lea    -0xc(%ebp),%eax
7943 4000737f:       89 04 24                mov    %eax,(%esp)
7944 40007382:       e8 81 ee ff ff          call   40006208 <asprintf>
7945 40007387:       8b 45 fc                mov    -0x4(%ebp),%eax
7946 4000738a:       8b 50 04                mov    0x4(%eax),%edx
7947 4000738d:       8b 45 fc                mov    -0x4(%ebp),%eax
7948 40007390:       8b 00                   mov    (%eax),%eax
7949 40007392:       8b 40 04                mov    0x4(%eax),%eax
7950 40007395:       8b 4d f4                mov    -0xc(%ebp),%ecx
7951 40007398:       89 54 24 0c             mov    %edx,0xc(%esp)
7952 4000739c:       89 44 24 08             mov    %eax,0x8(%esp)
7953 400073a0:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
7954 400073a7:       00 
7955 400073a8:       89 0c 24                mov    %ecx,(%esp)
7956 400073ab:       e8 37 9e 00 00          call   400111e7 <rpc_call>
7957 400073b0:       89 45 f8                mov    %eax,-0x8(%ebp)
7958 400073b3:       8b 45 f4                mov    -0xc(%ebp),%eax
7959 400073b6:       89 04 24                mov    %eax,(%esp)
7960 400073b9:       e8 9d 4e 00 00          call   4000c25b <free>
7961 400073be:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
7962 400073c2:       75 6b                   jne    4000742f <close+0x112>
7963 400073c4:       8b 45 fc                mov    -0x4(%ebp),%eax
7964 400073c7:       8b 40 20                mov    0x20(%eax),%eax
7965 400073ca:       89 04 24                mov    %eax,(%esp)
7966 400073cd:       e8 85 5f 00 00          call   4000d357 <shmdt>
7967 400073d2:       8b 45 fc                mov    -0x4(%ebp),%eax
7968 400073d5:       8b 40 1c                mov    0x1c(%eax),%eax
7969 400073d8:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
7970 400073df:       00 
7971 400073e0:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
7972 400073e7:       00 
7973 400073e8:       89 04 24                mov    %eax,(%esp)
7974 400073eb:       e8 d7 5f 00 00          call   4000d3c7 <shmctl>
7975 400073f0:       8b 45 08                mov    0x8(%ebp),%eax
7976 400073f3:       89 04 24                mov    %eax,(%esp)
7977 400073f6:       e8 d3 f1 ff ff          call   400065ce <lidxbyfh>
7978 400073fb:       8b 15 74 42 01 40       mov    0x40014274,%edx
7979 40007401:       89 44 24 04             mov    %eax,0x4(%esp)
7980 40007405:       89 14 24                mov    %edx,(%esp)
7981 40007408:       e8 70 89 00 00          call   4000fd7d <llist_remove>
7982 4000740d:       8b 45 fc                mov    -0x4(%ebp),%eax
7983 40007410:       8b 40 18                mov    0x18(%eax),%eax
7984 40007413:       89 04 24                mov    %eax,(%esp)
7985 40007416:       e8 40 4e 00 00          call   4000c25b <free>
7986 4000741b:       8b 45 fc                mov    -0x4(%ebp),%eax
7987 4000741e:       89 04 24                mov    %eax,(%esp)
7988 40007421:       e8 35 4e 00 00          call   4000c25b <free>
7989 40007426:       eb 07                   jmp    4000742f <close+0x112>
7990 40007428:       c7 45 f8 f8 ff ff ff    movl   $0xfffffff8,-0x8(%ebp)
7991 4000742f:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
7992 40007433:       79 0c                   jns    40007441 <close+0x124>
7993 40007435:       8b 45 f8                mov    -0x8(%ebp),%eax
7994 40007438:       89 c2                   mov    %eax,%edx
7995 4000743a:       f7 da                   neg    %edx
7996 4000743c:       89 55 ec                mov    %edx,-0x14(%ebp)
7997 4000743f:       eb 07                   jmp    40007448 <close+0x12b>
7998 40007441:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
7999 40007448:       8b 45 ec                mov    -0x14(%ebp),%eax
8000 4000744b:       a3 54 59 01 40          mov    %eax,0x40015954
8001 40007450:       8b 45 f8                mov    -0x8(%ebp),%eax
8002 40007453:       c1 f8 1f                sar    $0x1f,%eax
8003 40007456:       8b 55 f8                mov    -0x8(%ebp),%edx
8004 40007459:       09 c2                   or     %eax,%edx
8005 4000745b:       89 55 e8                mov    %edx,-0x18(%ebp)
8006 4000745e:       8b 45 e8                mov    -0x18(%ebp),%eax
8007 40007461:       c9                      leave  
8008 40007462:       c3                      ret    
8010 40007463 <dup2>:
8011 40007463:       55                      push   %ebp
8012 40007464:       89 e5                   mov    %esp,%ebp
8013 40007466:       83 ec 28                sub    $0x28,%esp
8014 40007469:       c7 45 f4 ff ff ff ff    movl   $0xffffffff,-0xc(%ebp)
8015 40007470:       8b 45 08                mov    0x8(%ebp),%eax
8016 40007473:       89 04 24                mov    %eax,(%esp)
8017 40007476:       e8 53 f1 ff ff          call   400065ce <lidxbyfh>
8018 4000747b:       8b 15 74 42 01 40       mov    0x40014274,%edx
8019 40007481:       89 44 24 04             mov    %eax,0x4(%esp)
8020 40007485:       89 14 24                mov    %edx,(%esp)
8021 40007488:       e8 1e 88 00 00          call   4000fcab <llist_get>
8022 4000748d:       89 45 f8                mov    %eax,-0x8(%ebp)
8023 40007490:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
8024 40007494:       0f 84 21 01 00 00       je     400075bb <dup2+0x158>
8025 4000749a:       8b 45 f8                mov    -0x8(%ebp),%eax
8026 4000749d:       8b 00                   mov    (%eax),%eax
8027 4000749f:       8b 00                   mov    (%eax),%eax
8028 400074a1:       89 44 24 08             mov    %eax,0x8(%esp)
8029 400074a5:       c7 44 24 04 4e 2f 01    movl   $0x40012f4e,0x4(%esp)
8030 400074ac:       40 
8031 400074ad:       8d 45 f0                lea    -0x10(%ebp),%eax
8032 400074b0:       89 04 24                mov    %eax,(%esp)
8033 400074b3:       e8 50 ed ff ff          call   40006208 <asprintf>
8034 400074b8:       8b 45 f8                mov    -0x8(%ebp),%eax
8035 400074bb:       8b 50 04                mov    0x4(%eax),%edx
8036 400074be:       8b 45 f8                mov    -0x8(%ebp),%eax
8037 400074c1:       8b 00                   mov    (%eax),%eax
8038 400074c3:       8b 40 04                mov    0x4(%eax),%eax
8039 400074c6:       8b 4d f0                mov    -0x10(%ebp),%ecx
8040 400074c9:       89 54 24 0c             mov    %edx,0xc(%esp)
8041 400074cd:       89 44 24 08             mov    %eax,0x8(%esp)
8042 400074d1:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
8043 400074d8:       00 
8044 400074d9:       89 0c 24                mov    %ecx,(%esp)
8045 400074dc:       e8 06 9d 00 00          call   400111e7 <rpc_call>
8046 400074e1:       89 45 f4                mov    %eax,-0xc(%ebp)
8047 400074e4:       8b 45 f0                mov    -0x10(%ebp),%eax
8048 400074e7:       89 04 24                mov    %eax,(%esp)
8049 400074ea:       e8 6c 4d 00 00          call   4000c25b <free>
8050 400074ef:       83 7d f4 00             cmpl   $0x0,-0xc(%ebp)
8051 400074f3:       0f 88 cc 00 00 00       js     400075c5 <dup2+0x162>
8052 400074f9:       c7 04 24 28 00 00 00    movl   $0x28,(%esp)
8053 40007500:       e8 9f 48 00 00          call   4000bda4 <malloc>
8054 40007505:       89 45 fc                mov    %eax,-0x4(%ebp)
8055 40007508:       c7 44 24 08 28 00 00    movl   $0x28,0x8(%esp)
8056 4000750f:       00 
8057 40007510:       8b 45 f8                mov    -0x8(%ebp),%eax
8058 40007513:       89 44 24 04             mov    %eax,0x4(%esp)
8059 40007517:       8b 45 fc                mov    -0x4(%ebp),%eax
8060 4000751a:       89 04 24                mov    %eax,(%esp)
8061 4000751d:       e8 de 7b 00 00          call   4000f100 <memcpy>
8062 40007522:       83 7d 0c 00             cmpl   $0x0,0xc(%ebp)
8063 40007526:       75 15                   jne    4000753d <dup2+0xda>
8064 40007528:       a1 7c 42 01 40          mov    0x4001427c,%eax
8065 4000752d:       8b 55 fc                mov    -0x4(%ebp),%edx
8066 40007530:       89 42 14                mov    %eax,0x14(%edx)
8067 40007533:       83 c0 01                add    $0x1,%eax
8068 40007536:       a3 7c 42 01 40          mov    %eax,0x4001427c
8069 4000753b:       eb 14                   jmp    40007551 <dup2+0xee>
8070 4000753d:       8b 45 0c                mov    0xc(%ebp),%eax
8071 40007540:       89 04 24                mov    %eax,(%esp)
8072 40007543:       e8 d5 fd ff ff          call   4000731d <close>
8073 40007548:       8b 55 fc                mov    -0x4(%ebp),%edx
8074 4000754b:       8b 45 0c                mov    0xc(%ebp),%eax
8075 4000754e:       89 42 14                mov    %eax,0x14(%edx)
8076 40007551:       8b 55 fc                mov    -0x4(%ebp),%edx
8077 40007554:       8b 45 f4                mov    -0xc(%ebp),%eax
8078 40007557:       89 42 04                mov    %eax,0x4(%edx)
8079 4000755a:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
8080 40007561:       00 
8081 40007562:       c7 44 24 04 00 20 00    movl   $0x2000,0x4(%esp)
8082 40007569:       00 
8083 4000756a:       c7 04 24 00 00 00 00    movl   $0x0,(%esp)
8084 40007571:       e8 a2 5c 00 00          call   4000d218 <shmget>
8085 40007576:       89 c2                   mov    %eax,%edx
8086 40007578:       8b 45 fc                mov    -0x4(%ebp),%eax
8087 4000757b:       89 50 1c                mov    %edx,0x1c(%eax)
8088 4000757e:       8b 45 fc                mov    -0x4(%ebp),%eax
8089 40007581:       8b 40 1c                mov    0x1c(%eax),%eax
8090 40007584:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
8091 4000758b:       00 
8092 4000758c:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
8093 40007593:       00 
8094 40007594:       89 04 24                mov    %eax,(%esp)
8095 40007597:       e8 38 5d 00 00          call   4000d2d4 <shmat>
8096 4000759c:       89 c2                   mov    %eax,%edx
8097 4000759e:       8b 45 fc                mov    -0x4(%ebp),%eax
8098 400075a1:       89 50 20                mov    %edx,0x20(%eax)
8099 400075a4:       8b 15 74 42 01 40       mov    0x40014274,%edx
8100 400075aa:       8b 45 fc                mov    -0x4(%ebp),%eax
8101 400075ad:       89 44 24 04             mov    %eax,0x4(%esp)
8102 400075b1:       89 14 24                mov    %edx,(%esp)
8103 400075b4:       e8 ba 85 00 00          call   4000fb73 <llist_push>
8104 400075b9:       eb 0a                   jmp    400075c5 <dup2+0x162>
8105 400075bb:       c7 05 54 59 01 40 08    movl   $0x8,0x40015954
8106 400075c2:       00 00 00 
8107 400075c5:       8b 45 f4                mov    -0xc(%ebp),%eax
8108 400075c8:       c9                      leave  
8109 400075c9:       c3                      ret    
8111 400075ca <_read>:
8112 400075ca:       55                      push   %ebp
8113 400075cb:       89 e5                   mov    %esp,%ebp
8114 400075cd:       53                      push   %ebx
8115 400075ce:       83 ec 24                sub    $0x24,%esp
8116 400075d1:       8b 45 08                mov    0x8(%ebp),%eax
8117 400075d4:       8b 00                   mov    (%eax),%eax
8118 400075d6:       8b 00                   mov    (%eax),%eax
8119 400075d8:       89 44 24 08             mov    %eax,0x8(%esp)
8120 400075dc:       c7 44 24 04 5a 2f 01    movl   $0x40012f5a,0x4(%esp)
8121 400075e3:       40 
8122 400075e4:       8d 45 f4                lea    -0xc(%ebp),%eax
8123 400075e7:       89 04 24                mov    %eax,(%esp)
8124 400075ea:       e8 19 ec ff ff          call   40006208 <asprintf>
8125 400075ef:       8b 45 08                mov    0x8(%ebp),%eax
8126 400075f2:       8b 48 04                mov    0x4(%eax),%ecx
8127 400075f5:       8b 45 08                mov    0x8(%ebp),%eax
8128 400075f8:       8b 00                   mov    (%eax),%eax
8129 400075fa:       8b 50 04                mov    0x4(%eax),%edx
8130 400075fd:       8b 5d f4                mov    -0xc(%ebp),%ebx
8131 40007600:       8b 45 10                mov    0x10(%ebp),%eax
8132 40007603:       89 44 24 10             mov    %eax,0x10(%esp)
8133 40007607:       89 4c 24 0c             mov    %ecx,0xc(%esp)
8134 4000760b:       89 54 24 08             mov    %edx,0x8(%esp)
8135 4000760f:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
8136 40007616:       00 
8137 40007617:       89 1c 24                mov    %ebx,(%esp)
8138 4000761a:       e8 c8 9b 00 00          call   400111e7 <rpc_call>
8139 4000761f:       89 45 f8                mov    %eax,-0x8(%ebp)
8140 40007622:       8b 45 f4                mov    -0xc(%ebp),%eax
8141 40007625:       89 04 24                mov    %eax,(%esp)
8142 40007628:       e8 2e 4c 00 00          call   4000c25b <free>
8143 4000762d:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
8144 40007631:       7e 1c                   jle    4000764f <_read+0x85>
8145 40007633:       8b 55 f8                mov    -0x8(%ebp),%edx
8146 40007636:       8b 45 08                mov    0x8(%ebp),%eax
8147 40007639:       8b 40 20                mov    0x20(%eax),%eax
8148 4000763c:       89 54 24 08             mov    %edx,0x8(%esp)
8149 40007640:       89 44 24 04             mov    %eax,0x4(%esp)
8150 40007644:       8b 45 0c                mov    0xc(%ebp),%eax
8151 40007647:       89 04 24                mov    %eax,(%esp)
8152 4000764a:       e8 b1 7a 00 00          call   4000f100 <memcpy>
8153 4000764f:       8b 45 f8                mov    -0x8(%ebp),%eax
8154 40007652:       83 c4 24                add    $0x24,%esp
8155 40007655:       5b                      pop    %ebx
8156 40007656:       5d                      pop    %ebp
8157 40007657:       c3                      ret    
8159 40007658 <read>:
8160 40007658:       55                      push   %ebp
8161 40007659:       89 e5                   mov    %esp,%ebp
8162 4000765b:       83 ec 28                sub    $0x28,%esp
8163 4000765e:       8b 45 08                mov    0x8(%ebp),%eax
8164 40007661:       89 04 24                mov    %eax,(%esp)
8165 40007664:       e8 65 ef ff ff          call   400065ce <lidxbyfh>
8166 40007669:       8b 15 74 42 01 40       mov    0x40014274,%edx
8167 4000766f:       89 44 24 04             mov    %eax,0x4(%esp)
8168 40007673:       89 14 24                mov    %edx,(%esp)
8169 40007676:       e8 30 86 00 00          call   4000fcab <llist_get>
8170 4000767b:       89 45 f0                mov    %eax,-0x10(%ebp)
8171 4000767e:       8b 45 f0                mov    -0x10(%ebp),%eax
8172 40007681:       8b 00                   mov    (%eax),%eax
8173 40007683:       85 c0                   test   %eax,%eax
8174 40007685:       75 21                   jne    400076a8 <read+0x50>
8175 40007687:       8b 45 10                mov    0x10(%ebp),%eax
8176 4000768a:       89 44 24 08             mov    %eax,0x8(%esp)
8177 4000768e:       8b 45 0c                mov    0xc(%ebp),%eax
8178 40007691:       89 44 24 04             mov    %eax,0x4(%esp)
8179 40007695:       8b 45 08                mov    0x8(%ebp),%eax
8180 40007698:       89 04 24                mov    %eax,(%esp)
8181 4000769b:       e8 32 f3 ff ff          call   400069d2 <_read_unnamed_pipe>
8182 400076a0:       89 45 ec                mov    %eax,-0x14(%ebp)
8183 400076a3:       e9 9d 00 00 00          jmp    40007745 <read+0xed>
8184 400076a8:       83 7d f0 00             cmpl   $0x0,-0x10(%ebp)
8185 400076ac:       0f 84 82 00 00 00       je     40007734 <read+0xdc>
8186 400076b2:       8b 45 10                mov    0x10(%ebp),%eax
8187 400076b5:       89 45 f4                mov    %eax,-0xc(%ebp)
8188 400076b8:       c7 45 f8 00 00 00 00    movl   $0x0,-0x8(%ebp)
8189 400076bf:       eb 5c                   jmp    4000771d <read+0xc5>
8190 400076c1:       8b 45 f4                mov    -0xc(%ebp),%eax
8191 400076c4:       89 45 fc                mov    %eax,-0x4(%ebp)
8192 400076c7:       81 7d fc 00 20 00 00    cmpl   $0x2000,-0x4(%ebp)
8193 400076ce:       76 07                   jbe    400076d7 <read+0x7f>
8194 400076d0:       c7 45 fc 00 20 00 00    movl   $0x2000,-0x4(%ebp)
8195 400076d7:       8b 55 f8                mov    -0x8(%ebp),%edx
8196 400076da:       8b 45 0c                mov    0xc(%ebp),%eax
8197 400076dd:       8d 14 10                lea    (%eax,%edx,1),%edx
8198 400076e0:       8b 45 fc                mov    -0x4(%ebp),%eax
8199 400076e3:       89 44 24 08             mov    %eax,0x8(%esp)
8200 400076e7:       89 54 24 04             mov    %edx,0x4(%esp)
8201 400076eb:       8b 45 f0                mov    -0x10(%ebp),%eax
8202 400076ee:       89 04 24                mov    %eax,(%esp)
8203 400076f1:       e8 d4 fe ff ff          call   400075ca <_read>
8204 400076f6:       89 45 fc                mov    %eax,-0x4(%ebp)
8205 400076f9:       83 7d fc ff             cmpl   $0xffffffff,-0x4(%ebp)
8206 400076fd:       75 09                   jne    40007708 <read+0xb0>
8207 400076ff:       c7 45 ec ff ff ff ff    movl   $0xffffffff,-0x14(%ebp)
8208 40007706:       eb 3d                   jmp    40007745 <read+0xed>
8209 40007708:       8b 45 f4                mov    -0xc(%ebp),%eax
8210 4000770b:       2b 45 fc                sub    -0x4(%ebp),%eax
8211 4000770e:       89 45 f4                mov    %eax,-0xc(%ebp)
8212 40007711:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
8213 40007715:       74 0c                   je     40007723 <read+0xcb>
8214 40007717:       8b 45 fc                mov    -0x4(%ebp),%eax
8215 4000771a:       01 45 f8                add    %eax,-0x8(%ebp)
8216 4000771d:       83 7d f4 00             cmpl   $0x0,-0xc(%ebp)
8217 40007721:       7f 9e                   jg     400076c1 <read+0x69>
8218 40007723:       8b 45 f4                mov    -0xc(%ebp),%eax
8219 40007726:       8b 55 10                mov    0x10(%ebp),%edx
8220 40007729:       89 d1                   mov    %edx,%ecx
8221 4000772b:       29 c1                   sub    %eax,%ecx
8222 4000772d:       89 c8                   mov    %ecx,%eax
8223 4000772f:       89 45 ec                mov    %eax,-0x14(%ebp)
8224 40007732:       eb 11                   jmp    40007745 <read+0xed>
8225 40007734:       c7 05 54 59 01 40 08    movl   $0x8,0x40015954
8226 4000773b:       00 00 00 
8227 4000773e:       c7 45 ec ff ff ff ff    movl   $0xffffffff,-0x14(%ebp)
8228 40007745:       8b 45 ec                mov    -0x14(%ebp),%eax
8229 40007748:       c9                      leave  
8230 40007749:       c3                      ret    
8232 4000774a <_write>:
8233 4000774a:       55                      push   %ebp
8234 4000774b:       89 e5                   mov    %esp,%ebp
8235 4000774d:       53                      push   %ebx
8236 4000774e:       83 ec 24                sub    $0x24,%esp
8237 40007751:       8b 45 08                mov    0x8(%ebp),%eax
8238 40007754:       8b 50 20                mov    0x20(%eax),%edx
8239 40007757:       8b 45 10                mov    0x10(%ebp),%eax
8240 4000775a:       89 44 24 08             mov    %eax,0x8(%esp)
8241 4000775e:       8b 45 0c                mov    0xc(%ebp),%eax
8242 40007761:       89 44 24 04             mov    %eax,0x4(%esp)
8243 40007765:       89 14 24                mov    %edx,(%esp)
8244 40007768:       e8 93 79 00 00          call   4000f100 <memcpy>
8245 4000776d:       8b 45 08                mov    0x8(%ebp),%eax
8246 40007770:       8b 00                   mov    (%eax),%eax
8247 40007772:       8b 00                   mov    (%eax),%eax
8248 40007774:       89 44 24 08             mov    %eax,0x8(%esp)
8249 40007778:       c7 44 24 04 65 2f 01    movl   $0x40012f65,0x4(%esp)
8250 4000777f:       40 
8251 40007780:       8d 45 f4                lea    -0xc(%ebp),%eax
8252 40007783:       89 04 24                mov    %eax,(%esp)
8253 40007786:       e8 7d ea ff ff          call   40006208 <asprintf>
8254 4000778b:       8b 45 08                mov    0x8(%ebp),%eax
8255 4000778e:       8b 48 04                mov    0x4(%eax),%ecx
8256 40007791:       8b 45 08                mov    0x8(%ebp),%eax
8257 40007794:       8b 00                   mov    (%eax),%eax
8258 40007796:       8b 50 04                mov    0x4(%eax),%edx
8259 40007799:       8b 5d f4                mov    -0xc(%ebp),%ebx
8260 4000779c:       8b 45 10                mov    0x10(%ebp),%eax
8261 4000779f:       89 44 24 10             mov    %eax,0x10(%esp)
8262 400077a3:       89 4c 24 0c             mov    %ecx,0xc(%esp)
8263 400077a7:       89 54 24 08             mov    %edx,0x8(%esp)
8264 400077ab:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
8265 400077b2:       00 
8266 400077b3:       89 1c 24                mov    %ebx,(%esp)
8267 400077b6:       e8 2c 9a 00 00          call   400111e7 <rpc_call>
8268 400077bb:       89 45 f8                mov    %eax,-0x8(%ebp)
8269 400077be:       8b 45 f4                mov    -0xc(%ebp),%eax
8270 400077c1:       89 04 24                mov    %eax,(%esp)
8271 400077c4:       e8 92 4a 00 00          call   4000c25b <free>
8272 400077c9:       8b 45 f8                mov    -0x8(%ebp),%eax
8273 400077cc:       83 c4 24                add    $0x24,%esp
8274 400077cf:       5b                      pop    %ebx
8275 400077d0:       5d                      pop    %ebp
8276 400077d1:       c3                      ret    
8278 400077d2 <write>:
8279 400077d2:       55                      push   %ebp
8280 400077d3:       89 e5                   mov    %esp,%ebp
8281 400077d5:       83 ec 28                sub    $0x28,%esp
8282 400077d8:       8b 45 08                mov    0x8(%ebp),%eax
8283 400077db:       89 04 24                mov    %eax,(%esp)
8284 400077de:       e8 eb ed ff ff          call   400065ce <lidxbyfh>
8285 400077e3:       8b 15 74 42 01 40       mov    0x40014274,%edx
8286 400077e9:       89 44 24 04             mov    %eax,0x4(%esp)
8287 400077ed:       89 14 24                mov    %edx,(%esp)
8288 400077f0:       e8 b6 84 00 00          call   4000fcab <llist_get>
8289 400077f5:       89 45 f0                mov    %eax,-0x10(%ebp)
8290 400077f8:       8b 45 f0                mov    -0x10(%ebp),%eax
8291 400077fb:       8b 00                   mov    (%eax),%eax
8292 400077fd:       85 c0                   test   %eax,%eax
8293 400077ff:       75 21                   jne    40007822 <write+0x50>
8294 40007801:       8b 45 10                mov    0x10(%ebp),%eax
8295 40007804:       89 44 24 08             mov    %eax,0x8(%esp)
8296 40007808:       8b 45 0c                mov    0xc(%ebp),%eax
8297 4000780b:       89 44 24 04             mov    %eax,0x4(%esp)
8298 4000780f:       8b 45 08                mov    0x8(%ebp),%eax
8299 40007812:       89 04 24                mov    %eax,(%esp)
8300 40007815:       e8 53 f3 ff ff          call   40006b6d <_write_unnamed_pipe>
8301 4000781a:       89 45 ec                mov    %eax,-0x14(%ebp)
8302 4000781d:       e9 9d 00 00 00          jmp    400078bf <write+0xed>
8303 40007822:       83 7d f0 00             cmpl   $0x0,-0x10(%ebp)
8304 40007826:       0f 84 82 00 00 00       je     400078ae <write+0xdc>
8305 4000782c:       8b 45 10                mov    0x10(%ebp),%eax
8306 4000782f:       89 45 f4                mov    %eax,-0xc(%ebp)
8307 40007832:       c7 45 f8 00 00 00 00    movl   $0x0,-0x8(%ebp)
8308 40007839:       eb 5c                   jmp    40007897 <write+0xc5>
8309 4000783b:       8b 45 f4                mov    -0xc(%ebp),%eax
8310 4000783e:       89 45 fc                mov    %eax,-0x4(%ebp)
8311 40007841:       81 7d fc 00 20 00 00    cmpl   $0x2000,-0x4(%ebp)
8312 40007848:       76 07                   jbe    40007851 <write+0x7f>
8313 4000784a:       c7 45 fc 00 20 00 00    movl   $0x2000,-0x4(%ebp)
8314 40007851:       8b 55 f8                mov    -0x8(%ebp),%edx
8315 40007854:       8b 45 0c                mov    0xc(%ebp),%eax
8316 40007857:       8d 14 10                lea    (%eax,%edx,1),%edx
8317 4000785a:       8b 45 fc                mov    -0x4(%ebp),%eax
8318 4000785d:       89 44 24 08             mov    %eax,0x8(%esp)
8319 40007861:       89 54 24 04             mov    %edx,0x4(%esp)
8320 40007865:       8b 45 f0                mov    -0x10(%ebp),%eax
8321 40007868:       89 04 24                mov    %eax,(%esp)
8322 4000786b:       e8 da fe ff ff          call   4000774a <_write>
8323 40007870:       89 45 fc                mov    %eax,-0x4(%ebp)
8324 40007873:       83 7d fc ff             cmpl   $0xffffffff,-0x4(%ebp)
8325 40007877:       75 09                   jne    40007882 <write+0xb0>
8326 40007879:       c7 45 ec ff ff ff ff    movl   $0xffffffff,-0x14(%ebp)
8327 40007880:       eb 3d                   jmp    400078bf <write+0xed>
8328 40007882:       8b 45 f4                mov    -0xc(%ebp),%eax
8329 40007885:       2b 45 fc                sub    -0x4(%ebp),%eax
8330 40007888:       89 45 f4                mov    %eax,-0xc(%ebp)
8331 4000788b:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
8332 4000788f:       74 0c                   je     4000789d <write+0xcb>
8333 40007891:       8b 45 fc                mov    -0x4(%ebp),%eax
8334 40007894:       01 45 f8                add    %eax,-0x8(%ebp)
8335 40007897:       83 7d f4 00             cmpl   $0x0,-0xc(%ebp)
8336 4000789b:       7f 9e                   jg     4000783b <write+0x69>
8337 4000789d:       8b 45 f4                mov    -0xc(%ebp),%eax
8338 400078a0:       8b 55 10                mov    0x10(%ebp),%edx
8339 400078a3:       89 d1                   mov    %edx,%ecx
8340 400078a5:       29 c1                   sub    %eax,%ecx
8341 400078a7:       89 c8                   mov    %ecx,%eax
8342 400078a9:       89 45 ec                mov    %eax,-0x14(%ebp)
8343 400078ac:       eb 11                   jmp    400078bf <write+0xed>
8344 400078ae:       c7 05 54 59 01 40 08    movl   $0x8,0x40015954
8345 400078b5:       00 00 00 
8346 400078b8:       c7 45 ec ff ff ff ff    movl   $0xffffffff,-0x14(%ebp)
8347 400078bf:       8b 45 ec                mov    -0x14(%ebp),%eax
8348 400078c2:       c9                      leave  
8349 400078c3:       c3                      ret    
8351 400078c4 <lseek>:
8352 400078c4:       55                      push   %ebp
8353 400078c5:       89 e5                   mov    %esp,%ebp
8354 400078c7:       53                      push   %ebx
8355 400078c8:       83 ec 34                sub    $0x34,%esp
8356 400078cb:       8b 45 08                mov    0x8(%ebp),%eax
8357 400078ce:       89 04 24                mov    %eax,(%esp)
8358 400078d1:       e8 f8 ec ff ff          call   400065ce <lidxbyfh>
8359 400078d6:       8b 15 74 42 01 40       mov    0x40014274,%edx
8360 400078dc:       89 44 24 04             mov    %eax,0x4(%esp)
8361 400078e0:       89 14 24                mov    %edx,(%esp)
8362 400078e3:       e8 c3 83 00 00          call   4000fcab <llist_get>
8363 400078e8:       89 45 f8                mov    %eax,-0x8(%ebp)
8364 400078eb:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
8365 400078ef:       74 65                   je     40007956 <lseek+0x92>
8366 400078f1:       8b 45 f8                mov    -0x8(%ebp),%eax
8367 400078f4:       8b 00                   mov    (%eax),%eax
8368 400078f6:       8b 00                   mov    (%eax),%eax
8369 400078f8:       89 44 24 08             mov    %eax,0x8(%esp)
8370 400078fc:       c7 44 24 04 71 2f 01    movl   $0x40012f71,0x4(%esp)
8371 40007903:       40 
8372 40007904:       8d 45 f0                lea    -0x10(%ebp),%eax
8373 40007907:       89 04 24                mov    %eax,(%esp)
8374 4000790a:       e8 f9 e8 ff ff          call   40006208 <asprintf>
8375 4000790f:       8b 45 f8                mov    -0x8(%ebp),%eax
8376 40007912:       8b 50 04                mov    0x4(%eax),%edx
8377 40007915:       8b 45 f8                mov    -0x8(%ebp),%eax
8378 40007918:       8b 00                   mov    (%eax),%eax
8379 4000791a:       8b 48 04                mov    0x4(%eax),%ecx
8380 4000791d:       8b 5d f0                mov    -0x10(%ebp),%ebx
8381 40007920:       8b 45 10                mov    0x10(%ebp),%eax
8382 40007923:       89 44 24 14             mov    %eax,0x14(%esp)
8383 40007927:       8b 45 0c                mov    0xc(%ebp),%eax
8384 4000792a:       89 44 24 10             mov    %eax,0x10(%esp)
8385 4000792e:       89 54 24 0c             mov    %edx,0xc(%esp)
8386 40007932:       89 4c 24 08             mov    %ecx,0x8(%esp)
8387 40007936:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
8388 4000793d:       00 
8389 4000793e:       89 1c 24                mov    %ebx,(%esp)
8390 40007941:       e8 a1 98 00 00          call   400111e7 <rpc_call>
8391 40007946:       89 45 f4                mov    %eax,-0xc(%ebp)
8392 40007949:       8b 45 f0                mov    -0x10(%ebp),%eax
8393 4000794c:       89 04 24                mov    %eax,(%esp)
8394 4000794f:       e8 07 49 00 00          call   4000c25b <free>
8395 40007954:       eb 07                   jmp    4000795d <lseek+0x99>
8396 40007956:       c7 45 f4 f8 ff ff ff    movl   $0xfffffff8,-0xc(%ebp)
8397 4000795d:       83 7d f4 00             cmpl   $0x0,-0xc(%ebp)
8398 40007961:       79 0c                   jns    4000796f <lseek+0xab>
8399 40007963:       8b 45 f4                mov    -0xc(%ebp),%eax
8400 40007966:       89 c2                   mov    %eax,%edx
8401 40007968:       f7 da                   neg    %edx
8402 4000796a:       89 55 e8                mov    %edx,-0x18(%ebp)
8403 4000796d:       eb 07                   jmp    40007976 <lseek+0xb2>
8404 4000796f:       c7 45 e8 00 00 00 00    movl   $0x0,-0x18(%ebp)
8405 40007976:       8b 45 e8                mov    -0x18(%ebp),%eax
8406 40007979:       a3 54 59 01 40          mov    %eax,0x40015954
8407 4000797e:       8b 45 f4                mov    -0xc(%ebp),%eax
8408 40007981:       c1 f8 1f                sar    $0x1f,%eax
8409 40007984:       0b 45 f4                or     -0xc(%ebp),%eax
8410 40007987:       83 c4 34                add    $0x34,%esp
8411 4000798a:       5b                      pop    %ebx
8412 4000798b:       5d                      pop    %ebp
8413 4000798c:       c3                      ret    
8415 4000798d <unlink>:
8416 4000798d:       55                      push   %ebp
8417 4000798e:       89 e5                   mov    %esp,%ebp
8418 40007990:       83 ec 28                sub    $0x28,%esp
8419 40007993:       8b 45 08                mov    0x8(%ebp),%eax
8420 40007996:       89 04 24                mov    %eax,(%esp)
8421 40007999:       e8 80 ec ff ff          call   4000661e <getabsolutepath>
8422 4000799e:       89 45 f8                mov    %eax,-0x8(%ebp)
8423 400079a1:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
8424 400079a8:       00 
8425 400079a9:       8b 45 f8                mov    -0x8(%ebp),%eax
8426 400079ac:       89 04 24                mov    %eax,(%esp)
8427 400079af:       e8 9c ea ff ff          call   40006450 <fsbypath>
8428 400079b4:       89 45 fc                mov    %eax,-0x4(%ebp)
8429 400079b7:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
8430 400079bb:       74 50                   je     40007a0d <unlink+0x80>
8431 400079bd:       8b 45 fc                mov    -0x4(%ebp),%eax
8432 400079c0:       8b 00                   mov    (%eax),%eax
8433 400079c2:       89 44 24 08             mov    %eax,0x8(%esp)
8434 400079c6:       c7 44 24 04 7c 2f 01    movl   $0x40012f7c,0x4(%esp)
8435 400079cd:       40 
8436 400079ce:       8d 45 f0                lea    -0x10(%ebp),%eax
8437 400079d1:       89 04 24                mov    %eax,(%esp)
8438 400079d4:       e8 2f e8 ff ff          call   40006208 <asprintf>
8439 400079d9:       8b 45 fc                mov    -0x4(%ebp),%eax
8440 400079dc:       8b 50 04                mov    0x4(%eax),%edx
8441 400079df:       8b 4d f0                mov    -0x10(%ebp),%ecx
8442 400079e2:       8b 45 f8                mov    -0x8(%ebp),%eax
8443 400079e5:       89 44 24 0c             mov    %eax,0xc(%esp)
8444 400079e9:       89 54 24 08             mov    %edx,0x8(%esp)
8445 400079ed:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
8446 400079f4:       00 
8447 400079f5:       89 0c 24                mov    %ecx,(%esp)
8448 400079f8:       e8 ea 97 00 00          call   400111e7 <rpc_call>
8449 400079fd:       89 45 f4                mov    %eax,-0xc(%ebp)
8450 40007a00:       8b 45 f0                mov    -0x10(%ebp),%eax
8451 40007a03:       89 04 24                mov    %eax,(%esp)
8452 40007a06:       e8 50 48 00 00          call   4000c25b <free>
8453 40007a0b:       eb 07                   jmp    40007a14 <unlink+0x87>
8454 40007a0d:       c7 45 f4 e4 ff ff ff    movl   $0xffffffe4,-0xc(%ebp)
8455 40007a14:       8b 45 f8                mov    -0x8(%ebp),%eax
8456 40007a17:       89 04 24                mov    %eax,(%esp)
8457 40007a1a:       e8 3c 48 00 00          call   4000c25b <free>
8458 40007a1f:       83 7d f4 00             cmpl   $0x0,-0xc(%ebp)
8459 40007a23:       79 0c                   jns    40007a31 <unlink+0xa4>
8460 40007a25:       8b 45 f4                mov    -0xc(%ebp),%eax
8461 40007a28:       89 c2                   mov    %eax,%edx
8462 40007a2a:       f7 da                   neg    %edx
8463 40007a2c:       89 55 ec                mov    %edx,-0x14(%ebp)
8464 40007a2f:       eb 07                   jmp    40007a38 <unlink+0xab>
8465 40007a31:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
8466 40007a38:       8b 45 ec                mov    -0x14(%ebp),%eax
8467 40007a3b:       a3 54 59 01 40          mov    %eax,0x40015954
8468 40007a40:       8b 45 f4                mov    -0xc(%ebp),%eax
8469 40007a43:       c1 f8 1f                sar    $0x1f,%eax
8470 40007a46:       0b 45 f4                or     -0xc(%ebp),%eax
8471 40007a49:       c9                      leave  
8472 40007a4a:       c3                      ret    
8474 40007a4b <rmdir>:
8475 40007a4b:       55                      push   %ebp
8476 40007a4c:       89 e5                   mov    %esp,%ebp
8477 40007a4e:       83 ec 28                sub    $0x28,%esp
8478 40007a51:       8b 45 08                mov    0x8(%ebp),%eax
8479 40007a54:       89 04 24                mov    %eax,(%esp)
8480 40007a57:       e8 c2 eb ff ff          call   4000661e <getabsolutepath>
8481 40007a5c:       89 45 f8                mov    %eax,-0x8(%ebp)
8482 40007a5f:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
8483 40007a66:       00 
8484 40007a67:       8b 45 f8                mov    -0x8(%ebp),%eax
8485 40007a6a:       89 04 24                mov    %eax,(%esp)
8486 40007a6d:       e8 de e9 ff ff          call   40006450 <fsbypath>
8487 40007a72:       89 45 fc                mov    %eax,-0x4(%ebp)
8488 40007a75:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
8489 40007a79:       74 50                   je     40007acb <rmdir+0x80>
8490 40007a7b:       8b 45 fc                mov    -0x4(%ebp),%eax
8491 40007a7e:       8b 00                   mov    (%eax),%eax
8492 40007a80:       89 44 24 08             mov    %eax,0x8(%esp)
8493 40007a84:       c7 44 24 04 89 2f 01    movl   $0x40012f89,0x4(%esp)
8494 40007a8b:       40 
8495 40007a8c:       8d 45 f0                lea    -0x10(%ebp),%eax
8496 40007a8f:       89 04 24                mov    %eax,(%esp)
8497 40007a92:       e8 71 e7 ff ff          call   40006208 <asprintf>
8498 40007a97:       8b 45 fc                mov    -0x4(%ebp),%eax
8499 40007a9a:       8b 50 04                mov    0x4(%eax),%edx
8500 40007a9d:       8b 4d f0                mov    -0x10(%ebp),%ecx
8501 40007aa0:       8b 45 f8                mov    -0x8(%ebp),%eax
8502 40007aa3:       89 44 24 0c             mov    %eax,0xc(%esp)
8503 40007aa7:       89 54 24 08             mov    %edx,0x8(%esp)
8504 40007aab:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
8505 40007ab2:       00 
8506 40007ab3:       89 0c 24                mov    %ecx,(%esp)
8507 40007ab6:       e8 2c 97 00 00          call   400111e7 <rpc_call>
8508 40007abb:       89 45 f4                mov    %eax,-0xc(%ebp)
8509 40007abe:       8b 45 f0                mov    -0x10(%ebp),%eax
8510 40007ac1:       89 04 24                mov    %eax,(%esp)
8511 40007ac4:       e8 92 47 00 00          call   4000c25b <free>
8512 40007ac9:       eb 07                   jmp    40007ad2 <rmdir+0x87>
8513 40007acb:       c7 45 f4 e4 ff ff ff    movl   $0xffffffe4,-0xc(%ebp)
8514 40007ad2:       8b 45 f8                mov    -0x8(%ebp),%eax
8515 40007ad5:       89 04 24                mov    %eax,(%esp)
8516 40007ad8:       e8 7e 47 00 00          call   4000c25b <free>
8517 40007add:       83 7d f4 00             cmpl   $0x0,-0xc(%ebp)
8518 40007ae1:       79 0c                   jns    40007aef <rmdir+0xa4>
8519 40007ae3:       8b 45 f4                mov    -0xc(%ebp),%eax
8520 40007ae6:       89 c2                   mov    %eax,%edx
8521 40007ae8:       f7 da                   neg    %edx
8522 40007aea:       89 55 ec                mov    %edx,-0x14(%ebp)
8523 40007aed:       eb 07                   jmp    40007af6 <rmdir+0xab>
8524 40007aef:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
8525 40007af6:       8b 45 ec                mov    -0x14(%ebp),%eax
8526 40007af9:       a3 54 59 01 40          mov    %eax,0x40015954
8527 40007afe:       8b 45 f4                mov    -0xc(%ebp),%eax
8528 40007b01:       c1 f8 1f                sar    $0x1f,%eax
8529 40007b04:       0b 45 f4                or     -0xc(%ebp),%eax
8530 40007b07:       c9                      leave  
8531 40007b08:       c3                      ret    
8533 40007b09 <rename>:
8534 40007b09:       55                      push   %ebp
8535 40007b0a:       89 e5                   mov    %esp,%ebp
8536 40007b0c:       83 ec 38                sub    $0x38,%esp
8537 40007b0f:       8b 45 08                mov    0x8(%ebp),%eax
8538 40007b12:       89 04 24                mov    %eax,(%esp)
8539 40007b15:       e8 04 eb ff ff          call   4000661e <getabsolutepath>
8540 40007b1a:       89 45 f0                mov    %eax,-0x10(%ebp)
8541 40007b1d:       8b 45 0c                mov    0xc(%ebp),%eax
8542 40007b20:       89 04 24                mov    %eax,(%esp)
8543 40007b23:       e8 f6 ea ff ff          call   4000661e <getabsolutepath>
8544 40007b28:       89 45 f4                mov    %eax,-0xc(%ebp)
8545 40007b2b:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
8546 40007b32:       00 
8547 40007b33:       8b 45 f0                mov    -0x10(%ebp),%eax
8548 40007b36:       89 04 24                mov    %eax,(%esp)
8549 40007b39:       e8 12 e9 ff ff          call   40006450 <fsbypath>
8550 40007b3e:       89 45 f8                mov    %eax,-0x8(%ebp)
8551 40007b41:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
8552 40007b48:       00 
8553 40007b49:       8b 45 f4                mov    -0xc(%ebp),%eax
8554 40007b4c:       89 04 24                mov    %eax,(%esp)
8555 40007b4f:       e8 fc e8 ff ff          call   40006450 <fsbypath>
8556 40007b54:       89 45 fc                mov    %eax,-0x4(%ebp)
8557 40007b57:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
8558 40007b5b:       74 5f                   je     40007bbc <rename+0xb3>
8559 40007b5d:       8b 45 f8                mov    -0x8(%ebp),%eax
8560 40007b60:       3b 45 fc                cmp    -0x4(%ebp),%eax
8561 40007b63:       75 57                   jne    40007bbc <rename+0xb3>
8562 40007b65:       8b 45 f8                mov    -0x8(%ebp),%eax
8563 40007b68:       8b 00                   mov    (%eax),%eax
8564 40007b6a:       89 44 24 08             mov    %eax,0x8(%esp)
8565 40007b6e:       c7 44 24 04 95 2f 01    movl   $0x40012f95,0x4(%esp)
8566 40007b75:       40 
8567 40007b76:       8d 45 e8                lea    -0x18(%ebp),%eax
8568 40007b79:       89 04 24                mov    %eax,(%esp)
8569 40007b7c:       e8 87 e6 ff ff          call   40006208 <asprintf>
8570 40007b81:       8b 45 f8                mov    -0x8(%ebp),%eax
8571 40007b84:       8b 50 04                mov    0x4(%eax),%edx
8572 40007b87:       8b 4d e8                mov    -0x18(%ebp),%ecx
8573 40007b8a:       8b 45 0c                mov    0xc(%ebp),%eax
8574 40007b8d:       89 44 24 10             mov    %eax,0x10(%esp)
8575 40007b91:       8b 45 08                mov    0x8(%ebp),%eax
8576 40007b94:       89 44 24 0c             mov    %eax,0xc(%esp)
8577 40007b98:       89 54 24 08             mov    %edx,0x8(%esp)
8578 40007b9c:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
8579 40007ba3:       00 
8580 40007ba4:       89 0c 24                mov    %ecx,(%esp)
8581 40007ba7:       e8 3b 96 00 00          call   400111e7 <rpc_call>
8582 40007bac:       89 45 ec                mov    %eax,-0x14(%ebp)
8583 40007baf:       8b 45 e8                mov    -0x18(%ebp),%eax
8584 40007bb2:       89 04 24                mov    %eax,(%esp)
8585 40007bb5:       e8 a1 46 00 00          call   4000c25b <free>
8586 40007bba:       eb 07                   jmp    40007bc3 <rename+0xba>
8587 40007bbc:       c7 45 ec e4 ff ff ff    movl   $0xffffffe4,-0x14(%ebp)
8588 40007bc3:       83 7d ec 00             cmpl   $0x0,-0x14(%ebp)
8589 40007bc7:       79 0c                   jns    40007bd5 <rename+0xcc>
8590 40007bc9:       8b 45 ec                mov    -0x14(%ebp),%eax
8591 40007bcc:       89 c2                   mov    %eax,%edx
8592 40007bce:       f7 da                   neg    %edx
8593 40007bd0:       89 55 dc                mov    %edx,-0x24(%ebp)
8594 40007bd3:       eb 07                   jmp    40007bdc <rename+0xd3>
8595 40007bd5:       c7 45 dc 00 00 00 00    movl   $0x0,-0x24(%ebp)
8596 40007bdc:       8b 45 dc                mov    -0x24(%ebp),%eax
8597 40007bdf:       a3 54 59 01 40          mov    %eax,0x40015954
8598 40007be4:       8b 45 ec                mov    -0x14(%ebp),%eax
8599 40007be7:       c1 f8 1f                sar    $0x1f,%eax
8600 40007bea:       0b 45 ec                or     -0x14(%ebp),%eax
8601 40007bed:       c9                      leave  
8602 40007bee:       c3                      ret    
8604 40007bef <truncate>:
8605 40007bef:       55                      push   %ebp
8606 40007bf0:       89 e5                   mov    %esp,%ebp
8607 40007bf2:       83 ec 18                sub    $0x18,%esp
8608 40007bf5:       c7 45 fc ff ff ff ff    movl   $0xffffffff,-0x4(%ebp)
8609 40007bfc:       c7 44 24 04 02 00 00    movl   $0x2,0x4(%esp)
8610 40007c03:       00 
8611 40007c04:       8b 45 08                mov    0x8(%ebp),%eax
8612 40007c07:       89 04 24                mov    %eax,(%esp)
8613 40007c0a:       e8 67 f4 ff ff          call   40007076 <open>
8614 40007c0f:       89 45 f8                mov    %eax,-0x8(%ebp)
8615 40007c12:       83 7d f8 ff             cmpl   $0xffffffff,-0x8(%ebp)
8616 40007c16:       74 29                   je     40007c41 <truncate+0x52>
8617 40007c18:       8b 45 0c                mov    0xc(%ebp),%eax
8618 40007c1b:       89 44 24 04             mov    %eax,0x4(%esp)
8619 40007c1f:       8b 45 f8                mov    -0x8(%ebp),%eax
8620 40007c22:       89 04 24                mov    %eax,(%esp)
8621 40007c25:       e8 1c 00 00 00          call   40007c46 <ftruncate>
8622 40007c2a:       83 f8 ff                cmp    $0xffffffff,%eax
8623 40007c2d:       74 07                   je     40007c36 <truncate+0x47>
8624 40007c2f:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
8625 40007c36:       8b 45 f8                mov    -0x8(%ebp),%eax
8626 40007c39:       89 04 24                mov    %eax,(%esp)
8627 40007c3c:       e8 dc f6 ff ff          call   4000731d <close>
8628 40007c41:       8b 45 fc                mov    -0x4(%ebp),%eax
8629 40007c44:       c9                      leave  
8630 40007c45:       c3                      ret    
8632 40007c46 <ftruncate>:
8633 40007c46:       55                      push   %ebp
8634 40007c47:       89 e5                   mov    %esp,%ebp
8635 40007c49:       53                      push   %ebx
8636 40007c4a:       83 ec 34                sub    $0x34,%esp
8637 40007c4d:       8b 45 08                mov    0x8(%ebp),%eax
8638 40007c50:       89 04 24                mov    %eax,(%esp)
8639 40007c53:       e8 76 e9 ff ff          call   400065ce <lidxbyfh>
8640 40007c58:       8b 15 74 42 01 40       mov    0x40014274,%edx
8641 40007c5e:       89 44 24 04             mov    %eax,0x4(%esp)
8642 40007c62:       89 14 24                mov    %edx,(%esp)
8643 40007c65:       e8 41 80 00 00          call   4000fcab <llist_get>
8644 40007c6a:       89 45 f8                mov    %eax,-0x8(%ebp)
8645 40007c6d:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
8646 40007c71:       74 5e                   je     40007cd1 <ftruncate+0x8b>
8647 40007c73:       8b 45 f8                mov    -0x8(%ebp),%eax
8648 40007c76:       8b 00                   mov    (%eax),%eax
8649 40007c78:       8b 00                   mov    (%eax),%eax
8650 40007c7a:       89 44 24 08             mov    %eax,0x8(%esp)
8651 40007c7e:       c7 44 24 04 a2 2f 01    movl   $0x40012fa2,0x4(%esp)
8652 40007c85:       40 
8653 40007c86:       8d 45 f0                lea    -0x10(%ebp),%eax
8654 40007c89:       89 04 24                mov    %eax,(%esp)
8655 40007c8c:       e8 77 e5 ff ff          call   40006208 <asprintf>
8656 40007c91:       8b 45 f8                mov    -0x8(%ebp),%eax
8657 40007c94:       8b 48 04                mov    0x4(%eax),%ecx
8658 40007c97:       8b 45 f8                mov    -0x8(%ebp),%eax
8659 40007c9a:       8b 00                   mov    (%eax),%eax
8660 40007c9c:       8b 50 04                mov    0x4(%eax),%edx
8661 40007c9f:       8b 5d f0                mov    -0x10(%ebp),%ebx
8662 40007ca2:       8b 45 0c                mov    0xc(%ebp),%eax
8663 40007ca5:       89 44 24 10             mov    %eax,0x10(%esp)
8664 40007ca9:       89 4c 24 0c             mov    %ecx,0xc(%esp)
8665 40007cad:       89 54 24 08             mov    %edx,0x8(%esp)
8666 40007cb1:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
8667 40007cb8:       00 
8668 40007cb9:       89 1c 24                mov    %ebx,(%esp)
8669 40007cbc:       e8 26 95 00 00          call   400111e7 <rpc_call>
8670 40007cc1:       89 45 f4                mov    %eax,-0xc(%ebp)
8671 40007cc4:       8b 45 f0                mov    -0x10(%ebp),%eax
8672 40007cc7:       89 04 24                mov    %eax,(%esp)
8673 40007cca:       e8 8c 45 00 00          call   4000c25b <free>
8674 40007ccf:       eb 07                   jmp    40007cd8 <ftruncate+0x92>
8675 40007cd1:       c7 45 f4 f8 ff ff ff    movl   $0xfffffff8,-0xc(%ebp)
8676 40007cd8:       83 7d f4 00             cmpl   $0x0,-0xc(%ebp)
8677 40007cdc:       79 0c                   jns    40007cea <ftruncate+0xa4>
8678 40007cde:       8b 45 f4                mov    -0xc(%ebp),%eax
8679 40007ce1:       89 c2                   mov    %eax,%edx
8680 40007ce3:       f7 da                   neg    %edx
8681 40007ce5:       89 55 e8                mov    %edx,-0x18(%ebp)
8682 40007ce8:       eb 07                   jmp    40007cf1 <ftruncate+0xab>
8683 40007cea:       c7 45 e8 00 00 00 00    movl   $0x0,-0x18(%ebp)
8684 40007cf1:       8b 45 e8                mov    -0x18(%ebp),%eax
8685 40007cf4:       a3 54 59 01 40          mov    %eax,0x40015954
8686 40007cf9:       8b 45 f4                mov    -0xc(%ebp),%eax
8687 40007cfc:       c1 f8 1f                sar    $0x1f,%eax
8688 40007cff:       0b 45 f4                or     -0xc(%ebp),%eax
8689 40007d02:       83 c4 34                add    $0x34,%esp
8690 40007d05:       5b                      pop    %ebx
8691 40007d06:       5d                      pop    %ebp
8692 40007d07:       c3                      ret    
8694 40007d08 <opendir>:
8695 40007d08:       55                      push   %ebp
8696 40007d09:       89 e5                   mov    %esp,%ebp
8697 40007d0b:       83 ec 38                sub    $0x38,%esp
8698 40007d0e:       8b 45 08                mov    0x8(%ebp),%eax
8699 40007d11:       89 04 24                mov    %eax,(%esp)
8700 40007d14:       e8 05 e9 ff ff          call   4000661e <getabsolutepath>
8701 40007d19:       89 45 f0                mov    %eax,-0x10(%ebp)
8702 40007d1c:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
8703 40007d23:       00 
8704 40007d24:       8b 45 f0                mov    -0x10(%ebp),%eax
8705 40007d27:       89 04 24                mov    %eax,(%esp)
8706 40007d2a:       e8 21 e7 ff ff          call   40006450 <fsbypath>
8707 40007d2f:       89 45 f4                mov    %eax,-0xc(%ebp)
8708 40007d32:       83 7d f4 00             cmpl   $0x0,-0xc(%ebp)
8709 40007d36:       0f 84 58 01 00 00       je     40007e94 <opendir+0x18c>
8710 40007d3c:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
8711 40007d43:       00 
8712 40007d44:       c7 44 24 04 00 20 00    movl   $0x2000,0x4(%esp)
8713 40007d4b:       00 
8714 40007d4c:       c7 04 24 00 00 00 00    movl   $0x0,(%esp)
8715 40007d53:       e8 c0 54 00 00          call   4000d218 <shmget>
8716 40007d58:       89 45 fc                mov    %eax,-0x4(%ebp)
8717 40007d5b:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
8718 40007d62:       00 
8719 40007d63:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
8720 40007d6a:       00 
8721 40007d6b:       8b 45 fc                mov    -0x4(%ebp),%eax
8722 40007d6e:       89 04 24                mov    %eax,(%esp)
8723 40007d71:       e8 5e 55 00 00          call   4000d2d4 <shmat>
8724 40007d76:       89 45 ec                mov    %eax,-0x14(%ebp)
8725 40007d79:       83 7d ec 00             cmpl   $0x0,-0x14(%ebp)
8726 40007d7d:       0f 84 05 01 00 00       je     40007e88 <opendir+0x180>
8727 40007d83:       8b 55 ec                mov    -0x14(%ebp),%edx
8728 40007d86:       c7 44 24 08 00 20 00    movl   $0x2000,0x8(%esp)
8729 40007d8d:       00 
8730 40007d8e:       8b 45 f0                mov    -0x10(%ebp),%eax
8731 40007d91:       89 44 24 04             mov    %eax,0x4(%esp)
8732 40007d95:       89 14 24                mov    %edx,(%esp)
8733 40007d98:       e8 5b 78 00 00          call   4000f5f8 <strncpy>
8734 40007d9d:       8b 45 f4                mov    -0xc(%ebp),%eax
8735 40007da0:       8b 00                   mov    (%eax),%eax
8736 40007da2:       89 44 24 08             mov    %eax,0x8(%esp)
8737 40007da6:       c7 44 24 04 b2 2f 01    movl   $0x40012fb2,0x4(%esp)
8738 40007dad:       40 
8739 40007dae:       8d 45 e0                lea    -0x20(%ebp),%eax
8740 40007db1:       89 04 24                mov    %eax,(%esp)
8741 40007db4:       e8 4f e4 ff ff          call   40006208 <asprintf>
8742 40007db9:       8b 45 f4                mov    -0xc(%ebp),%eax
8743 40007dbc:       8b 50 04                mov    0x4(%eax),%edx
8744 40007dbf:       8b 4d e0                mov    -0x20(%ebp),%ecx
8745 40007dc2:       8b 45 fc                mov    -0x4(%ebp),%eax
8746 40007dc5:       89 44 24 0c             mov    %eax,0xc(%esp)
8747 40007dc9:       89 54 24 08             mov    %edx,0x8(%esp)
8748 40007dcd:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
8749 40007dd4:       00 
8750 40007dd5:       89 0c 24                mov    %ecx,(%esp)
8751 40007dd8:       e8 0a 94 00 00          call   400111e7 <rpc_call>
8752 40007ddd:       89 45 e4                mov    %eax,-0x1c(%ebp)
8753 40007de0:       8b 45 e0                mov    -0x20(%ebp),%eax
8754 40007de3:       89 04 24                mov    %eax,(%esp)
8755 40007de6:       e8 70 44 00 00          call   4000c25b <free>
8756 40007deb:       83 7d e4 00             cmpl   $0x0,-0x1c(%ebp)
8757 40007def:       0f 88 8b 00 00 00       js     40007e80 <opendir+0x178>
8758 40007df5:       c7 04 24 28 00 00 00    movl   $0x28,(%esp)
8759 40007dfc:       e8 a3 3f 00 00          call   4000bda4 <malloc>
8760 40007e01:       89 45 f8                mov    %eax,-0x8(%ebp)
8761 40007e04:       8b 55 f8                mov    -0x8(%ebp),%edx
8762 40007e07:       8b 45 e4                mov    -0x1c(%ebp),%eax
8763 40007e0a:       89 42 04                mov    %eax,0x4(%edx)
8764 40007e0d:       8b 55 f8                mov    -0x8(%ebp),%edx
8765 40007e10:       8b 45 f4                mov    -0xc(%ebp),%eax
8766 40007e13:       89 02                   mov    %eax,(%edx)
8767 40007e15:       8b 45 f8                mov    -0x8(%ebp),%eax
8768 40007e18:       c7 40 10 00 00 00 00    movl   $0x0,0x10(%eax)
8769 40007e1f:       8b 45 f8                mov    -0x8(%ebp),%eax
8770 40007e22:       c7 40 0c 00 40 00 00    movl   $0x4000,0xc(%eax)
8771 40007e29:       8b 45 f8                mov    -0x8(%ebp),%eax
8772 40007e2c:       c7 40 14 00 00 00 00    movl   $0x0,0x14(%eax)
8773 40007e33:       8b 45 f0                mov    -0x10(%ebp),%eax
8774 40007e36:       89 04 24                mov    %eax,(%esp)
8775 40007e39:       e8 2f 76 00 00          call   4000f46d <strdup>
8776 40007e3e:       89 c2                   mov    %eax,%edx
8777 40007e40:       8b 45 f8                mov    -0x8(%ebp),%eax
8778 40007e43:       89 50 18                mov    %edx,0x18(%eax)
8779 40007e46:       8b 55 f8                mov    -0x8(%ebp),%edx
8780 40007e49:       8b 45 fc                mov    -0x4(%ebp),%eax
8781 40007e4c:       89 42 1c                mov    %eax,0x1c(%edx)
8782 40007e4f:       8b 55 f8                mov    -0x8(%ebp),%edx
8783 40007e52:       8b 45 ec                mov    -0x14(%ebp),%eax
8784 40007e55:       89 42 20                mov    %eax,0x20(%edx)
8785 40007e58:       8b 45 f8                mov    -0x8(%ebp),%eax
8786 40007e5b:       c7 40 08 00 00 00 00    movl   $0x0,0x8(%eax)
8787 40007e62:       8b 15 74 42 01 40       mov    0x40014274,%edx
8788 40007e68:       8b 45 f8                mov    -0x8(%ebp),%eax
8789 40007e6b:       89 44 24 04             mov    %eax,0x4(%esp)
8790 40007e6f:       89 14 24                mov    %edx,(%esp)
8791 40007e72:       e8 fc 7c 00 00          call   4000fb73 <llist_push>
8792 40007e77:       c7 45 e8 00 00 00 00    movl   $0x0,-0x18(%ebp)
8793 40007e7e:       eb 1b                   jmp    40007e9b <opendir+0x193>
8794 40007e80:       8b 45 e4                mov    -0x1c(%ebp),%eax
8795 40007e83:       89 45 e8                mov    %eax,-0x18(%ebp)
8796 40007e86:       eb 13                   jmp    40007e9b <opendir+0x193>
8797 40007e88:       a1 54 59 01 40          mov    0x40015954,%eax
8798 40007e8d:       f7 d8                   neg    %eax
8799 40007e8f:       89 45 e8                mov    %eax,-0x18(%ebp)
8800 40007e92:       eb 07                   jmp    40007e9b <opendir+0x193>
8801 40007e94:       c7 45 e8 d3 ff ff ff    movl   $0xffffffd3,-0x18(%ebp)
8802 40007e9b:       8b 45 f0                mov    -0x10(%ebp),%eax
8803 40007e9e:       89 04 24                mov    %eax,(%esp)
8804 40007ea1:       e8 b5 43 00 00          call   4000c25b <free>
8805 40007ea6:       83 7d e8 00             cmpl   $0x0,-0x18(%ebp)
8806 40007eaa:       79 0c                   jns    40007eb8 <opendir+0x1b0>
8807 40007eac:       8b 45 e8                mov    -0x18(%ebp),%eax
8808 40007eaf:       89 c2                   mov    %eax,%edx
8809 40007eb1:       f7 da                   neg    %edx
8810 40007eb3:       89 55 d8                mov    %edx,-0x28(%ebp)
8811 40007eb6:       eb 07                   jmp    40007ebf <opendir+0x1b7>
8812 40007eb8:       c7 45 d8 00 00 00 00    movl   $0x0,-0x28(%ebp)
8813 40007ebf:       8b 45 d8                mov    -0x28(%ebp),%eax
8814 40007ec2:       a3 54 59 01 40          mov    %eax,0x40015954
8815 40007ec7:       83 7d e8 00             cmpl   $0x0,-0x18(%ebp)
8816 40007ecb:       78 08                   js     40007ed5 <opendir+0x1cd>
8817 40007ecd:       8b 55 f8                mov    -0x8(%ebp),%edx
8818 40007ed0:       89 55 dc                mov    %edx,-0x24(%ebp)
8819 40007ed3:       eb 07                   jmp    40007edc <opendir+0x1d4>
8820 40007ed5:       c7 45 dc 00 00 00 00    movl   $0x0,-0x24(%ebp)
8821 40007edc:       8b 45 dc                mov    -0x24(%ebp),%eax
8822 40007edf:       c9                      leave  
8823 40007ee0:       c3                      ret    
8825 40007ee1 <closedir>:
8826 40007ee1:       55                      push   %ebp
8827 40007ee2:       89 e5                   mov    %esp,%ebp
8828 40007ee4:       83 ec 28                sub    $0x28,%esp
8829 40007ee7:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
8830 40007eeb:       0f 84 c9 00 00 00       je     40007fba <closedir+0xd9>
8831 40007ef1:       8b 45 08                mov    0x8(%ebp),%eax
8832 40007ef4:       8b 00                   mov    (%eax),%eax
8833 40007ef6:       8b 00                   mov    (%eax),%eax
8834 40007ef8:       89 44 24 08             mov    %eax,0x8(%esp)
8835 40007efc:       c7 44 24 04 c0 2f 01    movl   $0x40012fc0,0x4(%esp)
8836 40007f03:       40 
8837 40007f04:       8d 45 f8                lea    -0x8(%ebp),%eax
8838 40007f07:       89 04 24                mov    %eax,(%esp)
8839 40007f0a:       e8 f9 e2 ff ff          call   40006208 <asprintf>
8840 40007f0f:       8b 45 08                mov    0x8(%ebp),%eax
8841 40007f12:       8b 50 04                mov    0x4(%eax),%edx
8842 40007f15:       8b 45 08                mov    0x8(%ebp),%eax
8843 40007f18:       8b 00                   mov    (%eax),%eax
8844 40007f1a:       8b 40 04                mov    0x4(%eax),%eax
8845 40007f1d:       8b 4d f8                mov    -0x8(%ebp),%ecx
8846 40007f20:       89 54 24 0c             mov    %edx,0xc(%esp)
8847 40007f24:       89 44 24 08             mov    %eax,0x8(%esp)
8848 40007f28:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
8849 40007f2f:       00 
8850 40007f30:       89 0c 24                mov    %ecx,(%esp)
8851 40007f33:       e8 af 92 00 00          call   400111e7 <rpc_call>
8852 40007f38:       89 45 fc                mov    %eax,-0x4(%ebp)
8853 40007f3b:       8b 45 f8                mov    -0x8(%ebp),%eax
8854 40007f3e:       89 04 24                mov    %eax,(%esp)
8855 40007f41:       e8 15 43 00 00          call   4000c25b <free>
8856 40007f46:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
8857 40007f4a:       75 75                   jne    40007fc1 <closedir+0xe0>
8858 40007f4c:       8b 45 08                mov    0x8(%ebp),%eax
8859 40007f4f:       8b 40 20                mov    0x20(%eax),%eax
8860 40007f52:       89 04 24                mov    %eax,(%esp)
8861 40007f55:       e8 fd 53 00 00          call   4000d357 <shmdt>
8862 40007f5a:       8b 45 08                mov    0x8(%ebp),%eax
8863 40007f5d:       8b 40 1c                mov    0x1c(%eax),%eax
8864 40007f60:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
8865 40007f67:       00 
8866 40007f68:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
8867 40007f6f:       00 
8868 40007f70:       89 04 24                mov    %eax,(%esp)
8869 40007f73:       e8 4f 54 00 00          call   4000d3c7 <shmctl>
8870 40007f78:       8b 45 08                mov    0x8(%ebp),%eax
8871 40007f7b:       8b 40 18                mov    0x18(%eax),%eax
8872 40007f7e:       89 04 24                mov    %eax,(%esp)
8873 40007f81:       e8 d5 42 00 00          call   4000c25b <free>
8874 40007f86:       8b 45 08                mov    0x8(%ebp),%eax
8875 40007f89:       89 04 24                mov    %eax,(%esp)
8876 40007f8c:       e8 ca 42 00 00          call   4000c25b <free>
8877 40007f91:       8b 15 74 42 01 40       mov    0x40014274,%edx
8878 40007f97:       8b 45 08                mov    0x8(%ebp),%eax
8879 40007f9a:       89 44 24 04             mov    %eax,0x4(%esp)
8880 40007f9e:       89 14 24                mov    %edx,(%esp)
8881 40007fa1:       e8 9f 7e 00 00          call   4000fe45 <llist_find>
8882 40007fa6:       8b 15 74 42 01 40       mov    0x40014274,%edx
8883 40007fac:       89 44 24 04             mov    %eax,0x4(%esp)
8884 40007fb0:       89 14 24                mov    %edx,(%esp)
8885 40007fb3:       e8 c5 7d 00 00          call   4000fd7d <llist_remove>
8886 40007fb8:       eb 07                   jmp    40007fc1 <closedir+0xe0>
8887 40007fba:       c7 45 fc f8 ff ff ff    movl   $0xfffffff8,-0x4(%ebp)
8888 40007fc1:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
8889 40007fc5:       79 0c                   jns    40007fd3 <closedir+0xf2>
8890 40007fc7:       8b 45 fc                mov    -0x4(%ebp),%eax
8891 40007fca:       89 c2                   mov    %eax,%edx
8892 40007fcc:       f7 da                   neg    %edx
8893 40007fce:       89 55 ec                mov    %edx,-0x14(%ebp)
8894 40007fd1:       eb 07                   jmp    40007fda <closedir+0xf9>
8895 40007fd3:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
8896 40007fda:       8b 45 ec                mov    -0x14(%ebp),%eax
8897 40007fdd:       a3 54 59 01 40          mov    %eax,0x40015954
8898 40007fe2:       8b 45 fc                mov    -0x4(%ebp),%eax
8899 40007fe5:       c1 f8 1f                sar    $0x1f,%eax
8900 40007fe8:       0b 45 fc                or     -0x4(%ebp),%eax
8901 40007feb:       c9                      leave  
8902 40007fec:       c3                      ret    
8904 40007fed <readdir>:
8905 40007fed:       55                      push   %ebp
8906 40007fee:       89 e5                   mov    %esp,%ebp
8907 40007ff0:       83 ec 28                sub    $0x28,%esp
8908 40007ff3:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
8909 40007ff7:       0f 84 8b 00 00 00       je     40008088 <readdir+0x9b>
8910 40007ffd:       8b 45 08                mov    0x8(%ebp),%eax
8911 40008000:       8b 00                   mov    (%eax),%eax
8912 40008002:       8b 00                   mov    (%eax),%eax
8913 40008004:       89 44 24 08             mov    %eax,0x8(%esp)
8914 40008008:       c7 44 24 04 cf 2f 01    movl   $0x40012fcf,0x4(%esp)
8915 4000800f:       40 
8916 40008010:       8d 45 f8                lea    -0x8(%ebp),%eax
8917 40008013:       89 04 24                mov    %eax,(%esp)
8918 40008016:       e8 ed e1 ff ff          call   40006208 <asprintf>
8919 4000801b:       8b 45 08                mov    0x8(%ebp),%eax
8920 4000801e:       8b 50 04                mov    0x4(%eax),%edx
8921 40008021:       8b 45 08                mov    0x8(%ebp),%eax
8922 40008024:       8b 00                   mov    (%eax),%eax
8923 40008026:       8b 40 04                mov    0x4(%eax),%eax
8924 40008029:       8b 4d f8                mov    -0x8(%ebp),%ecx
8925 4000802c:       89 54 24 0c             mov    %edx,0xc(%esp)
8926 40008030:       89 44 24 08             mov    %eax,0x8(%esp)
8927 40008034:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
8928 4000803b:       00 
8929 4000803c:       89 0c 24                mov    %ecx,(%esp)
8930 4000803f:       e8 a3 91 00 00          call   400111e7 <rpc_call>
8931 40008044:       89 45 fc                mov    %eax,-0x4(%ebp)
8932 40008047:       8b 45 f8                mov    -0x8(%ebp),%eax
8933 4000804a:       89 04 24                mov    %eax,(%esp)
8934 4000804d:       e8 09 42 00 00          call   4000c25b <free>
8935 40008052:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
8936 40008056:       78 37                   js     4000808f <readdir+0xa2>
8937 40008058:       8b 45 08                mov    0x8(%ebp),%eax
8938 4000805b:       8b 40 08                mov    0x8(%eax),%eax
8939 4000805e:       85 c0                   test   %eax,%eax
8940 40008060:       74 0e                   je     40008070 <readdir+0x83>
8941 40008062:       8b 45 08                mov    0x8(%ebp),%eax
8942 40008065:       8b 40 08                mov    0x8(%eax),%eax
8943 40008068:       89 04 24                mov    %eax,(%esp)
8944 4000806b:       e8 eb 41 00 00          call   4000c25b <free>
8945 40008070:       8b 45 08                mov    0x8(%ebp),%eax
8946 40008073:       8b 40 20                mov    0x20(%eax),%eax
8947 40008076:       89 04 24                mov    %eax,(%esp)
8948 40008079:       e8 ef 73 00 00          call   4000f46d <strdup>
8949 4000807e:       89 c2                   mov    %eax,%edx
8950 40008080:       8b 45 08                mov    0x8(%ebp),%eax
8951 40008083:       89 50 08                mov    %edx,0x8(%eax)
8952 40008086:       eb 07                   jmp    4000808f <readdir+0xa2>
8953 40008088:       c7 45 fc f8 ff ff ff    movl   $0xfffffff8,-0x4(%ebp)
8954 4000808f:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
8955 40008093:       79 12                   jns    400080a7 <readdir+0xba>
8956 40008095:       83 7d fc d3             cmpl   $0xffffffd3,-0x4(%ebp)
8957 40008099:       74 0c                   je     400080a7 <readdir+0xba>
8958 4000809b:       8b 45 fc                mov    -0x4(%ebp),%eax
8959 4000809e:       89 c2                   mov    %eax,%edx
8960 400080a0:       f7 da                   neg    %edx
8961 400080a2:       89 55 e8                mov    %edx,-0x18(%ebp)
8962 400080a5:       eb 07                   jmp    400080ae <readdir+0xc1>
8963 400080a7:       c7 45 e8 00 00 00 00    movl   $0x0,-0x18(%ebp)
8964 400080ae:       8b 45 e8                mov    -0x18(%ebp),%eax
8965 400080b1:       a3 54 59 01 40          mov    %eax,0x40015954
8966 400080b6:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
8967 400080ba:       78 0b                   js     400080c7 <readdir+0xda>
8968 400080bc:       8b 45 08                mov    0x8(%ebp),%eax
8969 400080bf:       83 c0 08                add    $0x8,%eax
8970 400080c2:       89 45 ec                mov    %eax,-0x14(%ebp)
8971 400080c5:       eb 07                   jmp    400080ce <readdir+0xe1>
8972 400080c7:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
8973 400080ce:       8b 45 ec                mov    -0x14(%ebp),%eax
8974 400080d1:       c9                      leave  
8975 400080d2:       c3                      ret    
8977 400080d3 <seekdir>:
8978 400080d3:       55                      push   %ebp
8979 400080d4:       89 e5                   mov    %esp,%ebp
8980 400080d6:       53                      push   %ebx
8981 400080d7:       83 ec 34                sub    $0x34,%esp
8982 400080da:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
8983 400080de:       74 5e                   je     4000813e <seekdir+0x6b>
8984 400080e0:       8b 45 08                mov    0x8(%ebp),%eax
8985 400080e3:       8b 00                   mov    (%eax),%eax
8986 400080e5:       8b 00                   mov    (%eax),%eax
8987 400080e7:       89 44 24 08             mov    %eax,0x8(%esp)
8988 400080eb:       c7 44 24 04 dd 2f 01    movl   $0x40012fdd,0x4(%esp)
8989 400080f2:       40 
8990 400080f3:       8d 45 f4                lea    -0xc(%ebp),%eax
8991 400080f6:       89 04 24                mov    %eax,(%esp)
8992 400080f9:       e8 0a e1 ff ff          call   40006208 <asprintf>
8993 400080fe:       8b 45 08                mov    0x8(%ebp),%eax
8994 40008101:       8b 48 04                mov    0x4(%eax),%ecx
8995 40008104:       8b 45 08                mov    0x8(%ebp),%eax
8996 40008107:       8b 00                   mov    (%eax),%eax
8997 40008109:       8b 50 04                mov    0x4(%eax),%edx
8998 4000810c:       8b 5d f4                mov    -0xc(%ebp),%ebx
8999 4000810f:       8b 45 0c                mov    0xc(%ebp),%eax
9000 40008112:       89 44 24 10             mov    %eax,0x10(%esp)
9001 40008116:       89 4c 24 0c             mov    %ecx,0xc(%esp)
9002 4000811a:       89 54 24 08             mov    %edx,0x8(%esp)
9003 4000811e:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
9004 40008125:       00 
9005 40008126:       89 1c 24                mov    %ebx,(%esp)
9006 40008129:       e8 b9 90 00 00          call   400111e7 <rpc_call>
9007 4000812e:       89 45 f8                mov    %eax,-0x8(%ebp)
9008 40008131:       8b 45 f4                mov    -0xc(%ebp),%eax
9009 40008134:       89 04 24                mov    %eax,(%esp)
9010 40008137:       e8 1f 41 00 00          call   4000c25b <free>
9011 4000813c:       eb 07                   jmp    40008145 <seekdir+0x72>
9012 4000813e:       c7 45 f8 f8 ff ff ff    movl   $0xfffffff8,-0x8(%ebp)
9013 40008145:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
9014 40008149:       79 0c                   jns    40008157 <seekdir+0x84>
9015 4000814b:       8b 45 f8                mov    -0x8(%ebp),%eax
9016 4000814e:       89 c2                   mov    %eax,%edx
9017 40008150:       f7 da                   neg    %edx
9018 40008152:       89 55 e8                mov    %edx,-0x18(%ebp)
9019 40008155:       eb 07                   jmp    4000815e <seekdir+0x8b>
9020 40008157:       c7 45 e8 00 00 00 00    movl   $0x0,-0x18(%ebp)
9021 4000815e:       8b 45 e8                mov    -0x18(%ebp),%eax
9022 40008161:       a3 54 59 01 40          mov    %eax,0x40015954
9023 40008166:       83 c4 34                add    $0x34,%esp
9024 40008169:       5b                      pop    %ebx
9025 4000816a:       5d                      pop    %ebp
9026 4000816b:       c3                      ret    
9028 4000816c <telldir>:
9029 4000816c:       55                      push   %ebp
9030 4000816d:       89 e5                   mov    %esp,%ebp
9031 4000816f:       83 ec 28                sub    $0x28,%esp
9032 40008172:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
9033 40008176:       74 5f                   je     400081d7 <telldir+0x6b>
9034 40008178:       8b 45 08                mov    0x8(%ebp),%eax
9035 4000817b:       8b 00                   mov    (%eax),%eax
9036 4000817d:       8b 00                   mov    (%eax),%eax
9037 4000817f:       89 44 24 08             mov    %eax,0x8(%esp)
9038 40008183:       c7 44 24 04 dd 2f 01    movl   $0x40012fdd,0x4(%esp)
9039 4000818a:       40 
9040 4000818b:       8d 45 f8                lea    -0x8(%ebp),%eax
9041 4000818e:       89 04 24                mov    %eax,(%esp)
9042 40008191:       e8 72 e0 ff ff          call   40006208 <asprintf>
9043 40008196:       8b 45 08                mov    0x8(%ebp),%eax
9044 40008199:       8b 48 04                mov    0x4(%eax),%ecx
9045 4000819c:       8b 45 08                mov    0x8(%ebp),%eax
9046 4000819f:       8b 00                   mov    (%eax),%eax
9047 400081a1:       8b 40 04                mov    0x4(%eax),%eax
9048 400081a4:       8b 55 f8                mov    -0x8(%ebp),%edx
9049 400081a7:       c7 44 24 10 ff ff ff    movl   $0xffffffff,0x10(%esp)
9050 400081ae:       ff 
9051 400081af:       89 4c 24 0c             mov    %ecx,0xc(%esp)
9052 400081b3:       89 44 24 08             mov    %eax,0x8(%esp)
9053 400081b7:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
9054 400081be:       00 
9055 400081bf:       89 14 24                mov    %edx,(%esp)
9056 400081c2:       e8 20 90 00 00          call   400111e7 <rpc_call>
9057 400081c7:       89 45 fc                mov    %eax,-0x4(%ebp)
9058 400081ca:       8b 45 f8                mov    -0x8(%ebp),%eax
9059 400081cd:       89 04 24                mov    %eax,(%esp)
9060 400081d0:       e8 86 40 00 00          call   4000c25b <free>
9061 400081d5:       eb 07                   jmp    400081de <telldir+0x72>
9062 400081d7:       c7 45 fc f8 ff ff ff    movl   $0xfffffff8,-0x4(%ebp)
9063 400081de:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
9064 400081e2:       79 0c                   jns    400081f0 <telldir+0x84>
9065 400081e4:       8b 45 fc                mov    -0x4(%ebp),%eax
9066 400081e7:       89 c2                   mov    %eax,%edx
9067 400081e9:       f7 da                   neg    %edx
9068 400081eb:       89 55 ec                mov    %edx,-0x14(%ebp)
9069 400081ee:       eb 07                   jmp    400081f7 <telldir+0x8b>
9070 400081f0:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
9071 400081f7:       8b 45 ec                mov    -0x14(%ebp),%eax
9072 400081fa:       a3 54 59 01 40          mov    %eax,0x40015954
9073 400081ff:       8b 45 fc                mov    -0x4(%ebp),%eax
9074 40008202:       c1 f8 1f                sar    $0x1f,%eax
9075 40008205:       0b 45 fc                or     -0x4(%ebp),%eax
9076 40008208:       c9                      leave  
9077 40008209:       c3                      ret    
9079 4000820a <stat>:
9080 4000820a:       55                      push   %ebp
9081 4000820b:       89 e5                   mov    %esp,%ebp
9082 4000820d:       83 ec 18                sub    $0x18,%esp
9083 40008210:       c7 45 f8 ff ff ff ff    movl   $0xffffffff,-0x8(%ebp)
9084 40008217:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
9085 4000821e:       00 
9086 4000821f:       8b 45 08                mov    0x8(%ebp),%eax
9087 40008222:       89 04 24                mov    %eax,(%esp)
9088 40008225:       e8 4c ee ff ff          call   40007076 <open>
9089 4000822a:       89 45 f4                mov    %eax,-0xc(%ebp)
9090 4000822d:       83 7d f4 ff             cmpl   $0xffffffff,-0xc(%ebp)
9091 40008231:       74 22                   je     40008255 <stat+0x4b>
9092 40008233:       8b 45 0c                mov    0xc(%ebp),%eax
9093 40008236:       89 44 24 04             mov    %eax,0x4(%esp)
9094 4000823a:       8b 45 f4                mov    -0xc(%ebp),%eax
9095 4000823d:       89 04 24                mov    %eax,(%esp)
9096 40008240:       e8 4c 00 00 00          call   40008291 <fstat>
9097 40008245:       89 45 f8                mov    %eax,-0x8(%ebp)
9098 40008248:       8b 45 f4                mov    -0xc(%ebp),%eax
9099 4000824b:       89 04 24                mov    %eax,(%esp)
9100 4000824e:       e8 ca f0 ff ff          call   4000731d <close>
9101 40008253:       eb 37                   jmp    4000828c <stat+0x82>
9102 40008255:       8b 45 08                mov    0x8(%ebp),%eax
9103 40008258:       89 04 24                mov    %eax,(%esp)
9104 4000825b:       e8 a8 fa ff ff          call   40007d08 <opendir>
9105 40008260:       89 45 fc                mov    %eax,-0x4(%ebp)
9106 40008263:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
9107 40008267:       74 23                   je     4000828c <stat+0x82>
9108 40008269:       8b 45 fc                mov    -0x4(%ebp),%eax
9109 4000826c:       8b 50 14                mov    0x14(%eax),%edx
9110 4000826f:       8b 45 0c                mov    0xc(%ebp),%eax
9111 40008272:       89 44 24 04             mov    %eax,0x4(%esp)
9112 40008276:       89 14 24                mov    %edx,(%esp)
9113 40008279:       e8 13 00 00 00          call   40008291 <fstat>
9114 4000827e:       89 45 f8                mov    %eax,-0x8(%ebp)
9115 40008281:       8b 45 fc                mov    -0x4(%ebp),%eax
9116 40008284:       89 04 24                mov    %eax,(%esp)
9117 40008287:       e8 55 fc ff ff          call   40007ee1 <closedir>
9118 4000828c:       8b 45 f8                mov    -0x8(%ebp),%eax
9119 4000828f:       c9                      leave  
9120 40008290:       c3                      ret    
9122 40008291 <fstat>:
9123 40008291:       55                      push   %ebp
9124 40008292:       89 e5                   mov    %esp,%ebp
9125 40008294:       83 ec 28                sub    $0x28,%esp
9126 40008297:       8b 45 08                mov    0x8(%ebp),%eax
9127 4000829a:       89 04 24                mov    %eax,(%esp)
9128 4000829d:       e8 2c e3 ff ff          call   400065ce <lidxbyfh>
9129 400082a2:       8b 15 74 42 01 40       mov    0x40014274,%edx
9130 400082a8:       89 44 24 04             mov    %eax,0x4(%esp)
9131 400082ac:       89 14 24                mov    %edx,(%esp)
9132 400082af:       e8 f7 79 00 00          call   4000fcab <llist_get>
9133 400082b4:       89 45 fc                mov    %eax,-0x4(%ebp)
9134 400082b7:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
9135 400082bb:       0f 84 8f 00 00 00       je     40008350 <fstat+0xbf>
9136 400082c1:       8b 45 fc                mov    -0x4(%ebp),%eax
9137 400082c4:       8b 00                   mov    (%eax),%eax
9138 400082c6:       8b 00                   mov    (%eax),%eax
9139 400082c8:       89 44 24 08             mov    %eax,0x8(%esp)
9140 400082cc:       c7 44 24 04 eb 2f 01    movl   $0x40012feb,0x4(%esp)
9141 400082d3:       40 
9142 400082d4:       8d 45 f4                lea    -0xc(%ebp),%eax
9143 400082d7:       89 04 24                mov    %eax,(%esp)
9144 400082da:       e8 29 df ff ff          call   40006208 <asprintf>
9145 400082df:       c7 44 24 08 34 00 00    movl   $0x34,0x8(%esp)
9146 400082e6:       00 
9147 400082e7:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
9148 400082ee:       00 
9149 400082ef:       8b 45 0c                mov    0xc(%ebp),%eax
9150 400082f2:       89 04 24                mov    %eax,(%esp)
9151 400082f5:       e8 e3 6f 00 00          call   4000f2dd <memset>
9152 400082fa:       8b 45 fc                mov    -0x4(%ebp),%eax
9153 400082fd:       8b 50 04                mov    0x4(%eax),%edx
9154 40008300:       8b 45 fc                mov    -0x4(%ebp),%eax
9155 40008303:       8b 00                   mov    (%eax),%eax
9156 40008305:       8b 40 04                mov    0x4(%eax),%eax
9157 40008308:       8b 4d f4                mov    -0xc(%ebp),%ecx
9158 4000830b:       89 54 24 0c             mov    %edx,0xc(%esp)
9159 4000830f:       89 44 24 08             mov    %eax,0x8(%esp)
9160 40008313:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
9161 4000831a:       00 
9162 4000831b:       89 0c 24                mov    %ecx,(%esp)
9163 4000831e:       e8 c4 8e 00 00          call   400111e7 <rpc_call>
9164 40008323:       89 45 f8                mov    %eax,-0x8(%ebp)
9165 40008326:       8b 45 fc                mov    -0x4(%ebp),%eax
9166 40008329:       8b 40 20                mov    0x20(%eax),%eax
9167 4000832c:       c7 44 24 08 34 00 00    movl   $0x34,0x8(%esp)
9168 40008333:       00 
9169 40008334:       89 44 24 04             mov    %eax,0x4(%esp)
9170 40008338:       8b 45 0c                mov    0xc(%ebp),%eax
9171 4000833b:       89 04 24                mov    %eax,(%esp)
9172 4000833e:       e8 bd 6d 00 00          call   4000f100 <memcpy>
9173 40008343:       8b 45 f4                mov    -0xc(%ebp),%eax
9174 40008346:       89 04 24                mov    %eax,(%esp)
9175 40008349:       e8 0d 3f 00 00          call   4000c25b <free>
9176 4000834e:       eb 07                   jmp    40008357 <fstat+0xc6>
9177 40008350:       c7 45 f8 f8 ff ff ff    movl   $0xfffffff8,-0x8(%ebp)
9178 40008357:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
9179 4000835b:       79 0c                   jns    40008369 <fstat+0xd8>
9180 4000835d:       8b 45 f8                mov    -0x8(%ebp),%eax
9181 40008360:       89 c2                   mov    %eax,%edx
9182 40008362:       f7 da                   neg    %edx
9183 40008364:       89 55 ec                mov    %edx,-0x14(%ebp)
9184 40008367:       eb 07                   jmp    40008370 <fstat+0xdf>
9185 40008369:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
9186 40008370:       8b 45 ec                mov    -0x14(%ebp),%eax
9187 40008373:       a3 54 59 01 40          mov    %eax,0x40015954
9188 40008378:       8b 45 f8                mov    -0x8(%ebp),%eax
9189 4000837b:       c1 f8 1f                sar    $0x1f,%eax
9190 4000837e:       0b 45 f8                or     -0x8(%ebp),%eax
9191 40008381:       c9                      leave  
9192 40008382:       c3                      ret    
9194 40008383 <statvfs>:
9195 40008383:       55                      push   %ebp
9196 40008384:       89 e5                   mov    %esp,%ebp
9197 40008386:       83 ec 38                sub    $0x38,%esp
9198 40008389:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
9199 40008390:       8b 45 08                mov    0x8(%ebp),%eax
9200 40008393:       89 04 24                mov    %eax,(%esp)
9201 40008396:       e8 83 e2 ff ff          call   4000661e <getabsolutepath>
9202 4000839b:       89 45 f4                mov    %eax,-0xc(%ebp)
9203 4000839e:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
9204 400083a5:       00 
9205 400083a6:       8b 45 f4                mov    -0xc(%ebp),%eax
9206 400083a9:       89 04 24                mov    %eax,(%esp)
9207 400083ac:       e8 9f e0 ff ff          call   40006450 <fsbypath>
9208 400083b1:       89 45 f8                mov    %eax,-0x8(%ebp)
9209 400083b4:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
9210 400083b8:       0f 84 18 01 00 00       je     400084d6 <statvfs+0x153>
9211 400083be:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
9212 400083c5:       00 
9213 400083c6:       c7 44 24 04 00 20 00    movl   $0x2000,0x4(%esp)
9214 400083cd:       00 
9215 400083ce:       c7 04 24 00 00 00 00    movl   $0x0,(%esp)
9216 400083d5:       e8 3e 4e 00 00          call   4000d218 <shmget>
9217 400083da:       89 45 fc                mov    %eax,-0x4(%ebp)
9218 400083dd:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
9219 400083e4:       00 
9220 400083e5:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
9221 400083ec:       00 
9222 400083ed:       8b 45 fc                mov    -0x4(%ebp),%eax
9223 400083f0:       89 04 24                mov    %eax,(%esp)
9224 400083f3:       e8 dc 4e 00 00          call   4000d2d4 <shmat>
9225 400083f8:       89 45 f0                mov    %eax,-0x10(%ebp)
9226 400083fb:       83 7d f0 00             cmpl   $0x0,-0x10(%ebp)
9227 400083ff:       0f 84 c5 00 00 00       je     400084ca <statvfs+0x147>
9228 40008405:       8b 45 f8                mov    -0x8(%ebp),%eax
9229 40008408:       8b 00                   mov    (%eax),%eax
9230 4000840a:       89 44 24 08             mov    %eax,0x8(%esp)
9231 4000840e:       c7 44 24 04 f7 2f 01    movl   $0x40012ff7,0x4(%esp)
9232 40008415:       40 
9233 40008416:       8d 45 e8                lea    -0x18(%ebp),%eax
9234 40008419:       89 04 24                mov    %eax,(%esp)
9235 4000841c:       e8 e7 dd ff ff          call   40006208 <asprintf>
9236 40008421:       c7 44 24 08 2c 00 00    movl   $0x2c,0x8(%esp)
9237 40008428:       00 
9238 40008429:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
9239 40008430:       00 
9240 40008431:       8b 45 0c                mov    0xc(%ebp),%eax
9241 40008434:       89 04 24                mov    %eax,(%esp)
9242 40008437:       e8 a1 6e 00 00          call   4000f2dd <memset>
9243 4000843c:       8b 55 f0                mov    -0x10(%ebp),%edx
9244 4000843f:       c7 44 24 08 00 20 00    movl   $0x2000,0x8(%esp)
9245 40008446:       00 
9246 40008447:       8b 45 f4                mov    -0xc(%ebp),%eax
9247 4000844a:       89 44 24 04             mov    %eax,0x4(%esp)
9248 4000844e:       89 14 24                mov    %edx,(%esp)
9249 40008451:       e8 a2 71 00 00          call   4000f5f8 <strncpy>
9250 40008456:       8b 45 f8                mov    -0x8(%ebp),%eax
9251 40008459:       8b 50 04                mov    0x4(%eax),%edx
9252 4000845c:       8b 4d e8                mov    -0x18(%ebp),%ecx
9253 4000845f:       8b 45 fc                mov    -0x4(%ebp),%eax
9254 40008462:       89 44 24 0c             mov    %eax,0xc(%esp)
9255 40008466:       89 54 24 08             mov    %edx,0x8(%esp)
9256 4000846a:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
9257 40008471:       00 
9258 40008472:       89 0c 24                mov    %ecx,(%esp)
9259 40008475:       e8 6d 8d 00 00          call   400111e7 <rpc_call>
9260 4000847a:       89 45 ec                mov    %eax,-0x14(%ebp)
9261 4000847d:       c7 44 24 08 2c 00 00    movl   $0x2c,0x8(%esp)
9262 40008484:       00 
9263 40008485:       8b 45 f0                mov    -0x10(%ebp),%eax
9264 40008488:       89 44 24 04             mov    %eax,0x4(%esp)
9265 4000848c:       8b 45 0c                mov    0xc(%ebp),%eax
9266 4000848f:       89 04 24                mov    %eax,(%esp)
9267 40008492:       e8 69 6c 00 00          call   4000f100 <memcpy>
9268 40008497:       8b 45 e8                mov    -0x18(%ebp),%eax
9269 4000849a:       89 04 24                mov    %eax,(%esp)
9270 4000849d:       e8 b9 3d 00 00          call   4000c25b <free>
9271 400084a2:       8b 45 f0                mov    -0x10(%ebp),%eax
9272 400084a5:       89 04 24                mov    %eax,(%esp)
9273 400084a8:       e8 aa 4e 00 00          call   4000d357 <shmdt>
9274 400084ad:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
9275 400084b4:       00 
9276 400084b5:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
9277 400084bc:       00 
9278 400084bd:       8b 45 fc                mov    -0x4(%ebp),%eax
9279 400084c0:       89 04 24                mov    %eax,(%esp)
9280 400084c3:       e8 ff 4e 00 00          call   4000d3c7 <shmctl>
9281 400084c8:       eb 13                   jmp    400084dd <statvfs+0x15a>
9282 400084ca:       a1 54 59 01 40          mov    0x40015954,%eax
9283 400084cf:       f7 d8                   neg    %eax
9284 400084d1:       89 45 ec                mov    %eax,-0x14(%ebp)
9285 400084d4:       eb 07                   jmp    400084dd <statvfs+0x15a>
9286 400084d6:       c7 45 ec f8 ff ff ff    movl   $0xfffffff8,-0x14(%ebp)
9287 400084dd:       8b 45 f4                mov    -0xc(%ebp),%eax
9288 400084e0:       89 04 24                mov    %eax,(%esp)
9289 400084e3:       e8 73 3d 00 00          call   4000c25b <free>
9290 400084e8:       83 7d ec 00             cmpl   $0x0,-0x14(%ebp)
9291 400084ec:       79 0c                   jns    400084fa <statvfs+0x177>
9292 400084ee:       8b 45 ec                mov    -0x14(%ebp),%eax
9293 400084f1:       89 c2                   mov    %eax,%edx
9294 400084f3:       f7 da                   neg    %edx
9295 400084f5:       89 55 dc                mov    %edx,-0x24(%ebp)
9296 400084f8:       eb 07                   jmp    40008501 <statvfs+0x17e>
9297 400084fa:       c7 45 dc 00 00 00 00    movl   $0x0,-0x24(%ebp)
9298 40008501:       8b 45 dc                mov    -0x24(%ebp),%eax
9299 40008504:       a3 54 59 01 40          mov    %eax,0x40015954
9300 40008509:       8b 45 ec                mov    -0x14(%ebp),%eax
9301 4000850c:       c1 f8 1f                sar    $0x1f,%eax
9302 4000850f:       0b 45 ec                or     -0x14(%ebp),%eax
9303 40008512:       c9                      leave  
9304 40008513:       c3                      ret    
9306 40008514 <readlink>:
9307 40008514:       55                      push   %ebp
9308 40008515:       89 e5                   mov    %esp,%ebp
9309 40008517:       83 ec 38                sub    $0x38,%esp
9310 4000851a:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
9311 40008521:       8b 45 08                mov    0x8(%ebp),%eax
9312 40008524:       89 04 24                mov    %eax,(%esp)
9313 40008527:       e8 f2 e0 ff ff          call   4000661e <getabsolutepath>
9314 4000852c:       89 45 f4                mov    %eax,-0xc(%ebp)
9315 4000852f:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
9316 40008536:       00 
9317 40008537:       8b 45 f4                mov    -0xc(%ebp),%eax
9318 4000853a:       89 04 24                mov    %eax,(%esp)
9319 4000853d:       e8 0e df ff ff          call   40006450 <fsbypath>
9320 40008542:       89 45 f8                mov    %eax,-0x8(%ebp)
9321 40008545:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
9322 40008549:       0f 84 03 01 00 00       je     40008652 <readlink+0x13e>
9323 4000854f:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
9324 40008556:       00 
9325 40008557:       c7 44 24 04 00 20 00    movl   $0x2000,0x4(%esp)
9326 4000855e:       00 
9327 4000855f:       c7 04 24 00 00 00 00    movl   $0x0,(%esp)
9328 40008566:       e8 ad 4c 00 00          call   4000d218 <shmget>
9329 4000856b:       89 45 fc                mov    %eax,-0x4(%ebp)
9330 4000856e:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
9331 40008575:       00 
9332 40008576:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
9333 4000857d:       00 
9334 4000857e:       8b 45 fc                mov    -0x4(%ebp),%eax
9335 40008581:       89 04 24                mov    %eax,(%esp)
9336 40008584:       e8 4b 4d 00 00          call   4000d2d4 <shmat>
9337 40008589:       89 45 f0                mov    %eax,-0x10(%ebp)
9338 4000858c:       83 7d f0 00             cmpl   $0x0,-0x10(%ebp)
9339 40008590:       0f 84 b0 00 00 00       je     40008646 <readlink+0x132>
9340 40008596:       8b 45 f8                mov    -0x8(%ebp),%eax
9341 40008599:       8b 00                   mov    (%eax),%eax
9342 4000859b:       89 44 24 08             mov    %eax,0x8(%esp)
9343 4000859f:       c7 44 24 04 05 30 01    movl   $0x40013005,0x4(%esp)
9344 400085a6:       40 
9345 400085a7:       8d 45 e8                lea    -0x18(%ebp),%eax
9346 400085aa:       89 04 24                mov    %eax,(%esp)
9347 400085ad:       e8 56 dc ff ff          call   40006208 <asprintf>
9348 400085b2:       8b 55 f0                mov    -0x10(%ebp),%edx
9349 400085b5:       c7 44 24 08 00 20 00    movl   $0x2000,0x8(%esp)
9350 400085bc:       00 
9351 400085bd:       8b 45 f4                mov    -0xc(%ebp),%eax
9352 400085c0:       89 44 24 04             mov    %eax,0x4(%esp)
9353 400085c4:       89 14 24                mov    %edx,(%esp)
9354 400085c7:       e8 2c 70 00 00          call   4000f5f8 <strncpy>
9355 400085cc:       8b 45 f8                mov    -0x8(%ebp),%eax
9356 400085cf:       8b 50 04                mov    0x4(%eax),%edx
9357 400085d2:       8b 4d e8                mov    -0x18(%ebp),%ecx
9358 400085d5:       8b 45 10                mov    0x10(%ebp),%eax
9359 400085d8:       89 44 24 10             mov    %eax,0x10(%esp)
9360 400085dc:       8b 45 fc                mov    -0x4(%ebp),%eax
9361 400085df:       89 44 24 0c             mov    %eax,0xc(%esp)
9362 400085e3:       89 54 24 08             mov    %edx,0x8(%esp)
9363 400085e7:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
9364 400085ee:       00 
9365 400085ef:       89 0c 24                mov    %ecx,(%esp)
9366 400085f2:       e8 f0 8b 00 00          call   400111e7 <rpc_call>
9367 400085f7:       89 45 ec                mov    %eax,-0x14(%ebp)
9368 400085fa:       8b 55 f0                mov    -0x10(%ebp),%edx
9369 400085fd:       8b 45 10                mov    0x10(%ebp),%eax
9370 40008600:       89 44 24 08             mov    %eax,0x8(%esp)
9371 40008604:       89 54 24 04             mov    %edx,0x4(%esp)
9372 40008608:       8b 45 0c                mov    0xc(%ebp),%eax
9373 4000860b:       89 04 24                mov    %eax,(%esp)
9374 4000860e:       e8 e5 6f 00 00          call   4000f5f8 <strncpy>
9375 40008613:       8b 45 e8                mov    -0x18(%ebp),%eax
9376 40008616:       89 04 24                mov    %eax,(%esp)
9377 40008619:       e8 3d 3c 00 00          call   4000c25b <free>
9378 4000861e:       8b 45 f0                mov    -0x10(%ebp),%eax
9379 40008621:       89 04 24                mov    %eax,(%esp)
9380 40008624:       e8 2e 4d 00 00          call   4000d357 <shmdt>
9381 40008629:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
9382 40008630:       00 
9383 40008631:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
9384 40008638:       00 
9385 40008639:       8b 45 fc                mov    -0x4(%ebp),%eax
9386 4000863c:       89 04 24                mov    %eax,(%esp)
9387 4000863f:       e8 83 4d 00 00          call   4000d3c7 <shmctl>
9388 40008644:       eb 13                   jmp    40008659 <readlink+0x145>
9389 40008646:       a1 54 59 01 40          mov    0x40015954,%eax
9390 4000864b:       f7 d8                   neg    %eax
9391 4000864d:       89 45 ec                mov    %eax,-0x14(%ebp)
9392 40008650:       eb 07                   jmp    40008659 <readlink+0x145>
9393 40008652:       c7 45 ec f8 ff ff ff    movl   $0xfffffff8,-0x14(%ebp)
9394 40008659:       8b 45 f4                mov    -0xc(%ebp),%eax
9395 4000865c:       89 04 24                mov    %eax,(%esp)
9396 4000865f:       e8 f7 3b 00 00          call   4000c25b <free>
9397 40008664:       83 7d ec 00             cmpl   $0x0,-0x14(%ebp)
9398 40008668:       79 0c                   jns    40008676 <readlink+0x162>
9399 4000866a:       8b 45 ec                mov    -0x14(%ebp),%eax
9400 4000866d:       89 c2                   mov    %eax,%edx
9401 4000866f:       f7 da                   neg    %edx
9402 40008671:       89 55 dc                mov    %edx,-0x24(%ebp)
9403 40008674:       eb 07                   jmp    4000867d <readlink+0x169>
9404 40008676:       c7 45 dc 00 00 00 00    movl   $0x0,-0x24(%ebp)
9405 4000867d:       8b 45 dc                mov    -0x24(%ebp),%eax
9406 40008680:       a3 54 59 01 40          mov    %eax,0x40015954
9407 40008685:       8b 45 ec                mov    -0x14(%ebp),%eax
9408 40008688:       c1 f8 1f                sar    $0x1f,%eax
9409 4000868b:       0b 45 ec                or     -0x14(%ebp),%eax
9410 4000868e:       c9                      leave  
9411 4000868f:       c3                      ret    
9413 40008690 <symlink>:
9414 40008690:       55                      push   %ebp
9415 40008691:       89 e5                   mov    %esp,%ebp
9416 40008693:       83 ec 38                sub    $0x38,%esp
9417 40008696:       8b 45 0c                mov    0xc(%ebp),%eax
9418 40008699:       89 04 24                mov    %eax,(%esp)
9419 4000869c:       e8 7d df ff ff          call   4000661e <getabsolutepath>
9420 400086a1:       89 45 f4                mov    %eax,-0xc(%ebp)
9421 400086a4:       8b 45 08                mov    0x8(%ebp),%eax
9422 400086a7:       89 04 24                mov    %eax,(%esp)
9423 400086aa:       e8 6f df ff ff          call   4000661e <getabsolutepath>
9424 400086af:       89 45 f8                mov    %eax,-0x8(%ebp)
9425 400086b2:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
9426 400086b9:       00 
9427 400086ba:       8b 45 f4                mov    -0xc(%ebp),%eax
9428 400086bd:       89 04 24                mov    %eax,(%esp)
9429 400086c0:       e8 8b dd ff ff          call   40006450 <fsbypath>
9430 400086c5:       89 45 fc                mov    %eax,-0x4(%ebp)
9431 400086c8:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
9432 400086cc:       74 57                   je     40008725 <symlink+0x95>
9433 400086ce:       8b 45 fc                mov    -0x4(%ebp),%eax
9434 400086d1:       8b 00                   mov    (%eax),%eax
9435 400086d3:       89 44 24 08             mov    %eax,0x8(%esp)
9436 400086d7:       c7 44 24 04 14 30 01    movl   $0x40013014,0x4(%esp)
9437 400086de:       40 
9438 400086df:       8d 45 ec                lea    -0x14(%ebp),%eax
9439 400086e2:       89 04 24                mov    %eax,(%esp)
9440 400086e5:       e8 1e db ff ff          call   40006208 <asprintf>
9441 400086ea:       8b 45 fc                mov    -0x4(%ebp),%eax
9442 400086ed:       8b 50 04                mov    0x4(%eax),%edx
9443 400086f0:       8b 4d ec                mov    -0x14(%ebp),%ecx
9444 400086f3:       8b 45 f8                mov    -0x8(%ebp),%eax
9445 400086f6:       89 44 24 10             mov    %eax,0x10(%esp)
9446 400086fa:       8b 45 f4                mov    -0xc(%ebp),%eax
9447 400086fd:       89 44 24 0c             mov    %eax,0xc(%esp)
9448 40008701:       89 54 24 08             mov    %edx,0x8(%esp)
9449 40008705:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
9450 4000870c:       00 
9451 4000870d:       89 0c 24                mov    %ecx,(%esp)
9452 40008710:       e8 d2 8a 00 00          call   400111e7 <rpc_call>
9453 40008715:       89 45 f0                mov    %eax,-0x10(%ebp)
9454 40008718:       8b 45 ec                mov    -0x14(%ebp),%eax
9455 4000871b:       89 04 24                mov    %eax,(%esp)
9456 4000871e:       e8 38 3b 00 00          call   4000c25b <free>
9457 40008723:       eb 07                   jmp    4000872c <symlink+0x9c>
9458 40008725:       c7 45 f0 e4 ff ff ff    movl   $0xffffffe4,-0x10(%ebp)
9459 4000872c:       83 7d f0 00             cmpl   $0x0,-0x10(%ebp)
9460 40008730:       79 0c                   jns    4000873e <symlink+0xae>
9461 40008732:       8b 45 f0                mov    -0x10(%ebp),%eax
9462 40008735:       89 c2                   mov    %eax,%edx
9463 40008737:       f7 da                   neg    %edx
9464 40008739:       89 55 dc                mov    %edx,-0x24(%ebp)
9465 4000873c:       eb 07                   jmp    40008745 <symlink+0xb5>
9466 4000873e:       c7 45 dc 00 00 00 00    movl   $0x0,-0x24(%ebp)
9467 40008745:       8b 45 dc                mov    -0x24(%ebp),%eax
9468 40008748:       a3 54 59 01 40          mov    %eax,0x40015954
9469 4000874d:       8b 45 f0                mov    -0x10(%ebp),%eax
9470 40008750:       c1 f8 1f                sar    $0x1f,%eax
9471 40008753:       0b 45 f0                or     -0x10(%ebp),%eax
9472 40008756:       c9                      leave  
9473 40008757:       c3                      ret    
9475 40008758 <link>:
9476 40008758:       55                      push   %ebp
9477 40008759:       89 e5                   mov    %esp,%ebp
9478 4000875b:       83 ec 38                sub    $0x38,%esp
9479 4000875e:       8b 45 08                mov    0x8(%ebp),%eax
9480 40008761:       89 04 24                mov    %eax,(%esp)
9481 40008764:       e8 b5 de ff ff          call   4000661e <getabsolutepath>
9482 40008769:       89 45 f0                mov    %eax,-0x10(%ebp)
9483 4000876c:       8b 45 0c                mov    0xc(%ebp),%eax
9484 4000876f:       89 04 24                mov    %eax,(%esp)
9485 40008772:       e8 a7 de ff ff          call   4000661e <getabsolutepath>
9486 40008777:       89 45 f4                mov    %eax,-0xc(%ebp)
9487 4000877a:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
9488 40008781:       00 
9489 40008782:       8b 45 f0                mov    -0x10(%ebp),%eax
9490 40008785:       89 04 24                mov    %eax,(%esp)
9491 40008788:       e8 c3 dc ff ff          call   40006450 <fsbypath>
9492 4000878d:       89 45 f8                mov    %eax,-0x8(%ebp)
9493 40008790:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
9494 40008797:       00 
9495 40008798:       8b 45 f4                mov    -0xc(%ebp),%eax
9496 4000879b:       89 04 24                mov    %eax,(%esp)
9497 4000879e:       e8 ad dc ff ff          call   40006450 <fsbypath>
9498 400087a3:       89 45 fc                mov    %eax,-0x4(%ebp)
9499 400087a6:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
9500 400087aa:       74 5f                   je     4000880b <link+0xb3>
9501 400087ac:       8b 45 f8                mov    -0x8(%ebp),%eax
9502 400087af:       3b 45 fc                cmp    -0x4(%ebp),%eax
9503 400087b2:       75 57                   jne    4000880b <link+0xb3>
9504 400087b4:       8b 45 f8                mov    -0x8(%ebp),%eax
9505 400087b7:       8b 00                   mov    (%eax),%eax
9506 400087b9:       89 44 24 08             mov    %eax,0x8(%esp)
9507 400087bd:       c7 44 24 04 22 30 01    movl   $0x40013022,0x4(%esp)
9508 400087c4:       40 
9509 400087c5:       8d 45 e8                lea    -0x18(%ebp),%eax
9510 400087c8:       89 04 24                mov    %eax,(%esp)
9511 400087cb:       e8 38 da ff ff          call   40006208 <asprintf>
9512 400087d0:       8b 45 f8                mov    -0x8(%ebp),%eax
9513 400087d3:       8b 50 04                mov    0x4(%eax),%edx
9514 400087d6:       8b 4d e8                mov    -0x18(%ebp),%ecx
9515 400087d9:       8b 45 0c                mov    0xc(%ebp),%eax
9516 400087dc:       89 44 24 10             mov    %eax,0x10(%esp)
9517 400087e0:       8b 45 08                mov    0x8(%ebp),%eax
9518 400087e3:       89 44 24 0c             mov    %eax,0xc(%esp)
9519 400087e7:       89 54 24 08             mov    %edx,0x8(%esp)
9520 400087eb:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
9521 400087f2:       00 
9522 400087f3:       89 0c 24                mov    %ecx,(%esp)
9523 400087f6:       e8 ec 89 00 00          call   400111e7 <rpc_call>
9524 400087fb:       89 45 ec                mov    %eax,-0x14(%ebp)
9525 400087fe:       8b 45 e8                mov    -0x18(%ebp),%eax
9526 40008801:       89 04 24                mov    %eax,(%esp)
9527 40008804:       e8 52 3a 00 00          call   4000c25b <free>
9528 40008809:       eb 07                   jmp    40008812 <link+0xba>
9529 4000880b:       c7 45 ec e4 ff ff ff    movl   $0xffffffe4,-0x14(%ebp)
9530 40008812:       83 7d ec 00             cmpl   $0x0,-0x14(%ebp)
9531 40008816:       79 0c                   jns    40008824 <link+0xcc>
9532 40008818:       8b 45 ec                mov    -0x14(%ebp),%eax
9533 4000881b:       89 c2                   mov    %eax,%edx
9534 4000881d:       f7 da                   neg    %edx
9535 4000881f:       89 55 dc                mov    %edx,-0x24(%ebp)
9536 40008822:       eb 07                   jmp    4000882b <link+0xd3>
9537 40008824:       c7 45 dc 00 00 00 00    movl   $0x0,-0x24(%ebp)
9538 4000882b:       8b 45 dc                mov    -0x24(%ebp),%eax
9539 4000882e:       a3 54 59 01 40          mov    %eax,0x40015954
9540 40008833:       8b 45 ec                mov    -0x14(%ebp),%eax
9541 40008836:       c1 f8 1f                sar    $0x1f,%eax
9542 40008839:       0b 45 ec                or     -0x14(%ebp),%eax
9543 4000883c:       c9                      leave  
9544 4000883d:       c3                      ret    
9546 4000883e <chown>:
9547 4000883e:       55                      push   %ebp
9548 4000883f:       89 e5                   mov    %esp,%ebp
9549 40008841:       83 ec 38                sub    $0x38,%esp
9550 40008844:       8b 45 08                mov    0x8(%ebp),%eax
9551 40008847:       89 04 24                mov    %eax,(%esp)
9552 4000884a:       e8 cf dd ff ff          call   4000661e <getabsolutepath>
9553 4000884f:       89 45 f8                mov    %eax,-0x8(%ebp)
9554 40008852:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
9555 40008859:       00 
9556 4000885a:       8b 45 f8                mov    -0x8(%ebp),%eax
9557 4000885d:       89 04 24                mov    %eax,(%esp)
9558 40008860:       e8 eb db ff ff          call   40006450 <fsbypath>
9559 40008865:       89 45 fc                mov    %eax,-0x4(%ebp)
9560 40008868:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
9561 4000886c:       74 5e                   je     400088cc <chown+0x8e>
9562 4000886e:       8b 45 fc                mov    -0x4(%ebp),%eax
9563 40008871:       8b 00                   mov    (%eax),%eax
9564 40008873:       89 44 24 08             mov    %eax,0x8(%esp)
9565 40008877:       c7 44 24 04 2d 30 01    movl   $0x4001302d,0x4(%esp)
9566 4000887e:       40 
9567 4000887f:       8d 45 f0                lea    -0x10(%ebp),%eax
9568 40008882:       89 04 24                mov    %eax,(%esp)
9569 40008885:       e8 7e d9 ff ff          call   40006208 <asprintf>
9570 4000888a:       8b 45 fc                mov    -0x4(%ebp),%eax
9571 4000888d:       8b 50 04                mov    0x4(%eax),%edx
9572 40008890:       8b 4d f0                mov    -0x10(%ebp),%ecx
9573 40008893:       8b 45 10                mov    0x10(%ebp),%eax
9574 40008896:       89 44 24 14             mov    %eax,0x14(%esp)
9575 4000889a:       8b 45 0c                mov    0xc(%ebp),%eax
9576 4000889d:       89 44 24 10             mov    %eax,0x10(%esp)
9577 400088a1:       8b 45 f8                mov    -0x8(%ebp),%eax
9578 400088a4:       89 44 24 0c             mov    %eax,0xc(%esp)
9579 400088a8:       89 54 24 08             mov    %edx,0x8(%esp)
9580 400088ac:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
9581 400088b3:       00 
9582 400088b4:       89 0c 24                mov    %ecx,(%esp)
9583 400088b7:       e8 2b 89 00 00          call   400111e7 <rpc_call>
9584 400088bc:       89 45 f4                mov    %eax,-0xc(%ebp)
9585 400088bf:       8b 45 f0                mov    -0x10(%ebp),%eax
9586 400088c2:       89 04 24                mov    %eax,(%esp)
9587 400088c5:       e8 91 39 00 00          call   4000c25b <free>
9588 400088ca:       eb 07                   jmp    400088d3 <chown+0x95>
9589 400088cc:       c7 45 f4 e4 ff ff ff    movl   $0xffffffe4,-0xc(%ebp)
9590 400088d3:       8b 45 f8                mov    -0x8(%ebp),%eax
9591 400088d6:       89 04 24                mov    %eax,(%esp)
9592 400088d9:       e8 7d 39 00 00          call   4000c25b <free>
9593 400088de:       83 7d f4 00             cmpl   $0x0,-0xc(%ebp)
9594 400088e2:       79 0c                   jns    400088f0 <chown+0xb2>
9595 400088e4:       8b 45 f4                mov    -0xc(%ebp),%eax
9596 400088e7:       89 c2                   mov    %eax,%edx
9597 400088e9:       f7 da                   neg    %edx
9598 400088eb:       89 55 ec                mov    %edx,-0x14(%ebp)
9599 400088ee:       eb 07                   jmp    400088f7 <chown+0xb9>
9600 400088f0:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
9601 400088f7:       8b 45 ec                mov    -0x14(%ebp),%eax
9602 400088fa:       a3 54 59 01 40          mov    %eax,0x40015954
9603 400088ff:       8b 45 f4                mov    -0xc(%ebp),%eax
9604 40008902:       c1 f8 1f                sar    $0x1f,%eax
9605 40008905:       0b 45 f4                or     -0xc(%ebp),%eax
9606 40008908:       c9                      leave  
9607 40008909:       c3                      ret    
9609 4000890a <fchown>:
9610 4000890a:       55                      push   %ebp
9611 4000890b:       89 e5                   mov    %esp,%ebp
9612 4000890d:       83 ec 28                sub    $0x28,%esp
9613 40008910:       8b 45 08                mov    0x8(%ebp),%eax
9614 40008913:       89 04 24                mov    %eax,(%esp)
9615 40008916:       e8 b3 dc ff ff          call   400065ce <lidxbyfh>
9616 4000891b:       8b 15 74 42 01 40       mov    0x40014274,%edx
9617 40008921:       89 44 24 04             mov    %eax,0x4(%esp)
9618 40008925:       89 14 24                mov    %edx,(%esp)
9619 40008928:       e8 7e 73 00 00          call   4000fcab <llist_get>
9620 4000892d:       89 45 fc                mov    %eax,-0x4(%ebp)
9621 40008930:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
9622 40008934:       74 21                   je     40008957 <fchown+0x4d>
9623 40008936:       8b 45 fc                mov    -0x4(%ebp),%eax
9624 40008939:       8b 50 18                mov    0x18(%eax),%edx
9625 4000893c:       8b 45 10                mov    0x10(%ebp),%eax
9626 4000893f:       89 44 24 08             mov    %eax,0x8(%esp)
9627 40008943:       8b 45 0c                mov    0xc(%ebp),%eax
9628 40008946:       89 44 24 04             mov    %eax,0x4(%esp)
9629 4000894a:       89 14 24                mov    %edx,(%esp)
9630 4000894d:       e8 ec fe ff ff          call   4000883e <chown>
9631 40008952:       89 45 f8                mov    %eax,-0x8(%ebp)
9632 40008955:       eb 07                   jmp    4000895e <fchown+0x54>
9633 40008957:       c7 45 f8 f8 ff ff ff    movl   $0xfffffff8,-0x8(%ebp)
9634 4000895e:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
9635 40008962:       79 0c                   jns    40008970 <fchown+0x66>
9636 40008964:       8b 45 f8                mov    -0x8(%ebp),%eax
9637 40008967:       89 c2                   mov    %eax,%edx
9638 40008969:       f7 da                   neg    %edx
9639 4000896b:       89 55 ec                mov    %edx,-0x14(%ebp)
9640 4000896e:       eb 07                   jmp    40008977 <fchown+0x6d>
9641 40008970:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
9642 40008977:       8b 45 ec                mov    -0x14(%ebp),%eax
9643 4000897a:       a3 54 59 01 40          mov    %eax,0x40015954
9644 4000897f:       8b 45 f8                mov    -0x8(%ebp),%eax
9645 40008982:       c1 f8 1f                sar    $0x1f,%eax
9646 40008985:       0b 45 f8                or     -0x8(%ebp),%eax
9647 40008988:       c9                      leave  
9648 40008989:       c3                      ret    
9650 4000898a <chmod>:
9651 4000898a:       55                      push   %ebp
9652 4000898b:       89 e5                   mov    %esp,%ebp
9653 4000898d:       83 ec 28                sub    $0x28,%esp
9654 40008990:       8b 45 08                mov    0x8(%ebp),%eax
9655 40008993:       89 04 24                mov    %eax,(%esp)
9656 40008996:       e8 83 dc ff ff          call   4000661e <getabsolutepath>
9657 4000899b:       89 45 f8                mov    %eax,-0x8(%ebp)
9658 4000899e:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
9659 400089a5:       00 
9660 400089a6:       8b 45 f8                mov    -0x8(%ebp),%eax
9661 400089a9:       89 04 24                mov    %eax,(%esp)
9662 400089ac:       e8 9f da ff ff          call   40006450 <fsbypath>
9663 400089b1:       89 45 fc                mov    %eax,-0x4(%ebp)
9664 400089b4:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
9665 400089b8:       74 57                   je     40008a11 <chmod+0x87>
9666 400089ba:       8b 45 fc                mov    -0x4(%ebp),%eax
9667 400089bd:       8b 00                   mov    (%eax),%eax
9668 400089bf:       89 44 24 08             mov    %eax,0x8(%esp)
9669 400089c3:       c7 44 24 04 39 30 01    movl   $0x40013039,0x4(%esp)
9670 400089ca:       40 
9671 400089cb:       8d 45 f0                lea    -0x10(%ebp),%eax
9672 400089ce:       89 04 24                mov    %eax,(%esp)
9673 400089d1:       e8 32 d8 ff ff          call   40006208 <asprintf>
9674 400089d6:       8b 45 fc                mov    -0x4(%ebp),%eax
9675 400089d9:       8b 50 04                mov    0x4(%eax),%edx
9676 400089dc:       8b 4d f0                mov    -0x10(%ebp),%ecx
9677 400089df:       8b 45 0c                mov    0xc(%ebp),%eax
9678 400089e2:       89 44 24 10             mov    %eax,0x10(%esp)
9679 400089e6:       8b 45 f8                mov    -0x8(%ebp),%eax
9680 400089e9:       89 44 24 0c             mov    %eax,0xc(%esp)
9681 400089ed:       89 54 24 08             mov    %edx,0x8(%esp)
9682 400089f1:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
9683 400089f8:       00 
9684 400089f9:       89 0c 24                mov    %ecx,(%esp)
9685 400089fc:       e8 e6 87 00 00          call   400111e7 <rpc_call>
9686 40008a01:       89 45 f4                mov    %eax,-0xc(%ebp)
9687 40008a04:       8b 45 f0                mov    -0x10(%ebp),%eax
9688 40008a07:       89 04 24                mov    %eax,(%esp)
9689 40008a0a:       e8 4c 38 00 00          call   4000c25b <free>
9690 40008a0f:       eb 07                   jmp    40008a18 <chmod+0x8e>
9691 40008a11:       c7 45 f4 e4 ff ff ff    movl   $0xffffffe4,-0xc(%ebp)
9692 40008a18:       8b 45 f8                mov    -0x8(%ebp),%eax
9693 40008a1b:       89 04 24                mov    %eax,(%esp)
9694 40008a1e:       e8 38 38 00 00          call   4000c25b <free>
9695 40008a23:       83 7d f4 00             cmpl   $0x0,-0xc(%ebp)
9696 40008a27:       79 0c                   jns    40008a35 <chmod+0xab>
9697 40008a29:       8b 45 f4                mov    -0xc(%ebp),%eax
9698 40008a2c:       89 c2                   mov    %eax,%edx
9699 40008a2e:       f7 da                   neg    %edx
9700 40008a30:       89 55 ec                mov    %edx,-0x14(%ebp)
9701 40008a33:       eb 07                   jmp    40008a3c <chmod+0xb2>
9702 40008a35:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
9703 40008a3c:       8b 45 ec                mov    -0x14(%ebp),%eax
9704 40008a3f:       a3 54 59 01 40          mov    %eax,0x40015954
9705 40008a44:       8b 45 f4                mov    -0xc(%ebp),%eax
9706 40008a47:       c1 f8 1f                sar    $0x1f,%eax
9707 40008a4a:       0b 45 f4                or     -0xc(%ebp),%eax
9708 40008a4d:       c9                      leave  
9709 40008a4e:       c3                      ret    
9711 40008a4f <fchmod>:
9712 40008a4f:       55                      push   %ebp
9713 40008a50:       89 e5                   mov    %esp,%ebp
9714 40008a52:       83 ec 28                sub    $0x28,%esp
9715 40008a55:       8b 45 08                mov    0x8(%ebp),%eax
9716 40008a58:       89 04 24                mov    %eax,(%esp)
9717 40008a5b:       e8 6e db ff ff          call   400065ce <lidxbyfh>
9718 40008a60:       8b 15 74 42 01 40       mov    0x40014274,%edx
9719 40008a66:       89 44 24 04             mov    %eax,0x4(%esp)
9720 40008a6a:       89 14 24                mov    %edx,(%esp)
9721 40008a6d:       e8 39 72 00 00          call   4000fcab <llist_get>
9722 40008a72:       89 45 fc                mov    %eax,-0x4(%ebp)
9723 40008a75:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
9724 40008a79:       74 29                   je     40008aa4 <fchmod+0x55>
9725 40008a7b:       8b 45 fc                mov    -0x4(%ebp),%eax
9726 40008a7e:       8b 50 18                mov    0x18(%eax),%edx
9727 40008a81:       8b 45 0c                mov    0xc(%ebp),%eax
9728 40008a84:       89 44 24 04             mov    %eax,0x4(%esp)
9729 40008a88:       89 14 24                mov    %edx,(%esp)
9730 40008a8b:       e8 fa fe ff ff          call   4000898a <chmod>
9731 40008a90:       89 45 f8                mov    %eax,-0x8(%ebp)
9732 40008a93:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
9733 40008a97:       75 12                   jne    40008aab <fchmod+0x5c>
9734 40008a99:       8b 55 fc                mov    -0x4(%ebp),%edx
9735 40008a9c:       8b 45 0c                mov    0xc(%ebp),%eax
9736 40008a9f:       89 42 0c                mov    %eax,0xc(%edx)
9737 40008aa2:       eb 07                   jmp    40008aab <fchmod+0x5c>
9738 40008aa4:       c7 45 f8 f8 ff ff ff    movl   $0xfffffff8,-0x8(%ebp)
9739 40008aab:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
9740 40008aaf:       79 0c                   jns    40008abd <fchmod+0x6e>
9741 40008ab1:       8b 45 f8                mov    -0x8(%ebp),%eax
9742 40008ab4:       89 c2                   mov    %eax,%edx
9743 40008ab6:       f7 da                   neg    %edx
9744 40008ab8:       89 55 ec                mov    %edx,-0x14(%ebp)
9745 40008abb:       eb 07                   jmp    40008ac4 <fchmod+0x75>
9746 40008abd:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
9747 40008ac4:       8b 45 ec                mov    -0x14(%ebp),%eax
9748 40008ac7:       a3 54 59 01 40          mov    %eax,0x40015954
9749 40008acc:       8b 45 f8                mov    -0x8(%ebp),%eax
9750 40008acf:       c1 f8 1f                sar    $0x1f,%eax
9751 40008ad2:       0b 45 f8                or     -0x8(%ebp),%eax
9752 40008ad5:       c9                      leave  
9753 40008ad6:       c3                      ret    
9755 40008ad7 <utime>:
9756 40008ad7:       55                      push   %ebp
9757 40008ad8:       89 e5                   mov    %esp,%ebp
9758 40008ada:       83 ec 38                sub    $0x38,%esp
9759 40008add:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
9760 40008ae4:       8b 45 08                mov    0x8(%ebp),%eax
9761 40008ae7:       89 04 24                mov    %eax,(%esp)
9762 40008aea:       e8 2f db ff ff          call   4000661e <getabsolutepath>
9763 40008aef:       89 45 f4                mov    %eax,-0xc(%ebp)
9764 40008af2:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
9765 40008af9:       00 
9766 40008afa:       8b 45 f4                mov    -0xc(%ebp),%eax
9767 40008afd:       89 04 24                mov    %eax,(%esp)
9768 40008b00:       e8 4b d9 ff ff          call   40006450 <fsbypath>
9769 40008b05:       89 45 f8                mov    %eax,-0x8(%ebp)
9770 40008b08:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
9771 40008b0c:       0f 84 0d 01 00 00       je     40008c1f <utime+0x148>
9772 40008b12:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
9773 40008b19:       00 
9774 40008b1a:       c7 44 24 04 00 20 00    movl   $0x2000,0x4(%esp)
9775 40008b21:       00 
9776 40008b22:       c7 04 24 00 00 00 00    movl   $0x0,(%esp)
9777 40008b29:       e8 ea 46 00 00          call   4000d218 <shmget>
9778 40008b2e:       89 45 fc                mov    %eax,-0x4(%ebp)
9779 40008b31:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
9780 40008b38:       00 
9781 40008b39:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
9782 40008b40:       00 
9783 40008b41:       8b 45 fc                mov    -0x4(%ebp),%eax
9784 40008b44:       89 04 24                mov    %eax,(%esp)
9785 40008b47:       e8 88 47 00 00          call   4000d2d4 <shmat>
9786 40008b4c:       89 45 f0                mov    %eax,-0x10(%ebp)
9787 40008b4f:       83 7d f0 00             cmpl   $0x0,-0x10(%ebp)
9788 40008b53:       0f 84 ba 00 00 00       je     40008c13 <utime+0x13c>
9789 40008b59:       8b 45 f8                mov    -0x8(%ebp),%eax
9790 40008b5c:       8b 00                   mov    (%eax),%eax
9791 40008b5e:       89 44 24 08             mov    %eax,0x8(%esp)
9792 40008b62:       c7 44 24 04 45 30 01    movl   $0x40013045,0x4(%esp)
9793 40008b69:       40 
9794 40008b6a:       8d 45 e8                lea    -0x18(%ebp),%eax
9795 40008b6d:       89 04 24                mov    %eax,(%esp)
9796 40008b70:       e8 93 d6 ff ff          call   40006208 <asprintf>
9797 40008b75:       8b 55 f0                mov    -0x10(%ebp),%edx
9798 40008b78:       c7 44 24 08 00 20 00    movl   $0x2000,0x8(%esp)
9799 40008b7f:       00 
9800 40008b80:       8b 45 08                mov    0x8(%ebp),%eax
9801 40008b83:       89 44 24 04             mov    %eax,0x4(%esp)
9802 40008b87:       89 14 24                mov    %edx,(%esp)
9803 40008b8a:       e8 69 6a 00 00          call   4000f5f8 <strncpy>
9804 40008b8f:       8b 45 f0                mov    -0x10(%ebp),%eax
9805 40008b92:       89 04 24                mov    %eax,(%esp)
9806 40008b95:       e8 1e 69 00 00          call   4000f4b8 <strlen>
9807 40008b9a:       83 c0 01                add    $0x1,%eax
9808 40008b9d:       89 c2                   mov    %eax,%edx
9809 40008b9f:       03 55 f0                add    -0x10(%ebp),%edx
9810 40008ba2:       c7 44 24 08 08 00 00    movl   $0x8,0x8(%esp)
9811 40008ba9:       00 
9812 40008baa:       8b 45 0c                mov    0xc(%ebp),%eax
9813 40008bad:       89 44 24 04             mov    %eax,0x4(%esp)
9814 40008bb1:       89 14 24                mov    %edx,(%esp)
9815 40008bb4:       e8 47 65 00 00          call   4000f100 <memcpy>
9816 40008bb9:       8b 45 f8                mov    -0x8(%ebp),%eax
9817 40008bbc:       8b 50 04                mov    0x4(%eax),%edx
9818 40008bbf:       8b 4d e8                mov    -0x18(%ebp),%ecx
9819 40008bc2:       8b 45 fc                mov    -0x4(%ebp),%eax
9820 40008bc5:       89 44 24 0c             mov    %eax,0xc(%esp)
9821 40008bc9:       89 54 24 08             mov    %edx,0x8(%esp)
9822 40008bcd:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
9823 40008bd4:       00 
9824 40008bd5:       89 0c 24                mov    %ecx,(%esp)
9825 40008bd8:       e8 0a 86 00 00          call   400111e7 <rpc_call>
9826 40008bdd:       89 45 ec                mov    %eax,-0x14(%ebp)
9827 40008be0:       8b 45 e8                mov    -0x18(%ebp),%eax
9828 40008be3:       89 04 24                mov    %eax,(%esp)
9829 40008be6:       e8 70 36 00 00          call   4000c25b <free>
9830 40008beb:       8b 45 f0                mov    -0x10(%ebp),%eax
9831 40008bee:       89 04 24                mov    %eax,(%esp)
9832 40008bf1:       e8 61 47 00 00          call   4000d357 <shmdt>
9833 40008bf6:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
9834 40008bfd:       00 
9835 40008bfe:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
9836 40008c05:       00 
9837 40008c06:       8b 45 fc                mov    -0x4(%ebp),%eax
9838 40008c09:       89 04 24                mov    %eax,(%esp)
9839 40008c0c:       e8 b6 47 00 00          call   4000d3c7 <shmctl>
9840 40008c11:       eb 13                   jmp    40008c26 <utime+0x14f>
9841 40008c13:       a1 54 59 01 40          mov    0x40015954,%eax
9842 40008c18:       f7 d8                   neg    %eax
9843 40008c1a:       89 45 ec                mov    %eax,-0x14(%ebp)
9844 40008c1d:       eb 07                   jmp    40008c26 <utime+0x14f>
9845 40008c1f:       c7 45 ec f8 ff ff ff    movl   $0xfffffff8,-0x14(%ebp)
9846 40008c26:       8b 45 f4                mov    -0xc(%ebp),%eax
9847 40008c29:       89 04 24                mov    %eax,(%esp)
9848 40008c2c:       e8 2a 36 00 00          call   4000c25b <free>
9849 40008c31:       83 7d ec 00             cmpl   $0x0,-0x14(%ebp)
9850 40008c35:       79 0c                   jns    40008c43 <utime+0x16c>
9851 40008c37:       8b 45 ec                mov    -0x14(%ebp),%eax
9852 40008c3a:       89 c2                   mov    %eax,%edx
9853 40008c3c:       f7 da                   neg    %edx
9854 40008c3e:       89 55 dc                mov    %edx,-0x24(%ebp)
9855 40008c41:       eb 07                   jmp    40008c4a <utime+0x173>
9856 40008c43:       c7 45 dc 00 00 00 00    movl   $0x0,-0x24(%ebp)
9857 40008c4a:       8b 45 dc                mov    -0x24(%ebp),%eax
9858 40008c4d:       a3 54 59 01 40          mov    %eax,0x40015954
9859 40008c52:       8b 45 ec                mov    -0x14(%ebp),%eax
9860 40008c55:       c1 f8 1f                sar    $0x1f,%eax
9861 40008c58:       0b 45 ec                or     -0x14(%ebp),%eax
9862 40008c5b:       c9                      leave  
9863 40008c5c:       c3                      ret    
9865 40008c5d <umask>:
9866 40008c5d:       55                      push   %ebp
9867 40008c5e:       89 e5                   mov    %esp,%ebp
9868 40008c60:       83 ec 10                sub    $0x10,%esp
9869 40008c63:       a1 8c 42 01 40          mov    0x4001428c,%eax
9870 40008c68:       89 45 fc                mov    %eax,-0x4(%ebp)
9871 40008c6b:       8b 45 08                mov    0x8(%ebp),%eax
9872 40008c6e:       25 ff 01 00 00          and    $0x1ff,%eax
9873 40008c73:       a3 8c 42 01 40          mov    %eax,0x4001428c
9874 40008c78:       8b 45 fc                mov    -0x4(%ebp),%eax
9875 40008c7b:       c9                      leave  
9876 40008c7c:       c3                      ret    
9878 40008c7d <socket>:
9879 40008c7d:       55                      push   %ebp
9880 40008c7e:       89 e5                   mov    %esp,%ebp
9881 40008c80:       b8 ff ff ff ff          mov    $0xffffffff,%eax
9882 40008c85:       5d                      pop    %ebp
9883 40008c86:       c3                      ret    
9884 40008c87:       90                      nop    
9886 40008c88 <fprintf>:
9887 40008c88:       55                      push   %ebp
9888 40008c89:       89 e5                   mov    %esp,%ebp
9889 40008c8b:       83 ec 28                sub    $0x28,%esp
9890 40008c8e:       8d 45 10                lea    0x10(%ebp),%eax
9891 40008c91:       89 45 f8                mov    %eax,-0x8(%ebp)
9892 40008c94:       8b 45 f8                mov    -0x8(%ebp),%eax
9893 40008c97:       89 44 24 08             mov    %eax,0x8(%esp)
9894 40008c9b:       8b 45 0c                mov    0xc(%ebp),%eax
9895 40008c9e:       89 44 24 04             mov    %eax,0x4(%esp)
9896 40008ca2:       8b 45 08                mov    0x8(%ebp),%eax
9897 40008ca5:       89 04 24                mov    %eax,(%esp)
9898 40008ca8:       e8 9b 57 00 00          call   4000e448 <vfprintf>
9899 40008cad:       89 45 fc                mov    %eax,-0x4(%ebp)
9900 40008cb0:       8b 45 fc                mov    -0x4(%ebp),%eax
9901 40008cb3:       c9                      leave  
9902 40008cb4:       c3                      ret    
9903 40008cb5:       90                      nop    
9904 40008cb6:       90                      nop    
9905 40008cb7:       90                      nop    
9907 40008cb8 <segment_holding>:
9908 40008cb8:       55                      push   %ebp
9909 40008cb9:       89 e5                   mov    %esp,%ebp
9910 40008cbb:       83 ec 14                sub    $0x14,%esp
9911 40008cbe:       8b 45 08                mov    0x8(%ebp),%eax
9912 40008cc1:       05 b8 01 00 00          add    $0x1b8,%eax
9913 40008cc6:       89 45 fc                mov    %eax,-0x4(%ebp)
9914 40008cc9:       8b 45 fc                mov    -0x4(%ebp),%eax
9915 40008ccc:       8b 00                   mov    (%eax),%eax
9916 40008cce:       3b 45 0c                cmp    0xc(%ebp),%eax
9917 40008cd1:       77 1b                   ja     40008cee <segment_holding+0x36>
9918 40008cd3:       8b 45 fc                mov    -0x4(%ebp),%eax
9919 40008cd6:       8b 10                   mov    (%eax),%edx
9920 40008cd8:       8b 45 fc                mov    -0x4(%ebp),%eax
9921 40008cdb:       8b 40 04                mov    0x4(%eax),%eax
9922 40008cde:       8d 04 02                lea    (%edx,%eax,1),%eax
9923 40008ce1:       3b 45 0c                cmp    0xc(%ebp),%eax
9924 40008ce4:       76 08                   jbe    40008cee <segment_holding+0x36>
9925 40008ce6:       8b 45 fc                mov    -0x4(%ebp),%eax
9926 40008ce9:       89 45 ec                mov    %eax,-0x14(%ebp)
9927 40008cec:       eb 16                   jmp    40008d04 <segment_holding+0x4c>
9928 40008cee:       8b 45 fc                mov    -0x4(%ebp),%eax
9929 40008cf1:       8b 40 08                mov    0x8(%eax),%eax
9930 40008cf4:       89 45 fc                mov    %eax,-0x4(%ebp)
9931 40008cf7:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
9932 40008cfb:       75 cc                   jne    40008cc9 <segment_holding+0x11>
9933 40008cfd:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
9934 40008d04:       8b 45 ec                mov    -0x14(%ebp),%eax
9935 40008d07:       c9                      leave  
9936 40008d08:       c3                      ret    
9938 40008d09 <has_segment_link>:
9939 40008d09:       55                      push   %ebp
9940 40008d0a:       89 e5                   mov    %esp,%ebp
9941 40008d0c:       83 ec 14                sub    $0x14,%esp
9942 40008d0f:       8b 45 08                mov    0x8(%ebp),%eax
9943 40008d12:       05 b8 01 00 00          add    $0x1b8,%eax
9944 40008d17:       89 45 fc                mov    %eax,-0x4(%ebp)
9945 40008d1a:       8b 45 0c                mov    0xc(%ebp),%eax
9946 40008d1d:       8b 10                   mov    (%eax),%edx
9947 40008d1f:       8b 45 fc                mov    -0x4(%ebp),%eax
9948 40008d22:       39 c2                   cmp    %eax,%edx
9949 40008d24:       77 1d                   ja     40008d43 <has_segment_link+0x3a>
9950 40008d26:       8b 45 0c                mov    0xc(%ebp),%eax
9951 40008d29:       8b 10                   mov    (%eax),%edx
9952 40008d2b:       8b 45 0c                mov    0xc(%ebp),%eax
9953 40008d2e:       8b 40 04                mov    0x4(%eax),%eax
9954 40008d31:       01 c2                   add    %eax,%edx
9955 40008d33:       8b 45 fc                mov    -0x4(%ebp),%eax
9956 40008d36:       39 c2                   cmp    %eax,%edx
9957 40008d38:       76 09                   jbe    40008d43 <has_segment_link+0x3a>
9958 40008d3a:       c7 45 ec 01 00 00 00    movl   $0x1,-0x14(%ebp)
9959 40008d41:       eb 16                   jmp    40008d59 <has_segment_link+0x50>
9960 40008d43:       8b 45 fc                mov    -0x4(%ebp),%eax
9961 40008d46:       8b 40 08                mov    0x8(%eax),%eax
9962 40008d49:       89 45 fc                mov    %eax,-0x4(%ebp)
9963 40008d4c:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
9964 40008d50:       75 c8                   jne    40008d1a <has_segment_link+0x11>
9965 40008d52:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
9966 40008d59:       8b 45 ec                mov    -0x14(%ebp),%eax
9967 40008d5c:       c9                      leave  
9968 40008d5d:       c3                      ret    
9970 40008d5e <init_mparams>:
9971 40008d5e:       55                      push   %ebp
9972 40008d5f:       89 e5                   mov    %esp,%ebp
9973 40008d61:       83 ec 18                sub    $0x18,%esp
9974 40008d64:       a1 a4 42 01 40          mov    0x400142a4,%eax
9975 40008d69:       85 c0                   test   %eax,%eax
9976 40008d6b:       0f 85 81 00 00 00       jne    40008df2 <init_mparams+0x94>
9977 40008d71:       c7 05 ac 42 01 40 ff    movl   $0xffffffff,0x400142ac
9978 40008d78:       ff ff ff 
9979 40008d7b:       c7 05 b0 42 01 40 ff    movl   $0xffffffff,0x400142b0
9980 40008d82:       ff ff ff 
9981 40008d85:       c7 05 b4 42 01 40 00    movl   $0x0,0x400142b4
9982 40008d8c:       00 00 00 
9983 40008d8f:       c7 45 fc 58 58 58 58    movl   $0x58585858,-0x4(%ebp)
9984 40008d96:       a1 a0 42 01 40          mov    0x400142a0,%eax
9985 40008d9b:       85 c0                   test   %eax,%eax
9986 40008d9d:       75 12                   jne    40008db1 <init_mparams+0x53>
9987 40008d9f:       8b 45 fc                mov    -0x4(%ebp),%eax
9988 40008da2:       a3 a0 42 01 40          mov    %eax,0x400142a0
9989 40008da7:       a1 b4 42 01 40          mov    0x400142b4,%eax
9990 40008dac:       a3 74 44 01 40          mov    %eax,0x40014474
9991 40008db1:       c7 05 a4 42 01 40 00    movl   $0x1000,0x400142a4
9992 40008db8:       10 00 00 
9993 40008dbb:       a1 a4 42 01 40          mov    0x400142a4,%eax
9994 40008dc0:       a3 a8 42 01 40          mov    %eax,0x400142a8
9995 40008dc5:       8b 15 a8 42 01 40       mov    0x400142a8,%edx
9996 40008dcb:       a1 a8 42 01 40          mov    0x400142a8,%eax
9997 40008dd0:       83 e8 01                sub    $0x1,%eax
9998 40008dd3:       21 d0                   and    %edx,%eax
9999 40008dd5:       85 c0                   test   %eax,%eax
10000 40008dd7:       75 14                   jne    40008ded <init_mparams+0x8f>
10001 40008dd9:       8b 15 a4 42 01 40       mov    0x400142a4,%edx
10002 40008ddf:       a1 a4 42 01 40          mov    0x400142a4,%eax
10003 40008de4:       83 e8 01                sub    $0x1,%eax
10004 40008de7:       21 d0                   and    %edx,%eax
10005 40008de9:       85 c0                   test   %eax,%eax
10006 40008deb:       74 05                   je     40008df2 <init_mparams+0x94>
10007 40008ded:       e8 a6 8a 00 00          call   40011898 <abort>
10008 40008df2:       b8 00 00 00 00          mov    $0x0,%eax
10009 40008df7:       c9                      leave  
10010 40008df8:       c3                      ret    
10012 40008df9 <change_mparam>:
10013 40008df9:       55                      push   %ebp
10014 40008dfa:       89 e5                   mov    %esp,%ebp
10015 40008dfc:       83 ec 18                sub    $0x18,%esp
10016 40008dff:       8b 45 0c                mov    0xc(%ebp),%eax
10017 40008e02:       89 45 fc                mov    %eax,-0x4(%ebp)
10018 40008e05:       e8 54 ff ff ff          call   40008d5e <init_mparams>
10019 40008e0a:       8b 45 08                mov    0x8(%ebp),%eax
10020 40008e0d:       89 45 e8                mov    %eax,-0x18(%ebp)
10021 40008e10:       83 7d e8 fe             cmpl   $0xfffffffe,-0x18(%ebp)
10022 40008e14:       74 1f                   je     40008e35 <change_mparam+0x3c>
10023 40008e16:       83 7d e8 ff             cmpl   $0xffffffff,-0x18(%ebp)
10024 40008e1a:       74 08                   je     40008e24 <change_mparam+0x2b>
10025 40008e1c:       83 7d e8 fd             cmpl   $0xfffffffd,-0x18(%ebp)
10026 40008e20:       74 44                   je     40008e66 <change_mparam+0x6d>
10027 40008e22:       eb 53                   jmp    40008e77 <change_mparam+0x7e>
10028 40008e24:       8b 45 fc                mov    -0x4(%ebp),%eax
10029 40008e27:       a3 b0 42 01 40          mov    %eax,0x400142b0
10030 40008e2c:       c7 45 ec 01 00 00 00    movl   $0x1,-0x14(%ebp)
10031 40008e33:       eb 49                   jmp    40008e7e <change_mparam+0x85>
10032 40008e35:       a1 a4 42 01 40          mov    0x400142a4,%eax
10033 40008e3a:       3b 45 fc                cmp    -0x4(%ebp),%eax
10034 40008e3d:       77 1e                   ja     40008e5d <change_mparam+0x64>
10035 40008e3f:       8b 45 fc                mov    -0x4(%ebp),%eax
10036 40008e42:       83 e8 01                sub    $0x1,%eax
10037 40008e45:       23 45 fc                and    -0x4(%ebp),%eax
10038 40008e48:       85 c0                   test   %eax,%eax
10039 40008e4a:       75 11                   jne    40008e5d <change_mparam+0x64>
10040 40008e4c:       8b 45 fc                mov    -0x4(%ebp),%eax
10041 40008e4f:       a3 a8 42 01 40          mov    %eax,0x400142a8
10042 40008e54:       c7 45 ec 01 00 00 00    movl   $0x1,-0x14(%ebp)
10043 40008e5b:       eb 21                   jmp    40008e7e <change_mparam+0x85>
10044 40008e5d:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
10045 40008e64:       eb 18                   jmp    40008e7e <change_mparam+0x85>
10046 40008e66:       8b 45 fc                mov    -0x4(%ebp),%eax
10047 40008e69:       a3 ac 42 01 40          mov    %eax,0x400142ac
10048 40008e6e:       c7 45 ec 01 00 00 00    movl   $0x1,-0x14(%ebp)
10049 40008e75:       eb 07                   jmp    40008e7e <change_mparam+0x85>
10050 40008e77:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
10051 40008e7e:       8b 45 ec                mov    -0x14(%ebp),%eax
10052 40008e81:       c9                      leave  
10053 40008e82:       c3                      ret    
10055 40008e83 <internal_mallinfo>:
10056 40008e83:       55                      push   %ebp
10057 40008e84:       89 e5                   mov    %esp,%ebp
10058 40008e86:       57                      push   %edi
10059 40008e87:       83 ec 54                sub    $0x54,%esp
10060 40008e8a:       8d 45 bc                lea    -0x44(%ebp),%eax
10061 40008e8d:       89 45 b0                mov    %eax,-0x50(%ebp)
10062 40008e90:       c7 45 ac 00 00 00 00    movl   $0x0,-0x54(%ebp)
10063 40008e97:       b8 28 00 00 00          mov    $0x28,%eax
10064 40008e9c:       83 f8 04                cmp    $0x4,%eax
10065 40008e9f:       72 12                   jb     40008eb3 <internal_mallinfo+0x30>
10066 40008ea1:       c7 45 a8 0a 00 00 00    movl   $0xa,-0x58(%ebp)
10067 40008ea8:       8b 7d b0                mov    -0x50(%ebp),%edi
10068 40008eab:       8b 4d a8                mov    -0x58(%ebp),%ecx
10069 40008eae:       8b 45 ac                mov    -0x54(%ebp),%eax
10070 40008eb1:       f3 ab                   rep stos %eax,%es:(%edi)
10071 40008eb3:       8b 45 0c                mov    0xc(%ebp),%eax
10072 40008eb6:       8b 40 18                mov    0x18(%eax),%eax
10073 40008eb9:       85 c0                   test   %eax,%eax
10074 40008ebb:       0f 84 33 01 00 00       je     40008ff4 <internal_mallinfo+0x171>
10075 40008ec1:       c7 45 e4 01 00 00 00    movl   $0x1,-0x1c(%ebp)
10076 40008ec8:       8b 45 0c                mov    0xc(%ebp),%eax
10077 40008ecb:       8b 40 0c                mov    0xc(%eax),%eax
10078 40008ece:       83 c0 28                add    $0x28,%eax
10079 40008ed1:       89 45 e8                mov    %eax,-0x18(%ebp)
10080 40008ed4:       8b 45 e8                mov    -0x18(%ebp),%eax
10081 40008ed7:       89 45 ec                mov    %eax,-0x14(%ebp)
10082 40008eda:       8b 45 0c                mov    0xc(%ebp),%eax
10083 40008edd:       05 b8 01 00 00          add    $0x1b8,%eax
10084 40008ee2:       89 45 f0                mov    %eax,-0x10(%ebp)
10085 40008ee5:       e9 bb 00 00 00          jmp    40008fa5 <internal_mallinfo+0x122>
10086 40008eea:       8b 45 f0                mov    -0x10(%ebp),%eax
10087 40008eed:       8b 00                   mov    (%eax),%eax
10088 40008eef:       89 45 b4                mov    %eax,-0x4c(%ebp)
10089 40008ef2:       8b 45 f0                mov    -0x10(%ebp),%eax
10090 40008ef5:       8b 00                   mov    (%eax),%eax
10091 40008ef7:       83 c0 08                add    $0x8,%eax
10092 40008efa:       83 e0 07                and    $0x7,%eax
10093 40008efd:       85 c0                   test   %eax,%eax
10094 40008eff:       74 1e                   je     40008f1f <internal_mallinfo+0x9c>
10095 40008f01:       8b 45 f0                mov    -0x10(%ebp),%eax
10096 40008f04:       8b 00                   mov    (%eax),%eax
10097 40008f06:       83 c0 08                add    $0x8,%eax
10098 40008f09:       89 c2                   mov    %eax,%edx
10099 40008f0b:       83 e2 07                and    $0x7,%edx
10100 40008f0e:       b8 08 00 00 00          mov    $0x8,%eax
10101 40008f13:       29 d0                   sub    %edx,%eax
10102 40008f15:       89 c2                   mov    %eax,%edx
10103 40008f17:       83 e2 07                and    $0x7,%edx
10104 40008f1a:       89 55 b8                mov    %edx,-0x48(%ebp)
10105 40008f1d:       eb 07                   jmp    40008f26 <internal_mallinfo+0xa3>
10106 40008f1f:       c7 45 b8 00 00 00 00    movl   $0x0,-0x48(%ebp)
10107 40008f26:       8b 45 b4                mov    -0x4c(%ebp),%eax
10108 40008f29:       03 45 b8                add    -0x48(%ebp),%eax
10109 40008f2c:       89 45 f4                mov    %eax,-0xc(%ebp)
10110 40008f2f:       eb 35                   jmp    40008f66 <internal_mallinfo+0xe3>
10111 40008f31:       8b 45 f4                mov    -0xc(%ebp),%eax
10112 40008f34:       8b 40 04                mov    0x4(%eax),%eax
10113 40008f37:       83 e0 fc                and    $0xfffffffc,%eax
10114 40008f3a:       89 45 f8                mov    %eax,-0x8(%ebp)
10115 40008f3d:       8b 45 f8                mov    -0x8(%ebp),%eax
10116 40008f40:       01 45 ec                add    %eax,-0x14(%ebp)
10117 40008f43:       8b 45 f4                mov    -0xc(%ebp),%eax
10118 40008f46:       8b 40 04                mov    0x4(%eax),%eax
10119 40008f49:       83 e0 02                and    $0x2,%eax
10120 40008f4c:       85 c0                   test   %eax,%eax
10121 40008f4e:       75 0a                   jne    40008f5a <internal_mallinfo+0xd7>
10122 40008f50:       8b 45 f8                mov    -0x8(%ebp),%eax
10123 40008f53:       01 45 e8                add    %eax,-0x18(%ebp)
10124 40008f56:       83 45 e4 01             addl   $0x1,-0x1c(%ebp)
10125 40008f5a:       8b 45 f4                mov    -0xc(%ebp),%eax
10126 40008f5d:       8b 40 04                mov    0x4(%eax),%eax
10127 40008f60:       83 e0 fc                and    $0xfffffffc,%eax
10128 40008f63:       01 45 f4                add    %eax,-0xc(%ebp)
10129 40008f66:       8b 45 f0                mov    -0x10(%ebp),%eax
10130 40008f69:       8b 10                   mov    (%eax),%edx
10131 40008f6b:       8b 45 f4                mov    -0xc(%ebp),%eax
10132 40008f6e:       39 c2                   cmp    %eax,%edx
10133 40008f70:       77 2a                   ja     40008f9c <internal_mallinfo+0x119>
10134 40008f72:       8b 45 f0                mov    -0x10(%ebp),%eax
10135 40008f75:       8b 10                   mov    (%eax),%edx
10136 40008f77:       8b 45 f0                mov    -0x10(%ebp),%eax
10137 40008f7a:       8b 40 04                mov    0x4(%eax),%eax
10138 40008f7d:       01 c2                   add    %eax,%edx
10139 40008f7f:       8b 45 f4                mov    -0xc(%ebp),%eax
10140 40008f82:       39 c2                   cmp    %eax,%edx
10141 40008f84:       76 16                   jbe    40008f9c <internal_mallinfo+0x119>
10142 40008f86:       8b 45 0c                mov    0xc(%ebp),%eax
10143 40008f89:       8b 40 18                mov    0x18(%eax),%eax
10144 40008f8c:       3b 45 f4                cmp    -0xc(%ebp),%eax
10145 40008f8f:       74 0b                   je     40008f9c <internal_mallinfo+0x119>
10146 40008f91:       8b 45 f4                mov    -0xc(%ebp),%eax
10147 40008f94:       8b 40 04                mov    0x4(%eax),%eax
10148 40008f97:       83 f8 07                cmp    $0x7,%eax
10149 40008f9a:       75 95                   jne    40008f31 <internal_mallinfo+0xae>
10150 40008f9c:       8b 45 f0                mov    -0x10(%ebp),%eax
10151 40008f9f:       8b 40 08                mov    0x8(%eax),%eax
10152 40008fa2:       89 45 f0                mov    %eax,-0x10(%ebp)
10153 40008fa5:       83 7d f0 00             cmpl   $0x0,-0x10(%ebp)
10154 40008fa9:       0f 85 3b ff ff ff       jne    40008eea <internal_mallinfo+0x67>
10155 40008faf:       8b 45 ec                mov    -0x14(%ebp),%eax
10156 40008fb2:       89 45 bc                mov    %eax,-0x44(%ebp)
10157 40008fb5:       8b 45 e4                mov    -0x1c(%ebp),%eax
10158 40008fb8:       89 45 c0                mov    %eax,-0x40(%ebp)
10159 40008fbb:       8b 45 0c                mov    0xc(%ebp),%eax
10160 40008fbe:       8b 80 ac 01 00 00       mov    0x1ac(%eax),%eax
10161 40008fc4:       2b 45 ec                sub    -0x14(%ebp),%eax
10162 40008fc7:       89 45 cc                mov    %eax,-0x34(%ebp)
10163 40008fca:       8b 45 0c                mov    0xc(%ebp),%eax
10164 40008fcd:       8b 80 b0 01 00 00       mov    0x1b0(%eax),%eax
10165 40008fd3:       89 45 d0                mov    %eax,-0x30(%ebp)
10166 40008fd6:       8b 45 0c                mov    0xc(%ebp),%eax
10167 40008fd9:       8b 80 ac 01 00 00       mov    0x1ac(%eax),%eax
10168 40008fdf:       2b 45 e8                sub    -0x18(%ebp),%eax
10169 40008fe2:       89 45 d8                mov    %eax,-0x28(%ebp)
10170 40008fe5:       8b 45 e8                mov    -0x18(%ebp),%eax
10171 40008fe8:       89 45 dc                mov    %eax,-0x24(%ebp)
10172 40008feb:       8b 45 0c                mov    0xc(%ebp),%eax
10173 40008fee:       8b 40 0c                mov    0xc(%eax),%eax
10174 40008ff1:       89 45 e0                mov    %eax,-0x20(%ebp)
10175 40008ff4:       8b 45 bc                mov    -0x44(%ebp),%eax
10176 40008ff7:       8b 4d 08                mov    0x8(%ebp),%ecx
10177 40008ffa:       89 01                   mov    %eax,(%ecx)
10178 40008ffc:       8b 45 c0                mov    -0x40(%ebp),%eax
10179 40008fff:       8b 7d 08                mov    0x8(%ebp),%edi
10180 40009002:       89 47 04                mov    %eax,0x4(%edi)
10181 40009005:       8b 45 c4                mov    -0x3c(%ebp),%eax
10182 40009008:       8b 55 08                mov    0x8(%ebp),%edx
10183 4000900b:       89 42 08                mov    %eax,0x8(%edx)
10184 4000900e:       8b 45 c8                mov    -0x38(%ebp),%eax
10185 40009011:       8b 4d 08                mov    0x8(%ebp),%ecx
10186 40009014:       89 41 0c                mov    %eax,0xc(%ecx)
10187 40009017:       8b 45 cc                mov    -0x34(%ebp),%eax
10188 4000901a:       8b 7d 08                mov    0x8(%ebp),%edi
10189 4000901d:       89 47 10                mov    %eax,0x10(%edi)
10190 40009020:       8b 45 d0                mov    -0x30(%ebp),%eax
10191 40009023:       8b 55 08                mov    0x8(%ebp),%edx
10192 40009026:       89 42 14                mov    %eax,0x14(%edx)
10193 40009029:       8b 45 d4                mov    -0x2c(%ebp),%eax
10194 4000902c:       8b 4d 08                mov    0x8(%ebp),%ecx
10195 4000902f:       89 41 18                mov    %eax,0x18(%ecx)
10196 40009032:       8b 45 d8                mov    -0x28(%ebp),%eax
10197 40009035:       8b 7d 08                mov    0x8(%ebp),%edi
10198 40009038:       89 47 1c                mov    %eax,0x1c(%edi)
10199 4000903b:       8b 45 dc                mov    -0x24(%ebp),%eax
10200 4000903e:       8b 55 08                mov    0x8(%ebp),%edx
10201 40009041:       89 42 20                mov    %eax,0x20(%edx)
10202 40009044:       8b 45 e0                mov    -0x20(%ebp),%eax
10203 40009047:       8b 4d 08                mov    0x8(%ebp),%ecx
10204 4000904a:       89 41 24                mov    %eax,0x24(%ecx)
10205 4000904d:       8b 45 08                mov    0x8(%ebp),%eax
10206 40009050:       83 c4 54                add    $0x54,%esp
10207 40009053:       5f                      pop    %edi
10208 40009054:       5d                      pop    %ebp
10209 40009055:       c2 04 00                ret    $0x4
10211 40009058 <internal_malloc_stats>:
10212 40009058:       55                      push   %ebp
10213 40009059:       89 e5                   mov    %esp,%ebp
10214 4000905b:       83 ec 38                sub    $0x38,%esp
10215 4000905e:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
10216 40009065:       c7 45 f0 00 00 00 00    movl   $0x0,-0x10(%ebp)
10217 4000906c:       c7 45 f4 00 00 00 00    movl   $0x0,-0xc(%ebp)
10218 40009073:       8b 45 08                mov    0x8(%ebp),%eax
10219 40009076:       8b 40 18                mov    0x18(%eax),%eax
10220 40009079:       85 c0                   test   %eax,%eax
10221 4000907b:       0f 84 ee 00 00 00       je     4000916f <internal_malloc_stats+0x117>
10222 40009081:       8b 45 08                mov    0x8(%ebp),%eax
10223 40009084:       05 b8 01 00 00          add    $0x1b8,%eax
10224 40009089:       89 45 f8                mov    %eax,-0x8(%ebp)
10225 4000908c:       8b 45 08                mov    0x8(%ebp),%eax
10226 4000908f:       8b 80 b0 01 00 00       mov    0x1b0(%eax),%eax
10227 40009095:       89 45 ec                mov    %eax,-0x14(%ebp)
10228 40009098:       8b 45 08                mov    0x8(%ebp),%eax
10229 4000909b:       8b 80 ac 01 00 00       mov    0x1ac(%eax),%eax
10230 400090a1:       89 45 f0                mov    %eax,-0x10(%ebp)
10231 400090a4:       8b 45 08                mov    0x8(%ebp),%eax
10232 400090a7:       8b 50 0c                mov    0xc(%eax),%edx
10233 400090aa:       8b 45 f0                mov    -0x10(%ebp),%eax
10234 400090ad:       29 d0                   sub    %edx,%eax
10235 400090af:       83 e8 28                sub    $0x28,%eax
10236 400090b2:       89 45 f4                mov    %eax,-0xc(%ebp)
10237 400090b5:       e9 ab 00 00 00          jmp    40009165 <internal_malloc_stats+0x10d>
10238 400090ba:       8b 45 f8                mov    -0x8(%ebp),%eax
10239 400090bd:       8b 00                   mov    (%eax),%eax
10240 400090bf:       89 45 d8                mov    %eax,-0x28(%ebp)
10241 400090c2:       8b 45 f8                mov    -0x8(%ebp),%eax
10242 400090c5:       8b 00                   mov    (%eax),%eax
10243 400090c7:       83 c0 08                add    $0x8,%eax
10244 400090ca:       83 e0 07                and    $0x7,%eax
10245 400090cd:       85 c0                   test   %eax,%eax
10246 400090cf:       74 1e                   je     400090ef <internal_malloc_stats+0x97>
10247 400090d1:       8b 45 f8                mov    -0x8(%ebp),%eax
10248 400090d4:       8b 00                   mov    (%eax),%eax
10249 400090d6:       83 c0 08                add    $0x8,%eax
10250 400090d9:       89 c2                   mov    %eax,%edx
10251 400090db:       83 e2 07                and    $0x7,%edx
10252 400090de:       b8 08 00 00 00          mov    $0x8,%eax
10253 400090e3:       29 d0                   sub    %edx,%eax
10254 400090e5:       89 c2                   mov    %eax,%edx
10255 400090e7:       83 e2 07                and    $0x7,%edx
10256 400090ea:       89 55 dc                mov    %edx,-0x24(%ebp)
10257 400090ed:       eb 07                   jmp    400090f6 <internal_malloc_stats+0x9e>
10258 400090ef:       c7 45 dc 00 00 00 00    movl   $0x0,-0x24(%ebp)
10259 400090f6:       8b 45 d8                mov    -0x28(%ebp),%eax
10260 400090f9:       03 45 dc                add    -0x24(%ebp),%eax
10261 400090fc:       89 45 fc                mov    %eax,-0x4(%ebp)
10262 400090ff:       eb 25                   jmp    40009126 <internal_malloc_stats+0xce>
10263 40009101:       8b 45 fc                mov    -0x4(%ebp),%eax
10264 40009104:       8b 40 04                mov    0x4(%eax),%eax
10265 40009107:       83 e0 02                and    $0x2,%eax
10266 4000910a:       85 c0                   test   %eax,%eax
10267 4000910c:       75 0c                   jne    4000911a <internal_malloc_stats+0xc2>
10268 4000910e:       8b 45 fc                mov    -0x4(%ebp),%eax
10269 40009111:       8b 40 04                mov    0x4(%eax),%eax
10270 40009114:       83 e0 fc                and    $0xfffffffc,%eax
10271 40009117:       29 45 f4                sub    %eax,-0xc(%ebp)
10272 4000911a:       8b 45 fc                mov    -0x4(%ebp),%eax
10273 4000911d:       8b 40 04                mov    0x4(%eax),%eax
10274 40009120:       83 e0 fc                and    $0xfffffffc,%eax
10275 40009123:       01 45 fc                add    %eax,-0x4(%ebp)
10276 40009126:       8b 45 f8                mov    -0x8(%ebp),%eax
10277 40009129:       8b 10                   mov    (%eax),%edx
10278 4000912b:       8b 45 fc                mov    -0x4(%ebp),%eax
10279 4000912e:       39 c2                   cmp    %eax,%edx
10280 40009130:       77 2a                   ja     4000915c <internal_malloc_stats+0x104>
10281 40009132:       8b 45 f8                mov    -0x8(%ebp),%eax
10282 40009135:       8b 10                   mov    (%eax),%edx
10283 40009137:       8b 45 f8                mov    -0x8(%ebp),%eax
10284 4000913a:       8b 40 04                mov    0x4(%eax),%eax
10285 4000913d:       01 c2                   add    %eax,%edx
10286 4000913f:       8b 45 fc                mov    -0x4(%ebp),%eax
10287 40009142:       39 c2                   cmp    %eax,%edx
10288 40009144:       76 16                   jbe    4000915c <internal_malloc_stats+0x104>
10289 40009146:       8b 45 08                mov    0x8(%ebp),%eax
10290 40009149:       8b 40 18                mov    0x18(%eax),%eax
10291 4000914c:       3b 45 fc                cmp    -0x4(%ebp),%eax
10292 4000914f:       74 0b                   je     4000915c <internal_malloc_stats+0x104>
10293 40009151:       8b 45 fc                mov    -0x4(%ebp),%eax
10294 40009154:       8b 40 04                mov    0x4(%eax),%eax
10295 40009157:       83 f8 07                cmp    $0x7,%eax
10296 4000915a:       75 a5                   jne    40009101 <internal_malloc_stats+0xa9>
10297 4000915c:       8b 45 f8                mov    -0x8(%ebp),%eax
10298 4000915f:       8b 40 08                mov    0x8(%eax),%eax
10299 40009162:       89 45 f8                mov    %eax,-0x8(%ebp)
10300 40009165:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
10301 40009169:       0f 85 4b ff ff ff       jne    400090ba <internal_malloc_stats+0x62>
10302 4000916f:       8b 15 60 59 01 40       mov    0x40015960,%edx
10303 40009175:       8b 45 ec                mov    -0x14(%ebp),%eax
10304 40009178:       89 44 24 08             mov    %eax,0x8(%esp)
10305 4000917c:       c7 44 24 04 51 30 01    movl   $0x40013051,0x4(%esp)
10306 40009183:       40 
10307 40009184:       89 14 24                mov    %edx,(%esp)
10308 40009187:       e8 fc fa ff ff          call   40008c88 <fprintf>
10309 4000918c:       8b 15 60 59 01 40       mov    0x40015960,%edx
10310 40009192:       8b 45 f0                mov    -0x10(%ebp),%eax
10311 40009195:       89 44 24 08             mov    %eax,0x8(%esp)
10312 40009199:       c7 44 24 04 6b 30 01    movl   $0x4001306b,0x4(%esp)
10313 400091a0:       40 
10314 400091a1:       89 14 24                mov    %edx,(%esp)
10315 400091a4:       e8 df fa ff ff          call   40008c88 <fprintf>
10316 400091a9:       8b 15 60 59 01 40       mov    0x40015960,%edx
10317 400091af:       8b 45 f4                mov    -0xc(%ebp),%eax
10318 400091b2:       89 44 24 08             mov    %eax,0x8(%esp)
10319 400091b6:       c7 44 24 04 85 30 01    movl   $0x40013085,0x4(%esp)
10320 400091bd:       40 
10321 400091be:       89 14 24                mov    %edx,(%esp)
10322 400091c1:       e8 c2 fa ff ff          call   40008c88 <fprintf>
10323 400091c6:       c9                      leave  
10324 400091c7:       c3                      ret    
10326 400091c8 <mmap_alloc>:
10327 400091c8:       55                      push   %ebp
10328 400091c9:       89 e5                   mov    %esp,%ebp
10329 400091cb:       83 ec 28                sub    $0x28,%esp
10330 400091ce:       a1 a8 42 01 40          mov    0x400142a8,%eax
10331 400091d3:       03 45 0c                add    0xc(%ebp),%eax
10332 400091d6:       8d 50 1f                lea    0x1f(%eax),%edx
10333 400091d9:       a1 a8 42 01 40          mov    0x400142a8,%eax
10334 400091de:       f7 d8                   neg    %eax
10335 400091e0:       21 d0                   and    %edx,%eax
10336 400091e2:       89 45 ec                mov    %eax,-0x14(%ebp)
10337 400091e5:       8b 45 ec                mov    -0x14(%ebp),%eax
10338 400091e8:       3b 45 0c                cmp    0xc(%ebp),%eax
10339 400091eb:       0f 86 f1 00 00 00       jbe    400092e2 <mmap_alloc+0x11a>
10340 400091f1:       c7 45 f0 ff ff ff ff    movl   $0xffffffff,-0x10(%ebp)
10341 400091f8:       83 7d f0 ff             cmpl   $0xffffffff,-0x10(%ebp)
10342 400091fc:       0f 84 e0 00 00 00       je     400092e2 <mmap_alloc+0x11a>
10343 40009202:       8b 45 f0                mov    -0x10(%ebp),%eax
10344 40009205:       83 c0 08                add    $0x8,%eax
10345 40009208:       83 e0 07                and    $0x7,%eax
10346 4000920b:       85 c0                   test   %eax,%eax
10347 4000920d:       74 1c                   je     4000922b <mmap_alloc+0x63>
10348 4000920f:       8b 45 f0                mov    -0x10(%ebp),%eax
10349 40009212:       83 c0 08                add    $0x8,%eax
10350 40009215:       89 c2                   mov    %eax,%edx
10351 40009217:       83 e2 07                and    $0x7,%edx
10352 4000921a:       b8 08 00 00 00          mov    $0x8,%eax
10353 4000921f:       29 d0                   sub    %edx,%eax
10354 40009221:       89 c2                   mov    %eax,%edx
10355 40009223:       83 e2 07                and    $0x7,%edx
10356 40009226:       89 55 d8                mov    %edx,-0x28(%ebp)
10357 40009229:       eb 07                   jmp    40009232 <mmap_alloc+0x6a>
10358 4000922b:       c7 45 d8 00 00 00 00    movl   $0x0,-0x28(%ebp)
10359 40009232:       8b 45 d8                mov    -0x28(%ebp),%eax
10360 40009235:       89 45 f4                mov    %eax,-0xc(%ebp)
10361 40009238:       8b 55 f4                mov    -0xc(%ebp),%edx
10362 4000923b:       8b 45 ec                mov    -0x14(%ebp),%eax
10363 4000923e:       29 d0                   sub    %edx,%eax
10364 40009240:       83 e8 10                sub    $0x10,%eax
10365 40009243:       89 45 f8                mov    %eax,-0x8(%ebp)
10366 40009246:       8b 45 f0                mov    -0x10(%ebp),%eax
10367 40009249:       03 45 f4                add    -0xc(%ebp),%eax
10368 4000924c:       89 45 fc                mov    %eax,-0x4(%ebp)
10369 4000924f:       8b 55 fc                mov    -0x4(%ebp),%edx
10370 40009252:       8b 45 f4                mov    -0xc(%ebp),%eax
10371 40009255:       89 02                   mov    %eax,(%edx)
10372 40009257:       8b 45 f8                mov    -0x8(%ebp),%eax
10373 4000925a:       89 c2                   mov    %eax,%edx
10374 4000925c:       83 ca 02                or     $0x2,%edx
10375 4000925f:       8b 45 fc                mov    -0x4(%ebp),%eax
10376 40009262:       89 50 04                mov    %edx,0x4(%eax)
10377 40009265:       8b 55 f8                mov    -0x8(%ebp),%edx
10378 40009268:       8b 45 fc                mov    -0x4(%ebp),%eax
10379 4000926b:       01 d0                   add    %edx,%eax
10380 4000926d:       c7 40 04 07 00 00 00    movl   $0x7,0x4(%eax)
10381 40009274:       8b 45 f8                mov    -0x8(%ebp),%eax
10382 40009277:       83 c0 04                add    $0x4,%eax
10383 4000927a:       03 45 fc                add    -0x4(%ebp),%eax
10384 4000927d:       c7 40 04 00 00 00 00    movl   $0x0,0x4(%eax)
10385 40009284:       8b 45 08                mov    0x8(%ebp),%eax
10386 40009287:       8b 40 10                mov    0x10(%eax),%eax
10387 4000928a:       3b 45 f0                cmp    -0x10(%ebp),%eax
10388 4000928d:       76 09                   jbe    40009298 <mmap_alloc+0xd0>
10389 4000928f:       8b 55 08                mov    0x8(%ebp),%edx
10390 40009292:       8b 45 f0                mov    -0x10(%ebp),%eax
10391 40009295:       89 42 10                mov    %eax,0x10(%edx)
10392 40009298:       8b 45 08                mov    0x8(%ebp),%eax
10393 4000929b:       8b 80 ac 01 00 00       mov    0x1ac(%eax),%eax
10394 400092a1:       89 c2                   mov    %eax,%edx
10395 400092a3:       03 55 ec                add    -0x14(%ebp),%edx
10396 400092a6:       8b 45 08                mov    0x8(%ebp),%eax
10397 400092a9:       89 90 ac 01 00 00       mov    %edx,0x1ac(%eax)
10398 400092af:       8b 45 08                mov    0x8(%ebp),%eax
10399 400092b2:       8b 90 ac 01 00 00       mov    0x1ac(%eax),%edx
10400 400092b8:       8b 45 08                mov    0x8(%ebp),%eax
10401 400092bb:       8b 80 b0 01 00 00       mov    0x1b0(%eax),%eax
10402 400092c1:       39 c2                   cmp    %eax,%edx
10403 400092c3:       76 12                   jbe    400092d7 <mmap_alloc+0x10f>
10404 400092c5:       8b 45 08                mov    0x8(%ebp),%eax
10405 400092c8:       8b 90 ac 01 00 00       mov    0x1ac(%eax),%edx
10406 400092ce:       8b 45 08                mov    0x8(%ebp),%eax
10407 400092d1:       89 90 b0 01 00 00       mov    %edx,0x1b0(%eax)
10408 400092d7:       8b 45 fc                mov    -0x4(%ebp),%eax
10409 400092da:       83 c0 08                add    $0x8,%eax
10410 400092dd:       89 45 dc                mov    %eax,-0x24(%ebp)
10411 400092e0:       eb 07                   jmp    400092e9 <mmap_alloc+0x121>
10412 400092e2:       c7 45 dc 00 00 00 00    movl   $0x0,-0x24(%ebp)
10413 400092e9:       8b 45 dc                mov    -0x24(%ebp),%eax
10414 400092ec:       c9                      leave  
10415 400092ed:       c3                      ret    
10417 400092ee <mmap_resize>:
10418 400092ee:       55                      push   %ebp
10419 400092ef:       89 e5                   mov    %esp,%ebp
10420 400092f1:       83 ec 24                sub    $0x24,%esp
10421 400092f4:       8b 45 0c                mov    0xc(%ebp),%eax
10422 400092f7:       8b 40 04                mov    0x4(%eax),%eax
10423 400092fa:       83 e0 fc                and    $0xfffffffc,%eax
10424 400092fd:       89 45 e4                mov    %eax,-0x1c(%ebp)
10425 40009300:       8b 45 10                mov    0x10(%ebp),%eax
10426 40009303:       c1 e8 03                shr    $0x3,%eax
10427 40009306:       83 f8 1f                cmp    $0x1f,%eax
10428 40009309:       77 0c                   ja     40009317 <mmap_resize+0x29>
10429 4000930b:       c7 45 dc 00 00 00 00    movl   $0x0,-0x24(%ebp)
10430 40009312:       e9 17 01 00 00          jmp    4000942e <mmap_resize+0x140>
10431 40009317:       8b 45 10                mov    0x10(%ebp),%eax
10432 4000931a:       83 c0 04                add    $0x4,%eax
10433 4000931d:       3b 45 e4                cmp    -0x1c(%ebp),%eax
10434 40009320:       77 22                   ja     40009344 <mmap_resize+0x56>
10435 40009322:       8b 55 10                mov    0x10(%ebp),%edx
10436 40009325:       8b 45 e4                mov    -0x1c(%ebp),%eax
10437 40009328:       89 c1                   mov    %eax,%ecx
10438 4000932a:       29 d1                   sub    %edx,%ecx
10439 4000932c:       89 ca                   mov    %ecx,%edx
10440 4000932e:       a1 a8 42 01 40          mov    0x400142a8,%eax
10441 40009333:       01 c0                   add    %eax,%eax
10442 40009335:       39 c2                   cmp    %eax,%edx
10443 40009337:       77 0b                   ja     40009344 <mmap_resize+0x56>
10444 40009339:       8b 45 0c                mov    0xc(%ebp),%eax
10445 4000933c:       89 45 dc                mov    %eax,-0x24(%ebp)
10446 4000933f:       e9 ea 00 00 00          jmp    4000942e <mmap_resize+0x140>
10447 40009344:       8b 45 0c                mov    0xc(%ebp),%eax
10448 40009347:       8b 00                   mov    (%eax),%eax
10449 40009349:       89 45 e8                mov    %eax,-0x18(%ebp)
10450 4000934c:       8b 55 e8                mov    -0x18(%ebp),%edx
10451 4000934f:       8b 45 e4                mov    -0x1c(%ebp),%eax
10452 40009352:       01 d0                   add    %edx,%eax
10453 40009354:       83 c0 10                add    $0x10,%eax
10454 40009357:       89 45 ec                mov    %eax,-0x14(%ebp)
10455 4000935a:       a1 a8 42 01 40          mov    0x400142a8,%eax
10456 4000935f:       03 45 10                add    0x10(%ebp),%eax
10457 40009362:       8d 50 1f                lea    0x1f(%eax),%edx
10458 40009365:       a1 a8 42 01 40          mov    0x400142a8,%eax
10459 4000936a:       f7 d8                   neg    %eax
10460 4000936c:       21 d0                   and    %edx,%eax
10461 4000936e:       89 45 f0                mov    %eax,-0x10(%ebp)
10462 40009371:       c7 45 f4 ff ff ff ff    movl   $0xffffffff,-0xc(%ebp)
10463 40009378:       83 7d f4 ff             cmpl   $0xffffffff,-0xc(%ebp)
10464 4000937c:       0f 84 a5 00 00 00       je     40009427 <mmap_resize+0x139>
10465 40009382:       8b 45 f4                mov    -0xc(%ebp),%eax
10466 40009385:       03 45 e8                add    -0x18(%ebp),%eax
10467 40009388:       89 45 f8                mov    %eax,-0x8(%ebp)
10468 4000938b:       8b 55 e8                mov    -0x18(%ebp),%edx
10469 4000938e:       8b 45 f0                mov    -0x10(%ebp),%eax
10470 40009391:       29 d0                   sub    %edx,%eax
10471 40009393:       83 e8 10                sub    $0x10,%eax
10472 40009396:       89 45 fc                mov    %eax,-0x4(%ebp)
10473 40009399:       8b 45 fc                mov    -0x4(%ebp),%eax
10474 4000939c:       89 c2                   mov    %eax,%edx
10475 4000939e:       83 ca 02                or     $0x2,%edx
10476 400093a1:       8b 45 f8                mov    -0x8(%ebp),%eax
10477 400093a4:       89 50 04                mov    %edx,0x4(%eax)
10478 400093a7:       8b 55 fc                mov    -0x4(%ebp),%edx
10479 400093aa:       8b 45 f8                mov    -0x8(%ebp),%eax
10480 400093ad:       01 d0                   add    %edx,%eax
10481 400093af:       c7 40 04 07 00 00 00    movl   $0x7,0x4(%eax)
10482 400093b6:       8b 45 fc                mov    -0x4(%ebp),%eax
10483 400093b9:       83 c0 04                add    $0x4,%eax
10484 400093bc:       03 45 f8                add    -0x8(%ebp),%eax
10485 400093bf:       c7 40 04 00 00 00 00    movl   $0x0,0x4(%eax)
10486 400093c6:       8b 45 08                mov    0x8(%ebp),%eax
10487 400093c9:       8b 40 10                mov    0x10(%eax),%eax
10488 400093cc:       3b 45 f4                cmp    -0xc(%ebp),%eax
10489 400093cf:       76 09                   jbe    400093da <mmap_resize+0xec>
10490 400093d1:       8b 55 08                mov    0x8(%ebp),%edx
10491 400093d4:       8b 45 f4                mov    -0xc(%ebp),%eax
10492 400093d7:       89 42 10                mov    %eax,0x10(%edx)
10493 400093da:       8b 45 08                mov    0x8(%ebp),%eax
10494 400093dd:       8b 88 ac 01 00 00       mov    0x1ac(%eax),%ecx
10495 400093e3:       8b 55 ec                mov    -0x14(%ebp),%edx
10496 400093e6:       8b 45 f0                mov    -0x10(%ebp),%eax
10497 400093e9:       29 d0                   sub    %edx,%eax
10498 400093eb:       8d 14 01                lea    (%ecx,%eax,1),%edx
10499 400093ee:       8b 45 08                mov    0x8(%ebp),%eax
10500 400093f1:       89 90 ac 01 00 00       mov    %edx,0x1ac(%eax)
10501 400093f7:       8b 45 08                mov    0x8(%ebp),%eax
10502 400093fa:       8b 90 ac 01 00 00       mov    0x1ac(%eax),%edx
10503 40009400:       8b 45 08                mov    0x8(%ebp),%eax
10504 40009403:       8b 80 b0 01 00 00       mov    0x1b0(%eax),%eax
10505 40009409:       39 c2                   cmp    %eax,%edx
10506 4000940b:       76 12                   jbe    4000941f <mmap_resize+0x131>
10507 4000940d:       8b 45 08                mov    0x8(%ebp),%eax
10508 40009410:       8b 90 ac 01 00 00       mov    0x1ac(%eax),%edx
10509 40009416:       8b 45 08                mov    0x8(%ebp),%eax
10510 40009419:       89 90 b0 01 00 00       mov    %edx,0x1b0(%eax)
10511 4000941f:       8b 4d f8                mov    -0x8(%ebp),%ecx
10512 40009422:       89 4d dc                mov    %ecx,-0x24(%ebp)
10513 40009425:       eb 07                   jmp    4000942e <mmap_resize+0x140>
10514 40009427:       c7 45 dc 00 00 00 00    movl   $0x0,-0x24(%ebp)
10515 4000942e:       8b 45 dc                mov    -0x24(%ebp),%eax
10516 40009431:       c9                      leave  
10517 40009432:       c3                      ret    
10519 40009433 <init_top>:
10520 40009433:       55                      push   %ebp
10521 40009434:       89 e5                   mov    %esp,%ebp
10522 40009436:       83 ec 14                sub    $0x14,%esp
10523 40009439:       8b 45 0c                mov    0xc(%ebp),%eax
10524 4000943c:       83 c0 08                add    $0x8,%eax
10525 4000943f:       83 e0 07                and    $0x7,%eax
10526 40009442:       85 c0                   test   %eax,%eax
10527 40009444:       74 1c                   je     40009462 <init_top+0x2f>
10528 40009446:       8b 45 0c                mov    0xc(%ebp),%eax
10529 40009449:       83 c0 08                add    $0x8,%eax
10530 4000944c:       89 c2                   mov    %eax,%edx
10531 4000944e:       83 e2 07                and    $0x7,%edx
10532 40009451:       b8 08 00 00 00          mov    $0x8,%eax
10533 40009456:       29 d0                   sub    %edx,%eax
10534 40009458:       89 c2                   mov    %eax,%edx
10535 4000945a:       83 e2 07                and    $0x7,%edx
10536 4000945d:       89 55 ec                mov    %edx,-0x14(%ebp)
10537 40009460:       eb 07                   jmp    40009469 <init_top+0x36>
10538 40009462:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
10539 40009469:       8b 45 ec                mov    -0x14(%ebp),%eax
10540 4000946c:       89 45 fc                mov    %eax,-0x4(%ebp)
10541 4000946f:       8b 45 fc                mov    -0x4(%ebp),%eax
10542 40009472:       01 45 0c                add    %eax,0xc(%ebp)
10543 40009475:       8b 45 fc                mov    -0x4(%ebp),%eax
10544 40009478:       29 45 10                sub    %eax,0x10(%ebp)
10545 4000947b:       8b 55 08                mov    0x8(%ebp),%edx
10546 4000947e:       8b 45 0c                mov    0xc(%ebp),%eax
10547 40009481:       89 42 18                mov    %eax,0x18(%edx)
10548 40009484:       8b 55 08                mov    0x8(%ebp),%edx
10549 40009487:       8b 45 10                mov    0x10(%ebp),%eax
10550 4000948a:       89 42 0c                mov    %eax,0xc(%edx)
10551 4000948d:       8b 45 10                mov    0x10(%ebp),%eax
10552 40009490:       89 c2                   mov    %eax,%edx
10553 40009492:       83 ca 01                or     $0x1,%edx
10554 40009495:       8b 45 0c                mov    0xc(%ebp),%eax
10555 40009498:       89 50 04                mov    %edx,0x4(%eax)
10556 4000949b:       8b 55 10                mov    0x10(%ebp),%edx
10557 4000949e:       8b 45 0c                mov    0xc(%ebp),%eax
10558 400094a1:       01 d0                   add    %edx,%eax
10559 400094a3:       c7 40 04 28 00 00 00    movl   $0x28,0x4(%eax)
10560 400094aa:       8b 15 b0 42 01 40       mov    0x400142b0,%edx
10561 400094b0:       8b 45 08                mov    0x8(%ebp),%eax
10562 400094b3:       89 50 1c                mov    %edx,0x1c(%eax)
10563 400094b6:       c9                      leave  
10564 400094b7:       c3                      ret    
10566 400094b8 <init_bins>:
10567 400094b8:       55                      push   %ebp
10568 400094b9:       89 e5                   mov    %esp,%ebp
10569 400094bb:       83 ec 10                sub    $0x10,%esp
10570 400094be:       c7 45 f8 00 00 00 00    movl   $0x0,-0x8(%ebp)
10571 400094c5:       eb 2d                   jmp    400094f4 <init_bins+0x3c>
10572 400094c7:       8b 45 08                mov    0x8(%ebp),%eax
10573 400094ca:       83 c0 24                add    $0x24,%eax
10574 400094cd:       89 c2                   mov    %eax,%edx
10575 400094cf:       8b 45 f8                mov    -0x8(%ebp),%eax
10576 400094d2:       c1 e0 03                shl    $0x3,%eax
10577 400094d5:       8d 04 02                lea    (%edx,%eax,1),%eax
10578 400094d8:       89 45 fc                mov    %eax,-0x4(%ebp)
10579 400094db:       8b 55 fc                mov    -0x4(%ebp),%edx
10580 400094de:       8b 45 fc                mov    -0x4(%ebp),%eax
10581 400094e1:       89 42 0c                mov    %eax,0xc(%edx)
10582 400094e4:       8b 45 fc                mov    -0x4(%ebp),%eax
10583 400094e7:       8b 50 0c                mov    0xc(%eax),%edx
10584 400094ea:       8b 45 fc                mov    -0x4(%ebp),%eax
10585 400094ed:       89 50 08                mov    %edx,0x8(%eax)
10586 400094f0:       83 45 f8 01             addl   $0x1,-0x8(%ebp)
10587 400094f4:       83 7d f8 1f             cmpl   $0x1f,-0x8(%ebp)
10588 400094f8:       76 cd                   jbe    400094c7 <init_bins+0xf>
10589 400094fa:       c9                      leave  
10590 400094fb:       c3                      ret    
10592 400094fc <prepend_alloc>:
10593 400094fc:       55                      push   %ebp
10594 400094fd:       89 e5                   mov    %esp,%ebp
10595 400094ff:       81 ec 98 00 00 00       sub    $0x98,%esp
10596 40009505:       8b 45 0c                mov    0xc(%ebp),%eax
10597 40009508:       83 c0 08                add    $0x8,%eax
10598 4000950b:       83 e0 07                and    $0x7,%eax
10599 4000950e:       85 c0                   test   %eax,%eax
10600 40009510:       74 1f                   je     40009531 <prepend_alloc+0x35>
10601 40009512:       8b 45 0c                mov    0xc(%ebp),%eax
10602 40009515:       83 c0 08                add    $0x8,%eax
10603 40009518:       89 c2                   mov    %eax,%edx
10604 4000951a:       83 e2 07                and    $0x7,%edx
10605 4000951d:       b8 08 00 00 00          mov    $0x8,%eax
10606 40009522:       29 d0                   sub    %edx,%eax
10607 40009524:       89 c2                   mov    %eax,%edx
10608 40009526:       83 e2 07                and    $0x7,%edx
10609 40009529:       89 95 6c ff ff ff       mov    %edx,-0x94(%ebp)
10610 4000952f:       eb 0a                   jmp    4000953b <prepend_alloc+0x3f>
10611 40009531:       c7 85 6c ff ff ff 00    movl   $0x0,-0x94(%ebp)
10612 40009538:       00 00 00 
10613 4000953b:       8b 85 6c ff ff ff       mov    -0x94(%ebp),%eax
10614 40009541:       03 45 0c                add    0xc(%ebp),%eax
10615 40009544:       89 45 80                mov    %eax,-0x80(%ebp)
10616 40009547:       8b 45 10                mov    0x10(%ebp),%eax
10617 4000954a:       83 c0 08                add    $0x8,%eax
10618 4000954d:       83 e0 07                and    $0x7,%eax
10619 40009550:       85 c0                   test   %eax,%eax
10620 40009552:       74 1f                   je     40009573 <prepend_alloc+0x77>
10621 40009554:       8b 45 10                mov    0x10(%ebp),%eax
10622 40009557:       83 c0 08                add    $0x8,%eax
10623 4000955a:       89 c2                   mov    %eax,%edx
10624 4000955c:       83 e2 07                and    $0x7,%edx
10625 4000955f:       b8 08 00 00 00          mov    $0x8,%eax
10626 40009564:       29 d0                   sub    %edx,%eax
10627 40009566:       89 c1                   mov    %eax,%ecx
10628 40009568:       83 e1 07                and    $0x7,%ecx
10629 4000956b:       89 8d 70 ff ff ff       mov    %ecx,-0x90(%ebp)
10630 40009571:       eb 0a                   jmp    4000957d <prepend_alloc+0x81>
10631 40009573:       c7 85 70 ff ff ff 00    movl   $0x0,-0x90(%ebp)
10632 4000957a:       00 00 00 
10633 4000957d:       8b 85 70 ff ff ff       mov    -0x90(%ebp),%eax
10634 40009583:       03 45 10                add    0x10(%ebp),%eax
10635 40009586:       89 45 84                mov    %eax,-0x7c(%ebp)
10636 40009589:       8b 55 84                mov    -0x7c(%ebp),%edx
10637 4000958c:       8b 45 80                mov    -0x80(%ebp),%eax
10638 4000958f:       89 d1                   mov    %edx,%ecx
10639 40009591:       29 c1                   sub    %eax,%ecx
10640 40009593:       89 c8                   mov    %ecx,%eax
10641 40009595:       89 45 88                mov    %eax,-0x78(%ebp)
10642 40009598:       8b 55 14                mov    0x14(%ebp),%edx
10643 4000959b:       8b 45 80                mov    -0x80(%ebp),%eax
10644 4000959e:       01 d0                   add    %edx,%eax
10645 400095a0:       89 45 8c                mov    %eax,-0x74(%ebp)
10646 400095a3:       8b 55 14                mov    0x14(%ebp),%edx
10647 400095a6:       8b 45 88                mov    -0x78(%ebp),%eax
10648 400095a9:       29 d0                   sub    %edx,%eax
10649 400095ab:       89 45 90                mov    %eax,-0x70(%ebp)
10650 400095ae:       8b 45 14                mov    0x14(%ebp),%eax
10651 400095b1:       89 c2                   mov    %eax,%edx
10652 400095b3:       83 ca 03                or     $0x3,%edx
10653 400095b6:       8b 45 80                mov    -0x80(%ebp),%eax
10654 400095b9:       89 50 04                mov    %edx,0x4(%eax)
10655 400095bc:       8b 45 08                mov    0x8(%ebp),%eax
10656 400095bf:       8b 40 18                mov    0x18(%eax),%eax
10657 400095c2:       3b 45 84                cmp    -0x7c(%ebp),%eax
10658 400095c5:       75 36                   jne    400095fd <prepend_alloc+0x101>
10659 400095c7:       8b 45 08                mov    0x8(%ebp),%eax
10660 400095ca:       8b 40 0c                mov    0xc(%eax),%eax
10661 400095cd:       89 c2                   mov    %eax,%edx
10662 400095cf:       03 55 90                add    -0x70(%ebp),%edx
10663 400095d2:       8b 45 08                mov    0x8(%ebp),%eax
10664 400095d5:       89 50 0c                mov    %edx,0xc(%eax)
10665 400095d8:       8b 45 08                mov    0x8(%ebp),%eax
10666 400095db:       8b 40 0c                mov    0xc(%eax),%eax
10667 400095de:       89 45 94                mov    %eax,-0x6c(%ebp)
10668 400095e1:       8b 55 08                mov    0x8(%ebp),%edx
10669 400095e4:       8b 45 8c                mov    -0x74(%ebp),%eax
10670 400095e7:       89 42 18                mov    %eax,0x18(%edx)
10671 400095ea:       8b 45 94                mov    -0x6c(%ebp),%eax
10672 400095ed:       89 c2                   mov    %eax,%edx
10673 400095ef:       83 ca 01                or     $0x1,%edx
10674 400095f2:       8b 45 8c                mov    -0x74(%ebp),%eax
10675 400095f5:       89 50 04                mov    %edx,0x4(%eax)
10676 400095f8:       e9 9f 06 00 00          jmp    40009c9c <prepend_alloc+0x7a0>
10677 400095fd:       8b 45 08                mov    0x8(%ebp),%eax
10678 40009600:       8b 40 14                mov    0x14(%eax),%eax
10679 40009603:       3b 45 84                cmp    -0x7c(%ebp),%eax
10680 40009606:       75 44                   jne    4000964c <prepend_alloc+0x150>
10681 40009608:       8b 45 08                mov    0x8(%ebp),%eax
10682 4000960b:       8b 40 08                mov    0x8(%eax),%eax
10683 4000960e:       89 c2                   mov    %eax,%edx
10684 40009610:       03 55 90                add    -0x70(%ebp),%edx
10685 40009613:       8b 45 08                mov    0x8(%ebp),%eax
10686 40009616:       89 50 08                mov    %edx,0x8(%eax)
10687 40009619:       8b 45 08                mov    0x8(%ebp),%eax
10688 4000961c:       8b 40 08                mov    0x8(%eax),%eax
10689 4000961f:       89 45 98                mov    %eax,-0x68(%ebp)
10690 40009622:       8b 55 08                mov    0x8(%ebp),%edx
10691 40009625:       8b 45 8c                mov    -0x74(%ebp),%eax
10692 40009628:       89 42 14                mov    %eax,0x14(%edx)
10693 4000962b:       8b 45 98                mov    -0x68(%ebp),%eax
10694 4000962e:       89 c2                   mov    %eax,%edx
10695 40009630:       83 ca 01                or     $0x1,%edx
10696 40009633:       8b 45 8c                mov    -0x74(%ebp),%eax
10697 40009636:       89 50 04                mov    %edx,0x4(%eax)
10698 40009639:       8b 55 98                mov    -0x68(%ebp),%edx
10699 4000963c:       8b 45 8c                mov    -0x74(%ebp),%eax
10700 4000963f:       8d 14 10                lea    (%eax,%edx,1),%edx
10701 40009642:       8b 45 98                mov    -0x68(%ebp),%eax
10702 40009645:       89 02                   mov    %eax,(%edx)
10703 40009647:       e9 50 06 00 00          jmp    40009c9c <prepend_alloc+0x7a0>
10704 4000964c:       8b 45 84                mov    -0x7c(%ebp),%eax
10705 4000964f:       8b 40 04                mov    0x4(%eax),%eax
10706 40009652:       83 e0 02                and    $0x2,%eax
10707 40009655:       85 c0                   test   %eax,%eax
10708 40009657:       0f 85 5b 03 00 00       jne    400099b8 <prepend_alloc+0x4bc>
10709 4000965d:       8b 45 84                mov    -0x7c(%ebp),%eax
10710 40009660:       8b 40 04                mov    0x4(%eax),%eax
10711 40009663:       83 e0 fc                and    $0xfffffffc,%eax
10712 40009666:       89 45 9c                mov    %eax,-0x64(%ebp)
10713 40009669:       8b 45 9c                mov    -0x64(%ebp),%eax
10714 4000966c:       c1 e8 03                shr    $0x3,%eax
10715 4000966f:       83 f8 1f                cmp    $0x1f,%eax
10716 40009672:       0f 87 05 01 00 00       ja     4000977d <prepend_alloc+0x281>
10717 40009678:       8b 45 84                mov    -0x7c(%ebp),%eax
10718 4000967b:       8b 40 08                mov    0x8(%eax),%eax
10719 4000967e:       89 45 a0                mov    %eax,-0x60(%ebp)
10720 40009681:       8b 45 84                mov    -0x7c(%ebp),%eax
10721 40009684:       8b 40 0c                mov    0xc(%eax),%eax
10722 40009687:       89 45 a4                mov    %eax,-0x5c(%ebp)
10723 4000968a:       8b 45 9c                mov    -0x64(%ebp),%eax
10724 4000968d:       c1 e8 03                shr    $0x3,%eax
10725 40009690:       89 45 a8                mov    %eax,-0x58(%ebp)
10726 40009693:       8b 45 a0                mov    -0x60(%ebp),%eax
10727 40009696:       3b 45 a4                cmp    -0x5c(%ebp),%eax
10728 40009699:       75 1d                   jne    400096b8 <prepend_alloc+0x1bc>
10729 4000969b:       8b 45 08                mov    0x8(%ebp),%eax
10730 4000969e:       8b 10                   mov    (%eax),%edx
10731 400096a0:       8b 4d a8                mov    -0x58(%ebp),%ecx
10732 400096a3:       b8 01 00 00 00          mov    $0x1,%eax
10733 400096a8:       d3 e0                   shl    %cl,%eax
10734 400096aa:       f7 d0                   not    %eax
10735 400096ac:       21 c2                   and    %eax,%edx
10736 400096ae:       8b 45 08                mov    0x8(%ebp),%eax
10737 400096b1:       89 10                   mov    %edx,(%eax)
10738 400096b3:       e9 f4 02 00 00          jmp    400099ac <prepend_alloc+0x4b0>
10739 400096b8:       8b 45 08                mov    0x8(%ebp),%eax
10740 400096bb:       83 c0 24                add    $0x24,%eax
10741 400096be:       89 c2                   mov    %eax,%edx
10742 400096c0:       8b 45 a8                mov    -0x58(%ebp),%eax
10743 400096c3:       c1 e0 03                shl    $0x3,%eax
10744 400096c6:       8d 04 02                lea    (%edx,%eax,1),%eax
10745 400096c9:       3b 45 a0                cmp    -0x60(%ebp),%eax
10746 400096cc:       0f 94 c0                sete   %al
10747 400096cf:       0f b6 c0                movzbl %al,%eax
10748 400096d2:       85 c0                   test   %eax,%eax
10749 400096d4:       75 15                   jne    400096eb <prepend_alloc+0x1ef>
10750 400096d6:       8b 45 08                mov    0x8(%ebp),%eax
10751 400096d9:       8b 50 10                mov    0x10(%eax),%edx
10752 400096dc:       8b 45 a0                mov    -0x60(%ebp),%eax
10753 400096df:       39 c2                   cmp    %eax,%edx
10754 400096e1:       0f 96 c0                setbe  %al
10755 400096e4:       0f b6 c0                movzbl %al,%eax
10756 400096e7:       85 c0                   test   %eax,%eax
10757 400096e9:       74 0c                   je     400096f7 <prepend_alloc+0x1fb>
10758 400096eb:       c7 85 74 ff ff ff 01    movl   $0x1,-0x8c(%ebp)
10759 400096f2:       00 00 00 
10760 400096f5:       eb 0a                   jmp    40009701 <prepend_alloc+0x205>
10761 400096f7:       c7 85 74 ff ff ff 00    movl   $0x0,-0x8c(%ebp)
10762 400096fe:       00 00 00 
10763 40009701:       83 bd 74 ff ff ff 00    cmpl   $0x0,-0x8c(%ebp)
10764 40009708:       74 69                   je     40009773 <prepend_alloc+0x277>
10765 4000970a:       8b 45 08                mov    0x8(%ebp),%eax
10766 4000970d:       83 c0 24                add    $0x24,%eax
10767 40009710:       89 c2                   mov    %eax,%edx
10768 40009712:       8b 45 a8                mov    -0x58(%ebp),%eax
10769 40009715:       c1 e0 03                shl    $0x3,%eax
10770 40009718:       8d 04 02                lea    (%edx,%eax,1),%eax
10771 4000971b:       3b 45 a4                cmp    -0x5c(%ebp),%eax
10772 4000971e:       0f 94 c0                sete   %al
10773 40009721:       0f b6 c0                movzbl %al,%eax
10774 40009724:       85 c0                   test   %eax,%eax
10775 40009726:       75 15                   jne    4000973d <prepend_alloc+0x241>
10776 40009728:       8b 45 08                mov    0x8(%ebp),%eax
10777 4000972b:       8b 50 10                mov    0x10(%eax),%edx
10778 4000972e:       8b 45 a4                mov    -0x5c(%ebp),%eax
10779 40009731:       39 c2                   cmp    %eax,%edx
10780 40009733:       0f 96 c0                setbe  %al
10781 40009736:       0f b6 c0                movzbl %al,%eax
10782 40009739:       85 c0                   test   %eax,%eax
10783 4000973b:       74 0c                   je     40009749 <prepend_alloc+0x24d>
10784 4000973d:       c7 85 78 ff ff ff 01    movl   $0x1,-0x88(%ebp)
10785 40009744:       00 00 00 
10786 40009747:       eb 0a                   jmp    40009753 <prepend_alloc+0x257>
10787 40009749:       c7 85 78 ff ff ff 00    movl   $0x0,-0x88(%ebp)
10788 40009750:       00 00 00 
10789 40009753:       83 bd 78 ff ff ff 00    cmpl   $0x0,-0x88(%ebp)
10790 4000975a:       74 17                   je     40009773 <prepend_alloc+0x277>
10791 4000975c:       8b 55 a0                mov    -0x60(%ebp),%edx
10792 4000975f:       8b 45 a4                mov    -0x5c(%ebp),%eax
10793 40009762:       89 42 0c                mov    %eax,0xc(%edx)
10794 40009765:       8b 55 a4                mov    -0x5c(%ebp),%edx
10795 40009768:       8b 45 a0                mov    -0x60(%ebp),%eax
10796 4000976b:       89 42 08                mov    %eax,0x8(%edx)
10797 4000976e:       e9 39 02 00 00          jmp    400099ac <prepend_alloc+0x4b0>
10798 40009773:       e8 20 81 00 00          call   40011898 <abort>
10799 40009778:       e9 2f 02 00 00          jmp    400099ac <prepend_alloc+0x4b0>
10800 4000977d:       8b 45 84                mov    -0x7c(%ebp),%eax
10801 40009780:       89 45 ac                mov    %eax,-0x54(%ebp)
10802 40009783:       8b 45 ac                mov    -0x54(%ebp),%eax
10803 40009786:       8b 40 18                mov    0x18(%eax),%eax
10804 40009789:       89 45 b0                mov    %eax,-0x50(%ebp)
10805 4000978c:       8b 45 ac                mov    -0x54(%ebp),%eax
10806 4000978f:       8b 40 0c                mov    0xc(%eax),%eax
10807 40009792:       3b 45 ac                cmp    -0x54(%ebp),%eax
10808 40009795:       74 48                   je     400097df <prepend_alloc+0x2e3>
10809 40009797:       8b 45 ac                mov    -0x54(%ebp),%eax
10810 4000979a:       8b 40 08                mov    0x8(%eax),%eax
10811 4000979d:       89 45 b8                mov    %eax,-0x48(%ebp)
10812 400097a0:       8b 45 ac                mov    -0x54(%ebp),%eax
10813 400097a3:       8b 40 0c                mov    0xc(%eax),%eax
10814 400097a6:       89 45 b4                mov    %eax,-0x4c(%ebp)
10815 400097a9:       8b 45 08                mov    0x8(%ebp),%eax
10816 400097ac:       8b 50 10                mov    0x10(%eax),%edx
10817 400097af:       8b 45 b8                mov    -0x48(%ebp),%eax
10818 400097b2:       39 c2                   cmp    %eax,%edx
10819 400097b4:       0f 96 c0                setbe  %al
10820 400097b7:       0f b6 c0                movzbl %al,%eax
10821 400097ba:       85 c0                   test   %eax,%eax
10822 400097bc:       74 17                   je     400097d5 <prepend_alloc+0x2d9>
10823 400097be:       8b 55 b8                mov    -0x48(%ebp),%edx
10824 400097c1:       8b 45 b4                mov    -0x4c(%ebp),%eax
10825 400097c4:       89 42 0c                mov    %eax,0xc(%edx)
10826 400097c7:       8b 55 b4                mov    -0x4c(%ebp),%edx
10827 400097ca:       8b 45 b8                mov    -0x48(%ebp),%eax
10828 400097cd:       89 42 08                mov    %eax,0x8(%edx)
10829 400097d0:       e9 91 00 00 00          jmp    40009866 <prepend_alloc+0x36a>
10830 400097d5:       e8 be 80 00 00          call   40011898 <abort>
10831 400097da:       e9 87 00 00 00          jmp    40009866 <prepend_alloc+0x36a>
10832 400097df:       8b 45 ac                mov    -0x54(%ebp),%eax
10833 400097e2:       83 c0 14                add    $0x14,%eax
10834 400097e5:       89 45 bc                mov    %eax,-0x44(%ebp)
10835 400097e8:       8b 45 bc                mov    -0x44(%ebp),%eax
10836 400097eb:       8b 00                   mov    (%eax),%eax
10837 400097ed:       89 45 b4                mov    %eax,-0x4c(%ebp)
10838 400097f0:       83 7d b4 00             cmpl   $0x0,-0x4c(%ebp)
10839 400097f4:       75 27                   jne    4000981d <prepend_alloc+0x321>
10840 400097f6:       8b 45 ac                mov    -0x54(%ebp),%eax
10841 400097f9:       83 c0 10                add    $0x10,%eax
10842 400097fc:       89 45 bc                mov    %eax,-0x44(%ebp)
10843 400097ff:       8b 45 bc                mov    -0x44(%ebp),%eax
10844 40009802:       8b 00                   mov    (%eax),%eax
10845 40009804:       89 45 b4                mov    %eax,-0x4c(%ebp)
10846 40009807:       83 7d b4 00             cmpl   $0x0,-0x4c(%ebp)
10847 4000980b:       74 59                   je     40009866 <prepend_alloc+0x36a>
10848 4000980d:       eb 0e                   jmp    4000981d <prepend_alloc+0x321>
10849 4000980f:       8b 45 c0                mov    -0x40(%ebp),%eax
10850 40009812:       89 45 bc                mov    %eax,-0x44(%ebp)
10851 40009815:       8b 45 bc                mov    -0x44(%ebp),%eax
10852 40009818:       8b 00                   mov    (%eax),%eax
10853 4000981a:       89 45 b4                mov    %eax,-0x4c(%ebp)
10854 4000981d:       8b 45 b4                mov    -0x4c(%ebp),%eax
10855 40009820:       83 c0 14                add    $0x14,%eax
10856 40009823:       89 45 c0                mov    %eax,-0x40(%ebp)
10857 40009826:       8b 45 c0                mov    -0x40(%ebp),%eax
10858 40009829:       8b 00                   mov    (%eax),%eax
10859 4000982b:       85 c0                   test   %eax,%eax
10860 4000982d:       75 e0                   jne    4000980f <prepend_alloc+0x313>
10861 4000982f:       8b 45 b4                mov    -0x4c(%ebp),%eax
10862 40009832:       83 c0 10                add    $0x10,%eax
10863 40009835:       89 45 c0                mov    %eax,-0x40(%ebp)
10864 40009838:       8b 45 c0                mov    -0x40(%ebp),%eax
10865 4000983b:       8b 00                   mov    (%eax),%eax
10866 4000983d:       85 c0                   test   %eax,%eax
10867 4000983f:       75 ce                   jne    4000980f <prepend_alloc+0x313>
10868 40009841:       8b 45 08                mov    0x8(%ebp),%eax
10869 40009844:       8b 50 10                mov    0x10(%eax),%edx
10870 40009847:       8b 45 bc                mov    -0x44(%ebp),%eax
10871 4000984a:       39 c2                   cmp    %eax,%edx
10872 4000984c:       0f 96 c0                setbe  %al
10873 4000984f:       0f b6 c0                movzbl %al,%eax
10874 40009852:       85 c0                   test   %eax,%eax
10875 40009854:       74 0b                   je     40009861 <prepend_alloc+0x365>
10876 40009856:       8b 45 bc                mov    -0x44(%ebp),%eax
10877 40009859:       c7 00 00 00 00 00       movl   $0x0,(%eax)
10878 4000985f:       eb 05                   jmp    40009866 <prepend_alloc+0x36a>
10879 40009861:       e8 32 80 00 00          call   40011898 <abort>
10880 40009866:       83 7d b0 00             cmpl   $0x0,-0x50(%ebp)
10881 4000986a:       0f 84 3c 01 00 00       je     400099ac <prepend_alloc+0x4b0>
10882 40009870:       8b 45 08                mov    0x8(%ebp),%eax
10883 40009873:       8d 90 2c 01 00 00       lea    0x12c(%eax),%edx
10884 40009879:       8b 45 ac                mov    -0x54(%ebp),%eax
10885 4000987c:       8b 40 1c                mov    0x1c(%eax),%eax
10886 4000987f:       c1 e0 02                shl    $0x2,%eax
10887 40009882:       8d 04 02                lea    (%edx,%eax,1),%eax
10888 40009885:       89 45 c4                mov    %eax,-0x3c(%ebp)
10889 40009888:       8b 45 c4                mov    -0x3c(%ebp),%eax
10890 4000988b:       8b 00                   mov    (%eax),%eax
10891 4000988d:       3b 45 ac                cmp    -0x54(%ebp),%eax
10892 40009890:       75 32                   jne    400098c4 <prepend_alloc+0x3c8>
10893 40009892:       8b 55 c4                mov    -0x3c(%ebp),%edx
10894 40009895:       8b 45 b4                mov    -0x4c(%ebp),%eax
10895 40009898:       89 02                   mov    %eax,(%edx)
10896 4000989a:       8b 45 c4                mov    -0x3c(%ebp),%eax
10897 4000989d:       8b 00                   mov    (%eax),%eax
10898 4000989f:       85 c0                   test   %eax,%eax
10899 400098a1:       75 5c                   jne    400098ff <prepend_alloc+0x403>
10900 400098a3:       8b 45 08                mov    0x8(%ebp),%eax
10901 400098a6:       8b 50 04                mov    0x4(%eax),%edx
10902 400098a9:       8b 45 ac                mov    -0x54(%ebp),%eax
10903 400098ac:       8b 40 1c                mov    0x1c(%eax),%eax
10904 400098af:       89 c1                   mov    %eax,%ecx
10905 400098b1:       b8 01 00 00 00          mov    $0x1,%eax
10906 400098b6:       d3 e0                   shl    %cl,%eax
10907 400098b8:       f7 d0                   not    %eax
10908 400098ba:       21 c2                   and    %eax,%edx
10909 400098bc:       8b 45 08                mov    0x8(%ebp),%eax
10910 400098bf:       89 50 04                mov    %edx,0x4(%eax)
10911 400098c2:       eb 3b                   jmp    400098ff <prepend_alloc+0x403>
10912 400098c4:       8b 45 08                mov    0x8(%ebp),%eax
10913 400098c7:       8b 50 10                mov    0x10(%eax),%edx
10914 400098ca:       8b 45 b0                mov    -0x50(%ebp),%eax
10915 400098cd:       39 c2                   cmp    %eax,%edx
10916 400098cf:       0f 96 c0                setbe  %al
10917 400098d2:       0f b6 c0                movzbl %al,%eax
10918 400098d5:       85 c0                   test   %eax,%eax
10919 400098d7:       74 21                   je     400098fa <prepend_alloc+0x3fe>
10920 400098d9:       8b 45 b0                mov    -0x50(%ebp),%eax
10921 400098dc:       8b 40 10                mov    0x10(%eax),%eax
10922 400098df:       3b 45 ac                cmp    -0x54(%ebp),%eax
10923 400098e2:       75 0b                   jne    400098ef <prepend_alloc+0x3f3>
10924 400098e4:       8b 55 b0                mov    -0x50(%ebp),%edx
10925 400098e7:       8b 45 b4                mov    -0x4c(%ebp),%eax
10926 400098ea:       89 42 10                mov    %eax,0x10(%edx)
10927 400098ed:       eb 10                   jmp    400098ff <prepend_alloc+0x403>
10928 400098ef:       8b 55 b0                mov    -0x50(%ebp),%edx
10929 400098f2:       8b 45 b4                mov    -0x4c(%ebp),%eax
10930 400098f5:       89 42 14                mov    %eax,0x14(%edx)
10931 400098f8:       eb 05                   jmp    400098ff <prepend_alloc+0x403>
10932 400098fa:       e8 99 7f 00 00          call   40011898 <abort>
10933 400098ff:       83 7d b4 00             cmpl   $0x0,-0x4c(%ebp)
10934 40009903:       0f 84 a3 00 00 00       je     400099ac <prepend_alloc+0x4b0>
10935 40009909:       8b 45 08                mov    0x8(%ebp),%eax
10936 4000990c:       8b 50 10                mov    0x10(%eax),%edx
10937 4000990f:       8b 45 b4                mov    -0x4c(%ebp),%eax
10938 40009912:       39 c2                   cmp    %eax,%edx
10939 40009914:       0f 96 c0                setbe  %al
10940 40009917:       0f b6 c0                movzbl %al,%eax
10941 4000991a:       85 c0                   test   %eax,%eax
10942 4000991c:       0f 84 85 00 00 00       je     400099a7 <prepend_alloc+0x4ab>
10943 40009922:       8b 55 b4                mov    -0x4c(%ebp),%edx
10944 40009925:       8b 45 b0                mov    -0x50(%ebp),%eax
10945 40009928:       89 42 18                mov    %eax,0x18(%edx)
10946 4000992b:       8b 45 ac                mov    -0x54(%ebp),%eax
10947 4000992e:       8b 40 10                mov    0x10(%eax),%eax
10948 40009931:       89 45 c8                mov    %eax,-0x38(%ebp)
10949 40009934:       83 7d c8 00             cmpl   $0x0,-0x38(%ebp)
10950 40009938:       74 2e                   je     40009968 <prepend_alloc+0x46c>
10951 4000993a:       8b 45 08                mov    0x8(%ebp),%eax
10952 4000993d:       8b 50 10                mov    0x10(%eax),%edx
10953 40009940:       8b 45 c8                mov    -0x38(%ebp),%eax
10954 40009943:       39 c2                   cmp    %eax,%edx
10955 40009945:       0f 96 c0                setbe  %al
10956 40009948:       0f b6 c0                movzbl %al,%eax
10957 4000994b:       85 c0                   test   %eax,%eax
10958 4000994d:       74 14                   je     40009963 <prepend_alloc+0x467>
10959 4000994f:       8b 55 b4                mov    -0x4c(%ebp),%edx
10960 40009952:       8b 45 c8                mov    -0x38(%ebp),%eax
10961 40009955:       89 42 10                mov    %eax,0x10(%edx)
10962 40009958:       8b 55 c8                mov    -0x38(%ebp),%edx
10963 4000995b:       8b 45 b4                mov    -0x4c(%ebp),%eax
10964 4000995e:       89 42 18                mov    %eax,0x18(%edx)
10965 40009961:       eb 05                   jmp    40009968 <prepend_alloc+0x46c>
10966 40009963:       e8 30 7f 00 00          call   40011898 <abort>
10967 40009968:       8b 45 ac                mov    -0x54(%ebp),%eax
10968 4000996b:       8b 40 14                mov    0x14(%eax),%eax
10969 4000996e:       89 45 cc                mov    %eax,-0x34(%ebp)
10970 40009971:       83 7d cc 00             cmpl   $0x0,-0x34(%ebp)
10971 40009975:       74 35                   je     400099ac <prepend_alloc+0x4b0>
10972 40009977:       8b 45 08                mov    0x8(%ebp),%eax
10973 4000997a:       8b 50 10                mov    0x10(%eax),%edx
10974 4000997d:       8b 45 cc                mov    -0x34(%ebp),%eax
10975 40009980:       39 c2                   cmp    %eax,%edx
10976 40009982:       0f 96 c0                setbe  %al
10977 40009985:       0f b6 c0                movzbl %al,%eax
10978 40009988:       85 c0                   test   %eax,%eax
10979 4000998a:       74 14                   je     400099a0 <prepend_alloc+0x4a4>
10980 4000998c:       8b 55 b4                mov    -0x4c(%ebp),%edx
10981 4000998f:       8b 45 cc                mov    -0x34(%ebp),%eax
10982 40009992:       89 42 14                mov    %eax,0x14(%edx)
10983 40009995:       8b 55 cc                mov    -0x34(%ebp),%edx
10984 40009998:       8b 45 b4                mov    -0x4c(%ebp),%eax
10985 4000999b:       89 42 18                mov    %eax,0x18(%edx)
10986 4000999e:       eb 0c                   jmp    400099ac <prepend_alloc+0x4b0>
10987 400099a0:       e8 f3 7e 00 00          call   40011898 <abort>
10988 400099a5:       eb 05                   jmp    400099ac <prepend_alloc+0x4b0>
10989 400099a7:       e8 ec 7e 00 00          call   40011898 <abort>
10990 400099ac:       8b 45 9c                mov    -0x64(%ebp),%eax
10991 400099af:       01 45 84                add    %eax,-0x7c(%ebp)
10992 400099b2:       8b 45 9c                mov    -0x64(%ebp),%eax
10993 400099b5:       01 45 90                add    %eax,-0x70(%ebp)
10994 400099b8:       8b 45 84                mov    -0x7c(%ebp),%eax
10995 400099bb:       8b 40 04                mov    0x4(%eax),%eax
10996 400099be:       89 c2                   mov    %eax,%edx
10997 400099c0:       83 e2 fe                and    $0xfffffffe,%edx
10998 400099c3:       8b 45 84                mov    -0x7c(%ebp),%eax
10999 400099c6:       89 50 04                mov    %edx,0x4(%eax)
11000 400099c9:       8b 45 90                mov    -0x70(%ebp),%eax
11001 400099cc:       89 c2                   mov    %eax,%edx
11002 400099ce:       83 ca 01                or     $0x1,%edx
11003 400099d1:       8b 45 8c                mov    -0x74(%ebp),%eax
11004 400099d4:       89 50 04                mov    %edx,0x4(%eax)
11005 400099d7:       8b 55 90                mov    -0x70(%ebp),%edx
11006 400099da:       8b 45 8c                mov    -0x74(%ebp),%eax
11007 400099dd:       8d 14 10                lea    (%eax,%edx,1),%edx
11008 400099e0:       8b 45 90                mov    -0x70(%ebp),%eax
11009 400099e3:       89 02                   mov    %eax,(%edx)
11010 400099e5:       8b 45 90                mov    -0x70(%ebp),%eax
11011 400099e8:       c1 e8 03                shr    $0x3,%eax
11012 400099eb:       83 f8 1f                cmp    $0x1f,%eax
11013 400099ee:       0f 87 a3 00 00 00       ja     40009a97 <prepend_alloc+0x59b>
11014 400099f4:       8b 45 90                mov    -0x70(%ebp),%eax
11015 400099f7:       c1 e8 03                shr    $0x3,%eax
11016 400099fa:       89 45 d0                mov    %eax,-0x30(%ebp)
11017 400099fd:       8b 45 08                mov    0x8(%ebp),%eax
11018 40009a00:       83 c0 24                add    $0x24,%eax
11019 40009a03:       89 c2                   mov    %eax,%edx
11020 40009a05:       8b 45 d0                mov    -0x30(%ebp),%eax
11021 40009a08:       c1 e0 03                shl    $0x3,%eax
11022 40009a0b:       8d 04 02                lea    (%edx,%eax,1),%eax
11023 40009a0e:       89 45 d4                mov    %eax,-0x2c(%ebp)
11024 40009a11:       8b 45 d4                mov    -0x2c(%ebp),%eax
11025 40009a14:       89 45 d8                mov    %eax,-0x28(%ebp)
11026 40009a17:       8b 45 08                mov    0x8(%ebp),%eax
11027 40009a1a:       8b 10                   mov    (%eax),%edx
11028 40009a1c:       8b 4d d0                mov    -0x30(%ebp),%ecx
11029 40009a1f:       b8 01 00 00 00          mov    $0x1,%eax
11030 40009a24:       d3 e0                   shl    %cl,%eax
11031 40009a26:       21 d0                   and    %edx,%eax
11032 40009a28:       85 c0                   test   %eax,%eax
11033 40009a2a:       75 18                   jne    40009a44 <prepend_alloc+0x548>
11034 40009a2c:       8b 45 08                mov    0x8(%ebp),%eax
11035 40009a2f:       8b 10                   mov    (%eax),%edx
11036 40009a31:       8b 4d d0                mov    -0x30(%ebp),%ecx
11037 40009a34:       b8 01 00 00 00          mov    $0x1,%eax
11038 40009a39:       d3 e0                   shl    %cl,%eax
11039 40009a3b:       09 c2                   or     %eax,%edx
11040 40009a3d:       8b 45 08                mov    0x8(%ebp),%eax
11041 40009a40:       89 10                   mov    %edx,(%eax)
11042 40009a42:       eb 2a                   jmp    40009a6e <prepend_alloc+0x572>
11043 40009a44:       8b 45 d4                mov    -0x2c(%ebp),%eax
11044 40009a47:       8b 40 08                mov    0x8(%eax),%eax
11045 40009a4a:       89 c2                   mov    %eax,%edx
11046 40009a4c:       8b 45 08                mov    0x8(%ebp),%eax
11047 40009a4f:       8b 40 10                mov    0x10(%eax),%eax
11048 40009a52:       39 c2                   cmp    %eax,%edx
11049 40009a54:       0f 93 c0                setae  %al
11050 40009a57:       0f b6 c0                movzbl %al,%eax
11051 40009a5a:       85 c0                   test   %eax,%eax
11052 40009a5c:       74 0b                   je     40009a69 <prepend_alloc+0x56d>
11053 40009a5e:       8b 45 d4                mov    -0x2c(%ebp),%eax
11054 40009a61:       8b 40 08                mov    0x8(%eax),%eax
11055 40009a64:       89 45 d8                mov    %eax,-0x28(%ebp)
11056 40009a67:       eb 05                   jmp    40009a6e <prepend_alloc+0x572>
11057 40009a69:       e8 2a 7e 00 00          call   40011898 <abort>
11058 40009a6e:       8b 55 d4                mov    -0x2c(%ebp),%edx
11059 40009a71:       8b 45 8c                mov    -0x74(%ebp),%eax
11060 40009a74:       89 42 08                mov    %eax,0x8(%edx)
11061 40009a77:       8b 55 d8                mov    -0x28(%ebp),%edx
11062 40009a7a:       8b 45 8c                mov    -0x74(%ebp),%eax
11063 40009a7d:       89 42 0c                mov    %eax,0xc(%edx)
11064 40009a80:       8b 55 8c                mov    -0x74(%ebp),%edx
11065 40009a83:       8b 45 d8                mov    -0x28(%ebp),%eax
11066 40009a86:       89 42 08                mov    %eax,0x8(%edx)
11067 40009a89:       8b 55 8c                mov    -0x74(%ebp),%edx
11068 40009a8c:       8b 45 d4                mov    -0x2c(%ebp),%eax
11069 40009a8f:       89 42 0c                mov    %eax,0xc(%edx)
11070 40009a92:       e9 05 02 00 00          jmp    40009c9c <prepend_alloc+0x7a0>
11071 40009a97:       8b 45 8c                mov    -0x74(%ebp),%eax
11072 40009a9a:       89 45 dc                mov    %eax,-0x24(%ebp)
11073 40009a9d:       8b 45 90                mov    -0x70(%ebp),%eax
11074 40009aa0:       c1 e8 08                shr    $0x8,%eax
11075 40009aa3:       89 45 e8                mov    %eax,-0x18(%ebp)
11076 40009aa6:       83 7d e8 00             cmpl   $0x0,-0x18(%ebp)
11077 40009aaa:       75 09                   jne    40009ab5 <prepend_alloc+0x5b9>
11078 40009aac:       c7 45 e4 00 00 00 00    movl   $0x0,-0x1c(%ebp)
11079 40009ab3:       eb 35                   jmp    40009aea <prepend_alloc+0x5ee>
11080 40009ab5:       81 7d e8 ff ff 00 00    cmpl   $0xffff,-0x18(%ebp)
11081 40009abc:       76 09                   jbe    40009ac7 <prepend_alloc+0x5cb>
11082 40009abe:       c7 45 e4 1f 00 00 00    movl   $0x1f,-0x1c(%ebp)
11083 40009ac5:       eb 23                   jmp    40009aea <prepend_alloc+0x5ee>
11084 40009ac7:       0f bd 45 e8             bsr    -0x18(%ebp),%eax
11085 40009acb:       89 45 ec                mov    %eax,-0x14(%ebp)
11086 40009ace:       8b 45 ec                mov    -0x14(%ebp),%eax
11087 40009ad1:       8d 14 00                lea    (%eax,%eax,1),%edx
11088 40009ad4:       8b 45 ec                mov    -0x14(%ebp),%eax
11089 40009ad7:       83 c0 07                add    $0x7,%eax
11090 40009ada:       89 c1                   mov    %eax,%ecx
11091 40009adc:       8b 45 90                mov    -0x70(%ebp),%eax
11092 40009adf:       d3 e8                   shr    %cl,%eax
11093 40009ae1:       83 e0 01                and    $0x1,%eax
11094 40009ae4:       8d 04 02                lea    (%edx,%eax,1),%eax
11095 40009ae7:       89 45 e4                mov    %eax,-0x1c(%ebp)
11096 40009aea:       8b 45 08                mov    0x8(%ebp),%eax
11097 40009aed:       8d 90 2c 01 00 00       lea    0x12c(%eax),%edx
11098 40009af3:       8b 45 e4                mov    -0x1c(%ebp),%eax
11099 40009af6:       c1 e0 02                shl    $0x2,%eax
11100 40009af9:       8d 04 02                lea    (%edx,%eax,1),%eax
11101 40009afc:       89 45 e0                mov    %eax,-0x20(%ebp)
11102 40009aff:       8b 55 dc                mov    -0x24(%ebp),%edx
11103 40009b02:       8b 45 e4                mov    -0x1c(%ebp),%eax
11104 40009b05:       89 42 1c                mov    %eax,0x1c(%edx)
11105 40009b08:       8b 45 dc                mov    -0x24(%ebp),%eax
11106 40009b0b:       c7 40 14 00 00 00 00    movl   $0x0,0x14(%eax)
11107 40009b12:       8b 45 dc                mov    -0x24(%ebp),%eax
11108 40009b15:       8b 50 14                mov    0x14(%eax),%edx
11109 40009b18:       8b 45 dc                mov    -0x24(%ebp),%eax
11110 40009b1b:       89 50 10                mov    %edx,0x10(%eax)
11111 40009b1e:       8b 45 08                mov    0x8(%ebp),%eax
11112 40009b21:       8b 50 04                mov    0x4(%eax),%edx
11113 40009b24:       8b 4d e4                mov    -0x1c(%ebp),%ecx
11114 40009b27:       b8 01 00 00 00          mov    $0x1,%eax
11115 40009b2c:       d3 e0                   shl    %cl,%eax
11116 40009b2e:       21 d0                   and    %edx,%eax
11117 40009b30:       85 c0                   test   %eax,%eax
11118 40009b32:       75 43                   jne    40009b77 <prepend_alloc+0x67b>
11119 40009b34:       8b 45 08                mov    0x8(%ebp),%eax
11120 40009b37:       8b 50 04                mov    0x4(%eax),%edx
11121 40009b3a:       8b 4d e4                mov    -0x1c(%ebp),%ecx
11122 40009b3d:       b8 01 00 00 00          mov    $0x1,%eax
11123 40009b42:       d3 e0                   shl    %cl,%eax
11124 40009b44:       09 c2                   or     %eax,%edx
11125 40009b46:       8b 45 08                mov    0x8(%ebp),%eax
11126 40009b49:       89 50 04                mov    %edx,0x4(%eax)
11127 40009b4c:       8b 55 e0                mov    -0x20(%ebp),%edx
11128 40009b4f:       8b 45 dc                mov    -0x24(%ebp),%eax
11129 40009b52:       89 02                   mov    %eax,(%edx)
11130 40009b54:       8b 55 e0                mov    -0x20(%ebp),%edx
11131 40009b57:       8b 45 dc                mov    -0x24(%ebp),%eax
11132 40009b5a:       89 50 18                mov    %edx,0x18(%eax)
11133 40009b5d:       8b 55 dc                mov    -0x24(%ebp),%edx
11134 40009b60:       8b 45 dc                mov    -0x24(%ebp),%eax
11135 40009b63:       89 42 0c                mov    %eax,0xc(%edx)
11136 40009b66:       8b 45 dc                mov    -0x24(%ebp),%eax
11137 40009b69:       8b 50 0c                mov    0xc(%eax),%edx
11138 40009b6c:       8b 45 dc                mov    -0x24(%ebp),%eax
11139 40009b6f:       89 50 08                mov    %edx,0x8(%eax)
11140 40009b72:       e9 25 01 00 00          jmp    40009c9c <prepend_alloc+0x7a0>
11141 40009b77:       8b 45 e0                mov    -0x20(%ebp),%eax
11142 40009b7a:       8b 00                   mov    (%eax),%eax
11143 40009b7c:       89 45 f0                mov    %eax,-0x10(%ebp)
11144 40009b7f:       83 7d e4 1f             cmpl   $0x1f,-0x1c(%ebp)
11145 40009b83:       74 16                   je     40009b9b <prepend_alloc+0x69f>
11146 40009b85:       8b 45 e4                mov    -0x1c(%ebp),%eax
11147 40009b88:       89 c2                   mov    %eax,%edx
11148 40009b8a:       d1 ea                   shr    %edx
11149 40009b8c:       b8 19 00 00 00          mov    $0x19,%eax
11150 40009b91:       29 d0                   sub    %edx,%eax
11151 40009b93:       89 85 7c ff ff ff       mov    %eax,-0x84(%ebp)
11152 40009b99:       eb 0a                   jmp    40009ba5 <prepend_alloc+0x6a9>
11153 40009b9b:       c7 85 7c ff ff ff 00    movl   $0x0,-0x84(%ebp)
11154 40009ba2:       00 00 00 
11155 40009ba5:       8b 45 90                mov    -0x70(%ebp),%eax
11156 40009ba8:       0f b6 8d 7c ff ff ff    movzbl -0x84(%ebp),%ecx
11157 40009baf:       d3 e0                   shl    %cl,%eax
11158 40009bb1:       89 45 f4                mov    %eax,-0xc(%ebp)
11159 40009bb4:       8b 45 f0                mov    -0x10(%ebp),%eax
11160 40009bb7:       8b 40 04                mov    0x4(%eax),%eax
11161 40009bba:       83 e0 fc                and    $0xfffffffc,%eax
11162 40009bbd:       3b 45 90                cmp    -0x70(%ebp),%eax
11163 40009bc0:       74 6f                   je     40009c31 <prepend_alloc+0x735>
11164 40009bc2:       8b 45 f0                mov    -0x10(%ebp),%eax
11165 40009bc5:       8d 50 10                lea    0x10(%eax),%edx
11166 40009bc8:       8b 45 f4                mov    -0xc(%ebp),%eax
11167 40009bcb:       c1 e8 1f                shr    $0x1f,%eax
11168 40009bce:       c1 e0 02                shl    $0x2,%eax
11169 40009bd1:       8d 04 02                lea    (%edx,%eax,1),%eax
11170 40009bd4:       89 45 f8                mov    %eax,-0x8(%ebp)
11171 40009bd7:       d1 65 f4                shll   -0xc(%ebp)
11172 40009bda:       8b 45 f8                mov    -0x8(%ebp),%eax
11173 40009bdd:       8b 00                   mov    (%eax),%eax
11174 40009bdf:       85 c0                   test   %eax,%eax
11175 40009be1:       74 0a                   je     40009bed <prepend_alloc+0x6f1>
11176 40009be3:       8b 45 f8                mov    -0x8(%ebp),%eax
11177 40009be6:       8b 00                   mov    (%eax),%eax
11178 40009be8:       89 45 f0                mov    %eax,-0x10(%ebp)
11179 40009beb:       eb c7                   jmp    40009bb4 <prepend_alloc+0x6b8>
11180 40009bed:       8b 45 08                mov    0x8(%ebp),%eax
11181 40009bf0:       8b 50 10                mov    0x10(%eax),%edx
11182 40009bf3:       8b 45 f8                mov    -0x8(%ebp),%eax
11183 40009bf6:       39 c2                   cmp    %eax,%edx
11184 40009bf8:       0f 96 c0                setbe  %al
11185 40009bfb:       0f b6 c0                movzbl %al,%eax
11186 40009bfe:       85 c0                   test   %eax,%eax
11187 40009c00:       74 28                   je     40009c2a <prepend_alloc+0x72e>
11188 40009c02:       8b 55 f8                mov    -0x8(%ebp),%edx
11189 40009c05:       8b 45 dc                mov    -0x24(%ebp),%eax
11190 40009c08:       89 02                   mov    %eax,(%edx)
11191 40009c0a:       8b 55 dc                mov    -0x24(%ebp),%edx
11192 40009c0d:       8b 45 f0                mov    -0x10(%ebp),%eax
11193 40009c10:       89 42 18                mov    %eax,0x18(%edx)
11194 40009c13:       8b 55 dc                mov    -0x24(%ebp),%edx
11195 40009c16:       8b 45 dc                mov    -0x24(%ebp),%eax
11196 40009c19:       89 42 0c                mov    %eax,0xc(%edx)
11197 40009c1c:       8b 45 dc                mov    -0x24(%ebp),%eax
11198 40009c1f:       8b 50 0c                mov    0xc(%eax),%edx
11199 40009c22:       8b 45 dc                mov    -0x24(%ebp),%eax
11200 40009c25:       89 50 08                mov    %edx,0x8(%eax)
11201 40009c28:       eb 72                   jmp    40009c9c <prepend_alloc+0x7a0>
11202 40009c2a:       e8 69 7c 00 00          call   40011898 <abort>
11203 40009c2f:       eb 6b                   jmp    40009c9c <prepend_alloc+0x7a0>
11204 40009c31:       8b 45 f0                mov    -0x10(%ebp),%eax
11205 40009c34:       8b 40 08                mov    0x8(%eax),%eax
11206 40009c37:       89 45 fc                mov    %eax,-0x4(%ebp)
11207 40009c3a:       8b 45 08                mov    0x8(%ebp),%eax
11208 40009c3d:       8b 50 10                mov    0x10(%eax),%edx
11209 40009c40:       8b 45 f0                mov    -0x10(%ebp),%eax
11210 40009c43:       39 c2                   cmp    %eax,%edx
11211 40009c45:       0f 96 c0                setbe  %al
11212 40009c48:       0f b6 c0                movzbl %al,%eax
11213 40009c4b:       85 c0                   test   %eax,%eax
11214 40009c4d:       74 48                   je     40009c97 <prepend_alloc+0x79b>
11215 40009c4f:       8b 45 08                mov    0x8(%ebp),%eax
11216 40009c52:       8b 50 10                mov    0x10(%eax),%edx
11217 40009c55:       8b 45 fc                mov    -0x4(%ebp),%eax
11218 40009c58:       39 c2                   cmp    %eax,%edx
11219 40009c5a:       0f 96 c0                setbe  %al
11220 40009c5d:       0f b6 c0                movzbl %al,%eax
11221 40009c60:       85 c0                   test   %eax,%eax
11222 40009c62:       74 33                   je     40009c97 <prepend_alloc+0x79b>
11223 40009c64:       8b 55 fc                mov    -0x4(%ebp),%edx
11224 40009c67:       8b 45 dc                mov    -0x24(%ebp),%eax
11225 40009c6a:       89 42 0c                mov    %eax,0xc(%edx)
11226 40009c6d:       8b 45 fc                mov    -0x4(%ebp),%eax
11227 40009c70:       8b 50 0c                mov    0xc(%eax),%edx
11228 40009c73:       8b 45 f0                mov    -0x10(%ebp),%eax
11229 40009c76:       89 50 08                mov    %edx,0x8(%eax)
11230 40009c79:       8b 55 dc                mov    -0x24(%ebp),%edx
11231 40009c7c:       8b 45 fc                mov    -0x4(%ebp),%eax
11232 40009c7f:       89 42 08                mov    %eax,0x8(%edx)
11233 40009c82:       8b 55 dc                mov    -0x24(%ebp),%edx
11234 40009c85:       8b 45 f0                mov    -0x10(%ebp),%eax
11235 40009c88:       89 42 0c                mov    %eax,0xc(%edx)
11236 40009c8b:       8b 45 dc                mov    -0x24(%ebp),%eax
11237 40009c8e:       c7 40 18 00 00 00 00    movl   $0x0,0x18(%eax)
11238 40009c95:       eb 05                   jmp    40009c9c <prepend_alloc+0x7a0>
11239 40009c97:       e8 fc 7b 00 00          call   40011898 <abort>
11240 40009c9c:       8b 45 80                mov    -0x80(%ebp),%eax
11241 40009c9f:       83 c0 08                add    $0x8,%eax
11242 40009ca2:       c9                      leave  
11243 40009ca3:       c3                      ret    
11245 40009ca4 <add_segment>:
11246 40009ca4:       55                      push   %ebp
11247 40009ca5:       89 e5                   mov    %esp,%ebp
11248 40009ca7:       81 ec 98 00 00 00       sub    $0x98,%esp
11249 40009cad:       8b 45 08                mov    0x8(%ebp),%eax
11250 40009cb0:       8b 40 18                mov    0x18(%eax),%eax
11251 40009cb3:       89 45 8c                mov    %eax,-0x74(%ebp)
11252 40009cb6:       8b 45 8c                mov    -0x74(%ebp),%eax
11253 40009cb9:       89 44 24 04             mov    %eax,0x4(%esp)
11254 40009cbd:       8b 45 08                mov    0x8(%ebp),%eax
11255 40009cc0:       89 04 24                mov    %eax,(%esp)
11256 40009cc3:       e8 f0 ef ff ff          call   40008cb8 <segment_holding>
11257 40009cc8:       89 45 90                mov    %eax,-0x70(%ebp)
11258 40009ccb:       8b 45 90                mov    -0x70(%ebp),%eax
11259 40009cce:       8b 10                   mov    (%eax),%edx
11260 40009cd0:       8b 45 90                mov    -0x70(%ebp),%eax
11261 40009cd3:       8b 40 04                mov    0x4(%eax),%eax
11262 40009cd6:       8d 04 02                lea    (%edx,%eax,1),%eax
11263 40009cd9:       89 45 94                mov    %eax,-0x6c(%ebp)
11264 40009cdc:       c7 45 98 18 00 00 00    movl   $0x18,-0x68(%ebp)
11265 40009ce3:       b8 e9 ff ff ff          mov    $0xffffffe9,%eax
11266 40009ce8:       2b 45 98                sub    -0x68(%ebp),%eax
11267 40009ceb:       03 45 94                add    -0x6c(%ebp),%eax
11268 40009cee:       89 45 9c                mov    %eax,-0x64(%ebp)
11269 40009cf1:       8b 45 9c                mov    -0x64(%ebp),%eax
11270 40009cf4:       83 c0 08                add    $0x8,%eax
11271 40009cf7:       83 e0 07                and    $0x7,%eax
11272 40009cfa:       85 c0                   test   %eax,%eax
11273 40009cfc:       74 1f                   je     40009d1d <add_segment+0x79>
11274 40009cfe:       8b 45 9c                mov    -0x64(%ebp),%eax
11275 40009d01:       83 c0 08                add    $0x8,%eax
11276 40009d04:       89 c2                   mov    %eax,%edx
11277 40009d06:       83 e2 07                and    $0x7,%edx
11278 40009d09:       b8 08 00 00 00          mov    $0x8,%eax
11279 40009d0e:       29 d0                   sub    %edx,%eax
11280 40009d10:       89 c2                   mov    %eax,%edx
11281 40009d12:       83 e2 07                and    $0x7,%edx
11282 40009d15:       89 95 74 ff ff ff       mov    %edx,-0x8c(%ebp)
11283 40009d1b:       eb 0a                   jmp    40009d27 <add_segment+0x83>
11284 40009d1d:       c7 85 74 ff ff ff 00    movl   $0x0,-0x8c(%ebp)
11285 40009d24:       00 00 00 
11286 40009d27:       8b 8d 74 ff ff ff       mov    -0x8c(%ebp),%ecx
11287 40009d2d:       89 4d a0                mov    %ecx,-0x60(%ebp)
11288 40009d30:       8b 55 a0                mov    -0x60(%ebp),%edx
11289 40009d33:       8b 45 9c                mov    -0x64(%ebp),%eax
11290 40009d36:       01 d0                   add    %edx,%eax
11291 40009d38:       89 45 a4                mov    %eax,-0x5c(%ebp)
11292 40009d3b:       8b 45 8c                mov    -0x74(%ebp),%eax
11293 40009d3e:       83 c0 10                add    $0x10,%eax
11294 40009d41:       3b 45 a4                cmp    -0x5c(%ebp),%eax
11295 40009d44:       76 0b                   jbe    40009d51 <add_segment+0xad>
11296 40009d46:       8b 45 8c                mov    -0x74(%ebp),%eax
11297 40009d49:       89 85 78 ff ff ff       mov    %eax,-0x88(%ebp)
11298 40009d4f:       eb 09                   jmp    40009d5a <add_segment+0xb6>
11299 40009d51:       8b 55 a4                mov    -0x5c(%ebp),%edx
11300 40009d54:       89 95 78 ff ff ff       mov    %edx,-0x88(%ebp)
11301 40009d5a:       8b 8d 78 ff ff ff       mov    -0x88(%ebp),%ecx
11302 40009d60:       89 4d a8                mov    %ecx,-0x58(%ebp)
11303 40009d63:       8b 45 a8                mov    -0x58(%ebp),%eax
11304 40009d66:       89 45 ac                mov    %eax,-0x54(%ebp)
11305 40009d69:       8b 45 ac                mov    -0x54(%ebp),%eax
11306 40009d6c:       83 c0 08                add    $0x8,%eax
11307 40009d6f:       89 45 b0                mov    %eax,-0x50(%ebp)
11308 40009d72:       8b 55 98                mov    -0x68(%ebp),%edx
11309 40009d75:       8b 45 ac                mov    -0x54(%ebp),%eax
11310 40009d78:       01 d0                   add    %edx,%eax
11311 40009d7a:       89 45 b4                mov    %eax,-0x4c(%ebp)
11312 40009d7d:       8b 45 b4                mov    -0x4c(%ebp),%eax
11313 40009d80:       89 45 b8                mov    %eax,-0x48(%ebp)
11314 40009d83:       c7 45 bc 00 00 00 00    movl   $0x0,-0x44(%ebp)
11315 40009d8a:       8b 45 10                mov    0x10(%ebp),%eax
11316 40009d8d:       83 e8 28                sub    $0x28,%eax
11317 40009d90:       8b 55 0c                mov    0xc(%ebp),%edx
11318 40009d93:       89 44 24 08             mov    %eax,0x8(%esp)
11319 40009d97:       89 54 24 04             mov    %edx,0x4(%esp)
11320 40009d9b:       8b 45 08                mov    0x8(%ebp),%eax
11321 40009d9e:       89 04 24                mov    %eax,(%esp)
11322 40009da1:       e8 8d f6 ff ff          call   40009433 <init_top>
11323 40009da6:       8b 45 98                mov    -0x68(%ebp),%eax
11324 40009da9:       89 c2                   mov    %eax,%edx
11325 40009dab:       83 ca 03                or     $0x3,%edx
11326 40009dae:       8b 45 ac                mov    -0x54(%ebp),%eax
11327 40009db1:       89 50 04                mov    %edx,0x4(%eax)
11328 40009db4:       8b 4d b0                mov    -0x50(%ebp),%ecx
11329 40009db7:       8b 55 08                mov    0x8(%ebp),%edx
11330 40009dba:       8b 82 b8 01 00 00       mov    0x1b8(%edx),%eax
11331 40009dc0:       89 01                   mov    %eax,(%ecx)
11332 40009dc2:       8b 82 bc 01 00 00       mov    0x1bc(%edx),%eax
11333 40009dc8:       89 41 04                mov    %eax,0x4(%ecx)
11334 40009dcb:       8b 82 c0 01 00 00       mov    0x1c0(%edx),%eax
11335 40009dd1:       89 41 08                mov    %eax,0x8(%ecx)
11336 40009dd4:       8b 82 c4 01 00 00       mov    0x1c4(%edx),%eax
11337 40009dda:       89 41 0c                mov    %eax,0xc(%ecx)
11338 40009ddd:       8b 55 08                mov    0x8(%ebp),%edx
11339 40009de0:       8b 45 0c                mov    0xc(%ebp),%eax
11340 40009de3:       89 82 b8 01 00 00       mov    %eax,0x1b8(%edx)
11341 40009de9:       8b 55 08                mov    0x8(%ebp),%edx
11342 40009dec:       8b 45 10                mov    0x10(%ebp),%eax
11343 40009def:       89 82 bc 01 00 00       mov    %eax,0x1bc(%edx)
11344 40009df5:       8b 55 08                mov    0x8(%ebp),%edx
11345 40009df8:       8b 45 14                mov    0x14(%ebp),%eax
11346 40009dfb:       89 82 c4 01 00 00       mov    %eax,0x1c4(%edx)
11347 40009e01:       8b 55 08                mov    0x8(%ebp),%edx
11348 40009e04:       8b 45 b0                mov    -0x50(%ebp),%eax
11349 40009e07:       89 82 c0 01 00 00       mov    %eax,0x1c0(%edx)
11350 40009e0d:       8b 45 b8                mov    -0x48(%ebp),%eax
11351 40009e10:       83 c0 04                add    $0x4,%eax
11352 40009e13:       89 45 c0                mov    %eax,-0x40(%ebp)
11353 40009e16:       8b 45 b8                mov    -0x48(%ebp),%eax
11354 40009e19:       c7 40 04 07 00 00 00    movl   $0x7,0x4(%eax)
11355 40009e20:       83 45 bc 01             addl   $0x1,-0x44(%ebp)
11356 40009e24:       8b 45 c0                mov    -0x40(%ebp),%eax
11357 40009e27:       83 c0 04                add    $0x4,%eax
11358 40009e2a:       3b 45 94                cmp    -0x6c(%ebp),%eax
11359 40009e2d:       73 08                   jae    40009e37 <add_segment+0x193>
11360 40009e2f:       8b 45 c0                mov    -0x40(%ebp),%eax
11361 40009e32:       89 45 b8                mov    %eax,-0x48(%ebp)
11362 40009e35:       eb d6                   jmp    40009e0d <add_segment+0x169>
11363 40009e37:       8b 45 a8                mov    -0x58(%ebp),%eax
11364 40009e3a:       3b 45 8c                cmp    -0x74(%ebp),%eax
11365 40009e3d:       0f 84 04 03 00 00       je     4000a147 <add_segment+0x4a3>
11366 40009e43:       8b 45 8c                mov    -0x74(%ebp),%eax
11367 40009e46:       89 45 c4                mov    %eax,-0x3c(%ebp)
11368 40009e49:       8b 55 a8                mov    -0x58(%ebp),%edx
11369 40009e4c:       8b 45 8c                mov    -0x74(%ebp),%eax
11370 40009e4f:       89 d1                   mov    %edx,%ecx
11371 40009e51:       29 c1                   sub    %eax,%ecx
11372 40009e53:       89 c8                   mov    %ecx,%eax
11373 40009e55:       89 45 c8                mov    %eax,-0x38(%ebp)
11374 40009e58:       8b 55 c8                mov    -0x38(%ebp),%edx
11375 40009e5b:       8b 45 c4                mov    -0x3c(%ebp),%eax
11376 40009e5e:       01 d0                   add    %edx,%eax
11377 40009e60:       89 45 cc                mov    %eax,-0x34(%ebp)
11378 40009e63:       8b 45 cc                mov    -0x34(%ebp),%eax
11379 40009e66:       8b 40 04                mov    0x4(%eax),%eax
11380 40009e69:       89 c2                   mov    %eax,%edx
11381 40009e6b:       83 e2 fe                and    $0xfffffffe,%edx
11382 40009e6e:       8b 45 cc                mov    -0x34(%ebp),%eax
11383 40009e71:       89 50 04                mov    %edx,0x4(%eax)
11384 40009e74:       8b 45 c8                mov    -0x38(%ebp),%eax
11385 40009e77:       89 c2                   mov    %eax,%edx
11386 40009e79:       83 ca 01                or     $0x1,%edx
11387 40009e7c:       8b 45 c4                mov    -0x3c(%ebp),%eax
11388 40009e7f:       89 50 04                mov    %edx,0x4(%eax)
11389 40009e82:       8b 55 c8                mov    -0x38(%ebp),%edx
11390 40009e85:       8b 45 c4                mov    -0x3c(%ebp),%eax
11391 40009e88:       8d 14 10                lea    (%eax,%edx,1),%edx
11392 40009e8b:       8b 45 c8                mov    -0x38(%ebp),%eax
11393 40009e8e:       89 02                   mov    %eax,(%edx)
11394 40009e90:       8b 45 c8                mov    -0x38(%ebp),%eax
11395 40009e93:       c1 e8 03                shr    $0x3,%eax
11396 40009e96:       83 f8 1f                cmp    $0x1f,%eax
11397 40009e99:       0f 87 a3 00 00 00       ja     40009f42 <add_segment+0x29e>
11398 40009e9f:       8b 45 c8                mov    -0x38(%ebp),%eax
11399 40009ea2:       c1 e8 03                shr    $0x3,%eax
11400 40009ea5:       89 45 d0                mov    %eax,-0x30(%ebp)
11401 40009ea8:       8b 45 08                mov    0x8(%ebp),%eax
11402 40009eab:       83 c0 24                add    $0x24,%eax
11403 40009eae:       89 c2                   mov    %eax,%edx
11404 40009eb0:       8b 45 d0                mov    -0x30(%ebp),%eax
11405 40009eb3:       c1 e0 03                shl    $0x3,%eax
11406 40009eb6:       8d 04 02                lea    (%edx,%eax,1),%eax
11407 40009eb9:       89 45 d4                mov    %eax,-0x2c(%ebp)
11408 40009ebc:       8b 45 d4                mov    -0x2c(%ebp),%eax
11409 40009ebf:       89 45 d8                mov    %eax,-0x28(%ebp)
11410 40009ec2:       8b 45 08                mov    0x8(%ebp),%eax
11411 40009ec5:       8b 10                   mov    (%eax),%edx
11412 40009ec7:       8b 4d d0                mov    -0x30(%ebp),%ecx
11413 40009eca:       b8 01 00 00 00          mov    $0x1,%eax
11414 40009ecf:       d3 e0                   shl    %cl,%eax
11415 40009ed1:       21 d0                   and    %edx,%eax
11416 40009ed3:       85 c0                   test   %eax,%eax
11417 40009ed5:       75 18                   jne    40009eef <add_segment+0x24b>
11418 40009ed7:       8b 45 08                mov    0x8(%ebp),%eax
11419 40009eda:       8b 10                   mov    (%eax),%edx
11420 40009edc:       8b 4d d0                mov    -0x30(%ebp),%ecx
11421 40009edf:       b8 01 00 00 00          mov    $0x1,%eax
11422 40009ee4:       d3 e0                   shl    %cl,%eax
11423 40009ee6:       09 c2                   or     %eax,%edx
11424 40009ee8:       8b 45 08                mov    0x8(%ebp),%eax
11425 40009eeb:       89 10                   mov    %edx,(%eax)
11426 40009eed:       eb 2a                   jmp    40009f19 <add_segment+0x275>
11427 40009eef:       8b 45 d4                mov    -0x2c(%ebp),%eax
11428 40009ef2:       8b 40 08                mov    0x8(%eax),%eax
11429 40009ef5:       89 c2                   mov    %eax,%edx
11430 40009ef7:       8b 45 08                mov    0x8(%ebp),%eax
11431 40009efa:       8b 40 10                mov    0x10(%eax),%eax
11432 40009efd:       39 c2                   cmp    %eax,%edx
11433 40009eff:       0f 93 c0                setae  %al
11434 40009f02:       0f b6 c0                movzbl %al,%eax
11435 40009f05:       85 c0                   test   %eax,%eax
11436 40009f07:       74 0b                   je     40009f14 <add_segment+0x270>
11437 40009f09:       8b 45 d4                mov    -0x2c(%ebp),%eax
11438 40009f0c:       8b 40 08                mov    0x8(%eax),%eax
11439 40009f0f:       89 45 d8                mov    %eax,-0x28(%ebp)
11440 40009f12:       eb 05                   jmp    40009f19 <add_segment+0x275>
11441 40009f14:       e8 7f 79 00 00          call   40011898 <abort>
11442 40009f19:       8b 55 d4                mov    -0x2c(%ebp),%edx
11443 40009f1c:       8b 45 c4                mov    -0x3c(%ebp),%eax
11444 40009f1f:       89 42 08                mov    %eax,0x8(%edx)
11445 40009f22:       8b 55 d8                mov    -0x28(%ebp),%edx
11446 40009f25:       8b 45 c4                mov    -0x3c(%ebp),%eax
11447 40009f28:       89 42 0c                mov    %eax,0xc(%edx)
11448 40009f2b:       8b 55 c4                mov    -0x3c(%ebp),%edx
11449 40009f2e:       8b 45 d8                mov    -0x28(%ebp),%eax
11450 40009f31:       89 42 08                mov    %eax,0x8(%edx)
11451 40009f34:       8b 55 c4                mov    -0x3c(%ebp),%edx
11452 40009f37:       8b 45 d4                mov    -0x2c(%ebp),%eax
11453 40009f3a:       89 42 0c                mov    %eax,0xc(%edx)
11454 40009f3d:       e9 05 02 00 00          jmp    4000a147 <add_segment+0x4a3>
11455 40009f42:       8b 45 c4                mov    -0x3c(%ebp),%eax
11456 40009f45:       89 45 dc                mov    %eax,-0x24(%ebp)
11457 40009f48:       8b 45 c8                mov    -0x38(%ebp),%eax
11458 40009f4b:       c1 e8 08                shr    $0x8,%eax
11459 40009f4e:       89 45 e8                mov    %eax,-0x18(%ebp)
11460 40009f51:       83 7d e8 00             cmpl   $0x0,-0x18(%ebp)
11461 40009f55:       75 09                   jne    40009f60 <add_segment+0x2bc>
11462 40009f57:       c7 45 e4 00 00 00 00    movl   $0x0,-0x1c(%ebp)
11463 40009f5e:       eb 35                   jmp    40009f95 <add_segment+0x2f1>
11464 40009f60:       81 7d e8 ff ff 00 00    cmpl   $0xffff,-0x18(%ebp)
11465 40009f67:       76 09                   jbe    40009f72 <add_segment+0x2ce>
11466 40009f69:       c7 45 e4 1f 00 00 00    movl   $0x1f,-0x1c(%ebp)
11467 40009f70:       eb 23                   jmp    40009f95 <add_segment+0x2f1>
11468 40009f72:       0f bd 45 e8             bsr    -0x18(%ebp),%eax
11469 40009f76:       89 45 ec                mov    %eax,-0x14(%ebp)
11470 40009f79:       8b 45 ec                mov    -0x14(%ebp),%eax
11471 40009f7c:       8d 14 00                lea    (%eax,%eax,1),%edx
11472 40009f7f:       8b 45 ec                mov    -0x14(%ebp),%eax
11473 40009f82:       83 c0 07                add    $0x7,%eax
11474 40009f85:       89 c1                   mov    %eax,%ecx
11475 40009f87:       8b 45 c8                mov    -0x38(%ebp),%eax
11476 40009f8a:       d3 e8                   shr    %cl,%eax
11477 40009f8c:       83 e0 01                and    $0x1,%eax
11478 40009f8f:       8d 04 02                lea    (%edx,%eax,1),%eax
11479 40009f92:       89 45 e4                mov    %eax,-0x1c(%ebp)
11480 40009f95:       8b 45 08                mov    0x8(%ebp),%eax
11481 40009f98:       8d 90 2c 01 00 00       lea    0x12c(%eax),%edx
11482 40009f9e:       8b 45 e4                mov    -0x1c(%ebp),%eax
11483 40009fa1:       c1 e0 02                shl    $0x2,%eax
11484 40009fa4:       8d 04 02                lea    (%edx,%eax,1),%eax
11485 40009fa7:       89 45 e0                mov    %eax,-0x20(%ebp)
11486 40009faa:       8b 55 dc                mov    -0x24(%ebp),%edx
11487 40009fad:       8b 45 e4                mov    -0x1c(%ebp),%eax
11488 40009fb0:       89 42 1c                mov    %eax,0x1c(%edx)
11489 40009fb3:       8b 45 dc                mov    -0x24(%ebp),%eax
11490 40009fb6:       c7 40 14 00 00 00 00    movl   $0x0,0x14(%eax)
11491 40009fbd:       8b 45 dc                mov    -0x24(%ebp),%eax
11492 40009fc0:       8b 50 14                mov    0x14(%eax),%edx
11493 40009fc3:       8b 45 dc                mov    -0x24(%ebp),%eax
11494 40009fc6:       89 50 10                mov    %edx,0x10(%eax)
11495 40009fc9:       8b 45 08                mov    0x8(%ebp),%eax
11496 40009fcc:       8b 50 04                mov    0x4(%eax),%edx
11497 40009fcf:       8b 4d e4                mov    -0x1c(%ebp),%ecx
11498 40009fd2:       b8 01 00 00 00          mov    $0x1,%eax
11499 40009fd7:       d3 e0                   shl    %cl,%eax
11500 40009fd9:       21 d0                   and    %edx,%eax
11501 40009fdb:       85 c0                   test   %eax,%eax
11502 40009fdd:       75 43                   jne    4000a022 <add_segment+0x37e>
11503 40009fdf:       8b 45 08                mov    0x8(%ebp),%eax
11504 40009fe2:       8b 50 04                mov    0x4(%eax),%edx
11505 40009fe5:       8b 4d e4                mov    -0x1c(%ebp),%ecx
11506 40009fe8:       b8 01 00 00 00          mov    $0x1,%eax
11507 40009fed:       d3 e0                   shl    %cl,%eax
11508 40009fef:       09 c2                   or     %eax,%edx
11509 40009ff1:       8b 45 08                mov    0x8(%ebp),%eax
11510 40009ff4:       89 50 04                mov    %edx,0x4(%eax)
11511 40009ff7:       8b 55 e0                mov    -0x20(%ebp),%edx
11512 40009ffa:       8b 45 dc                mov    -0x24(%ebp),%eax
11513 40009ffd:       89 02                   mov    %eax,(%edx)
11514 40009fff:       8b 55 e0                mov    -0x20(%ebp),%edx
11515 4000a002:       8b 45 dc                mov    -0x24(%ebp),%eax
11516 4000a005:       89 50 18                mov    %edx,0x18(%eax)
11517 4000a008:       8b 55 dc                mov    -0x24(%ebp),%edx
11518 4000a00b:       8b 45 dc                mov    -0x24(%ebp),%eax
11519 4000a00e:       89 42 0c                mov    %eax,0xc(%edx)
11520 4000a011:       8b 45 dc                mov    -0x24(%ebp),%eax
11521 4000a014:       8b 50 0c                mov    0xc(%eax),%edx
11522 4000a017:       8b 45 dc                mov    -0x24(%ebp),%eax
11523 4000a01a:       89 50 08                mov    %edx,0x8(%eax)
11524 4000a01d:       e9 25 01 00 00          jmp    4000a147 <add_segment+0x4a3>
11525 4000a022:       8b 45 e0                mov    -0x20(%ebp),%eax
11526 4000a025:       8b 00                   mov    (%eax),%eax
11527 4000a027:       89 45 f0                mov    %eax,-0x10(%ebp)
11528 4000a02a:       83 7d e4 1f             cmpl   $0x1f,-0x1c(%ebp)
11529 4000a02e:       74 16                   je     4000a046 <add_segment+0x3a2>
11530 4000a030:       8b 45 e4                mov    -0x1c(%ebp),%eax
11531 4000a033:       89 c2                   mov    %eax,%edx
11532 4000a035:       d1 ea                   shr    %edx
11533 4000a037:       b8 19 00 00 00          mov    $0x19,%eax
11534 4000a03c:       29 d0                   sub    %edx,%eax
11535 4000a03e:       89 85 7c ff ff ff       mov    %eax,-0x84(%ebp)
11536 4000a044:       eb 0a                   jmp    4000a050 <add_segment+0x3ac>
11537 4000a046:       c7 85 7c ff ff ff 00    movl   $0x0,-0x84(%ebp)
11538 4000a04d:       00 00 00 
11539 4000a050:       8b 45 c8                mov    -0x38(%ebp),%eax
11540 4000a053:       0f b6 8d 7c ff ff ff    movzbl -0x84(%ebp),%ecx
11541 4000a05a:       d3 e0                   shl    %cl,%eax
11542 4000a05c:       89 45 f4                mov    %eax,-0xc(%ebp)
11543 4000a05f:       8b 45 f0                mov    -0x10(%ebp),%eax
11544 4000a062:       8b 40 04                mov    0x4(%eax),%eax
11545 4000a065:       83 e0 fc                and    $0xfffffffc,%eax
11546 4000a068:       3b 45 c8                cmp    -0x38(%ebp),%eax
11547 4000a06b:       74 6f                   je     4000a0dc <add_segment+0x438>
11548 4000a06d:       8b 45 f0                mov    -0x10(%ebp),%eax
11549 4000a070:       8d 50 10                lea    0x10(%eax),%edx
11550 4000a073:       8b 45 f4                mov    -0xc(%ebp),%eax
11551 4000a076:       c1 e8 1f                shr    $0x1f,%eax
11552 4000a079:       c1 e0 02                shl    $0x2,%eax
11553 4000a07c:       8d 04 02                lea    (%edx,%eax,1),%eax
11554 4000a07f:       89 45 f8                mov    %eax,-0x8(%ebp)
11555 4000a082:       d1 65 f4                shll   -0xc(%ebp)
11556 4000a085:       8b 45 f8                mov    -0x8(%ebp),%eax
11557 4000a088:       8b 00                   mov    (%eax),%eax
11558 4000a08a:       85 c0                   test   %eax,%eax
11559 4000a08c:       74 0a                   je     4000a098 <add_segment+0x3f4>
11560 4000a08e:       8b 45 f8                mov    -0x8(%ebp),%eax
11561 4000a091:       8b 00                   mov    (%eax),%eax
11562 4000a093:       89 45 f0                mov    %eax,-0x10(%ebp)
11563 4000a096:       eb c7                   jmp    4000a05f <add_segment+0x3bb>
11564 4000a098:       8b 45 08                mov    0x8(%ebp),%eax
11565 4000a09b:       8b 50 10                mov    0x10(%eax),%edx
11566 4000a09e:       8b 45 f8                mov    -0x8(%ebp),%eax
11567 4000a0a1:       39 c2                   cmp    %eax,%edx
11568 4000a0a3:       0f 96 c0                setbe  %al
11569 4000a0a6:       0f b6 c0                movzbl %al,%eax
11570 4000a0a9:       85 c0                   test   %eax,%eax
11571 4000a0ab:       74 28                   je     4000a0d5 <add_segment+0x431>
11572 4000a0ad:       8b 55 f8                mov    -0x8(%ebp),%edx
11573 4000a0b0:       8b 45 dc                mov    -0x24(%ebp),%eax
11574 4000a0b3:       89 02                   mov    %eax,(%edx)
11575 4000a0b5:       8b 55 dc                mov    -0x24(%ebp),%edx
11576 4000a0b8:       8b 45 f0                mov    -0x10(%ebp),%eax
11577 4000a0bb:       89 42 18                mov    %eax,0x18(%edx)
11578 4000a0be:       8b 55 dc                mov    -0x24(%ebp),%edx
11579 4000a0c1:       8b 45 dc                mov    -0x24(%ebp),%eax
11580 4000a0c4:       89 42 0c                mov    %eax,0xc(%edx)
11581 4000a0c7:       8b 45 dc                mov    -0x24(%ebp),%eax
11582 4000a0ca:       8b 50 0c                mov    0xc(%eax),%edx
11583 4000a0cd:       8b 45 dc                mov    -0x24(%ebp),%eax
11584 4000a0d0:       89 50 08                mov    %edx,0x8(%eax)
11585 4000a0d3:       eb 72                   jmp    4000a147 <add_segment+0x4a3>
11586 4000a0d5:       e8 be 77 00 00          call   40011898 <abort>
11587 4000a0da:       eb 6b                   jmp    4000a147 <add_segment+0x4a3>
11588 4000a0dc:       8b 45 f0                mov    -0x10(%ebp),%eax
11589 4000a0df:       8b 40 08                mov    0x8(%eax),%eax
11590 4000a0e2:       89 45 fc                mov    %eax,-0x4(%ebp)
11591 4000a0e5:       8b 45 08                mov    0x8(%ebp),%eax
11592 4000a0e8:       8b 50 10                mov    0x10(%eax),%edx
11593 4000a0eb:       8b 45 f0                mov    -0x10(%ebp),%eax
11594 4000a0ee:       39 c2                   cmp    %eax,%edx
11595 4000a0f0:       0f 96 c0                setbe  %al
11596 4000a0f3:       0f b6 c0                movzbl %al,%eax
11597 4000a0f6:       85 c0                   test   %eax,%eax
11598 4000a0f8:       74 48                   je     4000a142 <add_segment+0x49e>
11599 4000a0fa:       8b 45 08                mov    0x8(%ebp),%eax
11600 4000a0fd:       8b 50 10                mov    0x10(%eax),%edx
11601 4000a100:       8b 45 fc                mov    -0x4(%ebp),%eax
11602 4000a103:       39 c2                   cmp    %eax,%edx
11603 4000a105:       0f 96 c0                setbe  %al
11604 4000a108:       0f b6 c0                movzbl %al,%eax
11605 4000a10b:       85 c0                   test   %eax,%eax
11606 4000a10d:       74 33                   je     4000a142 <add_segment+0x49e>
11607 4000a10f:       8b 55 fc                mov    -0x4(%ebp),%edx
11608 4000a112:       8b 45 dc                mov    -0x24(%ebp),%eax
11609 4000a115:       89 42 0c                mov    %eax,0xc(%edx)
11610 4000a118:       8b 45 fc                mov    -0x4(%ebp),%eax
11611 4000a11b:       8b 50 0c                mov    0xc(%eax),%edx
11612 4000a11e:       8b 45 f0                mov    -0x10(%ebp),%eax
11613 4000a121:       89 50 08                mov    %edx,0x8(%eax)
11614 4000a124:       8b 55 dc                mov    -0x24(%ebp),%edx
11615 4000a127:       8b 45 fc                mov    -0x4(%ebp),%eax
11616 4000a12a:       89 42 08                mov    %eax,0x8(%edx)
11617 4000a12d:       8b 55 dc                mov    -0x24(%ebp),%edx
11618 4000a130:       8b 45 f0                mov    -0x10(%ebp),%eax
11619 4000a133:       89 42 0c                mov    %eax,0xc(%edx)
11620 4000a136:       8b 45 dc                mov    -0x24(%ebp),%eax
11621 4000a139:       c7 40 18 00 00 00 00    movl   $0x0,0x18(%eax)
11622 4000a140:       eb 05                   jmp    4000a147 <add_segment+0x4a3>
11623 4000a142:       e8 51 77 00 00          call   40011898 <abort>
11624 4000a147:       c9                      leave  
11625 4000a148:       c3                      ret    
11627 4000a149 <sys_alloc>:
11628 4000a149:       55                      push   %ebp
11629 4000a14a:       89 e5                   mov    %esp,%ebp
11630 4000a14c:       83 ec 68                sub    $0x68,%esp
11631 4000a14f:       c7 45 b4 ff ff ff ff    movl   $0xffffffff,-0x4c(%ebp)
11632 4000a156:       c7 45 b8 00 00 00 00    movl   $0x0,-0x48(%ebp)
11633 4000a15d:       c7 45 bc 00 00 00 00    movl   $0x0,-0x44(%ebp)
11634 4000a164:       e8 f5 eb ff ff          call   40008d5e <init_mparams>
11635 4000a169:       8b 45 08                mov    0x8(%ebp),%eax
11636 4000a16c:       8b 80 b4 01 00 00       mov    0x1b4(%eax),%eax
11637 4000a172:       83 e0 04                and    $0x4,%eax
11638 4000a175:       85 c0                   test   %eax,%eax
11639 4000a177:       0f 85 e1 01 00 00       jne    4000a35e <sys_alloc+0x215>
11640 4000a17d:       c7 45 c0 ff ff ff ff    movl   $0xffffffff,-0x40(%ebp)
11641 4000a184:       8b 45 08                mov    0x8(%ebp),%eax
11642 4000a187:       8b 40 18                mov    0x18(%eax),%eax
11643 4000a18a:       85 c0                   test   %eax,%eax
11644 4000a18c:       74 1a                   je     4000a1a8 <sys_alloc+0x5f>
11645 4000a18e:       8b 45 08                mov    0x8(%ebp),%eax
11646 4000a191:       8b 40 18                mov    0x18(%eax),%eax
11647 4000a194:       89 44 24 04             mov    %eax,0x4(%esp)
11648 4000a198:       8b 45 08                mov    0x8(%ebp),%eax
11649 4000a19b:       89 04 24                mov    %eax,(%esp)
11650 4000a19e:       e8 15 eb ff ff          call   40008cb8 <segment_holding>
11651 4000a1a3:       89 45 ac                mov    %eax,-0x54(%ebp)
11652 4000a1a6:       eb 07                   jmp    4000a1af <sys_alloc+0x66>
11653 4000a1a8:       c7 45 ac 00 00 00 00    movl   $0x0,-0x54(%ebp)
11654 4000a1af:       8b 45 ac                mov    -0x54(%ebp),%eax
11655 4000a1b2:       89 45 c4                mov    %eax,-0x3c(%ebp)
11656 4000a1b5:       c7 45 c8 00 00 00 00    movl   $0x0,-0x38(%ebp)
11657 4000a1bc:       83 7d c4 00             cmpl   $0x0,-0x3c(%ebp)
11658 4000a1c0:       0f 85 91 00 00 00       jne    4000a257 <sys_alloc+0x10e>
11659 4000a1c6:       c7 04 24 00 00 00 00    movl   $0x0,(%esp)
11660 4000a1cd:       e8 be 3f 00 00          call   4000e190 <sbrk>
11661 4000a1d2:       89 45 cc                mov    %eax,-0x34(%ebp)
11662 4000a1d5:       83 7d cc ff             cmpl   $0xffffffff,-0x34(%ebp)
11663 4000a1d9:       0f 84 d4 00 00 00       je     4000a2b3 <sys_alloc+0x16a>
11664 4000a1df:       a1 a8 42 01 40          mov    0x400142a8,%eax
11665 4000a1e4:       03 45 0c                add    0xc(%ebp),%eax
11666 4000a1e7:       8d 50 29                lea    0x29(%eax),%edx
11667 4000a1ea:       a1 a8 42 01 40          mov    0x400142a8,%eax
11668 4000a1ef:       f7 d8                   neg    %eax
11669 4000a1f1:       21 d0                   and    %edx,%eax
11670 4000a1f3:       89 45 c8                mov    %eax,-0x38(%ebp)
11671 4000a1f6:       a1 a4 42 01 40          mov    0x400142a4,%eax
11672 4000a1fb:       8d 50 ff                lea    -0x1(%eax),%edx
11673 4000a1fe:       8b 45 cc                mov    -0x34(%ebp),%eax
11674 4000a201:       21 d0                   and    %edx,%eax
11675 4000a203:       85 c0                   test   %eax,%eax
11676 4000a205:       74 1f                   je     4000a226 <sys_alloc+0xdd>
11677 4000a207:       a1 a4 42 01 40          mov    0x400142a4,%eax
11678 4000a20c:       03 45 cc                add    -0x34(%ebp),%eax
11679 4000a20f:       89 c2                   mov    %eax,%edx
11680 4000a211:       a1 a4 42 01 40          mov    0x400142a4,%eax
11681 4000a216:       f7 d8                   neg    %eax
11682 4000a218:       21 c2                   and    %eax,%edx
11683 4000a21a:       8b 45 cc                mov    -0x34(%ebp),%eax
11684 4000a21d:       89 d1                   mov    %edx,%ecx
11685 4000a21f:       29 c1                   sub    %eax,%ecx
11686 4000a221:       89 c8                   mov    %ecx,%eax
11687 4000a223:       01 45 c8                add    %eax,-0x38(%ebp)
11688 4000a226:       81 7d c8 fe ff ff 7f    cmpl   $0x7ffffffe,-0x38(%ebp)
11689 4000a22d:       0f 87 80 00 00 00       ja     4000a2b3 <sys_alloc+0x16a>
11690 4000a233:       8b 45 c8                mov    -0x38(%ebp),%eax
11691 4000a236:       89 04 24                mov    %eax,(%esp)
11692 4000a239:       e8 52 3f 00 00          call   4000e190 <sbrk>
11693 4000a23e:       89 45 c0                mov    %eax,-0x40(%ebp)
11694 4000a241:       8b 45 c0                mov    -0x40(%ebp),%eax
11695 4000a244:       3b 45 cc                cmp    -0x34(%ebp),%eax
11696 4000a247:       75 6a                   jne    4000a2b3 <sys_alloc+0x16a>
11697 4000a249:       8b 45 cc                mov    -0x34(%ebp),%eax
11698 4000a24c:       89 45 b4                mov    %eax,-0x4c(%ebp)
11699 4000a24f:       8b 45 c8                mov    -0x38(%ebp),%eax
11700 4000a252:       89 45 b8                mov    %eax,-0x48(%ebp)
11701 4000a255:       eb 5c                   jmp    4000a2b3 <sys_alloc+0x16a>
11702 4000a257:       8b 45 08                mov    0x8(%ebp),%eax
11703 4000a25a:       8b 50 0c                mov    0xc(%eax),%edx
11704 4000a25d:       8b 45 0c                mov    0xc(%ebp),%eax
11705 4000a260:       89 c1                   mov    %eax,%ecx
11706 4000a262:       29 d1                   sub    %edx,%ecx
11707 4000a264:       89 ca                   mov    %ecx,%edx
11708 4000a266:       a1 a8 42 01 40          mov    0x400142a8,%eax
11709 4000a26b:       8d 04 02                lea    (%edx,%eax,1),%eax
11710 4000a26e:       8d 50 29                lea    0x29(%eax),%edx
11711 4000a271:       a1 a8 42 01 40          mov    0x400142a8,%eax
11712 4000a276:       f7 d8                   neg    %eax
11713 4000a278:       21 d0                   and    %edx,%eax
11714 4000a27a:       89 45 c8                mov    %eax,-0x38(%ebp)
11715 4000a27d:       81 7d c8 fe ff ff 7f    cmpl   $0x7ffffffe,-0x38(%ebp)
11716 4000a284:       77 2d                   ja     4000a2b3 <sys_alloc+0x16a>
11717 4000a286:       8b 45 c8                mov    -0x38(%ebp),%eax
11718 4000a289:       89 04 24                mov    %eax,(%esp)
11719 4000a28c:       e8 ff 3e 00 00          call   4000e190 <sbrk>
11720 4000a291:       89 45 c0                mov    %eax,-0x40(%ebp)
11721 4000a294:       8b 45 c4                mov    -0x3c(%ebp),%eax
11722 4000a297:       8b 10                   mov    (%eax),%edx
11723 4000a299:       8b 45 c4                mov    -0x3c(%ebp),%eax
11724 4000a29c:       8b 40 04                mov    0x4(%eax),%eax
11725 4000a29f:       8d 04 02                lea    (%edx,%eax,1),%eax
11726 4000a2a2:       39 45 c0                cmp    %eax,-0x40(%ebp)
11727 4000a2a5:       75 0c                   jne    4000a2b3 <sys_alloc+0x16a>
11728 4000a2a7:       8b 45 c0                mov    -0x40(%ebp),%eax
11729 4000a2aa:       89 45 b4                mov    %eax,-0x4c(%ebp)
11730 4000a2ad:       8b 45 c8                mov    -0x38(%ebp),%eax
11731 4000a2b0:       89 45 b8                mov    %eax,-0x48(%ebp)
11732 4000a2b3:       83 7d b4 ff             cmpl   $0xffffffff,-0x4c(%ebp)
11733 4000a2b7:       0f 85 a1 00 00 00       jne    4000a35e <sys_alloc+0x215>
11734 4000a2bd:       83 7d c0 ff             cmpl   $0xffffffff,-0x40(%ebp)
11735 4000a2c1:       74 70                   je     4000a333 <sys_alloc+0x1ea>
11736 4000a2c3:       81 7d c8 fe ff ff 7f    cmpl   $0x7ffffffe,-0x38(%ebp)
11737 4000a2ca:       77 67                   ja     4000a333 <sys_alloc+0x1ea>
11738 4000a2cc:       8b 45 0c                mov    0xc(%ebp),%eax
11739 4000a2cf:       83 c0 29                add    $0x29,%eax
11740 4000a2d2:       3b 45 c8                cmp    -0x38(%ebp),%eax
11741 4000a2d5:       76 5c                   jbe    4000a333 <sys_alloc+0x1ea>
11742 4000a2d7:       8b 55 c8                mov    -0x38(%ebp),%edx
11743 4000a2da:       8b 45 0c                mov    0xc(%ebp),%eax
11744 4000a2dd:       89 c1                   mov    %eax,%ecx
11745 4000a2df:       29 d1                   sub    %edx,%ecx
11746 4000a2e1:       89 ca                   mov    %ecx,%edx
11747 4000a2e3:       a1 a8 42 01 40          mov    0x400142a8,%eax
11748 4000a2e8:       8d 04 02                lea    (%edx,%eax,1),%eax
11749 4000a2eb:       8d 50 29                lea    0x29(%eax),%edx
11750 4000a2ee:       a1 a8 42 01 40          mov    0x400142a8,%eax
11751 4000a2f3:       f7 d8                   neg    %eax
11752 4000a2f5:       21 d0                   and    %edx,%eax
11753 4000a2f7:       89 45 d0                mov    %eax,-0x30(%ebp)
11754 4000a2fa:       81 7d d0 fe ff ff 7f    cmpl   $0x7ffffffe,-0x30(%ebp)
11755 4000a301:       77 30                   ja     4000a333 <sys_alloc+0x1ea>
11756 4000a303:       8b 45 d0                mov    -0x30(%ebp),%eax
11757 4000a306:       89 04 24                mov    %eax,(%esp)
11758 4000a309:       e8 82 3e 00 00          call   4000e190 <sbrk>
11759 4000a30e:       89 45 d4                mov    %eax,-0x2c(%ebp)
11760 4000a311:       83 7d d4 ff             cmpl   $0xffffffff,-0x2c(%ebp)
11761 4000a315:       74 08                   je     4000a31f <sys_alloc+0x1d6>
11762 4000a317:       8b 45 d0                mov    -0x30(%ebp),%eax
11763 4000a31a:       01 45 c8                add    %eax,-0x38(%ebp)
11764 4000a31d:       eb 14                   jmp    4000a333 <sys_alloc+0x1ea>
11765 4000a31f:       8b 45 c8                mov    -0x38(%ebp),%eax
11766 4000a322:       f7 d8                   neg    %eax
11767 4000a324:       89 04 24                mov    %eax,(%esp)
11768 4000a327:       e8 64 3e 00 00          call   4000e190 <sbrk>
11769 4000a32c:       c7 45 c0 ff ff ff ff    movl   $0xffffffff,-0x40(%ebp)
11770 4000a333:       83 7d c0 ff             cmpl   $0xffffffff,-0x40(%ebp)
11771 4000a337:       74 0e                   je     4000a347 <sys_alloc+0x1fe>
11772 4000a339:       8b 45 c0                mov    -0x40(%ebp),%eax
11773 4000a33c:       89 45 b4                mov    %eax,-0x4c(%ebp)
11774 4000a33f:       8b 45 c8                mov    -0x38(%ebp),%eax
11775 4000a342:       89 45 b8                mov    %eax,-0x48(%ebp)
11776 4000a345:       eb 17                   jmp    4000a35e <sys_alloc+0x215>
11777 4000a347:       8b 45 08                mov    0x8(%ebp),%eax
11778 4000a34a:       8b 80 b4 01 00 00       mov    0x1b4(%eax),%eax
11779 4000a350:       89 c2                   mov    %eax,%edx
11780 4000a352:       83 ca 04                or     $0x4,%edx
11781 4000a355:       8b 45 08                mov    0x8(%ebp),%eax
11782 4000a358:       89 90 b4 01 00 00       mov    %edx,0x1b4(%eax)
11783 4000a35e:       83 7d b4 ff             cmpl   $0xffffffff,-0x4c(%ebp)
11784 4000a362:       0f 85 85 00 00 00       jne    4000a3ed <sys_alloc+0x2a4>
11785 4000a368:       a1 a8 42 01 40          mov    0x400142a8,%eax
11786 4000a36d:       03 45 0c                add    0xc(%ebp),%eax
11787 4000a370:       8d 50 29                lea    0x29(%eax),%edx
11788 4000a373:       a1 a8 42 01 40          mov    0x400142a8,%eax
11789 4000a378:       f7 d8                   neg    %eax
11790 4000a37a:       21 d0                   and    %edx,%eax
11791 4000a37c:       89 45 d8                mov    %eax,-0x28(%ebp)
11792 4000a37f:       81 7d d8 fe ff ff 7f    cmpl   $0x7ffffffe,-0x28(%ebp)
11793 4000a386:       77 65                   ja     4000a3ed <sys_alloc+0x2a4>
11794 4000a388:       c7 45 dc ff ff ff ff    movl   $0xffffffff,-0x24(%ebp)
11795 4000a38f:       c7 45 e0 ff ff ff ff    movl   $0xffffffff,-0x20(%ebp)
11796 4000a396:       8b 45 d8                mov    -0x28(%ebp),%eax
11797 4000a399:       89 04 24                mov    %eax,(%esp)
11798 4000a39c:       e8 ef 3d 00 00          call   4000e190 <sbrk>
11799 4000a3a1:       89 45 dc                mov    %eax,-0x24(%ebp)
11800 4000a3a4:       c7 04 24 00 00 00 00    movl   $0x0,(%esp)
11801 4000a3ab:       e8 e0 3d 00 00          call   4000e190 <sbrk>
11802 4000a3b0:       89 45 e0                mov    %eax,-0x20(%ebp)
11803 4000a3b3:       83 7d dc ff             cmpl   $0xffffffff,-0x24(%ebp)
11804 4000a3b7:       74 34                   je     4000a3ed <sys_alloc+0x2a4>
11805 4000a3b9:       83 7d e0 ff             cmpl   $0xffffffff,-0x20(%ebp)
11806 4000a3bd:       74 2e                   je     4000a3ed <sys_alloc+0x2a4>
11807 4000a3bf:       8b 45 dc                mov    -0x24(%ebp),%eax
11808 4000a3c2:       3b 45 e0                cmp    -0x20(%ebp),%eax
11809 4000a3c5:       73 26                   jae    4000a3ed <sys_alloc+0x2a4>
11810 4000a3c7:       8b 55 e0                mov    -0x20(%ebp),%edx
11811 4000a3ca:       8b 45 dc                mov    -0x24(%ebp),%eax
11812 4000a3cd:       89 d1                   mov    %edx,%ecx
11813 4000a3cf:       29 c1                   sub    %eax,%ecx
11814 4000a3d1:       89 c8                   mov    %ecx,%eax
11815 4000a3d3:       89 45 e4                mov    %eax,-0x1c(%ebp)
11816 4000a3d6:       8b 45 0c                mov    0xc(%ebp),%eax
11817 4000a3d9:       83 c0 28                add    $0x28,%eax
11818 4000a3dc:       3b 45 e4                cmp    -0x1c(%ebp),%eax
11819 4000a3df:       73 0c                   jae    4000a3ed <sys_alloc+0x2a4>
11820 4000a3e1:       8b 45 dc                mov    -0x24(%ebp),%eax
11821 4000a3e4:       89 45 b4                mov    %eax,-0x4c(%ebp)
11822 4000a3e7:       8b 45 e4                mov    -0x1c(%ebp),%eax
11823 4000a3ea:       89 45 b8                mov    %eax,-0x48(%ebp)
11824 4000a3ed:       83 7d b4 ff             cmpl   $0xffffffff,-0x4c(%ebp)
11825 4000a3f1:       0f 84 e4 02 00 00       je     4000a6db <sys_alloc+0x592>
11826 4000a3f7:       8b 45 08                mov    0x8(%ebp),%eax
11827 4000a3fa:       8b 80 ac 01 00 00       mov    0x1ac(%eax),%eax
11828 4000a400:       89 c2                   mov    %eax,%edx
11829 4000a402:       03 55 b8                add    -0x48(%ebp),%edx
11830 4000a405:       8b 45 08                mov    0x8(%ebp),%eax
11831 4000a408:       89 90 ac 01 00 00       mov    %edx,0x1ac(%eax)
11832 4000a40e:       8b 45 08                mov    0x8(%ebp),%eax
11833 4000a411:       8b 90 ac 01 00 00       mov    0x1ac(%eax),%edx
11834 4000a417:       8b 45 08                mov    0x8(%ebp),%eax
11835 4000a41a:       8b 80 b0 01 00 00       mov    0x1b0(%eax),%eax
11836 4000a420:       39 c2                   cmp    %eax,%edx
11837 4000a422:       76 12                   jbe    4000a436 <sys_alloc+0x2ed>
11838 4000a424:       8b 45 08                mov    0x8(%ebp),%eax
11839 4000a427:       8b 90 ac 01 00 00       mov    0x1ac(%eax),%edx
11840 4000a42d:       8b 45 08                mov    0x8(%ebp),%eax
11841 4000a430:       89 90 b0 01 00 00       mov    %edx,0x1b0(%eax)
11842 4000a436:       8b 45 08                mov    0x8(%ebp),%eax
11843 4000a439:       8b 40 18                mov    0x18(%eax),%eax
11844 4000a43c:       85 c0                   test   %eax,%eax
11845 4000a43e:       0f 85 ba 00 00 00       jne    4000a4fe <sys_alloc+0x3b5>
11846 4000a444:       8b 55 08                mov    0x8(%ebp),%edx
11847 4000a447:       8b 45 b4                mov    -0x4c(%ebp),%eax
11848 4000a44a:       89 42 10                mov    %eax,0x10(%edx)
11849 4000a44d:       8b 45 08                mov    0x8(%ebp),%eax
11850 4000a450:       8b 50 10                mov    0x10(%eax),%edx
11851 4000a453:       8b 45 08                mov    0x8(%ebp),%eax
11852 4000a456:       89 90 b8 01 00 00       mov    %edx,0x1b8(%eax)
11853 4000a45c:       8b 55 08                mov    0x8(%ebp),%edx
11854 4000a45f:       8b 45 b8                mov    -0x48(%ebp),%eax
11855 4000a462:       89 82 bc 01 00 00       mov    %eax,0x1bc(%edx)
11856 4000a468:       8b 55 08                mov    0x8(%ebp),%edx
11857 4000a46b:       8b 45 bc                mov    -0x44(%ebp),%eax
11858 4000a46e:       89 82 c4 01 00 00       mov    %eax,0x1c4(%edx)
11859 4000a474:       8b 15 a0 42 01 40       mov    0x400142a0,%edx
11860 4000a47a:       8b 45 08                mov    0x8(%ebp),%eax
11861 4000a47d:       89 50 20                mov    %edx,0x20(%eax)
11862 4000a480:       8b 45 08                mov    0x8(%ebp),%eax
11863 4000a483:       89 04 24                mov    %eax,(%esp)
11864 4000a486:       e8 2d f0 ff ff          call   400094b8 <init_bins>
11865 4000a48b:       81 7d 08 c0 42 01 40    cmpl   $0x400142c0,0x8(%ebp)
11866 4000a492:       75 21                   jne    4000a4b5 <sys_alloc+0x36c>
11867 4000a494:       8b 45 b8                mov    -0x48(%ebp),%eax
11868 4000a497:       83 e8 28                sub    $0x28,%eax
11869 4000a49a:       8b 55 b4                mov    -0x4c(%ebp),%edx
11870 4000a49d:       89 44 24 08             mov    %eax,0x8(%esp)
11871 4000a4a1:       89 54 24 04             mov    %edx,0x4(%esp)
11872 4000a4a5:       8b 45 08                mov    0x8(%ebp),%eax
11873 4000a4a8:       89 04 24                mov    %eax,(%esp)
11874 4000a4ab:       e8 83 ef ff ff          call   40009433 <init_top>
11875 4000a4b0:       e9 b9 01 00 00          jmp    4000a66e <sys_alloc+0x525>
11876 4000a4b5:       8b 55 08                mov    0x8(%ebp),%edx
11877 4000a4b8:       8b 45 08                mov    0x8(%ebp),%eax
11878 4000a4bb:       83 e8 08                sub    $0x8,%eax
11879 4000a4be:       8b 40 04                mov    0x4(%eax),%eax
11880 4000a4c1:       83 e0 fc                and    $0xfffffffc,%eax
11881 4000a4c4:       83 e8 08                sub    $0x8,%eax
11882 4000a4c7:       8d 04 02                lea    (%edx,%eax,1),%eax
11883 4000a4ca:       89 45 e8                mov    %eax,-0x18(%ebp)
11884 4000a4cd:       8b 55 b8                mov    -0x48(%ebp),%edx
11885 4000a4d0:       8b 45 b4                mov    -0x4c(%ebp),%eax
11886 4000a4d3:       01 d0                   add    %edx,%eax
11887 4000a4d5:       89 c2                   mov    %eax,%edx
11888 4000a4d7:       8b 45 e8                mov    -0x18(%ebp),%eax
11889 4000a4da:       89 d1                   mov    %edx,%ecx
11890 4000a4dc:       29 c1                   sub    %eax,%ecx
11891 4000a4de:       89 c8                   mov    %ecx,%eax
11892 4000a4e0:       83 e8 28                sub    $0x28,%eax
11893 4000a4e3:       89 44 24 08             mov    %eax,0x8(%esp)
11894 4000a4e7:       8b 45 e8                mov    -0x18(%ebp),%eax
11895 4000a4ea:       89 44 24 04             mov    %eax,0x4(%esp)
11896 4000a4ee:       8b 45 08                mov    0x8(%ebp),%eax
11897 4000a4f1:       89 04 24                mov    %eax,(%esp)
11898 4000a4f4:       e8 3a ef ff ff          call   40009433 <init_top>
11899 4000a4f9:       e9 70 01 00 00          jmp    4000a66e <sys_alloc+0x525>
11900 4000a4fe:       8b 45 08                mov    0x8(%ebp),%eax
11901 4000a501:       05 b8 01 00 00          add    $0x1b8,%eax
11902 4000a506:       89 45 ec                mov    %eax,-0x14(%ebp)
11903 4000a509:       eb 09                   jmp    4000a514 <sys_alloc+0x3cb>
11904 4000a50b:       8b 45 ec                mov    -0x14(%ebp),%eax
11905 4000a50e:       8b 40 08                mov    0x8(%eax),%eax
11906 4000a511:       89 45 ec                mov    %eax,-0x14(%ebp)
11907 4000a514:       83 7d ec 00             cmpl   $0x0,-0x14(%ebp)
11908 4000a518:       74 13                   je     4000a52d <sys_alloc+0x3e4>
11909 4000a51a:       8b 45 ec                mov    -0x14(%ebp),%eax
11910 4000a51d:       8b 10                   mov    (%eax),%edx
11911 4000a51f:       8b 45 ec                mov    -0x14(%ebp),%eax
11912 4000a522:       8b 40 04                mov    0x4(%eax),%eax
11913 4000a525:       8d 04 02                lea    (%edx,%eax,1),%eax
11914 4000a528:       3b 45 b4                cmp    -0x4c(%ebp),%eax
11915 4000a52b:       75 de                   jne    4000a50b <sys_alloc+0x3c2>
11916 4000a52d:       83 7d ec 00             cmpl   $0x0,-0x14(%ebp)
11917 4000a531:       74 78                   je     4000a5ab <sys_alloc+0x462>
11918 4000a533:       8b 45 ec                mov    -0x14(%ebp),%eax
11919 4000a536:       8b 40 0c                mov    0xc(%eax),%eax
11920 4000a539:       83 e0 08                and    $0x8,%eax
11921 4000a53c:       85 c0                   test   %eax,%eax
11922 4000a53e:       75 6b                   jne    4000a5ab <sys_alloc+0x462>
11923 4000a540:       83 7d bc 00             cmpl   $0x0,-0x44(%ebp)
11924 4000a544:       75 65                   jne    4000a5ab <sys_alloc+0x462>
11925 4000a546:       8b 45 08                mov    0x8(%ebp),%eax
11926 4000a549:       8b 40 18                mov    0x18(%eax),%eax
11927 4000a54c:       89 c2                   mov    %eax,%edx
11928 4000a54e:       8b 45 ec                mov    -0x14(%ebp),%eax
11929 4000a551:       8b 00                   mov    (%eax),%eax
11930 4000a553:       39 c2                   cmp    %eax,%edx
11931 4000a555:       72 54                   jb     4000a5ab <sys_alloc+0x462>
11932 4000a557:       8b 45 08                mov    0x8(%ebp),%eax
11933 4000a55a:       8b 40 18                mov    0x18(%eax),%eax
11934 4000a55d:       89 c1                   mov    %eax,%ecx
11935 4000a55f:       8b 45 ec                mov    -0x14(%ebp),%eax
11936 4000a562:       8b 10                   mov    (%eax),%edx
11937 4000a564:       8b 45 ec                mov    -0x14(%ebp),%eax
11938 4000a567:       8b 40 04                mov    0x4(%eax),%eax
11939 4000a56a:       8d 04 02                lea    (%edx,%eax,1),%eax
11940 4000a56d:       39 c1                   cmp    %eax,%ecx
11941 4000a56f:       73 3a                   jae    4000a5ab <sys_alloc+0x462>
11942 4000a571:       8b 45 ec                mov    -0x14(%ebp),%eax
11943 4000a574:       8b 40 04                mov    0x4(%eax),%eax
11944 4000a577:       89 c2                   mov    %eax,%edx
11945 4000a579:       03 55 b8                add    -0x48(%ebp),%edx
11946 4000a57c:       8b 45 ec                mov    -0x14(%ebp),%eax
11947 4000a57f:       89 50 04                mov    %edx,0x4(%eax)
11948 4000a582:       8b 45 08                mov    0x8(%ebp),%eax
11949 4000a585:       8b 40 0c                mov    0xc(%eax),%eax
11950 4000a588:       89 c2                   mov    %eax,%edx
11951 4000a58a:       03 55 b8                add    -0x48(%ebp),%edx
11952 4000a58d:       8b 45 08                mov    0x8(%ebp),%eax
11953 4000a590:       8b 40 18                mov    0x18(%eax),%eax
11954 4000a593:       89 54 24 08             mov    %edx,0x8(%esp)
11955 4000a597:       89 44 24 04             mov    %eax,0x4(%esp)
11956 4000a59b:       8b 45 08                mov    0x8(%ebp),%eax
11957 4000a59e:       89 04 24                mov    %eax,(%esp)
11958 4000a5a1:       e8 8d ee ff ff          call   40009433 <init_top>
11959 4000a5a6:       e9 c3 00 00 00          jmp    4000a66e <sys_alloc+0x525>
11960 4000a5ab:       8b 45 08                mov    0x8(%ebp),%eax
11961 4000a5ae:       8b 40 10                mov    0x10(%eax),%eax
11962 4000a5b1:       3b 45 b4                cmp    -0x4c(%ebp),%eax
11963 4000a5b4:       76 09                   jbe    4000a5bf <sys_alloc+0x476>
11964 4000a5b6:       8b 55 08                mov    0x8(%ebp),%edx
11965 4000a5b9:       8b 45 b4                mov    -0x4c(%ebp),%eax
11966 4000a5bc:       89 42 10                mov    %eax,0x10(%edx)
11967 4000a5bf:       8b 45 08                mov    0x8(%ebp),%eax
11968 4000a5c2:       05 b8 01 00 00          add    $0x1b8,%eax
11969 4000a5c7:       89 45 ec                mov    %eax,-0x14(%ebp)
11970 4000a5ca:       eb 09                   jmp    4000a5d5 <sys_alloc+0x48c>
11971 4000a5cc:       8b 45 ec                mov    -0x14(%ebp),%eax
11972 4000a5cf:       8b 40 08                mov    0x8(%eax),%eax
11973 4000a5d2:       89 45 ec                mov    %eax,-0x14(%ebp)
11974 4000a5d5:       83 7d ec 00             cmpl   $0x0,-0x14(%ebp)
11975 4000a5d9:       74 11                   je     4000a5ec <sys_alloc+0x4a3>
11976 4000a5db:       8b 45 ec                mov    -0x14(%ebp),%eax
11977 4000a5de:       8b 08                   mov    (%eax),%ecx
11978 4000a5e0:       8b 55 b8                mov    -0x48(%ebp),%edx
11979 4000a5e3:       8b 45 b4                mov    -0x4c(%ebp),%eax
11980 4000a5e6:       01 d0                   add    %edx,%eax
11981 4000a5e8:       39 c1                   cmp    %eax,%ecx
11982 4000a5ea:       75 e0                   jne    4000a5cc <sys_alloc+0x483>
11983 4000a5ec:       83 7d ec 00             cmpl   $0x0,-0x14(%ebp)
11984 4000a5f0:       74 5c                   je     4000a64e <sys_alloc+0x505>
11985 4000a5f2:       8b 45 ec                mov    -0x14(%ebp),%eax
11986 4000a5f5:       8b 40 0c                mov    0xc(%eax),%eax
11987 4000a5f8:       83 e0 08                and    $0x8,%eax
11988 4000a5fb:       85 c0                   test   %eax,%eax
11989 4000a5fd:       75 4f                   jne    4000a64e <sys_alloc+0x505>
11990 4000a5ff:       83 7d bc 00             cmpl   $0x0,-0x44(%ebp)
11991 4000a603:       75 49                   jne    4000a64e <sys_alloc+0x505>
11992 4000a605:       8b 45 ec                mov    -0x14(%ebp),%eax
11993 4000a608:       8b 00                   mov    (%eax),%eax
11994 4000a60a:       89 45 f0                mov    %eax,-0x10(%ebp)
11995 4000a60d:       8b 55 ec                mov    -0x14(%ebp),%edx
11996 4000a610:       8b 45 b4                mov    -0x4c(%ebp),%eax
11997 4000a613:       89 02                   mov    %eax,(%edx)
11998 4000a615:       8b 45 ec                mov    -0x14(%ebp),%eax
11999 4000a618:       8b 40 04                mov    0x4(%eax),%eax
12000 4000a61b:       89 c2                   mov    %eax,%edx
12001 4000a61d:       03 55 b8                add    -0x48(%ebp),%edx
12002 4000a620:       8b 45 ec                mov    -0x14(%ebp),%eax
12003 4000a623:       89 50 04                mov    %edx,0x4(%eax)
12004 4000a626:       8b 45 0c                mov    0xc(%ebp),%eax
12005 4000a629:       89 44 24 0c             mov    %eax,0xc(%esp)
12006 4000a62d:       8b 45 f0                mov    -0x10(%ebp),%eax
12007 4000a630:       89 44 24 08             mov    %eax,0x8(%esp)
12008 4000a634:       8b 45 b4                mov    -0x4c(%ebp),%eax
12009 4000a637:       89 44 24 04             mov    %eax,0x4(%esp)
12010 4000a63b:       8b 45 08                mov    0x8(%ebp),%eax
12011 4000a63e:       89 04 24                mov    %eax,(%esp)
12012 4000a641:       e8 b6 ee ff ff          call   400094fc <prepend_alloc>
12013 4000a646:       89 45 a8                mov    %eax,-0x58(%ebp)
12014 4000a649:       e9 9e 00 00 00          jmp    4000a6ec <sys_alloc+0x5a3>
12015 4000a64e:       8b 45 bc                mov    -0x44(%ebp),%eax
12016 4000a651:       89 44 24 0c             mov    %eax,0xc(%esp)
12017 4000a655:       8b 45 b8                mov    -0x48(%ebp),%eax
12018 4000a658:       89 44 24 08             mov    %eax,0x8(%esp)
12019 4000a65c:       8b 45 b4                mov    -0x4c(%ebp),%eax
12020 4000a65f:       89 44 24 04             mov    %eax,0x4(%esp)
12021 4000a663:       8b 45 08                mov    0x8(%ebp),%eax
12022 4000a666:       89 04 24                mov    %eax,(%esp)
12023 4000a669:       e8 36 f6 ff ff          call   40009ca4 <add_segment>
12024 4000a66e:       8b 45 08                mov    0x8(%ebp),%eax
12025 4000a671:       8b 40 0c                mov    0xc(%eax),%eax
12026 4000a674:       3b 45 0c                cmp    0xc(%ebp),%eax
12027 4000a677:       76 62                   jbe    4000a6db <sys_alloc+0x592>
12028 4000a679:       8b 45 08                mov    0x8(%ebp),%eax
12029 4000a67c:       8b 40 0c                mov    0xc(%eax),%eax
12030 4000a67f:       89 c2                   mov    %eax,%edx
12031 4000a681:       2b 55 0c                sub    0xc(%ebp),%edx
12032 4000a684:       8b 45 08                mov    0x8(%ebp),%eax
12033 4000a687:       89 50 0c                mov    %edx,0xc(%eax)
12034 4000a68a:       8b 45 08                mov    0x8(%ebp),%eax
12035 4000a68d:       8b 40 0c                mov    0xc(%eax),%eax
12036 4000a690:       89 45 f4                mov    %eax,-0xc(%ebp)
12037 4000a693:       8b 45 08                mov    0x8(%ebp),%eax
12038 4000a696:       8b 40 18                mov    0x18(%eax),%eax
12039 4000a699:       89 45 f8                mov    %eax,-0x8(%ebp)
12040 4000a69c:       8b 55 0c                mov    0xc(%ebp),%edx
12041 4000a69f:       8b 45 f8                mov    -0x8(%ebp),%eax
12042 4000a6a2:       8d 14 10                lea    (%eax,%edx,1),%edx
12043 4000a6a5:       8b 45 08                mov    0x8(%ebp),%eax
12044 4000a6a8:       89 50 18                mov    %edx,0x18(%eax)
12045 4000a6ab:       8b 45 08                mov    0x8(%ebp),%eax
12046 4000a6ae:       8b 40 18                mov    0x18(%eax),%eax
12047 4000a6b1:       89 45 fc                mov    %eax,-0x4(%ebp)
12048 4000a6b4:       8b 45 f4                mov    -0xc(%ebp),%eax
12049 4000a6b7:       89 c2                   mov    %eax,%edx
12050 4000a6b9:       83 ca 01                or     $0x1,%edx
12051 4000a6bc:       8b 45 fc                mov    -0x4(%ebp),%eax
12052 4000a6bf:       89 50 04                mov    %edx,0x4(%eax)
12053 4000a6c2:       8b 45 0c                mov    0xc(%ebp),%eax
12054 4000a6c5:       89 c2                   mov    %eax,%edx
12055 4000a6c7:       83 ca 03                or     $0x3,%edx
12056 4000a6ca:       8b 45 f8                mov    -0x8(%ebp),%eax
12057 4000a6cd:       89 50 04                mov    %edx,0x4(%eax)
12058 4000a6d0:       8b 45 f8                mov    -0x8(%ebp),%eax
12059 4000a6d3:       83 c0 08                add    $0x8,%eax
12060 4000a6d6:       89 45 a8                mov    %eax,-0x58(%ebp)
12061 4000a6d9:       eb 11                   jmp    4000a6ec <sys_alloc+0x5a3>
12062 4000a6db:       c7 05 54 59 01 40 31    movl   $0x31,0x40015954
12063 4000a6e2:       00 00 00 
12064 4000a6e5:       c7 45 a8 00 00 00 00    movl   $0x0,-0x58(%ebp)
12065 4000a6ec:       8b 45 a8                mov    -0x58(%ebp),%eax
12066 4000a6ef:       c9                      leave  
12067 4000a6f0:       c3                      ret    
12069 4000a6f1 <release_unused_segments>:
12070 4000a6f1:       55                      push   %ebp
12071 4000a6f2:       89 e5                   mov    %esp,%ebp
12072 4000a6f4:       83 ec 70                sub    $0x70,%esp
12073 4000a6f7:       c7 45 9c 00 00 00 00    movl   $0x0,-0x64(%ebp)
12074 4000a6fe:       8b 45 08                mov    0x8(%ebp),%eax
12075 4000a701:       05 b8 01 00 00          add    $0x1b8,%eax
12076 4000a706:       89 45 a0                mov    %eax,-0x60(%ebp)
12077 4000a709:       8b 45 a0                mov    -0x60(%ebp),%eax
12078 4000a70c:       8b 40 08                mov    0x8(%eax),%eax
12079 4000a70f:       89 45 a4                mov    %eax,-0x5c(%ebp)
12080 4000a712:       eb 26                   jmp    4000a73a <release_unused_segments+0x49>
12081 4000a714:       8b 45 a4                mov    -0x5c(%ebp),%eax
12082 4000a717:       8b 00                   mov    (%eax),%eax
12083 4000a719:       89 45 a8                mov    %eax,-0x58(%ebp)
12084 4000a71c:       8b 45 a4                mov    -0x5c(%ebp),%eax
12085 4000a71f:       8b 40 04                mov    0x4(%eax),%eax
12086 4000a722:       89 45 ac                mov    %eax,-0x54(%ebp)
12087 4000a725:       8b 45 a4                mov    -0x5c(%ebp),%eax
12088 4000a728:       8b 40 08                mov    0x8(%eax),%eax
12089 4000a72b:       89 45 b0                mov    %eax,-0x50(%ebp)
12090 4000a72e:       8b 45 a4                mov    -0x5c(%ebp),%eax
12091 4000a731:       89 45 a0                mov    %eax,-0x60(%ebp)
12092 4000a734:       8b 45 b0                mov    -0x50(%ebp),%eax
12093 4000a737:       89 45 a4                mov    %eax,-0x5c(%ebp)
12094 4000a73a:       83 7d a4 00             cmpl   $0x0,-0x5c(%ebp)
12095 4000a73e:       75 d4                   jne    4000a714 <release_unused_segments+0x23>
12096 4000a740:       8b 45 9c                mov    -0x64(%ebp),%eax
12097 4000a743:       c9                      leave  
12098 4000a744:       c3                      ret    
12100 4000a745 <sys_trim>:
12101 4000a745:       55                      push   %ebp
12102 4000a746:       89 e5                   mov    %esp,%ebp
12103 4000a748:       83 ec 38                sub    $0x38,%esp
12104 4000a74b:       c7 45 e4 00 00 00 00    movl   $0x0,-0x1c(%ebp)
12105 4000a752:       83 7d 0c bf             cmpl   $0xffffffbf,0xc(%ebp)
12106 4000a756:       0f 87 3f 01 00 00       ja     4000a89b <sys_trim+0x156>
12107 4000a75c:       8b 45 08                mov    0x8(%ebp),%eax
12108 4000a75f:       8b 40 18                mov    0x18(%eax),%eax
12109 4000a762:       85 c0                   test   %eax,%eax
12110 4000a764:       0f 84 31 01 00 00       je     4000a89b <sys_trim+0x156>
12111 4000a76a:       83 45 0c 28             addl   $0x28,0xc(%ebp)
12112 4000a76e:       8b 45 08                mov    0x8(%ebp),%eax
12113 4000a771:       8b 40 0c                mov    0xc(%eax),%eax
12114 4000a774:       3b 45 0c                cmp    0xc(%ebp),%eax
12115 4000a777:       0f 86 0e 01 00 00       jbe    4000a88b <sys_trim+0x146>
12116 4000a77d:       a1 a8 42 01 40          mov    0x400142a8,%eax
12117 4000a782:       89 45 e8                mov    %eax,-0x18(%ebp)
12118 4000a785:       8b 45 08                mov    0x8(%ebp),%eax
12119 4000a788:       8b 40 0c                mov    0xc(%eax),%eax
12120 4000a78b:       2b 45 0c                sub    0xc(%ebp),%eax
12121 4000a78e:       03 45 e8                add    -0x18(%ebp),%eax
12122 4000a791:       83 e8 01                sub    $0x1,%eax
12123 4000a794:       ba 00 00 00 00          mov    $0x0,%edx
12124 4000a799:       f7 75 e8                divl   -0x18(%ebp)
12125 4000a79c:       83 e8 01                sub    $0x1,%eax
12126 4000a79f:       0f af 45 e8             imul   -0x18(%ebp),%eax
12127 4000a7a3:       89 45 ec                mov    %eax,-0x14(%ebp)
12128 4000a7a6:       8b 45 08                mov    0x8(%ebp),%eax
12129 4000a7a9:       8b 40 18                mov    0x18(%eax),%eax
12130 4000a7ac:       89 44 24 04             mov    %eax,0x4(%esp)
12131 4000a7b0:       8b 45 08                mov    0x8(%ebp),%eax
12132 4000a7b3:       89 04 24                mov    %eax,(%esp)
12133 4000a7b6:       e8 fd e4 ff ff          call   40008cb8 <segment_holding>
12134 4000a7bb:       89 45 f0                mov    %eax,-0x10(%ebp)
12135 4000a7be:       8b 45 f0                mov    -0x10(%ebp),%eax
12136 4000a7c1:       8b 40 0c                mov    0xc(%eax),%eax
12137 4000a7c4:       83 e0 08                and    $0x8,%eax
12138 4000a7c7:       85 c0                   test   %eax,%eax
12139 4000a7c9:       75 6e                   jne    4000a839 <sys_trim+0xf4>
12140 4000a7cb:       81 7d ec fe ff ff 7f    cmpl   $0x7ffffffe,-0x14(%ebp)
12141 4000a7d2:       76 0b                   jbe    4000a7df <sys_trim+0x9a>
12142 4000a7d4:       b8 00 00 00 80          mov    $0x80000000,%eax
12143 4000a7d9:       2b 45 e8                sub    -0x18(%ebp),%eax
12144 4000a7dc:       89 45 ec                mov    %eax,-0x14(%ebp)
12145 4000a7df:       c7 04 24 00 00 00 00    movl   $0x0,(%esp)
12146 4000a7e6:       e8 a5 39 00 00          call   4000e190 <sbrk>
12147 4000a7eb:       89 45 f4                mov    %eax,-0xc(%ebp)
12148 4000a7ee:       8b 45 f0                mov    -0x10(%ebp),%eax
12149 4000a7f1:       8b 10                   mov    (%eax),%edx
12150 4000a7f3:       8b 45 f0                mov    -0x10(%ebp),%eax
12151 4000a7f6:       8b 40 04                mov    0x4(%eax),%eax
12152 4000a7f9:       8d 04 02                lea    (%edx,%eax,1),%eax
12153 4000a7fc:       3b 45 f4                cmp    -0xc(%ebp),%eax
12154 4000a7ff:       75 38                   jne    4000a839 <sys_trim+0xf4>
12155 4000a801:       8b 45 ec                mov    -0x14(%ebp),%eax
12156 4000a804:       f7 d8                   neg    %eax
12157 4000a806:       89 04 24                mov    %eax,(%esp)
12158 4000a809:       e8 82 39 00 00          call   4000e190 <sbrk>
12159 4000a80e:       89 45 f8                mov    %eax,-0x8(%ebp)
12160 4000a811:       c7 04 24 00 00 00 00    movl   $0x0,(%esp)
12161 4000a818:       e8 73 39 00 00          call   4000e190 <sbrk>
12162 4000a81d:       89 45 fc                mov    %eax,-0x4(%ebp)
12163 4000a820:       83 7d f8 ff             cmpl   $0xffffffff,-0x8(%ebp)
12164 4000a824:       74 13                   je     4000a839 <sys_trim+0xf4>
12165 4000a826:       8b 45 fc                mov    -0x4(%ebp),%eax
12166 4000a829:       3b 45 f4                cmp    -0xc(%ebp),%eax
12167 4000a82c:       73 0b                   jae    4000a839 <sys_trim+0xf4>
12168 4000a82e:       8b 45 f4                mov    -0xc(%ebp),%eax
12169 4000a831:       8b 55 fc                mov    -0x4(%ebp),%edx
12170 4000a834:       29 d0                   sub    %edx,%eax
12171 4000a836:       89 45 e4                mov    %eax,-0x1c(%ebp)
12172 4000a839:       83 7d e4 00             cmpl   $0x0,-0x1c(%ebp)
12173 4000a83d:       74 4c                   je     4000a88b <sys_trim+0x146>
12174 4000a83f:       8b 45 f0                mov    -0x10(%ebp),%eax
12175 4000a842:       8b 40 04                mov    0x4(%eax),%eax
12176 4000a845:       89 c2                   mov    %eax,%edx
12177 4000a847:       2b 55 e4                sub    -0x1c(%ebp),%edx
12178 4000a84a:       8b 45 f0                mov    -0x10(%ebp),%eax
12179 4000a84d:       89 50 04                mov    %edx,0x4(%eax)
12180 4000a850:       8b 45 08                mov    0x8(%ebp),%eax
12181 4000a853:       8b 80 ac 01 00 00       mov    0x1ac(%eax),%eax
12182 4000a859:       89 c2                   mov    %eax,%edx
12183 4000a85b:       2b 55 e4                sub    -0x1c(%ebp),%edx
12184 4000a85e:       8b 45 08                mov    0x8(%ebp),%eax
12185 4000a861:       89 90 ac 01 00 00       mov    %edx,0x1ac(%eax)
12186 4000a867:       8b 45 08                mov    0x8(%ebp),%eax
12187 4000a86a:       8b 40 0c                mov    0xc(%eax),%eax
12188 4000a86d:       89 c2                   mov    %eax,%edx
12189 4000a86f:       2b 55 e4                sub    -0x1c(%ebp),%edx
12190 4000a872:       8b 45 08                mov    0x8(%ebp),%eax
12191 4000a875:       8b 40 18                mov    0x18(%eax),%eax
12192 4000a878:       89 54 24 08             mov    %edx,0x8(%esp)
12193 4000a87c:       89 44 24 04             mov    %eax,0x4(%esp)
12194 4000a880:       8b 45 08                mov    0x8(%ebp),%eax
12195 4000a883:       89 04 24                mov    %eax,(%esp)
12196 4000a886:       e8 a8 eb ff ff          call   40009433 <init_top>
12197 4000a88b:       83 7d e4 00             cmpl   $0x0,-0x1c(%ebp)
12198 4000a88f:       75 0a                   jne    4000a89b <sys_trim+0x156>
12199 4000a891:       8b 45 08                mov    0x8(%ebp),%eax
12200 4000a894:       c7 40 1c ff ff ff ff    movl   $0xffffffff,0x1c(%eax)
12201 4000a89b:       83 7d e4 00             cmpl   $0x0,-0x1c(%ebp)
12202 4000a89f:       0f 95 c0                setne  %al
12203 4000a8a2:       0f b6 c0                movzbl %al,%eax
12204 4000a8a5:       c9                      leave  
12205 4000a8a6:       c3                      ret    
12207 4000a8a7 <tmalloc_large>:
12208 4000a8a7:       55                      push   %ebp
12209 4000a8a8:       89 e5                   mov    %esp,%ebp
12210 4000a8aa:       53                      push   %ebx
12211 4000a8ab:       81 ec a4 00 00 00       sub    $0xa4,%esp
12212 4000a8b1:       c7 85 6c ff ff ff 00    movl   $0x0,-0x94(%ebp)
12213 4000a8b8:       00 00 00 
12214 4000a8bb:       8b 45 0c                mov    0xc(%ebp),%eax
12215 4000a8be:       f7 d8                   neg    %eax
12216 4000a8c0:       89 85 70 ff ff ff       mov    %eax,-0x90(%ebp)
12217 4000a8c6:       8b 45 0c                mov    0xc(%ebp),%eax
12218 4000a8c9:       c1 e8 08                shr    $0x8,%eax
12219 4000a8cc:       89 85 7c ff ff ff       mov    %eax,-0x84(%ebp)
12220 4000a8d2:       83 bd 7c ff ff ff 00    cmpl   $0x0,-0x84(%ebp)
12221 4000a8d9:       75 0c                   jne    4000a8e7 <tmalloc_large+0x40>
12222 4000a8db:       c7 85 78 ff ff ff 00    movl   $0x0,-0x88(%ebp)
12223 4000a8e2:       00 00 00 
12224 4000a8e5:       eb 41                   jmp    4000a928 <tmalloc_large+0x81>
12225 4000a8e7:       81 bd 7c ff ff ff ff    cmpl   $0xffff,-0x84(%ebp)
12226 4000a8ee:       ff 00 00 
12227 4000a8f1:       76 0c                   jbe    4000a8ff <tmalloc_large+0x58>
12228 4000a8f3:       c7 85 78 ff ff ff 1f    movl   $0x1f,-0x88(%ebp)
12229 4000a8fa:       00 00 00 
12230 4000a8fd:       eb 29                   jmp    4000a928 <tmalloc_large+0x81>
12231 4000a8ff:       0f bd 85 7c ff ff ff    bsr    -0x84(%ebp),%eax
12232 4000a906:       89 45 80                mov    %eax,-0x80(%ebp)
12233 4000a909:       8b 45 80                mov    -0x80(%ebp),%eax
12234 4000a90c:       8d 14 00                lea    (%eax,%eax,1),%edx
12235 4000a90f:       8b 45 80                mov    -0x80(%ebp),%eax
12236 4000a912:       83 c0 07                add    $0x7,%eax
12237 4000a915:       89 c1                   mov    %eax,%ecx
12238 4000a917:       8b 45 0c                mov    0xc(%ebp),%eax
12239 4000a91a:       d3 e8                   shr    %cl,%eax
12240 4000a91c:       83 e0 01                and    $0x1,%eax
12241 4000a91f:       8d 04 02                lea    (%edx,%eax,1),%eax
12242 4000a922:       89 85 78 ff ff ff       mov    %eax,-0x88(%ebp)
12243 4000a928:       8b 45 08                mov    0x8(%ebp),%eax
12244 4000a92b:       8d 90 2c 01 00 00       lea    0x12c(%eax),%edx
12245 4000a931:       8b 85 78 ff ff ff       mov    -0x88(%ebp),%eax
12246 4000a937:       c1 e0 02                shl    $0x2,%eax
12247 4000a93a:       8d 04 02                lea    (%edx,%eax,1),%eax
12248 4000a93d:       8b 00                   mov    (%eax),%eax
12249 4000a93f:       89 85 74 ff ff ff       mov    %eax,-0x8c(%ebp)
12250 4000a945:       83 bd 74 ff ff ff 00    cmpl   $0x0,-0x8c(%ebp)
12251 4000a94c:       0f 84 d4 00 00 00       je     4000aa26 <tmalloc_large+0x17f>
12252 4000a952:       83 bd 78 ff ff ff 1f    cmpl   $0x1f,-0x88(%ebp)
12253 4000a959:       74 19                   je     4000a974 <tmalloc_large+0xcd>
12254 4000a95b:       8b 85 78 ff ff ff       mov    -0x88(%ebp),%eax
12255 4000a961:       89 c2                   mov    %eax,%edx
12256 4000a963:       d1 ea                   shr    %edx
12257 4000a965:       b8 19 00 00 00          mov    $0x19,%eax
12258 4000a96a:       29 d0                   sub    %edx,%eax
12259 4000a96c:       89 85 5c ff ff ff       mov    %eax,-0xa4(%ebp)
12260 4000a972:       eb 0a                   jmp    4000a97e <tmalloc_large+0xd7>
12261 4000a974:       c7 85 5c ff ff ff 00    movl   $0x0,-0xa4(%ebp)
12262 4000a97b:       00 00 00 
12263 4000a97e:       8b 45 0c                mov    0xc(%ebp),%eax
12264 4000a981:       0f b6 8d 5c ff ff ff    movzbl -0xa4(%ebp),%ecx
12265 4000a988:       d3 e0                   shl    %cl,%eax
12266 4000a98a:       89 45 84                mov    %eax,-0x7c(%ebp)
12267 4000a98d:       c7 45 88 00 00 00 00    movl   $0x0,-0x78(%ebp)
12268 4000a994:       8b 85 74 ff ff ff       mov    -0x8c(%ebp),%eax
12269 4000a99a:       8b 40 04                mov    0x4(%eax),%eax
12270 4000a99d:       83 e0 fc                and    $0xfffffffc,%eax
12271 4000a9a0:       2b 45 0c                sub    0xc(%ebp),%eax
12272 4000a9a3:       89 45 90                mov    %eax,-0x70(%ebp)
12273 4000a9a6:       8b 45 90                mov    -0x70(%ebp),%eax
12274 4000a9a9:       3b 85 70 ff ff ff       cmp    -0x90(%ebp),%eax
12275 4000a9af:       73 1e                   jae    4000a9cf <tmalloc_large+0x128>
12276 4000a9b1:       8b 85 74 ff ff ff       mov    -0x8c(%ebp),%eax
12277 4000a9b7:       89 85 6c ff ff ff       mov    %eax,-0x94(%ebp)
12278 4000a9bd:       8b 45 90                mov    -0x70(%ebp),%eax
12279 4000a9c0:       89 85 70 ff ff ff       mov    %eax,-0x90(%ebp)
12280 4000a9c6:       83 bd 70 ff ff ff 00    cmpl   $0x0,-0x90(%ebp)
12281 4000a9cd:       74 57                   je     4000aa26 <tmalloc_large+0x17f>
12282 4000a9cf:       8b 85 74 ff ff ff       mov    -0x8c(%ebp),%eax
12283 4000a9d5:       8b 40 14                mov    0x14(%eax),%eax
12284 4000a9d8:       89 45 8c                mov    %eax,-0x74(%ebp)
12285 4000a9db:       8b 45 84                mov    -0x7c(%ebp),%eax
12286 4000a9de:       c1 e8 1f                shr    $0x1f,%eax
12287 4000a9e1:       8b 95 74 ff ff ff       mov    -0x8c(%ebp),%edx
12288 4000a9e7:       83 c0 04                add    $0x4,%eax
12289 4000a9ea:       8b 04 82                mov    (%edx,%eax,4),%eax
12290 4000a9ed:       89 85 74 ff ff ff       mov    %eax,-0x8c(%ebp)
12291 4000a9f3:       83 7d 8c 00             cmpl   $0x0,-0x74(%ebp)
12292 4000a9f7:       74 11                   je     4000aa0a <tmalloc_large+0x163>
12293 4000a9f9:       8b 45 8c                mov    -0x74(%ebp),%eax
12294 4000a9fc:       3b 85 74 ff ff ff       cmp    -0x8c(%ebp),%eax
12295 4000aa02:       74 06                   je     4000aa0a <tmalloc_large+0x163>
12296 4000aa04:       8b 45 8c                mov    -0x74(%ebp),%eax
12297 4000aa07:       89 45 88                mov    %eax,-0x78(%ebp)
12298 4000aa0a:       83 bd 74 ff ff ff 00    cmpl   $0x0,-0x8c(%ebp)
12299 4000aa11:       75 0b                   jne    4000aa1e <tmalloc_large+0x177>
12300 4000aa13:       8b 45 88                mov    -0x78(%ebp),%eax
12301 4000aa16:       89 85 74 ff ff ff       mov    %eax,-0x8c(%ebp)
12302 4000aa1c:       eb 08                   jmp    4000aa26 <tmalloc_large+0x17f>
12303 4000aa1e:       d1 65 84                shll   -0x7c(%ebp)
12304 4000aa21:       e9 6e ff ff ff          jmp    4000a994 <tmalloc_large+0xed>
12305 4000aa26:       83 bd 74 ff ff ff 00    cmpl   $0x0,-0x8c(%ebp)
12306 4000aa2d:       0f 85 e4 00 00 00       jne    4000ab17 <tmalloc_large+0x270>
12307 4000aa33:       83 bd 6c ff ff ff 00    cmpl   $0x0,-0x94(%ebp)
12308 4000aa3a:       0f 85 d7 00 00 00       jne    4000ab17 <tmalloc_large+0x270>
12309 4000aa40:       8b 8d 78 ff ff ff       mov    -0x88(%ebp),%ecx
12310 4000aa46:       b8 01 00 00 00          mov    $0x1,%eax
12311 4000aa4b:       d3 e0                   shl    %cl,%eax
12312 4000aa4d:       8d 14 00                lea    (%eax,%eax,1),%edx
12313 4000aa50:       8b 8d 78 ff ff ff       mov    -0x88(%ebp),%ecx
12314 4000aa56:       b8 01 00 00 00          mov    $0x1,%eax
12315 4000aa5b:       d3 e0                   shl    %cl,%eax
12316 4000aa5d:       01 c0                   add    %eax,%eax
12317 4000aa5f:       f7 d8                   neg    %eax
12318 4000aa61:       09 c2                   or     %eax,%edx
12319 4000aa63:       8b 45 08                mov    0x8(%ebp),%eax
12320 4000aa66:       8b 40 04                mov    0x4(%eax),%eax
12321 4000aa69:       21 d0                   and    %edx,%eax
12322 4000aa6b:       89 45 94                mov    %eax,-0x6c(%ebp)
12323 4000aa6e:       83 7d 94 00             cmpl   $0x0,-0x6c(%ebp)
12324 4000aa72:       0f 84 9f 00 00 00       je     4000ab17 <tmalloc_large+0x270>
12325 4000aa78:       8b 45 94                mov    -0x6c(%ebp),%eax
12326 4000aa7b:       f7 d8                   neg    %eax
12327 4000aa7d:       23 45 94                and    -0x6c(%ebp),%eax
12328 4000aa80:       89 45 9c                mov    %eax,-0x64(%ebp)
12329 4000aa83:       0f bc 45 9c             bsf    -0x64(%ebp),%eax
12330 4000aa87:       89 45 a0                mov    %eax,-0x60(%ebp)
12331 4000aa8a:       8b 45 a0                mov    -0x60(%ebp),%eax
12332 4000aa8d:       89 45 98                mov    %eax,-0x68(%ebp)
12333 4000aa90:       8b 45 08                mov    0x8(%ebp),%eax
12334 4000aa93:       8d 90 2c 01 00 00       lea    0x12c(%eax),%edx
12335 4000aa99:       8b 45 98                mov    -0x68(%ebp),%eax
12336 4000aa9c:       c1 e0 02                shl    $0x2,%eax
12337 4000aa9f:       8d 04 02                lea    (%edx,%eax,1),%eax
12338 4000aaa2:       8b 00                   mov    (%eax),%eax
12339 4000aaa4:       89 85 74 ff ff ff       mov    %eax,-0x8c(%ebp)
12340 4000aaaa:       eb 6b                   jmp    4000ab17 <tmalloc_large+0x270>
12341 4000aaac:       8b 85 74 ff ff ff       mov    -0x8c(%ebp),%eax
12342 4000aab2:       8b 40 04                mov    0x4(%eax),%eax
12343 4000aab5:       83 e0 fc                and    $0xfffffffc,%eax
12344 4000aab8:       2b 45 0c                sub    0xc(%ebp),%eax
12345 4000aabb:       89 45 a4                mov    %eax,-0x5c(%ebp)
12346 4000aabe:       8b 45 a4                mov    -0x5c(%ebp),%eax
12347 4000aac1:       3b 85 70 ff ff ff       cmp    -0x90(%ebp),%eax
12348 4000aac7:       73 15                   jae    4000aade <tmalloc_large+0x237>
12349 4000aac9:       8b 45 a4                mov    -0x5c(%ebp),%eax
12350 4000aacc:       89 85 70 ff ff ff       mov    %eax,-0x90(%ebp)
12351 4000aad2:       8b 85 74 ff ff ff       mov    -0x8c(%ebp),%eax
12352 4000aad8:       89 85 6c ff ff ff       mov    %eax,-0x94(%ebp)
12353 4000aade:       8b 85 74 ff ff ff       mov    -0x8c(%ebp),%eax
12354 4000aae4:       8b 40 10                mov    0x10(%eax),%eax
12355 4000aae7:       85 c0                   test   %eax,%eax
12356 4000aae9:       74 11                   je     4000aafc <tmalloc_large+0x255>
12357 4000aaeb:       8b 85 74 ff ff ff       mov    -0x8c(%ebp),%eax
12358 4000aaf1:       8b 40 10                mov    0x10(%eax),%eax
12359 4000aaf4:       89 85 60 ff ff ff       mov    %eax,-0xa0(%ebp)
12360 4000aafa:       eb 0f                   jmp    4000ab0b <tmalloc_large+0x264>
12361 4000aafc:       8b 85 74 ff ff ff       mov    -0x8c(%ebp),%eax
12362 4000ab02:       8b 40 14                mov    0x14(%eax),%eax
12363 4000ab05:       89 85 60 ff ff ff       mov    %eax,-0xa0(%ebp)
12364 4000ab0b:       8b 85 60 ff ff ff       mov    -0xa0(%ebp),%eax
12365 4000ab11:       89 85 74 ff ff ff       mov    %eax,-0x8c(%ebp)
12366 4000ab17:       83 bd 74 ff ff ff 00    cmpl   $0x0,-0x8c(%ebp)
12367 4000ab1e:       75 8c                   jne    4000aaac <tmalloc_large+0x205>
12368 4000ab20:       83 bd 6c ff ff ff 00    cmpl   $0x0,-0x94(%ebp)
12369 4000ab27:       0f 84 13 06 00 00       je     4000b140 <tmalloc_large+0x899>
12370 4000ab2d:       8b 45 08                mov    0x8(%ebp),%eax
12371 4000ab30:       8b 40 08                mov    0x8(%eax),%eax
12372 4000ab33:       2b 45 0c                sub    0xc(%ebp),%eax
12373 4000ab36:       3b 85 70 ff ff ff       cmp    -0x90(%ebp),%eax
12374 4000ab3c:       0f 86 fe 05 00 00       jbe    4000b140 <tmalloc_large+0x899>
12375 4000ab42:       8b 45 08                mov    0x8(%ebp),%eax
12376 4000ab45:       8b 50 10                mov    0x10(%eax),%edx
12377 4000ab48:       8b 85 6c ff ff ff       mov    -0x94(%ebp),%eax
12378 4000ab4e:       39 c2                   cmp    %eax,%edx
12379 4000ab50:       0f 96 c0                setbe  %al
12380 4000ab53:       0f b6 c0                movzbl %al,%eax
12381 4000ab56:       85 c0                   test   %eax,%eax
12382 4000ab58:       0f 84 dd 05 00 00       je     4000b13b <tmalloc_large+0x894>
12383 4000ab5e:       8b 85 6c ff ff ff       mov    -0x94(%ebp),%eax
12384 4000ab64:       03 45 0c                add    0xc(%ebp),%eax
12385 4000ab67:       89 45 a8                mov    %eax,-0x58(%ebp)
12386 4000ab6a:       8b 95 6c ff ff ff       mov    -0x94(%ebp),%edx
12387 4000ab70:       8b 45 a8                mov    -0x58(%ebp),%eax
12388 4000ab73:       39 c2                   cmp    %eax,%edx
12389 4000ab75:       0f 92 c0                setb   %al
12390 4000ab78:       0f b6 c0                movzbl %al,%eax
12391 4000ab7b:       85 c0                   test   %eax,%eax
12392 4000ab7d:       0f 84 b8 05 00 00       je     4000b13b <tmalloc_large+0x894>
12393 4000ab83:       8b 85 6c ff ff ff       mov    -0x94(%ebp),%eax
12394 4000ab89:       8b 40 18                mov    0x18(%eax),%eax
12395 4000ab8c:       89 45 ac                mov    %eax,-0x54(%ebp)
12396 4000ab8f:       8b 85 6c ff ff ff       mov    -0x94(%ebp),%eax
12397 4000ab95:       8b 40 0c                mov    0xc(%eax),%eax
12398 4000ab98:       3b 85 6c ff ff ff       cmp    -0x94(%ebp),%eax
12399 4000ab9e:       74 4e                   je     4000abee <tmalloc_large+0x347>
12400 4000aba0:       8b 85 6c ff ff ff       mov    -0x94(%ebp),%eax
12401 4000aba6:       8b 40 08                mov    0x8(%eax),%eax
12402 4000aba9:       89 45 b4                mov    %eax,-0x4c(%ebp)
12403 4000abac:       8b 85 6c ff ff ff       mov    -0x94(%ebp),%eax
12404 4000abb2:       8b 40 0c                mov    0xc(%eax),%eax
12405 4000abb5:       89 45 b0                mov    %eax,-0x50(%ebp)
12406 4000abb8:       8b 45 08                mov    0x8(%ebp),%eax
12407 4000abbb:       8b 50 10                mov    0x10(%eax),%edx
12408 4000abbe:       8b 45 b4                mov    -0x4c(%ebp),%eax
12409 4000abc1:       39 c2                   cmp    %eax,%edx
12410 4000abc3:       0f 96 c0                setbe  %al
12411 4000abc6:       0f b6 c0                movzbl %al,%eax
12412 4000abc9:       85 c0                   test   %eax,%eax
12413 4000abcb:       74 17                   je     4000abe4 <tmalloc_large+0x33d>
12414 4000abcd:       8b 55 b4                mov    -0x4c(%ebp),%edx
12415 4000abd0:       8b 45 b0                mov    -0x50(%ebp),%eax
12416 4000abd3:       89 42 0c                mov    %eax,0xc(%edx)
12417 4000abd6:       8b 55 b0                mov    -0x50(%ebp),%edx
12418 4000abd9:       8b 45 b4                mov    -0x4c(%ebp),%eax
12419 4000abdc:       89 42 08                mov    %eax,0x8(%edx)
12420 4000abdf:       e9 97 00 00 00          jmp    4000ac7b <tmalloc_large+0x3d4>
12421 4000abe4:       e8 af 6c 00 00          call   40011898 <abort>
12422 4000abe9:       e9 8d 00 00 00          jmp    4000ac7b <tmalloc_large+0x3d4>
12423 4000abee:       8b 85 6c ff ff ff       mov    -0x94(%ebp),%eax
12424 4000abf4:       83 c0 14                add    $0x14,%eax
12425 4000abf7:       89 45 b8                mov    %eax,-0x48(%ebp)
12426 4000abfa:       8b 45 b8                mov    -0x48(%ebp),%eax
12427 4000abfd:       8b 00                   mov    (%eax),%eax
12428 4000abff:       89 45 b0                mov    %eax,-0x50(%ebp)
12429 4000ac02:       83 7d b0 00             cmpl   $0x0,-0x50(%ebp)
12430 4000ac06:       75 2a                   jne    4000ac32 <tmalloc_large+0x38b>
12431 4000ac08:       8b 85 6c ff ff ff       mov    -0x94(%ebp),%eax
12432 4000ac0e:       83 c0 10                add    $0x10,%eax
12433 4000ac11:       89 45 b8                mov    %eax,-0x48(%ebp)
12434 4000ac14:       8b 45 b8                mov    -0x48(%ebp),%eax
12435 4000ac17:       8b 00                   mov    (%eax),%eax
12436 4000ac19:       89 45 b0                mov    %eax,-0x50(%ebp)
12437 4000ac1c:       83 7d b0 00             cmpl   $0x0,-0x50(%ebp)
12438 4000ac20:       74 59                   je     4000ac7b <tmalloc_large+0x3d4>
12439 4000ac22:       eb 0e                   jmp    4000ac32 <tmalloc_large+0x38b>
12440 4000ac24:       8b 45 bc                mov    -0x44(%ebp),%eax
12441 4000ac27:       89 45 b8                mov    %eax,-0x48(%ebp)
12442 4000ac2a:       8b 45 b8                mov    -0x48(%ebp),%eax
12443 4000ac2d:       8b 00                   mov    (%eax),%eax
12444 4000ac2f:       89 45 b0                mov    %eax,-0x50(%ebp)
12445 4000ac32:       8b 45 b0                mov    -0x50(%ebp),%eax
12446 4000ac35:       83 c0 14                add    $0x14,%eax
12447 4000ac38:       89 45 bc                mov    %eax,-0x44(%ebp)
12448 4000ac3b:       8b 45 bc                mov    -0x44(%ebp),%eax
12449 4000ac3e:       8b 00                   mov    (%eax),%eax
12450 4000ac40:       85 c0                   test   %eax,%eax
12451 4000ac42:       75 e0                   jne    4000ac24 <tmalloc_large+0x37d>
12452 4000ac44:       8b 45 b0                mov    -0x50(%ebp),%eax
12453 4000ac47:       83 c0 10                add    $0x10,%eax
12454 4000ac4a:       89 45 bc                mov    %eax,-0x44(%ebp)
12455 4000ac4d:       8b 45 bc                mov    -0x44(%ebp),%eax
12456 4000ac50:       8b 00                   mov    (%eax),%eax
12457 4000ac52:       85 c0                   test   %eax,%eax
12458 4000ac54:       75 ce                   jne    4000ac24 <tmalloc_large+0x37d>
12459 4000ac56:       8b 45 08                mov    0x8(%ebp),%eax
12460 4000ac59:       8b 50 10                mov    0x10(%eax),%edx
12461 4000ac5c:       8b 45 b8                mov    -0x48(%ebp),%eax
12462 4000ac5f:       39 c2                   cmp    %eax,%edx
12463 4000ac61:       0f 96 c0                setbe  %al
12464 4000ac64:       0f b6 c0                movzbl %al,%eax
12465 4000ac67:       85 c0                   test   %eax,%eax
12466 4000ac69:       74 0b                   je     4000ac76 <tmalloc_large+0x3cf>
12467 4000ac6b:       8b 45 b8                mov    -0x48(%ebp),%eax
12468 4000ac6e:       c7 00 00 00 00 00       movl   $0x0,(%eax)
12469 4000ac74:       eb 05                   jmp    4000ac7b <tmalloc_large+0x3d4>
12470 4000ac76:       e8 1d 6c 00 00          call   40011898 <abort>
12471 4000ac7b:       83 7d ac 00             cmpl   $0x0,-0x54(%ebp)
12472 4000ac7f:       0f 84 4e 01 00 00       je     4000add3 <tmalloc_large+0x52c>
12473 4000ac85:       8b 45 08                mov    0x8(%ebp),%eax
12474 4000ac88:       8d 90 2c 01 00 00       lea    0x12c(%eax),%edx
12475 4000ac8e:       8b 85 6c ff ff ff       mov    -0x94(%ebp),%eax
12476 4000ac94:       8b 40 1c                mov    0x1c(%eax),%eax
12477 4000ac97:       c1 e0 02                shl    $0x2,%eax
12478 4000ac9a:       8d 04 02                lea    (%edx,%eax,1),%eax
12479 4000ac9d:       89 45 c0                mov    %eax,-0x40(%ebp)
12480 4000aca0:       8b 45 c0                mov    -0x40(%ebp),%eax
12481 4000aca3:       8b 00                   mov    (%eax),%eax
12482 4000aca5:       3b 85 6c ff ff ff       cmp    -0x94(%ebp),%eax
12483 4000acab:       75 35                   jne    4000ace2 <tmalloc_large+0x43b>
12484 4000acad:       8b 55 c0                mov    -0x40(%ebp),%edx
12485 4000acb0:       8b 45 b0                mov    -0x50(%ebp),%eax
12486 4000acb3:       89 02                   mov    %eax,(%edx)
12487 4000acb5:       8b 45 c0                mov    -0x40(%ebp),%eax
12488 4000acb8:       8b 00                   mov    (%eax),%eax
12489 4000acba:       85 c0                   test   %eax,%eax
12490 4000acbc:       75 62                   jne    4000ad20 <tmalloc_large+0x479>
12491 4000acbe:       8b 45 08                mov    0x8(%ebp),%eax
12492 4000acc1:       8b 50 04                mov    0x4(%eax),%edx
12493 4000acc4:       8b 85 6c ff ff ff       mov    -0x94(%ebp),%eax
12494 4000acca:       8b 40 1c                mov    0x1c(%eax),%eax
12495 4000accd:       89 c1                   mov    %eax,%ecx
12496 4000accf:       b8 01 00 00 00          mov    $0x1,%eax
12497 4000acd4:       d3 e0                   shl    %cl,%eax
12498 4000acd6:       f7 d0                   not    %eax
12499 4000acd8:       21 c2                   and    %eax,%edx
12500 4000acda:       8b 45 08                mov    0x8(%ebp),%eax
12501 4000acdd:       89 50 04                mov    %edx,0x4(%eax)
12502 4000ace0:       eb 3e                   jmp    4000ad20 <tmalloc_large+0x479>
12503 4000ace2:       8b 45 08                mov    0x8(%ebp),%eax
12504 4000ace5:       8b 50 10                mov    0x10(%eax),%edx
12505 4000ace8:       8b 45 ac                mov    -0x54(%ebp),%eax
12506 4000aceb:       39 c2                   cmp    %eax,%edx
12507 4000aced:       0f 96 c0                setbe  %al
12508 4000acf0:       0f b6 c0                movzbl %al,%eax
12509 4000acf3:       85 c0                   test   %eax,%eax
12510 4000acf5:       74 24                   je     4000ad1b <tmalloc_large+0x474>
12511 4000acf7:       8b 45 ac                mov    -0x54(%ebp),%eax
12512 4000acfa:       8b 40 10                mov    0x10(%eax),%eax
12513 4000acfd:       3b 85 6c ff ff ff       cmp    -0x94(%ebp),%eax
12514 4000ad03:       75 0b                   jne    4000ad10 <tmalloc_large+0x469>
12515 4000ad05:       8b 55 ac                mov    -0x54(%ebp),%edx
12516 4000ad08:       8b 45 b0                mov    -0x50(%ebp),%eax
12517 4000ad0b:       89 42 10                mov    %eax,0x10(%edx)
12518 4000ad0e:       eb 10                   jmp    4000ad20 <tmalloc_large+0x479>
12519 4000ad10:       8b 55 ac                mov    -0x54(%ebp),%edx
12520 4000ad13:       8b 45 b0                mov    -0x50(%ebp),%eax
12521 4000ad16:       89 42 14                mov    %eax,0x14(%edx)
12522 4000ad19:       eb 05                   jmp    4000ad20 <tmalloc_large+0x479>
12523 4000ad1b:       e8 78 6b 00 00          call   40011898 <abort>
12524 4000ad20:       83 7d b0 00             cmpl   $0x0,-0x50(%ebp)
12525 4000ad24:       0f 84 a9 00 00 00       je     4000add3 <tmalloc_large+0x52c>
12526 4000ad2a:       8b 45 08                mov    0x8(%ebp),%eax
12527 4000ad2d:       8b 50 10                mov    0x10(%eax),%edx
12528 4000ad30:       8b 45 b0                mov    -0x50(%ebp),%eax
12529 4000ad33:       39 c2                   cmp    %eax,%edx
12530 4000ad35:       0f 96 c0                setbe  %al
12531 4000ad38:       0f b6 c0                movzbl %al,%eax
12532 4000ad3b:       85 c0                   test   %eax,%eax
12533 4000ad3d:       0f 84 8b 00 00 00       je     4000adce <tmalloc_large+0x527>
12534 4000ad43:       8b 55 b0                mov    -0x50(%ebp),%edx
12535 4000ad46:       8b 45 ac                mov    -0x54(%ebp),%eax
12536 4000ad49:       89 42 18                mov    %eax,0x18(%edx)
12537 4000ad4c:       8b 85 6c ff ff ff       mov    -0x94(%ebp),%eax
12538 4000ad52:       8b 40 10                mov    0x10(%eax),%eax
12539 4000ad55:       89 45 c4                mov    %eax,-0x3c(%ebp)
12540 4000ad58:       83 7d c4 00             cmpl   $0x0,-0x3c(%ebp)
12541 4000ad5c:       74 2e                   je     4000ad8c <tmalloc_large+0x4e5>
12542 4000ad5e:       8b 45 08                mov    0x8(%ebp),%eax
12543 4000ad61:       8b 50 10                mov    0x10(%eax),%edx
12544 4000ad64:       8b 45 c4                mov    -0x3c(%ebp),%eax
12545 4000ad67:       39 c2                   cmp    %eax,%edx
12546 4000ad69:       0f 96 c0                setbe  %al
12547 4000ad6c:       0f b6 c0                movzbl %al,%eax
12548 4000ad6f:       85 c0                   test   %eax,%eax
12549 4000ad71:       74 14                   je     4000ad87 <tmalloc_large+0x4e0>
12550 4000ad73:       8b 55 b0                mov    -0x50(%ebp),%edx
12551 4000ad76:       8b 45 c4                mov    -0x3c(%ebp),%eax
12552 4000ad79:       89 42 10                mov    %eax,0x10(%edx)
12553 4000ad7c:       8b 55 c4                mov    -0x3c(%ebp),%edx
12554 4000ad7f:       8b 45 b0                mov    -0x50(%ebp),%eax
12555 4000ad82:       89 42 18                mov    %eax,0x18(%edx)
12556 4000ad85:       eb 05                   jmp    4000ad8c <tmalloc_large+0x4e5>
12557 4000ad87:       e8 0c 6b 00 00          call   40011898 <abort>
12558 4000ad8c:       8b 85 6c ff ff ff       mov    -0x94(%ebp),%eax
12559 4000ad92:       8b 40 14                mov    0x14(%eax),%eax
12560 4000ad95:       89 45 c8                mov    %eax,-0x38(%ebp)
12561 4000ad98:       83 7d c8 00             cmpl   $0x0,-0x38(%ebp)
12562 4000ad9c:       74 35                   je     4000add3 <tmalloc_large+0x52c>
12563 4000ad9e:       8b 45 08                mov    0x8(%ebp),%eax
12564 4000ada1:       8b 50 10                mov    0x10(%eax),%edx
12565 4000ada4:       8b 45 c8                mov    -0x38(%ebp),%eax
12566 4000ada7:       39 c2                   cmp    %eax,%edx
12567 4000ada9:       0f 96 c0                setbe  %al
12568 4000adac:       0f b6 c0                movzbl %al,%eax
12569 4000adaf:       85 c0                   test   %eax,%eax
12570 4000adb1:       74 14                   je     4000adc7 <tmalloc_large+0x520>
12571 4000adb3:       8b 55 b0                mov    -0x50(%ebp),%edx
12572 4000adb6:       8b 45 c8                mov    -0x38(%ebp),%eax
12573 4000adb9:       89 42 14                mov    %eax,0x14(%edx)
12574 4000adbc:       8b 55 c8                mov    -0x38(%ebp),%edx
12575 4000adbf:       8b 45 b0                mov    -0x50(%ebp),%eax
12576 4000adc2:       89 42 18                mov    %eax,0x18(%edx)
12577 4000adc5:       eb 0c                   jmp    4000add3 <tmalloc_large+0x52c>
12578 4000adc7:       e8 cc 6a 00 00          call   40011898 <abort>
12579 4000adcc:       eb 05                   jmp    4000add3 <tmalloc_large+0x52c>
12580 4000adce:       e8 c5 6a 00 00          call   40011898 <abort>
12581 4000add3:       83 bd 70 ff ff ff 0f    cmpl   $0xf,-0x90(%ebp)
12582 4000adda:       77 4f                   ja     4000ae2b <tmalloc_large+0x584>
12583 4000addc:       8b 55 0c                mov    0xc(%ebp),%edx
12584 4000addf:       8b 85 70 ff ff ff       mov    -0x90(%ebp),%eax
12585 4000ade5:       01 d0                   add    %edx,%eax
12586 4000ade7:       89 c2                   mov    %eax,%edx
12587 4000ade9:       83 ca 03                or     $0x3,%edx
12588 4000adec:       8b 85 6c ff ff ff       mov    -0x94(%ebp),%eax
12589 4000adf2:       89 50 04                mov    %edx,0x4(%eax)
12590 4000adf5:       8b 8d 6c ff ff ff       mov    -0x94(%ebp),%ecx
12591 4000adfb:       8b 55 0c                mov    0xc(%ebp),%edx
12592 4000adfe:       8b 85 70 ff ff ff       mov    -0x90(%ebp),%eax
12593 4000ae04:       01 d0                   add    %edx,%eax
12594 4000ae06:       8d 1c 01                lea    (%ecx,%eax,1),%ebx
12595 4000ae09:       8b 8d 6c ff ff ff       mov    -0x94(%ebp),%ecx
12596 4000ae0f:       8b 55 0c                mov    0xc(%ebp),%edx
12597 4000ae12:       8b 85 70 ff ff ff       mov    -0x90(%ebp),%eax
12598 4000ae18:       01 d0                   add    %edx,%eax
12599 4000ae1a:       8d 04 01                lea    (%ecx,%eax,1),%eax
12600 4000ae1d:       8b 40 04                mov    0x4(%eax),%eax
12601 4000ae20:       83 c8 01                or     $0x1,%eax
12602 4000ae23:       89 43 04                mov    %eax,0x4(%ebx)
12603 4000ae26:       e9 ff 02 00 00          jmp    4000b12a <tmalloc_large+0x883>
12604 4000ae2b:       8b 45 0c                mov    0xc(%ebp),%eax
12605 4000ae2e:       89 c2                   mov    %eax,%edx
12606 4000ae30:       83 ca 03                or     $0x3,%edx
12607 4000ae33:       8b 85 6c ff ff ff       mov    -0x94(%ebp),%eax
12608 4000ae39:       89 50 04                mov    %edx,0x4(%eax)
12609 4000ae3c:       8b 85 70 ff ff ff       mov    -0x90(%ebp),%eax
12610 4000ae42:       89 c2                   mov    %eax,%edx
12611 4000ae44:       83 ca 01                or     $0x1,%edx
12612 4000ae47:       8b 45 a8                mov    -0x58(%ebp),%eax
12613 4000ae4a:       89 50 04                mov    %edx,0x4(%eax)
12614 4000ae4d:       8b 95 70 ff ff ff       mov    -0x90(%ebp),%edx
12615 4000ae53:       8b 45 a8                mov    -0x58(%ebp),%eax
12616 4000ae56:       8d 14 10                lea    (%eax,%edx,1),%edx
12617 4000ae59:       8b 85 70 ff ff ff       mov    -0x90(%ebp),%eax
12618 4000ae5f:       89 02                   mov    %eax,(%edx)
12619 4000ae61:       8b 85 70 ff ff ff       mov    -0x90(%ebp),%eax
12620 4000ae67:       c1 e8 03                shr    $0x3,%eax
12621 4000ae6a:       83 f8 1f                cmp    $0x1f,%eax
12622 4000ae6d:       0f 87 a6 00 00 00       ja     4000af19 <tmalloc_large+0x672>
12623 4000ae73:       8b 85 70 ff ff ff       mov    -0x90(%ebp),%eax
12624 4000ae79:       c1 e8 03                shr    $0x3,%eax
12625 4000ae7c:       89 45 cc                mov    %eax,-0x34(%ebp)
12626 4000ae7f:       8b 45 08                mov    0x8(%ebp),%eax
12627 4000ae82:       83 c0 24                add    $0x24,%eax
12628 4000ae85:       89 c2                   mov    %eax,%edx
12629 4000ae87:       8b 45 cc                mov    -0x34(%ebp),%eax
12630 4000ae8a:       c1 e0 03                shl    $0x3,%eax
12631 4000ae8d:       8d 04 02                lea    (%edx,%eax,1),%eax
12632 4000ae90:       89 45 d0                mov    %eax,-0x30(%ebp)
12633 4000ae93:       8b 45 d0                mov    -0x30(%ebp),%eax
12634 4000ae96:       89 45 d4                mov    %eax,-0x2c(%ebp)
12635 4000ae99:       8b 45 08                mov    0x8(%ebp),%eax
12636 4000ae9c:       8b 10                   mov    (%eax),%edx
12637 4000ae9e:       8b 4d cc                mov    -0x34(%ebp),%ecx
12638 4000aea1:       b8 01 00 00 00          mov    $0x1,%eax
12639 4000aea6:       d3 e0                   shl    %cl,%eax
12640 4000aea8:       21 d0                   and    %edx,%eax
12641 4000aeaa:       85 c0                   test   %eax,%eax
12642 4000aeac:       75 18                   jne    4000aec6 <tmalloc_large+0x61f>
12643 4000aeae:       8b 45 08                mov    0x8(%ebp),%eax
12644 4000aeb1:       8b 10                   mov    (%eax),%edx
12645 4000aeb3:       8b 4d cc                mov    -0x34(%ebp),%ecx
12646 4000aeb6:       b8 01 00 00 00          mov    $0x1,%eax
12647 4000aebb:       d3 e0                   shl    %cl,%eax
12648 4000aebd:       09 c2                   or     %eax,%edx
12649 4000aebf:       8b 45 08                mov    0x8(%ebp),%eax
12650 4000aec2:       89 10                   mov    %edx,(%eax)
12651 4000aec4:       eb 2a                   jmp    4000aef0 <tmalloc_large+0x649>
12652 4000aec6:       8b 45 d0                mov    -0x30(%ebp),%eax
12653 4000aec9:       8b 40 08                mov    0x8(%eax),%eax
12654 4000aecc:       89 c2                   mov    %eax,%edx
12655 4000aece:       8b 45 08                mov    0x8(%ebp),%eax
12656 4000aed1:       8b 40 10                mov    0x10(%eax),%eax
12657 4000aed4:       39 c2                   cmp    %eax,%edx
12658 4000aed6:       0f 93 c0                setae  %al
12659 4000aed9:       0f b6 c0                movzbl %al,%eax
12660 4000aedc:       85 c0                   test   %eax,%eax
12661 4000aede:       74 0b                   je     4000aeeb <tmalloc_large+0x644>
12662 4000aee0:       8b 45 d0                mov    -0x30(%ebp),%eax
12663 4000aee3:       8b 40 08                mov    0x8(%eax),%eax
12664 4000aee6:       89 45 d4                mov    %eax,-0x2c(%ebp)
12665 4000aee9:       eb 05                   jmp    4000aef0 <tmalloc_large+0x649>
12666 4000aeeb:       e8 a8 69 00 00          call   40011898 <abort>
12667 4000aef0:       8b 55 d0                mov    -0x30(%ebp),%edx
12668 4000aef3:       8b 45 a8                mov    -0x58(%ebp),%eax
12669 4000aef6:       89 42 08                mov    %eax,0x8(%edx)
12670 4000aef9:       8b 55 d4                mov    -0x2c(%ebp),%edx
12671 4000aefc:       8b 45 a8                mov    -0x58(%ebp),%eax
12672 4000aeff:       89 42 0c                mov    %eax,0xc(%edx)
12673 4000af02:       8b 55 a8                mov    -0x58(%ebp),%edx
12674 4000af05:       8b 45 d4                mov    -0x2c(%ebp),%eax
12675 4000af08:       89 42 08                mov    %eax,0x8(%edx)
12676 4000af0b:       8b 55 a8                mov    -0x58(%ebp),%edx
12677 4000af0e:       8b 45 d0                mov    -0x30(%ebp),%eax
12678 4000af11:       89 42 0c                mov    %eax,0xc(%edx)
12679 4000af14:       e9 11 02 00 00          jmp    4000b12a <tmalloc_large+0x883>
12680 4000af19:       8b 45 a8                mov    -0x58(%ebp),%eax
12681 4000af1c:       89 45 d8                mov    %eax,-0x28(%ebp)
12682 4000af1f:       8b 85 70 ff ff ff       mov    -0x90(%ebp),%eax
12683 4000af25:       c1 e8 08                shr    $0x8,%eax
12684 4000af28:       89 45 e4                mov    %eax,-0x1c(%ebp)
12685 4000af2b:       83 7d e4 00             cmpl   $0x0,-0x1c(%ebp)
12686 4000af2f:       75 09                   jne    4000af3a <tmalloc_large+0x693>
12687 4000af31:       c7 45 e0 00 00 00 00    movl   $0x0,-0x20(%ebp)
12688 4000af38:       eb 38                   jmp    4000af72 <tmalloc_large+0x6cb>
12689 4000af3a:       81 7d e4 ff ff 00 00    cmpl   $0xffff,-0x1c(%ebp)
12690 4000af41:       76 09                   jbe    4000af4c <tmalloc_large+0x6a5>
12691 4000af43:       c7 45 e0 1f 00 00 00    movl   $0x1f,-0x20(%ebp)
12692 4000af4a:       eb 26                   jmp    4000af72 <tmalloc_large+0x6cb>
12693 4000af4c:       0f bd 45 e4             bsr    -0x1c(%ebp),%eax
12694 4000af50:       89 45 e8                mov    %eax,-0x18(%ebp)
12695 4000af53:       8b 45 e8                mov    -0x18(%ebp),%eax
12696 4000af56:       8d 14 00                lea    (%eax,%eax,1),%edx
12697 4000af59:       8b 45 e8                mov    -0x18(%ebp),%eax
12698 4000af5c:       83 c0 07                add    $0x7,%eax
12699 4000af5f:       89 c1                   mov    %eax,%ecx
12700 4000af61:       8b 85 70 ff ff ff       mov    -0x90(%ebp),%eax
12701 4000af67:       d3 e8                   shr    %cl,%eax
12702 4000af69:       83 e0 01                and    $0x1,%eax
12703 4000af6c:       8d 04 02                lea    (%edx,%eax,1),%eax
12704 4000af6f:       89 45 e0                mov    %eax,-0x20(%ebp)
12705 4000af72:       8b 45 08                mov    0x8(%ebp),%eax
12706 4000af75:       8d 90 2c 01 00 00       lea    0x12c(%eax),%edx
12707 4000af7b:       8b 45 e0                mov    -0x20(%ebp),%eax
12708 4000af7e:       c1 e0 02                shl    $0x2,%eax
12709 4000af81:       8d 04 02                lea    (%edx,%eax,1),%eax
12710 4000af84:       89 45 dc                mov    %eax,-0x24(%ebp)
12711 4000af87:       8b 55 d8                mov    -0x28(%ebp),%edx
12712 4000af8a:       8b 45 e0                mov    -0x20(%ebp),%eax
12713 4000af8d:       89 42 1c                mov    %eax,0x1c(%edx)
12714 4000af90:       8b 45 d8                mov    -0x28(%ebp),%eax
12715 4000af93:       c7 40 14 00 00 00 00    movl   $0x0,0x14(%eax)
12716 4000af9a:       8b 45 d8                mov    -0x28(%ebp),%eax
12717 4000af9d:       8b 50 14                mov    0x14(%eax),%edx
12718 4000afa0:       8b 45 d8                mov    -0x28(%ebp),%eax
12719 4000afa3:       89 50 10                mov    %edx,0x10(%eax)
12720 4000afa6:       8b 45 08                mov    0x8(%ebp),%eax
12721 4000afa9:       8b 50 04                mov    0x4(%eax),%edx
12722 4000afac:       8b 4d e0                mov    -0x20(%ebp),%ecx
12723 4000afaf:       b8 01 00 00 00          mov    $0x1,%eax
12724 4000afb4:       d3 e0                   shl    %cl,%eax
12725 4000afb6:       21 d0                   and    %edx,%eax
12726 4000afb8:       85 c0                   test   %eax,%eax
12727 4000afba:       75 43                   jne    4000afff <tmalloc_large+0x758>
12728 4000afbc:       8b 45 08                mov    0x8(%ebp),%eax
12729 4000afbf:       8b 50 04                mov    0x4(%eax),%edx
12730 4000afc2:       8b 4d e0                mov    -0x20(%ebp),%ecx
12731 4000afc5:       b8 01 00 00 00          mov    $0x1,%eax
12732 4000afca:       d3 e0                   shl    %cl,%eax
12733 4000afcc:       09 c2                   or     %eax,%edx
12734 4000afce:       8b 45 08                mov    0x8(%ebp),%eax
12735 4000afd1:       89 50 04                mov    %edx,0x4(%eax)
12736 4000afd4:       8b 55 dc                mov    -0x24(%ebp),%edx
12737 4000afd7:       8b 45 d8                mov    -0x28(%ebp),%eax
12738 4000afda:       89 02                   mov    %eax,(%edx)
12739 4000afdc:       8b 55 dc                mov    -0x24(%ebp),%edx
12740 4000afdf:       8b 45 d8                mov    -0x28(%ebp),%eax
12741 4000afe2:       89 50 18                mov    %edx,0x18(%eax)
12742 4000afe5:       8b 55 d8                mov    -0x28(%ebp),%edx
12743 4000afe8:       8b 45 d8                mov    -0x28(%ebp),%eax
12744 4000afeb:       89 42 0c                mov    %eax,0xc(%edx)
12745 4000afee:       8b 45 d8                mov    -0x28(%ebp),%eax
12746 4000aff1:       8b 50 0c                mov    0xc(%eax),%edx
12747 4000aff4:       8b 45 d8                mov    -0x28(%ebp),%eax
12748 4000aff7:       89 50 08                mov    %edx,0x8(%eax)
12749 4000affa:       e9 2b 01 00 00          jmp    4000b12a <tmalloc_large+0x883>
12750 4000afff:       8b 45 dc                mov    -0x24(%ebp),%eax
12751 4000b002:       8b 00                   mov    (%eax),%eax
12752 4000b004:       89 45 ec                mov    %eax,-0x14(%ebp)
12753 4000b007:       83 7d e0 1f             cmpl   $0x1f,-0x20(%ebp)
12754 4000b00b:       74 16                   je     4000b023 <tmalloc_large+0x77c>
12755 4000b00d:       8b 45 e0                mov    -0x20(%ebp),%eax
12756 4000b010:       89 c2                   mov    %eax,%edx
12757 4000b012:       d1 ea                   shr    %edx
12758 4000b014:       b8 19 00 00 00          mov    $0x19,%eax
12759 4000b019:       29 d0                   sub    %edx,%eax
12760 4000b01b:       89 85 64 ff ff ff       mov    %eax,-0x9c(%ebp)
12761 4000b021:       eb 0a                   jmp    4000b02d <tmalloc_large+0x786>
12762 4000b023:       c7 85 64 ff ff ff 00    movl   $0x0,-0x9c(%ebp)
12763 4000b02a:       00 00 00 
12764 4000b02d:       8b 85 70 ff ff ff       mov    -0x90(%ebp),%eax
12765 4000b033:       0f b6 8d 64 ff ff ff    movzbl -0x9c(%ebp),%ecx
12766 4000b03a:       d3 e0                   shl    %cl,%eax
12767 4000b03c:       89 45 f0                mov    %eax,-0x10(%ebp)
12768 4000b03f:       8b 45 ec                mov    -0x14(%ebp),%eax
12769 4000b042:       8b 40 04                mov    0x4(%eax),%eax
12770 4000b045:       83 e0 fc                and    $0xfffffffc,%eax
12771 4000b048:       3b 85 70 ff ff ff       cmp    -0x90(%ebp),%eax
12772 4000b04e:       74 6f                   je     4000b0bf <tmalloc_large+0x818>
12773 4000b050:       8b 45 ec                mov    -0x14(%ebp),%eax
12774 4000b053:       8d 50 10                lea    0x10(%eax),%edx
12775 4000b056:       8b 45 f0                mov    -0x10(%ebp),%eax
12776 4000b059:       c1 e8 1f                shr    $0x1f,%eax
12777 4000b05c:       c1 e0 02                shl    $0x2,%eax
12778 4000b05f:       8d 04 02                lea    (%edx,%eax,1),%eax
12779 4000b062:       89 45 f4                mov    %eax,-0xc(%ebp)
12780 4000b065:       d1 65 f0                shll   -0x10(%ebp)
12781 4000b068:       8b 45 f4                mov    -0xc(%ebp),%eax
12782 4000b06b:       8b 00                   mov    (%eax),%eax
12783 4000b06d:       85 c0                   test   %eax,%eax
12784 4000b06f:       74 0a                   je     4000b07b <tmalloc_large+0x7d4>
12785 4000b071:       8b 45 f4                mov    -0xc(%ebp),%eax
12786 4000b074:       8b 00                   mov    (%eax),%eax
12787 4000b076:       89 45 ec                mov    %eax,-0x14(%ebp)
12788 4000b079:       eb c4                   jmp    4000b03f <tmalloc_large+0x798>
12789 4000b07b:       8b 45 08                mov    0x8(%ebp),%eax
12790 4000b07e:       8b 50 10                mov    0x10(%eax),%edx
12791 4000b081:       8b 45 f4                mov    -0xc(%ebp),%eax
12792 4000b084:       39 c2                   cmp    %eax,%edx
12793 4000b086:       0f 96 c0                setbe  %al
12794 4000b089:       0f b6 c0                movzbl %al,%eax
12795 4000b08c:       85 c0                   test   %eax,%eax
12796 4000b08e:       74 28                   je     4000b0b8 <tmalloc_large+0x811>
12797 4000b090:       8b 55 f4                mov    -0xc(%ebp),%edx
12798 4000b093:       8b 45 d8                mov    -0x28(%ebp),%eax
12799 4000b096:       89 02                   mov    %eax,(%edx)
12800 4000b098:       8b 55 d8                mov    -0x28(%ebp),%edx
12801 4000b09b:       8b 45 ec                mov    -0x14(%ebp),%eax
12802 4000b09e:       89 42 18                mov    %eax,0x18(%edx)
12803 4000b0a1:       8b 55 d8                mov    -0x28(%ebp),%edx
12804 4000b0a4:       8b 45 d8                mov    -0x28(%ebp),%eax
12805 4000b0a7:       89 42 0c                mov    %eax,0xc(%edx)
12806 4000b0aa:       8b 45 d8                mov    -0x28(%ebp),%eax
12807 4000b0ad:       8b 50 0c                mov    0xc(%eax),%edx
12808 4000b0b0:       8b 45 d8                mov    -0x28(%ebp),%eax
12809 4000b0b3:       89 50 08                mov    %edx,0x8(%eax)
12810 4000b0b6:       eb 72                   jmp    4000b12a <tmalloc_large+0x883>
12811 4000b0b8:       e8 db 67 00 00          call   40011898 <abort>
12812 4000b0bd:       eb 6b                   jmp    4000b12a <tmalloc_large+0x883>
12813 4000b0bf:       8b 45 ec                mov    -0x14(%ebp),%eax
12814 4000b0c2:       8b 40 08                mov    0x8(%eax),%eax
12815 4000b0c5:       89 45 f8                mov    %eax,-0x8(%ebp)
12816 4000b0c8:       8b 45 08                mov    0x8(%ebp),%eax
12817 4000b0cb:       8b 50 10                mov    0x10(%eax),%edx
12818 4000b0ce:       8b 45 ec                mov    -0x14(%ebp),%eax
12819 4000b0d1:       39 c2                   cmp    %eax,%edx
12820 4000b0d3:       0f 96 c0                setbe  %al
12821 4000b0d6:       0f b6 c0                movzbl %al,%eax
12822 4000b0d9:       85 c0                   test   %eax,%eax
12823 4000b0db:       74 48                   je     4000b125 <tmalloc_large+0x87e>
12824 4000b0dd:       8b 45 08                mov    0x8(%ebp),%eax
12825 4000b0e0:       8b 50 10                mov    0x10(%eax),%edx
12826 4000b0e3:       8b 45 f8                mov    -0x8(%ebp),%eax
12827 4000b0e6:       39 c2                   cmp    %eax,%edx
12828 4000b0e8:       0f 96 c0                setbe  %al
12829 4000b0eb:       0f b6 c0                movzbl %al,%eax
12830 4000b0ee:       85 c0                   test   %eax,%eax
12831 4000b0f0:       74 33                   je     4000b125 <tmalloc_large+0x87e>
12832 4000b0f2:       8b 55 f8                mov    -0x8(%ebp),%edx
12833 4000b0f5:       8b 45 d8                mov    -0x28(%ebp),%eax
12834 4000b0f8:       89 42 0c                mov    %eax,0xc(%edx)
12835 4000b0fb:       8b 45 f8                mov    -0x8(%ebp),%eax
12836 4000b0fe:       8b 50 0c                mov    0xc(%eax),%edx
12837 4000b101:       8b 45 ec                mov    -0x14(%ebp),%eax
12838 4000b104:       89 50 08                mov    %edx,0x8(%eax)
12839 4000b107:       8b 55 d8                mov    -0x28(%ebp),%edx
12840 4000b10a:       8b 45 f8                mov    -0x8(%ebp),%eax
12841 4000b10d:       89 42 08                mov    %eax,0x8(%edx)
12842 4000b110:       8b 55 d8                mov    -0x28(%ebp),%edx
12843 4000b113:       8b 45 ec                mov    -0x14(%ebp),%eax
12844 4000b116:       89 42 0c                mov    %eax,0xc(%edx)
12845 4000b119:       8b 45 d8                mov    -0x28(%ebp),%eax
12846 4000b11c:       c7 40 18 00 00 00 00    movl   $0x0,0x18(%eax)
12847 4000b123:       eb 05                   jmp    4000b12a <tmalloc_large+0x883>
12848 4000b125:       e8 6e 67 00 00          call   40011898 <abort>
12849 4000b12a:       8b 85 6c ff ff ff       mov    -0x94(%ebp),%eax
12850 4000b130:       83 c0 08                add    $0x8,%eax
12851 4000b133:       89 85 68 ff ff ff       mov    %eax,-0x98(%ebp)
12852 4000b139:       eb 0f                   jmp    4000b14a <tmalloc_large+0x8a3>
12853 4000b13b:       e8 58 67 00 00          call   40011898 <abort>
12854 4000b140:       c7 85 68 ff ff ff 00    movl   $0x0,-0x98(%ebp)
12855 4000b147:       00 00 00 
12856 4000b14a:       8b 85 68 ff ff ff       mov    -0x98(%ebp),%eax
12857 4000b150:       81 c4 a4 00 00 00       add    $0xa4,%esp
12858 4000b156:       5b                      pop    %ebx
12859 4000b157:       5d                      pop    %ebp
12860 4000b158:       c3                      ret    
12862 4000b159 <tmalloc_small>:
12863 4000b159:       55                      push   %ebp
12864 4000b15a:       89 e5                   mov    %esp,%ebp
12865 4000b15c:       53                      push   %ebx
12866 4000b15d:       83 ec 74                sub    $0x74,%esp
12867 4000b160:       8b 45 08                mov    0x8(%ebp),%eax
12868 4000b163:       8b 50 04                mov    0x4(%eax),%edx
12869 4000b166:       8b 45 08                mov    0x8(%ebp),%eax
12870 4000b169:       8b 40 04                mov    0x4(%eax),%eax
12871 4000b16c:       f7 d8                   neg    %eax
12872 4000b16e:       21 d0                   and    %edx,%eax
12873 4000b170:       89 45 b8                mov    %eax,-0x48(%ebp)
12874 4000b173:       0f bc 45 b8             bsf    -0x48(%ebp),%eax
12875 4000b177:       89 45 bc                mov    %eax,-0x44(%ebp)
12876 4000b17a:       8b 45 bc                mov    -0x44(%ebp),%eax
12877 4000b17d:       89 45 b4                mov    %eax,-0x4c(%ebp)
12878 4000b180:       8b 45 08                mov    0x8(%ebp),%eax
12879 4000b183:       8d 90 2c 01 00 00       lea    0x12c(%eax),%edx
12880 4000b189:       8b 45 b4                mov    -0x4c(%ebp),%eax
12881 4000b18c:       c1 e0 02                shl    $0x2,%eax
12882 4000b18f:       8d 04 02                lea    (%edx,%eax,1),%eax
12883 4000b192:       8b 00                   mov    (%eax),%eax
12884 4000b194:       89 45 a8                mov    %eax,-0x58(%ebp)
12885 4000b197:       8b 45 a8                mov    -0x58(%ebp),%eax
12886 4000b19a:       89 45 ac                mov    %eax,-0x54(%ebp)
12887 4000b19d:       8b 45 a8                mov    -0x58(%ebp),%eax
12888 4000b1a0:       8b 40 04                mov    0x4(%eax),%eax
12889 4000b1a3:       83 e0 fc                and    $0xfffffffc,%eax
12890 4000b1a6:       2b 45 0c                sub    0xc(%ebp),%eax
12891 4000b1a9:       89 45 b0                mov    %eax,-0x50(%ebp)
12892 4000b1ac:       eb 23                   jmp    4000b1d1 <tmalloc_small+0x78>
12893 4000b1ae:       8b 45 a8                mov    -0x58(%ebp),%eax
12894 4000b1b1:       8b 40 04                mov    0x4(%eax),%eax
12895 4000b1b4:       83 e0 fc                and    $0xfffffffc,%eax
12896 4000b1b7:       2b 45 0c                sub    0xc(%ebp),%eax
12897 4000b1ba:       89 45 c0                mov    %eax,-0x40(%ebp)
12898 4000b1bd:       8b 45 c0                mov    -0x40(%ebp),%eax
12899 4000b1c0:       3b 45 b0                cmp    -0x50(%ebp),%eax
12900 4000b1c3:       73 0c                   jae    4000b1d1 <tmalloc_small+0x78>
12901 4000b1c5:       8b 45 c0                mov    -0x40(%ebp),%eax
12902 4000b1c8:       89 45 b0                mov    %eax,-0x50(%ebp)
12903 4000b1cb:       8b 45 a8                mov    -0x58(%ebp),%eax
12904 4000b1ce:       89 45 ac                mov    %eax,-0x54(%ebp)
12905 4000b1d1:       8b 45 a8                mov    -0x58(%ebp),%eax
12906 4000b1d4:       8b 40 10                mov    0x10(%eax),%eax
12907 4000b1d7:       85 c0                   test   %eax,%eax
12908 4000b1d9:       74 0b                   je     4000b1e6 <tmalloc_small+0x8d>
12909 4000b1db:       8b 45 a8                mov    -0x58(%ebp),%eax
12910 4000b1de:       8b 40 10                mov    0x10(%eax),%eax
12911 4000b1e1:       89 45 94                mov    %eax,-0x6c(%ebp)
12912 4000b1e4:       eb 09                   jmp    4000b1ef <tmalloc_small+0x96>
12913 4000b1e6:       8b 45 a8                mov    -0x58(%ebp),%eax
12914 4000b1e9:       8b 40 14                mov    0x14(%eax),%eax
12915 4000b1ec:       89 45 94                mov    %eax,-0x6c(%ebp)
12916 4000b1ef:       8b 45 94                mov    -0x6c(%ebp),%eax
12917 4000b1f2:       89 45 a8                mov    %eax,-0x58(%ebp)
12918 4000b1f5:       83 7d a8 00             cmpl   $0x0,-0x58(%ebp)
12919 4000b1f9:       75 b3                   jne    4000b1ae <tmalloc_small+0x55>
12920 4000b1fb:       8b 45 08                mov    0x8(%ebp),%eax
12921 4000b1fe:       8b 50 10                mov    0x10(%eax),%edx
12922 4000b201:       8b 45 ac                mov    -0x54(%ebp),%eax
12923 4000b204:       39 c2                   cmp    %eax,%edx
12924 4000b206:       0f 96 c0                setbe  %al
12925 4000b209:       0f b6 c0                movzbl %al,%eax
12926 4000b20c:       85 c0                   test   %eax,%eax
12927 4000b20e:       0f 84 8c 03 00 00       je     4000b5a0 <tmalloc_small+0x447>
12928 4000b214:       8b 45 ac                mov    -0x54(%ebp),%eax
12929 4000b217:       03 45 0c                add    0xc(%ebp),%eax
12930 4000b21a:       89 45 c4                mov    %eax,-0x3c(%ebp)
12931 4000b21d:       8b 55 ac                mov    -0x54(%ebp),%edx
12932 4000b220:       8b 45 c4                mov    -0x3c(%ebp),%eax
12933 4000b223:       39 c2                   cmp    %eax,%edx
12934 4000b225:       0f 92 c0                setb   %al
12935 4000b228:       0f b6 c0                movzbl %al,%eax
12936 4000b22b:       85 c0                   test   %eax,%eax
12937 4000b22d:       0f 84 6d 03 00 00       je     4000b5a0 <tmalloc_small+0x447>
12938 4000b233:       8b 45 ac                mov    -0x54(%ebp),%eax
12939 4000b236:       8b 40 18                mov    0x18(%eax),%eax
12940 4000b239:       89 45 c8                mov    %eax,-0x38(%ebp)
12941 4000b23c:       8b 45 ac                mov    -0x54(%ebp),%eax
12942 4000b23f:       8b 40 0c                mov    0xc(%eax),%eax
12943 4000b242:       3b 45 ac                cmp    -0x54(%ebp),%eax
12944 4000b245:       74 48                   je     4000b28f <tmalloc_small+0x136>
12945 4000b247:       8b 45 ac                mov    -0x54(%ebp),%eax
12946 4000b24a:       8b 40 08                mov    0x8(%eax),%eax
12947 4000b24d:       89 45 d0                mov    %eax,-0x30(%ebp)
12948 4000b250:       8b 45 ac                mov    -0x54(%ebp),%eax
12949 4000b253:       8b 40 0c                mov    0xc(%eax),%eax
12950 4000b256:       89 45 cc                mov    %eax,-0x34(%ebp)
12951 4000b259:       8b 45 08                mov    0x8(%ebp),%eax
12952 4000b25c:       8b 50 10                mov    0x10(%eax),%edx
12953 4000b25f:       8b 45 d0                mov    -0x30(%ebp),%eax
12954 4000b262:       39 c2                   cmp    %eax,%edx
12955 4000b264:       0f 96 c0                setbe  %al
12956 4000b267:       0f b6 c0                movzbl %al,%eax
12957 4000b26a:       85 c0                   test   %eax,%eax
12958 4000b26c:       74 17                   je     4000b285 <tmalloc_small+0x12c>
12959 4000b26e:       8b 55 d0                mov    -0x30(%ebp),%edx
12960 4000b271:       8b 45 cc                mov    -0x34(%ebp),%eax
12961 4000b274:       89 42 0c                mov    %eax,0xc(%edx)
12962 4000b277:       8b 55 cc                mov    -0x34(%ebp),%edx
12963 4000b27a:       8b 45 d0                mov    -0x30(%ebp),%eax
12964 4000b27d:       89 42 08                mov    %eax,0x8(%edx)
12965 4000b280:       e9 91 00 00 00          jmp    4000b316 <tmalloc_small+0x1bd>
12966 4000b285:       e8 0e 66 00 00          call   40011898 <abort>
12967 4000b28a:       e9 87 00 00 00          jmp    4000b316 <tmalloc_small+0x1bd>
12968 4000b28f:       8b 45 ac                mov    -0x54(%ebp),%eax
12969 4000b292:       83 c0 14                add    $0x14,%eax
12970 4000b295:       89 45 d4                mov    %eax,-0x2c(%ebp)
12971 4000b298:       8b 45 d4                mov    -0x2c(%ebp),%eax
12972 4000b29b:       8b 00                   mov    (%eax),%eax
12973 4000b29d:       89 45 cc                mov    %eax,-0x34(%ebp)
12974 4000b2a0:       83 7d cc 00             cmpl   $0x0,-0x34(%ebp)
12975 4000b2a4:       75 27                   jne    4000b2cd <tmalloc_small+0x174>
12976 4000b2a6:       8b 45 ac                mov    -0x54(%ebp),%eax
12977 4000b2a9:       83 c0 10                add    $0x10,%eax
12978 4000b2ac:       89 45 d4                mov    %eax,-0x2c(%ebp)
12979 4000b2af:       8b 45 d4                mov    -0x2c(%ebp),%eax
12980 4000b2b2:       8b 00                   mov    (%eax),%eax
12981 4000b2b4:       89 45 cc                mov    %eax,-0x34(%ebp)
12982 4000b2b7:       83 7d cc 00             cmpl   $0x0,-0x34(%ebp)
12983 4000b2bb:       74 59                   je     4000b316 <tmalloc_small+0x1bd>
12984 4000b2bd:       eb 0e                   jmp    4000b2cd <tmalloc_small+0x174>
12985 4000b2bf:       8b 45 d8                mov    -0x28(%ebp),%eax
12986 4000b2c2:       89 45 d4                mov    %eax,-0x2c(%ebp)
12987 4000b2c5:       8b 45 d4                mov    -0x2c(%ebp),%eax
12988 4000b2c8:       8b 00                   mov    (%eax),%eax
12989 4000b2ca:       89 45 cc                mov    %eax,-0x34(%ebp)
12990 4000b2cd:       8b 45 cc                mov    -0x34(%ebp),%eax
12991 4000b2d0:       83 c0 14                add    $0x14,%eax
12992 4000b2d3:       89 45 d8                mov    %eax,-0x28(%ebp)
12993 4000b2d6:       8b 45 d8                mov    -0x28(%ebp),%eax
12994 4000b2d9:       8b 00                   mov    (%eax),%eax
12995 4000b2db:       85 c0                   test   %eax,%eax
12996 4000b2dd:       75 e0                   jne    4000b2bf <tmalloc_small+0x166>
12997 4000b2df:       8b 45 cc                mov    -0x34(%ebp),%eax
12998 4000b2e2:       83 c0 10                add    $0x10,%eax
12999 4000b2e5:       89 45 d8                mov    %eax,-0x28(%ebp)
13000 4000b2e8:       8b 45 d8                mov    -0x28(%ebp),%eax
13001 4000b2eb:       8b 00                   mov    (%eax),%eax
13002 4000b2ed:       85 c0                   test   %eax,%eax
13003 4000b2ef:       75 ce                   jne    4000b2bf <tmalloc_small+0x166>
13004 4000b2f1:       8b 45 08                mov    0x8(%ebp),%eax
13005 4000b2f4:       8b 50 10                mov    0x10(%eax),%edx
13006 4000b2f7:       8b 45 d4                mov    -0x2c(%ebp),%eax
13007 4000b2fa:       39 c2                   cmp    %eax,%edx
13008 4000b2fc:       0f 96 c0                setbe  %al
13009 4000b2ff:       0f b6 c0                movzbl %al,%eax
13010 4000b302:       85 c0                   test   %eax,%eax
13011 4000b304:       74 0b                   je     4000b311 <tmalloc_small+0x1b8>
13012 4000b306:       8b 45 d4                mov    -0x2c(%ebp),%eax
13013 4000b309:       c7 00 00 00 00 00       movl   $0x0,(%eax)
13014 4000b30f:       eb 05                   jmp    4000b316 <tmalloc_small+0x1bd>
13015 4000b311:       e8 82 65 00 00          call   40011898 <abort>
13016 4000b316:       83 7d c8 00             cmpl   $0x0,-0x38(%ebp)
13017 4000b31a:       0f 84 3c 01 00 00       je     4000b45c <tmalloc_small+0x303>
13018 4000b320:       8b 45 08                mov    0x8(%ebp),%eax
13019 4000b323:       8d 90 2c 01 00 00       lea    0x12c(%eax),%edx
13020 4000b329:       8b 45 ac                mov    -0x54(%ebp),%eax
13021 4000b32c:       8b 40 1c                mov    0x1c(%eax),%eax
13022 4000b32f:       c1 e0 02                shl    $0x2,%eax
13023 4000b332:       8d 04 02                lea    (%edx,%eax,1),%eax
13024 4000b335:       89 45 dc                mov    %eax,-0x24(%ebp)
13025 4000b338:       8b 45 dc                mov    -0x24(%ebp),%eax
13026 4000b33b:       8b 00                   mov    (%eax),%eax
13027 4000b33d:       3b 45 ac                cmp    -0x54(%ebp),%eax
13028 4000b340:       75 32                   jne    4000b374 <tmalloc_small+0x21b>
13029 4000b342:       8b 55 dc                mov    -0x24(%ebp),%edx
13030 4000b345:       8b 45 cc                mov    -0x34(%ebp),%eax
13031 4000b348:       89 02                   mov    %eax,(%edx)
13032 4000b34a:       8b 45 dc                mov    -0x24(%ebp),%eax
13033 4000b34d:       8b 00                   mov    (%eax),%eax
13034 4000b34f:       85 c0                   test   %eax,%eax
13035 4000b351:       75 5c                   jne    4000b3af <tmalloc_small+0x256>
13036 4000b353:       8b 45 08                mov    0x8(%ebp),%eax
13037 4000b356:       8b 50 04                mov    0x4(%eax),%edx
13038 4000b359:       8b 45 ac                mov    -0x54(%ebp),%eax
13039 4000b35c:       8b 40 1c                mov    0x1c(%eax),%eax
13040 4000b35f:       89 c1                   mov    %eax,%ecx
13041 4000b361:       b8 01 00 00 00          mov    $0x1,%eax
13042 4000b366:       d3 e0                   shl    %cl,%eax
13043 4000b368:       f7 d0                   not    %eax
13044 4000b36a:       21 c2                   and    %eax,%edx
13045 4000b36c:       8b 45 08                mov    0x8(%ebp),%eax
13046 4000b36f:       89 50 04                mov    %edx,0x4(%eax)
13047 4000b372:       eb 3b                   jmp    4000b3af <tmalloc_small+0x256>
13048 4000b374:       8b 45 08                mov    0x8(%ebp),%eax
13049 4000b377:       8b 50 10                mov    0x10(%eax),%edx
13050 4000b37a:       8b 45 c8                mov    -0x38(%ebp),%eax
13051 4000b37d:       39 c2                   cmp    %eax,%edx
13052 4000b37f:       0f 96 c0                setbe  %al
13053 4000b382:       0f b6 c0                movzbl %al,%eax
13054 4000b385:       85 c0                   test   %eax,%eax
13055 4000b387:       74 21                   je     4000b3aa <tmalloc_small+0x251>
13056 4000b389:       8b 45 c8                mov    -0x38(%ebp),%eax
13057 4000b38c:       8b 40 10                mov    0x10(%eax),%eax
13058 4000b38f:       3b 45 ac                cmp    -0x54(%ebp),%eax
13059 4000b392:       75 0b                   jne    4000b39f <tmalloc_small+0x246>
13060 4000b394:       8b 55 c8                mov    -0x38(%ebp),%edx
13061 4000b397:       8b 45 cc                mov    -0x34(%ebp),%eax
13062 4000b39a:       89 42 10                mov    %eax,0x10(%edx)
13063 4000b39d:       eb 10                   jmp    4000b3af <tmalloc_small+0x256>
13064 4000b39f:       8b 55 c8                mov    -0x38(%ebp),%edx
13065 4000b3a2:       8b 45 cc                mov    -0x34(%ebp),%eax
13066 4000b3a5:       89 42 14                mov    %eax,0x14(%edx)
13067 4000b3a8:       eb 05                   jmp    4000b3af <tmalloc_small+0x256>
13068 4000b3aa:       e8 e9 64 00 00          call   40011898 <abort>
13069 4000b3af:       83 7d cc 00             cmpl   $0x0,-0x34(%ebp)
13070 4000b3b3:       0f 84 a3 00 00 00       je     4000b45c <tmalloc_small+0x303>
13071 4000b3b9:       8b 45 08                mov    0x8(%ebp),%eax
13072 4000b3bc:       8b 50 10                mov    0x10(%eax),%edx
13073 4000b3bf:       8b 45 cc                mov    -0x34(%ebp),%eax
13074 4000b3c2:       39 c2                   cmp    %eax,%edx
13075 4000b3c4:       0f 96 c0                setbe  %al
13076 4000b3c7:       0f b6 c0                movzbl %al,%eax
13077 4000b3ca:       85 c0                   test   %eax,%eax
13078 4000b3cc:       0f 84 85 00 00 00       je     4000b457 <tmalloc_small+0x2fe>
13079 4000b3d2:       8b 55 cc                mov    -0x34(%ebp),%edx
13080 4000b3d5:       8b 45 c8                mov    -0x38(%ebp),%eax
13081 4000b3d8:       89 42 18                mov    %eax,0x18(%edx)
13082 4000b3db:       8b 45 ac                mov    -0x54(%ebp),%eax
13083 4000b3de:       8b 40 10                mov    0x10(%eax),%eax
13084 4000b3e1:       89 45 e0                mov    %eax,-0x20(%ebp)
13085 4000b3e4:       83 7d e0 00             cmpl   $0x0,-0x20(%ebp)
13086 4000b3e8:       74 2e                   je     4000b418 <tmalloc_small+0x2bf>
13087 4000b3ea:       8b 45 08                mov    0x8(%ebp),%eax
13088 4000b3ed:       8b 50 10                mov    0x10(%eax),%edx
13089 4000b3f0:       8b 45 e0                mov    -0x20(%ebp),%eax
13090 4000b3f3:       39 c2                   cmp    %eax,%edx
13091 4000b3f5:       0f 96 c0                setbe  %al
13092 4000b3f8:       0f b6 c0                movzbl %al,%eax
13093 4000b3fb:       85 c0                   test   %eax,%eax
13094 4000b3fd:       74 14                   je     4000b413 <tmalloc_small+0x2ba>
13095 4000b3ff:       8b 55 cc                mov    -0x34(%ebp),%edx
13096 4000b402:       8b 45 e0                mov    -0x20(%ebp),%eax
13097 4000b405:       89 42 10                mov    %eax,0x10(%edx)
13098 4000b408:       8b 55 e0                mov    -0x20(%ebp),%edx
13099 4000b40b:       8b 45 cc                mov    -0x34(%ebp),%eax
13100 4000b40e:       89 42 18                mov    %eax,0x18(%edx)
13101 4000b411:       eb 05                   jmp    4000b418 <tmalloc_small+0x2bf>
13102 4000b413:       e8 80 64 00 00          call   40011898 <abort>
13103 4000b418:       8b 45 ac                mov    -0x54(%ebp),%eax
13104 4000b41b:       8b 40 14                mov    0x14(%eax),%eax
13105 4000b41e:       89 45 e4                mov    %eax,-0x1c(%ebp)
13106 4000b421:       83 7d e4 00             cmpl   $0x0,-0x1c(%ebp)
13107 4000b425:       74 35                   je     4000b45c <tmalloc_small+0x303>
13108 4000b427:       8b 45 08                mov    0x8(%ebp),%eax
13109 4000b42a:       8b 50 10                mov    0x10(%eax),%edx
13110 4000b42d:       8b 45 e4                mov    -0x1c(%ebp),%eax
13111 4000b430:       39 c2                   cmp    %eax,%edx
13112 4000b432:       0f 96 c0                setbe  %al
13113 4000b435:       0f b6 c0                movzbl %al,%eax
13114 4000b438:       85 c0                   test   %eax,%eax
13115 4000b43a:       74 14                   je     4000b450 <tmalloc_small+0x2f7>
13116 4000b43c:       8b 55 cc                mov    -0x34(%ebp),%edx
13117 4000b43f:       8b 45 e4                mov    -0x1c(%ebp),%eax
13118 4000b442:       89 42 14                mov    %eax,0x14(%edx)
13119 4000b445:       8b 55 e4                mov    -0x1c(%ebp),%edx
13120 4000b448:       8b 45 cc                mov    -0x34(%ebp),%eax
13121 4000b44b:       89 42 18                mov    %eax,0x18(%edx)
13122 4000b44e:       eb 0c                   jmp    4000b45c <tmalloc_small+0x303>
13123 4000b450:       e8 43 64 00 00          call   40011898 <abort>
13124 4000b455:       eb 05                   jmp    4000b45c <tmalloc_small+0x303>
13125 4000b457:       e8 3c 64 00 00          call   40011898 <abort>
13126 4000b45c:       83 7d b0 0f             cmpl   $0xf,-0x50(%ebp)
13127 4000b460:       77 3d                   ja     4000b49f <tmalloc_small+0x346>
13128 4000b462:       8b 55 0c                mov    0xc(%ebp),%edx
13129 4000b465:       8b 45 b0                mov    -0x50(%ebp),%eax
13130 4000b468:       01 d0                   add    %edx,%eax
13131 4000b46a:       89 c2                   mov    %eax,%edx
13132 4000b46c:       83 ca 03                or     $0x3,%edx
13133 4000b46f:       8b 45 ac                mov    -0x54(%ebp),%eax
13134 4000b472:       89 50 04                mov    %edx,0x4(%eax)
13135 4000b475:       8b 4d ac                mov    -0x54(%ebp),%ecx
13136 4000b478:       8b 55 0c                mov    0xc(%ebp),%edx
13137 4000b47b:       8b 45 b0                mov    -0x50(%ebp),%eax
13138 4000b47e:       01 d0                   add    %edx,%eax
13139 4000b480:       8d 1c 01                lea    (%ecx,%eax,1),%ebx
13140 4000b483:       8b 4d ac                mov    -0x54(%ebp),%ecx
13141 4000b486:       8b 55 0c                mov    0xc(%ebp),%edx
13142 4000b489:       8b 45 b0                mov    -0x50(%ebp),%eax
13143 4000b48c:       01 d0                   add    %edx,%eax
13144 4000b48e:       8d 04 01                lea    (%ecx,%eax,1),%eax
13145 4000b491:       8b 40 04                mov    0x4(%eax),%eax
13146 4000b494:       83 c8 01                or     $0x1,%eax
13147 4000b497:       89 43 04                mov    %eax,0x4(%ebx)
13148 4000b49a:       e9 f6 00 00 00          jmp    4000b595 <tmalloc_small+0x43c>
13149 4000b49f:       8b 45 0c                mov    0xc(%ebp),%eax
13150 4000b4a2:       89 c2                   mov    %eax,%edx
13151 4000b4a4:       83 ca 03                or     $0x3,%edx
13152 4000b4a7:       8b 45 ac                mov    -0x54(%ebp),%eax
13153 4000b4aa:       89 50 04                mov    %edx,0x4(%eax)
13154 4000b4ad:       8b 45 b0                mov    -0x50(%ebp),%eax
13155 4000b4b0:       89 c2                   mov    %eax,%edx
13156 4000b4b2:       83 ca 01                or     $0x1,%edx
13157 4000b4b5:       8b 45 c4                mov    -0x3c(%ebp),%eax
13158 4000b4b8:       89 50 04                mov    %edx,0x4(%eax)
13159 4000b4bb:       8b 55 b0                mov    -0x50(%ebp),%edx
13160 4000b4be:       8b 45 c4                mov    -0x3c(%ebp),%eax
13161 4000b4c1:       8d 14 10                lea    (%eax,%edx,1),%edx
13162 4000b4c4:       8b 45 b0                mov    -0x50(%ebp),%eax
13163 4000b4c7:       89 02                   mov    %eax,(%edx)
13164 4000b4c9:       8b 45 08                mov    0x8(%ebp),%eax
13165 4000b4cc:       8b 40 08                mov    0x8(%eax),%eax
13166 4000b4cf:       89 45 e8                mov    %eax,-0x18(%ebp)
13167 4000b4d2:       83 7d e8 00             cmpl   $0x0,-0x18(%ebp)
13168 4000b4d6:       0f 84 a7 00 00 00       je     4000b583 <tmalloc_small+0x42a>
13169 4000b4dc:       8b 45 08                mov    0x8(%ebp),%eax
13170 4000b4df:       8b 40 14                mov    0x14(%eax),%eax
13171 4000b4e2:       89 45 ec                mov    %eax,-0x14(%ebp)
13172 4000b4e5:       8b 45 e8                mov    -0x18(%ebp),%eax
13173 4000b4e8:       c1 e8 03                shr    $0x3,%eax
13174 4000b4eb:       89 45 f0                mov    %eax,-0x10(%ebp)
13175 4000b4ee:       8b 45 08                mov    0x8(%ebp),%eax
13176 4000b4f1:       83 c0 24                add    $0x24,%eax
13177 4000b4f4:       89 c2                   mov    %eax,%edx
13178 4000b4f6:       8b 45 f0                mov    -0x10(%ebp),%eax
13179 4000b4f9:       c1 e0 03                shl    $0x3,%eax
13180 4000b4fc:       8d 04 02                lea    (%edx,%eax,1),%eax
13181 4000b4ff:       89 45 f4                mov    %eax,-0xc(%ebp)
13182 4000b502:       8b 45 f4                mov    -0xc(%ebp),%eax
13183 4000b505:       89 45 f8                mov    %eax,-0x8(%ebp)
13184 4000b508:       8b 45 08                mov    0x8(%ebp),%eax
13185 4000b50b:       8b 10                   mov    (%eax),%edx
13186 4000b50d:       8b 4d f0                mov    -0x10(%ebp),%ecx
13187 4000b510:       b8 01 00 00 00          mov    $0x1,%eax
13188 4000b515:       d3 e0                   shl    %cl,%eax
13189 4000b517:       21 d0                   and    %edx,%eax
13190 4000b519:       85 c0                   test   %eax,%eax
13191 4000b51b:       75 18                   jne    4000b535 <tmalloc_small+0x3dc>
13192 4000b51d:       8b 45 08                mov    0x8(%ebp),%eax
13193 4000b520:       8b 10                   mov    (%eax),%edx
13194 4000b522:       8b 4d f0                mov    -0x10(%ebp),%ecx
13195 4000b525:       b8 01 00 00 00          mov    $0x1,%eax
13196 4000b52a:       d3 e0                   shl    %cl,%eax
13197 4000b52c:       09 c2                   or     %eax,%edx
13198 4000b52e:       8b 45 08                mov    0x8(%ebp),%eax
13199 4000b531:       89 10                   mov    %edx,(%eax)
13200 4000b533:       eb 2a                   jmp    4000b55f <tmalloc_small+0x406>
13201 4000b535:       8b 45 f4                mov    -0xc(%ebp),%eax
13202 4000b538:       8b 40 08                mov    0x8(%eax),%eax
13203 4000b53b:       89 c2                   mov    %eax,%edx
13204 4000b53d:       8b 45 08                mov    0x8(%ebp),%eax
13205 4000b540:       8b 40 10                mov    0x10(%eax),%eax
13206 4000b543:       39 c2                   cmp    %eax,%edx
13207 4000b545:       0f 93 c0                setae  %al
13208 4000b548:       0f b6 c0                movzbl %al,%eax
13209 4000b54b:       85 c0                   test   %eax,%eax
13210 4000b54d:       74 0b                   je     4000b55a <tmalloc_small+0x401>
13211 4000b54f:       8b 45 f4                mov    -0xc(%ebp),%eax
13212 4000b552:       8b 40 08                mov    0x8(%eax),%eax
13213 4000b555:       89 45 f8                mov    %eax,-0x8(%ebp)
13214 4000b558:       eb 05                   jmp    4000b55f <tmalloc_small+0x406>
13215 4000b55a:       e8 39 63 00 00          call   40011898 <abort>
13216 4000b55f:       8b 55 f4                mov    -0xc(%ebp),%edx
13217 4000b562:       8b 45 ec                mov    -0x14(%ebp),%eax
13218 4000b565:       89 42 08                mov    %eax,0x8(%edx)
13219 4000b568:       8b 55 f8                mov    -0x8(%ebp),%edx
13220 4000b56b:       8b 45 ec                mov    -0x14(%ebp),%eax
13221 4000b56e:       89 42 0c                mov    %eax,0xc(%edx)
13222 4000b571:       8b 55 ec                mov    -0x14(%ebp),%edx
13223 4000b574:       8b 45 f8                mov    -0x8(%ebp),%eax
13224 4000b577:       89 42 08                mov    %eax,0x8(%edx)
13225 4000b57a:       8b 55 ec                mov    -0x14(%ebp),%edx
13226 4000b57d:       8b 45 f4                mov    -0xc(%ebp),%eax
13227 4000b580:       89 42 0c                mov    %eax,0xc(%edx)
13228 4000b583:       8b 55 08                mov    0x8(%ebp),%edx
13229 4000b586:       8b 45 b0                mov    -0x50(%ebp),%eax
13230 4000b589:       89 42 08                mov    %eax,0x8(%edx)
13231 4000b58c:       8b 55 08                mov    0x8(%ebp),%edx
13232 4000b58f:       8b 45 c4                mov    -0x3c(%ebp),%eax
13233 4000b592:       89 42 14                mov    %eax,0x14(%edx)
13234 4000b595:       8b 45 ac                mov    -0x54(%ebp),%eax
13235 4000b598:       83 c0 08                add    $0x8,%eax
13236 4000b59b:       89 45 98                mov    %eax,-0x68(%ebp)
13237 4000b59e:       eb 0c                   jmp    4000b5ac <tmalloc_small+0x453>
13238 4000b5a0:       e8 f3 62 00 00          call   40011898 <abort>
13239 4000b5a5:       c7 45 98 00 00 00 00    movl   $0x0,-0x68(%ebp)
13240 4000b5ac:       8b 45 98                mov    -0x68(%ebp),%eax
13241 4000b5af:       83 c4 74                add    $0x74,%esp
13242 4000b5b2:       5b                      pop    %ebx
13243 4000b5b3:       5d                      pop    %ebp
13244 4000b5b4:       c3                      ret    
13246 4000b5b5 <internal_realloc>:
13247 4000b5b5:       55                      push   %ebp
13248 4000b5b6:       89 e5                   mov    %esp,%ebp
13249 4000b5b8:       83 ec 68                sub    $0x68,%esp
13250 4000b5bb:       83 7d 10 bf             cmpl   $0xffffffbf,0x10(%ebp)
13251 4000b5bf:       76 16                   jbe    4000b5d7 <internal_realloc+0x22>
13252 4000b5c1:       c7 05 54 59 01 40 31    movl   $0x31,0x40015954
13253 4000b5c8:       00 00 00 
13254 4000b5cb:       c7 45 ac 00 00 00 00    movl   $0x0,-0x54(%ebp)
13255 4000b5d2:       e9 99 02 00 00          jmp    4000b870 <internal_realloc+0x2bb>
13256 4000b5d7:       8b 45 0c                mov    0xc(%ebp),%eax
13257 4000b5da:       83 e8 08                sub    $0x8,%eax
13258 4000b5dd:       89 45 cc                mov    %eax,-0x34(%ebp)
13259 4000b5e0:       8b 45 cc                mov    -0x34(%ebp),%eax
13260 4000b5e3:       8b 40 04                mov    0x4(%eax),%eax
13261 4000b5e6:       83 e0 fc                and    $0xfffffffc,%eax
13262 4000b5e9:       89 45 d0                mov    %eax,-0x30(%ebp)
13263 4000b5ec:       8b 55 d0                mov    -0x30(%ebp),%edx
13264 4000b5ef:       8b 45 cc                mov    -0x34(%ebp),%eax
13265 4000b5f2:       01 d0                   add    %edx,%eax
13266 4000b5f4:       89 45 d4                mov    %eax,-0x2c(%ebp)
13267 4000b5f7:       c7 45 d8 00 00 00 00    movl   $0x0,-0x28(%ebp)
13268 4000b5fe:       c7 45 dc 00 00 00 00    movl   $0x0,-0x24(%ebp)
13269 4000b605:       8b 45 08                mov    0x8(%ebp),%eax
13270 4000b608:       8b 50 10                mov    0x10(%eax),%edx
13271 4000b60b:       8b 45 cc                mov    -0x34(%ebp),%eax
13272 4000b60e:       39 c2                   cmp    %eax,%edx
13273 4000b610:       0f 96 c0                setbe  %al
13274 4000b613:       0f b6 c0                movzbl %al,%eax
13275 4000b616:       85 c0                   test   %eax,%eax
13276 4000b618:       74 1e                   je     4000b638 <internal_realloc+0x83>
13277 4000b61a:       8b 45 cc                mov    -0x34(%ebp),%eax
13278 4000b61d:       8b 40 04                mov    0x4(%eax),%eax
13279 4000b620:       83 e0 02                and    $0x2,%eax
13280 4000b623:       85 c0                   test   %eax,%eax
13281 4000b625:       0f 95 c0                setne  %al
13282 4000b628:       0f b6 c0                movzbl %al,%eax
13283 4000b62b:       85 c0                   test   %eax,%eax
13284 4000b62d:       74 09                   je     4000b638 <internal_realloc+0x83>
13285 4000b62f:       c7 45 b4 01 00 00 00    movl   $0x1,-0x4c(%ebp)
13286 4000b636:       eb 07                   jmp    4000b63f <internal_realloc+0x8a>
13287 4000b638:       c7 45 b4 00 00 00 00    movl   $0x0,-0x4c(%ebp)
13288 4000b63f:       83 7d b4 00             cmpl   $0x0,-0x4c(%ebp)
13289 4000b643:       74 1b                   je     4000b660 <internal_realloc+0xab>
13290 4000b645:       8b 55 cc                mov    -0x34(%ebp),%edx
13291 4000b648:       8b 45 d4                mov    -0x2c(%ebp),%eax
13292 4000b64b:       39 c2                   cmp    %eax,%edx
13293 4000b64d:       0f 92 c0                setb   %al
13294 4000b650:       0f b6 c0                movzbl %al,%eax
13295 4000b653:       85 c0                   test   %eax,%eax
13296 4000b655:       74 09                   je     4000b660 <internal_realloc+0xab>
13297 4000b657:       c7 45 b0 01 00 00 00    movl   $0x1,-0x50(%ebp)
13298 4000b65e:       eb 07                   jmp    4000b667 <internal_realloc+0xb2>
13299 4000b660:       c7 45 b0 00 00 00 00    movl   $0x0,-0x50(%ebp)
13300 4000b667:       83 7d b0 00             cmpl   $0x0,-0x50(%ebp)
13301 4000b66b:       0f 84 74 01 00 00       je     4000b7e5 <internal_realloc+0x230>
13302 4000b671:       8b 45 d4                mov    -0x2c(%ebp),%eax
13303 4000b674:       8b 40 04                mov    0x4(%eax),%eax
13304 4000b677:       83 e0 01                and    $0x1,%eax
13305 4000b67a:       85 c0                   test   %eax,%eax
13306 4000b67c:       0f 84 63 01 00 00       je     4000b7e5 <internal_realloc+0x230>
13307 4000b682:       83 7d 10 0a             cmpl   $0xa,0x10(%ebp)
13308 4000b686:       76 10                   jbe    4000b698 <internal_realloc+0xe3>
13309 4000b688:       8b 45 10                mov    0x10(%ebp),%eax
13310 4000b68b:       83 c0 0b                add    $0xb,%eax
13311 4000b68e:       89 c2                   mov    %eax,%edx
13312 4000b690:       83 e2 f8                and    $0xfffffff8,%edx
13313 4000b693:       89 55 b8                mov    %edx,-0x48(%ebp)
13314 4000b696:       eb 07                   jmp    4000b69f <internal_realloc+0xea>
13315 4000b698:       c7 45 b8 10 00 00 00    movl   $0x10,-0x48(%ebp)
13316 4000b69f:       8b 45 b8                mov    -0x48(%ebp),%eax
13317 4000b6a2:       89 45 e0                mov    %eax,-0x20(%ebp)
13318 4000b6a5:       8b 45 d0                mov    -0x30(%ebp),%eax
13319 4000b6a8:       3b 45 e0                cmp    -0x20(%ebp),%eax
13320 4000b6ab:       0f 82 96 00 00 00       jb     4000b747 <internal_realloc+0x192>
13321 4000b6b1:       8b 55 e0                mov    -0x20(%ebp),%edx
13322 4000b6b4:       8b 45 d0                mov    -0x30(%ebp),%eax
13323 4000b6b7:       29 d0                   sub    %edx,%eax
13324 4000b6b9:       89 45 e4                mov    %eax,-0x1c(%ebp)
13325 4000b6bc:       8b 45 cc                mov    -0x34(%ebp),%eax
13326 4000b6bf:       89 45 d8                mov    %eax,-0x28(%ebp)
13327 4000b6c2:       83 7d e4 0f             cmpl   $0xf,-0x1c(%ebp)
13328 4000b6c6:       0f 86 11 01 00 00       jbe    4000b7dd <internal_realloc+0x228>
13329 4000b6cc:       8b 55 e0                mov    -0x20(%ebp),%edx
13330 4000b6cf:       8b 45 d8                mov    -0x28(%ebp),%eax
13331 4000b6d2:       01 d0                   add    %edx,%eax
13332 4000b6d4:       89 45 e8                mov    %eax,-0x18(%ebp)
13333 4000b6d7:       8b 45 d8                mov    -0x28(%ebp),%eax
13334 4000b6da:       8b 40 04                mov    0x4(%eax),%eax
13335 4000b6dd:       83 e0 01                and    $0x1,%eax
13336 4000b6e0:       0b 45 e0                or     -0x20(%ebp),%eax
13337 4000b6e3:       89 c2                   mov    %eax,%edx
13338 4000b6e5:       83 ca 02                or     $0x2,%edx
13339 4000b6e8:       8b 45 d8                mov    -0x28(%ebp),%eax
13340 4000b6eb:       89 50 04                mov    %edx,0x4(%eax)
13341 4000b6ee:       8b 55 e0                mov    -0x20(%ebp),%edx
13342 4000b6f1:       8b 45 d8                mov    -0x28(%ebp),%eax
13343 4000b6f4:       8d 0c 10                lea    (%eax,%edx,1),%ecx
13344 4000b6f7:       8b 55 e0                mov    -0x20(%ebp),%edx
13345 4000b6fa:       8b 45 d8                mov    -0x28(%ebp),%eax
13346 4000b6fd:       01 d0                   add    %edx,%eax
13347 4000b6ff:       8b 40 04                mov    0x4(%eax),%eax
13348 4000b702:       83 c8 01                or     $0x1,%eax
13349 4000b705:       89 41 04                mov    %eax,0x4(%ecx)
13350 4000b708:       8b 45 e8                mov    -0x18(%ebp),%eax
13351 4000b70b:       8b 40 04                mov    0x4(%eax),%eax
13352 4000b70e:       83 e0 01                and    $0x1,%eax
13353 4000b711:       0b 45 e4                or     -0x1c(%ebp),%eax
13354 4000b714:       89 c2                   mov    %eax,%edx
13355 4000b716:       83 ca 02                or     $0x2,%edx
13356 4000b719:       8b 45 e8                mov    -0x18(%ebp),%eax
13357 4000b71c:       89 50 04                mov    %edx,0x4(%eax)
13358 4000b71f:       8b 55 e4                mov    -0x1c(%ebp),%edx
13359 4000b722:       8b 45 e8                mov    -0x18(%ebp),%eax
13360 4000b725:       8d 0c 10                lea    (%eax,%edx,1),%ecx
13361 4000b728:       8b 55 e4                mov    -0x1c(%ebp),%edx
13362 4000b72b:       8b 45 e8                mov    -0x18(%ebp),%eax
13363 4000b72e:       01 d0                   add    %edx,%eax
13364 4000b730:       8b 40 04                mov    0x4(%eax),%eax
13365 4000b733:       83 c8 01                or     $0x1,%eax
13366 4000b736:       89 41 04                mov    %eax,0x4(%ecx)
13367 4000b739:       8b 45 e8                mov    -0x18(%ebp),%eax
13368 4000b73c:       83 c0 08                add    $0x8,%eax
13369 4000b73f:       89 45 dc                mov    %eax,-0x24(%ebp)
13370 4000b742:       e9 96 00 00 00          jmp    4000b7dd <internal_realloc+0x228>
13371 4000b747:       8b 45 08                mov    0x8(%ebp),%eax
13372 4000b74a:       8b 40 18                mov    0x18(%eax),%eax
13373 4000b74d:       3b 45 d4                cmp    -0x2c(%ebp),%eax
13374 4000b750:       0f 85 87 00 00 00       jne    4000b7dd <internal_realloc+0x228>
13375 4000b756:       8b 45 08                mov    0x8(%ebp),%eax
13376 4000b759:       8b 40 0c                mov    0xc(%eax),%eax
13377 4000b75c:       03 45 d0                add    -0x30(%ebp),%eax
13378 4000b75f:       3b 45 e0                cmp    -0x20(%ebp),%eax
13379 4000b762:       76 79                   jbe    4000b7dd <internal_realloc+0x228>
13380 4000b764:       8b 45 08                mov    0x8(%ebp),%eax
13381 4000b767:       8b 40 0c                mov    0xc(%eax),%eax
13382 4000b76a:       03 45 d0                add    -0x30(%ebp),%eax
13383 4000b76d:       89 45 ec                mov    %eax,-0x14(%ebp)
13384 4000b770:       8b 55 e0                mov    -0x20(%ebp),%edx
13385 4000b773:       8b 45 ec                mov    -0x14(%ebp),%eax
13386 4000b776:       29 d0                   sub    %edx,%eax
13387 4000b778:       89 45 f0                mov    %eax,-0x10(%ebp)
13388 4000b77b:       8b 55 e0                mov    -0x20(%ebp),%edx
13389 4000b77e:       8b 45 cc                mov    -0x34(%ebp),%eax
13390 4000b781:       01 d0                   add    %edx,%eax
13391 4000b783:       89 45 f4                mov    %eax,-0xc(%ebp)
13392 4000b786:       8b 45 cc                mov    -0x34(%ebp),%eax
13393 4000b789:       8b 40 04                mov    0x4(%eax),%eax
13394 4000b78c:       83 e0 01                and    $0x1,%eax
13395 4000b78f:       0b 45 e0                or     -0x20(%ebp),%eax
13396 4000b792:       89 c2                   mov    %eax,%edx
13397 4000b794:       83 ca 02                or     $0x2,%edx
13398 4000b797:       8b 45 cc                mov    -0x34(%ebp),%eax
13399 4000b79a:       89 50 04                mov    %edx,0x4(%eax)
13400 4000b79d:       8b 55 e0                mov    -0x20(%ebp),%edx
13401 4000b7a0:       8b 45 cc                mov    -0x34(%ebp),%eax
13402 4000b7a3:       8d 0c 10                lea    (%eax,%edx,1),%ecx
13403 4000b7a6:       8b 55 e0                mov    -0x20(%ebp),%edx
13404 4000b7a9:       8b 45 cc                mov    -0x34(%ebp),%eax
13405 4000b7ac:       01 d0                   add    %edx,%eax
13406 4000b7ae:       8b 40 04                mov    0x4(%eax),%eax
13407 4000b7b1:       83 c8 01                or     $0x1,%eax
13408 4000b7b4:       89 41 04                mov    %eax,0x4(%ecx)
13409 4000b7b7:       8b 45 f0                mov    -0x10(%ebp),%eax
13410 4000b7ba:       89 c2                   mov    %eax,%edx
13411 4000b7bc:       83 ca 01                or     $0x1,%edx
13412 4000b7bf:       8b 45 f4                mov    -0xc(%ebp),%eax
13413 4000b7c2:       89 50 04                mov    %edx,0x4(%eax)
13414 4000b7c5:       8b 55 08                mov    0x8(%ebp),%edx
13415 4000b7c8:       8b 45 f4                mov    -0xc(%ebp),%eax
13416 4000b7cb:       89 42 18                mov    %eax,0x18(%edx)
13417 4000b7ce:       8b 55 08                mov    0x8(%ebp),%edx
13418 4000b7d1:       8b 45 f0                mov    -0x10(%ebp),%eax
13419 4000b7d4:       89 42 0c                mov    %eax,0xc(%edx)
13420 4000b7d7:       8b 45 cc                mov    -0x34(%ebp),%eax
13421 4000b7da:       89 45 d8                mov    %eax,-0x28(%ebp)
13422 4000b7dd:       83 7d d8 00             cmpl   $0x0,-0x28(%ebp)
13423 4000b7e1:       75 10                   jne    4000b7f3 <internal_realloc+0x23e>
13424 4000b7e3:       eb 2a                   jmp    4000b80f <internal_realloc+0x25a>
13425 4000b7e5:       e8 ae 60 00 00          call   40011898 <abort>
13426 4000b7ea:       c7 45 ac 00 00 00 00    movl   $0x0,-0x54(%ebp)
13427 4000b7f1:       eb 7d                   jmp    4000b870 <internal_realloc+0x2bb>
13428 4000b7f3:       83 7d dc 00             cmpl   $0x0,-0x24(%ebp)
13429 4000b7f7:       74 0b                   je     4000b804 <internal_realloc+0x24f>
13430 4000b7f9:       8b 45 dc                mov    -0x24(%ebp),%eax
13431 4000b7fc:       89 04 24                mov    %eax,(%esp)
13432 4000b7ff:       e8 57 0a 00 00          call   4000c25b <free>
13433 4000b804:       8b 45 d8                mov    -0x28(%ebp),%eax
13434 4000b807:       83 c0 08                add    $0x8,%eax
13435 4000b80a:       89 45 ac                mov    %eax,-0x54(%ebp)
13436 4000b80d:       eb 61                   jmp    4000b870 <internal_realloc+0x2bb>
13437 4000b80f:       8b 45 10                mov    0x10(%ebp),%eax
13438 4000b812:       89 04 24                mov    %eax,(%esp)
13439 4000b815:       e8 8a 05 00 00          call   4000bda4 <malloc>
13440 4000b81a:       89 45 f8                mov    %eax,-0x8(%ebp)
13441 4000b81d:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
13442 4000b821:       74 47                   je     4000b86a <internal_realloc+0x2b5>
13443 4000b823:       8b 45 d0                mov    -0x30(%ebp),%eax
13444 4000b826:       83 e8 04                sub    $0x4,%eax
13445 4000b829:       89 45 fc                mov    %eax,-0x4(%ebp)
13446 4000b82c:       8b 55 fc                mov    -0x4(%ebp),%edx
13447 4000b82f:       89 55 a8                mov    %edx,-0x58(%ebp)
13448 4000b832:       8b 45 10                mov    0x10(%ebp),%eax
13449 4000b835:       89 45 bc                mov    %eax,-0x44(%ebp)
13450 4000b838:       8b 55 a8                mov    -0x58(%ebp),%edx
13451 4000b83b:       39 55 bc                cmp    %edx,-0x44(%ebp)
13452 4000b83e:       76 06                   jbe    4000b846 <internal_realloc+0x291>
13453 4000b840:       8b 45 a8                mov    -0x58(%ebp),%eax
13454 4000b843:       89 45 bc                mov    %eax,-0x44(%ebp)
13455 4000b846:       8b 55 bc                mov    -0x44(%ebp),%edx
13456 4000b849:       89 54 24 08             mov    %edx,0x8(%esp)
13457 4000b84d:       8b 45 0c                mov    0xc(%ebp),%eax
13458 4000b850:       89 44 24 04             mov    %eax,0x4(%esp)
13459 4000b854:       8b 45 f8                mov    -0x8(%ebp),%eax
13460 4000b857:       89 04 24                mov    %eax,(%esp)
13461 4000b85a:       e8 a1 38 00 00          call   4000f100 <memcpy>
13462 4000b85f:       8b 45 0c                mov    0xc(%ebp),%eax
13463 4000b862:       89 04 24                mov    %eax,(%esp)
13464 4000b865:       e8 f1 09 00 00          call   4000c25b <free>
13465 4000b86a:       8b 45 f8                mov    -0x8(%ebp),%eax
13466 4000b86d:       89 45 ac                mov    %eax,-0x54(%ebp)
13467 4000b870:       8b 45 ac                mov    -0x54(%ebp),%eax
13468 4000b873:       c9                      leave  
13469 4000b874:       c3                      ret    
13471 4000b875 <internal_memalign>:
13472 4000b875:       55                      push   %ebp
13473 4000b876:       89 e5                   mov    %esp,%ebp
13474 4000b878:       83 ec 58                sub    $0x58,%esp
13475 4000b87b:       83 7d 0c 08             cmpl   $0x8,0xc(%ebp)
13476 4000b87f:       77 13                   ja     4000b894 <internal_memalign+0x1f>
13477 4000b881:       8b 45 10                mov    0x10(%ebp),%eax
13478 4000b884:       89 04 24                mov    %eax,(%esp)
13479 4000b887:       e8 18 05 00 00          call   4000bda4 <malloc>
13480 4000b88c:       89 45 b4                mov    %eax,-0x4c(%ebp)
13481 4000b88f:       e9 7c 02 00 00          jmp    4000bb10 <internal_memalign+0x29b>
13482 4000b894:       83 7d 0c 0f             cmpl   $0xf,0xc(%ebp)
13483 4000b898:       77 07                   ja     4000b8a1 <internal_memalign+0x2c>
13484 4000b89a:       c7 45 0c 10 00 00 00    movl   $0x10,0xc(%ebp)
13485 4000b8a1:       8b 45 0c                mov    0xc(%ebp),%eax
13486 4000b8a4:       83 e8 01                sub    $0x1,%eax
13487 4000b8a7:       23 45 0c                and    0xc(%ebp),%eax
13488 4000b8aa:       85 c0                   test   %eax,%eax
13489 4000b8ac:       74 1a                   je     4000b8c8 <internal_memalign+0x53>
13490 4000b8ae:       c7 45 c4 10 00 00 00    movl   $0x10,-0x3c(%ebp)
13491 4000b8b5:       eb 03                   jmp    4000b8ba <internal_memalign+0x45>
13492 4000b8b7:       d1 65 c4                shll   -0x3c(%ebp)
13493 4000b8ba:       8b 45 c4                mov    -0x3c(%ebp),%eax
13494 4000b8bd:       3b 45 0c                cmp    0xc(%ebp),%eax
13495 4000b8c0:       72 f5                   jb     4000b8b7 <internal_memalign+0x42>
13496 4000b8c2:       8b 45 c4                mov    -0x3c(%ebp),%eax
13497 4000b8c5:       89 45 0c                mov    %eax,0xc(%ebp)
13498 4000b8c8:       b8 c0 ff ff ff          mov    $0xffffffc0,%eax
13499 4000b8cd:       2b 45 0c                sub    0xc(%ebp),%eax
13500 4000b8d0:       3b 45 10                cmp    0x10(%ebp),%eax
13501 4000b8d3:       77 19                   ja     4000b8ee <internal_memalign+0x79>
13502 4000b8d5:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
13503 4000b8d9:       0f 84 2a 02 00 00       je     4000bb09 <internal_memalign+0x294>
13504 4000b8df:       c7 05 54 59 01 40 31    movl   $0x31,0x40015954
13505 4000b8e6:       00 00 00 
13506 4000b8e9:       e9 1b 02 00 00          jmp    4000bb09 <internal_memalign+0x294>
13507 4000b8ee:       83 7d 10 0a             cmpl   $0xa,0x10(%ebp)
13508 4000b8f2:       76 10                   jbe    4000b904 <internal_memalign+0x8f>
13509 4000b8f4:       8b 45 10                mov    0x10(%ebp),%eax
13510 4000b8f7:       83 c0 0b                add    $0xb,%eax
13511 4000b8fa:       89 c2                   mov    %eax,%edx
13512 4000b8fc:       83 e2 f8                and    $0xfffffff8,%edx
13513 4000b8ff:       89 55 b8                mov    %edx,-0x48(%ebp)
13514 4000b902:       eb 07                   jmp    4000b90b <internal_memalign+0x96>
13515 4000b904:       c7 45 b8 10 00 00 00    movl   $0x10,-0x48(%ebp)
13516 4000b90b:       8b 4d b8                mov    -0x48(%ebp),%ecx
13517 4000b90e:       89 4d c8                mov    %ecx,-0x38(%ebp)
13518 4000b911:       8b 55 0c                mov    0xc(%ebp),%edx
13519 4000b914:       8b 45 c8                mov    -0x38(%ebp),%eax
13520 4000b917:       01 d0                   add    %edx,%eax
13521 4000b919:       83 c0 0c                add    $0xc,%eax
13522 4000b91c:       89 45 cc                mov    %eax,-0x34(%ebp)
13523 4000b91f:       8b 45 cc                mov    -0x34(%ebp),%eax
13524 4000b922:       89 04 24                mov    %eax,(%esp)
13525 4000b925:       e8 7a 04 00 00          call   4000bda4 <malloc>
13526 4000b92a:       89 45 d0                mov    %eax,-0x30(%ebp)
13527 4000b92d:       83 7d d0 00             cmpl   $0x0,-0x30(%ebp)
13528 4000b931:       0f 84 d2 01 00 00       je     4000bb09 <internal_memalign+0x294>
13529 4000b937:       c7 45 d4 00 00 00 00    movl   $0x0,-0x2c(%ebp)
13530 4000b93e:       c7 45 d8 00 00 00 00    movl   $0x0,-0x28(%ebp)
13531 4000b945:       8b 45 d0                mov    -0x30(%ebp),%eax
13532 4000b948:       83 e8 08                sub    $0x8,%eax
13533 4000b94b:       89 45 dc                mov    %eax,-0x24(%ebp)
13534 4000b94e:       8b 45 d0                mov    -0x30(%ebp),%eax
13535 4000b951:       89 45 ac                mov    %eax,-0x54(%ebp)
13536 4000b954:       8b 45 ac                mov    -0x54(%ebp),%eax
13537 4000b957:       ba 00 00 00 00          mov    $0x0,%edx
13538 4000b95c:       f7 75 0c                divl   0xc(%ebp)
13539 4000b95f:       89 d0                   mov    %edx,%eax
13540 4000b961:       85 c0                   test   %eax,%eax
13541 4000b963:       0f 84 d7 00 00 00       je     4000ba40 <internal_memalign+0x1cb>
13542 4000b969:       8b 45 0c                mov    0xc(%ebp),%eax
13543 4000b96c:       83 e8 01                sub    $0x1,%eax
13544 4000b96f:       03 45 d0                add    -0x30(%ebp),%eax
13545 4000b972:       89 c2                   mov    %eax,%edx
13546 4000b974:       8b 45 0c                mov    0xc(%ebp),%eax
13547 4000b977:       f7 d8                   neg    %eax
13548 4000b979:       21 d0                   and    %edx,%eax
13549 4000b97b:       83 e8 08                sub    $0x8,%eax
13550 4000b97e:       89 45 e0                mov    %eax,-0x20(%ebp)
13551 4000b981:       8b 55 e0                mov    -0x20(%ebp),%edx
13552 4000b984:       8b 45 dc                mov    -0x24(%ebp),%eax
13553 4000b987:       89 d1                   mov    %edx,%ecx
13554 4000b989:       29 c1                   sub    %eax,%ecx
13555 4000b98b:       89 c8                   mov    %ecx,%eax
13556 4000b98d:       83 f8 0f                cmp    $0xf,%eax
13557 4000b990:       77 0d                   ja     4000b99f <internal_memalign+0x12a>
13558 4000b992:       8b 55 0c                mov    0xc(%ebp),%edx
13559 4000b995:       8b 45 e0                mov    -0x20(%ebp),%eax
13560 4000b998:       01 d0                   add    %edx,%eax
13561 4000b99a:       89 45 bc                mov    %eax,-0x44(%ebp)
13562 4000b99d:       eb 06                   jmp    4000b9a5 <internal_memalign+0x130>
13563 4000b99f:       8b 45 e0                mov    -0x20(%ebp),%eax
13564 4000b9a2:       89 45 bc                mov    %eax,-0x44(%ebp)
13565 4000b9a5:       8b 55 bc                mov    -0x44(%ebp),%edx
13566 4000b9a8:       89 55 e4                mov    %edx,-0x1c(%ebp)
13567 4000b9ab:       8b 45 e4                mov    -0x1c(%ebp),%eax
13568 4000b9ae:       89 45 e8                mov    %eax,-0x18(%ebp)
13569 4000b9b1:       8b 55 e4                mov    -0x1c(%ebp),%edx
13570 4000b9b4:       8b 45 dc                mov    -0x24(%ebp),%eax
13571 4000b9b7:       89 d1                   mov    %edx,%ecx
13572 4000b9b9:       29 c1                   sub    %eax,%ecx
13573 4000b9bb:       89 c8                   mov    %ecx,%eax
13574 4000b9bd:       89 45 ec                mov    %eax,-0x14(%ebp)
13575 4000b9c0:       8b 45 dc                mov    -0x24(%ebp),%eax
13576 4000b9c3:       8b 40 04                mov    0x4(%eax),%eax
13577 4000b9c6:       83 e0 fc                and    $0xfffffffc,%eax
13578 4000b9c9:       2b 45 ec                sub    -0x14(%ebp),%eax
13579 4000b9cc:       89 45 f0                mov    %eax,-0x10(%ebp)
13580 4000b9cf:       8b 45 e8                mov    -0x18(%ebp),%eax
13581 4000b9d2:       8b 40 04                mov    0x4(%eax),%eax
13582 4000b9d5:       83 e0 01                and    $0x1,%eax
13583 4000b9d8:       0b 45 f0                or     -0x10(%ebp),%eax
13584 4000b9db:       89 c2                   mov    %eax,%edx
13585 4000b9dd:       83 ca 02                or     $0x2,%edx
13586 4000b9e0:       8b 45 e8                mov    -0x18(%ebp),%eax
13587 4000b9e3:       89 50 04                mov    %edx,0x4(%eax)
13588 4000b9e6:       8b 55 f0                mov    -0x10(%ebp),%edx
13589 4000b9e9:       8b 45 e8                mov    -0x18(%ebp),%eax
13590 4000b9ec:       8d 0c 10                lea    (%eax,%edx,1),%ecx
13591 4000b9ef:       8b 55 f0                mov    -0x10(%ebp),%edx
13592 4000b9f2:       8b 45 e8                mov    -0x18(%ebp),%eax
13593 4000b9f5:       01 d0                   add    %edx,%eax
13594 4000b9f7:       8b 40 04                mov    0x4(%eax),%eax
13595 4000b9fa:       83 c8 01                or     $0x1,%eax
13596 4000b9fd:       89 41 04                mov    %eax,0x4(%ecx)
13597 4000ba00:       8b 45 dc                mov    -0x24(%ebp),%eax
13598 4000ba03:       8b 40 04                mov    0x4(%eax),%eax
13599 4000ba06:       83 e0 01                and    $0x1,%eax
13600 4000ba09:       0b 45 ec                or     -0x14(%ebp),%eax
13601 4000ba0c:       89 c2                   mov    %eax,%edx
13602 4000ba0e:       83 ca 02                or     $0x2,%edx
13603 4000ba11:       8b 45 dc                mov    -0x24(%ebp),%eax
13604 4000ba14:       89 50 04                mov    %edx,0x4(%eax)
13605 4000ba17:       8b 55 ec                mov    -0x14(%ebp),%edx
13606 4000ba1a:       8b 45 dc                mov    -0x24(%ebp),%eax
13607 4000ba1d:       8d 0c 10                lea    (%eax,%edx,1),%ecx
13608 4000ba20:       8b 55 ec                mov    -0x14(%ebp),%edx
13609 4000ba23:       8b 45 dc                mov    -0x24(%ebp),%eax
13610 4000ba26:       01 d0                   add    %edx,%eax
13611 4000ba28:       8b 40 04                mov    0x4(%eax),%eax
13612 4000ba2b:       83 c8 01                or     $0x1,%eax
13613 4000ba2e:       89 41 04                mov    %eax,0x4(%ecx)
13614 4000ba31:       8b 45 dc                mov    -0x24(%ebp),%eax
13615 4000ba34:       83 c0 08                add    $0x8,%eax
13616 4000ba37:       89 45 d4                mov    %eax,-0x2c(%ebp)
13617 4000ba3a:       8b 45 e8                mov    -0x18(%ebp),%eax
13618 4000ba3d:       89 45 dc                mov    %eax,-0x24(%ebp)
13619 4000ba40:       8b 45 dc                mov    -0x24(%ebp),%eax
13620 4000ba43:       8b 40 04                mov    0x4(%eax),%eax
13621 4000ba46:       83 e0 fc                and    $0xfffffffc,%eax
13622 4000ba49:       89 45 f4                mov    %eax,-0xc(%ebp)
13623 4000ba4c:       8b 45 c8                mov    -0x38(%ebp),%eax
13624 4000ba4f:       83 c0 10                add    $0x10,%eax
13625 4000ba52:       3b 45 f4                cmp    -0xc(%ebp),%eax
13626 4000ba55:       0f 83 81 00 00 00       jae    4000badc <internal_memalign+0x267>
13627 4000ba5b:       8b 55 c8                mov    -0x38(%ebp),%edx
13628 4000ba5e:       8b 45 f4                mov    -0xc(%ebp),%eax
13629 4000ba61:       29 d0                   sub    %edx,%eax
13630 4000ba63:       89 45 f8                mov    %eax,-0x8(%ebp)
13631 4000ba66:       8b 55 c8                mov    -0x38(%ebp),%edx
13632 4000ba69:       8b 45 dc                mov    -0x24(%ebp),%eax
13633 4000ba6c:       01 d0                   add    %edx,%eax
13634 4000ba6e:       89 45 fc                mov    %eax,-0x4(%ebp)
13635 4000ba71:       8b 45 dc                mov    -0x24(%ebp),%eax
13636 4000ba74:       8b 40 04                mov    0x4(%eax),%eax
13637 4000ba77:       83 e0 01                and    $0x1,%eax
13638 4000ba7a:       0b 45 c8                or     -0x38(%ebp),%eax
13639 4000ba7d:       89 c2                   mov    %eax,%edx
13640 4000ba7f:       83 ca 02                or     $0x2,%edx
13641 4000ba82:       8b 45 dc                mov    -0x24(%ebp),%eax
13642 4000ba85:       89 50 04                mov    %edx,0x4(%eax)
13643 4000ba88:       8b 55 c8                mov    -0x38(%ebp),%edx
13644 4000ba8b:       8b 45 dc                mov    -0x24(%ebp),%eax
13645 4000ba8e:       8d 0c 10                lea    (%eax,%edx,1),%ecx
13646 4000ba91:       8b 55 c8                mov    -0x38(%ebp),%edx
13647 4000ba94:       8b 45 dc                mov    -0x24(%ebp),%eax
13648 4000ba97:       01 d0                   add    %edx,%eax
13649 4000ba99:       8b 40 04                mov    0x4(%eax),%eax
13650 4000ba9c:       83 c8 01                or     $0x1,%eax
13651 4000ba9f:       89 41 04                mov    %eax,0x4(%ecx)
13652 4000baa2:       8b 45 fc                mov    -0x4(%ebp),%eax
13653 4000baa5:       8b 40 04                mov    0x4(%eax),%eax
13654 4000baa8:       83 e0 01                and    $0x1,%eax
13655 4000baab:       0b 45 f8                or     -0x8(%ebp),%eax
13656 4000baae:       89 c2                   mov    %eax,%edx
13657 4000bab0:       83 ca 02                or     $0x2,%edx
13658 4000bab3:       8b 45 fc                mov    -0x4(%ebp),%eax
13659 4000bab6:       89 50 04                mov    %edx,0x4(%eax)
13660 4000bab9:       8b 55 f8                mov    -0x8(%ebp),%edx
13661 4000babc:       8b 45 fc                mov    -0x4(%ebp),%eax
13662 4000babf:       8d 0c 10                lea    (%eax,%edx,1),%ecx
13663 4000bac2:       8b 55 f8                mov    -0x8(%ebp),%edx
13664 4000bac5:       8b 45 fc                mov    -0x4(%ebp),%eax
13665 4000bac8:       01 d0                   add    %edx,%eax
13666 4000baca:       8b 40 04                mov    0x4(%eax),%eax
13667 4000bacd:       83 c8 01                or     $0x1,%eax
13668 4000bad0:       89 41 04                mov    %eax,0x4(%ecx)
13669 4000bad3:       8b 45 fc                mov    -0x4(%ebp),%eax
13670 4000bad6:       83 c0 08                add    $0x8,%eax
13671 4000bad9:       89 45 d8                mov    %eax,-0x28(%ebp)
13672 4000badc:       83 7d d4 00             cmpl   $0x0,-0x2c(%ebp)
13673 4000bae0:       74 0b                   je     4000baed <internal_memalign+0x278>
13674 4000bae2:       8b 45 d4                mov    -0x2c(%ebp),%eax
13675 4000bae5:       89 04 24                mov    %eax,(%esp)
13676 4000bae8:       e8 6e 07 00 00          call   4000c25b <free>
13677 4000baed:       83 7d d8 00             cmpl   $0x0,-0x28(%ebp)
13678 4000baf1:       74 0b                   je     4000bafe <internal_memalign+0x289>
13679 4000baf3:       8b 45 d8                mov    -0x28(%ebp),%eax
13680 4000baf6:       89 04 24                mov    %eax,(%esp)
13681 4000baf9:       e8 5d 07 00 00          call   4000c25b <free>
13682 4000bafe:       8b 45 dc                mov    -0x24(%ebp),%eax
13683 4000bb01:       83 c0 08                add    $0x8,%eax
13684 4000bb04:       89 45 b4                mov    %eax,-0x4c(%ebp)
13685 4000bb07:       eb 07                   jmp    4000bb10 <internal_memalign+0x29b>
13686 4000bb09:       c7 45 b4 00 00 00 00    movl   $0x0,-0x4c(%ebp)
13687 4000bb10:       8b 45 b4                mov    -0x4c(%ebp),%eax
13688 4000bb13:       c9                      leave  
13689 4000bb14:       c3                      ret    
13691 4000bb15 <ialloc>:
13692 4000bb15:       55                      push   %ebp
13693 4000bb16:       89 e5                   mov    %esp,%ebp
13694 4000bb18:       83 ec 58                sub    $0x58,%esp
13695 4000bb1b:       83 7d 18 00             cmpl   $0x0,0x18(%ebp)
13696 4000bb1f:       74 20                   je     4000bb41 <ialloc+0x2c>
13697 4000bb21:       83 7d 0c 00             cmpl   $0x0,0xc(%ebp)
13698 4000bb25:       75 0b                   jne    4000bb32 <ialloc+0x1d>
13699 4000bb27:       8b 45 18                mov    0x18(%ebp),%eax
13700 4000bb2a:       89 45 bc                mov    %eax,-0x44(%ebp)
13701 4000bb2d:       e9 6d 02 00 00          jmp    4000bd9f <ialloc+0x28a>
13702 4000bb32:       8b 45 18                mov    0x18(%ebp),%eax
13703 4000bb35:       89 45 e8                mov    %eax,-0x18(%ebp)
13704 4000bb38:       c7 45 d8 00 00 00 00    movl   $0x0,-0x28(%ebp)
13705 4000bb3f:       eb 4f                   jmp    4000bb90 <ialloc+0x7b>
13706 4000bb41:       83 7d 0c 00             cmpl   $0x0,0xc(%ebp)
13707 4000bb45:       75 14                   jne    4000bb5b <ialloc+0x46>
13708 4000bb47:       c7 04 24 00 00 00 00    movl   $0x0,(%esp)
13709 4000bb4e:       e8 51 02 00 00          call   4000bda4 <malloc>
13710 4000bb53:       89 45 bc                mov    %eax,-0x44(%ebp)
13711 4000bb56:       e9 44 02 00 00          jmp    4000bd9f <ialloc+0x28a>
13712 4000bb5b:       c7 45 e8 00 00 00 00    movl   $0x0,-0x18(%ebp)
13713 4000bb62:       8b 45 0c                mov    0xc(%ebp),%eax
13714 4000bb65:       c1 e0 02                shl    $0x2,%eax
13715 4000bb68:       83 f8 0a                cmp    $0xa,%eax
13716 4000bb6b:       76 16                   jbe    4000bb83 <ialloc+0x6e>
13717 4000bb6d:       8b 45 0c                mov    0xc(%ebp),%eax
13718 4000bb70:       83 c0 01                add    $0x1,%eax
13719 4000bb73:       c1 e0 02                shl    $0x2,%eax
13720 4000bb76:       83 c0 07                add    $0x7,%eax
13721 4000bb79:       89 c2                   mov    %eax,%edx
13722 4000bb7b:       83 e2 f8                and    $0xfffffff8,%edx
13723 4000bb7e:       89 55 c0                mov    %edx,-0x40(%ebp)
13724 4000bb81:       eb 07                   jmp    4000bb8a <ialloc+0x75>
13725 4000bb83:       c7 45 c0 10 00 00 00    movl   $0x10,-0x40(%ebp)
13726 4000bb8a:       8b 45 c0                mov    -0x40(%ebp),%eax
13727 4000bb8d:       89 45 d8                mov    %eax,-0x28(%ebp)
13728 4000bb90:       8b 45 14                mov    0x14(%ebp),%eax
13729 4000bb93:       83 e0 01                and    $0x1,%eax
13730 4000bb96:       84 c0                   test   %al,%al
13731 4000bb98:       74 35                   je     4000bbcf <ialloc+0xba>
13732 4000bb9a:       8b 45 10                mov    0x10(%ebp),%eax
13733 4000bb9d:       8b 00                   mov    (%eax),%eax
13734 4000bb9f:       83 f8 0a                cmp    $0xa,%eax
13735 4000bba2:       76 12                   jbe    4000bbb6 <ialloc+0xa1>
13736 4000bba4:       8b 45 10                mov    0x10(%ebp),%eax
13737 4000bba7:       8b 00                   mov    (%eax),%eax
13738 4000bba9:       83 c0 0b                add    $0xb,%eax
13739 4000bbac:       89 c2                   mov    %eax,%edx
13740 4000bbae:       83 e2 f8                and    $0xfffffff8,%edx
13741 4000bbb1:       89 55 c4                mov    %edx,-0x3c(%ebp)
13742 4000bbb4:       eb 07                   jmp    4000bbbd <ialloc+0xa8>
13743 4000bbb6:       c7 45 c4 10 00 00 00    movl   $0x10,-0x3c(%ebp)
13744 4000bbbd:       8b 45 c4                mov    -0x3c(%ebp),%eax
13745 4000bbc0:       89 45 d0                mov    %eax,-0x30(%ebp)
13746 4000bbc3:       8b 45 0c                mov    0xc(%ebp),%eax
13747 4000bbc6:       0f af 45 d0             imul   -0x30(%ebp),%eax
13748 4000bbca:       89 45 d4                mov    %eax,-0x2c(%ebp)
13749 4000bbcd:       eb 58                   jmp    4000bc27 <ialloc+0x112>
13750 4000bbcf:       c7 45 d0 00 00 00 00    movl   $0x0,-0x30(%ebp)
13751 4000bbd6:       c7 45 d4 00 00 00 00    movl   $0x0,-0x2c(%ebp)
13752 4000bbdd:       c7 45 f8 00 00 00 00    movl   $0x0,-0x8(%ebp)
13753 4000bbe4:       eb 39                   jmp    4000bc1f <ialloc+0x10a>
13754 4000bbe6:       8b 45 f8                mov    -0x8(%ebp),%eax
13755 4000bbe9:       c1 e0 02                shl    $0x2,%eax
13756 4000bbec:       03 45 10                add    0x10(%ebp),%eax
13757 4000bbef:       8b 00                   mov    (%eax),%eax
13758 4000bbf1:       83 f8 0a                cmp    $0xa,%eax
13759 4000bbf4:       76 18                   jbe    4000bc0e <ialloc+0xf9>
13760 4000bbf6:       8b 45 f8                mov    -0x8(%ebp),%eax
13761 4000bbf9:       c1 e0 02                shl    $0x2,%eax
13762 4000bbfc:       03 45 10                add    0x10(%ebp),%eax
13763 4000bbff:       8b 00                   mov    (%eax),%eax
13764 4000bc01:       83 c0 0b                add    $0xb,%eax
13765 4000bc04:       89 c2                   mov    %eax,%edx
13766 4000bc06:       83 e2 f8                and    $0xfffffff8,%edx
13767 4000bc09:       89 55 c8                mov    %edx,-0x38(%ebp)
13768 4000bc0c:       eb 07                   jmp    4000bc15 <ialloc+0x100>
13769 4000bc0e:       c7 45 c8 10 00 00 00    movl   $0x10,-0x38(%ebp)
13770 4000bc15:       8b 45 c8                mov    -0x38(%ebp),%eax
13771 4000bc18:       01 45 d4                add    %eax,-0x2c(%ebp)
13772 4000bc1b:       83 45 f8 01             addl   $0x1,-0x8(%ebp)
13773 4000bc1f:       8b 45 f8                mov    -0x8(%ebp),%eax
13774 4000bc22:       3b 45 0c                cmp    0xc(%ebp),%eax
13775 4000bc25:       75 bf                   jne    4000bbe6 <ialloc+0xd1>
13776 4000bc27:       8b 55 d8                mov    -0x28(%ebp),%edx
13777 4000bc2a:       8b 45 d4                mov    -0x2c(%ebp),%eax
13778 4000bc2d:       01 d0                   add    %edx,%eax
13779 4000bc2f:       89 45 f4                mov    %eax,-0xc(%ebp)
13780 4000bc32:       c7 45 f0 00 00 00 00    movl   $0x0,-0x10(%ebp)
13781 4000bc39:       8b 45 08                mov    0x8(%ebp),%eax
13782 4000bc3c:       8b 90 b4 01 00 00       mov    0x1b4(%eax),%edx
13783 4000bc42:       8b 45 08                mov    0x8(%ebp),%eax
13784 4000bc45:       89 90 b4 01 00 00       mov    %edx,0x1b4(%eax)
13785 4000bc4b:       8b 45 f4                mov    -0xc(%ebp),%eax
13786 4000bc4e:       83 e8 04                sub    $0x4,%eax
13787 4000bc51:       89 04 24                mov    %eax,(%esp)
13788 4000bc54:       e8 4b 01 00 00          call   4000bda4 <malloc>
13789 4000bc59:       89 45 dc                mov    %eax,-0x24(%ebp)
13790 4000bc5c:       83 7d f0 00             cmpl   $0x0,-0x10(%ebp)
13791 4000bc60:       74 12                   je     4000bc74 <ialloc+0x15f>
13792 4000bc62:       8b 45 08                mov    0x8(%ebp),%eax
13793 4000bc65:       8b 90 b4 01 00 00       mov    0x1b4(%eax),%edx
13794 4000bc6b:       8b 45 08                mov    0x8(%ebp),%eax
13795 4000bc6e:       89 90 b4 01 00 00       mov    %edx,0x1b4(%eax)
13796 4000bc74:       83 7d dc 00             cmpl   $0x0,-0x24(%ebp)
13797 4000bc78:       75 0c                   jne    4000bc86 <ialloc+0x171>
13798 4000bc7a:       c7 45 bc 00 00 00 00    movl   $0x0,-0x44(%ebp)
13799 4000bc81:       e9 19 01 00 00          jmp    4000bd9f <ialloc+0x28a>
13800 4000bc86:       8b 45 dc                mov    -0x24(%ebp),%eax
13801 4000bc89:       83 e8 08                sub    $0x8,%eax
13802 4000bc8c:       89 45 e0                mov    %eax,-0x20(%ebp)
13803 4000bc8f:       8b 45 e0                mov    -0x20(%ebp),%eax
13804 4000bc92:       8b 40 04                mov    0x4(%eax),%eax
13805 4000bc95:       83 e0 fc                and    $0xfffffffc,%eax
13806 4000bc98:       89 45 e4                mov    %eax,-0x1c(%ebp)
13807 4000bc9b:       8b 45 14                mov    0x14(%ebp),%eax
13808 4000bc9e:       83 e0 02                and    $0x2,%eax
13809 4000bca1:       85 c0                   test   %eax,%eax
13810 4000bca3:       74 22                   je     4000bcc7 <ialloc+0x1b2>
13811 4000bca5:       8b 55 d8                mov    -0x28(%ebp),%edx
13812 4000bca8:       8b 45 e4                mov    -0x1c(%ebp),%eax
13813 4000bcab:       29 d0                   sub    %edx,%eax
13814 4000bcad:       83 e8 04                sub    $0x4,%eax
13815 4000bcb0:       89 44 24 08             mov    %eax,0x8(%esp)
13816 4000bcb4:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
13817 4000bcbb:       00 
13818 4000bcbc:       8b 45 dc                mov    -0x24(%ebp),%eax
13819 4000bcbf:       89 04 24                mov    %eax,(%esp)
13820 4000bcc2:       e8 16 36 00 00          call   4000f2dd <memset>
13821 4000bcc7:       83 7d e8 00             cmpl   $0x0,-0x18(%ebp)
13822 4000bccb:       75 33                   jne    4000bd00 <ialloc+0x1eb>
13823 4000bccd:       8b 55 d4                mov    -0x2c(%ebp),%edx
13824 4000bcd0:       8b 45 e0                mov    -0x20(%ebp),%eax
13825 4000bcd3:       01 d0                   add    %edx,%eax
13826 4000bcd5:       89 45 ec                mov    %eax,-0x14(%ebp)
13827 4000bcd8:       8b 55 d4                mov    -0x2c(%ebp),%edx
13828 4000bcdb:       8b 45 e4                mov    -0x1c(%ebp),%eax
13829 4000bcde:       29 d0                   sub    %edx,%eax
13830 4000bce0:       89 45 fc                mov    %eax,-0x4(%ebp)
13831 4000bce3:       8b 45 ec                mov    -0x14(%ebp),%eax
13832 4000bce6:       83 c0 08                add    $0x8,%eax
13833 4000bce9:       89 45 e8                mov    %eax,-0x18(%ebp)
13834 4000bcec:       8b 45 fc                mov    -0x4(%ebp),%eax
13835 4000bcef:       89 c2                   mov    %eax,%edx
13836 4000bcf1:       83 ca 03                or     $0x3,%edx
13837 4000bcf4:       8b 45 ec                mov    -0x14(%ebp),%eax
13838 4000bcf7:       89 50 04                mov    %edx,0x4(%eax)
13839 4000bcfa:       8b 45 d4                mov    -0x2c(%ebp),%eax
13840 4000bcfd:       89 45 e4                mov    %eax,-0x1c(%ebp)
13841 4000bd00:       c7 45 f8 00 00 00 00    movl   $0x0,-0x8(%ebp)
13842 4000bd07:       8b 45 f8                mov    -0x8(%ebp),%eax
13843 4000bd0a:       c1 e0 02                shl    $0x2,%eax
13844 4000bd0d:       89 c2                   mov    %eax,%edx
13845 4000bd0f:       03 55 e8                add    -0x18(%ebp),%edx
13846 4000bd12:       8b 45 e0                mov    -0x20(%ebp),%eax
13847 4000bd15:       83 c0 08                add    $0x8,%eax
13848 4000bd18:       89 02                   mov    %eax,(%edx)
13849 4000bd1a:       8b 45 0c                mov    0xc(%ebp),%eax
13850 4000bd1d:       83 e8 01                sub    $0x1,%eax
13851 4000bd20:       3b 45 f8                cmp    -0x8(%ebp),%eax
13852 4000bd23:       74 66                   je     4000bd8b <ialloc+0x276>
13853 4000bd25:       83 7d d0 00             cmpl   $0x0,-0x30(%ebp)
13854 4000bd29:       74 08                   je     4000bd33 <ialloc+0x21e>
13855 4000bd2b:       8b 45 d0                mov    -0x30(%ebp),%eax
13856 4000bd2e:       89 45 f4                mov    %eax,-0xc(%ebp)
13857 4000bd31:       eb 35                   jmp    4000bd68 <ialloc+0x253>
13858 4000bd33:       8b 45 f8                mov    -0x8(%ebp),%eax
13859 4000bd36:       c1 e0 02                shl    $0x2,%eax
13860 4000bd39:       03 45 10                add    0x10(%ebp),%eax
13861 4000bd3c:       8b 00                   mov    (%eax),%eax
13862 4000bd3e:       83 f8 0a                cmp    $0xa,%eax
13863 4000bd41:       76 18                   jbe    4000bd5b <ialloc+0x246>
13864 4000bd43:       8b 45 f8                mov    -0x8(%ebp),%eax
13865 4000bd46:       c1 e0 02                shl    $0x2,%eax
13866 4000bd49:       03 45 10                add    0x10(%ebp),%eax
13867 4000bd4c:       8b 00                   mov    (%eax),%eax
13868 4000bd4e:       83 c0 0b                add    $0xb,%eax
13869 4000bd51:       89 c2                   mov    %eax,%edx
13870 4000bd53:       83 e2 f8                and    $0xfffffff8,%edx
13871 4000bd56:       89 55 cc                mov    %edx,-0x34(%ebp)
13872 4000bd59:       eb 07                   jmp    4000bd62 <ialloc+0x24d>
13873 4000bd5b:       c7 45 cc 10 00 00 00    movl   $0x10,-0x34(%ebp)
13874 4000bd62:       8b 45 cc                mov    -0x34(%ebp),%eax
13875 4000bd65:       89 45 f4                mov    %eax,-0xc(%ebp)
13876 4000bd68:       8b 45 f4                mov    -0xc(%ebp),%eax
13877 4000bd6b:       29 45 e4                sub    %eax,-0x1c(%ebp)
13878 4000bd6e:       8b 45 f4                mov    -0xc(%ebp),%eax
13879 4000bd71:       89 c2                   mov    %eax,%edx
13880 4000bd73:       83 ca 03                or     $0x3,%edx
13881 4000bd76:       8b 45 e0                mov    -0x20(%ebp),%eax
13882 4000bd79:       89 50 04                mov    %edx,0x4(%eax)
13883 4000bd7c:       8b 45 f4                mov    -0xc(%ebp),%eax
13884 4000bd7f:       01 45 e0                add    %eax,-0x20(%ebp)
13885 4000bd82:       83 45 f8 01             addl   $0x1,-0x8(%ebp)
13886 4000bd86:       e9 7c ff ff ff          jmp    4000bd07 <ialloc+0x1f2>
13887 4000bd8b:       8b 45 e4                mov    -0x1c(%ebp),%eax
13888 4000bd8e:       89 c2                   mov    %eax,%edx
13889 4000bd90:       83 ca 03                or     $0x3,%edx
13890 4000bd93:       8b 45 e0                mov    -0x20(%ebp),%eax
13891 4000bd96:       89 50 04                mov    %edx,0x4(%eax)
13892 4000bd99:       8b 55 e8                mov    -0x18(%ebp),%edx
13893 4000bd9c:       89 55 bc                mov    %edx,-0x44(%ebp)
13894 4000bd9f:       8b 45 bc                mov    -0x44(%ebp),%eax
13895 4000bda2:       c9                      leave  
13896 4000bda3:       c3                      ret    
13898 4000bda4 <malloc>:
13899 4000bda4:       55                      push   %ebp
13900 4000bda5:       89 e5                   mov    %esp,%ebp
13901 4000bda7:       53                      push   %ebx
13902 4000bda8:       81 ec 84 00 00 00       sub    $0x84,%esp
13903 4000bdae:       81 7d 08 f4 00 00 00    cmpl   $0xf4,0x8(%ebp)
13904 4000bdb5:       0f 87 18 03 00 00       ja     4000c0d3 <malloc+0x32f>
13905 4000bdbb:       83 7d 08 0a             cmpl   $0xa,0x8(%ebp)
13906 4000bdbf:       76 10                   jbe    4000bdd1 <malloc+0x2d>
13907 4000bdc1:       8b 45 08                mov    0x8(%ebp),%eax
13908 4000bdc4:       83 c0 0b                add    $0xb,%eax
13909 4000bdc7:       89 c2                   mov    %eax,%edx
13910 4000bdc9:       83 e2 f8                and    $0xfffffff8,%edx
13911 4000bdcc:       89 55 88                mov    %edx,-0x78(%ebp)
13912 4000bdcf:       eb 07                   jmp    4000bdd8 <malloc+0x34>
13913 4000bdd1:       c7 45 88 10 00 00 00    movl   $0x10,-0x78(%ebp)
13914 4000bdd8:       8b 45 88                mov    -0x78(%ebp),%eax
13915 4000bddb:       89 45 90                mov    %eax,-0x70(%ebp)
13916 4000bdde:       8b 45 90                mov    -0x70(%ebp),%eax
13917 4000bde1:       c1 e8 03                shr    $0x3,%eax
13918 4000bde4:       89 45 94                mov    %eax,-0x6c(%ebp)
13919 4000bde7:       a1 c0 42 01 40          mov    0x400142c0,%eax
13920 4000bdec:       8b 4d 94                mov    -0x6c(%ebp),%ecx
13921 4000bdef:       d3 e8                   shr    %cl,%eax
13922 4000bdf1:       89 45 98                mov    %eax,-0x68(%ebp)
13923 4000bdf4:       8b 45 98                mov    -0x68(%ebp),%eax
13924 4000bdf7:       83 e0 03                and    $0x3,%eax
13925 4000bdfa:       85 c0                   test   %eax,%eax
13926 4000bdfc:       0f 84 c1 00 00 00       je     4000bec3 <malloc+0x11f>
13927 4000be02:       8b 45 98                mov    -0x68(%ebp),%eax
13928 4000be05:       83 e0 01                and    $0x1,%eax
13929 4000be08:       85 c0                   test   %eax,%eax
13930 4000be0a:       0f 94 c0                sete   %al
13931 4000be0d:       0f b6 c0                movzbl %al,%eax
13932 4000be10:       01 45 94                add    %eax,-0x6c(%ebp)
13933 4000be13:       ba e4 42 01 40          mov    $0x400142e4,%edx
13934 4000be18:       8b 45 94                mov    -0x6c(%ebp),%eax
13935 4000be1b:       c1 e0 03                shl    $0x3,%eax
13936 4000be1e:       8d 04 02                lea    (%edx,%eax,1),%eax
13937 4000be21:       89 45 9c                mov    %eax,-0x64(%ebp)
13938 4000be24:       8b 45 9c                mov    -0x64(%ebp),%eax
13939 4000be27:       8b 40 08                mov    0x8(%eax),%eax
13940 4000be2a:       89 45 a0                mov    %eax,-0x60(%ebp)
13941 4000be2d:       8b 45 a0                mov    -0x60(%ebp),%eax
13942 4000be30:       8b 40 08                mov    0x8(%eax),%eax
13943 4000be33:       89 45 a4                mov    %eax,-0x5c(%ebp)
13944 4000be36:       8b 45 9c                mov    -0x64(%ebp),%eax
13945 4000be39:       3b 45 a4                cmp    -0x5c(%ebp),%eax
13946 4000be3c:       75 1b                   jne    4000be59 <malloc+0xb5>
13947 4000be3e:       8b 15 c0 42 01 40       mov    0x400142c0,%edx
13948 4000be44:       8b 4d 94                mov    -0x6c(%ebp),%ecx
13949 4000be47:       b8 01 00 00 00          mov    $0x1,%eax
13950 4000be4c:       d3 e0                   shl    %cl,%eax
13951 4000be4e:       f7 d0                   not    %eax
13952 4000be50:       21 d0                   and    %edx,%eax
13953 4000be52:       a3 c0 42 01 40          mov    %eax,0x400142c0
13954 4000be57:       eb 2e                   jmp    4000be87 <malloc+0xe3>
13955 4000be59:       8b 15 d0 42 01 40       mov    0x400142d0,%edx
13956 4000be5f:       8b 45 a4                mov    -0x5c(%ebp),%eax
13957 4000be62:       39 c2                   cmp    %eax,%edx
13958 4000be64:       0f 96 c0                setbe  %al
13959 4000be67:       0f b6 c0                movzbl %al,%eax
13960 4000be6a:       85 c0                   test   %eax,%eax
13961 4000be6c:       74 14                   je     4000be82 <malloc+0xde>
13962 4000be6e:       8b 55 9c                mov    -0x64(%ebp),%edx
13963 4000be71:       8b 45 a4                mov    -0x5c(%ebp),%eax
13964 4000be74:       89 42 08                mov    %eax,0x8(%edx)
13965 4000be77:       8b 55 a4                mov    -0x5c(%ebp),%edx
13966 4000be7a:       8b 45 9c                mov    -0x64(%ebp),%eax
13967 4000be7d:       89 42 0c                mov    %eax,0xc(%edx)
13968 4000be80:       eb 05                   jmp    4000be87 <malloc+0xe3>
13969 4000be82:       e8 11 5a 00 00          call   40011898 <abort>
13970 4000be87:       8b 45 94                mov    -0x6c(%ebp),%eax
13971 4000be8a:       c1 e0 03                shl    $0x3,%eax
13972 4000be8d:       89 c2                   mov    %eax,%edx
13973 4000be8f:       83 ca 03                or     $0x3,%edx
13974 4000be92:       8b 45 a0                mov    -0x60(%ebp),%eax
13975 4000be95:       89 50 04                mov    %edx,0x4(%eax)
13976 4000be98:       8b 45 94                mov    -0x6c(%ebp),%eax
13977 4000be9b:       c1 e0 03                shl    $0x3,%eax
13978 4000be9e:       89 c2                   mov    %eax,%edx
13979 4000bea0:       03 55 a0                add    -0x60(%ebp),%edx
13980 4000bea3:       8b 45 94                mov    -0x6c(%ebp),%eax
13981 4000bea6:       c1 e0 03                shl    $0x3,%eax
13982 4000bea9:       03 45 a0                add    -0x60(%ebp),%eax
13983 4000beac:       8b 40 04                mov    0x4(%eax),%eax
13984 4000beaf:       83 c8 01                or     $0x1,%eax
13985 4000beb2:       89 42 04                mov    %eax,0x4(%edx)
13986 4000beb5:       8b 45 a0                mov    -0x60(%ebp),%eax
13987 4000beb8:       83 c0 08                add    $0x8,%eax
13988 4000bebb:       89 45 8c                mov    %eax,-0x74(%ebp)
13989 4000bebe:       e9 8c 03 00 00          jmp    4000c24f <malloc+0x4ab>
13990 4000bec3:       a1 c8 42 01 40          mov    0x400142c8,%eax
13991 4000bec8:       3b 45 90                cmp    -0x70(%ebp),%eax
13992 4000becb:       0f 83 46 02 00 00       jae    4000c117 <malloc+0x373>
13993 4000bed1:       83 7d 98 00             cmpl   $0x0,-0x68(%ebp)
13994 4000bed5:       0f 84 cd 01 00 00       je     4000c0a8 <malloc+0x304>
13995 4000bedb:       8b 4d 94                mov    -0x6c(%ebp),%ecx
13996 4000bede:       8b 45 98                mov    -0x68(%ebp),%eax
13997 4000bee1:       89 c3                   mov    %eax,%ebx
13998 4000bee3:       d3 e3                   shl    %cl,%ebx
13999 4000bee5:       8b 4d 94                mov    -0x6c(%ebp),%ecx
14000 4000bee8:       b8 01 00 00 00          mov    $0x1,%eax
14001 4000beed:       d3 e0                   shl    %cl,%eax
14002 4000beef:       8d 14 00                lea    (%eax,%eax,1),%edx
14003 4000bef2:       8b 4d 94                mov    -0x6c(%ebp),%ecx
14004 4000bef5:       b8 01 00 00 00          mov    $0x1,%eax
14005 4000befa:       d3 e0                   shl    %cl,%eax
14006 4000befc:       01 c0                   add    %eax,%eax
14007 4000befe:       f7 d8                   neg    %eax
14008 4000bf00:       09 d0                   or     %edx,%eax
14009 4000bf02:       21 d8                   and    %ebx,%eax
14010 4000bf04:       89 45 bc                mov    %eax,-0x44(%ebp)
14011 4000bf07:       8b 45 bc                mov    -0x44(%ebp),%eax
14012 4000bf0a:       f7 d8                   neg    %eax
14013 4000bf0c:       23 45 bc                and    -0x44(%ebp),%eax
14014 4000bf0f:       89 45 c0                mov    %eax,-0x40(%ebp)
14015 4000bf12:       0f bc 45 c0             bsf    -0x40(%ebp),%eax
14016 4000bf16:       89 45 c4                mov    %eax,-0x3c(%ebp)
14017 4000bf19:       8b 45 c4                mov    -0x3c(%ebp),%eax
14018 4000bf1c:       89 45 b8                mov    %eax,-0x48(%ebp)
14019 4000bf1f:       ba e4 42 01 40          mov    $0x400142e4,%edx
14020 4000bf24:       8b 45 b8                mov    -0x48(%ebp),%eax
14021 4000bf27:       c1 e0 03                shl    $0x3,%eax
14022 4000bf2a:       8d 04 02                lea    (%edx,%eax,1),%eax
14023 4000bf2d:       89 45 a8                mov    %eax,-0x58(%ebp)
14024 4000bf30:       8b 45 a8                mov    -0x58(%ebp),%eax
14025 4000bf33:       8b 40 08                mov    0x8(%eax),%eax
14026 4000bf36:       89 45 ac                mov    %eax,-0x54(%ebp)
14027 4000bf39:       8b 45 ac                mov    -0x54(%ebp),%eax
14028 4000bf3c:       8b 40 08                mov    0x8(%eax),%eax
14029 4000bf3f:       89 45 c8                mov    %eax,-0x38(%ebp)
14030 4000bf42:       8b 45 a8                mov    -0x58(%ebp),%eax
14031 4000bf45:       3b 45 c8                cmp    -0x38(%ebp),%eax
14032 4000bf48:       75 1b                   jne    4000bf65 <malloc+0x1c1>
14033 4000bf4a:       8b 15 c0 42 01 40       mov    0x400142c0,%edx
14034 4000bf50:       8b 4d b8                mov    -0x48(%ebp),%ecx
14035 4000bf53:       b8 01 00 00 00          mov    $0x1,%eax
14036 4000bf58:       d3 e0                   shl    %cl,%eax
14037 4000bf5a:       f7 d0                   not    %eax
14038 4000bf5c:       21 d0                   and    %edx,%eax
14039 4000bf5e:       a3 c0 42 01 40          mov    %eax,0x400142c0
14040 4000bf63:       eb 2e                   jmp    4000bf93 <malloc+0x1ef>
14041 4000bf65:       8b 15 d0 42 01 40       mov    0x400142d0,%edx
14042 4000bf6b:       8b 45 c8                mov    -0x38(%ebp),%eax
14043 4000bf6e:       39 c2                   cmp    %eax,%edx
14044 4000bf70:       0f 96 c0                setbe  %al
14045 4000bf73:       0f b6 c0                movzbl %al,%eax
14046 4000bf76:       85 c0                   test   %eax,%eax
14047 4000bf78:       74 14                   je     4000bf8e <malloc+0x1ea>
14048 4000bf7a:       8b 55 a8                mov    -0x58(%ebp),%edx
14049 4000bf7d:       8b 45 c8                mov    -0x38(%ebp),%eax
14050 4000bf80:       89 42 08                mov    %eax,0x8(%edx)
14051 4000bf83:       8b 55 c8                mov    -0x38(%ebp),%edx
14052 4000bf86:       8b 45 a8                mov    -0x58(%ebp),%eax
14053 4000bf89:       89 42 0c                mov    %eax,0xc(%edx)
14054 4000bf8c:       eb 05                   jmp    4000bf93 <malloc+0x1ef>
14055 4000bf8e:       e8 05 59 00 00          call   40011898 <abort>
14056 4000bf93:       8b 45 b8                mov    -0x48(%ebp),%eax
14057 4000bf96:       c1 e0 03                shl    $0x3,%eax
14058 4000bf99:       2b 45 90                sub    -0x70(%ebp),%eax
14059 4000bf9c:       89 45 b4                mov    %eax,-0x4c(%ebp)
14060 4000bf9f:       8b 45 90                mov    -0x70(%ebp),%eax
14061 4000bfa2:       89 c2                   mov    %eax,%edx
14062 4000bfa4:       83 ca 03                or     $0x3,%edx
14063 4000bfa7:       8b 45 ac                mov    -0x54(%ebp),%eax
14064 4000bfaa:       89 50 04                mov    %edx,0x4(%eax)
14065 4000bfad:       8b 55 90                mov    -0x70(%ebp),%edx
14066 4000bfb0:       8b 45 ac                mov    -0x54(%ebp),%eax
14067 4000bfb3:       01 d0                   add    %edx,%eax
14068 4000bfb5:       89 45 b0                mov    %eax,-0x50(%ebp)
14069 4000bfb8:       8b 45 b4                mov    -0x4c(%ebp),%eax
14070 4000bfbb:       89 c2                   mov    %eax,%edx
14071 4000bfbd:       83 ca 01                or     $0x1,%edx
14072 4000bfc0:       8b 45 b0                mov    -0x50(%ebp),%eax
14073 4000bfc3:       89 50 04                mov    %edx,0x4(%eax)
14074 4000bfc6:       8b 55 b4                mov    -0x4c(%ebp),%edx
14075 4000bfc9:       8b 45 b0                mov    -0x50(%ebp),%eax
14076 4000bfcc:       8d 14 10                lea    (%eax,%edx,1),%edx
14077 4000bfcf:       8b 45 b4                mov    -0x4c(%ebp),%eax
14078 4000bfd2:       89 02                   mov    %eax,(%edx)
14079 4000bfd4:       a1 c8 42 01 40          mov    0x400142c8,%eax
14080 4000bfd9:       89 45 cc                mov    %eax,-0x34(%ebp)
14081 4000bfdc:       83 7d cc 00             cmpl   $0x0,-0x34(%ebp)
14082 4000bfe0:       0f 84 a4 00 00 00       je     4000c08a <malloc+0x2e6>
14083 4000bfe6:       a1 d4 42 01 40          mov    0x400142d4,%eax
14084 4000bfeb:       89 45 d0                mov    %eax,-0x30(%ebp)
14085 4000bfee:       8b 45 cc                mov    -0x34(%ebp),%eax
14086 4000bff1:       c1 e8 03                shr    $0x3,%eax
14087 4000bff4:       89 45 d4                mov    %eax,-0x2c(%ebp)
14088 4000bff7:       ba e4 42 01 40          mov    $0x400142e4,%edx
14089 4000bffc:       8b 45 d4                mov    -0x2c(%ebp),%eax
14090 4000bfff:       c1 e0 03                shl    $0x3,%eax
14091 4000c002:       8d 04 02                lea    (%edx,%eax,1),%eax
14092 4000c005:       89 45 d8                mov    %eax,-0x28(%ebp)
14093 4000c008:       8b 45 d8                mov    -0x28(%ebp),%eax
14094 4000c00b:       89 45 dc                mov    %eax,-0x24(%ebp)
14095 4000c00e:       8b 15 c0 42 01 40       mov    0x400142c0,%edx
14096 4000c014:       8b 4d d4                mov    -0x2c(%ebp),%ecx
14097 4000c017:       b8 01 00 00 00          mov    $0x1,%eax
14098 4000c01c:       d3 e0                   shl    %cl,%eax
14099 4000c01e:       21 d0                   and    %edx,%eax
14100 4000c020:       85 c0                   test   %eax,%eax
14101 4000c022:       75 19                   jne    4000c03d <malloc+0x299>
14102 4000c024:       8b 15 c0 42 01 40       mov    0x400142c0,%edx
14103 4000c02a:       8b 4d d4                mov    -0x2c(%ebp),%ecx
14104 4000c02d:       b8 01 00 00 00          mov    $0x1,%eax
14105 4000c032:       d3 e0                   shl    %cl,%eax
14106 4000c034:       09 d0                   or     %edx,%eax
14107 4000c036:       a3 c0 42 01 40          mov    %eax,0x400142c0
14108 4000c03b:       eb 29                   jmp    4000c066 <malloc+0x2c2>
14109 4000c03d:       8b 45 d8                mov    -0x28(%ebp),%eax
14110 4000c040:       8b 40 08                mov    0x8(%eax),%eax
14111 4000c043:       89 c2                   mov    %eax,%edx
14112 4000c045:       a1 d0 42 01 40          mov    0x400142d0,%eax
14113 4000c04a:       39 c2                   cmp    %eax,%edx
14114 4000c04c:       0f 93 c0                setae  %al
14115 4000c04f:       0f b6 c0                movzbl %al,%eax
14116 4000c052:       85 c0                   test   %eax,%eax
14117 4000c054:       74 0b                   je     4000c061 <malloc+0x2bd>
14118 4000c056:       8b 45 d8                mov    -0x28(%ebp),%eax
14119 4000c059:       8b 40 08                mov    0x8(%eax),%eax
14120 4000c05c:       89 45 dc                mov    %eax,-0x24(%ebp)
14121 4000c05f:       eb 05                   jmp    4000c066 <malloc+0x2c2>
14122 4000c061:       e8 32 58 00 00          call   40011898 <abort>
14123 4000c066:       8b 55 d8                mov    -0x28(%ebp),%edx
14124 4000c069:       8b 45 d0                mov    -0x30(%ebp),%eax
14125 4000c06c:       89 42 08                mov    %eax,0x8(%edx)
14126 4000c06f:       8b 55 dc                mov    -0x24(%ebp),%edx
14127 4000c072:       8b 45 d0                mov    -0x30(%ebp),%eax
14128 4000c075:       89 42 0c                mov    %eax,0xc(%edx)
14129 4000c078:       8b 55 d0                mov    -0x30(%ebp),%edx
14130 4000c07b:       8b 45 dc                mov    -0x24(%ebp),%eax
14131 4000c07e:       89 42 08                mov    %eax,0x8(%edx)
14132 4000c081:       8b 55 d0                mov    -0x30(%ebp),%edx
14133 4000c084:       8b 45 d8                mov    -0x28(%ebp),%eax
14134 4000c087:       89 42 0c                mov    %eax,0xc(%edx)
14135 4000c08a:       8b 45 b4                mov    -0x4c(%ebp),%eax
14136 4000c08d:       a3 c8 42 01 40          mov    %eax,0x400142c8
14137 4000c092:       8b 45 b0                mov    -0x50(%ebp),%eax
14138 4000c095:       a3 d4 42 01 40          mov    %eax,0x400142d4
14139 4000c09a:       8b 45 ac                mov    -0x54(%ebp),%eax
14140 4000c09d:       83 c0 08                add    $0x8,%eax
14141 4000c0a0:       89 45 8c                mov    %eax,-0x74(%ebp)
14142 4000c0a3:       e9 a7 01 00 00          jmp    4000c24f <malloc+0x4ab>
14143 4000c0a8:       a1 c4 42 01 40          mov    0x400142c4,%eax
14144 4000c0ad:       85 c0                   test   %eax,%eax
14145 4000c0af:       74 66                   je     4000c117 <malloc+0x373>
14146 4000c0b1:       8b 45 90                mov    -0x70(%ebp),%eax
14147 4000c0b4:       89 44 24 04             mov    %eax,0x4(%esp)
14148 4000c0b8:       c7 04 24 c0 42 01 40    movl   $0x400142c0,(%esp)
14149 4000c0bf:       e8 95 f0 ff ff          call   4000b159 <tmalloc_small>
14150 4000c0c4:       89 45 8c                mov    %eax,-0x74(%ebp)
14151 4000c0c7:       83 7d 8c 00             cmpl   $0x0,-0x74(%ebp)
14152 4000c0cb:       0f 85 7e 01 00 00       jne    4000c24f <malloc+0x4ab>
14153 4000c0d1:       eb 44                   jmp    4000c117 <malloc+0x373>
14154 4000c0d3:       83 7d 08 bf             cmpl   $0xffffffbf,0x8(%ebp)
14155 4000c0d7:       76 09                   jbe    4000c0e2 <malloc+0x33e>
14156 4000c0d9:       c7 45 90 ff ff ff ff    movl   $0xffffffff,-0x70(%ebp)
14157 4000c0e0:       eb 35                   jmp    4000c117 <malloc+0x373>
14158 4000c0e2:       8b 45 08                mov    0x8(%ebp),%eax
14159 4000c0e5:       83 c0 0b                add    $0xb,%eax
14160 4000c0e8:       83 e0 f8                and    $0xfffffff8,%eax
14161 4000c0eb:       89 45 90                mov    %eax,-0x70(%ebp)
14162 4000c0ee:       a1 c4 42 01 40          mov    0x400142c4,%eax
14163 4000c0f3:       85 c0                   test   %eax,%eax
14164 4000c0f5:       74 20                   je     4000c117 <malloc+0x373>
14165 4000c0f7:       8b 45 90                mov    -0x70(%ebp),%eax
14166 4000c0fa:       89 44 24 04             mov    %eax,0x4(%esp)
14167 4000c0fe:       c7 04 24 c0 42 01 40    movl   $0x400142c0,(%esp)
14168 4000c105:       e8 9d e7 ff ff          call   4000a8a7 <tmalloc_large>
14169 4000c10a:       89 45 8c                mov    %eax,-0x74(%ebp)
14170 4000c10d:       83 7d 8c 00             cmpl   $0x0,-0x74(%ebp)
14171 4000c111:       0f 85 38 01 00 00       jne    4000c24f <malloc+0x4ab>
14172 4000c117:       a1 c8 42 01 40          mov    0x400142c8,%eax
14173 4000c11c:       3b 45 90                cmp    -0x70(%ebp),%eax
14174 4000c11f:       0f 82 b1 00 00 00       jb     4000c1d6 <malloc+0x432>
14175 4000c125:       a1 c8 42 01 40          mov    0x400142c8,%eax
14176 4000c12a:       2b 45 90                sub    -0x70(%ebp),%eax
14177 4000c12d:       89 45 e0                mov    %eax,-0x20(%ebp)
14178 4000c130:       a1 d4 42 01 40          mov    0x400142d4,%eax
14179 4000c135:       89 45 e4                mov    %eax,-0x1c(%ebp)
14180 4000c138:       83 7d e0 0f             cmpl   $0xf,-0x20(%ebp)
14181 4000c13c:       76 49                   jbe    4000c187 <malloc+0x3e3>
14182 4000c13e:       8b 55 90                mov    -0x70(%ebp),%edx
14183 4000c141:       8b 45 e4                mov    -0x1c(%ebp),%eax
14184 4000c144:       01 d0                   add    %edx,%eax
14185 4000c146:       a3 d4 42 01 40          mov    %eax,0x400142d4
14186 4000c14b:       a1 d4 42 01 40          mov    0x400142d4,%eax
14187 4000c150:       89 45 e8                mov    %eax,-0x18(%ebp)
14188 4000c153:       8b 45 e0                mov    -0x20(%ebp),%eax
14189 4000c156:       a3 c8 42 01 40          mov    %eax,0x400142c8
14190 4000c15b:       8b 45 e0                mov    -0x20(%ebp),%eax
14191 4000c15e:       89 c2                   mov    %eax,%edx
14192 4000c160:       83 ca 01                or     $0x1,%edx
14193 4000c163:       8b 45 e8                mov    -0x18(%ebp),%eax
14194 4000c166:       89 50 04                mov    %edx,0x4(%eax)
14195 4000c169:       8b 55 e0                mov    -0x20(%ebp),%edx
14196 4000c16c:       8b 45 e8                mov    -0x18(%ebp),%eax
14197 4000c16f:       8d 14 10                lea    (%eax,%edx,1),%edx
14198 4000c172:       8b 45 e0                mov    -0x20(%ebp),%eax
14199 4000c175:       89 02                   mov    %eax,(%edx)
14200 4000c177:       8b 45 90                mov    -0x70(%ebp),%eax
14201 4000c17a:       89 c2                   mov    %eax,%edx
14202 4000c17c:       83 ca 03                or     $0x3,%edx
14203 4000c17f:       8b 45 e4                mov    -0x1c(%ebp),%eax
14204 4000c182:       89 50 04                mov    %edx,0x4(%eax)
14205 4000c185:       eb 44                   jmp    4000c1cb <malloc+0x427>
14206 4000c187:       a1 c8 42 01 40          mov    0x400142c8,%eax
14207 4000c18c:       89 45 ec                mov    %eax,-0x14(%ebp)
14208 4000c18f:       c7 05 c8 42 01 40 00    movl   $0x0,0x400142c8
14209 4000c196:       00 00 00 
14210 4000c199:       c7 05 d4 42 01 40 00    movl   $0x0,0x400142d4
14211 4000c1a0:       00 00 00 
14212 4000c1a3:       8b 45 ec                mov    -0x14(%ebp),%eax
14213 4000c1a6:       89 c2                   mov    %eax,%edx
14214 4000c1a8:       83 ca 03                or     $0x3,%edx
14215 4000c1ab:       8b 45 e4                mov    -0x1c(%ebp),%eax
14216 4000c1ae:       89 50 04                mov    %edx,0x4(%eax)
14217 4000c1b1:       8b 55 ec                mov    -0x14(%ebp),%edx
14218 4000c1b4:       8b 45 e4                mov    -0x1c(%ebp),%eax
14219 4000c1b7:       8d 0c 10                lea    (%eax,%edx,1),%ecx
14220 4000c1ba:       8b 55 ec                mov    -0x14(%ebp),%edx
14221 4000c1bd:       8b 45 e4                mov    -0x1c(%ebp),%eax
14222 4000c1c0:       01 d0                   add    %edx,%eax
14223 4000c1c2:       8b 40 04                mov    0x4(%eax),%eax
14224 4000c1c5:       83 c8 01                or     $0x1,%eax
14225 4000c1c8:       89 41 04                mov    %eax,0x4(%ecx)
14226 4000c1cb:       8b 45 e4                mov    -0x1c(%ebp),%eax
14227 4000c1ce:       83 c0 08                add    $0x8,%eax
14228 4000c1d1:       89 45 8c                mov    %eax,-0x74(%ebp)
14229 4000c1d4:       eb 79                   jmp    4000c24f <malloc+0x4ab>
14230 4000c1d6:       a1 cc 42 01 40          mov    0x400142cc,%eax
14231 4000c1db:       3b 45 90                cmp    -0x70(%ebp),%eax
14232 4000c1de:       76 59                   jbe    4000c239 <malloc+0x495>
14233 4000c1e0:       a1 cc 42 01 40          mov    0x400142cc,%eax
14234 4000c1e5:       2b 45 90                sub    -0x70(%ebp),%eax
14235 4000c1e8:       a3 cc 42 01 40          mov    %eax,0x400142cc
14236 4000c1ed:       a1 cc 42 01 40          mov    0x400142cc,%eax
14237 4000c1f2:       89 45 f0                mov    %eax,-0x10(%ebp)
14238 4000c1f5:       a1 d8 42 01 40          mov    0x400142d8,%eax
14239 4000c1fa:       89 45 f4                mov    %eax,-0xc(%ebp)
14240 4000c1fd:       8b 55 90                mov    -0x70(%ebp),%edx
14241 4000c200:       8b 45 f4                mov    -0xc(%ebp),%eax
14242 4000c203:       01 d0                   add    %edx,%eax
14243 4000c205:       a3 d8 42 01 40          mov    %eax,0x400142d8
14244 4000c20a:       a1 d8 42 01 40          mov    0x400142d8,%eax
14245 4000c20f:       89 45 f8                mov    %eax,-0x8(%ebp)
14246 4000c212:       8b 45 f0                mov    -0x10(%ebp),%eax
14247 4000c215:       89 c2                   mov    %eax,%edx
14248 4000c217:       83 ca 01                or     $0x1,%edx
14249 4000c21a:       8b 45 f8                mov    -0x8(%ebp),%eax
14250 4000c21d:       89 50 04                mov    %edx,0x4(%eax)
14251 4000c220:       8b 45 90                mov    -0x70(%ebp),%eax
14252 4000c223:       89 c2                   mov    %eax,%edx
14253 4000c225:       83 ca 03                or     $0x3,%edx
14254 4000c228:       8b 45 f4                mov    -0xc(%ebp),%eax
14255 4000c22b:       89 50 04                mov    %edx,0x4(%eax)
14256 4000c22e:       8b 45 f4                mov    -0xc(%ebp),%eax
14257 4000c231:       83 c0 08                add    $0x8,%eax
14258 4000c234:       89 45 8c                mov    %eax,-0x74(%ebp)
14259 4000c237:       eb 16                   jmp    4000c24f <malloc+0x4ab>
14260 4000c239:       8b 45 90                mov    -0x70(%ebp),%eax
14261 4000c23c:       89 44 24 04             mov    %eax,0x4(%esp)
14262 4000c240:       c7 04 24 c0 42 01 40    movl   $0x400142c0,(%esp)
14263 4000c247:       e8 fd de ff ff          call   4000a149 <sys_alloc>
14264 4000c24c:       89 45 8c                mov    %eax,-0x74(%ebp)
14265 4000c24f:       8b 45 8c                mov    -0x74(%ebp),%eax
14266 4000c252:       81 c4 84 00 00 00       add    $0x84,%esp
14267 4000c258:       5b                      pop    %ebx
14268 4000c259:       5d                      pop    %ebp
14269 4000c25a:       c3                      ret    
14271 4000c25b <free>:
14272 4000c25b:       55                      push   %ebp
14273 4000c25c:       89 e5                   mov    %esp,%ebp
14274 4000c25e:       81 ec c8 00 00 00       sub    $0xc8,%esp
14275 4000c264:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
14276 4000c268:       0f 84 06 0d 00 00       je     4000cf74 <free+0xd19>
14277 4000c26e:       8b 45 08                mov    0x8(%ebp),%eax
14278 4000c271:       83 e8 08                sub    $0x8,%eax
14279 4000c274:       89 85 50 ff ff ff       mov    %eax,-0xb0(%ebp)
14280 4000c27a:       8b 15 d0 42 01 40       mov    0x400142d0,%edx
14281 4000c280:       8b 85 50 ff ff ff       mov    -0xb0(%ebp),%eax
14282 4000c286:       39 c2                   cmp    %eax,%edx
14283 4000c288:       0f 96 c0                setbe  %al
14284 4000c28b:       0f b6 c0                movzbl %al,%eax
14285 4000c28e:       85 c0                   test   %eax,%eax
14286 4000c290:       0f 84 d9 0c 00 00       je     4000cf6f <free+0xd14>
14287 4000c296:       8b 85 50 ff ff ff       mov    -0xb0(%ebp),%eax
14288 4000c29c:       8b 40 04                mov    0x4(%eax),%eax
14289 4000c29f:       83 e0 02                and    $0x2,%eax
14290 4000c2a2:       85 c0                   test   %eax,%eax
14291 4000c2a4:       0f 95 c0                setne  %al
14292 4000c2a7:       0f b6 c0                movzbl %al,%eax
14293 4000c2aa:       85 c0                   test   %eax,%eax
14294 4000c2ac:       0f 84 bd 0c 00 00       je     4000cf6f <free+0xd14>
14295 4000c2b2:       8b 85 50 ff ff ff       mov    -0xb0(%ebp),%eax
14296 4000c2b8:       8b 40 04                mov    0x4(%eax),%eax
14297 4000c2bb:       83 e0 fc                and    $0xfffffffc,%eax
14298 4000c2be:       89 85 54 ff ff ff       mov    %eax,-0xac(%ebp)
14299 4000c2c4:       8b 95 54 ff ff ff       mov    -0xac(%ebp),%edx
14300 4000c2ca:       8b 85 50 ff ff ff       mov    -0xb0(%ebp),%eax
14301 4000c2d0:       01 d0                   add    %edx,%eax
14302 4000c2d2:       89 85 58 ff ff ff       mov    %eax,-0xa8(%ebp)
14303 4000c2d8:       8b 85 50 ff ff ff       mov    -0xb0(%ebp),%eax
14304 4000c2de:       8b 40 04                mov    0x4(%eax),%eax
14305 4000c2e1:       83 e0 01                and    $0x1,%eax
14306 4000c2e4:       85 c0                   test   %eax,%eax
14307 4000c2e6:       0f 85 cc 04 00 00       jne    4000c7b8 <free+0x55d>
14308 4000c2ec:       8b 85 50 ff ff ff       mov    -0xb0(%ebp),%eax
14309 4000c2f2:       8b 00                   mov    (%eax),%eax
14310 4000c2f4:       89 85 5c ff ff ff       mov    %eax,-0xa4(%ebp)
14311 4000c2fa:       8b 85 5c ff ff ff       mov    -0xa4(%ebp),%eax
14312 4000c300:       f7 d8                   neg    %eax
14313 4000c302:       03 85 50 ff ff ff       add    -0xb0(%ebp),%eax
14314 4000c308:       89 85 60 ff ff ff       mov    %eax,-0xa0(%ebp)
14315 4000c30e:       8b 85 5c ff ff ff       mov    -0xa4(%ebp),%eax
14316 4000c314:       01 85 54 ff ff ff       add    %eax,-0xac(%ebp)
14317 4000c31a:       8b 85 60 ff ff ff       mov    -0xa0(%ebp),%eax
14318 4000c320:       89 85 50 ff ff ff       mov    %eax,-0xb0(%ebp)
14319 4000c326:       8b 15 d0 42 01 40       mov    0x400142d0,%edx
14320 4000c32c:       8b 85 60 ff ff ff       mov    -0xa0(%ebp),%eax
14321 4000c332:       39 c2                   cmp    %eax,%edx
14322 4000c334:       0f 96 c0                setbe  %al
14323 4000c337:       0f b6 c0                movzbl %al,%eax
14324 4000c33a:       85 c0                   test   %eax,%eax
14325 4000c33c:       0f 84 2d 0c 00 00       je     4000cf6f <free+0xd14>
14326 4000c342:       a1 d4 42 01 40          mov    0x400142d4,%eax
14327 4000c347:       3b 85 50 ff ff ff       cmp    -0xb0(%ebp),%eax
14328 4000c34d:       0f 84 02 04 00 00       je     4000c755 <free+0x4fa>
14329 4000c353:       8b 85 5c ff ff ff       mov    -0xa4(%ebp),%eax
14330 4000c359:       c1 e8 03                shr    $0x3,%eax
14331 4000c35c:       83 f8 1f                cmp    $0x1f,%eax
14332 4000c35f:       0f 87 39 01 00 00       ja     4000c49e <free+0x243>
14333 4000c365:       8b 85 50 ff ff ff       mov    -0xb0(%ebp),%eax
14334 4000c36b:       8b 40 08                mov    0x8(%eax),%eax
14335 4000c36e:       89 85 64 ff ff ff       mov    %eax,-0x9c(%ebp)
14336 4000c374:       8b 85 50 ff ff ff       mov    -0xb0(%ebp),%eax
14337 4000c37a:       8b 40 0c                mov    0xc(%eax),%eax
14338 4000c37d:       89 85 68 ff ff ff       mov    %eax,-0x98(%ebp)
14339 4000c383:       8b 85 5c ff ff ff       mov    -0xa4(%ebp),%eax
14340 4000c389:       c1 e8 03                shr    $0x3,%eax
14341 4000c38c:       89 85 6c ff ff ff       mov    %eax,-0x94(%ebp)
14342 4000c392:       8b 85 64 ff ff ff       mov    -0x9c(%ebp),%eax
14343 4000c398:       3b 85 68 ff ff ff       cmp    -0x98(%ebp),%eax
14344 4000c39e:       75 21                   jne    4000c3c1 <free+0x166>
14345 4000c3a0:       8b 15 c0 42 01 40       mov    0x400142c0,%edx
14346 4000c3a6:       8b 8d 6c ff ff ff       mov    -0x94(%ebp),%ecx
14347 4000c3ac:       b8 01 00 00 00          mov    $0x1,%eax
14348 4000c3b1:       d3 e0                   shl    %cl,%eax
14349 4000c3b3:       f7 d0                   not    %eax
14350 4000c3b5:       21 d0                   and    %edx,%eax
14351 4000c3b7:       a3 c0 42 01 40          mov    %eax,0x400142c0
14352 4000c3bc:       e9 f7 03 00 00          jmp    4000c7b8 <free+0x55d>
14353 4000c3c1:       ba e4 42 01 40          mov    $0x400142e4,%edx
14354 4000c3c6:       8b 85 6c ff ff ff       mov    -0x94(%ebp),%eax
14355 4000c3cc:       c1 e0 03                shl    $0x3,%eax
14356 4000c3cf:       8d 04 02                lea    (%edx,%eax,1),%eax
14357 4000c3d2:       3b 85 64 ff ff ff       cmp    -0x9c(%ebp),%eax
14358 4000c3d8:       0f 94 c0                sete   %al
14359 4000c3db:       0f b6 c0                movzbl %al,%eax
14360 4000c3de:       85 c0                   test   %eax,%eax
14361 4000c3e0:       75 18                   jne    4000c3fa <free+0x19f>
14362 4000c3e2:       8b 15 d0 42 01 40       mov    0x400142d0,%edx
14363 4000c3e8:       8b 85 64 ff ff ff       mov    -0x9c(%ebp),%eax
14364 4000c3ee:       39 c2                   cmp    %eax,%edx
14365 4000c3f0:       0f 96 c0                setbe  %al
14366 4000c3f3:       0f b6 c0                movzbl %al,%eax
14367 4000c3f6:       85 c0                   test   %eax,%eax
14368 4000c3f8:       74 0c                   je     4000c406 <free+0x1ab>
14369 4000c3fa:       c7 85 3c ff ff ff 01    movl   $0x1,-0xc4(%ebp)
14370 4000c401:       00 00 00 
14371 4000c404:       eb 0a                   jmp    4000c410 <free+0x1b5>
14372 4000c406:       c7 85 3c ff ff ff 00    movl   $0x0,-0xc4(%ebp)
14373 4000c40d:       00 00 00 
14374 4000c410:       83 bd 3c ff ff ff 00    cmpl   $0x0,-0xc4(%ebp)
14375 4000c417:       74 7b                   je     4000c494 <free+0x239>
14376 4000c419:       ba e4 42 01 40          mov    $0x400142e4,%edx
14377 4000c41e:       8b 85 6c ff ff ff       mov    -0x94(%ebp),%eax
14378 4000c424:       c1 e0 03                shl    $0x3,%eax
14379 4000c427:       8d 04 02                lea    (%edx,%eax,1),%eax
14380 4000c42a:       3b 85 68 ff ff ff       cmp    -0x98(%ebp),%eax
14381 4000c430:       0f 94 c0                sete   %al
14382 4000c433:       0f b6 c0                movzbl %al,%eax
14383 4000c436:       85 c0                   test   %eax,%eax
14384 4000c438:       75 18                   jne    4000c452 <free+0x1f7>
14385 4000c43a:       8b 15 d0 42 01 40       mov    0x400142d0,%edx
14386 4000c440:       8b 85 68 ff ff ff       mov    -0x98(%ebp),%eax
14387 4000c446:       39 c2                   cmp    %eax,%edx
14388 4000c448:       0f 96 c0                setbe  %al
14389 4000c44b:       0f b6 c0                movzbl %al,%eax
14390 4000c44e:       85 c0                   test   %eax,%eax
14391 4000c450:       74 0c                   je     4000c45e <free+0x203>
14392 4000c452:       c7 85 40 ff ff ff 01    movl   $0x1,-0xc0(%ebp)
14393 4000c459:       00 00 00 
14394 4000c45c:       eb 0a                   jmp    4000c468 <free+0x20d>
14395 4000c45e:       c7 85 40 ff ff ff 00    movl   $0x0,-0xc0(%ebp)
14396 4000c465:       00 00 00 
14397 4000c468:       83 bd 40 ff ff ff 00    cmpl   $0x0,-0xc0(%ebp)
14398 4000c46f:       74 23                   je     4000c494 <free+0x239>
14399 4000c471:       8b 95 64 ff ff ff       mov    -0x9c(%ebp),%edx
14400 4000c477:       8b 85 68 ff ff ff       mov    -0x98(%ebp),%eax
14401 4000c47d:       89 42 0c                mov    %eax,0xc(%edx)
14402 4000c480:       8b 95 68 ff ff ff       mov    -0x98(%ebp),%edx
14403 4000c486:       8b 85 64 ff ff ff       mov    -0x9c(%ebp),%eax
14404 4000c48c:       89 42 08                mov    %eax,0x8(%edx)
14405 4000c48f:       e9 24 03 00 00          jmp    4000c7b8 <free+0x55d>
14406 4000c494:       e8 ff 53 00 00          call   40011898 <abort>
14407 4000c499:       e9 1a 03 00 00          jmp    4000c7b8 <free+0x55d>
14408 4000c49e:       8b 85 50 ff ff ff       mov    -0xb0(%ebp),%eax
14409 4000c4a4:       89 85 70 ff ff ff       mov    %eax,-0x90(%ebp)
14410 4000c4aa:       8b 85 70 ff ff ff       mov    -0x90(%ebp),%eax
14411 4000c4b0:       8b 40 18                mov    0x18(%eax),%eax
14412 4000c4b3:       89 85 74 ff ff ff       mov    %eax,-0x8c(%ebp)
14413 4000c4b9:       8b 85 70 ff ff ff       mov    -0x90(%ebp),%eax
14414 4000c4bf:       8b 40 0c                mov    0xc(%eax),%eax
14415 4000c4c2:       3b 85 70 ff ff ff       cmp    -0x90(%ebp),%eax
14416 4000c4c8:       74 63                   je     4000c52d <free+0x2d2>
14417 4000c4ca:       8b 85 70 ff ff ff       mov    -0x90(%ebp),%eax
14418 4000c4d0:       8b 40 08                mov    0x8(%eax),%eax
14419 4000c4d3:       89 85 7c ff ff ff       mov    %eax,-0x84(%ebp)
14420 4000c4d9:       8b 85 70 ff ff ff       mov    -0x90(%ebp),%eax
14421 4000c4df:       8b 40 0c                mov    0xc(%eax),%eax
14422 4000c4e2:       89 85 78 ff ff ff       mov    %eax,-0x88(%ebp)
14423 4000c4e8:       8b 15 d0 42 01 40       mov    0x400142d0,%edx
14424 4000c4ee:       8b 85 7c ff ff ff       mov    -0x84(%ebp),%eax
14425 4000c4f4:       39 c2                   cmp    %eax,%edx
14426 4000c4f6:       0f 96 c0                setbe  %al
14427 4000c4f9:       0f b6 c0                movzbl %al,%eax
14428 4000c4fc:       85 c0                   test   %eax,%eax
14429 4000c4fe:       74 23                   je     4000c523 <free+0x2c8>
14430 4000c500:       8b 95 7c ff ff ff       mov    -0x84(%ebp),%edx
14431 4000c506:       8b 85 78 ff ff ff       mov    -0x88(%ebp),%eax
14432 4000c50c:       89 42 0c                mov    %eax,0xc(%edx)
14433 4000c50f:       8b 95 78 ff ff ff       mov    -0x88(%ebp),%edx
14434 4000c515:       8b 85 7c ff ff ff       mov    -0x84(%ebp),%eax
14435 4000c51b:       89 42 08                mov    %eax,0x8(%edx)
14436 4000c51e:       e9 ac 00 00 00          jmp    4000c5cf <free+0x374>
14437 4000c523:       e8 70 53 00 00          call   40011898 <abort>
14438 4000c528:       e9 a2 00 00 00          jmp    4000c5cf <free+0x374>
14439 4000c52d:       8b 85 70 ff ff ff       mov    -0x90(%ebp),%eax
14440 4000c533:       83 c0 14                add    $0x14,%eax
14441 4000c536:       89 45 80                mov    %eax,-0x80(%ebp)
14442 4000c539:       8b 45 80                mov    -0x80(%ebp),%eax
14443 4000c53c:       8b 00                   mov    (%eax),%eax
14444 4000c53e:       89 85 78 ff ff ff       mov    %eax,-0x88(%ebp)
14445 4000c544:       83 bd 78 ff ff ff 00    cmpl   $0x0,-0x88(%ebp)
14446 4000c54b:       75 33                   jne    4000c580 <free+0x325>
14447 4000c54d:       8b 85 70 ff ff ff       mov    -0x90(%ebp),%eax
14448 4000c553:       83 c0 10                add    $0x10,%eax
14449 4000c556:       89 45 80                mov    %eax,-0x80(%ebp)
14450 4000c559:       8b 45 80                mov    -0x80(%ebp),%eax
14451 4000c55c:       8b 00                   mov    (%eax),%eax
14452 4000c55e:       89 85 78 ff ff ff       mov    %eax,-0x88(%ebp)
14453 4000c564:       83 bd 78 ff ff ff 00    cmpl   $0x0,-0x88(%ebp)
14454 4000c56b:       74 62                   je     4000c5cf <free+0x374>
14455 4000c56d:       eb 11                   jmp    4000c580 <free+0x325>
14456 4000c56f:       8b 45 84                mov    -0x7c(%ebp),%eax
14457 4000c572:       89 45 80                mov    %eax,-0x80(%ebp)
14458 4000c575:       8b 45 80                mov    -0x80(%ebp),%eax
14459 4000c578:       8b 00                   mov    (%eax),%eax
14460 4000c57a:       89 85 78 ff ff ff       mov    %eax,-0x88(%ebp)
14461 4000c580:       8b 85 78 ff ff ff       mov    -0x88(%ebp),%eax
14462 4000c586:       83 c0 14                add    $0x14,%eax
14463 4000c589:       89 45 84                mov    %eax,-0x7c(%ebp)
14464 4000c58c:       8b 45 84                mov    -0x7c(%ebp),%eax
14465 4000c58f:       8b 00                   mov    (%eax),%eax
14466 4000c591:       85 c0                   test   %eax,%eax
14467 4000c593:       75 da                   jne    4000c56f <free+0x314>
14468 4000c595:       8b 85 78 ff ff ff       mov    -0x88(%ebp),%eax
14469 4000c59b:       83 c0 10                add    $0x10,%eax
14470 4000c59e:       89 45 84                mov    %eax,-0x7c(%ebp)
14471 4000c5a1:       8b 45 84                mov    -0x7c(%ebp),%eax
14472 4000c5a4:       8b 00                   mov    (%eax),%eax
14473 4000c5a6:       85 c0                   test   %eax,%eax
14474 4000c5a8:       75 c5                   jne    4000c56f <free+0x314>
14475 4000c5aa:       8b 15 d0 42 01 40       mov    0x400142d0,%edx
14476 4000c5b0:       8b 45 80                mov    -0x80(%ebp),%eax
14477 4000c5b3:       39 c2                   cmp    %eax,%edx
14478 4000c5b5:       0f 96 c0                setbe  %al
14479 4000c5b8:       0f b6 c0                movzbl %al,%eax
14480 4000c5bb:       85 c0                   test   %eax,%eax
14481 4000c5bd:       74 0b                   je     4000c5ca <free+0x36f>
14482 4000c5bf:       8b 45 80                mov    -0x80(%ebp),%eax
14483 4000c5c2:       c7 00 00 00 00 00       movl   $0x0,(%eax)
14484 4000c5c8:       eb 05                   jmp    4000c5cf <free+0x374>
14485 4000c5ca:       e8 c9 52 00 00          call   40011898 <abort>
14486 4000c5cf:       83 bd 74 ff ff ff 00    cmpl   $0x0,-0x8c(%ebp)
14487 4000c5d6:       0f 84 dc 01 00 00       je     4000c7b8 <free+0x55d>
14488 4000c5dc:       8b 85 70 ff ff ff       mov    -0x90(%ebp),%eax
14489 4000c5e2:       8b 40 1c                mov    0x1c(%eax),%eax
14490 4000c5e5:       c1 e0 02                shl    $0x2,%eax
14491 4000c5e8:       05 ec 43 01 40          add    $0x400143ec,%eax
14492 4000c5ed:       89 45 88                mov    %eax,-0x78(%ebp)
14493 4000c5f0:       8b 45 88                mov    -0x78(%ebp),%eax
14494 4000c5f3:       8b 00                   mov    (%eax),%eax
14495 4000c5f5:       3b 85 70 ff ff ff       cmp    -0x90(%ebp),%eax
14496 4000c5fb:       75 37                   jne    4000c634 <free+0x3d9>
14497 4000c5fd:       8b 55 88                mov    -0x78(%ebp),%edx
14498 4000c600:       8b 85 78 ff ff ff       mov    -0x88(%ebp),%eax
14499 4000c606:       89 02                   mov    %eax,(%edx)
14500 4000c608:       8b 45 88                mov    -0x78(%ebp),%eax
14501 4000c60b:       8b 00                   mov    (%eax),%eax
14502 4000c60d:       85 c0                   test   %eax,%eax
14503 4000c60f:       75 73                   jne    4000c684 <free+0x429>
14504 4000c611:       8b 15 c4 42 01 40       mov    0x400142c4,%edx
14505 4000c617:       8b 85 70 ff ff ff       mov    -0x90(%ebp),%eax
14506 4000c61d:       8b 40 1c                mov    0x1c(%eax),%eax
14507 4000c620:       89 c1                   mov    %eax,%ecx
14508 4000c622:       b8 01 00 00 00          mov    $0x1,%eax
14509 4000c627:       d3 e0                   shl    %cl,%eax
14510 4000c629:       f7 d0                   not    %eax
14511 4000c62b:       21 d0                   and    %edx,%eax
14512 4000c62d:       a3 c4 42 01 40          mov    %eax,0x400142c4
14513 4000c632:       eb 50                   jmp    4000c684 <free+0x429>
14514 4000c634:       8b 15 d0 42 01 40       mov    0x400142d0,%edx
14515 4000c63a:       8b 85 74 ff ff ff       mov    -0x8c(%ebp),%eax
14516 4000c640:       39 c2                   cmp    %eax,%edx
14517 4000c642:       0f 96 c0                setbe  %al
14518 4000c645:       0f b6 c0                movzbl %al,%eax
14519 4000c648:       85 c0                   test   %eax,%eax
14520 4000c64a:       74 33                   je     4000c67f <free+0x424>
14521 4000c64c:       8b 85 74 ff ff ff       mov    -0x8c(%ebp),%eax
14522 4000c652:       8b 40 10                mov    0x10(%eax),%eax
14523 4000c655:       3b 85 70 ff ff ff       cmp    -0x90(%ebp),%eax
14524 4000c65b:       75 11                   jne    4000c66e <free+0x413>
14525 4000c65d:       8b 95 74 ff ff ff       mov    -0x8c(%ebp),%edx
14526 4000c663:       8b 85 78 ff ff ff       mov    -0x88(%ebp),%eax
14527 4000c669:       89 42 10                mov    %eax,0x10(%edx)
14528 4000c66c:       eb 16                   jmp    4000c684 <free+0x429>
14529 4000c66e:       8b 95 74 ff ff ff       mov    -0x8c(%ebp),%edx
14530 4000c674:       8b 85 78 ff ff ff       mov    -0x88(%ebp),%eax
14531 4000c67a:       89 42 14                mov    %eax,0x14(%edx)
14532 4000c67d:       eb 05                   jmp    4000c684 <free+0x429>
14533 4000c67f:       e8 14 52 00 00          call   40011898 <abort>
14534 4000c684:       83 bd 78 ff ff ff 00    cmpl   $0x0,-0x88(%ebp)
14535 4000c68b:       0f 84 27 01 00 00       je     4000c7b8 <free+0x55d>
14536 4000c691:       8b 15 d0 42 01 40       mov    0x400142d0,%edx
14537 4000c697:       8b 85 78 ff ff ff       mov    -0x88(%ebp),%eax
14538 4000c69d:       39 c2                   cmp    %eax,%edx
14539 4000c69f:       0f 96 c0                setbe  %al
14540 4000c6a2:       0f b6 c0                movzbl %al,%eax
14541 4000c6a5:       85 c0                   test   %eax,%eax
14542 4000c6a7:       0f 84 a1 00 00 00       je     4000c74e <free+0x4f3>
14543 4000c6ad:       8b 95 78 ff ff ff       mov    -0x88(%ebp),%edx
14544 4000c6b3:       8b 85 74 ff ff ff       mov    -0x8c(%ebp),%eax
14545 4000c6b9:       89 42 18                mov    %eax,0x18(%edx)
14546 4000c6bc:       8b 85 70 ff ff ff       mov    -0x90(%ebp),%eax
14547 4000c6c2:       8b 40 10                mov    0x10(%eax),%eax
14548 4000c6c5:       89 45 8c                mov    %eax,-0x74(%ebp)
14549 4000c6c8:       83 7d 8c 00             cmpl   $0x0,-0x74(%ebp)
14550 4000c6cc:       74 34                   je     4000c702 <free+0x4a7>
14551 4000c6ce:       8b 15 d0 42 01 40       mov    0x400142d0,%edx
14552 4000c6d4:       8b 45 8c                mov    -0x74(%ebp),%eax
14553 4000c6d7:       39 c2                   cmp    %eax,%edx
14554 4000c6d9:       0f 96 c0                setbe  %al
14555 4000c6dc:       0f b6 c0                movzbl %al,%eax
14556 4000c6df:       85 c0                   test   %eax,%eax
14557 4000c6e1:       74 1a                   je     4000c6fd <free+0x4a2>
14558 4000c6e3:       8b 95 78 ff ff ff       mov    -0x88(%ebp),%edx
14559 4000c6e9:       8b 45 8c                mov    -0x74(%ebp),%eax
14560 4000c6ec:       89 42 10                mov    %eax,0x10(%edx)
14561 4000c6ef:       8b 55 8c                mov    -0x74(%ebp),%edx
14562 4000c6f2:       8b 85 78 ff ff ff       mov    -0x88(%ebp),%eax
14563 4000c6f8:       89 42 18                mov    %eax,0x18(%edx)
14564 4000c6fb:       eb 05                   jmp    4000c702 <free+0x4a7>
14565 4000c6fd:       e8 96 51 00 00          call   40011898 <abort>
14566 4000c702:       8b 85 70 ff ff ff       mov    -0x90(%ebp),%eax
14567 4000c708:       8b 40 14                mov    0x14(%eax),%eax
14568 4000c70b:       89 45 90                mov    %eax,-0x70(%ebp)
14569 4000c70e:       83 7d 90 00             cmpl   $0x0,-0x70(%ebp)
14570 4000c712:       0f 84 a0 00 00 00       je     4000c7b8 <free+0x55d>
14571 4000c718:       8b 15 d0 42 01 40       mov    0x400142d0,%edx
14572 4000c71e:       8b 45 90                mov    -0x70(%ebp),%eax
14573 4000c721:       39 c2                   cmp    %eax,%edx
14574 4000c723:       0f 96 c0                setbe  %al
14575 4000c726:       0f b6 c0                movzbl %al,%eax
14576 4000c729:       85 c0                   test   %eax,%eax
14577 4000c72b:       74 1a                   je     4000c747 <free+0x4ec>
14578 4000c72d:       8b 95 78 ff ff ff       mov    -0x88(%ebp),%edx
14579 4000c733:       8b 45 90                mov    -0x70(%ebp),%eax
14580 4000c736:       89 42 14                mov    %eax,0x14(%edx)
14581 4000c739:       8b 55 90                mov    -0x70(%ebp),%edx
14582 4000c73c:       8b 85 78 ff ff ff       mov    -0x88(%ebp),%eax
14583 4000c742:       89 42 18                mov    %eax,0x18(%edx)
14584 4000c745:       eb 71                   jmp    4000c7b8 <free+0x55d>
14585 4000c747:       e8 4c 51 00 00          call   40011898 <abort>
14586 4000c74c:       eb 6a                   jmp    4000c7b8 <free+0x55d>
14587 4000c74e:       e8 45 51 00 00          call   40011898 <abort>
14588 4000c753:       eb 63                   jmp    4000c7b8 <free+0x55d>
14589 4000c755:       8b 85 58 ff ff ff       mov    -0xa8(%ebp),%eax
14590 4000c75b:       8b 40 04                mov    0x4(%eax),%eax
14591 4000c75e:       83 e0 03                and    $0x3,%eax
14592 4000c761:       83 f8 03                cmp    $0x3,%eax
14593 4000c764:       75 52                   jne    4000c7b8 <free+0x55d>
14594 4000c766:       8b 85 54 ff ff ff       mov    -0xac(%ebp),%eax
14595 4000c76c:       a3 c8 42 01 40          mov    %eax,0x400142c8
14596 4000c771:       8b 85 58 ff ff ff       mov    -0xa8(%ebp),%eax
14597 4000c777:       8b 40 04                mov    0x4(%eax),%eax
14598 4000c77a:       89 c2                   mov    %eax,%edx
14599 4000c77c:       83 e2 fe                and    $0xfffffffe,%edx
14600 4000c77f:       8b 85 58 ff ff ff       mov    -0xa8(%ebp),%eax
14601 4000c785:       89 50 04                mov    %edx,0x4(%eax)
14602 4000c788:       8b 85 54 ff ff ff       mov    -0xac(%ebp),%eax
14603 4000c78e:       89 c2                   mov    %eax,%edx
14604 4000c790:       83 ca 01                or     $0x1,%edx
14605 4000c793:       8b 85 50 ff ff ff       mov    -0xb0(%ebp),%eax
14606 4000c799:       89 50 04                mov    %edx,0x4(%eax)
14607 4000c79c:       8b 95 54 ff ff ff       mov    -0xac(%ebp),%edx
14608 4000c7a2:       8b 85 50 ff ff ff       mov    -0xb0(%ebp),%eax
14609 4000c7a8:       8d 14 10                lea    (%eax,%edx,1),%edx
14610 4000c7ab:       8b 85 54 ff ff ff       mov    -0xac(%ebp),%eax
14611 4000c7b1:       89 02                   mov    %eax,(%edx)
14612 4000c7b3:       e9 bc 07 00 00          jmp    4000cf74 <free+0xd19>
14613 4000c7b8:       8b 95 50 ff ff ff       mov    -0xb0(%ebp),%edx
14614 4000c7be:       8b 85 58 ff ff ff       mov    -0xa8(%ebp),%eax
14615 4000c7c4:       39 c2                   cmp    %eax,%edx
14616 4000c7c6:       0f 92 c0                setb   %al
14617 4000c7c9:       0f b6 c0                movzbl %al,%eax
14618 4000c7cc:       85 c0                   test   %eax,%eax
14619 4000c7ce:       0f 84 9b 07 00 00       je     4000cf6f <free+0xd14>
14620 4000c7d4:       8b 85 58 ff ff ff       mov    -0xa8(%ebp),%eax
14621 4000c7da:       8b 40 04                mov    0x4(%eax),%eax
14622 4000c7dd:       83 e0 01                and    $0x1,%eax
14623 4000c7e0:       85 c0                   test   %eax,%eax
14624 4000c7e2:       0f 84 87 07 00 00       je     4000cf6f <free+0xd14>
14625 4000c7e8:       8b 85 58 ff ff ff       mov    -0xa8(%ebp),%eax
14626 4000c7ee:       8b 40 04                mov    0x4(%eax),%eax
14627 4000c7f1:       83 e0 02                and    $0x2,%eax
14628 4000c7f4:       85 c0                   test   %eax,%eax
14629 4000c7f6:       0f 85 61 04 00 00       jne    4000cc5d <free+0xa02>
14630 4000c7fc:       a1 d8 42 01 40          mov    0x400142d8,%eax
14631 4000c801:       3b 85 58 ff ff ff       cmp    -0xa8(%ebp),%eax
14632 4000c807:       75 5e                   jne    4000c867 <free+0x60c>
14633 4000c809:       a1 cc 42 01 40          mov    0x400142cc,%eax
14634 4000c80e:       03 85 54 ff ff ff       add    -0xac(%ebp),%eax
14635 4000c814:       a3 cc 42 01 40          mov    %eax,0x400142cc
14636 4000c819:       a1 cc 42 01 40          mov    0x400142cc,%eax
14637 4000c81e:       89 45 94                mov    %eax,-0x6c(%ebp)
14638 4000c821:       8b 85 50 ff ff ff       mov    -0xb0(%ebp),%eax
14639 4000c827:       a3 d8 42 01 40          mov    %eax,0x400142d8
14640 4000c82c:       8b 45 94                mov    -0x6c(%ebp),%eax
14641 4000c82f:       89 c2                   mov    %eax,%edx
14642 4000c831:       83 ca 01                or     $0x1,%edx
14643 4000c834:       8b 85 50 ff ff ff       mov    -0xb0(%ebp),%eax
14644 4000c83a:       89 50 04                mov    %edx,0x4(%eax)
14645 4000c83d:       a1 d4 42 01 40          mov    0x400142d4,%eax
14646 4000c842:       3b 85 50 ff ff ff       cmp    -0xb0(%ebp),%eax
14647 4000c848:       0f 85 26 07 00 00       jne    4000cf74 <free+0xd19>
14648 4000c84e:       c7 05 d4 42 01 40 00    movl   $0x0,0x400142d4
14649 4000c855:       00 00 00 
14650 4000c858:       c7 05 c8 42 01 40 00    movl   $0x0,0x400142c8
14651 4000c85f:       00 00 00 
14652 4000c862:       e9 0d 07 00 00          jmp    4000cf74 <free+0xd19>
14653 4000c867:       a1 d4 42 01 40          mov    0x400142d4,%eax
14654 4000c86c:       3b 85 58 ff ff ff       cmp    -0xa8(%ebp),%eax
14655 4000c872:       75 4a                   jne    4000c8be <free+0x663>
14656 4000c874:       a1 c8 42 01 40          mov    0x400142c8,%eax
14657 4000c879:       03 85 54 ff ff ff       add    -0xac(%ebp),%eax
14658 4000c87f:       a3 c8 42 01 40          mov    %eax,0x400142c8
14659 4000c884:       a1 c8 42 01 40          mov    0x400142c8,%eax
14660 4000c889:       89 45 98                mov    %eax,-0x68(%ebp)
14661 4000c88c:       8b 85 50 ff ff ff       mov    -0xb0(%ebp),%eax
14662 4000c892:       a3 d4 42 01 40          mov    %eax,0x400142d4
14663 4000c897:       8b 45 98                mov    -0x68(%ebp),%eax
14664 4000c89a:       89 c2                   mov    %eax,%edx
14665 4000c89c:       83 ca 01                or     $0x1,%edx
14666 4000c89f:       8b 85 50 ff ff ff       mov    -0xb0(%ebp),%eax
14667 4000c8a5:       89 50 04                mov    %edx,0x4(%eax)
14668 4000c8a8:       8b 55 98                mov    -0x68(%ebp),%edx
14669 4000c8ab:       8b 85 50 ff ff ff       mov    -0xb0(%ebp),%eax
14670 4000c8b1:       8d 14 10                lea    (%eax,%edx,1),%edx
14671 4000c8b4:       8b 45 98                mov    -0x68(%ebp),%eax
14672 4000c8b7:       89 02                   mov    %eax,(%edx)
14673 4000c8b9:       e9 b6 06 00 00          jmp    4000cf74 <free+0xd19>
14674 4000c8be:       8b 85 58 ff ff ff       mov    -0xa8(%ebp),%eax
14675 4000c8c4:       8b 40 04                mov    0x4(%eax),%eax
14676 4000c8c7:       83 e0 fc                and    $0xfffffffc,%eax
14677 4000c8ca:       89 45 9c                mov    %eax,-0x64(%ebp)
14678 4000c8cd:       8b 45 9c                mov    -0x64(%ebp),%eax
14679 4000c8d0:       01 85 54 ff ff ff       add    %eax,-0xac(%ebp)
14680 4000c8d6:       8b 45 9c                mov    -0x64(%ebp),%eax
14681 4000c8d9:       c1 e8 03                shr    $0x3,%eax
14682 4000c8dc:       83 f8 1f                cmp    $0x1f,%eax
14683 4000c8df:       0f 87 06 01 00 00       ja     4000c9eb <free+0x790>
14684 4000c8e5:       8b 85 58 ff ff ff       mov    -0xa8(%ebp),%eax
14685 4000c8eb:       8b 40 08                mov    0x8(%eax),%eax
14686 4000c8ee:       89 45 a0                mov    %eax,-0x60(%ebp)
14687 4000c8f1:       8b 85 58 ff ff ff       mov    -0xa8(%ebp),%eax
14688 4000c8f7:       8b 40 0c                mov    0xc(%eax),%eax
14689 4000c8fa:       89 45 a4                mov    %eax,-0x5c(%ebp)
14690 4000c8fd:       8b 45 9c                mov    -0x64(%ebp),%eax
14691 4000c900:       c1 e8 03                shr    $0x3,%eax
14692 4000c903:       89 45 a8                mov    %eax,-0x58(%ebp)
14693 4000c906:       8b 45 a0                mov    -0x60(%ebp),%eax
14694 4000c909:       3b 45 a4                cmp    -0x5c(%ebp),%eax
14695 4000c90c:       75 1e                   jne    4000c92c <free+0x6d1>
14696 4000c90e:       8b 15 c0 42 01 40       mov    0x400142c0,%edx
14697 4000c914:       8b 4d a8                mov    -0x58(%ebp),%ecx
14698 4000c917:       b8 01 00 00 00          mov    $0x1,%eax
14699 4000c91c:       d3 e0                   shl    %cl,%eax
14700 4000c91e:       f7 d0                   not    %eax
14701 4000c920:       21 d0                   and    %edx,%eax
14702 4000c922:       a3 c0 42 01 40          mov    %eax,0x400142c0
14703 4000c927:       e9 e9 02 00 00          jmp    4000cc15 <free+0x9ba>
14704 4000c92c:       ba e4 42 01 40          mov    $0x400142e4,%edx
14705 4000c931:       8b 45 a8                mov    -0x58(%ebp),%eax
14706 4000c934:       c1 e0 03                shl    $0x3,%eax
14707 4000c937:       8d 04 02                lea    (%edx,%eax,1),%eax
14708 4000c93a:       3b 45 a0                cmp    -0x60(%ebp),%eax
14709 4000c93d:       0f 94 c0                sete   %al
14710 4000c940:       0f b6 c0                movzbl %al,%eax
14711 4000c943:       85 c0                   test   %eax,%eax
14712 4000c945:       75 15                   jne    4000c95c <free+0x701>
14713 4000c947:       8b 15 d0 42 01 40       mov    0x400142d0,%edx
14714 4000c94d:       8b 45 a0                mov    -0x60(%ebp),%eax
14715 4000c950:       39 c2                   cmp    %eax,%edx
14716 4000c952:       0f 96 c0                setbe  %al
14717 4000c955:       0f b6 c0                movzbl %al,%eax
14718 4000c958:       85 c0                   test   %eax,%eax
14719 4000c95a:       74 0c                   je     4000c968 <free+0x70d>
14720 4000c95c:       c7 85 44 ff ff ff 01    movl   $0x1,-0xbc(%ebp)
14721 4000c963:       00 00 00 
14722 4000c966:       eb 0a                   jmp    4000c972 <free+0x717>
14723 4000c968:       c7 85 44 ff ff ff 00    movl   $0x0,-0xbc(%ebp)
14724 4000c96f:       00 00 00 
14725 4000c972:       83 bd 44 ff ff ff 00    cmpl   $0x0,-0xbc(%ebp)
14726 4000c979:       74 66                   je     4000c9e1 <free+0x786>
14727 4000c97b:       ba e4 42 01 40          mov    $0x400142e4,%edx
14728 4000c980:       8b 45 a8                mov    -0x58(%ebp),%eax
14729 4000c983:       c1 e0 03                shl    $0x3,%eax
14730 4000c986:       8d 04 02                lea    (%edx,%eax,1),%eax
14731 4000c989:       3b 45 a4                cmp    -0x5c(%ebp),%eax
14732 4000c98c:       0f 94 c0                sete   %al
14733 4000c98f:       0f b6 c0                movzbl %al,%eax
14734 4000c992:       85 c0                   test   %eax,%eax
14735 4000c994:       75 15                   jne    4000c9ab <free+0x750>
14736 4000c996:       8b 15 d0 42 01 40       mov    0x400142d0,%edx
14737 4000c99c:       8b 45 a4                mov    -0x5c(%ebp),%eax
14738 4000c99f:       39 c2                   cmp    %eax,%edx
14739 4000c9a1:       0f 96 c0                setbe  %al
14740 4000c9a4:       0f b6 c0                movzbl %al,%eax
14741 4000c9a7:       85 c0                   test   %eax,%eax
14742 4000c9a9:       74 0c                   je     4000c9b7 <free+0x75c>
14743 4000c9ab:       c7 85 48 ff ff ff 01    movl   $0x1,-0xb8(%ebp)
14744 4000c9b2:       00 00 00 
14745 4000c9b5:       eb 0a                   jmp    4000c9c1 <free+0x766>
14746 4000c9b7:       c7 85 48 ff ff ff 00    movl   $0x0,-0xb8(%ebp)
14747 4000c9be:       00 00 00 
14748 4000c9c1:       83 bd 48 ff ff ff 00    cmpl   $0x0,-0xb8(%ebp)
14749 4000c9c8:       74 17                   je     4000c9e1 <free+0x786>
14750 4000c9ca:       8b 55 a0                mov    -0x60(%ebp),%edx
14751 4000c9cd:       8b 45 a4                mov    -0x5c(%ebp),%eax
14752 4000c9d0:       89 42 0c                mov    %eax,0xc(%edx)
14753 4000c9d3:       8b 55 a4                mov    -0x5c(%ebp),%edx
14754 4000c9d6:       8b 45 a0                mov    -0x60(%ebp),%eax
14755 4000c9d9:       89 42 08                mov    %eax,0x8(%edx)
14756 4000c9dc:       e9 34 02 00 00          jmp    4000cc15 <free+0x9ba>
14757 4000c9e1:       e8 b2 4e 00 00          call   40011898 <abort>
14758 4000c9e6:       e9 2a 02 00 00          jmp    4000cc15 <free+0x9ba>
14759 4000c9eb:       8b 85 58 ff ff ff       mov    -0xa8(%ebp),%eax
14760 4000c9f1:       89 45 ac                mov    %eax,-0x54(%ebp)
14761 4000c9f4:       8b 45 ac                mov    -0x54(%ebp),%eax
14762 4000c9f7:       8b 40 18                mov    0x18(%eax),%eax
14763 4000c9fa:       89 45 b0                mov    %eax,-0x50(%ebp)
14764 4000c9fd:       8b 45 ac                mov    -0x54(%ebp),%eax
14765 4000ca00:       8b 40 0c                mov    0xc(%eax),%eax
14766 4000ca03:       3b 45 ac                cmp    -0x54(%ebp),%eax
14767 4000ca06:       74 48                   je     4000ca50 <free+0x7f5>
14768 4000ca08:       8b 45 ac                mov    -0x54(%ebp),%eax
14769 4000ca0b:       8b 40 08                mov    0x8(%eax),%eax
14770 4000ca0e:       89 45 b8                mov    %eax,-0x48(%ebp)
14771 4000ca11:       8b 45 ac                mov    -0x54(%ebp),%eax
14772 4000ca14:       8b 40 0c                mov    0xc(%eax),%eax
14773 4000ca17:       89 45 b4                mov    %eax,-0x4c(%ebp)
14774 4000ca1a:       8b 15 d0 42 01 40       mov    0x400142d0,%edx
14775 4000ca20:       8b 45 b8                mov    -0x48(%ebp),%eax
14776 4000ca23:       39 c2                   cmp    %eax,%edx
14777 4000ca25:       0f 96 c0                setbe  %al
14778 4000ca28:       0f b6 c0                movzbl %al,%eax
14779 4000ca2b:       85 c0                   test   %eax,%eax
14780 4000ca2d:       74 17                   je     4000ca46 <free+0x7eb>
14781 4000ca2f:       8b 55 b8                mov    -0x48(%ebp),%edx
14782 4000ca32:       8b 45 b4                mov    -0x4c(%ebp),%eax
14783 4000ca35:       89 42 0c                mov    %eax,0xc(%edx)
14784 4000ca38:       8b 55 b4                mov    -0x4c(%ebp),%edx
14785 4000ca3b:       8b 45 b8                mov    -0x48(%ebp),%eax
14786 4000ca3e:       89 42 08                mov    %eax,0x8(%edx)
14787 4000ca41:       e9 91 00 00 00          jmp    4000cad7 <free+0x87c>
14788 4000ca46:       e8 4d 4e 00 00          call   40011898 <abort>
14789 4000ca4b:       e9 87 00 00 00          jmp    4000cad7 <free+0x87c>
14790 4000ca50:       8b 45 ac                mov    -0x54(%ebp),%eax
14791 4000ca53:       83 c0 14                add    $0x14,%eax
14792 4000ca56:       89 45 bc                mov    %eax,-0x44(%ebp)
14793 4000ca59:       8b 45 bc                mov    -0x44(%ebp),%eax
14794 4000ca5c:       8b 00                   mov    (%eax),%eax
14795 4000ca5e:       89 45 b4                mov    %eax,-0x4c(%ebp)
14796 4000ca61:       83 7d b4 00             cmpl   $0x0,-0x4c(%ebp)
14797 4000ca65:       75 27                   jne    4000ca8e <free+0x833>
14798 4000ca67:       8b 45 ac                mov    -0x54(%ebp),%eax
14799 4000ca6a:       83 c0 10                add    $0x10,%eax
14800 4000ca6d:       89 45 bc                mov    %eax,-0x44(%ebp)
14801 4000ca70:       8b 45 bc                mov    -0x44(%ebp),%eax
14802 4000ca73:       8b 00                   mov    (%eax),%eax
14803 4000ca75:       89 45 b4                mov    %eax,-0x4c(%ebp)
14804 4000ca78:       83 7d b4 00             cmpl   $0x0,-0x4c(%ebp)
14805 4000ca7c:       74 59                   je     4000cad7 <free+0x87c>
14806 4000ca7e:       eb 0e                   jmp    4000ca8e <free+0x833>
14807 4000ca80:       8b 45 c0                mov    -0x40(%ebp),%eax
14808 4000ca83:       89 45 bc                mov    %eax,-0x44(%ebp)
14809 4000ca86:       8b 45 bc                mov    -0x44(%ebp),%eax
14810 4000ca89:       8b 00                   mov    (%eax),%eax
14811 4000ca8b:       89 45 b4                mov    %eax,-0x4c(%ebp)
14812 4000ca8e:       8b 45 b4                mov    -0x4c(%ebp),%eax
14813 4000ca91:       83 c0 14                add    $0x14,%eax
14814 4000ca94:       89 45 c0                mov    %eax,-0x40(%ebp)
14815 4000ca97:       8b 45 c0                mov    -0x40(%ebp),%eax
14816 4000ca9a:       8b 00                   mov    (%eax),%eax
14817 4000ca9c:       85 c0                   test   %eax,%eax
14818 4000ca9e:       75 e0                   jne    4000ca80 <free+0x825>
14819 4000caa0:       8b 45 b4                mov    -0x4c(%ebp),%eax
14820 4000caa3:       83 c0 10                add    $0x10,%eax
14821 4000caa6:       89 45 c0                mov    %eax,-0x40(%ebp)
14822 4000caa9:       8b 45 c0                mov    -0x40(%ebp),%eax
14823 4000caac:       8b 00                   mov    (%eax),%eax
14824 4000caae:       85 c0                   test   %eax,%eax
14825 4000cab0:       75 ce                   jne    4000ca80 <free+0x825>
14826 4000cab2:       8b 15 d0 42 01 40       mov    0x400142d0,%edx
14827 4000cab8:       8b 45 bc                mov    -0x44(%ebp),%eax
14828 4000cabb:       39 c2                   cmp    %eax,%edx
14829 4000cabd:       0f 96 c0                setbe  %al
14830 4000cac0:       0f b6 c0                movzbl %al,%eax
14831 4000cac3:       85 c0                   test   %eax,%eax
14832 4000cac5:       74 0b                   je     4000cad2 <free+0x877>
14833 4000cac7:       8b 45 bc                mov    -0x44(%ebp),%eax
14834 4000caca:       c7 00 00 00 00 00       movl   $0x0,(%eax)
14835 4000cad0:       eb 05                   jmp    4000cad7 <free+0x87c>
14836 4000cad2:       e8 c1 4d 00 00          call   40011898 <abort>
14837 4000cad7:       83 7d b0 00             cmpl   $0x0,-0x50(%ebp)
14838 4000cadb:       0f 84 34 01 00 00       je     4000cc15 <free+0x9ba>
14839 4000cae1:       8b 45 ac                mov    -0x54(%ebp),%eax
14840 4000cae4:       8b 40 1c                mov    0x1c(%eax),%eax
14841 4000cae7:       c1 e0 02                shl    $0x2,%eax
14842 4000caea:       05 ec 43 01 40          add    $0x400143ec,%eax
14843 4000caef:       89 45 c4                mov    %eax,-0x3c(%ebp)
14844 4000caf2:       8b 45 c4                mov    -0x3c(%ebp),%eax
14845 4000caf5:       8b 00                   mov    (%eax),%eax
14846 4000caf7:       3b 45 ac                cmp    -0x54(%ebp),%eax
14847 4000cafa:       75 31                   jne    4000cb2d <free+0x8d2>
14848 4000cafc:       8b 55 c4                mov    -0x3c(%ebp),%edx
14849 4000caff:       8b 45 b4                mov    -0x4c(%ebp),%eax
14850 4000cb02:       89 02                   mov    %eax,(%edx)
14851 4000cb04:       8b 45 c4                mov    -0x3c(%ebp),%eax
14852 4000cb07:       8b 00                   mov    (%eax),%eax
14853 4000cb09:       85 c0                   test   %eax,%eax
14854 4000cb0b:       75 5b                   jne    4000cb68 <free+0x90d>
14855 4000cb0d:       8b 15 c4 42 01 40       mov    0x400142c4,%edx
14856 4000cb13:       8b 45 ac                mov    -0x54(%ebp),%eax
14857 4000cb16:       8b 40 1c                mov    0x1c(%eax),%eax
14858 4000cb19:       89 c1                   mov    %eax,%ecx
14859 4000cb1b:       b8 01 00 00 00          mov    $0x1,%eax
14860 4000cb20:       d3 e0                   shl    %cl,%eax
14861 4000cb22:       f7 d0                   not    %eax
14862 4000cb24:       21 d0                   and    %edx,%eax
14863 4000cb26:       a3 c4 42 01 40          mov    %eax,0x400142c4
14864 4000cb2b:       eb 3b                   jmp    4000cb68 <free+0x90d>
14865 4000cb2d:       8b 15 d0 42 01 40       mov    0x400142d0,%edx
14866 4000cb33:       8b 45 b0                mov    -0x50(%ebp),%eax
14867 4000cb36:       39 c2                   cmp    %eax,%edx
14868 4000cb38:       0f 96 c0                setbe  %al
14869 4000cb3b:       0f b6 c0                movzbl %al,%eax
14870 4000cb3e:       85 c0                   test   %eax,%eax
14871 4000cb40:       74 21                   je     4000cb63 <free+0x908>
14872 4000cb42:       8b 45 b0                mov    -0x50(%ebp),%eax
14873 4000cb45:       8b 40 10                mov    0x10(%eax),%eax
14874 4000cb48:       3b 45 ac                cmp    -0x54(%ebp),%eax
14875 4000cb4b:       75 0b                   jne    4000cb58 <free+0x8fd>
14876 4000cb4d:       8b 55 b0                mov    -0x50(%ebp),%edx
14877 4000cb50:       8b 45 b4                mov    -0x4c(%ebp),%eax
14878 4000cb53:       89 42 10                mov    %eax,0x10(%edx)
14879 4000cb56:       eb 10                   jmp    4000cb68 <free+0x90d>
14880 4000cb58:       8b 55 b0                mov    -0x50(%ebp),%edx
14881 4000cb5b:       8b 45 b4                mov    -0x4c(%ebp),%eax
14882 4000cb5e:       89 42 14                mov    %eax,0x14(%edx)
14883 4000cb61:       eb 05                   jmp    4000cb68 <free+0x90d>
14884 4000cb63:       e8 30 4d 00 00          call   40011898 <abort>
14885 4000cb68:       83 7d b4 00             cmpl   $0x0,-0x4c(%ebp)
14886 4000cb6c:       0f 84 a3 00 00 00       je     4000cc15 <free+0x9ba>
14887 4000cb72:       8b 15 d0 42 01 40       mov    0x400142d0,%edx
14888 4000cb78:       8b 45 b4                mov    -0x4c(%ebp),%eax
14889 4000cb7b:       39 c2                   cmp    %eax,%edx
14890 4000cb7d:       0f 96 c0                setbe  %al
14891 4000cb80:       0f b6 c0                movzbl %al,%eax
14892 4000cb83:       85 c0                   test   %eax,%eax
14893 4000cb85:       0f 84 85 00 00 00       je     4000cc10 <free+0x9b5>
14894 4000cb8b:       8b 55 b4                mov    -0x4c(%ebp),%edx
14895 4000cb8e:       8b 45 b0                mov    -0x50(%ebp),%eax
14896 4000cb91:       89 42 18                mov    %eax,0x18(%edx)
14897 4000cb94:       8b 45 ac                mov    -0x54(%ebp),%eax
14898 4000cb97:       8b 40 10                mov    0x10(%eax),%eax
14899 4000cb9a:       89 45 c8                mov    %eax,-0x38(%ebp)
14900 4000cb9d:       83 7d c8 00             cmpl   $0x0,-0x38(%ebp)
14901 4000cba1:       74 2e                   je     4000cbd1 <free+0x976>
14902 4000cba3:       8b 15 d0 42 01 40       mov    0x400142d0,%edx
14903 4000cba9:       8b 45 c8                mov    -0x38(%ebp),%eax
14904 4000cbac:       39 c2                   cmp    %eax,%edx
14905 4000cbae:       0f 96 c0                setbe  %al
14906 4000cbb1:       0f b6 c0                movzbl %al,%eax
14907 4000cbb4:       85 c0                   test   %eax,%eax
14908 4000cbb6:       74 14                   je     4000cbcc <free+0x971>
14909 4000cbb8:       8b 55 b4                mov    -0x4c(%ebp),%edx
14910 4000cbbb:       8b 45 c8                mov    -0x38(%ebp),%eax
14911 4000cbbe:       89 42 10                mov    %eax,0x10(%edx)
14912 4000cbc1:       8b 55 c8                mov    -0x38(%ebp),%edx
14913 4000cbc4:       8b 45 b4                mov    -0x4c(%ebp),%eax
14914 4000cbc7:       89 42 18                mov    %eax,0x18(%edx)
14915 4000cbca:       eb 05                   jmp    4000cbd1 <free+0x976>
14916 4000cbcc:       e8 c7 4c 00 00          call   40011898 <abort>
14917 4000cbd1:       8b 45 ac                mov    -0x54(%ebp),%eax
14918 4000cbd4:       8b 40 14                mov    0x14(%eax),%eax
14919 4000cbd7:       89 45 cc                mov    %eax,-0x34(%ebp)
14920 4000cbda:       83 7d cc 00             cmpl   $0x0,-0x34(%ebp)
14921 4000cbde:       74 35                   je     4000cc15 <free+0x9ba>
14922 4000cbe0:       8b 15 d0 42 01 40       mov    0x400142d0,%edx
14923 4000cbe6:       8b 45 cc                mov    -0x34(%ebp),%eax
14924 4000cbe9:       39 c2                   cmp    %eax,%edx
14925 4000cbeb:       0f 96 c0                setbe  %al
14926 4000cbee:       0f b6 c0                movzbl %al,%eax
14927 4000cbf1:       85 c0                   test   %eax,%eax
14928 4000cbf3:       74 14                   je     4000cc09 <free+0x9ae>
14929 4000cbf5:       8b 55 b4                mov    -0x4c(%ebp),%edx
14930 4000cbf8:       8b 45 cc                mov    -0x34(%ebp),%eax
14931 4000cbfb:       89 42 14                mov    %eax,0x14(%edx)
14932 4000cbfe:       8b 55 cc                mov    -0x34(%ebp),%edx
14933 4000cc01:       8b 45 b4                mov    -0x4c(%ebp),%eax
14934 4000cc04:       89 42 18                mov    %eax,0x18(%edx)
14935 4000cc07:       eb 0c                   jmp    4000cc15 <free+0x9ba>
14936 4000cc09:       e8 8a 4c 00 00          call   40011898 <abort>
14937 4000cc0e:       eb 05                   jmp    4000cc15 <free+0x9ba>
14938 4000cc10:       e8 83 4c 00 00          call   40011898 <abort>
14939 4000cc15:       8b 85 54 ff ff ff       mov    -0xac(%ebp),%eax
14940 4000cc1b:       89 c2                   mov    %eax,%edx
14941 4000cc1d:       83 ca 01                or     $0x1,%edx
14942 4000cc20:       8b 85 50 ff ff ff       mov    -0xb0(%ebp),%eax
14943 4000cc26:       89 50 04                mov    %edx,0x4(%eax)
14944 4000cc29:       8b 95 54 ff ff ff       mov    -0xac(%ebp),%edx
14945 4000cc2f:       8b 85 50 ff ff ff       mov    -0xb0(%ebp),%eax
14946 4000cc35:       8d 14 10                lea    (%eax,%edx,1),%edx
14947 4000cc38:       8b 85 54 ff ff ff       mov    -0xac(%ebp),%eax
14948 4000cc3e:       89 02                   mov    %eax,(%edx)
14949 4000cc40:       a1 d4 42 01 40          mov    0x400142d4,%eax
14950 4000cc45:       3b 85 50 ff ff ff       cmp    -0xb0(%ebp),%eax
14951 4000cc4b:       75 52                   jne    4000cc9f <free+0xa44>
14952 4000cc4d:       8b 85 54 ff ff ff       mov    -0xac(%ebp),%eax
14953 4000cc53:       a3 c8 42 01 40          mov    %eax,0x400142c8
14954 4000cc58:       e9 17 03 00 00          jmp    4000cf74 <free+0xd19>
14955 4000cc5d:       8b 85 58 ff ff ff       mov    -0xa8(%ebp),%eax
14956 4000cc63:       8b 40 04                mov    0x4(%eax),%eax
14957 4000cc66:       89 c2                   mov    %eax,%edx
14958 4000cc68:       83 e2 fe                and    $0xfffffffe,%edx
14959 4000cc6b:       8b 85 58 ff ff ff       mov    -0xa8(%ebp),%eax
14960 4000cc71:       89 50 04                mov    %edx,0x4(%eax)
14961 4000cc74:       8b 85 54 ff ff ff       mov    -0xac(%ebp),%eax
14962 4000cc7a:       89 c2                   mov    %eax,%edx
14963 4000cc7c:       83 ca 01                or     $0x1,%edx
14964 4000cc7f:       8b 85 50 ff ff ff       mov    -0xb0(%ebp),%eax
14965 4000cc85:       89 50 04                mov    %edx,0x4(%eax)
14966 4000cc88:       8b 95 54 ff ff ff       mov    -0xac(%ebp),%edx
14967 4000cc8e:       8b 85 50 ff ff ff       mov    -0xb0(%ebp),%eax
14968 4000cc94:       8d 14 10                lea    (%eax,%edx,1),%edx
14969 4000cc97:       8b 85 54 ff ff ff       mov    -0xac(%ebp),%eax
14970 4000cc9d:       89 02                   mov    %eax,(%edx)
14971 4000cc9f:       8b 85 54 ff ff ff       mov    -0xac(%ebp),%eax
14972 4000cca5:       c1 e8 03                shr    $0x3,%eax
14973 4000cca8:       83 f8 1f                cmp    $0x1f,%eax
14974 4000ccab:       0f 87 b0 00 00 00       ja     4000cd61 <free+0xb06>
14975 4000ccb1:       8b 85 54 ff ff ff       mov    -0xac(%ebp),%eax
14976 4000ccb7:       c1 e8 03                shr    $0x3,%eax
14977 4000ccba:       89 45 d0                mov    %eax,-0x30(%ebp)
14978 4000ccbd:       ba e4 42 01 40          mov    $0x400142e4,%edx
14979 4000ccc2:       8b 45 d0                mov    -0x30(%ebp),%eax
14980 4000ccc5:       c1 e0 03                shl    $0x3,%eax
14981 4000ccc8:       8d 04 02                lea    (%edx,%eax,1),%eax
14982 4000cccb:       89 45 d4                mov    %eax,-0x2c(%ebp)
14983 4000ccce:       8b 45 d4                mov    -0x2c(%ebp),%eax
14984 4000ccd1:       89 45 d8                mov    %eax,-0x28(%ebp)
14985 4000ccd4:       8b 15 c0 42 01 40       mov    0x400142c0,%edx
14986 4000ccda:       8b 4d d0                mov    -0x30(%ebp),%ecx
14987 4000ccdd:       b8 01 00 00 00          mov    $0x1,%eax
14988 4000cce2:       d3 e0                   shl    %cl,%eax
14989 4000cce4:       21 d0                   and    %edx,%eax
14990 4000cce6:       85 c0                   test   %eax,%eax
14991 4000cce8:       75 19                   jne    4000cd03 <free+0xaa8>
14992 4000ccea:       8b 15 c0 42 01 40       mov    0x400142c0,%edx
14993 4000ccf0:       8b 4d d0                mov    -0x30(%ebp),%ecx
14994 4000ccf3:       b8 01 00 00 00          mov    $0x1,%eax
14995 4000ccf8:       d3 e0                   shl    %cl,%eax
14996 4000ccfa:       09 d0                   or     %edx,%eax
14997 4000ccfc:       a3 c0 42 01 40          mov    %eax,0x400142c0
14998 4000cd01:       eb 29                   jmp    4000cd2c <free+0xad1>
14999 4000cd03:       8b 45 d4                mov    -0x2c(%ebp),%eax
15000 4000cd06:       8b 40 08                mov    0x8(%eax),%eax
15001 4000cd09:       89 c2                   mov    %eax,%edx
15002 4000cd0b:       a1 d0 42 01 40          mov    0x400142d0,%eax
15003 4000cd10:       39 c2                   cmp    %eax,%edx
15004 4000cd12:       0f 93 c0                setae  %al
15005 4000cd15:       0f b6 c0                movzbl %al,%eax
15006 4000cd18:       85 c0                   test   %eax,%eax
15007 4000cd1a:       74 0b                   je     4000cd27 <free+0xacc>
15008 4000cd1c:       8b 45 d4                mov    -0x2c(%ebp),%eax
15009 4000cd1f:       8b 40 08                mov    0x8(%eax),%eax
15010 4000cd22:       89 45 d8                mov    %eax,-0x28(%ebp)
15011 4000cd25:       eb 05                   jmp    4000cd2c <free+0xad1>
15012 4000cd27:       e8 6c 4b 00 00          call   40011898 <abort>
15013 4000cd2c:       8b 55 d4                mov    -0x2c(%ebp),%edx
15014 4000cd2f:       8b 85 50 ff ff ff       mov    -0xb0(%ebp),%eax
15015 4000cd35:       89 42 08                mov    %eax,0x8(%edx)
15016 4000cd38:       8b 55 d8                mov    -0x28(%ebp),%edx
15017 4000cd3b:       8b 85 50 ff ff ff       mov    -0xb0(%ebp),%eax
15018 4000cd41:       89 42 0c                mov    %eax,0xc(%edx)
15019 4000cd44:       8b 95 50 ff ff ff       mov    -0xb0(%ebp),%edx
15020 4000cd4a:       8b 45 d8                mov    -0x28(%ebp),%eax
15021 4000cd4d:       89 42 08                mov    %eax,0x8(%edx)
15022 4000cd50:       8b 95 50 ff ff ff       mov    -0xb0(%ebp),%edx
15023 4000cd56:       8b 45 d4                mov    -0x2c(%ebp),%eax
15024 4000cd59:       89 42 0c                mov    %eax,0xc(%edx)
15025 4000cd5c:       e9 13 02 00 00          jmp    4000cf74 <free+0xd19>
15026 4000cd61:       8b 85 50 ff ff ff       mov    -0xb0(%ebp),%eax
15027 4000cd67:       89 45 dc                mov    %eax,-0x24(%ebp)
15028 4000cd6a:       8b 85 54 ff ff ff       mov    -0xac(%ebp),%eax
15029 4000cd70:       c1 e8 08                shr    $0x8,%eax
15030 4000cd73:       89 45 e8                mov    %eax,-0x18(%ebp)
15031 4000cd76:       83 7d e8 00             cmpl   $0x0,-0x18(%ebp)
15032 4000cd7a:       75 09                   jne    4000cd85 <free+0xb2a>
15033 4000cd7c:       c7 45 e4 00 00 00 00    movl   $0x0,-0x1c(%ebp)
15034 4000cd83:       eb 38                   jmp    4000cdbd <free+0xb62>
15035 4000cd85:       81 7d e8 ff ff 00 00    cmpl   $0xffff,-0x18(%ebp)
15036 4000cd8c:       76 09                   jbe    4000cd97 <free+0xb3c>
15037 4000cd8e:       c7 45 e4 1f 00 00 00    movl   $0x1f,-0x1c(%ebp)
15038 4000cd95:       eb 26                   jmp    4000cdbd <free+0xb62>
15039 4000cd97:       0f bd 45 e8             bsr    -0x18(%ebp),%eax
15040 4000cd9b:       89 45 ec                mov    %eax,-0x14(%ebp)
15041 4000cd9e:       8b 45 ec                mov    -0x14(%ebp),%eax
15042 4000cda1:       8d 14 00                lea    (%eax,%eax,1),%edx
15043 4000cda4:       8b 45 ec                mov    -0x14(%ebp),%eax
15044 4000cda7:       83 c0 07                add    $0x7,%eax
15045 4000cdaa:       89 c1                   mov    %eax,%ecx
15046 4000cdac:       8b 85 54 ff ff ff       mov    -0xac(%ebp),%eax
15047 4000cdb2:       d3 e8                   shr    %cl,%eax
15048 4000cdb4:       83 e0 01                and    $0x1,%eax
15049 4000cdb7:       8d 04 02                lea    (%edx,%eax,1),%eax
15050 4000cdba:       89 45 e4                mov    %eax,-0x1c(%ebp)
15051 4000cdbd:       8b 45 e4                mov    -0x1c(%ebp),%eax
15052 4000cdc0:       c1 e0 02                shl    $0x2,%eax
15053 4000cdc3:       05 ec 43 01 40          add    $0x400143ec,%eax
15054 4000cdc8:       89 45 e0                mov    %eax,-0x20(%ebp)
15055 4000cdcb:       8b 55 dc                mov    -0x24(%ebp),%edx
15056 4000cdce:       8b 45 e4                mov    -0x1c(%ebp),%eax
15057 4000cdd1:       89 42 1c                mov    %eax,0x1c(%edx)
15058 4000cdd4:       8b 45 dc                mov    -0x24(%ebp),%eax
15059 4000cdd7:       c7 40 14 00 00 00 00    movl   $0x0,0x14(%eax)
15060 4000cdde:       8b 45 dc                mov    -0x24(%ebp),%eax
15061 4000cde1:       8b 50 14                mov    0x14(%eax),%edx
15062 4000cde4:       8b 45 dc                mov    -0x24(%ebp),%eax
15063 4000cde7:       89 50 10                mov    %edx,0x10(%eax)
15064 4000cdea:       8b 15 c4 42 01 40       mov    0x400142c4,%edx
15065 4000cdf0:       8b 4d e4                mov    -0x1c(%ebp),%ecx
15066 4000cdf3:       b8 01 00 00 00          mov    $0x1,%eax
15067 4000cdf8:       d3 e0                   shl    %cl,%eax
15068 4000cdfa:       21 d0                   and    %edx,%eax
15069 4000cdfc:       85 c0                   test   %eax,%eax
15070 4000cdfe:       75 42                   jne    4000ce42 <free+0xbe7>
15071 4000ce00:       8b 15 c4 42 01 40       mov    0x400142c4,%edx
15072 4000ce06:       8b 4d e4                mov    -0x1c(%ebp),%ecx
15073 4000ce09:       b8 01 00 00 00          mov    $0x1,%eax
15074 4000ce0e:       d3 e0                   shl    %cl,%eax
15075 4000ce10:       09 d0                   or     %edx,%eax
15076 4000ce12:       a3 c4 42 01 40          mov    %eax,0x400142c4
15077 4000ce17:       8b 55 e0                mov    -0x20(%ebp),%edx
15078 4000ce1a:       8b 45 dc                mov    -0x24(%ebp),%eax
15079 4000ce1d:       89 02                   mov    %eax,(%edx)
15080 4000ce1f:       8b 55 e0                mov    -0x20(%ebp),%edx
15081 4000ce22:       8b 45 dc                mov    -0x24(%ebp),%eax
15082 4000ce25:       89 50 18                mov    %edx,0x18(%eax)
15083 4000ce28:       8b 55 dc                mov    -0x24(%ebp),%edx
15084 4000ce2b:       8b 45 dc                mov    -0x24(%ebp),%eax
15085 4000ce2e:       89 42 0c                mov    %eax,0xc(%edx)
15086 4000ce31:       8b 45 dc                mov    -0x24(%ebp),%eax
15087 4000ce34:       8b 50 0c                mov    0xc(%eax),%edx
15088 4000ce37:       8b 45 dc                mov    -0x24(%ebp),%eax
15089 4000ce3a:       89 50 08                mov    %edx,0x8(%eax)
15090 4000ce3d:       e9 32 01 00 00          jmp    4000cf74 <free+0xd19>
15091 4000ce42:       8b 45 e0                mov    -0x20(%ebp),%eax
15092 4000ce45:       8b 00                   mov    (%eax),%eax
15093 4000ce47:       89 45 f0                mov    %eax,-0x10(%ebp)
15094 4000ce4a:       83 7d e4 1f             cmpl   $0x1f,-0x1c(%ebp)
15095 4000ce4e:       74 16                   je     4000ce66 <free+0xc0b>
15096 4000ce50:       8b 45 e4                mov    -0x1c(%ebp),%eax
15097 4000ce53:       89 c2                   mov    %eax,%edx
15098 4000ce55:       d1 ea                   shr    %edx
15099 4000ce57:       b8 19 00 00 00          mov    $0x19,%eax
15100 4000ce5c:       29 d0                   sub    %edx,%eax
15101 4000ce5e:       89 85 4c ff ff ff       mov    %eax,-0xb4(%ebp)
15102 4000ce64:       eb 0a                   jmp    4000ce70 <free+0xc15>
15103 4000ce66:       c7 85 4c ff ff ff 00    movl   $0x0,-0xb4(%ebp)
15104 4000ce6d:       00 00 00 
15105 4000ce70:       8b 85 54 ff ff ff       mov    -0xac(%ebp),%eax
15106 4000ce76:       0f b6 8d 4c ff ff ff    movzbl -0xb4(%ebp),%ecx
15107 4000ce7d:       d3 e0                   shl    %cl,%eax
15108 4000ce7f:       89 45 f4                mov    %eax,-0xc(%ebp)
15109 4000ce82:       8b 45 f0                mov    -0x10(%ebp),%eax
15110 4000ce85:       8b 40 04                mov    0x4(%eax),%eax
15111 4000ce88:       83 e0 fc                and    $0xfffffffc,%eax
15112 4000ce8b:       3b 85 54 ff ff ff       cmp    -0xac(%ebp),%eax
15113 4000ce91:       74 6f                   je     4000cf02 <free+0xca7>
15114 4000ce93:       8b 45 f0                mov    -0x10(%ebp),%eax
15115 4000ce96:       8d 50 10                lea    0x10(%eax),%edx
15116 4000ce99:       8b 45 f4                mov    -0xc(%ebp),%eax
15117 4000ce9c:       c1 e8 1f                shr    $0x1f,%eax
15118 4000ce9f:       c1 e0 02                shl    $0x2,%eax
15119 4000cea2:       8d 04 02                lea    (%edx,%eax,1),%eax
15120 4000cea5:       89 45 f8                mov    %eax,-0x8(%ebp)
15121 4000cea8:       d1 65 f4                shll   -0xc(%ebp)
15122 4000ceab:       8b 45 f8                mov    -0x8(%ebp),%eax
15123 4000ceae:       8b 00                   mov    (%eax),%eax
15124 4000ceb0:       85 c0                   test   %eax,%eax
15125 4000ceb2:       74 0a                   je     4000cebe <free+0xc63>
15126 4000ceb4:       8b 45 f8                mov    -0x8(%ebp),%eax
15127 4000ceb7:       8b 00                   mov    (%eax),%eax
15128 4000ceb9:       89 45 f0                mov    %eax,-0x10(%ebp)
15129 4000cebc:       eb c4                   jmp    4000ce82 <free+0xc27>
15130 4000cebe:       8b 15 d0 42 01 40       mov    0x400142d0,%edx
15131 4000cec4:       8b 45 f8                mov    -0x8(%ebp),%eax
15132 4000cec7:       39 c2                   cmp    %eax,%edx
15133 4000cec9:       0f 96 c0                setbe  %al
15134 4000cecc:       0f b6 c0                movzbl %al,%eax
15135 4000cecf:       85 c0                   test   %eax,%eax
15136 4000ced1:       74 28                   je     4000cefb <free+0xca0>
15137 4000ced3:       8b 55 f8                mov    -0x8(%ebp),%edx
15138 4000ced6:       8b 45 dc                mov    -0x24(%ebp),%eax
15139 4000ced9:       89 02                   mov    %eax,(%edx)
15140 4000cedb:       8b 55 dc                mov    -0x24(%ebp),%edx
15141 4000cede:       8b 45 f0                mov    -0x10(%ebp),%eax
15142 4000cee1:       89 42 18                mov    %eax,0x18(%edx)
15143 4000cee4:       8b 55 dc                mov    -0x24(%ebp),%edx
15144 4000cee7:       8b 45 dc                mov    -0x24(%ebp),%eax
15145 4000ceea:       89 42 0c                mov    %eax,0xc(%edx)
15146 4000ceed:       8b 45 dc                mov    -0x24(%ebp),%eax
15147 4000cef0:       8b 50 0c                mov    0xc(%eax),%edx
15148 4000cef3:       8b 45 dc                mov    -0x24(%ebp),%eax
15149 4000cef6:       89 50 08                mov    %edx,0x8(%eax)
15150 4000cef9:       eb 79                   jmp    4000cf74 <free+0xd19>
15151 4000cefb:       e8 98 49 00 00          call   40011898 <abort>
15152 4000cf00:       eb 72                   jmp    4000cf74 <free+0xd19>
15153 4000cf02:       8b 45 f0                mov    -0x10(%ebp),%eax
15154 4000cf05:       8b 40 08                mov    0x8(%eax),%eax
15155 4000cf08:       89 45 fc                mov    %eax,-0x4(%ebp)
15156 4000cf0b:       8b 15 d0 42 01 40       mov    0x400142d0,%edx
15157 4000cf11:       8b 45 f0                mov    -0x10(%ebp),%eax
15158 4000cf14:       39 c2                   cmp    %eax,%edx
15159 4000cf16:       0f 96 c0                setbe  %al
15160 4000cf19:       0f b6 c0                movzbl %al,%eax
15161 4000cf1c:       85 c0                   test   %eax,%eax
15162 4000cf1e:       74 48                   je     4000cf68 <free+0xd0d>
15163 4000cf20:       8b 15 d0 42 01 40       mov    0x400142d0,%edx
15164 4000cf26:       8b 45 fc                mov    -0x4(%ebp),%eax
15165 4000cf29:       39 c2                   cmp    %eax,%edx
15166 4000cf2b:       0f 96 c0                setbe  %al
15167 4000cf2e:       0f b6 c0                movzbl %al,%eax
15168 4000cf31:       85 c0                   test   %eax,%eax
15169 4000cf33:       74 33                   je     4000cf68 <free+0xd0d>
15170 4000cf35:       8b 55 fc                mov    -0x4(%ebp),%edx
15171 4000cf38:       8b 45 dc                mov    -0x24(%ebp),%eax
15172 4000cf3b:       89 42 0c                mov    %eax,0xc(%edx)
15173 4000cf3e:       8b 45 fc                mov    -0x4(%ebp),%eax
15174 4000cf41:       8b 50 0c                mov    0xc(%eax),%edx
15175 4000cf44:       8b 45 f0                mov    -0x10(%ebp),%eax
15176 4000cf47:       89 50 08                mov    %edx,0x8(%eax)
15177 4000cf4a:       8b 55 dc                mov    -0x24(%ebp),%edx
15178 4000cf4d:       8b 45 fc                mov    -0x4(%ebp),%eax
15179 4000cf50:       89 42 08                mov    %eax,0x8(%edx)
15180 4000cf53:       8b 55 dc                mov    -0x24(%ebp),%edx
15181 4000cf56:       8b 45 f0                mov    -0x10(%ebp),%eax
15182 4000cf59:       89 42 0c                mov    %eax,0xc(%edx)
15183 4000cf5c:       8b 45 dc                mov    -0x24(%ebp),%eax
15184 4000cf5f:       c7 40 18 00 00 00 00    movl   $0x0,0x18(%eax)
15185 4000cf66:       eb 0c                   jmp    4000cf74 <free+0xd19>
15186 4000cf68:       e8 2b 49 00 00          call   40011898 <abort>
15187 4000cf6d:       eb 05                   jmp    4000cf74 <free+0xd19>
15188 4000cf6f:       e8 24 49 00 00          call   40011898 <abort>
15189 4000cf74:       c9                      leave  
15190 4000cf75:       c3                      ret    
15192 4000cf76 <calloc>:
15193 4000cf76:       55                      push   %ebp
15194 4000cf77:       89 e5                   mov    %esp,%ebp
15195 4000cf79:       83 ec 28                sub    $0x28,%esp
15196 4000cf7c:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
15197 4000cf83:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
15198 4000cf87:       74 31                   je     4000cfba <calloc+0x44>
15199 4000cf89:       8b 45 08                mov    0x8(%ebp),%eax
15200 4000cf8c:       0f af 45 0c             imul   0xc(%ebp),%eax
15201 4000cf90:       89 45 fc                mov    %eax,-0x4(%ebp)
15202 4000cf93:       8b 55 0c                mov    0xc(%ebp),%edx
15203 4000cf96:       8b 45 08                mov    0x8(%ebp),%eax
15204 4000cf99:       09 d0                   or     %edx,%eax
15205 4000cf9b:       66 b8 00 00             mov    $0x0,%ax
15206 4000cf9f:       85 c0                   test   %eax,%eax
15207 4000cfa1:       74 17                   je     4000cfba <calloc+0x44>
15208 4000cfa3:       8b 45 fc                mov    -0x4(%ebp),%eax
15209 4000cfa6:       ba 00 00 00 00          mov    $0x0,%edx
15210 4000cfab:       f7 75 08                divl   0x8(%ebp)
15211 4000cfae:       3b 45 0c                cmp    0xc(%ebp),%eax
15212 4000cfb1:       74 07                   je     4000cfba <calloc+0x44>
15213 4000cfb3:       c7 45 fc ff ff ff ff    movl   $0xffffffff,-0x4(%ebp)
15214 4000cfba:       8b 45 fc                mov    -0x4(%ebp),%eax
15215 4000cfbd:       89 04 24                mov    %eax,(%esp)
15216 4000cfc0:       e8 df ed ff ff          call   4000bda4 <malloc>
15217 4000cfc5:       89 45 f8                mov    %eax,-0x8(%ebp)
15218 4000cfc8:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
15219 4000cfcc:       74 1a                   je     4000cfe8 <calloc+0x72>
15220 4000cfce:       8b 45 fc                mov    -0x4(%ebp),%eax
15221 4000cfd1:       89 44 24 08             mov    %eax,0x8(%esp)
15222 4000cfd5:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
15223 4000cfdc:       00 
15224 4000cfdd:       8b 45 f8                mov    -0x8(%ebp),%eax
15225 4000cfe0:       89 04 24                mov    %eax,(%esp)
15226 4000cfe3:       e8 f5 22 00 00          call   4000f2dd <memset>
15227 4000cfe8:       8b 45 f8                mov    -0x8(%ebp),%eax
15228 4000cfeb:       c9                      leave  
15229 4000cfec:       c3                      ret    
15231 4000cfed <realloc>:
15232 4000cfed:       55                      push   %ebp
15233 4000cfee:       89 e5                   mov    %esp,%ebp
15234 4000cff0:       83 ec 28                sub    $0x28,%esp
15235 4000cff3:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
15236 4000cff7:       75 10                   jne    4000d009 <realloc+0x1c>
15237 4000cff9:       8b 45 0c                mov    0xc(%ebp),%eax
15238 4000cffc:       89 04 24                mov    %eax,(%esp)
15239 4000cfff:       e8 a0 ed ff ff          call   4000bda4 <malloc>
15240 4000d004:       89 45 ec                mov    %eax,-0x14(%ebp)
15241 4000d007:       eb 23                   jmp    4000d02c <realloc+0x3f>
15242 4000d009:       c7 45 fc c0 42 01 40    movl   $0x400142c0,-0x4(%ebp)
15243 4000d010:       8b 45 0c                mov    0xc(%ebp),%eax
15244 4000d013:       89 44 24 08             mov    %eax,0x8(%esp)
15245 4000d017:       8b 45 08                mov    0x8(%ebp),%eax
15246 4000d01a:       89 44 24 04             mov    %eax,0x4(%esp)
15247 4000d01e:       8b 45 fc                mov    -0x4(%ebp),%eax
15248 4000d021:       89 04 24                mov    %eax,(%esp)
15249 4000d024:       e8 8c e5 ff ff          call   4000b5b5 <internal_realloc>
15250 4000d029:       89 45 ec                mov    %eax,-0x14(%ebp)
15251 4000d02c:       8b 45 ec                mov    -0x14(%ebp),%eax
15252 4000d02f:       c9                      leave  
15253 4000d030:       c3                      ret    
15255 4000d031 <memalign>:
15256 4000d031:       55                      push   %ebp
15257 4000d032:       89 e5                   mov    %esp,%ebp
15258 4000d034:       83 ec 18                sub    $0x18,%esp
15259 4000d037:       8b 45 0c                mov    0xc(%ebp),%eax
15260 4000d03a:       89 44 24 08             mov    %eax,0x8(%esp)
15261 4000d03e:       8b 45 08                mov    0x8(%ebp),%eax
15262 4000d041:       89 44 24 04             mov    %eax,0x4(%esp)
15263 4000d045:       c7 04 24 c0 42 01 40    movl   $0x400142c0,(%esp)
15264 4000d04c:       e8 24 e8 ff ff          call   4000b875 <internal_memalign>
15265 4000d051:       c9                      leave  
15266 4000d052:       c3                      ret    
15268 4000d053 <independent_calloc>:
15269 4000d053:       55                      push   %ebp
15270 4000d054:       89 e5                   mov    %esp,%ebp
15271 4000d056:       83 ec 28                sub    $0x28,%esp
15272 4000d059:       8b 45 0c                mov    0xc(%ebp),%eax
15273 4000d05c:       89 45 fc                mov    %eax,-0x4(%ebp)
15274 4000d05f:       8b 45 10                mov    0x10(%ebp),%eax
15275 4000d062:       89 44 24 10             mov    %eax,0x10(%esp)
15276 4000d066:       c7 44 24 0c 03 00 00    movl   $0x3,0xc(%esp)
15277 4000d06d:       00 
15278 4000d06e:       8d 45 fc                lea    -0x4(%ebp),%eax
15279 4000d071:       89 44 24 08             mov    %eax,0x8(%esp)
15280 4000d075:       8b 45 08                mov    0x8(%ebp),%eax
15281 4000d078:       89 44 24 04             mov    %eax,0x4(%esp)
15282 4000d07c:       c7 04 24 c0 42 01 40    movl   $0x400142c0,(%esp)
15283 4000d083:       e8 8d ea ff ff          call   4000bb15 <ialloc>
15284 4000d088:       c9                      leave  
15285 4000d089:       c3                      ret    
15287 4000d08a <independent_comalloc>:
15288 4000d08a:       55                      push   %ebp
15289 4000d08b:       89 e5                   mov    %esp,%ebp
15290 4000d08d:       83 ec 18                sub    $0x18,%esp
15291 4000d090:       8b 45 10                mov    0x10(%ebp),%eax
15292 4000d093:       89 44 24 10             mov    %eax,0x10(%esp)
15293 4000d097:       c7 44 24 0c 00 00 00    movl   $0x0,0xc(%esp)
15294 4000d09e:       00 
15295 4000d09f:       8b 45 0c                mov    0xc(%ebp),%eax
15296 4000d0a2:       89 44 24 08             mov    %eax,0x8(%esp)
15297 4000d0a6:       8b 45 08                mov    0x8(%ebp),%eax
15298 4000d0a9:       89 44 24 04             mov    %eax,0x4(%esp)
15299 4000d0ad:       c7 04 24 c0 42 01 40    movl   $0x400142c0,(%esp)
15300 4000d0b4:       e8 5c ea ff ff          call   4000bb15 <ialloc>
15301 4000d0b9:       c9                      leave  
15302 4000d0ba:       c3                      ret    
15304 4000d0bb <valloc>:
15305 4000d0bb:       55                      push   %ebp
15306 4000d0bc:       89 e5                   mov    %esp,%ebp
15307 4000d0be:       83 ec 18                sub    $0x18,%esp
15308 4000d0c1:       e8 98 bc ff ff          call   40008d5e <init_mparams>
15309 4000d0c6:       a1 a4 42 01 40          mov    0x400142a4,%eax
15310 4000d0cb:       89 45 fc                mov    %eax,-0x4(%ebp)
15311 4000d0ce:       8b 45 08                mov    0x8(%ebp),%eax
15312 4000d0d1:       89 44 24 04             mov    %eax,0x4(%esp)
15313 4000d0d5:       8b 45 fc                mov    -0x4(%ebp),%eax
15314 4000d0d8:       89 04 24                mov    %eax,(%esp)
15315 4000d0db:       e8 51 ff ff ff          call   4000d031 <memalign>
15316 4000d0e0:       c9                      leave  
15317 4000d0e1:       c3                      ret    
15319 4000d0e2 <pvalloc>:
15320 4000d0e2:       55                      push   %ebp
15321 4000d0e3:       89 e5                   mov    %esp,%ebp
15322 4000d0e5:       83 ec 18                sub    $0x18,%esp
15323 4000d0e8:       e8 71 bc ff ff          call   40008d5e <init_mparams>
15324 4000d0ed:       a1 a4 42 01 40          mov    0x400142a4,%eax
15325 4000d0f2:       89 45 fc                mov    %eax,-0x4(%ebp)
15326 4000d0f5:       8b 55 fc                mov    -0x4(%ebp),%edx
15327 4000d0f8:       8b 45 08                mov    0x8(%ebp),%eax
15328 4000d0fb:       01 d0                   add    %edx,%eax
15329 4000d0fd:       8d 50 ff                lea    -0x1(%eax),%edx
15330 4000d100:       8b 45 fc                mov    -0x4(%ebp),%eax
15331 4000d103:       f7 d8                   neg    %eax
15332 4000d105:       21 d0                   and    %edx,%eax
15333 4000d107:       89 44 24 04             mov    %eax,0x4(%esp)
15334 4000d10b:       8b 45 fc                mov    -0x4(%ebp),%eax
15335 4000d10e:       89 04 24                mov    %eax,(%esp)
15336 4000d111:       e8 1b ff ff ff          call   4000d031 <memalign>
15337 4000d116:       c9                      leave  
15338 4000d117:       c3                      ret    
15340 4000d118 <malloc_trim>:
15341 4000d118:       55                      push   %ebp
15342 4000d119:       89 e5                   mov    %esp,%ebp
15343 4000d11b:       83 ec 18                sub    $0x18,%esp
15344 4000d11e:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
15345 4000d125:       8b 45 08                mov    0x8(%ebp),%eax
15346 4000d128:       89 44 24 04             mov    %eax,0x4(%esp)
15347 4000d12c:       c7 04 24 c0 42 01 40    movl   $0x400142c0,(%esp)
15348 4000d133:       e8 0d d6 ff ff          call   4000a745 <sys_trim>
15349 4000d138:       89 45 fc                mov    %eax,-0x4(%ebp)
15350 4000d13b:       8b 45 fc                mov    -0x4(%ebp),%eax
15351 4000d13e:       c9                      leave  
15352 4000d13f:       c3                      ret    
15354 4000d140 <malloc_footprint>:
15355 4000d140:       55                      push   %ebp
15356 4000d141:       89 e5                   mov    %esp,%ebp
15357 4000d143:       a1 6c 44 01 40          mov    0x4001446c,%eax
15358 4000d148:       5d                      pop    %ebp
15359 4000d149:       c3                      ret    
15361 4000d14a <malloc_max_footprint>:
15362 4000d14a:       55                      push   %ebp
15363 4000d14b:       89 e5                   mov    %esp,%ebp
15364 4000d14d:       a1 70 44 01 40          mov    0x40014470,%eax
15365 4000d152:       5d                      pop    %ebp
15366 4000d153:       c3                      ret    
15368 4000d154 <mallinfo>:
15369 4000d154:       55                      push   %ebp
15370 4000d155:       89 e5                   mov    %esp,%ebp
15371 4000d157:       53                      push   %ebx
15372 4000d158:       83 ec 08                sub    $0x8,%esp
15373 4000d15b:       8b 5d 08                mov    0x8(%ebp),%ebx
15374 4000d15e:       c7 44 24 04 c0 42 01    movl   $0x400142c0,0x4(%esp)
15375 4000d165:       40 
15376 4000d166:       89 1c 24                mov    %ebx,(%esp)
15377 4000d169:       e8 15 bd ff ff          call   40008e83 <internal_mallinfo>
15378 4000d16e:       83 ec 04                sub    $0x4,%esp
15379 4000d171:       89 d8                   mov    %ebx,%eax
15380 4000d173:       8b 5d fc                mov    -0x4(%ebp),%ebx
15381 4000d176:       c9                      leave  
15382 4000d177:       c2 04 00                ret    $0x4
15384 4000d17a <malloc_stats>:
15385 4000d17a:       55                      push   %ebp
15386 4000d17b:       89 e5                   mov    %esp,%ebp
15387 4000d17d:       83 ec 08                sub    $0x8,%esp
15388 4000d180:       c7 04 24 c0 42 01 40    movl   $0x400142c0,(%esp)
15389 4000d187:       e8 cc be ff ff          call   40009058 <internal_malloc_stats>
15390 4000d18c:       c9                      leave  
15391 4000d18d:       c3                      ret    
15393 4000d18e <malloc_usable_size>:
15394 4000d18e:       55                      push   %ebp
15395 4000d18f:       89 e5                   mov    %esp,%ebp
15396 4000d191:       83 ec 14                sub    $0x14,%esp
15397 4000d194:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
15398 4000d198:       74 27                   je     4000d1c1 <malloc_usable_size+0x33>
15399 4000d19a:       8b 45 08                mov    0x8(%ebp),%eax
15400 4000d19d:       83 e8 08                sub    $0x8,%eax
15401 4000d1a0:       89 45 fc                mov    %eax,-0x4(%ebp)
15402 4000d1a3:       8b 45 fc                mov    -0x4(%ebp),%eax
15403 4000d1a6:       8b 40 04                mov    0x4(%eax),%eax
15404 4000d1a9:       83 e0 02                and    $0x2,%eax
15405 4000d1ac:       85 c0                   test   %eax,%eax
15406 4000d1ae:       74 11                   je     4000d1c1 <malloc_usable_size+0x33>
15407 4000d1b0:       8b 45 fc                mov    -0x4(%ebp),%eax
15408 4000d1b3:       8b 40 04                mov    0x4(%eax),%eax
15409 4000d1b6:       83 e0 fc                and    $0xfffffffc,%eax
15410 4000d1b9:       83 e8 04                sub    $0x4,%eax
15411 4000d1bc:       89 45 ec                mov    %eax,-0x14(%ebp)
15412 4000d1bf:       eb 07                   jmp    4000d1c8 <malloc_usable_size+0x3a>
15413 4000d1c1:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
15414 4000d1c8:       8b 45 ec                mov    -0x14(%ebp),%eax
15415 4000d1cb:       c9                      leave  
15416 4000d1cc:       c3                      ret    
15418 4000d1cd <mallopt>:
15419 4000d1cd:       55                      push   %ebp
15420 4000d1ce:       89 e5                   mov    %esp,%ebp
15421 4000d1d0:       83 ec 08                sub    $0x8,%esp
15422 4000d1d3:       8b 45 0c                mov    0xc(%ebp),%eax
15423 4000d1d6:       89 44 24 04             mov    %eax,0x4(%esp)
15424 4000d1da:       8b 45 08                mov    0x8(%ebp),%eax
15425 4000d1dd:       89 04 24                mov    %eax,(%esp)
15426 4000d1e0:       e8 14 bc ff ff          call   40008df9 <change_mparam>
15427 4000d1e5:       c9                      leave  
15428 4000d1e6:       c3                      ret    
15429 4000d1e7:       90                      nop    
15431 4000d1e8 <printf>:
15432 4000d1e8:       55                      push   %ebp
15433 4000d1e9:       89 e5                   mov    %esp,%ebp
15434 4000d1eb:       83 ec 28                sub    $0x28,%esp
15435 4000d1ee:       8d 45 0c                lea    0xc(%ebp),%eax
15436 4000d1f1:       89 45 f8                mov    %eax,-0x8(%ebp)
15437 4000d1f4:       8b 45 f8                mov    -0x8(%ebp),%eax
15438 4000d1f7:       8b 15 4c 59 01 40       mov    0x4001594c,%edx
15439 4000d1fd:       89 44 24 08             mov    %eax,0x8(%esp)
15440 4000d201:       8b 45 08                mov    0x8(%ebp),%eax
15441 4000d204:       89 44 24 04             mov    %eax,0x4(%esp)
15442 4000d208:       89 14 24                mov    %edx,(%esp)
15443 4000d20b:       e8 38 12 00 00          call   4000e448 <vfprintf>
15444 4000d210:       89 45 fc                mov    %eax,-0x4(%ebp)
15445 4000d213:       8b 45 fc                mov    -0x4(%ebp),%eax
15446 4000d216:       c9                      leave  
15447 4000d217:       c3                      ret    
15449 4000d218 <shmget>:
15450 4000d218:       55                      push   %ebp
15451 4000d219:       89 e5                   mov    %esp,%ebp
15452 4000d21b:       83 ec 38                sub    $0x38,%esp
15453 4000d21e:       8b 45 10                mov    0x10(%ebp),%eax
15454 4000d221:       25 00 02 00 00          and    $0x200,%eax
15455 4000d226:       85 c0                   test   %eax,%eax
15456 4000d228:       75 06                   jne    4000d230 <shmget+0x18>
15457 4000d22a:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
15458 4000d22e:       75 3c                   jne    4000d26c <shmget+0x54>
15459 4000d230:       c7 04 24 00 00 00 00    movl   $0x0,(%esp)
15460 4000d237:       e8 84 0f 00 00          call   4000e1c0 <time>
15461 4000d23c:       89 44 24 14             mov    %eax,0x14(%esp)
15462 4000d240:       8b 45 10                mov    0x10(%ebp),%eax
15463 4000d243:       89 44 24 10             mov    %eax,0x10(%esp)
15464 4000d247:       8b 45 0c                mov    0xc(%ebp),%eax
15465 4000d24a:       89 44 24 0c             mov    %eax,0xc(%esp)
15466 4000d24e:       8b 45 08                mov    0x8(%ebp),%eax
15467 4000d251:       89 44 24 08             mov    %eax,0x8(%esp)
15468 4000d255:       c7 44 24 04 04 00 00    movl   $0x4,0x4(%esp)
15469 4000d25c:       00 
15470 4000d25d:       c7 04 24 1b 00 00 00    movl   $0x1b,(%esp)
15471 4000d264:       e8 2f 45 00 00          call   40011798 <syscall_call>
15472 4000d269:       89 45 fc                mov    %eax,-0x4(%ebp)
15473 4000d26c:       8b 45 10                mov    0x10(%ebp),%eax
15474 4000d26f:       25 00 02 00 00          and    $0x200,%eax
15475 4000d274:       85 c0                   test   %eax,%eax
15476 4000d276:       74 06                   je     4000d27e <shmget+0x66>
15477 4000d278:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
15478 4000d27c:       79 2a                   jns    4000d2a8 <shmget+0x90>
15479 4000d27e:       8b 45 10                mov    0x10(%ebp),%eax
15480 4000d281:       25 00 04 00 00          and    $0x400,%eax
15481 4000d286:       85 c0                   test   %eax,%eax
15482 4000d288:       75 1e                   jne    4000d2a8 <shmget+0x90>
15483 4000d28a:       8b 45 08                mov    0x8(%ebp),%eax
15484 4000d28d:       89 44 24 08             mov    %eax,0x8(%esp)
15485 4000d291:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
15486 4000d298:       00 
15487 4000d299:       c7 04 24 1a 00 00 00    movl   $0x1a,(%esp)
15488 4000d2a0:       e8 f3 44 00 00          call   40011798 <syscall_call>
15489 4000d2a5:       89 45 fc                mov    %eax,-0x4(%ebp)
15490 4000d2a8:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
15491 4000d2ac:       79 0c                   jns    4000d2ba <shmget+0xa2>
15492 4000d2ae:       8b 45 fc                mov    -0x4(%ebp),%eax
15493 4000d2b1:       89 c2                   mov    %eax,%edx
15494 4000d2b3:       f7 da                   neg    %edx
15495 4000d2b5:       89 55 ec                mov    %edx,-0x14(%ebp)
15496 4000d2b8:       eb 07                   jmp    4000d2c1 <shmget+0xa9>
15497 4000d2ba:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
15498 4000d2c1:       8b 45 ec                mov    -0x14(%ebp),%eax
15499 4000d2c4:       a3 54 59 01 40          mov    %eax,0x40015954
15500 4000d2c9:       8b 45 fc                mov    -0x4(%ebp),%eax
15501 4000d2cc:       c1 f8 1f                sar    $0x1f,%eax
15502 4000d2cf:       0b 45 fc                or     -0x4(%ebp),%eax
15503 4000d2d2:       c9                      leave  
15504 4000d2d3:       c3                      ret    
15506 4000d2d4 <shmat>:
15507 4000d2d4:       55                      push   %ebp
15508 4000d2d5:       89 e5                   mov    %esp,%ebp
15509 4000d2d7:       83 ec 38                sub    $0x38,%esp
15510 4000d2da:       8b 45 0c                mov    0xc(%ebp),%eax
15511 4000d2dd:       89 45 f8                mov    %eax,-0x8(%ebp)
15512 4000d2e0:       c7 04 24 00 00 00 00    movl   $0x0,(%esp)
15513 4000d2e7:       e8 d4 0e 00 00          call   4000e1c0 <time>
15514 4000d2ec:       89 44 24 14             mov    %eax,0x14(%esp)
15515 4000d2f0:       8b 45 10                mov    0x10(%ebp),%eax
15516 4000d2f3:       89 44 24 10             mov    %eax,0x10(%esp)
15517 4000d2f7:       8d 45 f8                lea    -0x8(%ebp),%eax
15518 4000d2fa:       89 44 24 0c             mov    %eax,0xc(%esp)
15519 4000d2fe:       8b 45 08                mov    0x8(%ebp),%eax
15520 4000d301:       89 44 24 08             mov    %eax,0x8(%esp)
15521 4000d305:       c7 44 24 04 04 00 00    movl   $0x4,0x4(%esp)
15522 4000d30c:       00 
15523 4000d30d:       c7 04 24 1c 00 00 00    movl   $0x1c,(%esp)
15524 4000d314:       e8 7f 44 00 00          call   40011798 <syscall_call>
15525 4000d319:       89 45 fc                mov    %eax,-0x4(%ebp)
15526 4000d31c:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
15527 4000d320:       79 0c                   jns    4000d32e <shmat+0x5a>
15528 4000d322:       8b 45 fc                mov    -0x4(%ebp),%eax
15529 4000d325:       89 c2                   mov    %eax,%edx
15530 4000d327:       f7 da                   neg    %edx
15531 4000d329:       89 55 e8                mov    %edx,-0x18(%ebp)
15532 4000d32c:       eb 07                   jmp    4000d335 <shmat+0x61>
15533 4000d32e:       c7 45 e8 00 00 00 00    movl   $0x0,-0x18(%ebp)
15534 4000d335:       8b 45 e8                mov    -0x18(%ebp),%eax
15535 4000d338:       a3 54 59 01 40          mov    %eax,0x40015954
15536 4000d33d:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
15537 4000d341:       78 08                   js     4000d34b <shmat+0x77>
15538 4000d343:       8b 55 f8                mov    -0x8(%ebp),%edx
15539 4000d346:       89 55 ec                mov    %edx,-0x14(%ebp)
15540 4000d349:       eb 07                   jmp    4000d352 <shmat+0x7e>
15541 4000d34b:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
15542 4000d352:       8b 45 ec                mov    -0x14(%ebp),%eax
15543 4000d355:       c9                      leave  
15544 4000d356:       c3                      ret    
15546 4000d357 <shmdt>:
15547 4000d357:       55                      push   %ebp
15548 4000d358:       89 e5                   mov    %esp,%ebp
15549 4000d35a:       83 ec 28                sub    $0x28,%esp
15550 4000d35d:       c7 04 24 00 00 00 00    movl   $0x0,(%esp)
15551 4000d364:       e8 57 0e 00 00          call   4000e1c0 <time>
15552 4000d369:       89 44 24 0c             mov    %eax,0xc(%esp)
15553 4000d36d:       8b 45 08                mov    0x8(%ebp),%eax
15554 4000d370:       89 44 24 08             mov    %eax,0x8(%esp)
15555 4000d374:       c7 44 24 04 02 00 00    movl   $0x2,0x4(%esp)
15556 4000d37b:       00 
15557 4000d37c:       c7 04 24 1d 00 00 00    movl   $0x1d,(%esp)
15558 4000d383:       e8 10 44 00 00          call   40011798 <syscall_call>
15559 4000d388:       89 45 fc                mov    %eax,-0x4(%ebp)
15560 4000d38b:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
15561 4000d38f:       79 0c                   jns    4000d39d <shmdt+0x46>
15562 4000d391:       8b 45 fc                mov    -0x4(%ebp),%eax
15563 4000d394:       89 c2                   mov    %eax,%edx
15564 4000d396:       f7 da                   neg    %edx
15565 4000d398:       89 55 e8                mov    %edx,-0x18(%ebp)
15566 4000d39b:       eb 07                   jmp    4000d3a4 <shmdt+0x4d>
15567 4000d39d:       c7 45 e8 00 00 00 00    movl   $0x0,-0x18(%ebp)
15568 4000d3a4:       8b 45 e8                mov    -0x18(%ebp),%eax
15569 4000d3a7:       a3 54 59 01 40          mov    %eax,0x40015954
15570 4000d3ac:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
15571 4000d3b0:       79 09                   jns    4000d3bb <shmdt+0x64>
15572 4000d3b2:       c7 45 ec ff ff ff ff    movl   $0xffffffff,-0x14(%ebp)
15573 4000d3b9:       eb 07                   jmp    4000d3c2 <shmdt+0x6b>
15574 4000d3bb:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
15575 4000d3c2:       8b 45 ec                mov    -0x14(%ebp),%eax
15576 4000d3c5:       c9                      leave  
15577 4000d3c6:       c3                      ret    
15579 4000d3c7 <shmctl>:
15580 4000d3c7:       55                      push   %ebp
15581 4000d3c8:       89 e5                   mov    %esp,%ebp
15582 4000d3ca:       57                      push   %edi
15583 4000d3cb:       56                      push   %esi
15584 4000d3cc:       53                      push   %ebx
15585 4000d3cd:       83 ec 7c                sub    $0x7c,%esp
15586 4000d3d0:       83 7d 0c 03             cmpl   $0x3,0xc(%ebp)
15587 4000d3d4:       0f 85 c2 00 00 00       jne    4000d49c <shmctl+0xd5>
15588 4000d3da:       8b 45 10                mov    0x10(%ebp),%eax
15589 4000d3dd:       8d 50 2c                lea    0x2c(%eax),%edx
15590 4000d3e0:       8b 45 10                mov    0x10(%ebp),%eax
15591 4000d3e3:       8d 48 28                lea    0x28(%eax),%ecx
15592 4000d3e6:       8b 45 10                mov    0x10(%ebp),%eax
15593 4000d3e9:       8d 58 24                lea    0x24(%eax),%ebx
15594 4000d3ec:       8b 45 10                mov    0x10(%ebp),%eax
15595 4000d3ef:       8d 70 20                lea    0x20(%eax),%esi
15596 4000d3f2:       8b 45 10                mov    0x10(%ebp),%eax
15597 4000d3f5:       8d 78 1c                lea    0x1c(%eax),%edi
15598 4000d3f8:       8b 45 10                mov    0x10(%ebp),%eax
15599 4000d3fb:       83 c0 18                add    $0x18,%eax
15600 4000d3fe:       89 45 c4                mov    %eax,-0x3c(%ebp)
15601 4000d401:       8b 45 10                mov    0x10(%ebp),%eax
15602 4000d404:       83 c0 14                add    $0x14,%eax
15603 4000d407:       89 45 c8                mov    %eax,-0x38(%ebp)
15604 4000d40a:       8b 45 10                mov    0x10(%ebp),%eax
15605 4000d40d:       83 c0 10                add    $0x10,%eax
15606 4000d410:       89 45 cc                mov    %eax,-0x34(%ebp)
15607 4000d413:       8b 45 10                mov    0x10(%ebp),%eax
15608 4000d416:       83 c0 0c                add    $0xc,%eax
15609 4000d419:       89 45 d0                mov    %eax,-0x30(%ebp)
15610 4000d41c:       8b 45 10                mov    0x10(%ebp),%eax
15611 4000d41f:       83 c0 08                add    $0x8,%eax
15612 4000d422:       89 45 d4                mov    %eax,-0x2c(%ebp)
15613 4000d425:       8b 45 10                mov    0x10(%ebp),%eax
15614 4000d428:       83 c0 04                add    $0x4,%eax
15615 4000d42b:       89 45 c0                mov    %eax,-0x40(%ebp)
15616 4000d42e:       8b 45 10                mov    0x10(%ebp),%eax
15617 4000d431:       89 45 d8                mov    %eax,-0x28(%ebp)
15618 4000d434:       89 54 24 38             mov    %edx,0x38(%esp)
15619 4000d438:       89 4c 24 34             mov    %ecx,0x34(%esp)
15620 4000d43c:       89 5c 24 30             mov    %ebx,0x30(%esp)
15621 4000d440:       89 74 24 2c             mov    %esi,0x2c(%esp)
15622 4000d444:       89 7c 24 28             mov    %edi,0x28(%esp)
15623 4000d448:       8b 55 c4                mov    -0x3c(%ebp),%edx
15624 4000d44b:       89 54 24 24             mov    %edx,0x24(%esp)
15625 4000d44f:       8b 45 c8                mov    -0x38(%ebp),%eax
15626 4000d452:       89 44 24 20             mov    %eax,0x20(%esp)
15627 4000d456:       8b 55 cc                mov    -0x34(%ebp),%edx
15628 4000d459:       89 54 24 1c             mov    %edx,0x1c(%esp)
15629 4000d45d:       8b 45 d0                mov    -0x30(%ebp),%eax
15630 4000d460:       89 44 24 18             mov    %eax,0x18(%esp)
15631 4000d464:       8b 55 d4                mov    -0x2c(%ebp),%edx
15632 4000d467:       89 54 24 14             mov    %edx,0x14(%esp)
15633 4000d46b:       8b 45 c0                mov    -0x40(%ebp),%eax
15634 4000d46e:       89 44 24 10             mov    %eax,0x10(%esp)
15635 4000d472:       8b 55 d8                mov    -0x28(%ebp),%edx
15636 4000d475:       89 54 24 0c             mov    %edx,0xc(%esp)
15637 4000d479:       8b 45 08                mov    0x8(%ebp),%eax
15638 4000d47c:       89 44 24 08             mov    %eax,0x8(%esp)
15639 4000d480:       c7 44 24 04 0d 00 00    movl   $0xd,0x4(%esp)
15640 4000d487:       00 
15641 4000d488:       c7 04 24 1e 00 00 00    movl   $0x1e,(%esp)
15642 4000d48f:       e8 04 43 00 00          call   40011798 <syscall_call>
15643 4000d494:       89 45 f0                mov    %eax,-0x10(%ebp)
15644 4000d497:       e9 87 00 00 00          jmp    4000d523 <shmctl+0x15c>
15645 4000d49c:       83 7d 0c 02             cmpl   $0x2,0xc(%ebp)
15646 4000d4a0:       75 57                   jne    4000d4f9 <shmctl+0x132>
15647 4000d4a2:       c7 04 24 00 00 00 00    movl   $0x0,(%esp)
15648 4000d4a9:       e8 12 0d 00 00          call   4000e1c0 <time>
15649 4000d4ae:       89 c2                   mov    %eax,%edx
15650 4000d4b0:       8b 45 10                mov    0x10(%ebp),%eax
15651 4000d4b3:       8b 48 10                mov    0x10(%eax),%ecx
15652 4000d4b6:       8b 45 10                mov    0x10(%ebp),%eax
15653 4000d4b9:       8b 58 04                mov    0x4(%eax),%ebx
15654 4000d4bc:       8b 45 10                mov    0x10(%ebp),%eax
15655 4000d4bf:       8b 00                   mov    (%eax),%eax
15656 4000d4c1:       c7 44 24 1c 05 00 00    movl   $0x5,0x1c(%esp)
15657 4000d4c8:       00 
15658 4000d4c9:       89 54 24 18             mov    %edx,0x18(%esp)
15659 4000d4cd:       89 4c 24 14             mov    %ecx,0x14(%esp)
15660 4000d4d1:       89 5c 24 10             mov    %ebx,0x10(%esp)
15661 4000d4d5:       89 44 24 0c             mov    %eax,0xc(%esp)
15662 4000d4d9:       8b 45 08                mov    0x8(%ebp),%eax
15663 4000d4dc:       89 44 24 08             mov    %eax,0x8(%esp)
15664 4000d4e0:       c7 44 24 04 07 00 00    movl   $0x7,0x4(%esp)
15665 4000d4e7:       00 
15666 4000d4e8:       c7 04 24 1f 00 00 00    movl   $0x1f,(%esp)
15667 4000d4ef:       e8 a4 42 00 00          call   40011798 <syscall_call>
15668 4000d4f4:       89 45 f0                mov    %eax,-0x10(%ebp)
15669 4000d4f7:       eb 2a                   jmp    4000d523 <shmctl+0x15c>
15670 4000d4f9:       83 7d 0c 01             cmpl   $0x1,0xc(%ebp)
15671 4000d4fd:       75 1d                   jne    4000d51c <shmctl+0x155>
15672 4000d4ff:       8b 45 08                mov    0x8(%ebp),%eax
15673 4000d502:       89 44 24 08             mov    %eax,0x8(%esp)
15674 4000d506:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
15675 4000d50d:       00 
15676 4000d50e:       c7 04 24 20 00 00 00    movl   $0x20,(%esp)
15677 4000d515:       e8 7e 42 00 00          call   40011798 <syscall_call>
15678 4000d51a:       eb 07                   jmp    4000d523 <shmctl+0x15c>
15679 4000d51c:       c7 45 f0 e4 ff ff ff    movl   $0xffffffe4,-0x10(%ebp)
15680 4000d523:       83 7d f0 00             cmpl   $0x0,-0x10(%ebp)
15681 4000d527:       79 0c                   jns    4000d535 <shmctl+0x16e>
15682 4000d529:       8b 45 f0                mov    -0x10(%ebp),%eax
15683 4000d52c:       89 c2                   mov    %eax,%edx
15684 4000d52e:       f7 da                   neg    %edx
15685 4000d530:       89 55 dc                mov    %edx,-0x24(%ebp)
15686 4000d533:       eb 07                   jmp    4000d53c <shmctl+0x175>
15687 4000d535:       c7 45 dc 00 00 00 00    movl   $0x0,-0x24(%ebp)
15688 4000d53c:       8b 45 dc                mov    -0x24(%ebp),%eax
15689 4000d53f:       a3 54 59 01 40          mov    %eax,0x40015954
15690 4000d544:       83 7d f0 00             cmpl   $0x0,-0x10(%ebp)
15691 4000d548:       79 09                   jns    4000d553 <shmctl+0x18c>
15692 4000d54a:       c7 45 e0 ff ff ff ff    movl   $0xffffffff,-0x20(%ebp)
15693 4000d551:       eb 07                   jmp    4000d55a <shmctl+0x193>
15694 4000d553:       c7 45 e0 00 00 00 00    movl   $0x0,-0x20(%ebp)
15695 4000d55a:       8b 45 e0                mov    -0x20(%ebp),%eax
15696 4000d55d:       83 c4 7c                add    $0x7c,%esp
15697 4000d560:       5b                      pop    %ebx
15698 4000d561:       5e                      pop    %esi
15699 4000d562:       5f                      pop    %edi
15700 4000d563:       5d                      pop    %ebp
15701 4000d564:       c3                      ret    
15702 4000d565:       90                      nop    
15703 4000d566:       90                      nop    
15704 4000d567:       90                      nop    
15706 4000d568 <create_stream>:
15707 4000d568:       55                      push   %ebp
15708 4000d569:       89 e5                   mov    %esp,%ebp
15709 4000d56b:       83 ec 18                sub    $0x18,%esp
15710 4000d56e:       c7 04 24 1c 00 00 00    movl   $0x1c,(%esp)
15711 4000d575:       e8 2a e8 ff ff          call   4000bda4 <malloc>
15712 4000d57a:       89 45 fc                mov    %eax,-0x4(%ebp)
15713 4000d57d:       8b 55 fc                mov    -0x4(%ebp),%edx
15714 4000d580:       8b 45 08                mov    0x8(%ebp),%eax
15715 4000d583:       89 02                   mov    %eax,(%edx)
15716 4000d585:       8b 55 fc                mov    -0x4(%ebp),%edx
15717 4000d588:       8b 45 0c                mov    0xc(%ebp),%eax
15718 4000d58b:       89 42 08                mov    %eax,0x8(%edx)
15719 4000d58e:       8b 45 fc                mov    -0x4(%ebp),%eax
15720 4000d591:       c7 40 04 00 00 00 00    movl   $0x0,0x4(%eax)
15721 4000d598:       8b 45 fc                mov    -0x4(%ebp),%eax
15722 4000d59b:       c7 40 0c 00 00 00 00    movl   $0x0,0xc(%eax)
15723 4000d5a2:       c7 04 24 00 08 00 00    movl   $0x800,(%esp)
15724 4000d5a9:       e8 f6 e7 ff ff          call   4000bda4 <malloc>
15725 4000d5ae:       89 c2                   mov    %eax,%edx
15726 4000d5b0:       8b 45 fc                mov    -0x4(%ebp),%eax
15727 4000d5b3:       89 50 10                mov    %edx,0x10(%eax)
15728 4000d5b6:       8b 45 fc                mov    -0x4(%ebp),%eax
15729 4000d5b9:       8b 50 10                mov    0x10(%eax),%edx
15730 4000d5bc:       8b 45 fc                mov    -0x4(%ebp),%eax
15731 4000d5bf:       89 50 14                mov    %edx,0x14(%eax)
15732 4000d5c2:       8b 45 fc                mov    -0x4(%ebp),%eax
15733 4000d5c5:       c7 40 18 01 00 00 00    movl   $0x1,0x18(%eax)
15734 4000d5cc:       8b 45 fc                mov    -0x4(%ebp),%eax
15735 4000d5cf:       c9                      leave  
15736 4000d5d0:       c3                      ret    
15738 4000d5d1 <stdio_exit>:
15739 4000d5d1:       55                      push   %ebp
15740 4000d5d2:       89 e5                   mov    %esp,%ebp
15741 4000d5d4:       83 ec 08                sub    $0x8,%esp
15742 4000d5d7:       a1 4c 59 01 40          mov    0x4001594c,%eax
15743 4000d5dc:       89 04 24                mov    %eax,(%esp)
15744 4000d5df:       e8 ff 02 00 00          call   4000d8e3 <fflush>
15745 4000d5e4:       a1 60 59 01 40          mov    0x40015960,%eax
15746 4000d5e9:       89 04 24                mov    %eax,(%esp)
15747 4000d5ec:       e8 f2 02 00 00          call   4000d8e3 <fflush>
15748 4000d5f1:       a1 5c 59 01 40          mov    0x4001595c,%eax
15749 4000d5f6:       89 04 24                mov    %eax,(%esp)
15750 4000d5f9:       e8 cd 01 00 00          call   4000d7cb <fclose>
15751 4000d5fe:       a1 4c 59 01 40          mov    0x4001594c,%eax
15752 4000d603:       89 04 24                mov    %eax,(%esp)
15753 4000d606:       e8 c0 01 00 00          call   4000d7cb <fclose>
15754 4000d60b:       a1 60 59 01 40          mov    0x40015960,%eax
15755 4000d610:       89 04 24                mov    %eax,(%esp)
15756 4000d613:       e8 b3 01 00 00          call   4000d7cb <fclose>
15757 4000d618:       c9                      leave  
15758 4000d619:       c3                      ret    
15760 4000d61a <stdio_init>:
15761 4000d61a:       55                      push   %ebp
15762 4000d61b:       89 e5                   mov    %esp,%ebp
15763 4000d61d:       83 ec 08                sub    $0x8,%esp
15764 4000d620:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
15765 4000d627:       00 
15766 4000d628:       c7 04 24 00 00 00 00    movl   $0x0,(%esp)
15767 4000d62f:       e8 34 ff ff ff          call   4000d568 <create_stream>
15768 4000d634:       a3 5c 59 01 40          mov    %eax,0x4001595c
15769 4000d639:       c7 44 24 04 02 00 00    movl   $0x2,0x4(%esp)
15770 4000d640:       00 
15771 4000d641:       c7 04 24 01 00 00 00    movl   $0x1,(%esp)
15772 4000d648:       e8 1b ff ff ff          call   4000d568 <create_stream>
15773 4000d64d:       a3 4c 59 01 40          mov    %eax,0x4001594c
15774 4000d652:       c7 44 24 04 02 00 00    movl   $0x2,0x4(%esp)
15775 4000d659:       00 
15776 4000d65a:       c7 04 24 02 00 00 00    movl   $0x2,(%esp)
15777 4000d661:       e8 02 ff ff ff          call   4000d568 <create_stream>
15778 4000d666:       a3 60 59 01 40          mov    %eax,0x40015960
15779 4000d66b:       b8 d1 d5 00 40          mov    $0x4000d5d1,%eax
15780 4000d670:       89 04 24                mov    %eax,(%esp)
15781 4000d673:       e8 f4 08 00 00          call   4000df6c <atexit>
15782 4000d678:       c9                      leave  
15783 4000d679:       c3                      ret    
15785 4000d67a <oflag_str2num>:
15786 4000d67a:       55                      push   %ebp
15787 4000d67b:       89 e5                   mov    %esp,%ebp
15788 4000d67d:       83 ec 10                sub    $0x10,%esp
15789 4000d680:       8b 45 08                mov    0x8(%ebp),%eax
15790 4000d683:       0f b6 00                movzbl (%eax),%eax
15791 4000d686:       3c 72                   cmp    $0x72,%al
15792 4000d688:       75 09                   jne    4000d693 <oflag_str2num+0x19>
15793 4000d68a:       c7 45 fc 01 00 00 00    movl   $0x1,-0x4(%ebp)
15794 4000d691:       eb 2d                   jmp    4000d6c0 <oflag_str2num+0x46>
15795 4000d693:       8b 45 08                mov    0x8(%ebp),%eax
15796 4000d696:       0f b6 00                movzbl (%eax),%eax
15797 4000d699:       3c 77                   cmp    $0x77,%al
15798 4000d69b:       75 09                   jne    4000d6a6 <oflag_str2num+0x2c>
15799 4000d69d:       c7 45 fc 26 00 00 00    movl   $0x26,-0x4(%ebp)
15800 4000d6a4:       eb 1a                   jmp    4000d6c0 <oflag_str2num+0x46>
15801 4000d6a6:       8b 45 08                mov    0x8(%ebp),%eax
15802 4000d6a9:       0f b6 00                movzbl (%eax),%eax
15803 4000d6ac:       3c 61                   cmp    $0x61,%al
15804 4000d6ae:       75 09                   jne    4000d6b9 <oflag_str2num+0x3f>
15805 4000d6b0:       c7 45 fc 64 00 00 00    movl   $0x64,-0x4(%ebp)
15806 4000d6b7:       eb 07                   jmp    4000d6c0 <oflag_str2num+0x46>
15807 4000d6b9:       c7 45 fc ff ff ff ff    movl   $0xffffffff,-0x4(%ebp)
15808 4000d6c0:       8b 45 08                mov    0x8(%ebp),%eax
15809 4000d6c3:       83 c0 01                add    $0x1,%eax
15810 4000d6c6:       0f b6 00                movzbl (%eax),%eax
15811 4000d6c9:       3c 2b                   cmp    $0x2b,%al
15812 4000d6cb:       75 0a                   jne    4000d6d7 <oflag_str2num+0x5d>
15813 4000d6cd:       83 7d fc ff             cmpl   $0xffffffff,-0x4(%ebp)
15814 4000d6d1:       74 04                   je     4000d6d7 <oflag_str2num+0x5d>
15815 4000d6d3:       83 4d fc 03             orl    $0x3,-0x4(%ebp)
15816 4000d6d7:       8b 45 fc                mov    -0x4(%ebp),%eax
15817 4000d6da:       c9                      leave  
15818 4000d6db:       c3                      ret    
15820 4000d6dc <tmpnam>:
15821 4000d6dc:       55                      push   %ebp
15822 4000d6dd:       89 e5                   mov    %esp,%ebp
15823 4000d6df:       83 ec 28                sub    $0x28,%esp
15824 4000d6e2:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
15825 4000d6e6:       75 21                   jne    4000d709 <tmpnam+0x2d>
15826 4000d6e8:       c7 44 24 08 00 04 00    movl   $0x400,0x8(%esp)
15827 4000d6ef:       00 
15828 4000d6f0:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
15829 4000d6f7:       00 
15830 4000d6f8:       c7 04 24 a0 44 01 40    movl   $0x400144a0,(%esp)
15831 4000d6ff:       e8 d9 1b 00 00          call   4000f2dd <memset>
15832 4000d704:       89 45 ec                mov    %eax,-0x14(%ebp)
15833 4000d707:       eb 06                   jmp    4000d70f <tmpnam+0x33>
15834 4000d709:       8b 45 08                mov    0x8(%ebp),%eax
15835 4000d70c:       89 45 ec                mov    %eax,-0x14(%ebp)
15836 4000d70f:       8b 45 ec                mov    -0x14(%ebp),%eax
15837 4000d712:       89 45 fc                mov    %eax,-0x4(%ebp)
15838 4000d715:       a1 a0 54 01 40          mov    0x400154a0,%eax
15839 4000d71a:       89 c2                   mov    %eax,%edx
15840 4000d71c:       83 c0 01                add    $0x1,%eax
15841 4000d71f:       a3 a0 54 01 40          mov    %eax,0x400154a0
15842 4000d724:       89 54 24 10             mov    %edx,0x10(%esp)
15843 4000d728:       c7 44 24 0c 9f 30 01    movl   $0x4001309f,0xc(%esp)
15844 4000d72f:       40 
15845 4000d730:       c7 44 24 08 a4 30 01    movl   $0x400130a4,0x8(%esp)
15846 4000d737:       40 
15847 4000d738:       c7 44 24 04 00 04 00    movl   $0x400,0x4(%esp)
15848 4000d73f:       00 
15849 4000d740:       8b 45 fc                mov    -0x4(%ebp),%eax
15850 4000d743:       89 04 24                mov    %eax,(%esp)
15851 4000d746:       e8 e5 47 00 00          call   40011f30 <snprintf>
15852 4000d74b:       8b 45 fc                mov    -0x4(%ebp),%eax
15853 4000d74e:       c9                      leave  
15854 4000d74f:       c3                      ret    
15856 4000d750 <clearerr>:
15857 4000d750:       55                      push   %ebp
15858 4000d751:       89 e5                   mov    %esp,%ebp
15859 4000d753:       8b 45 08                mov    0x8(%ebp),%eax
15860 4000d756:       c7 40 04 00 00 00 00    movl   $0x0,0x4(%eax)
15861 4000d75d:       5d                      pop    %ebp
15862 4000d75e:       c3                      ret    
15864 4000d75f <feof>:
15865 4000d75f:       55                      push   %ebp
15866 4000d760:       89 e5                   mov    %esp,%ebp
15867 4000d762:       83 ec 04                sub    $0x4,%esp
15868 4000d765:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
15869 4000d769:       74 14                   je     4000d77f <feof+0x20>
15870 4000d76b:       8b 45 08                mov    0x8(%ebp),%eax
15871 4000d76e:       8b 00                   mov    (%eax),%eax
15872 4000d770:       85 c0                   test   %eax,%eax
15873 4000d772:       78 0b                   js     4000d77f <feof+0x20>
15874 4000d774:       8b 45 08                mov    0x8(%ebp),%eax
15875 4000d777:       8b 40 0c                mov    0xc(%eax),%eax
15876 4000d77a:       89 45 fc                mov    %eax,-0x4(%ebp)
15877 4000d77d:       eb 11                   jmp    4000d790 <feof+0x31>
15878 4000d77f:       c7 05 54 59 01 40 08    movl   $0x8,0x40015954
15879 4000d786:       00 00 00 
15880 4000d789:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
15881 4000d790:       8b 45 fc                mov    -0x4(%ebp),%eax
15882 4000d793:       c9                      leave  
15883 4000d794:       c3                      ret    
15885 4000d795 <ferror>:
15886 4000d795:       55                      push   %ebp
15887 4000d796:       89 e5                   mov    %esp,%ebp
15888 4000d798:       83 ec 04                sub    $0x4,%esp
15889 4000d79b:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
15890 4000d79f:       74 14                   je     4000d7b5 <ferror+0x20>
15891 4000d7a1:       8b 45 08                mov    0x8(%ebp),%eax
15892 4000d7a4:       8b 00                   mov    (%eax),%eax
15893 4000d7a6:       85 c0                   test   %eax,%eax
15894 4000d7a8:       78 0b                   js     4000d7b5 <ferror+0x20>
15895 4000d7aa:       8b 45 08                mov    0x8(%ebp),%eax
15896 4000d7ad:       8b 40 04                mov    0x4(%eax),%eax
15897 4000d7b0:       89 45 fc                mov    %eax,-0x4(%ebp)
15898 4000d7b3:       eb 11                   jmp    4000d7c6 <ferror+0x31>
15899 4000d7b5:       c7 05 54 59 01 40 08    movl   $0x8,0x40015954
15900 4000d7bc:       00 00 00 
15901 4000d7bf:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
15902 4000d7c6:       8b 45 fc                mov    -0x4(%ebp),%eax
15903 4000d7c9:       c9                      leave  
15904 4000d7ca:       c3                      ret    
15906 4000d7cb <fclose>:
15907 4000d7cb:       55                      push   %ebp
15908 4000d7cc:       89 e5                   mov    %esp,%ebp
15909 4000d7ce:       83 ec 08                sub    $0x8,%esp
15910 4000d7d1:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
15911 4000d7d5:       74 44                   je     4000d81b <fclose+0x50>
15912 4000d7d7:       8b 45 08                mov    0x8(%ebp),%eax
15913 4000d7da:       8b 00                   mov    (%eax),%eax
15914 4000d7dc:       85 c0                   test   %eax,%eax
15915 4000d7de:       78 3b                   js     4000d81b <fclose+0x50>
15916 4000d7e0:       8b 45 08                mov    0x8(%ebp),%eax
15917 4000d7e3:       89 04 24                mov    %eax,(%esp)
15918 4000d7e6:       e8 f8 00 00 00          call   4000d8e3 <fflush>
15919 4000d7eb:       85 c0                   test   %eax,%eax
15920 4000d7ed:       75 36                   jne    4000d825 <fclose+0x5a>
15921 4000d7ef:       8b 45 08                mov    0x8(%ebp),%eax
15922 4000d7f2:       8b 00                   mov    (%eax),%eax
15923 4000d7f4:       89 04 24                mov    %eax,(%esp)
15924 4000d7f7:       e8 21 9b ff ff          call   4000731d <close>
15925 4000d7fc:       85 c0                   test   %eax,%eax
15926 4000d7fe:       75 25                   jne    4000d825 <fclose+0x5a>
15927 4000d800:       8b 45 08                mov    0x8(%ebp),%eax
15928 4000d803:       8b 40 10                mov    0x10(%eax),%eax
15929 4000d806:       89 04 24                mov    %eax,(%esp)
15930 4000d809:       e8 4d ea ff ff          call   4000c25b <free>
15931 4000d80e:       8b 45 08                mov    0x8(%ebp),%eax
15932 4000d811:       89 04 24                mov    %eax,(%esp)
15933 4000d814:       e8 42 ea ff ff          call   4000c25b <free>
15934 4000d819:       eb 0a                   jmp    4000d825 <fclose+0x5a>
15935 4000d81b:       c7 05 54 59 01 40 08    movl   $0x8,0x40015954
15936 4000d822:       00 00 00 
15937 4000d825:       b8 ff ff ff ff          mov    $0xffffffff,%eax
15938 4000d82a:       c9                      leave  
15939 4000d82b:       c3                      ret    
15941 4000d82c <fdopen>:
15942 4000d82c:       55                      push   %ebp
15943 4000d82d:       89 e5                   mov    %esp,%ebp
15944 4000d82f:       83 ec 08                sub    $0x8,%esp
15945 4000d832:       8b 45 0c                mov    0xc(%ebp),%eax
15946 4000d835:       89 04 24                mov    %eax,(%esp)
15947 4000d838:       e8 3d fe ff ff          call   4000d67a <oflag_str2num>
15948 4000d83d:       89 44 24 04             mov    %eax,0x4(%esp)
15949 4000d841:       8b 45 08                mov    0x8(%ebp),%eax
15950 4000d844:       89 04 24                mov    %eax,(%esp)
15951 4000d847:       e8 1c fd ff ff          call   4000d568 <create_stream>
15952 4000d84c:       c9                      leave  
15953 4000d84d:       c3                      ret    
15955 4000d84e <fileno>:
15956 4000d84e:       55                      push   %ebp
15957 4000d84f:       89 e5                   mov    %esp,%ebp
15958 4000d851:       83 ec 04                sub    $0x4,%esp
15959 4000d854:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
15960 4000d858:       74 13                   je     4000d86d <fileno+0x1f>
15961 4000d85a:       8b 45 08                mov    0x8(%ebp),%eax
15962 4000d85d:       8b 00                   mov    (%eax),%eax
15963 4000d85f:       85 c0                   test   %eax,%eax
15964 4000d861:       78 0a                   js     4000d86d <fileno+0x1f>
15965 4000d863:       8b 45 08                mov    0x8(%ebp),%eax
15966 4000d866:       8b 00                   mov    (%eax),%eax
15967 4000d868:       89 45 fc                mov    %eax,-0x4(%ebp)
15968 4000d86b:       eb 11                   jmp    4000d87e <fileno+0x30>
15969 4000d86d:       c7 05 54 59 01 40 08    movl   $0x8,0x40015954
15970 4000d874:       00 00 00 
15971 4000d877:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
15972 4000d87e:       8b 45 fc                mov    -0x4(%ebp),%eax
15973 4000d881:       c9                      leave  
15974 4000d882:       c3                      ret    
15976 4000d883 <fopen>:
15977 4000d883:       55                      push   %ebp
15978 4000d884:       89 e5                   mov    %esp,%ebp
15979 4000d886:       83 ec 28                sub    $0x28,%esp
15980 4000d889:       8b 45 0c                mov    0xc(%ebp),%eax
15981 4000d88c:       89 04 24                mov    %eax,(%esp)
15982 4000d88f:       e8 e6 fd ff ff          call   4000d67a <oflag_str2num>
15983 4000d894:       89 45 f8                mov    %eax,-0x8(%ebp)
15984 4000d897:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
15985 4000d89b:       7e 3a                   jle    4000d8d7 <fopen+0x54>
15986 4000d89d:       c7 44 24 08 ff 01 00    movl   $0x1ff,0x8(%esp)
15987 4000d8a4:       00 
15988 4000d8a5:       8b 45 f8                mov    -0x8(%ebp),%eax
15989 4000d8a8:       89 44 24 04             mov    %eax,0x4(%esp)
15990 4000d8ac:       8b 45 08                mov    0x8(%ebp),%eax
15991 4000d8af:       89 04 24                mov    %eax,(%esp)
15992 4000d8b2:       e8 bf 97 ff ff          call   40007076 <open>
15993 4000d8b7:       89 45 fc                mov    %eax,-0x4(%ebp)
15994 4000d8ba:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
15995 4000d8be:       78 17                   js     4000d8d7 <fopen+0x54>
15996 4000d8c0:       8b 45 f8                mov    -0x8(%ebp),%eax
15997 4000d8c3:       89 44 24 04             mov    %eax,0x4(%esp)
15998 4000d8c7:       8b 45 fc                mov    -0x4(%ebp),%eax
15999 4000d8ca:       89 04 24                mov    %eax,(%esp)
16000 4000d8cd:       e8 96 fc ff ff          call   4000d568 <create_stream>
16001 4000d8d2:       89 45 ec                mov    %eax,-0x14(%ebp)
16002 4000d8d5:       eb 07                   jmp    4000d8de <fopen+0x5b>
16003 4000d8d7:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
16004 4000d8de:       8b 45 ec                mov    -0x14(%ebp),%eax
16005 4000d8e1:       c9                      leave  
16006 4000d8e2:       c3                      ret    
16008 4000d8e3 <fflush>:
16009 4000d8e3:       55                      push   %ebp
16010 4000d8e4:       89 e5                   mov    %esp,%ebp
16011 4000d8e6:       83 ec 28                sub    $0x28,%esp
16012 4000d8e9:       8b 45 08                mov    0x8(%ebp),%eax
16013 4000d8ec:       8b 40 18                mov    0x18(%eax),%eax
16014 4000d8ef:       85 c0                   test   %eax,%eax
16015 4000d8f1:       74 78                   je     4000d96b <fflush+0x88>
16016 4000d8f3:       8b 45 08                mov    0x8(%ebp),%eax
16017 4000d8f6:       8b 40 14                mov    0x14(%eax),%eax
16018 4000d8f9:       89 c2                   mov    %eax,%edx
16019 4000d8fb:       8b 45 08                mov    0x8(%ebp),%eax
16020 4000d8fe:       8b 40 10                mov    0x10(%eax),%eax
16021 4000d901:       89 d1                   mov    %edx,%ecx
16022 4000d903:       29 c1                   sub    %eax,%ecx
16023 4000d905:       89 c8                   mov    %ecx,%eax
16024 4000d907:       89 c2                   mov    %eax,%edx
16025 4000d909:       8b 45 08                mov    0x8(%ebp),%eax
16026 4000d90c:       8b 48 10                mov    0x10(%eax),%ecx
16027 4000d90f:       8b 45 08                mov    0x8(%ebp),%eax
16028 4000d912:       8b 00                   mov    (%eax),%eax
16029 4000d914:       89 54 24 08             mov    %edx,0x8(%esp)
16030 4000d918:       89 4c 24 04             mov    %ecx,0x4(%esp)
16031 4000d91c:       89 04 24                mov    %eax,(%esp)
16032 4000d91f:       e8 ae 9e ff ff          call   400077d2 <write>
16033 4000d924:       89 45 fc                mov    %eax,-0x4(%ebp)
16034 4000d927:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
16035 4000d92b:       7e 2a                   jle    4000d957 <fflush+0x74>
16036 4000d92d:       8b 45 08                mov    0x8(%ebp),%eax
16037 4000d930:       8b 40 14                mov    0x14(%eax),%eax
16038 4000d933:       89 c2                   mov    %eax,%edx
16039 4000d935:       8b 45 08                mov    0x8(%ebp),%eax
16040 4000d938:       8b 40 10                mov    0x10(%eax),%eax
16041 4000d93b:       89 d1                   mov    %edx,%ecx
16042 4000d93d:       29 c1                   sub    %eax,%ecx
16043 4000d93f:       89 c8                   mov    %ecx,%eax
16044 4000d941:       3b 45 fc                cmp    -0x4(%ebp),%eax
16045 4000d944:       7e 11                   jle    4000d957 <fflush+0x74>
16046 4000d946:       8b 45 08                mov    0x8(%ebp),%eax
16047 4000d949:       c7 40 0c 01 00 00 00    movl   $0x1,0xc(%eax)
16048 4000d950:       c7 45 fc ff ff ff ff    movl   $0xffffffff,-0x4(%ebp)
16049 4000d957:       8b 45 08                mov    0x8(%ebp),%eax
16050 4000d95a:       8b 50 10                mov    0x10(%eax),%edx
16051 4000d95d:       8b 45 08                mov    0x8(%ebp),%eax
16052 4000d960:       89 50 14                mov    %edx,0x14(%eax)
16053 4000d963:       8b 45 fc                mov    -0x4(%ebp),%eax
16054 4000d966:       89 45 ec                mov    %eax,-0x14(%ebp)
16055 4000d969:       eb 07                   jmp    4000d972 <fflush+0x8f>
16056 4000d96b:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
16057 4000d972:       8b 45 ec                mov    -0x14(%ebp),%eax
16058 4000d975:       c9                      leave  
16059 4000d976:       c3                      ret    
16061 4000d977 <puts>:
16062 4000d977:       55                      push   %ebp
16063 4000d978:       89 e5                   mov    %esp,%ebp
16064 4000d97a:       83 ec 18                sub    $0x18,%esp
16065 4000d97d:       a1 4c 59 01 40          mov    0x4001594c,%eax
16066 4000d982:       89 44 24 04             mov    %eax,0x4(%esp)
16067 4000d986:       8b 45 08                mov    0x8(%ebp),%eax
16068 4000d989:       89 04 24                mov    %eax,(%esp)
16069 4000d98c:       e8 1e 00 00 00          call   4000d9af <fputs>
16070 4000d991:       89 45 fc                mov    %eax,-0x4(%ebp)
16071 4000d994:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
16072 4000d998:       7e 10                   jle    4000d9aa <puts+0x33>
16073 4000d99a:       c7 04 24 0a 00 00 00    movl   $0xa,(%esp)
16074 4000d9a1:       e8 34 00 00 00          call   4000d9da <putchar>
16075 4000d9a6:       83 45 fc 01             addl   $0x1,-0x4(%ebp)
16076 4000d9aa:       8b 45 fc                mov    -0x4(%ebp),%eax
16077 4000d9ad:       c9                      leave  
16078 4000d9ae:       c3                      ret    
16080 4000d9af <fputs>:
16081 4000d9af:       55                      push   %ebp
16082 4000d9b0:       89 e5                   mov    %esp,%ebp
16083 4000d9b2:       83 ec 18                sub    $0x18,%esp
16084 4000d9b5:       8b 45 08                mov    0x8(%ebp),%eax
16085 4000d9b8:       89 04 24                mov    %eax,(%esp)
16086 4000d9bb:       e8 f8 1a 00 00          call   4000f4b8 <strlen>
16087 4000d9c0:       89 c2                   mov    %eax,%edx
16088 4000d9c2:       8b 45 0c                mov    0xc(%ebp),%eax
16089 4000d9c5:       89 44 24 08             mov    %eax,0x8(%esp)
16090 4000d9c9:       89 54 24 04             mov    %edx,0x4(%esp)
16091 4000d9cd:       8b 45 08                mov    0x8(%ebp),%eax
16092 4000d9d0:       89 04 24                mov    %eax,(%esp)
16093 4000d9d3:       e8 5d 00 00 00          call   4000da35 <_fwrite>
16094 4000d9d8:       c9                      leave  
16095 4000d9d9:       c3                      ret    
16097 4000d9da <putchar>:
16098 4000d9da:       55                      push   %ebp
16099 4000d9db:       89 e5                   mov    %esp,%ebp
16100 4000d9dd:       83 ec 08                sub    $0x8,%esp
16101 4000d9e0:       a1 4c 59 01 40          mov    0x4001594c,%eax
16102 4000d9e5:       89 44 24 04             mov    %eax,0x4(%esp)
16103 4000d9e9:       8b 45 08                mov    0x8(%ebp),%eax
16104 4000d9ec:       89 04 24                mov    %eax,(%esp)
16105 4000d9ef:       e8 02 00 00 00          call   4000d9f6 <fputc>
16106 4000d9f4:       c9                      leave  
16107 4000d9f5:       c3                      ret    
16109 4000d9f6 <fputc>:
16110 4000d9f6:       55                      push   %ebp
16111 4000d9f7:       89 e5                   mov    %esp,%ebp
16112 4000d9f9:       83 ec 28                sub    $0x28,%esp
16113 4000d9fc:       8b 45 08                mov    0x8(%ebp),%eax
16114 4000d9ff:       88 45 ff                mov    %al,-0x1(%ebp)
16115 4000da02:       8b 45 0c                mov    0xc(%ebp),%eax
16116 4000da05:       89 44 24 08             mov    %eax,0x8(%esp)
16117 4000da09:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
16118 4000da10:       00 
16119 4000da11:       8d 45 ff                lea    -0x1(%ebp),%eax
16120 4000da14:       89 04 24                mov    %eax,(%esp)
16121 4000da17:       e8 19 00 00 00          call   4000da35 <_fwrite>
16122 4000da1c:       83 f8 01                cmp    $0x1,%eax
16123 4000da1f:       75 08                   jne    4000da29 <fputc+0x33>
16124 4000da21:       8b 45 08                mov    0x8(%ebp),%eax
16125 4000da24:       89 45 ec                mov    %eax,-0x14(%ebp)
16126 4000da27:       eb 07                   jmp    4000da30 <fputc+0x3a>
16127 4000da29:       c7 45 ec ff ff ff ff    movl   $0xffffffff,-0x14(%ebp)
16128 4000da30:       8b 45 ec                mov    -0x14(%ebp),%eax
16129 4000da33:       c9                      leave  
16130 4000da34:       c3                      ret    
16132 4000da35 <_fwrite>:
16133 4000da35:       55                      push   %ebp
16134 4000da36:       89 e5                   mov    %esp,%ebp
16135 4000da38:       83 ec 28                sub    $0x28,%esp
16136 4000da3b:       83 7d 0c 00             cmpl   $0x0,0xc(%ebp)
16137 4000da3f:       75 0c                   jne    4000da4d <_fwrite+0x18>
16138 4000da41:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
16139 4000da48:       e9 3c 01 00 00          jmp    4000db89 <_fwrite+0x154>
16140 4000da4d:       83 7d 10 00             cmpl   $0x0,0x10(%ebp)
16141 4000da51:       0f 84 21 01 00 00       je     4000db78 <_fwrite+0x143>
16142 4000da57:       8b 45 10                mov    0x10(%ebp),%eax
16143 4000da5a:       8b 00                   mov    (%eax),%eax
16144 4000da5c:       85 c0                   test   %eax,%eax
16145 4000da5e:       0f 88 14 01 00 00       js     4000db78 <_fwrite+0x143>
16146 4000da64:       8b 45 10                mov    0x10(%ebp),%eax
16147 4000da67:       8b 40 08                mov    0x8(%eax),%eax
16148 4000da6a:       83 e0 02                and    $0x2,%eax
16149 4000da6d:       85 c0                   test   %eax,%eax
16150 4000da6f:       0f 84 f0 00 00 00       je     4000db65 <_fwrite+0x130>
16151 4000da75:       8b 45 10                mov    0x10(%ebp),%eax
16152 4000da78:       8b 40 18                mov    0x18(%eax),%eax
16153 4000da7b:       85 c0                   test   %eax,%eax
16154 4000da7d:       0f 84 93 00 00 00       je     4000db16 <_fwrite+0xe1>
16155 4000da83:       8b 45 10                mov    0x10(%ebp),%eax
16156 4000da86:       8b 40 14                mov    0x14(%eax),%eax
16157 4000da89:       89 c2                   mov    %eax,%edx
16158 4000da8b:       03 55 0c                add    0xc(%ebp),%edx
16159 4000da8e:       8b 45 10                mov    0x10(%ebp),%eax
16160 4000da91:       8b 40 10                mov    0x10(%eax),%eax
16161 4000da94:       05 00 08 00 00          add    $0x800,%eax
16162 4000da99:       39 c2                   cmp    %eax,%edx
16163 4000da9b:       76 0b                   jbe    4000daa8 <_fwrite+0x73>
16164 4000da9d:       8b 45 10                mov    0x10(%ebp),%eax
16165 4000daa0:       89 04 24                mov    %eax,(%esp)
16166 4000daa3:       e8 3b fe ff ff          call   4000d8e3 <fflush>
16167 4000daa8:       81 7d 0c 00 08 00 00    cmpl   $0x800,0xc(%ebp)
16168 4000daaf:       76 07                   jbe    4000dab8 <_fwrite+0x83>
16169 4000dab1:       c7 45 0c 00 08 00 00    movl   $0x800,0xc(%ebp)
16170 4000dab8:       8b 45 10                mov    0x10(%ebp),%eax
16171 4000dabb:       8b 50 14                mov    0x14(%eax),%edx
16172 4000dabe:       8b 45 0c                mov    0xc(%ebp),%eax
16173 4000dac1:       89 44 24 08             mov    %eax,0x8(%esp)
16174 4000dac5:       8b 45 08                mov    0x8(%ebp),%eax
16175 4000dac8:       89 44 24 04             mov    %eax,0x4(%esp)
16176 4000dacc:       89 14 24                mov    %edx,(%esp)
16177 4000dacf:       e8 2c 16 00 00          call   4000f100 <memcpy>
16178 4000dad4:       8b 45 10                mov    0x10(%ebp),%eax
16179 4000dad7:       8b 40 14                mov    0x14(%eax),%eax
16180 4000dada:       89 c2                   mov    %eax,%edx
16181 4000dadc:       03 55 0c                add    0xc(%ebp),%edx
16182 4000dadf:       8b 45 10                mov    0x10(%ebp),%eax
16183 4000dae2:       89 50 14                mov    %edx,0x14(%eax)
16184 4000dae5:       8b 45 0c                mov    0xc(%ebp),%eax
16185 4000dae8:       89 44 24 08             mov    %eax,0x8(%esp)
16186 4000daec:       c7 44 24 04 0a 00 00    movl   $0xa,0x4(%esp)
16187 4000daf3:       00 
16188 4000daf4:       8b 45 08                mov    0x8(%ebp),%eax
16189 4000daf7:       89 04 24                mov    %eax,(%esp)
16190 4000dafa:       e8 b1 14 00 00          call   4000efb0 <memchr>
16191 4000daff:       85 c0                   test   %eax,%eax
16192 4000db01:       74 0b                   je     4000db0e <_fwrite+0xd9>
16193 4000db03:       8b 45 10                mov    0x10(%ebp),%eax
16194 4000db06:       89 04 24                mov    %eax,(%esp)
16195 4000db09:       e8 d5 fd ff ff          call   4000d8e3 <fflush>
16196 4000db0e:       8b 45 0c                mov    0xc(%ebp),%eax
16197 4000db11:       89 45 ec                mov    %eax,-0x14(%ebp)
16198 4000db14:       eb 73                   jmp    4000db89 <_fwrite+0x154>
16199 4000db16:       8b 45 10                mov    0x10(%ebp),%eax
16200 4000db19:       8b 10                   mov    (%eax),%edx
16201 4000db1b:       8b 45 0c                mov    0xc(%ebp),%eax
16202 4000db1e:       89 44 24 08             mov    %eax,0x8(%esp)
16203 4000db22:       8b 45 08                mov    0x8(%ebp),%eax
16204 4000db25:       89 44 24 04             mov    %eax,0x4(%esp)
16205 4000db29:       89 14 24                mov    %edx,(%esp)
16206 4000db2c:       e8 a1 9c ff ff          call   400077d2 <write>
16207 4000db31:       89 45 fc                mov    %eax,-0x4(%ebp)
16208 4000db34:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
16209 4000db38:       7e 23                   jle    4000db5d <_fwrite+0x128>
16210 4000db3a:       8b 45 10                mov    0x10(%ebp),%eax
16211 4000db3d:       8b 40 14                mov    0x14(%eax),%eax
16212 4000db40:       89 c2                   mov    %eax,%edx
16213 4000db42:       8b 45 10                mov    0x10(%ebp),%eax
16214 4000db45:       8b 40 10                mov    0x10(%eax),%eax
16215 4000db48:       89 d1                   mov    %edx,%ecx
16216 4000db4a:       29 c1                   sub    %eax,%ecx
16217 4000db4c:       89 c8                   mov    %ecx,%eax
16218 4000db4e:       3b 45 fc                cmp    -0x4(%ebp),%eax
16219 4000db51:       7e 0a                   jle    4000db5d <_fwrite+0x128>
16220 4000db53:       8b 45 10                mov    0x10(%ebp),%eax
16221 4000db56:       c7 40 0c 01 00 00 00    movl   $0x1,0xc(%eax)
16222 4000db5d:       8b 45 fc                mov    -0x4(%ebp),%eax
16223 4000db60:       89 45 ec                mov    %eax,-0x14(%ebp)
16224 4000db63:       eb 24                   jmp    4000db89 <_fwrite+0x154>
16225 4000db65:       8b 45 10                mov    0x10(%ebp),%eax
16226 4000db68:       c7 40 0c 01 00 00 00    movl   $0x1,0xc(%eax)
16227 4000db6f:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
16228 4000db76:       eb 11                   jmp    4000db89 <_fwrite+0x154>
16229 4000db78:       c7 05 54 59 01 40 08    movl   $0x8,0x40015954
16230 4000db7f:       00 00 00 
16231 4000db82:       c7 45 ec ff ff ff ff    movl   $0xffffffff,-0x14(%ebp)
16232 4000db89:       8b 45 ec                mov    -0x14(%ebp),%eax
16233 4000db8c:       c9                      leave  
16234 4000db8d:       c3                      ret    
16236 4000db8e <fgets>:
16237 4000db8e:       55                      push   %ebp
16238 4000db8f:       89 e5                   mov    %esp,%ebp
16239 4000db91:       83 ec 18                sub    $0x18,%esp
16240 4000db94:       83 7d 10 00             cmpl   $0x0,0x10(%ebp)
16241 4000db98:       0f 84 8f 00 00 00       je     4000dc2d <fgets+0x9f>
16242 4000db9e:       8b 45 10                mov    0x10(%ebp),%eax
16243 4000dba1:       8b 00                   mov    (%eax),%eax
16244 4000dba3:       85 c0                   test   %eax,%eax
16245 4000dba5:       0f 88 82 00 00 00       js     4000dc2d <fgets+0x9f>
16246 4000dbab:       c7 45 f8 00 00 00 00    movl   $0x0,-0x8(%ebp)
16247 4000dbb2:       eb 5d                   jmp    4000dc11 <fgets+0x83>
16248 4000dbb4:       8b 45 10                mov    0x10(%ebp),%eax
16249 4000dbb7:       89 04 24                mov    %eax,(%esp)
16250 4000dbba:       e8 84 00 00 00          call   4000dc43 <fgetc>
16251 4000dbbf:       89 45 fc                mov    %eax,-0x4(%ebp)
16252 4000dbc2:       83 7d fc ff             cmpl   $0xffffffff,-0x4(%ebp)
16253 4000dbc6:       74 54                   je     4000dc1c <fgets+0x8e>
16254 4000dbc8:       8b 45 f8                mov    -0x8(%ebp),%eax
16255 4000dbcb:       89 c2                   mov    %eax,%edx
16256 4000dbcd:       03 55 08                add    0x8(%ebp),%edx
16257 4000dbd0:       8b 45 fc                mov    -0x4(%ebp),%eax
16258 4000dbd3:       88 02                   mov    %al,(%edx)
16259 4000dbd5:       a1 54 59 01 40          mov    0x40015954,%eax
16260 4000dbda:       85 c0                   test   %eax,%eax
16261 4000dbdc:       7e 15                   jle    4000dbf3 <fgets+0x65>
16262 4000dbde:       8b 15 54 59 01 40       mov    0x40015954,%edx
16263 4000dbe4:       8b 45 10                mov    0x10(%ebp),%eax
16264 4000dbe7:       89 50 04                mov    %edx,0x4(%eax)
16265 4000dbea:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
16266 4000dbf1:       eb 4b                   jmp    4000dc3e <fgets+0xb0>
16267 4000dbf3:       8b 45 f8                mov    -0x8(%ebp),%eax
16268 4000dbf6:       03 45 08                add    0x8(%ebp),%eax
16269 4000dbf9:       0f b6 00                movzbl (%eax),%eax
16270 4000dbfc:       84 c0                   test   %al,%al
16271 4000dbfe:       74 1c                   je     4000dc1c <fgets+0x8e>
16272 4000dc00:       8b 45 f8                mov    -0x8(%ebp),%eax
16273 4000dc03:       03 45 08                add    0x8(%ebp),%eax
16274 4000dc06:       0f b6 00                movzbl (%eax),%eax
16275 4000dc09:       3c 0a                   cmp    $0xa,%al
16276 4000dc0b:       74 0f                   je     4000dc1c <fgets+0x8e>
16277 4000dc0d:       83 45 f8 01             addl   $0x1,-0x8(%ebp)
16278 4000dc11:       8b 45 0c                mov    0xc(%ebp),%eax
16279 4000dc14:       83 e8 01                sub    $0x1,%eax
16280 4000dc17:       3b 45 f8                cmp    -0x8(%ebp),%eax
16281 4000dc1a:       7f 98                   jg     4000dbb4 <fgets+0x26>
16282 4000dc1c:       8b 45 f8                mov    -0x8(%ebp),%eax
16283 4000dc1f:       03 45 08                add    0x8(%ebp),%eax
16284 4000dc22:       c6 00 00                movb   $0x0,(%eax)
16285 4000dc25:       8b 45 08                mov    0x8(%ebp),%eax
16286 4000dc28:       89 45 ec                mov    %eax,-0x14(%ebp)
16287 4000dc2b:       eb 11                   jmp    4000dc3e <fgets+0xb0>
16288 4000dc2d:       c7 05 54 59 01 40 08    movl   $0x8,0x40015954
16289 4000dc34:       00 00 00 
16290 4000dc37:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
16291 4000dc3e:       8b 45 ec                mov    -0x14(%ebp),%eax
16292 4000dc41:       c9                      leave  
16293 4000dc42:       c3                      ret    
16295 4000dc43 <fgetc>:
16296 4000dc43:       55                      push   %ebp
16297 4000dc44:       89 e5                   mov    %esp,%ebp
16298 4000dc46:       83 ec 28                sub    $0x28,%esp
16299 4000dc49:       c6 45 ff ff             movb   $0xff,-0x1(%ebp)
16300 4000dc4d:       8b 45 08                mov    0x8(%ebp),%eax
16301 4000dc50:       89 44 24 08             mov    %eax,0x8(%esp)
16302 4000dc54:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
16303 4000dc5b:       00 
16304 4000dc5c:       8d 45 ff                lea    -0x1(%ebp),%eax
16305 4000dc5f:       89 04 24                mov    %eax,(%esp)
16306 4000dc62:       e8 1b 00 00 00          call   4000dc82 <_fread>
16307 4000dc67:       0f b6 45 ff             movzbl -0x1(%ebp),%eax
16308 4000dc6b:       3c ff                   cmp    $0xff,%al
16309 4000dc6d:       75 0a                   jne    4000dc79 <fgetc+0x36>
16310 4000dc6f:       8b 45 08                mov    0x8(%ebp),%eax
16311 4000dc72:       c7 40 0c 01 00 00 00    movl   $0x1,0xc(%eax)
16312 4000dc79:       0f b6 45 ff             movzbl -0x1(%ebp),%eax
16313 4000dc7d:       0f be c0                movsbl %al,%eax
16314 4000dc80:       c9                      leave  
16315 4000dc81:       c3                      ret    
16317 4000dc82 <_fread>:
16318 4000dc82:       55                      push   %ebp
16319 4000dc83:       89 e5                   mov    %esp,%ebp
16320 4000dc85:       83 ec 28                sub    $0x28,%esp
16321 4000dc88:       83 7d 10 00             cmpl   $0x0,0x10(%ebp)
16322 4000dc8c:       74 50                   je     4000dcde <_fread+0x5c>
16323 4000dc8e:       8b 45 10                mov    0x10(%ebp),%eax
16324 4000dc91:       8b 00                   mov    (%eax),%eax
16325 4000dc93:       85 c0                   test   %eax,%eax
16326 4000dc95:       78 47                   js     4000dcde <_fread+0x5c>
16327 4000dc97:       8b 45 10                mov    0x10(%ebp),%eax
16328 4000dc9a:       8b 10                   mov    (%eax),%edx
16329 4000dc9c:       8b 45 0c                mov    0xc(%ebp),%eax
16330 4000dc9f:       89 44 24 08             mov    %eax,0x8(%esp)
16331 4000dca3:       8b 45 08                mov    0x8(%ebp),%eax
16332 4000dca6:       89 44 24 04             mov    %eax,0x4(%esp)
16333 4000dcaa:       89 14 24                mov    %edx,(%esp)
16334 4000dcad:       e8 a6 99 ff ff          call   40007658 <read>
16335 4000dcb2:       89 45 fc                mov    %eax,-0x4(%ebp)
16336 4000dcb5:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
16337 4000dcb9:       7e 1a                   jle    4000dcd5 <_fread+0x53>
16338 4000dcbb:       8b 45 fc                mov    -0x4(%ebp),%eax
16339 4000dcbe:       3b 45 0c                cmp    0xc(%ebp),%eax
16340 4000dcc1:       73 0a                   jae    4000dccd <_fread+0x4b>
16341 4000dcc3:       8b 45 10                mov    0x10(%ebp),%eax
16342 4000dcc6:       c7 40 0c 01 00 00 00    movl   $0x1,0xc(%eax)
16343 4000dccd:       8b 45 fc                mov    -0x4(%ebp),%eax
16344 4000dcd0:       89 45 ec                mov    %eax,-0x14(%ebp)
16345 4000dcd3:       eb 1a                   jmp    4000dcef <_fread+0x6d>
16346 4000dcd5:       c7 45 ec ff ff ff ff    movl   $0xffffffff,-0x14(%ebp)
16347 4000dcdc:       eb 11                   jmp    4000dcef <_fread+0x6d>
16348 4000dcde:       c7 05 54 59 01 40 08    movl   $0x8,0x40015954
16349 4000dce5:       00 00 00 
16350 4000dce8:       c7 45 ec ff ff ff ff    movl   $0xffffffff,-0x14(%ebp)
16351 4000dcef:       8b 45 ec                mov    -0x14(%ebp),%eax
16352 4000dcf2:       c9                      leave  
16353 4000dcf3:       c3                      ret    
16355 4000dcf4 <fgetpos>:
16356 4000dcf4:       55                      push   %ebp
16357 4000dcf5:       89 e5                   mov    %esp,%ebp
16358 4000dcf7:       83 ec 08                sub    $0x8,%esp
16359 4000dcfa:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
16360 4000dcfe:       74 24                   je     4000dd24 <fgetpos+0x30>
16361 4000dd00:       8b 45 08                mov    0x8(%ebp),%eax
16362 4000dd03:       8b 00                   mov    (%eax),%eax
16363 4000dd05:       85 c0                   test   %eax,%eax
16364 4000dd07:       78 1b                   js     4000dd24 <fgetpos+0x30>
16365 4000dd09:       8b 45 08                mov    0x8(%ebp),%eax
16366 4000dd0c:       89 04 24                mov    %eax,(%esp)
16367 4000dd0f:       e8 26 00 00 00          call   4000dd3a <ftello>
16368 4000dd14:       89 c2                   mov    %eax,%edx
16369 4000dd16:       8b 45 0c                mov    0xc(%ebp),%eax
16370 4000dd19:       89 10                   mov    %edx,(%eax)
16371 4000dd1b:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
16372 4000dd22:       eb 11                   jmp    4000dd35 <fgetpos+0x41>
16373 4000dd24:       c7 05 54 59 01 40 08    movl   $0x8,0x40015954
16374 4000dd2b:       00 00 00 
16375 4000dd2e:       c7 45 fc ff ff ff ff    movl   $0xffffffff,-0x4(%ebp)
16376 4000dd35:       8b 45 fc                mov    -0x4(%ebp),%eax
16377 4000dd38:       c9                      leave  
16378 4000dd39:       c3                      ret    
16380 4000dd3a <ftello>:
16381 4000dd3a:       55                      push   %ebp
16382 4000dd3b:       89 e5                   mov    %esp,%ebp
16383 4000dd3d:       83 ec 18                sub    $0x18,%esp
16384 4000dd40:       8b 45 08                mov    0x8(%ebp),%eax
16385 4000dd43:       8b 00                   mov    (%eax),%eax
16386 4000dd45:       c7 44 24 08 01 00 00    movl   $0x1,0x8(%esp)
16387 4000dd4c:       00 
16388 4000dd4d:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
16389 4000dd54:       00 
16390 4000dd55:       89 04 24                mov    %eax,(%esp)
16391 4000dd58:       e8 67 9b ff ff          call   400078c4 <lseek>
16392 4000dd5d:       c9                      leave  
16393 4000dd5e:       c3                      ret    
16395 4000dd5f <fsetpos>:
16396 4000dd5f:       55                      push   %ebp
16397 4000dd60:       89 e5                   mov    %esp,%ebp
16398 4000dd62:       83 ec 18                sub    $0x18,%esp
16399 4000dd65:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
16400 4000dd69:       74 2e                   je     4000dd99 <fsetpos+0x3a>
16401 4000dd6b:       8b 45 08                mov    0x8(%ebp),%eax
16402 4000dd6e:       8b 00                   mov    (%eax),%eax
16403 4000dd70:       85 c0                   test   %eax,%eax
16404 4000dd72:       78 25                   js     4000dd99 <fsetpos+0x3a>
16405 4000dd74:       8b 45 0c                mov    0xc(%ebp),%eax
16406 4000dd77:       8b 00                   mov    (%eax),%eax
16407 4000dd79:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
16408 4000dd80:       00 
16409 4000dd81:       89 44 24 04             mov    %eax,0x4(%esp)
16410 4000dd85:       8b 45 08                mov    0x8(%ebp),%eax
16411 4000dd88:       89 04 24                mov    %eax,(%esp)
16412 4000dd8b:       e8 1f 00 00 00          call   4000ddaf <fseeko>
16413 4000dd90:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
16414 4000dd97:       eb 11                   jmp    4000ddaa <fsetpos+0x4b>
16415 4000dd99:       c7 05 54 59 01 40 08    movl   $0x8,0x40015954
16416 4000dda0:       00 00 00 
16417 4000dda3:       c7 45 fc ff ff ff ff    movl   $0xffffffff,-0x4(%ebp)
16418 4000ddaa:       8b 45 fc                mov    -0x4(%ebp),%eax
16419 4000ddad:       c9                      leave  
16420 4000ddae:       c3                      ret    
16422 4000ddaf <fseeko>:
16423 4000ddaf:       55                      push   %ebp
16424 4000ddb0:       89 e5                   mov    %esp,%ebp
16425 4000ddb2:       83 ec 18                sub    $0x18,%esp
16426 4000ddb5:       8b 45 08                mov    0x8(%ebp),%eax
16427 4000ddb8:       89 04 24                mov    %eax,(%esp)
16428 4000ddbb:       e8 23 fb ff ff          call   4000d8e3 <fflush>
16429 4000ddc0:       8b 45 08                mov    0x8(%ebp),%eax
16430 4000ddc3:       8b 10                   mov    (%eax),%edx
16431 4000ddc5:       8b 45 10                mov    0x10(%ebp),%eax
16432 4000ddc8:       89 44 24 08             mov    %eax,0x8(%esp)
16433 4000ddcc:       8b 45 0c                mov    0xc(%ebp),%eax
16434 4000ddcf:       89 44 24 04             mov    %eax,0x4(%esp)
16435 4000ddd3:       89 14 24                mov    %edx,(%esp)
16436 4000ddd6:       e8 e9 9a ff ff          call   400078c4 <lseek>
16437 4000dddb:       3b 45 0c                cmp    0xc(%ebp),%eax
16438 4000ddde:       75 09                   jne    4000dde9 <fseeko+0x3a>
16439 4000dde0:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
16440 4000dde7:       eb 07                   jmp    4000ddf0 <fseeko+0x41>
16441 4000dde9:       c7 45 fc ff ff ff ff    movl   $0xffffffff,-0x4(%ebp)
16442 4000ddf0:       8b 45 fc                mov    -0x4(%ebp),%eax
16443 4000ddf3:       c9                      leave  
16444 4000ddf4:       c3                      ret    
16446 4000ddf5 <freopen>:
16447 4000ddf5:       55                      push   %ebp
16448 4000ddf6:       89 e5                   mov    %esp,%ebp
16449 4000ddf8:       83 ec 18                sub    $0x18,%esp
16450 4000ddfb:       83 7d 10 00             cmpl   $0x0,0x10(%ebp)
16451 4000ddff:       74 6c                   je     4000de6d <freopen+0x78>
16452 4000de01:       8b 45 10                mov    0x10(%ebp),%eax
16453 4000de04:       8b 00                   mov    (%eax),%eax
16454 4000de06:       85 c0                   test   %eax,%eax
16455 4000de08:       78 63                   js     4000de6d <freopen+0x78>
16456 4000de0a:       8b 45 10                mov    0x10(%ebp),%eax
16457 4000de0d:       89 04 24                mov    %eax,(%esp)
16458 4000de10:       e8 ce fa ff ff          call   4000d8e3 <fflush>
16459 4000de15:       8b 45 10                mov    0x10(%ebp),%eax
16460 4000de18:       8b 00                   mov    (%eax),%eax
16461 4000de1a:       89 04 24                mov    %eax,(%esp)
16462 4000de1d:       e8 fb 94 ff ff          call   4000731d <close>
16463 4000de22:       8b 45 0c                mov    0xc(%ebp),%eax
16464 4000de25:       89 04 24                mov    %eax,(%esp)
16465 4000de28:       e8 4d f8 ff ff          call   4000d67a <oflag_str2num>
16466 4000de2d:       89 c2                   mov    %eax,%edx
16467 4000de2f:       8b 45 10                mov    0x10(%ebp),%eax
16468 4000de32:       89 50 08                mov    %edx,0x8(%eax)
16469 4000de35:       8b 45 10                mov    0x10(%ebp),%eax
16470 4000de38:       c7 40 0c 00 00 00 00    movl   $0x0,0xc(%eax)
16471 4000de3f:       8b 45 10                mov    0x10(%ebp),%eax
16472 4000de42:       c7 40 04 00 00 00 00    movl   $0x0,0x4(%eax)
16473 4000de49:       8b 45 10                mov    0x10(%ebp),%eax
16474 4000de4c:       8b 40 08                mov    0x8(%eax),%eax
16475 4000de4f:       89 44 24 04             mov    %eax,0x4(%esp)
16476 4000de53:       8b 45 08                mov    0x8(%ebp),%eax
16477 4000de56:       89 04 24                mov    %eax,(%esp)
16478 4000de59:       e8 18 92 ff ff          call   40007076 <open>
16479 4000de5e:       89 c2                   mov    %eax,%edx
16480 4000de60:       8b 45 10                mov    0x10(%ebp),%eax
16481 4000de63:       89 10                   mov    %edx,(%eax)
16482 4000de65:       8b 45 10                mov    0x10(%ebp),%eax
16483 4000de68:       89 45 fc                mov    %eax,-0x4(%ebp)
16484 4000de6b:       eb 11                   jmp    4000de7e <freopen+0x89>
16485 4000de6d:       c7 05 54 59 01 40 08    movl   $0x8,0x40015954
16486 4000de74:       00 00 00 
16487 4000de77:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
16488 4000de7e:       8b 45 fc                mov    -0x4(%ebp),%eax
16489 4000de81:       c9                      leave  
16490 4000de82:       c3                      ret    
16492 4000de83 <fscanf>:
16493 4000de83:       55                      push   %ebp
16494 4000de84:       89 e5                   mov    %esp,%ebp
16495 4000de86:       b8 00 00 00 00          mov    $0x0,%eax
16496 4000de8b:       5d                      pop    %ebp
16497 4000de8c:       c3                      ret    
16499 4000de8d <ungetc>:
16500 4000de8d:       55                      push   %ebp
16501 4000de8e:       89 e5                   mov    %esp,%ebp
16502 4000de90:       b8 00 00 00 00          mov    $0x0,%eax
16503 4000de95:       5d                      pop    %ebp
16504 4000de96:       c3                      ret    
16505 4000de97:       90                      nop    
16507 4000de98 <_stdlib_init_pre>:
16508 4000de98:       55                      push   %ebp
16509 4000de99:       89 e5                   mov    %esp,%ebp
16510 4000de9b:       53                      push   %ebx
16511 4000de9c:       83 ec 14                sub    $0x14,%esp
16512 4000de9f:       8b 0d 40 59 01 40       mov    0x40015940,%ecx
16513 4000dea5:       c7 45 f4 03 00 01 80    movl   $0x80010003,-0xc(%ebp)
16514 4000deac:       8b 45 f4                mov    -0xc(%ebp),%eax
16515 4000deaf:       f7 e9                   imul   %ecx
16516 4000deb1:       8d 04 0a                lea    (%edx,%ecx,1),%eax
16517 4000deb4:       89 c2                   mov    %eax,%edx
16518 4000deb6:       c1 fa 0e                sar    $0xe,%edx
16519 4000deb9:       89 c8                   mov    %ecx,%eax
16520 4000debb:       c1 f8 1f                sar    $0x1f,%eax
16521 4000debe:       89 d3                   mov    %edx,%ebx
16522 4000dec0:       29 c3                   sub    %eax,%ebx
16523 4000dec2:       89 5d f8                mov    %ebx,-0x8(%ebp)
16524 4000dec5:       8b 45 f8                mov    -0x8(%ebp),%eax
16525 4000dec8:       c1 e0 0f                shl    $0xf,%eax
16526 4000decb:       2b 45 f8                sub    -0x8(%ebp),%eax
16527 4000dece:       89 ca                   mov    %ecx,%edx
16528 4000ded0:       29 c2                   sub    %eax,%edx
16529 4000ded2:       89 55 f8                mov    %edx,-0x8(%ebp)
16530 4000ded5:       8b 5d f8                mov    -0x8(%ebp),%ebx
16531 4000ded8:       89 1d 40 59 01 40       mov    %ebx,0x40015940
16532 4000dede:       c7 05 54 59 01 40 00    movl   $0x0,0x40015954
16533 4000dee5:       00 00 00 
16534 4000dee8:       e8 0b 1c 00 00          call   4000faf8 <llist_create>
16535 4000deed:       a3 64 59 01 40          mov    %eax,0x40015964
16536 4000def2:       e8 23 3d 00 00          call   40011c1a <_signal_init>
16537 4000def7:       83 c4 14                add    $0x14,%esp
16538 4000defa:       5b                      pop    %ebx
16539 4000defb:       5d                      pop    %ebp
16540 4000defc:       c3                      ret    
16542 4000defd <_stdlib_init_post>:
16543 4000defd:       55                      push   %ebp
16544 4000defe:       89 e5                   mov    %esp,%ebp
16545 4000df00:       83 ec 08                sub    $0x8,%esp
16546 4000df03:       e8 34 3a 00 00          call   4001193c <env_init>
16547 4000df08:       e8 8b 83 ff ff          call   40006298 <_fs_init>
16548 4000df0d:       e8 08 f7 ff ff          call   4000d61a <stdio_init>
16549 4000df12:       c9                      leave  
16550 4000df13:       c3                      ret    
16552 4000df14 <exit>:
16553 4000df14:       55                      push   %ebp
16554 4000df15:       89 e5                   mov    %esp,%ebp
16555 4000df17:       83 ec 18                sub    $0x18,%esp
16556 4000df1a:       eb 05                   jmp    4000df21 <exit+0xd>
16557 4000df1c:       8b 45 fc                mov    -0x4(%ebp),%eax
16558 4000df1f:       ff d0                   call   *%eax
16559 4000df21:       a1 64 59 01 40          mov    0x40015964,%eax
16560 4000df26:       89 04 24                mov    %eax,(%esp)
16561 4000df29:       e8 9e 1c 00 00          call   4000fbcc <llist_pop>
16562 4000df2e:       89 45 fc                mov    %eax,-0x4(%ebp)
16563 4000df31:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
16564 4000df35:       75 e5                   jne    4000df1c <exit+0x8>
16565 4000df37:       8b 45 08                mov    0x8(%ebp),%eax
16566 4000df3a:       89 04 24                mov    %eax,(%esp)
16567 4000df3d:       e8 02 00 00 00          call   4000df44 <_Exit>
16568 4000df42:       c9                      leave  
16569 4000df43:       c3                      ret    
16571 4000df44 <_Exit>:
16572 4000df44:       55                      push   %ebp
16573 4000df45:       89 e5                   mov    %esp,%ebp
16574 4000df47:       83 ec 18                sub    $0x18,%esp
16575 4000df4a:       e8 4b 93 ff ff          call   4000729a <_close_all_filehandles>
16576 4000df4f:       8b 45 08                mov    0x8(%ebp),%eax
16577 4000df52:       89 44 24 08             mov    %eax,0x8(%esp)
16578 4000df56:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
16579 4000df5d:       00 
16580 4000df5e:       c7 04 24 34 00 00 00    movl   $0x34,(%esp)
16581 4000df65:       e8 2e 38 00 00          call   40011798 <syscall_call>
16582 4000df6a:       c9                      leave  
16583 4000df6b:       c3                      ret    
16585 4000df6c <atexit>:
16586 4000df6c:       55                      push   %ebp
16587 4000df6d:       89 e5                   mov    %esp,%ebp
16588 4000df6f:       83 ec 18                sub    $0x18,%esp
16589 4000df72:       a1 64 59 01 40          mov    0x40015964,%eax
16590 4000df77:       8b 55 08                mov    0x8(%ebp),%edx
16591 4000df7a:       89 54 24 04             mov    %edx,0x4(%esp)
16592 4000df7e:       89 04 24                mov    %eax,(%esp)
16593 4000df81:       e8 ed 1b 00 00          call   4000fb73 <llist_push>
16594 4000df86:       85 c0                   test   %eax,%eax
16595 4000df88:       74 09                   je     4000df93 <atexit+0x27>
16596 4000df8a:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
16597 4000df91:       eb 07                   jmp    4000df9a <atexit+0x2e>
16598 4000df93:       c7 45 fc ff ff ff ff    movl   $0xffffffff,-0x4(%ebp)
16599 4000df9a:       8b 45 fc                mov    -0x4(%ebp),%eax
16600 4000df9d:       c9                      leave  
16601 4000df9e:       c3                      ret    
16603 4000df9f <atoi>:
16604 4000df9f:       55                      push   %ebp
16605 4000dfa0:       89 e5                   mov    %esp,%ebp
16606 4000dfa2:       83 ec 18                sub    $0x18,%esp
16607 4000dfa5:       c7 45 f8 00 00 00 00    movl   $0x0,-0x8(%ebp)
16608 4000dfac:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
16609 4000dfb3:       8b 45 08                mov    0x8(%ebp),%eax
16610 4000dfb6:       89 04 24                mov    %eax,(%esp)
16611 4000dfb9:       e8 fa 14 00 00          call   4000f4b8 <strlen>
16612 4000dfbe:       89 45 f0                mov    %eax,-0x10(%ebp)
16613 4000dfc1:       c7 45 f4 00 00 00 00    movl   $0x0,-0xc(%ebp)
16614 4000dfc8:       eb 59                   jmp    4000e023 <atoi+0x84>
16615 4000dfca:       8b 55 f4                mov    -0xc(%ebp),%edx
16616 4000dfcd:       8b 45 08                mov    0x8(%ebp),%eax
16617 4000dfd0:       01 d0                   add    %edx,%eax
16618 4000dfd2:       0f b6 00                movzbl (%eax),%eax
16619 4000dfd5:       3c 2b                   cmp    $0x2b,%al
16620 4000dfd7:       75 09                   jne    4000dfe2 <atoi+0x43>
16621 4000dfd9:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
16622 4000dfe0:       eb 3d                   jmp    4000e01f <atoi+0x80>
16623 4000dfe2:       8b 55 f4                mov    -0xc(%ebp),%edx
16624 4000dfe5:       8b 45 08                mov    0x8(%ebp),%eax
16625 4000dfe8:       01 d0                   add    %edx,%eax
16626 4000dfea:       0f b6 00                movzbl (%eax),%eax
16627 4000dfed:       3c 2d                   cmp    $0x2d,%al
16628 4000dfef:       75 09                   jne    4000dffa <atoi+0x5b>
16629 4000dff1:       c7 45 fc 01 00 00 00    movl   $0x1,-0x4(%ebp)
16630 4000dff8:       eb 25                   jmp    4000e01f <atoi+0x80>
16631 4000dffa:       8b 55 f8                mov    -0x8(%ebp),%edx
16632 4000dffd:       89 d0                   mov    %edx,%eax
16633 4000dfff:       c1 e0 02                shl    $0x2,%eax
16634 4000e002:       01 d0                   add    %edx,%eax
16635 4000e004:       01 c0                   add    %eax,%eax
16636 4000e006:       89 c1                   mov    %eax,%ecx
16637 4000e008:       8b 55 f4                mov    -0xc(%ebp),%edx
16638 4000e00b:       8b 45 08                mov    0x8(%ebp),%eax
16639 4000e00e:       01 d0                   add    %edx,%eax
16640 4000e010:       0f b6 00                movzbl (%eax),%eax
16641 4000e013:       0f be c0                movsbl %al,%eax
16642 4000e016:       8d 04 01                lea    (%ecx,%eax,1),%eax
16643 4000e019:       83 e8 30                sub    $0x30,%eax
16644 4000e01c:       89 45 f8                mov    %eax,-0x8(%ebp)
16645 4000e01f:       83 45 f4 01             addl   $0x1,-0xc(%ebp)
16646 4000e023:       8b 45 f4                mov    -0xc(%ebp),%eax
16647 4000e026:       3b 45 f0                cmp    -0x10(%ebp),%eax
16648 4000e029:       72 9f                   jb     4000dfca <atoi+0x2b>
16649 4000e02b:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
16650 4000e02f:       74 03                   je     4000e034 <atoi+0x95>
16651 4000e031:       f7 5d f8                negl   -0x8(%ebp)
16652 4000e034:       8b 45 f8                mov    -0x8(%ebp),%eax
16653 4000e037:       c9                      leave  
16654 4000e038:       c3                      ret    
16656 4000e039 <abs>:
16657 4000e039:       55                      push   %ebp
16658 4000e03a:       89 e5                   mov    %esp,%ebp
16659 4000e03c:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
16660 4000e040:       79 03                   jns    4000e045 <abs+0xc>
16661 4000e042:       f7 5d 08                negl   0x8(%ebp)
16662 4000e045:       8b 45 08                mov    0x8(%ebp),%eax
16663 4000e048:       5d                      pop    %ebp
16664 4000e049:       c3                      ret    
16666 4000e04a <div>:
16667 4000e04a:       55                      push   %ebp
16668 4000e04b:       89 e5                   mov    %esp,%ebp
16669 4000e04d:       83 ec 1c                sub    $0x1c,%esp
16670 4000e050:       8b 4d 08                mov    0x8(%ebp),%ecx
16671 4000e053:       8b 45 0c                mov    0xc(%ebp),%eax
16672 4000e056:       89 45 e4                mov    %eax,-0x1c(%ebp)
16673 4000e059:       8b 55 e4                mov    -0x1c(%ebp),%edx
16674 4000e05c:       89 d0                   mov    %edx,%eax
16675 4000e05e:       c1 fa 1f                sar    $0x1f,%edx
16676 4000e061:       f7 7d 10                idivl  0x10(%ebp)
16677 4000e064:       89 45 f8                mov    %eax,-0x8(%ebp)
16678 4000e067:       8b 55 0c                mov    0xc(%ebp),%edx
16679 4000e06a:       89 d0                   mov    %edx,%eax
16680 4000e06c:       c1 fa 1f                sar    $0x1f,%edx
16681 4000e06f:       f7 7d 10                idivl  0x10(%ebp)
16682 4000e072:       89 d0                   mov    %edx,%eax
16683 4000e074:       89 45 fc                mov    %eax,-0x4(%ebp)
16684 4000e077:       8b 45 f8                mov    -0x8(%ebp),%eax
16685 4000e07a:       8b 55 fc                mov    -0x4(%ebp),%edx
16686 4000e07d:       89 01                   mov    %eax,(%ecx)
16687 4000e07f:       89 51 04                mov    %edx,0x4(%ecx)
16688 4000e082:       89 c8                   mov    %ecx,%eax
16689 4000e084:       c9                      leave  
16690 4000e085:       c2 04 00                ret    $0x4
16692 4000e088 <bsearch>:
16693 4000e088:       55                      push   %ebp
16694 4000e089:       89 e5                   mov    %esp,%ebp
16695 4000e08b:       83 ec 38                sub    $0x38,%esp
16696 4000e08e:       8b 45 08                mov    0x8(%ebp),%eax
16697 4000e091:       89 45 e4                mov    %eax,-0x1c(%ebp)
16698 4000e094:       8b 45 14                mov    0x14(%ebp),%eax
16699 4000e097:       89 04 24                mov    %eax,(%esp)
16700 4000e09a:       e8 05 dd ff ff          call   4000bda4 <malloc>
16701 4000e09f:       89 c2                   mov    %eax,%edx
16702 4000e0a1:       8b 45 14                mov    0x14(%ebp),%eax
16703 4000e0a4:       89 44 24 08             mov    %eax,0x8(%esp)
16704 4000e0a8:       8b 45 e4                mov    -0x1c(%ebp),%eax
16705 4000e0ab:       89 44 24 04             mov    %eax,0x4(%esp)
16706 4000e0af:       89 14 24                mov    %edx,(%esp)
16707 4000e0b2:       e8 49 10 00 00          call   4000f100 <memcpy>
16708 4000e0b7:       89 45 e8                mov    %eax,-0x18(%ebp)
16709 4000e0ba:       8b 45 0c                mov    0xc(%ebp),%eax
16710 4000e0bd:       89 45 ec                mov    %eax,-0x14(%ebp)
16711 4000e0c0:       c7 45 f0 00 00 00 00    movl   $0x0,-0x10(%ebp)
16712 4000e0c7:       c7 45 f4 00 00 00 00    movl   $0x0,-0xc(%ebp)
16713 4000e0ce:       c7 45 f8 00 00 00 00    movl   $0x0,-0x8(%ebp)
16714 4000e0d5:       e9 9a 00 00 00          jmp    4000e174 <bsearch+0xec>
16715 4000e0da:       8b 45 10                mov    0x10(%ebp),%eax
16716 4000e0dd:       0f af 45 14             imul   0x14(%ebp),%eax
16717 4000e0e1:       03 45 ec                add    -0x14(%ebp),%eax
16718 4000e0e4:       0f b6 10                movzbl (%eax),%edx
16719 4000e0e7:       8b 45 e4                mov    -0x1c(%ebp),%eax
16720 4000e0ea:       0f b6 00                movzbl (%eax),%eax
16721 4000e0ed:       38 c2                   cmp    %al,%dl
16722 4000e0ef:       75 04                   jne    4000e0f5 <bsearch+0x6d>
16723 4000e0f1:       83 45 f4 01             addl   $0x1,-0xc(%ebp)
16724 4000e0f5:       8b 45 f4                mov    -0xc(%ebp),%eax
16725 4000e0f8:       3b 45 14                cmp    0x14(%ebp),%eax
16726 4000e0fb:       75 73                   jne    4000e170 <bsearch+0xe8>
16727 4000e0fd:       8b 45 14                mov    0x14(%ebp),%eax
16728 4000e100:       89 04 24                mov    %eax,(%esp)
16729 4000e103:       e8 9c dc ff ff          call   4000bda4 <malloc>
16730 4000e108:       89 c2                   mov    %eax,%edx
16731 4000e10a:       8b 45 14                mov    0x14(%ebp),%eax
16732 4000e10d:       89 44 24 08             mov    %eax,0x8(%esp)
16733 4000e111:       8b 45 ec                mov    -0x14(%ebp),%eax
16734 4000e114:       89 44 24 04             mov    %eax,0x4(%esp)
16735 4000e118:       89 14 24                mov    %edx,(%esp)
16736 4000e11b:       e8 e0 0f 00 00          call   4000f100 <memcpy>
16737 4000e120:       89 45 fc                mov    %eax,-0x4(%ebp)
16738 4000e123:       83 7d 18 00             cmpl   $0x0,0x18(%ebp)
16739 4000e127:       74 12                   je     4000e13b <bsearch+0xb3>
16740 4000e129:       8b 45 ec                mov    -0x14(%ebp),%eax
16741 4000e12c:       89 44 24 04             mov    %eax,0x4(%esp)
16742 4000e130:       8b 45 e4                mov    -0x1c(%ebp),%eax
16743 4000e133:       89 04 24                mov    %eax,(%esp)
16744 4000e136:       8b 45 18                mov    0x18(%ebp),%eax
16745 4000e139:       ff d0                   call   *%eax
16746 4000e13b:       8b 45 e8                mov    -0x18(%ebp),%eax
16747 4000e13e:       0f b6 10                movzbl (%eax),%edx
16748 4000e141:       8b 45 e4                mov    -0x1c(%ebp),%eax
16749 4000e144:       88 10                   mov    %dl,(%eax)
16750 4000e146:       8b 45 fc                mov    -0x4(%ebp),%eax
16751 4000e149:       0f b6 10                movzbl (%eax),%edx
16752 4000e14c:       8b 45 ec                mov    -0x14(%ebp),%eax
16753 4000e14f:       88 10                   mov    %dl,(%eax)
16754 4000e151:       8b 45 fc                mov    -0x4(%ebp),%eax
16755 4000e154:       89 04 24                mov    %eax,(%esp)
16756 4000e157:       e8 ff e0 ff ff          call   4000c25b <free>
16757 4000e15c:       c7 45 f4 00 00 00 00    movl   $0x0,-0xc(%ebp)
16758 4000e163:       8b 45 10                mov    0x10(%ebp),%eax
16759 4000e166:       0f af 45 14             imul   0x14(%ebp),%eax
16760 4000e16a:       03 45 0c                add    0xc(%ebp),%eax
16761 4000e16d:       89 45 f0                mov    %eax,-0x10(%ebp)
16762 4000e170:       83 45 f8 01             addl   $0x1,-0x8(%ebp)
16763 4000e174:       8b 45 f8                mov    -0x8(%ebp),%eax
16764 4000e177:       3b 45 10                cmp    0x10(%ebp),%eax
16765 4000e17a:       0f 82 5a ff ff ff       jb     4000e0da <bsearch+0x52>
16766 4000e180:       8b 45 e8                mov    -0x18(%ebp),%eax
16767 4000e183:       89 04 24                mov    %eax,(%esp)
16768 4000e186:       e8 d0 e0 ff ff          call   4000c25b <free>
16769 4000e18b:       8b 45 f0                mov    -0x10(%ebp),%eax
16770 4000e18e:       c9                      leave  
16771 4000e18f:       c3                      ret    
16773 4000e190 <sbrk>:
16774 4000e190:       55                      push   %ebp
16775 4000e191:       89 e5                   mov    %esp,%ebp
16776 4000e193:       83 ec 18                sub    $0x18,%esp
16777 4000e196:       8b 45 08                mov    0x8(%ebp),%eax
16778 4000e199:       89 44 24 08             mov    %eax,0x8(%esp)
16779 4000e19d:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
16780 4000e1a4:       00 
16781 4000e1a5:       c7 04 24 01 00 00 00    movl   $0x1,(%esp)
16782 4000e1ac:       e8 e7 35 00 00          call   40011798 <syscall_call>
16783 4000e1b1:       c9                      leave  
16784 4000e1b2:       c3                      ret    
16786 4000e1b3 <rand>:
16787 4000e1b3:       55                      push   %ebp
16788 4000e1b4:       89 e5                   mov    %esp,%ebp
16789 4000e1b6:       83 ec 30                sub    $0x30,%esp
16790 4000e1b9:       b8 de c0 0f d0          mov    $0xd00fc0de,%eax
16791 4000e1be:       c9                      leave  
16792 4000e1bf:       c3                      ret    
16794 4000e1c0 <time>:
16795 4000e1c0:       55                      push   %ebp
16796 4000e1c1:       89 e5                   mov    %esp,%ebp
16797 4000e1c3:       57                      push   %edi
16798 4000e1c4:       56                      push   %esi
16799 4000e1c5:       53                      push   %ebx
16800 4000e1c6:       83 ec 5c                sub    $0x5c,%esp
16801 4000e1c9:       a1 b0 54 01 40          mov    0x400154b0,%eax
16802 4000e1ce:       85 c0                   test   %eax,%eax
16803 4000e1d0:       0f 85 da 01 00 00       jne    4000e3b0 <time+0x1f0>
16804 4000e1d6:       c7 04 24 00 00 00 00    movl   $0x0,(%esp)
16805 4000e1dd:       e8 fa 1c 00 00          call   4000fedc <cmos_read>
16806 4000e1e2:       c1 f8 04                sar    $0x4,%eax
16807 4000e1e5:       89 c2                   mov    %eax,%edx
16808 4000e1e7:       83 e2 0f                and    $0xf,%edx
16809 4000e1ea:       89 d0                   mov    %edx,%eax
16810 4000e1ec:       c1 e0 02                shl    $0x2,%eax
16811 4000e1ef:       01 d0                   add    %edx,%eax
16812 4000e1f1:       01 c0                   add    %eax,%eax
16813 4000e1f3:       89 c3                   mov    %eax,%ebx
16814 4000e1f5:       c7 04 24 00 00 00 00    movl   $0x0,(%esp)
16815 4000e1fc:       e8 db 1c 00 00          call   4000fedc <cmos_read>
16816 4000e201:       83 e0 0f                and    $0xf,%eax
16817 4000e204:       01 c3                   add    %eax,%ebx
16818 4000e206:       89 5d ac                mov    %ebx,-0x54(%ebp)
16819 4000e209:       c7 04 24 02 00 00 00    movl   $0x2,(%esp)
16820 4000e210:       e8 c7 1c 00 00          call   4000fedc <cmos_read>
16821 4000e215:       c1 f8 04                sar    $0x4,%eax
16822 4000e218:       89 c2                   mov    %eax,%edx
16823 4000e21a:       83 e2 0f                and    $0xf,%edx
16824 4000e21d:       89 d0                   mov    %edx,%eax
16825 4000e21f:       c1 e0 02                shl    $0x2,%eax
16826 4000e222:       01 d0                   add    %edx,%eax
16827 4000e224:       01 c0                   add    %eax,%eax
16828 4000e226:       89 c3                   mov    %eax,%ebx
16829 4000e228:       c7 04 24 02 00 00 00    movl   $0x2,(%esp)
16830 4000e22f:       e8 a8 1c 00 00          call   4000fedc <cmos_read>
16831 4000e234:       83 e0 0f                and    $0xf,%eax
16832 4000e237:       01 c3                   add    %eax,%ebx
16833 4000e239:       89 5d b0                mov    %ebx,-0x50(%ebp)
16834 4000e23c:       c7 04 24 04 00 00 00    movl   $0x4,(%esp)
16835 4000e243:       e8 94 1c 00 00          call   4000fedc <cmos_read>
16836 4000e248:       c1 f8 04                sar    $0x4,%eax
16837 4000e24b:       89 c2                   mov    %eax,%edx
16838 4000e24d:       83 e2 0f                and    $0xf,%edx
16839 4000e250:       89 d0                   mov    %edx,%eax
16840 4000e252:       c1 e0 02                shl    $0x2,%eax
16841 4000e255:       01 d0                   add    %edx,%eax
16842 4000e257:       01 c0                   add    %eax,%eax
16843 4000e259:       89 c3                   mov    %eax,%ebx
16844 4000e25b:       c7 04 24 04 00 00 00    movl   $0x4,(%esp)
16845 4000e262:       e8 75 1c 00 00          call   4000fedc <cmos_read>
16846 4000e267:       83 e0 0f                and    $0xf,%eax
16847 4000e26a:       01 c3                   add    %eax,%ebx
16848 4000e26c:       89 5d b4                mov    %ebx,-0x4c(%ebp)
16849 4000e26f:       c7 04 24 07 00 00 00    movl   $0x7,(%esp)
16850 4000e276:       e8 61 1c 00 00          call   4000fedc <cmos_read>
16851 4000e27b:       c1 f8 04                sar    $0x4,%eax
16852 4000e27e:       89 c2                   mov    %eax,%edx
16853 4000e280:       83 e2 0f                and    $0xf,%edx
16854 4000e283:       89 d0                   mov    %edx,%eax
16855 4000e285:       c1 e0 02                shl    $0x2,%eax
16856 4000e288:       01 d0                   add    %edx,%eax
16857 4000e28a:       01 c0                   add    %eax,%eax
16858 4000e28c:       89 c3                   mov    %eax,%ebx
16859 4000e28e:       c7 04 24 07 00 00 00    movl   $0x7,(%esp)
16860 4000e295:       e8 42 1c 00 00          call   4000fedc <cmos_read>
16861 4000e29a:       83 e0 0f                and    $0xf,%eax
16862 4000e29d:       01 c3                   add    %eax,%ebx
16863 4000e29f:       89 5d b8                mov    %ebx,-0x48(%ebp)
16864 4000e2a2:       c7 04 24 08 00 00 00    movl   $0x8,(%esp)
16865 4000e2a9:       e8 2e 1c 00 00          call   4000fedc <cmos_read>
16866 4000e2ae:       c1 f8 04                sar    $0x4,%eax
16867 4000e2b1:       89 c2                   mov    %eax,%edx
16868 4000e2b3:       83 e2 0f                and    $0xf,%edx
16869 4000e2b6:       89 d0                   mov    %edx,%eax
16870 4000e2b8:       c1 e0 02                shl    $0x2,%eax
16871 4000e2bb:       01 d0                   add    %edx,%eax
16872 4000e2bd:       01 c0                   add    %eax,%eax
16873 4000e2bf:       89 c3                   mov    %eax,%ebx
16874 4000e2c1:       c7 04 24 08 00 00 00    movl   $0x8,(%esp)
16875 4000e2c8:       e8 0f 1c 00 00          call   4000fedc <cmos_read>
16876 4000e2cd:       83 e0 0f                and    $0xf,%eax
16877 4000e2d0:       8d 04 03                lea    (%ebx,%eax,1),%eax
16878 4000e2d3:       83 e8 01                sub    $0x1,%eax
16879 4000e2d6:       89 45 bc                mov    %eax,-0x44(%ebp)
16880 4000e2d9:       c7 04 24 09 00 00 00    movl   $0x9,(%esp)
16881 4000e2e0:       e8 f7 1b 00 00          call   4000fedc <cmos_read>
16882 4000e2e5:       c1 f8 04                sar    $0x4,%eax
16883 4000e2e8:       89 c2                   mov    %eax,%edx
16884 4000e2ea:       83 e2 0f                and    $0xf,%edx
16885 4000e2ed:       89 d0                   mov    %edx,%eax
16886 4000e2ef:       c1 e0 02                shl    $0x2,%eax
16887 4000e2f2:       01 d0                   add    %edx,%eax
16888 4000e2f4:       01 c0                   add    %eax,%eax
16889 4000e2f6:       89 c6                   mov    %eax,%esi
16890 4000e2f8:       c7 04 24 32 00 00 00    movl   $0x32,(%esp)
16891 4000e2ff:       e8 d8 1b 00 00          call   4000fedc <cmos_read>
16892 4000e304:       c1 f8 04                sar    $0x4,%eax
16893 4000e307:       89 c2                   mov    %eax,%edx
16894 4000e309:       83 e2 0f                and    $0xf,%edx
16895 4000e30c:       89 d0                   mov    %edx,%eax
16896 4000e30e:       c1 e0 02                shl    $0x2,%eax
16897 4000e311:       01 d0                   add    %edx,%eax
16898 4000e313:       01 c0                   add    %eax,%eax
16899 4000e315:       89 c3                   mov    %eax,%ebx
16900 4000e317:       c7 04 24 32 00 00 00    movl   $0x32,(%esp)
16901 4000e31e:       e8 b9 1b 00 00          call   4000fedc <cmos_read>
16902 4000e323:       83 e0 0f                and    $0xf,%eax
16903 4000e326:       8d 04 03                lea    (%ebx,%eax,1),%eax
16904 4000e329:       6b c0 64                imul   $0x64,%eax,%eax
16905 4000e32c:       8d 1c 06                lea    (%esi,%eax,1),%ebx
16906 4000e32f:       c7 04 24 09 00 00 00    movl   $0x9,(%esp)
16907 4000e336:       e8 a1 1b 00 00          call   4000fedc <cmos_read>
16908 4000e33b:       83 e0 0f                and    $0xf,%eax
16909 4000e33e:       8d 04 03                lea    (%ebx,%eax,1),%eax
16910 4000e341:       2d 6c 07 00 00          sub    $0x76c,%eax
16911 4000e346:       89 45 c0                mov    %eax,-0x40(%ebp)
16912 4000e349:       8d 45 cc                lea    -0x34(%ebp),%eax
16913 4000e34c:       89 45 a8                mov    %eax,-0x58(%ebp)
16914 4000e34f:       c7 45 a4 00 00 00 00    movl   $0x0,-0x5c(%ebp)
16915 4000e356:       b8 24 00 00 00          mov    $0x24,%eax
16916 4000e35b:       83 f8 04                cmp    $0x4,%eax
16917 4000e35e:       72 12                   jb     4000e372 <time+0x1b2>
16918 4000e360:       c7 45 a0 09 00 00 00    movl   $0x9,-0x60(%ebp)
16919 4000e367:       8b 7d a8                mov    -0x58(%ebp),%edi
16920 4000e36a:       8b 4d a0                mov    -0x60(%ebp),%ecx
16921 4000e36d:       8b 45 a4                mov    -0x5c(%ebp),%eax
16922 4000e370:       f3 ab                   rep stos %eax,%es:(%edi)
16923 4000e372:       8b 45 ac                mov    -0x54(%ebp),%eax
16924 4000e375:       89 45 cc                mov    %eax,-0x34(%ebp)
16925 4000e378:       8b 4d b0                mov    -0x50(%ebp),%ecx
16926 4000e37b:       89 4d d0                mov    %ecx,-0x30(%ebp)
16927 4000e37e:       8b 7d b4                mov    -0x4c(%ebp),%edi
16928 4000e381:       89 7d d4                mov    %edi,-0x2c(%ebp)
16929 4000e384:       8b 45 b8                mov    -0x48(%ebp),%eax
16930 4000e387:       89 45 d8                mov    %eax,-0x28(%ebp)
16931 4000e38a:       8b 4d bc                mov    -0x44(%ebp),%ecx
16932 4000e38d:       89 4d dc                mov    %ecx,-0x24(%ebp)
16933 4000e390:       8b 7d c0                mov    -0x40(%ebp),%edi
16934 4000e393:       89 7d e0                mov    %edi,-0x20(%ebp)
16935 4000e396:       8d 45 cc                lea    -0x34(%ebp),%eax
16936 4000e399:       89 04 24                mov    %eax,(%esp)
16937 4000e39c:       e8 50 00 00 00          call   4000e3f1 <mktime>
16938 4000e3a1:       a3 b0 54 01 40          mov    %eax,0x400154b0
16939 4000e3a6:       e8 50 00 00 00          call   4000e3fb <clock>
16940 4000e3ab:       a3 b4 54 01 40          mov    %eax,0x400154b4
16941 4000e3b0:       e8 46 00 00 00          call   4000e3fb <clock>
16942 4000e3b5:       89 c2                   mov    %eax,%edx
16943 4000e3b7:       a1 b4 54 01 40          mov    0x400154b4,%eax
16944 4000e3bc:       29 c2                   sub    %eax,%edx
16945 4000e3be:       c7 45 9c 1f 85 eb 51    movl   $0x51eb851f,-0x64(%ebp)
16946 4000e3c5:       8b 45 9c                mov    -0x64(%ebp),%eax
16947 4000e3c8:       f7 e2                   mul    %edx
16948 4000e3ca:       c1 ea 05                shr    $0x5,%edx
16949 4000e3cd:       a1 b0 54 01 40          mov    0x400154b0,%eax
16950 4000e3d2:       8d 04 02                lea    (%edx,%eax,1),%eax
16951 4000e3d5:       89 45 f0                mov    %eax,-0x10(%ebp)
16952 4000e3d8:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
16953 4000e3dc:       74 08                   je     4000e3e6 <time+0x226>
16954 4000e3de:       8b 55 08                mov    0x8(%ebp),%edx
16955 4000e3e1:       8b 45 f0                mov    -0x10(%ebp),%eax
16956 4000e3e4:       89 02                   mov    %eax,(%edx)
16957 4000e3e6:       8b 45 f0                mov    -0x10(%ebp),%eax
16958 4000e3e9:       83 c4 5c                add    $0x5c,%esp
16959 4000e3ec:       5b                      pop    %ebx
16960 4000e3ed:       5e                      pop    %esi
16961 4000e3ee:       5f                      pop    %edi
16962 4000e3ef:       5d                      pop    %ebp
16963 4000e3f0:       c3                      ret    
16965 4000e3f1 <mktime>:
16966 4000e3f1:       55                      push   %ebp
16967 4000e3f2:       89 e5                   mov    %esp,%ebp
16968 4000e3f4:       b8 00 00 00 00          mov    $0x0,%eax
16969 4000e3f9:       5d                      pop    %ebp
16970 4000e3fa:       c3                      ret    
16972 4000e3fb <clock>:
16973 4000e3fb:       55                      push   %ebp
16974 4000e3fc:       89 e5                   mov    %esp,%ebp
16975 4000e3fe:       83 ec 08                sub    $0x8,%esp
16976 4000e401:       a1 9c 40 01 40          mov    0x4001409c,%eax
16977 4000e406:       83 f8 ff                cmp    $0xffffffff,%eax
16978 4000e409:       75 19                   jne    4000e424 <clock+0x29>
16979 4000e40b:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
16980 4000e412:       00 
16981 4000e413:       c7 04 24 48 00 00 00    movl   $0x48,(%esp)
16982 4000e41a:       e8 79 33 00 00          call   40011798 <syscall_call>
16983 4000e41f:       a3 9c 40 01 40          mov    %eax,0x4001409c
16984 4000e424:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
16985 4000e42b:       00 
16986 4000e42c:       c7 04 24 48 00 00 00    movl   $0x48,(%esp)
16987 4000e433:       e8 60 33 00 00          call   40011798 <syscall_call>
16988 4000e438:       89 c2                   mov    %eax,%edx
16989 4000e43a:       a1 9c 40 01 40          mov    0x4001409c,%eax
16990 4000e43f:       89 d1                   mov    %edx,%ecx
16991 4000e441:       29 c1                   sub    %eax,%ecx
16992 4000e443:       89 c8                   mov    %ecx,%eax
16993 4000e445:       c9                      leave  
16994 4000e446:       c3                      ret    
16995 4000e447:       90                      nop    
16997 4000e448 <vfprintf>:
16998 4000e448:       55                      push   %ebp
16999 4000e449:       89 e5                   mov    %esp,%ebp
17000 4000e44b:       81 ec 28 08 00 00       sub    $0x828,%esp
17001 4000e451:       8b 45 10                mov    0x10(%ebp),%eax
17002 4000e454:       89 44 24 0c             mov    %eax,0xc(%esp)
17003 4000e458:       8b 45 0c                mov    0xc(%ebp),%eax
17004 4000e45b:       89 44 24 08             mov    %eax,0x8(%esp)
17005 4000e45f:       c7 44 24 04 00 08 00    movl   $0x800,0x4(%esp)
17006 4000e466:       00 
17007 4000e467:       8d 85 fc f7 ff ff       lea    -0x804(%ebp),%eax
17008 4000e46d:       89 04 24                mov    %eax,(%esp)
17009 4000e470:       e8 e8 03 00 00          call   4000e85d <vsnprintf>
17010 4000e475:       89 45 fc                mov    %eax,-0x4(%ebp)
17011 4000e478:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
17012 4000e47c:       79 0b                   jns    4000e489 <vfprintf+0x41>
17013 4000e47e:       8b 45 fc                mov    -0x4(%ebp),%eax
17014 4000e481:       89 85 ec f7 ff ff       mov    %eax,-0x814(%ebp)
17015 4000e487:       eb 32                   jmp    4000e4bb <vfprintf+0x73>
17016 4000e489:       81 7d fc ff 07 00 00    cmpl   $0x7ff,-0x4(%ebp)
17017 4000e490:       7e 07                   jle    4000e499 <vfprintf+0x51>
17018 4000e492:       c7 45 fc ff 07 00 00    movl   $0x7ff,-0x4(%ebp)
17019 4000e499:       8b 55 fc                mov    -0x4(%ebp),%edx
17020 4000e49c:       8b 45 08                mov    0x8(%ebp),%eax
17021 4000e49f:       89 44 24 08             mov    %eax,0x8(%esp)
17022 4000e4a3:       89 54 24 04             mov    %edx,0x4(%esp)
17023 4000e4a7:       8d 85 fc f7 ff ff       lea    -0x804(%ebp),%eax
17024 4000e4ad:       89 04 24                mov    %eax,(%esp)
17025 4000e4b0:       e8 80 f5 ff ff          call   4000da35 <_fwrite>
17026 4000e4b5:       89 85 ec f7 ff ff       mov    %eax,-0x814(%ebp)
17027 4000e4bb:       8b 85 ec f7 ff ff       mov    -0x814(%ebp),%eax
17028 4000e4c1:       c9                      leave  
17029 4000e4c2:       c3                      ret    
17030 4000e4c3:       90                      nop    
17032 4000e4c4 <format_int>:
17033 4000e4c4:       55                      push   %ebp
17034 4000e4c5:       89 e5                   mov    %esp,%ebp
17035 4000e4c7:       53                      push   %ebx
17036 4000e4c8:       83 ec 64                sub    $0x64,%esp
17037 4000e4cb:       8b 45 10                mov    0x10(%ebp),%eax
17038 4000e4ce:       89 45 c0                mov    %eax,-0x40(%ebp)
17039 4000e4d1:       8b 45 14                mov    0x14(%ebp),%eax
17040 4000e4d4:       89 45 c4                mov    %eax,-0x3c(%ebp)
17041 4000e4d7:       c7 45 cc 00 00 00 00    movl   $0x0,-0x34(%ebp)
17042 4000e4de:       c7 45 e4 00 00 00 00    movl   $0x0,-0x1c(%ebp)
17043 4000e4e5:       c7 45 e8 00 00 00 00    movl   $0x0,-0x18(%ebp)
17044 4000e4ec:       8b 45 18                mov    0x18(%ebp),%eax
17045 4000e4ef:       25 80 00 00 00          and    $0x80,%eax
17046 4000e4f4:       85 c0                   test   %eax,%eax
17047 4000e4f6:       74 09                   je     4000e501 <format_int+0x3d>
17048 4000e4f8:       c7 45 b4 ac 30 01 40    movl   $0x400130ac,-0x4c(%ebp)
17049 4000e4ff:       eb 07                   jmp    4000e508 <format_int+0x44>
17050 4000e501:       c7 45 b4 bd 30 01 40    movl   $0x400130bd,-0x4c(%ebp)
17051 4000e508:       8b 45 b4                mov    -0x4c(%ebp),%eax
17052 4000e50b:       89 45 d4                mov    %eax,-0x2c(%ebp)
17053 4000e50e:       8b 45 18                mov    0x18(%ebp),%eax
17054 4000e511:       83 e0 40                and    $0x40,%eax
17055 4000e514:       85 c0                   test   %eax,%eax
17056 4000e516:       74 24                   je     4000e53c <format_int+0x78>
17057 4000e518:       8b 45 c0                mov    -0x40(%ebp),%eax
17058 4000e51b:       8b 55 c4                mov    -0x3c(%ebp),%edx
17059 4000e51e:       85 d2                   test   %edx,%edx
17060 4000e520:       79 1a                   jns    4000e53c <format_int+0x78>
17061 4000e522:       c7 45 e4 01 00 00 00    movl   $0x1,-0x1c(%ebp)
17062 4000e529:       8b 45 c0                mov    -0x40(%ebp),%eax
17063 4000e52c:       8b 55 c4                mov    -0x3c(%ebp),%edx
17064 4000e52f:       f7 d8                   neg    %eax
17065 4000e531:       83 d2 00                adc    $0x0,%edx
17066 4000e534:       f7 da                   neg    %edx
17067 4000e536:       89 45 c0                mov    %eax,-0x40(%ebp)
17068 4000e539:       89 55 c4                mov    %edx,-0x3c(%ebp)
17069 4000e53c:       8b 45 c0                mov    -0x40(%ebp),%eax
17070 4000e53f:       8b 55 c4                mov    -0x3c(%ebp),%edx
17071 4000e542:       89 45 d8                mov    %eax,-0x28(%ebp)
17072 4000e545:       89 55 dc                mov    %edx,-0x24(%ebp)
17073 4000e548:       eb 2c                   jmp    4000e576 <format_int+0xb2>
17074 4000e54a:       8b 45 1c                mov    0x1c(%ebp),%eax
17075 4000e54d:       89 c2                   mov    %eax,%edx
17076 4000e54f:       c1 fa 1f                sar    $0x1f,%edx
17077 4000e552:       89 44 24 08             mov    %eax,0x8(%esp)
17078 4000e556:       89 54 24 0c             mov    %edx,0xc(%esp)
17079 4000e55a:       8b 45 d8                mov    -0x28(%ebp),%eax
17080 4000e55d:       8b 55 dc                mov    -0x24(%ebp),%edx
17081 4000e560:       89 04 24                mov    %eax,(%esp)
17082 4000e563:       89 54 24 04             mov    %edx,0x4(%esp)
17083 4000e567:       e8 e4 3d 00 00          call   40012350 <__udivdi3>
17084 4000e56c:       89 45 d8                mov    %eax,-0x28(%ebp)
17085 4000e56f:       89 55 dc                mov    %edx,-0x24(%ebp)
17086 4000e572:       83 45 e8 01             addl   $0x1,-0x18(%ebp)
17087 4000e576:       8b 45 d8                mov    -0x28(%ebp),%eax
17088 4000e579:       8b 55 dc                mov    -0x24(%ebp),%edx
17089 4000e57c:       09 d0                   or     %edx,%eax
17090 4000e57e:       85 c0                   test   %eax,%eax
17091 4000e580:       75 c8                   jne    4000e54a <format_int+0x86>
17092 4000e582:       8b 45 18                mov    0x18(%ebp),%eax
17093 4000e585:       83 e0 20                and    $0x20,%eax
17094 4000e588:       85 c0                   test   %eax,%eax
17095 4000e58a:       74 1a                   je     4000e5a6 <format_int+0xe2>
17096 4000e58c:       83 7d 1c 08             cmpl   $0x8,0x1c(%ebp)
17097 4000e590:       75 14                   jne    4000e5a6 <format_int+0xe2>
17098 4000e592:       8b 45 e8                mov    -0x18(%ebp),%eax
17099 4000e595:       83 c0 01                add    $0x1,%eax
17100 4000e598:       3b 45 24                cmp    0x24(%ebp),%eax
17101 4000e59b:       7e 09                   jle    4000e5a6 <format_int+0xe2>
17102 4000e59d:       8b 45 e8                mov    -0x18(%ebp),%eax
17103 4000e5a0:       83 c0 01                add    $0x1,%eax
17104 4000e5a3:       89 45 24                mov    %eax,0x24(%ebp)
17105 4000e5a6:       8b 45 e8                mov    -0x18(%ebp),%eax
17106 4000e5a9:       3b 45 24                cmp    0x24(%ebp),%eax
17107 4000e5ac:       7d 08                   jge    4000e5b6 <format_int+0xf2>
17108 4000e5ae:       8b 45 24                mov    0x24(%ebp),%eax
17109 4000e5b1:       89 45 e8                mov    %eax,-0x18(%ebp)
17110 4000e5b4:       eb 13                   jmp    4000e5c9 <format_int+0x105>
17111 4000e5b6:       8b 45 c0                mov    -0x40(%ebp),%eax
17112 4000e5b9:       8b 55 c4                mov    -0x3c(%ebp),%edx
17113 4000e5bc:       09 d0                   or     %edx,%eax
17114 4000e5be:       85 c0                   test   %eax,%eax
17115 4000e5c0:       75 07                   jne    4000e5c9 <format_int+0x105>
17116 4000e5c2:       c7 45 e8 01 00 00 00    movl   $0x1,-0x18(%ebp)
17117 4000e5c9:       8b 45 18                mov    0x18(%ebp),%eax
17118 4000e5cc:       83 e0 08                and    $0x8,%eax
17119 4000e5cf:       85 c0                   test   %eax,%eax
17120 4000e5d1:       74 1e                   je     4000e5f1 <format_int+0x12d>
17121 4000e5d3:       83 7d 1c 10             cmpl   $0x10,0x1c(%ebp)
17122 4000e5d7:       75 09                   jne    4000e5e2 <format_int+0x11e>
17123 4000e5d9:       c7 45 b8 04 00 00 00    movl   $0x4,-0x48(%ebp)
17124 4000e5e0:       eb 07                   jmp    4000e5e9 <format_int+0x125>
17125 4000e5e2:       c7 45 b8 03 00 00 00    movl   $0x3,-0x48(%ebp)
17126 4000e5e9:       8b 55 b8                mov    -0x48(%ebp),%edx
17127 4000e5ec:       89 55 f0                mov    %edx,-0x10(%ebp)
17128 4000e5ef:       eb 06                   jmp    4000e5f7 <format_int+0x133>
17129 4000e5f1:       8b 45 e8                mov    -0x18(%ebp),%eax
17130 4000e5f4:       89 45 f0                mov    %eax,-0x10(%ebp)
17131 4000e5f7:       8b 45 e8                mov    -0x18(%ebp),%eax
17132 4000e5fa:       83 e8 01                sub    $0x1,%eax
17133 4000e5fd:       89 45 ac                mov    %eax,-0x54(%ebp)
17134 4000e600:       8b 55 ac                mov    -0x54(%ebp),%edx
17135 4000e603:       89 d0                   mov    %edx,%eax
17136 4000e605:       c1 fa 1f                sar    $0x1f,%edx
17137 4000e608:       f7 7d f0                idivl  -0x10(%ebp)
17138 4000e60b:       01 45 e8                add    %eax,-0x18(%ebp)
17139 4000e60e:       8b 45 e8                mov    -0x18(%ebp),%eax
17140 4000e611:       89 45 ec                mov    %eax,-0x14(%ebp)
17141 4000e614:       83 7d e4 00             cmpl   $0x0,-0x1c(%ebp)
17142 4000e618:       75 0a                   jne    4000e624 <format_int+0x160>
17143 4000e61a:       8b 45 18                mov    0x18(%ebp),%eax
17144 4000e61d:       83 e0 14                and    $0x14,%eax
17145 4000e620:       85 c0                   test   %eax,%eax
17146 4000e622:       74 04                   je     4000e628 <format_int+0x164>
17147 4000e624:       83 45 ec 01             addl   $0x1,-0x14(%ebp)
17148 4000e628:       8b 45 18                mov    0x18(%ebp),%eax
17149 4000e62b:       83 e0 20                and    $0x20,%eax
17150 4000e62e:       85 c0                   test   %eax,%eax
17151 4000e630:       74 0a                   je     4000e63c <format_int+0x178>
17152 4000e632:       83 7d 1c 10             cmpl   $0x10,0x1c(%ebp)
17153 4000e636:       75 04                   jne    4000e63c <format_int+0x178>
17154 4000e638:       83 45 ec 02             addl   $0x2,-0x14(%ebp)
17155 4000e63c:       8b 45 18                mov    0x18(%ebp),%eax
17156 4000e63f:       83 e0 03                and    $0x3,%eax
17157 4000e642:       85 c0                   test   %eax,%eax
17158 4000e644:       75 2c                   jne    4000e672 <format_int+0x1ae>
17159 4000e646:       8b 45 20                mov    0x20(%ebp),%eax
17160 4000e649:       3b 45 ec                cmp    -0x14(%ebp),%eax
17161 4000e64c:       7e 24                   jle    4000e672 <format_int+0x1ae>
17162 4000e64e:       eb 1a                   jmp    4000e66a <format_int+0x1a6>
17163 4000e650:       8b 45 cc                mov    -0x34(%ebp),%eax
17164 4000e653:       3b 45 0c                cmp    0xc(%ebp),%eax
17165 4000e656:       73 0a                   jae    4000e662 <format_int+0x19e>
17166 4000e658:       8b 45 08                mov    0x8(%ebp),%eax
17167 4000e65b:       c6 00 20                movb   $0x20,(%eax)
17168 4000e65e:       83 45 08 01             addl   $0x1,0x8(%ebp)
17169 4000e662:       83 45 cc 01             addl   $0x1,-0x34(%ebp)
17170 4000e666:       83 6d 20 01             subl   $0x1,0x20(%ebp)
17171 4000e66a:       8b 45 20                mov    0x20(%ebp),%eax
17172 4000e66d:       3b 45 ec                cmp    -0x14(%ebp),%eax
17173 4000e670:       7f de                   jg     4000e650 <format_int+0x18c>
17174 4000e672:       83 7d e4 00             cmpl   $0x0,-0x1c(%ebp)
17175 4000e676:       74 18                   je     4000e690 <format_int+0x1cc>
17176 4000e678:       8b 45 cc                mov    -0x34(%ebp),%eax
17177 4000e67b:       3b 45 0c                cmp    0xc(%ebp),%eax
17178 4000e67e:       73 0a                   jae    4000e68a <format_int+0x1c6>
17179 4000e680:       8b 45 08                mov    0x8(%ebp),%eax
17180 4000e683:       c6 00 2d                movb   $0x2d,(%eax)
17181 4000e686:       83 45 08 01             addl   $0x1,0x8(%ebp)
17182 4000e68a:       83 45 cc 01             addl   $0x1,-0x34(%ebp)
17183 4000e68e:       eb 42                   jmp    4000e6d2 <format_int+0x20e>
17184 4000e690:       8b 45 18                mov    0x18(%ebp),%eax
17185 4000e693:       83 e0 04                and    $0x4,%eax
17186 4000e696:       85 c0                   test   %eax,%eax
17187 4000e698:       74 18                   je     4000e6b2 <format_int+0x1ee>
17188 4000e69a:       8b 45 cc                mov    -0x34(%ebp),%eax
17189 4000e69d:       3b 45 0c                cmp    0xc(%ebp),%eax
17190 4000e6a0:       73 0a                   jae    4000e6ac <format_int+0x1e8>
17191 4000e6a2:       8b 45 08                mov    0x8(%ebp),%eax
17192 4000e6a5:       c6 00 2b                movb   $0x2b,(%eax)
17193 4000e6a8:       83 45 08 01             addl   $0x1,0x8(%ebp)
17194 4000e6ac:       83 45 cc 01             addl   $0x1,-0x34(%ebp)
17195 4000e6b0:       eb 20                   jmp    4000e6d2 <format_int+0x20e>
17196 4000e6b2:       8b 45 18                mov    0x18(%ebp),%eax
17197 4000e6b5:       83 e0 10                and    $0x10,%eax
17198 4000e6b8:       85 c0                   test   %eax,%eax
17199 4000e6ba:       74 16                   je     4000e6d2 <format_int+0x20e>
17200 4000e6bc:       8b 45 cc                mov    -0x34(%ebp),%eax
17201 4000e6bf:       3b 45 0c                cmp    0xc(%ebp),%eax
17202 4000e6c2:       73 0a                   jae    4000e6ce <format_int+0x20a>
17203 4000e6c4:       8b 45 08                mov    0x8(%ebp),%eax
17204 4000e6c7:       c6 00 20                movb   $0x20,(%eax)
17205 4000e6ca:       83 45 08 01             addl   $0x1,0x8(%ebp)
17206 4000e6ce:       83 45 cc 01             addl   $0x1,-0x34(%ebp)
17207 4000e6d2:       8b 45 18                mov    0x18(%ebp),%eax
17208 4000e6d5:       83 e0 20                and    $0x20,%eax
17209 4000e6d8:       85 c0                   test   %eax,%eax
17210 4000e6da:       74 4b                   je     4000e727 <format_int+0x263>
17211 4000e6dc:       83 7d 1c 10             cmpl   $0x10,0x1c(%ebp)
17212 4000e6e0:       75 45                   jne    4000e727 <format_int+0x263>
17213 4000e6e2:       8b 45 cc                mov    -0x34(%ebp),%eax
17214 4000e6e5:       3b 45 0c                cmp    0xc(%ebp),%eax
17215 4000e6e8:       73 0a                   jae    4000e6f4 <format_int+0x230>
17216 4000e6ea:       8b 45 08                mov    0x8(%ebp),%eax
17217 4000e6ed:       c6 00 30                movb   $0x30,(%eax)
17218 4000e6f0:       83 45 08 01             addl   $0x1,0x8(%ebp)
17219 4000e6f4:       83 45 cc 01             addl   $0x1,-0x34(%ebp)
17220 4000e6f8:       8b 45 cc                mov    -0x34(%ebp),%eax
17221 4000e6fb:       3b 45 0c                cmp    0xc(%ebp),%eax
17222 4000e6fe:       73 23                   jae    4000e723 <format_int+0x25f>
17223 4000e700:       8b 45 18                mov    0x18(%ebp),%eax
17224 4000e703:       25 80 00 00 00          and    $0x80,%eax
17225 4000e708:       85 c0                   test   %eax,%eax
17226 4000e70a:       74 06                   je     4000e712 <format_int+0x24e>
17227 4000e70c:       c6 45 bf 58             movb   $0x58,-0x41(%ebp)
17228 4000e710:       eb 04                   jmp    4000e716 <format_int+0x252>
17229 4000e712:       c6 45 bf 78             movb   $0x78,-0x41(%ebp)
17230 4000e716:       8b 45 08                mov    0x8(%ebp),%eax
17231 4000e719:       0f b6 55 bf             movzbl -0x41(%ebp),%edx
17232 4000e71d:       88 10                   mov    %dl,(%eax)
17233 4000e71f:       83 45 08 01             addl   $0x1,0x8(%ebp)
17234 4000e723:       83 45 cc 01             addl   $0x1,-0x34(%ebp)
17235 4000e727:       8b 45 18                mov    0x18(%ebp),%eax
17236 4000e72a:       83 e0 03                and    $0x3,%eax
17237 4000e72d:       83 f8 01                cmp    $0x1,%eax
17238 4000e730:       75 2c                   jne    4000e75e <format_int+0x29a>
17239 4000e732:       8b 45 20                mov    0x20(%ebp),%eax
17240 4000e735:       3b 45 e8                cmp    -0x18(%ebp),%eax
17241 4000e738:       7e 24                   jle    4000e75e <format_int+0x29a>
17242 4000e73a:       eb 1a                   jmp    4000e756 <format_int+0x292>
17243 4000e73c:       8b 45 cc                mov    -0x34(%ebp),%eax
17244 4000e73f:       3b 45 0c                cmp    0xc(%ebp),%eax
17245 4000e742:       73 0a                   jae    4000e74e <format_int+0x28a>
17246 4000e744:       8b 45 08                mov    0x8(%ebp),%eax
17247 4000e747:       c6 00 30                movb   $0x30,(%eax)
17248 4000e74a:       83 45 08 01             addl   $0x1,0x8(%ebp)
17249 4000e74e:       83 45 cc 01             addl   $0x1,-0x34(%ebp)
17250 4000e752:       83 6d 20 01             subl   $0x1,0x20(%ebp)
17251 4000e756:       8b 45 20                mov    0x20(%ebp),%eax
17252 4000e759:       3b 45 ec                cmp    -0x14(%ebp),%eax
17253 4000e75c:       7f de                   jg     4000e73c <format_int+0x278>
17254 4000e75e:       8b 45 e8                mov    -0x18(%ebp),%eax
17255 4000e761:       01 45 08                add    %eax,0x8(%ebp)
17256 4000e764:       8b 45 e8                mov    -0x18(%ebp),%eax
17257 4000e767:       01 45 cc                add    %eax,-0x34(%ebp)
17258 4000e76a:       8b 45 08                mov    0x8(%ebp),%eax
17259 4000e76d:       89 45 c8                mov    %eax,-0x38(%ebp)
17260 4000e770:       8b 45 cc                mov    -0x34(%ebp),%eax
17261 4000e773:       89 45 d0                mov    %eax,-0x30(%ebp)
17262 4000e776:       8b 45 f0                mov    -0x10(%ebp),%eax
17263 4000e779:       89 45 f4                mov    %eax,-0xc(%ebp)
17264 4000e77c:       e9 9b 00 00 00          jmp    4000e81c <format_int+0x358>
17265 4000e781:       83 7d f4 00             cmpl   $0x0,-0xc(%ebp)
17266 4000e785:       0f 94 c0                sete   %al
17267 4000e788:       83 6d f4 01             subl   $0x1,-0xc(%ebp)
17268 4000e78c:       84 c0                   test   %al,%al
17269 4000e78e:       74 23                   je     4000e7b3 <format_int+0x2ef>
17270 4000e790:       83 6d c8 01             subl   $0x1,-0x38(%ebp)
17271 4000e794:       83 6d d0 01             subl   $0x1,-0x30(%ebp)
17272 4000e798:       83 6d e8 01             subl   $0x1,-0x18(%ebp)
17273 4000e79c:       8b 45 d0                mov    -0x30(%ebp),%eax
17274 4000e79f:       3b 45 0c                cmp    0xc(%ebp),%eax
17275 4000e7a2:       73 06                   jae    4000e7aa <format_int+0x2e6>
17276 4000e7a4:       8b 45 c8                mov    -0x38(%ebp),%eax
17277 4000e7a7:       c6 00 5f                movb   $0x5f,(%eax)
17278 4000e7aa:       8b 45 f0                mov    -0x10(%ebp),%eax
17279 4000e7ad:       83 e8 01                sub    $0x1,%eax
17280 4000e7b0:       89 45 f4                mov    %eax,-0xc(%ebp)
17281 4000e7b3:       83 6d c8 01             subl   $0x1,-0x38(%ebp)
17282 4000e7b7:       83 6d d0 01             subl   $0x1,-0x30(%ebp)
17283 4000e7bb:       83 6d e8 01             subl   $0x1,-0x18(%ebp)
17284 4000e7bf:       8b 45 d0                mov    -0x30(%ebp),%eax
17285 4000e7c2:       3b 45 0c                cmp    0xc(%ebp),%eax
17286 4000e7c5:       73 2d                   jae    4000e7f4 <format_int+0x330>
17287 4000e7c7:       8b 45 1c                mov    0x1c(%ebp),%eax
17288 4000e7ca:       89 c2                   mov    %eax,%edx
17289 4000e7cc:       c1 fa 1f                sar    $0x1f,%edx
17290 4000e7cf:       8b 4d c0                mov    -0x40(%ebp),%ecx
17291 4000e7d2:       8b 5d c4                mov    -0x3c(%ebp),%ebx
17292 4000e7d5:       89 44 24 08             mov    %eax,0x8(%esp)
17293 4000e7d9:       89 54 24 0c             mov    %edx,0xc(%esp)
17294 4000e7dd:       89 0c 24                mov    %ecx,(%esp)
17295 4000e7e0:       89 5c 24 04             mov    %ebx,0x4(%esp)
17296 4000e7e4:       e8 c7 3c 00 00          call   400124b0 <__umoddi3>
17297 4000e7e9:       03 45 d4                add    -0x2c(%ebp),%eax
17298 4000e7ec:       0f b6 10                movzbl (%eax),%edx
17299 4000e7ef:       8b 45 c8                mov    -0x38(%ebp),%eax
17300 4000e7f2:       88 10                   mov    %dl,(%eax)
17301 4000e7f4:       8b 45 1c                mov    0x1c(%ebp),%eax
17302 4000e7f7:       89 c2                   mov    %eax,%edx
17303 4000e7f9:       c1 fa 1f                sar    $0x1f,%edx
17304 4000e7fc:       89 44 24 08             mov    %eax,0x8(%esp)
17305 4000e800:       89 54 24 0c             mov    %edx,0xc(%esp)
17306 4000e804:       8b 45 c0                mov    -0x40(%ebp),%eax
17307 4000e807:       8b 55 c4                mov    -0x3c(%ebp),%edx
17308 4000e80a:       89 04 24                mov    %eax,(%esp)
17309 4000e80d:       89 54 24 04             mov    %edx,0x4(%esp)
17310 4000e811:       e8 3a 3b 00 00          call   40012350 <__udivdi3>
17311 4000e816:       89 45 c0                mov    %eax,-0x40(%ebp)
17312 4000e819:       89 55 c4                mov    %edx,-0x3c(%ebp)
17313 4000e81c:       83 7d e8 00             cmpl   $0x0,-0x18(%ebp)
17314 4000e820:       0f 8f 5b ff ff ff       jg     4000e781 <format_int+0x2bd>
17315 4000e826:       eb 1a                   jmp    4000e842 <format_int+0x37e>
17316 4000e828:       8b 45 cc                mov    -0x34(%ebp),%eax
17317 4000e82b:       3b 45 0c                cmp    0xc(%ebp),%eax
17318 4000e82e:       73 0a                   jae    4000e83a <format_int+0x376>
17319 4000e830:       8b 45 08                mov    0x8(%ebp),%eax
17320 4000e833:       c6 00 20                movb   $0x20,(%eax)
17321 4000e836:       83 45 08 01             addl   $0x1,0x8(%ebp)
17322 4000e83a:       83 45 cc 01             addl   $0x1,-0x34(%ebp)
17323 4000e83e:       83 6d 20 01             subl   $0x1,0x20(%ebp)
17324 4000e842:       8b 45 18                mov    0x18(%ebp),%eax
17325 4000e845:       83 e0 02                and    $0x2,%eax
17326 4000e848:       85 c0                   test   %eax,%eax
17327 4000e84a:       74 08                   je     4000e854 <format_int+0x390>
17328 4000e84c:       8b 45 20                mov    0x20(%ebp),%eax
17329 4000e84f:       3b 45 ec                cmp    -0x14(%ebp),%eax
17330 4000e852:       7f d4                   jg     4000e828 <format_int+0x364>
17331 4000e854:       8b 45 cc                mov    -0x34(%ebp),%eax
17332 4000e857:       83 c4 64                add    $0x64,%esp
17333 4000e85a:       5b                      pop    %ebx
17334 4000e85b:       5d                      pop    %ebp
17335 4000e85c:       c3                      ret    
17337 4000e85d <vsnprintf>:
17338 4000e85d:       55                      push   %ebp
17339 4000e85e:       89 e5                   mov    %esp,%ebp
17340 4000e860:       81 ec 98 00 00 00       sub    $0x98,%esp
17341 4000e866:       8b 45 10                mov    0x10(%ebp),%eax
17342 4000e869:       89 45 b8                mov    %eax,-0x48(%ebp)
17343 4000e86c:       8b 45 08                mov    0x8(%ebp),%eax
17344 4000e86f:       89 45 c0                mov    %eax,-0x40(%ebp)
17345 4000e872:       c7 45 c4 00 00 00 00    movl   $0x0,-0x3c(%ebp)
17346 4000e879:       c7 45 c8 00 00 00 00    movl   $0x0,-0x38(%ebp)
17347 4000e880:       c7 45 cc 00 00 00 00    movl   $0x0,-0x34(%ebp)
17348 4000e887:       c7 45 d0 00 00 00 00    movl   $0x0,-0x30(%ebp)
17349 4000e88e:       c7 45 d4 00 00 00 00    movl   $0x0,-0x2c(%ebp)
17350 4000e895:       c7 45 d8 ff ff ff ff    movl   $0xffffffff,-0x28(%ebp)
17351 4000e89c:       c7 45 e4 00 00 00 00    movl   $0x0,-0x1c(%ebp)
17352 4000e8a3:       c7 45 e8 00 00 00 00    movl   $0x0,-0x18(%ebp)
17353 4000e8aa:       e9 69 06 00 00          jmp    4000ef18 <vsnprintf+0x6bb>
17354 4000e8af:       83 7d e8 04             cmpl   $0x4,-0x18(%ebp)
17355 4000e8b3:       0f 87 5f 06 00 00       ja     4000ef18 <vsnprintf+0x6bb>
17356 4000e8b9:       8b 45 e8                mov    -0x18(%ebp),%eax
17357 4000e8bc:       c1 e0 02                shl    $0x2,%eax
17358 4000e8bf:       8b 80 d8 30 01 40       mov    0x400130d8(%eax),%eax
17359 4000e8c5:       ff e0                   jmp    *%eax
17360 4000e8c7:       80 7d bf 25             cmpb   $0x25,-0x41(%ebp)
17361 4000e8cb:       75 28                   jne    4000e8f5 <vsnprintf+0x98>
17362 4000e8cd:       c7 45 e8 01 00 00 00    movl   $0x1,-0x18(%ebp)
17363 4000e8d4:       c7 45 e4 00 00 00 00    movl   $0x0,-0x1c(%ebp)
17364 4000e8db:       c7 45 d0 00 00 00 00    movl   $0x0,-0x30(%ebp)
17365 4000e8e2:       c7 45 d4 00 00 00 00    movl   $0x0,-0x2c(%ebp)
17366 4000e8e9:       c7 45 d8 ff ff ff ff    movl   $0xffffffff,-0x28(%ebp)
17367 4000e8f0:       e9 23 06 00 00          jmp    4000ef18 <vsnprintf+0x6bb>
17368 4000e8f5:       8b 45 c4                mov    -0x3c(%ebp),%eax
17369 4000e8f8:       3b 45 0c                cmp    0xc(%ebp),%eax
17370 4000e8fb:       73 0d                   jae    4000e90a <vsnprintf+0xad>
17371 4000e8fd:       8b 55 c0                mov    -0x40(%ebp),%edx
17372 4000e900:       0f b6 45 bf             movzbl -0x41(%ebp),%eax
17373 4000e904:       88 02                   mov    %al,(%edx)
17374 4000e906:       83 45 c0 01             addl   $0x1,-0x40(%ebp)
17375 4000e90a:       83 45 c4 01             addl   $0x1,-0x3c(%ebp)
17376 4000e90e:       e9 05 06 00 00          jmp    4000ef18 <vsnprintf+0x6bb>
17377 4000e913:       0f be 45 bf             movsbl -0x41(%ebp),%eax
17378 4000e917:       83 e8 20                sub    $0x20,%eax
17379 4000e91a:       89 45 a0                mov    %eax,-0x60(%ebp)
17380 4000e91d:       83 7d a0 10             cmpl   $0x10,-0x60(%ebp)
17381 4000e921:       77 42                   ja     4000e965 <vsnprintf+0x108>
17382 4000e923:       8b 55 a0                mov    -0x60(%ebp),%edx
17383 4000e926:       8b 04 95 ec 30 01 40    mov    0x400130ec(,%edx,4),%eax
17384 4000e92d:       ff e0                   jmp    *%eax
17385 4000e92f:       83 4d e4 02             orl    $0x2,-0x1c(%ebp)
17386 4000e933:       e9 e0 05 00 00          jmp    4000ef18 <vsnprintf+0x6bb>
17387 4000e938:       83 4d e4 04             orl    $0x4,-0x1c(%ebp)
17388 4000e93c:       e9 d7 05 00 00          jmp    4000ef18 <vsnprintf+0x6bb>
17389 4000e941:       83 4d e4 08             orl    $0x8,-0x1c(%ebp)
17390 4000e945:       e9 ce 05 00 00          jmp    4000ef18 <vsnprintf+0x6bb>
17391 4000e94a:       83 4d e4 10             orl    $0x10,-0x1c(%ebp)
17392 4000e94e:       e9 c5 05 00 00          jmp    4000ef18 <vsnprintf+0x6bb>
17393 4000e953:       83 4d e4 20             orl    $0x20,-0x1c(%ebp)
17394 4000e957:       e9 bc 05 00 00          jmp    4000ef18 <vsnprintf+0x6bb>
17395 4000e95c:       83 4d e4 01             orl    $0x1,-0x1c(%ebp)
17396 4000e960:       e9 b3 05 00 00          jmp    4000ef18 <vsnprintf+0x6bb>
17397 4000e965:       c7 45 e8 02 00 00 00    movl   $0x2,-0x18(%ebp)
17398 4000e96c:       83 6d b8 01             subl   $0x1,-0x48(%ebp)
17399 4000e970:       e9 a3 05 00 00          jmp    4000ef18 <vsnprintf+0x6bb>
17400 4000e975:       80 7d bf 2f             cmpb   $0x2f,-0x41(%ebp)
17401 4000e979:       7e 26                   jle    4000e9a1 <vsnprintf+0x144>
17402 4000e97b:       80 7d bf 39             cmpb   $0x39,-0x41(%ebp)
17403 4000e97f:       7f 20                   jg     4000e9a1 <vsnprintf+0x144>
17404 4000e981:       8b 55 d4                mov    -0x2c(%ebp),%edx
17405 4000e984:       89 d0                   mov    %edx,%eax
17406 4000e986:       c1 e0 02                shl    $0x2,%eax
17407 4000e989:       01 d0                   add    %edx,%eax
17408 4000e98b:       01 c0                   add    %eax,%eax
17409 4000e98d:       89 c2                   mov    %eax,%edx
17410 4000e98f:       0f be 45 bf             movsbl -0x41(%ebp),%eax
17411 4000e993:       83 e8 30                sub    $0x30,%eax
17412 4000e996:       8d 04 02                lea    (%edx,%eax,1),%eax
17413 4000e999:       89 45 d4                mov    %eax,-0x2c(%ebp)
17414 4000e99c:       e9 77 05 00 00          jmp    4000ef18 <vsnprintf+0x6bb>
17415 4000e9a1:       80 7d bf 2a             cmpb   $0x2a,-0x41(%ebp)
17416 4000e9a5:       75 26                   jne    4000e9cd <vsnprintf+0x170>
17417 4000e9a7:       8b 55 14                mov    0x14(%ebp),%edx
17418 4000e9aa:       8d 42 04                lea    0x4(%edx),%eax
17419 4000e9ad:       89 45 14                mov    %eax,0x14(%ebp)
17420 4000e9b0:       89 d0                   mov    %edx,%eax
17421 4000e9b2:       8b 00                   mov    (%eax),%eax
17422 4000e9b4:       89 45 d4                mov    %eax,-0x2c(%ebp)
17423 4000e9b7:       83 7d d4 00             cmpl   $0x0,-0x2c(%ebp)
17424 4000e9bb:       0f 89 57 05 00 00       jns    4000ef18 <vsnprintf+0x6bb>
17425 4000e9c1:       f7 5d d4                negl   -0x2c(%ebp)
17426 4000e9c4:       83 4d e4 02             orl    $0x2,-0x1c(%ebp)
17427 4000e9c8:       e9 4b 05 00 00          jmp    4000ef18 <vsnprintf+0x6bb>
17428 4000e9cd:       80 7d bf 2e             cmpb   $0x2e,-0x41(%ebp)
17429 4000e9d1:       75 13                   jne    4000e9e6 <vsnprintf+0x189>
17430 4000e9d3:       c7 45 d8 00 00 00 00    movl   $0x0,-0x28(%ebp)
17431 4000e9da:       c7 45 e8 03 00 00 00    movl   $0x3,-0x18(%ebp)
17432 4000e9e1:       e9 32 05 00 00          jmp    4000ef18 <vsnprintf+0x6bb>
17433 4000e9e6:       c7 45 e8 04 00 00 00    movl   $0x4,-0x18(%ebp)
17434 4000e9ed:       83 6d b8 01             subl   $0x1,-0x48(%ebp)
17435 4000e9f1:       e9 22 05 00 00          jmp    4000ef18 <vsnprintf+0x6bb>
17436 4000e9f6:       80 7d bf 2f             cmpb   $0x2f,-0x41(%ebp)
17437 4000e9fa:       7e 26                   jle    4000ea22 <vsnprintf+0x1c5>
17438 4000e9fc:       80 7d bf 39             cmpb   $0x39,-0x41(%ebp)
17439 4000ea00:       7f 20                   jg     4000ea22 <vsnprintf+0x1c5>
17440 4000ea02:       8b 55 d8                mov    -0x28(%ebp),%edx
17441 4000ea05:       89 d0                   mov    %edx,%eax
17442 4000ea07:       c1 e0 02                shl    $0x2,%eax
17443 4000ea0a:       01 d0                   add    %edx,%eax
17444 4000ea0c:       01 c0                   add    %eax,%eax
17445 4000ea0e:       89 c2                   mov    %eax,%edx
17446 4000ea10:       0f be 45 bf             movsbl -0x41(%ebp),%eax
17447 4000ea14:       83 e8 30                sub    $0x30,%eax
17448 4000ea17:       8d 04 02                lea    (%edx,%eax,1),%eax
17449 4000ea1a:       89 45 d8                mov    %eax,-0x28(%ebp)
17450 4000ea1d:       e9 f6 04 00 00          jmp    4000ef18 <vsnprintf+0x6bb>
17451 4000ea22:       80 7d bf 2a             cmpb   $0x2a,-0x41(%ebp)
17452 4000ea26:       75 26                   jne    4000ea4e <vsnprintf+0x1f1>
17453 4000ea28:       8b 55 14                mov    0x14(%ebp),%edx
17454 4000ea2b:       8d 42 04                lea    0x4(%edx),%eax
17455 4000ea2e:       89 45 14                mov    %eax,0x14(%ebp)
17456 4000ea31:       89 d0                   mov    %edx,%eax
17457 4000ea33:       8b 00                   mov    (%eax),%eax
17458 4000ea35:       89 45 d8                mov    %eax,-0x28(%ebp)
17459 4000ea38:       83 7d d8 00             cmpl   $0x0,-0x28(%ebp)
17460 4000ea3c:       0f 89 d6 04 00 00       jns    4000ef18 <vsnprintf+0x6bb>
17461 4000ea42:       c7 45 d8 ff ff ff ff    movl   $0xffffffff,-0x28(%ebp)
17462 4000ea49:       e9 ca 04 00 00          jmp    4000ef18 <vsnprintf+0x6bb>
17463 4000ea4e:       c7 45 e8 04 00 00 00    movl   $0x4,-0x18(%ebp)
17464 4000ea55:       83 6d b8 01             subl   $0x1,-0x48(%ebp)
17465 4000ea59:       e9 ba 04 00 00          jmp    4000ef18 <vsnprintf+0x6bb>
17466 4000ea5e:       0f be 45 bf             movsbl -0x41(%ebp),%eax
17467 4000ea62:       83 e8 4c                sub    $0x4c,%eax
17468 4000ea65:       89 45 9c                mov    %eax,-0x64(%ebp)
17469 4000ea68:       83 7d 9c 2e             cmpl   $0x2e,-0x64(%ebp)
17470 4000ea6c:       77 4b                   ja     4000eab9 <vsnprintf+0x25c>
17471 4000ea6e:       8b 4d 9c                mov    -0x64(%ebp),%ecx
17472 4000ea71:       8b 04 8d 30 31 01 40    mov    0x40013130(,%ecx,4),%eax
17473 4000ea78:       ff e0                   jmp    *%eax
17474 4000ea7a:       83 6d d0 01             subl   $0x1,-0x30(%ebp)
17475 4000ea7e:       e9 95 04 00 00          jmp    4000ef18 <vsnprintf+0x6bb>
17476 4000ea83:       83 45 d0 01             addl   $0x1,-0x30(%ebp)
17477 4000ea87:       e9 8c 04 00 00          jmp    4000ef18 <vsnprintf+0x6bb>
17478 4000ea8c:       c7 45 d0 02 00 00 00    movl   $0x2,-0x30(%ebp)
17479 4000ea93:       e9 80 04 00 00          jmp    4000ef18 <vsnprintf+0x6bb>
17480 4000ea98:       c7 45 d0 01 00 00 00    movl   $0x1,-0x30(%ebp)
17481 4000ea9f:       e9 74 04 00 00          jmp    4000ef18 <vsnprintf+0x6bb>
17482 4000eaa4:       c7 45 d0 01 00 00 00    movl   $0x1,-0x30(%ebp)
17483 4000eaab:       e9 68 04 00 00          jmp    4000ef18 <vsnprintf+0x6bb>
17484 4000eab0:       83 45 d0 02             addl   $0x2,-0x30(%ebp)
17485 4000eab4:       e9 5f 04 00 00          jmp    4000ef18 <vsnprintf+0x6bb>
17486 4000eab9:       c7 45 e8 00 00 00 00    movl   $0x0,-0x18(%ebp)
17487 4000eac0:       83 7d d0 fe             cmpl   $0xfffffffe,-0x30(%ebp)
17488 4000eac4:       7d 09                   jge    4000eacf <vsnprintf+0x272>
17489 4000eac6:       c7 45 d0 fe ff ff ff    movl   $0xfffffffe,-0x30(%ebp)
17490 4000eacd:       eb 0d                   jmp    4000eadc <vsnprintf+0x27f>
17491 4000eacf:       83 7d d0 02             cmpl   $0x2,-0x30(%ebp)
17492 4000ead3:       7e 07                   jle    4000eadc <vsnprintf+0x27f>
17493 4000ead5:       c7 45 d0 02 00 00 00    movl   $0x2,-0x30(%ebp)
17494 4000eadc:       0f be 45 bf             movsbl -0x41(%ebp),%eax
17495 4000eae0:       83 e8 50                sub    $0x50,%eax
17496 4000eae3:       89 45 98                mov    %eax,-0x68(%ebp)
17497 4000eae6:       83 7d 98 28             cmpl   $0x28,-0x68(%ebp)
17498 4000eaea:       0f 87 0f 04 00 00       ja     4000eeff <vsnprintf+0x6a2>
17499 4000eaf0:       8b 55 98                mov    -0x68(%ebp),%edx
17500 4000eaf3:       8b 04 95 ec 31 01 40    mov    0x400131ec(,%edx,4),%eax
17501 4000eafa:       ff e0                   jmp    *%eax
17502 4000eafc:       81 4d e4 80 00 00 00    orl    $0x80,-0x1c(%ebp)
17503 4000eb03:       c7 45 dc 10 00 00 00    movl   $0x10,-0x24(%ebp)
17504 4000eb0a:       c7 45 d8 08 00 00 00    movl   $0x8,-0x28(%ebp)
17505 4000eb11:       83 4d e4 20             orl    $0x20,-0x1c(%ebp)
17506 4000eb15:       8b 55 14                mov    0x14(%ebp),%edx
17507 4000eb18:       8d 42 04                lea    0x4(%edx),%eax
17508 4000eb1b:       89 45 14                mov    %eax,0x14(%ebp)
17509 4000eb1e:       89 d0                   mov    %edx,%eax
17510 4000eb20:       8b 00                   mov    (%eax),%eax
17511 4000eb22:       ba 00 00 00 00          mov    $0x0,%edx
17512 4000eb27:       89 45 c8                mov    %eax,-0x38(%ebp)
17513 4000eb2a:       89 55 cc                mov    %edx,-0x34(%ebp)
17514 4000eb2d:       e9 98 01 00 00          jmp    4000ecca <vsnprintf+0x46d>
17515 4000eb32:       c7 45 dc 0a 00 00 00    movl   $0xa,-0x24(%ebp)
17516 4000eb39:       83 4d e4 40             orl    $0x40,-0x1c(%ebp)
17517 4000eb3d:       8b 45 d0                mov    -0x30(%ebp),%eax
17518 4000eb40:       83 c0 02                add    $0x2,%eax
17519 4000eb43:       89 45 94                mov    %eax,-0x6c(%ebp)
17520 4000eb46:       83 7d 94 04             cmpl   $0x4,-0x6c(%ebp)
17521 4000eb4a:       0f 87 7a 01 00 00       ja     4000ecca <vsnprintf+0x46d>
17522 4000eb50:       8b 4d 94                mov    -0x6c(%ebp),%ecx
17523 4000eb53:       8b 04 8d 90 32 01 40    mov    0x40013290(,%ecx,4),%eax
17524 4000eb5a:       ff e0                   jmp    *%eax
17525 4000eb5c:       8b 55 14                mov    0x14(%ebp),%edx
17526 4000eb5f:       8d 42 04                lea    0x4(%edx),%eax
17527 4000eb62:       89 45 14                mov    %eax,0x14(%ebp)
17528 4000eb65:       89 d0                   mov    %edx,%eax
17529 4000eb67:       8b 00                   mov    (%eax),%eax
17530 4000eb69:       0f be c0                movsbl %al,%eax
17531 4000eb6c:       89 45 c8                mov    %eax,-0x38(%ebp)
17532 4000eb6f:       8b 45 c8                mov    -0x38(%ebp),%eax
17533 4000eb72:       89 c2                   mov    %eax,%edx
17534 4000eb74:       c1 fa 1f                sar    $0x1f,%edx
17535 4000eb77:       89 45 c8                mov    %eax,-0x38(%ebp)
17536 4000eb7a:       89 55 cc                mov    %edx,-0x34(%ebp)
17537 4000eb7d:       e9 48 01 00 00          jmp    4000ecca <vsnprintf+0x46d>
17538 4000eb82:       8b 55 14                mov    0x14(%ebp),%edx
17539 4000eb85:       8d 42 04                lea    0x4(%edx),%eax
17540 4000eb88:       89 45 14                mov    %eax,0x14(%ebp)
17541 4000eb8b:       89 d0                   mov    %edx,%eax
17542 4000eb8d:       8b 00                   mov    (%eax),%eax
17543 4000eb8f:       98                      cwtl   
17544 4000eb90:       89 45 c8                mov    %eax,-0x38(%ebp)
17545 4000eb93:       8b 45 c8                mov    -0x38(%ebp),%eax
17546 4000eb96:       89 c2                   mov    %eax,%edx
17547 4000eb98:       c1 fa 1f                sar    $0x1f,%edx
17548 4000eb9b:       89 45 c8                mov    %eax,-0x38(%ebp)
17549 4000eb9e:       89 55 cc                mov    %edx,-0x34(%ebp)
17550 4000eba1:       e9 24 01 00 00          jmp    4000ecca <vsnprintf+0x46d>
17551 4000eba6:       8b 55 14                mov    0x14(%ebp),%edx
17552 4000eba9:       8d 42 04                lea    0x4(%edx),%eax
17553 4000ebac:       89 45 14                mov    %eax,0x14(%ebp)
17554 4000ebaf:       89 d0                   mov    %edx,%eax
17555 4000ebb1:       8b 00                   mov    (%eax),%eax
17556 4000ebb3:       89 c2                   mov    %eax,%edx
17557 4000ebb5:       c1 fa 1f                sar    $0x1f,%edx
17558 4000ebb8:       89 45 c8                mov    %eax,-0x38(%ebp)
17559 4000ebbb:       89 55 cc                mov    %edx,-0x34(%ebp)
17560 4000ebbe:       e9 07 01 00 00          jmp    4000ecca <vsnprintf+0x46d>
17561 4000ebc3:       8b 55 14                mov    0x14(%ebp),%edx
17562 4000ebc6:       8d 42 04                lea    0x4(%edx),%eax
17563 4000ebc9:       89 45 14                mov    %eax,0x14(%ebp)
17564 4000ebcc:       89 d0                   mov    %edx,%eax
17565 4000ebce:       8b 00                   mov    (%eax),%eax
17566 4000ebd0:       89 c2                   mov    %eax,%edx
17567 4000ebd2:       c1 fa 1f                sar    $0x1f,%edx
17568 4000ebd5:       89 45 c8                mov    %eax,-0x38(%ebp)
17569 4000ebd8:       89 55 cc                mov    %edx,-0x34(%ebp)
17570 4000ebdb:       e9 ea 00 00 00          jmp    4000ecca <vsnprintf+0x46d>
17571 4000ebe0:       8b 55 14                mov    0x14(%ebp),%edx
17572 4000ebe3:       8d 42 08                lea    0x8(%edx),%eax
17573 4000ebe6:       89 45 14                mov    %eax,0x14(%ebp)
17574 4000ebe9:       89 d0                   mov    %edx,%eax
17575 4000ebeb:       8b 50 04                mov    0x4(%eax),%edx
17576 4000ebee:       8b 00                   mov    (%eax),%eax
17577 4000ebf0:       89 45 c8                mov    %eax,-0x38(%ebp)
17578 4000ebf3:       89 55 cc                mov    %edx,-0x34(%ebp)
17579 4000ebf6:       e9 cf 00 00 00          jmp    4000ecca <vsnprintf+0x46d>
17580 4000ebfb:       c7 45 dc 08 00 00 00    movl   $0x8,-0x24(%ebp)
17581 4000ec02:       eb 17                   jmp    4000ec1b <vsnprintf+0x3be>
17582 4000ec04:       c7 45 dc 0a 00 00 00    movl   $0xa,-0x24(%ebp)
17583 4000ec0b:       eb 0e                   jmp    4000ec1b <vsnprintf+0x3be>
17584 4000ec0d:       81 4d e4 80 00 00 00    orl    $0x80,-0x1c(%ebp)
17585 4000ec14:       c7 45 dc 10 00 00 00    movl   $0x10,-0x24(%ebp)
17586 4000ec1b:       8b 45 d0                mov    -0x30(%ebp),%eax
17587 4000ec1e:       83 c0 02                add    $0x2,%eax
17588 4000ec21:       89 45 90                mov    %eax,-0x70(%ebp)
17589 4000ec24:       83 7d 90 04             cmpl   $0x4,-0x70(%ebp)
17590 4000ec28:       0f 87 9c 00 00 00       ja     4000ecca <vsnprintf+0x46d>
17591 4000ec2e:       8b 55 90                mov    -0x70(%ebp),%edx
17592 4000ec31:       8b 04 95 a4 32 01 40    mov    0x400132a4(,%edx,4),%eax
17593 4000ec38:       ff e0                   jmp    *%eax
17594 4000ec3a:       8b 55 14                mov    0x14(%ebp),%edx
17595 4000ec3d:       8d 42 04                lea    0x4(%edx),%eax
17596 4000ec40:       89 45 14                mov    %eax,0x14(%ebp)
17597 4000ec43:       89 d0                   mov    %edx,%eax
17598 4000ec45:       8b 00                   mov    (%eax),%eax
17599 4000ec47:       0f b6 c0                movzbl %al,%eax
17600 4000ec4a:       89 45 c8                mov    %eax,-0x38(%ebp)
17601 4000ec4d:       8b 45 c8                mov    -0x38(%ebp),%eax
17602 4000ec50:       ba 00 00 00 00          mov    $0x0,%edx
17603 4000ec55:       89 45 c8                mov    %eax,-0x38(%ebp)
17604 4000ec58:       89 55 cc                mov    %edx,-0x34(%ebp)
17605 4000ec5b:       eb 6d                   jmp    4000ecca <vsnprintf+0x46d>
17606 4000ec5d:       8b 55 14                mov    0x14(%ebp),%edx
17607 4000ec60:       8d 42 04                lea    0x4(%edx),%eax
17608 4000ec63:       89 45 14                mov    %eax,0x14(%ebp)
17609 4000ec66:       89 d0                   mov    %edx,%eax
17610 4000ec68:       8b 00                   mov    (%eax),%eax
17611 4000ec6a:       0f b7 c0                movzwl %ax,%eax
17612 4000ec6d:       89 45 c8                mov    %eax,-0x38(%ebp)
17613 4000ec70:       8b 45 c8                mov    -0x38(%ebp),%eax
17614 4000ec73:       ba 00 00 00 00          mov    $0x0,%edx
17615 4000ec78:       89 45 c8                mov    %eax,-0x38(%ebp)
17616 4000ec7b:       89 55 cc                mov    %edx,-0x34(%ebp)
17617 4000ec7e:       eb 4a                   jmp    4000ecca <vsnprintf+0x46d>
17618 4000ec80:       8b 55 14                mov    0x14(%ebp),%edx
17619 4000ec83:       8d 42 04                lea    0x4(%edx),%eax
17620 4000ec86:       89 45 14                mov    %eax,0x14(%ebp)
17621 4000ec89:       89 d0                   mov    %edx,%eax
17622 4000ec8b:       8b 00                   mov    (%eax),%eax
17623 4000ec8d:       ba 00 00 00 00          mov    $0x0,%edx
17624 4000ec92:       89 45 c8                mov    %eax,-0x38(%ebp)
17625 4000ec95:       89 55 cc                mov    %edx,-0x34(%ebp)
17626 4000ec98:       eb 30                   jmp    4000ecca <vsnprintf+0x46d>
17627 4000ec9a:       8b 55 14                mov    0x14(%ebp),%edx
17628 4000ec9d:       8d 42 04                lea    0x4(%edx),%eax
17629 4000eca0:       89 45 14                mov    %eax,0x14(%ebp)
17630 4000eca3:       89 d0                   mov    %edx,%eax
17631 4000eca5:       8b 00                   mov    (%eax),%eax
17632 4000eca7:       ba 00 00 00 00          mov    $0x0,%edx
17633 4000ecac:       89 45 c8                mov    %eax,-0x38(%ebp)
17634 4000ecaf:       89 55 cc                mov    %edx,-0x34(%ebp)
17635 4000ecb2:       eb 16                   jmp    4000ecca <vsnprintf+0x46d>
17636 4000ecb4:       8b 55 14                mov    0x14(%ebp),%edx
17637 4000ecb7:       8d 42 08                lea    0x8(%edx),%eax
17638 4000ecba:       89 45 14                mov    %eax,0x14(%ebp)
17639 4000ecbd:       89 d0                   mov    %edx,%eax
17640 4000ecbf:       8b 50 04                mov    0x4(%eax),%edx
17641 4000ecc2:       8b 00                   mov    (%eax),%eax
17642 4000ecc4:       89 45 c8                mov    %eax,-0x38(%ebp)
17643 4000ecc7:       89 55 cc                mov    %edx,-0x34(%ebp)
17644 4000ecca:       8b 45 c4                mov    -0x3c(%ebp),%eax
17645 4000eccd:       3b 45 0c                cmp    0xc(%ebp),%eax
17646 4000ecd0:       73 0f                   jae    4000ece1 <vsnprintf+0x484>
17647 4000ecd2:       8b 55 c4                mov    -0x3c(%ebp),%edx
17648 4000ecd5:       8b 45 0c                mov    0xc(%ebp),%eax
17649 4000ecd8:       89 c1                   mov    %eax,%ecx
17650 4000ecda:       29 d1                   sub    %edx,%ecx
17651 4000ecdc:       89 4d a4                mov    %ecx,-0x5c(%ebp)
17652 4000ecdf:       eb 07                   jmp    4000ece8 <vsnprintf+0x48b>
17653 4000ece1:       c7 45 a4 00 00 00 00    movl   $0x0,-0x5c(%ebp)
17654 4000ece8:       8b 45 d8                mov    -0x28(%ebp),%eax
17655 4000eceb:       89 44 24 1c             mov    %eax,0x1c(%esp)
17656 4000ecef:       8b 45 d4                mov    -0x2c(%ebp),%eax
17657 4000ecf2:       89 44 24 18             mov    %eax,0x18(%esp)
17658 4000ecf6:       8b 45 dc                mov    -0x24(%ebp),%eax
17659 4000ecf9:       89 44 24 14             mov    %eax,0x14(%esp)
17660 4000ecfd:       8b 45 e4                mov    -0x1c(%ebp),%eax
17661 4000ed00:       89 44 24 10             mov    %eax,0x10(%esp)
17662 4000ed04:       8b 45 c8                mov    -0x38(%ebp),%eax
17663 4000ed07:       8b 55 cc                mov    -0x34(%ebp),%edx
17664 4000ed0a:       89 44 24 08             mov    %eax,0x8(%esp)
17665 4000ed0e:       89 54 24 0c             mov    %edx,0xc(%esp)
17666 4000ed12:       8b 45 a4                mov    -0x5c(%ebp),%eax
17667 4000ed15:       89 44 24 04             mov    %eax,0x4(%esp)
17668 4000ed19:       8b 45 c0                mov    -0x40(%ebp),%eax
17669 4000ed1c:       89 04 24                mov    %eax,(%esp)
17670 4000ed1f:       e8 a0 f7 ff ff          call   4000e4c4 <format_int>
17671 4000ed24:       89 45 e0                mov    %eax,-0x20(%ebp)
17672 4000ed27:       8b 45 e0                mov    -0x20(%ebp),%eax
17673 4000ed2a:       01 45 c0                add    %eax,-0x40(%ebp)
17674 4000ed2d:       8b 45 e0                mov    -0x20(%ebp),%eax
17675 4000ed30:       01 45 c4                add    %eax,-0x3c(%ebp)
17676 4000ed33:       e9 e0 01 00 00          jmp    4000ef18 <vsnprintf+0x6bb>
17677 4000ed38:       8b 55 14                mov    0x14(%ebp),%edx
17678 4000ed3b:       8d 42 04                lea    0x4(%edx),%eax
17679 4000ed3e:       89 45 14                mov    %eax,0x14(%ebp)
17680 4000ed41:       89 d0                   mov    %edx,%eax
17681 4000ed43:       8b 00                   mov    (%eax),%eax
17682 4000ed45:       88 45 b7                mov    %al,-0x49(%ebp)
17683 4000ed48:       8d 45 b7                lea    -0x49(%ebp),%eax
17684 4000ed4b:       89 45 ec                mov    %eax,-0x14(%ebp)
17685 4000ed4e:       c7 45 f0 01 00 00 00    movl   $0x1,-0x10(%ebp)
17686 4000ed55:       eb 39                   jmp    4000ed90 <vsnprintf+0x533>
17687 4000ed57:       8b 55 14                mov    0x14(%ebp),%edx
17688 4000ed5a:       8d 42 04                lea    0x4(%edx),%eax
17689 4000ed5d:       89 45 14                mov    %eax,0x14(%ebp)
17690 4000ed60:       89 d0                   mov    %edx,%eax
17691 4000ed62:       8b 00                   mov    (%eax),%eax
17692 4000ed64:       89 45 ec                mov    %eax,-0x14(%ebp)
17693 4000ed67:       83 7d ec 00             cmpl   $0x0,-0x14(%ebp)
17694 4000ed6b:       74 08                   je     4000ed75 <vsnprintf+0x518>
17695 4000ed6d:       8b 55 ec                mov    -0x14(%ebp),%edx
17696 4000ed70:       89 55 a8                mov    %edx,-0x58(%ebp)
17697 4000ed73:       eb 07                   jmp    4000ed7c <vsnprintf+0x51f>
17698 4000ed75:       c7 45 a8 ce 30 01 40    movl   $0x400130ce,-0x58(%ebp)
17699 4000ed7c:       8b 4d a8                mov    -0x58(%ebp),%ecx
17700 4000ed7f:       89 4d ec                mov    %ecx,-0x14(%ebp)
17701 4000ed82:       8b 45 ec                mov    -0x14(%ebp),%eax
17702 4000ed85:       89 04 24                mov    %eax,(%esp)
17703 4000ed88:       e8 2b 07 00 00          call   4000f4b8 <strlen>
17704 4000ed8d:       89 45 f0                mov    %eax,-0x10(%ebp)
17705 4000ed90:       83 7d d8 ff             cmpl   $0xffffffff,-0x28(%ebp)
17706 4000ed94:       74 0e                   je     4000eda4 <vsnprintf+0x547>
17707 4000ed96:       8b 45 f0                mov    -0x10(%ebp),%eax
17708 4000ed99:       3b 45 d8                cmp    -0x28(%ebp),%eax
17709 4000ed9c:       7e 06                   jle    4000eda4 <vsnprintf+0x547>
17710 4000ed9e:       8b 45 d8                mov    -0x28(%ebp),%eax
17711 4000eda1:       89 45 f0                mov    %eax,-0x10(%ebp)
17712 4000eda4:       8b 45 d4                mov    -0x2c(%ebp),%eax
17713 4000eda7:       3b 45 f0                cmp    -0x10(%ebp),%eax
17714 4000edaa:       7e 4c                   jle    4000edf8 <vsnprintf+0x59b>
17715 4000edac:       8b 45 e4                mov    -0x1c(%ebp),%eax
17716 4000edaf:       83 e0 02                and    $0x2,%eax
17717 4000edb2:       85 c0                   test   %eax,%eax
17718 4000edb4:       75 42                   jne    4000edf8 <vsnprintf+0x59b>
17719 4000edb6:       8b 45 e4                mov    -0x1c(%ebp),%eax
17720 4000edb9:       83 e0 01                and    $0x1,%eax
17721 4000edbc:       84 c0                   test   %al,%al
17722 4000edbe:       74 06                   je     4000edc6 <vsnprintf+0x569>
17723 4000edc0:       c6 45 af 30             movb   $0x30,-0x51(%ebp)
17724 4000edc4:       eb 04                   jmp    4000edca <vsnprintf+0x56d>
17725 4000edc6:       c6 45 af 20             movb   $0x20,-0x51(%ebp)
17726 4000edca:       0f b6 45 af             movzbl -0x51(%ebp),%eax
17727 4000edce:       88 45 ff                mov    %al,-0x1(%ebp)
17728 4000edd1:       eb 1d                   jmp    4000edf0 <vsnprintf+0x593>
17729 4000edd3:       8b 45 c4                mov    -0x3c(%ebp),%eax
17730 4000edd6:       3b 45 0c                cmp    0xc(%ebp),%eax
17731 4000edd9:       73 0d                   jae    4000ede8 <vsnprintf+0x58b>
17732 4000eddb:       8b 55 c0                mov    -0x40(%ebp),%edx
17733 4000edde:       0f b6 45 ff             movzbl -0x1(%ebp),%eax
17734 4000ede2:       88 02                   mov    %al,(%edx)
17735 4000ede4:       83 45 c0 01             addl   $0x1,-0x40(%ebp)
17736 4000ede8:       83 45 c4 01             addl   $0x1,-0x3c(%ebp)
17737 4000edec:       83 6d d4 01             subl   $0x1,-0x2c(%ebp)
17738 4000edf0:       8b 45 d4                mov    -0x2c(%ebp),%eax
17739 4000edf3:       3b 45 f0                cmp    -0x10(%ebp),%eax
17740 4000edf6:       7f db                   jg     4000edd3 <vsnprintf+0x576>
17741 4000edf8:       8b 45 f0                mov    -0x10(%ebp),%eax
17742 4000edfb:       89 45 f8                mov    %eax,-0x8(%ebp)
17743 4000edfe:       eb 2a                   jmp    4000ee2a <vsnprintf+0x5cd>
17744 4000ee00:       8b 45 ec                mov    -0x14(%ebp),%eax
17745 4000ee03:       0f b6 00                movzbl (%eax),%eax
17746 4000ee06:       88 45 f7                mov    %al,-0x9(%ebp)
17747 4000ee09:       83 45 ec 01             addl   $0x1,-0x14(%ebp)
17748 4000ee0d:       8b 45 c4                mov    -0x3c(%ebp),%eax
17749 4000ee10:       3b 45 0c                cmp    0xc(%ebp),%eax
17750 4000ee13:       73 0d                   jae    4000ee22 <vsnprintf+0x5c5>
17751 4000ee15:       8b 55 c0                mov    -0x40(%ebp),%edx
17752 4000ee18:       0f b6 45 f7             movzbl -0x9(%ebp),%eax
17753 4000ee1c:       88 02                   mov    %al,(%edx)
17754 4000ee1e:       83 45 c0 01             addl   $0x1,-0x40(%ebp)
17755 4000ee22:       83 45 c4 01             addl   $0x1,-0x3c(%ebp)
17756 4000ee26:       83 6d f8 01             subl   $0x1,-0x8(%ebp)
17757 4000ee2a:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
17758 4000ee2e:       75 d0                   jne    4000ee00 <vsnprintf+0x5a3>
17759 4000ee30:       8b 45 d4                mov    -0x2c(%ebp),%eax
17760 4000ee33:       3b 45 f0                cmp    -0x10(%ebp),%eax
17761 4000ee36:       0f 8e dc 00 00 00       jle    4000ef18 <vsnprintf+0x6bb>
17762 4000ee3c:       8b 45 e4                mov    -0x1c(%ebp),%eax
17763 4000ee3f:       83 e0 02                and    $0x2,%eax
17764 4000ee42:       85 c0                   test   %eax,%eax
17765 4000ee44:       0f 84 ce 00 00 00       je     4000ef18 <vsnprintf+0x6bb>
17766 4000ee4a:       eb 1a                   jmp    4000ee66 <vsnprintf+0x609>
17767 4000ee4c:       8b 45 c4                mov    -0x3c(%ebp),%eax
17768 4000ee4f:       3b 45 0c                cmp    0xc(%ebp),%eax
17769 4000ee52:       73 0a                   jae    4000ee5e <vsnprintf+0x601>
17770 4000ee54:       8b 45 c0                mov    -0x40(%ebp),%eax
17771 4000ee57:       c6 00 20                movb   $0x20,(%eax)
17772 4000ee5a:       83 45 c0 01             addl   $0x1,-0x40(%ebp)
17773 4000ee5e:       83 45 c4 01             addl   $0x1,-0x3c(%ebp)
17774 4000ee62:       83 6d d4 01             subl   $0x1,-0x2c(%ebp)
17775 4000ee66:       8b 45 d4                mov    -0x2c(%ebp),%eax
17776 4000ee69:       3b 45 f0                cmp    -0x10(%ebp),%eax
17777 4000ee6c:       7f de                   jg     4000ee4c <vsnprintf+0x5ef>
17778 4000ee6e:       e9 a5 00 00 00          jmp    4000ef18 <vsnprintf+0x6bb>
17779 4000ee73:       8b 45 d0                mov    -0x30(%ebp),%eax
17780 4000ee76:       83 c0 02                add    $0x2,%eax
17781 4000ee79:       89 45 8c                mov    %eax,-0x74(%ebp)
17782 4000ee7c:       83 7d 8c 04             cmpl   $0x4,-0x74(%ebp)
17783 4000ee80:       0f 87 92 00 00 00       ja     4000ef18 <vsnprintf+0x6bb>
17784 4000ee86:       8b 55 8c                mov    -0x74(%ebp),%edx
17785 4000ee89:       8b 04 95 b8 32 01 40    mov    0x400132b8(,%edx,4),%eax
17786 4000ee90:       ff e0                   jmp    *%eax
17787 4000ee92:       8b 55 14                mov    0x14(%ebp),%edx
17788 4000ee95:       8d 42 04                lea    0x4(%edx),%eax
17789 4000ee98:       89 45 14                mov    %eax,0x14(%ebp)
17790 4000ee9b:       89 d0                   mov    %edx,%eax
17791 4000ee9d:       8b 10                   mov    (%eax),%edx
17792 4000ee9f:       8b 45 c4                mov    -0x3c(%ebp),%eax
17793 4000eea2:       88 02                   mov    %al,(%edx)
17794 4000eea4:       eb 72                   jmp    4000ef18 <vsnprintf+0x6bb>
17795 4000eea6:       8b 55 14                mov    0x14(%ebp),%edx
17796 4000eea9:       8d 42 04                lea    0x4(%edx),%eax
17797 4000eeac:       89 45 14                mov    %eax,0x14(%ebp)
17798 4000eeaf:       89 d0                   mov    %edx,%eax
17799 4000eeb1:       8b 10                   mov    (%eax),%edx
17800 4000eeb3:       8b 45 c4                mov    -0x3c(%ebp),%eax
17801 4000eeb6:       66 89 02                mov    %ax,(%edx)
17802 4000eeb9:       eb 5d                   jmp    4000ef18 <vsnprintf+0x6bb>
17803 4000eebb:       8b 55 14                mov    0x14(%ebp),%edx
17804 4000eebe:       8d 42 04                lea    0x4(%edx),%eax
17805 4000eec1:       89 45 14                mov    %eax,0x14(%ebp)
17806 4000eec4:       89 d0                   mov    %edx,%eax
17807 4000eec6:       8b 10                   mov    (%eax),%edx
17808 4000eec8:       8b 45 c4                mov    -0x3c(%ebp),%eax
17809 4000eecb:       89 02                   mov    %eax,(%edx)
17810 4000eecd:       eb 49                   jmp    4000ef18 <vsnprintf+0x6bb>
17811 4000eecf:       8b 55 14                mov    0x14(%ebp),%edx
17812 4000eed2:       8d 42 04                lea    0x4(%edx),%eax
17813 4000eed5:       89 45 14                mov    %eax,0x14(%ebp)
17814 4000eed8:       89 d0                   mov    %edx,%eax
17815 4000eeda:       8b 10                   mov    (%eax),%edx
17816 4000eedc:       8b 45 c4                mov    -0x3c(%ebp),%eax
17817 4000eedf:       89 02                   mov    %eax,(%edx)
17818 4000eee1:       eb 35                   jmp    4000ef18 <vsnprintf+0x6bb>
17819 4000eee3:       8b 55 14                mov    0x14(%ebp),%edx
17820 4000eee6:       8d 42 04                lea    0x4(%edx),%eax
17821 4000eee9:       89 45 14                mov    %eax,0x14(%ebp)
17822 4000eeec:       89 d0                   mov    %edx,%eax
17823 4000eeee:       8b 08                   mov    (%eax),%ecx
17824 4000eef0:       8b 45 c4                mov    -0x3c(%ebp),%eax
17825 4000eef3:       ba 00 00 00 00          mov    $0x0,%edx
17826 4000eef8:       89 01                   mov    %eax,(%ecx)
17827 4000eefa:       89 51 04                mov    %edx,0x4(%ecx)
17828 4000eefd:       eb 19                   jmp    4000ef18 <vsnprintf+0x6bb>
17829 4000eeff:       8b 45 c4                mov    -0x3c(%ebp),%eax
17830 4000ef02:       3b 45 0c                cmp    0xc(%ebp),%eax
17831 4000ef05:       73 0d                   jae    4000ef14 <vsnprintf+0x6b7>
17832 4000ef07:       8b 55 c0                mov    -0x40(%ebp),%edx
17833 4000ef0a:       0f b6 45 bf             movzbl -0x41(%ebp),%eax
17834 4000ef0e:       88 02                   mov    %al,(%edx)
17835 4000ef10:       83 45 c0 01             addl   $0x1,-0x40(%ebp)
17836 4000ef14:       83 45 c4 01             addl   $0x1,-0x3c(%ebp)
17837 4000ef18:       8b 45 b8                mov    -0x48(%ebp),%eax
17838 4000ef1b:       0f b6 00                movzbl (%eax),%eax
17839 4000ef1e:       88 45 bf                mov    %al,-0x41(%ebp)
17840 4000ef21:       80 7d bf 00             cmpb   $0x0,-0x41(%ebp)
17841 4000ef25:       0f 95 c0                setne  %al
17842 4000ef28:       83 45 b8 01             addl   $0x1,-0x48(%ebp)
17843 4000ef2c:       84 c0                   test   %al,%al
17844 4000ef2e:       0f 85 7b f9 ff ff       jne    4000e8af <vsnprintf+0x52>
17845 4000ef34:       8b 45 c4                mov    -0x3c(%ebp),%eax
17846 4000ef37:       3b 45 0c                cmp    0xc(%ebp),%eax
17847 4000ef3a:       73 08                   jae    4000ef44 <vsnprintf+0x6e7>
17848 4000ef3c:       8b 45 c0                mov    -0x40(%ebp),%eax
17849 4000ef3f:       c6 00 00                movb   $0x0,(%eax)
17850 4000ef42:       eb 12                   jmp    4000ef56 <vsnprintf+0x6f9>
17851 4000ef44:       83 7d 0c 00             cmpl   $0x0,0xc(%ebp)
17852 4000ef48:       74 0c                   je     4000ef56 <vsnprintf+0x6f9>
17853 4000ef4a:       8b 45 0c                mov    0xc(%ebp),%eax
17854 4000ef4d:       83 e8 01                sub    $0x1,%eax
17855 4000ef50:       03 45 08                add    0x8(%ebp),%eax
17856 4000ef53:       c6 00 00                movb   $0x0,(%eax)
17857 4000ef56:       8b 45 c4                mov    -0x3c(%ebp),%eax
17858 4000ef59:       c9                      leave  
17859 4000ef5a:       c3                      ret    
17860 4000ef5b:       90                      nop    
17862 4000ef5c <memccpy>:
17863 4000ef5c:       55                      push   %ebp
17864 4000ef5d:       89 e5                   mov    %esp,%ebp
17865 4000ef5f:       83 ec 10                sub    $0x10,%esp
17866 4000ef62:       8b 45 08                mov    0x8(%ebp),%eax
17867 4000ef65:       89 45 f4                mov    %eax,-0xc(%ebp)
17868 4000ef68:       8b 45 0c                mov    0xc(%ebp),%eax
17869 4000ef6b:       89 45 f8                mov    %eax,-0x8(%ebp)
17870 4000ef6e:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
17871 4000ef75:       eb 2c                   jmp    4000efa3 <memccpy+0x47>
17872 4000ef77:       8b 55 fc                mov    -0x4(%ebp),%edx
17873 4000ef7a:       8b 45 f4                mov    -0xc(%ebp),%eax
17874 4000ef7d:       8d 0c 10                lea    (%eax,%edx,1),%ecx
17875 4000ef80:       8b 55 fc                mov    -0x4(%ebp),%edx
17876 4000ef83:       8b 45 f8                mov    -0x8(%ebp),%eax
17877 4000ef86:       01 d0                   add    %edx,%eax
17878 4000ef88:       0f b6 00                movzbl (%eax),%eax
17879 4000ef8b:       88 01                   mov    %al,(%ecx)
17880 4000ef8d:       8b 55 fc                mov    -0x4(%ebp),%edx
17881 4000ef90:       8b 45 f8                mov    -0x8(%ebp),%eax
17882 4000ef93:       01 d0                   add    %edx,%eax
17883 4000ef95:       0f b6 10                movzbl (%eax),%edx
17884 4000ef98:       8b 45 10                mov    0x10(%ebp),%eax
17885 4000ef9b:       38 c2                   cmp    %al,%dl
17886 4000ef9d:       74 0c                   je     4000efab <memccpy+0x4f>
17887 4000ef9f:       83 45 fc 01             addl   $0x1,-0x4(%ebp)
17888 4000efa3:       8b 45 fc                mov    -0x4(%ebp),%eax
17889 4000efa6:       3b 45 14                cmp    0x14(%ebp),%eax
17890 4000efa9:       72 cc                   jb     4000ef77 <memccpy+0x1b>
17891 4000efab:       8b 45 08                mov    0x8(%ebp),%eax
17892 4000efae:       c9                      leave  
17893 4000efaf:       c3                      ret    
17895 4000efb0 <memchr>:
17896 4000efb0:       55                      push   %ebp
17897 4000efb1:       89 e5                   mov    %esp,%ebp
17898 4000efb3:       83 ec 14                sub    $0x14,%esp
17899 4000efb6:       8b 45 08                mov    0x8(%ebp),%eax
17900 4000efb9:       89 45 f8                mov    %eax,-0x8(%ebp)
17901 4000efbc:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
17902 4000efc3:       eb 23                   jmp    4000efe8 <memchr+0x38>
17903 4000efc5:       8b 55 fc                mov    -0x4(%ebp),%edx
17904 4000efc8:       8b 45 f8                mov    -0x8(%ebp),%eax
17905 4000efcb:       01 d0                   add    %edx,%eax
17906 4000efcd:       0f b6 10                movzbl (%eax),%edx
17907 4000efd0:       8b 45 0c                mov    0xc(%ebp),%eax
17908 4000efd3:       38 c2                   cmp    %al,%dl
17909 4000efd5:       75 0d                   jne    4000efe4 <memchr+0x34>
17910 4000efd7:       8b 55 fc                mov    -0x4(%ebp),%edx
17911 4000efda:       8b 45 f8                mov    -0x8(%ebp),%eax
17912 4000efdd:       01 d0                   add    %edx,%eax
17913 4000efdf:       89 45 ec                mov    %eax,-0x14(%ebp)
17914 4000efe2:       eb 13                   jmp    4000eff7 <memchr+0x47>
17915 4000efe4:       83 45 fc 01             addl   $0x1,-0x4(%ebp)
17916 4000efe8:       8b 45 fc                mov    -0x4(%ebp),%eax
17917 4000efeb:       3b 45 10                cmp    0x10(%ebp),%eax
17918 4000efee:       72 d5                   jb     4000efc5 <memchr+0x15>
17919 4000eff0:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
17920 4000eff7:       8b 45 ec                mov    -0x14(%ebp),%eax
17921 4000effa:       c9                      leave  
17922 4000effb:       c3                      ret    
17924 4000effc <memcmp>:
17925 4000effc:       55                      push   %ebp
17926 4000effd:       89 e5                   mov    %esp,%ebp
17927 4000efff:       83 ec 24                sub    $0x24,%esp
17928 4000f002:       8b 45 08                mov    0x8(%ebp),%eax
17929 4000f005:       3b 45 0c                cmp    0xc(%ebp),%eax
17930 4000f008:       75 0c                   jne    4000f016 <memcmp+0x1a>
17931 4000f00a:       c7 45 dc 00 00 00 00    movl   $0x0,-0x24(%ebp)
17932 4000f011:       e9 e5 00 00 00          jmp    4000f0fb <memcmp+0xff>
17933 4000f016:       8b 45 10                mov    0x10(%ebp),%eax
17934 4000f019:       c1 e8 02                shr    $0x2,%eax
17935 4000f01c:       89 45 e4                mov    %eax,-0x1c(%ebp)
17936 4000f01f:       8b 45 10                mov    0x10(%ebp),%eax
17937 4000f022:       83 e0 03                and    $0x3,%eax
17938 4000f025:       89 45 e8                mov    %eax,-0x18(%ebp)
17939 4000f028:       8b 45 08                mov    0x8(%ebp),%eax
17940 4000f02b:       89 45 ec                mov    %eax,-0x14(%ebp)
17941 4000f02e:       8b 45 0c                mov    0xc(%ebp),%eax
17942 4000f031:       89 45 f0                mov    %eax,-0x10(%ebp)
17943 4000f034:       8b 55 08                mov    0x8(%ebp),%edx
17944 4000f037:       8b 45 e4                mov    -0x1c(%ebp),%eax
17945 4000f03a:       c1 e0 02                shl    $0x2,%eax
17946 4000f03d:       8d 04 02                lea    (%edx,%eax,1),%eax
17947 4000f040:       89 45 f4                mov    %eax,-0xc(%ebp)
17948 4000f043:       8b 55 0c                mov    0xc(%ebp),%edx
17949 4000f046:       8b 45 e4                mov    -0x1c(%ebp),%eax
17950 4000f049:       c1 e0 02                shl    $0x2,%eax
17951 4000f04c:       8d 04 02                lea    (%edx,%eax,1),%eax
17952 4000f04f:       89 45 f8                mov    %eax,-0x8(%ebp)
17953 4000f052:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
17954 4000f059:       eb 3d                   jmp    4000f098 <memcmp+0x9c>
17955 4000f05b:       8b 45 fc                mov    -0x4(%ebp),%eax
17956 4000f05e:       c1 e0 02                shl    $0x2,%eax
17957 4000f061:       03 45 ec                add    -0x14(%ebp),%eax
17958 4000f064:       8b 10                   mov    (%eax),%edx
17959 4000f066:       8b 45 fc                mov    -0x4(%ebp),%eax
17960 4000f069:       c1 e0 02                shl    $0x2,%eax
17961 4000f06c:       03 45 f0                add    -0x10(%ebp),%eax
17962 4000f06f:       8b 00                   mov    (%eax),%eax
17963 4000f071:       39 c2                   cmp    %eax,%edx
17964 4000f073:       74 1f                   je     4000f094 <memcmp+0x98>
17965 4000f075:       8b 45 fc                mov    -0x4(%ebp),%eax
17966 4000f078:       c1 e0 02                shl    $0x2,%eax
17967 4000f07b:       03 45 ec                add    -0x14(%ebp),%eax
17968 4000f07e:       8b 10                   mov    (%eax),%edx
17969 4000f080:       8b 45 fc                mov    -0x4(%ebp),%eax
17970 4000f083:       c1 e0 02                shl    $0x2,%eax
17971 4000f086:       03 45 f0                add    -0x10(%ebp),%eax
17972 4000f089:       8b 00                   mov    (%eax),%eax
17973 4000f08b:       89 d1                   mov    %edx,%ecx
17974 4000f08d:       29 c1                   sub    %eax,%ecx
17975 4000f08f:       89 4d dc                mov    %ecx,-0x24(%ebp)
17976 4000f092:       eb 67                   jmp    4000f0fb <memcmp+0xff>
17977 4000f094:       83 45 fc 01             addl   $0x1,-0x4(%ebp)
17978 4000f098:       8b 45 fc                mov    -0x4(%ebp),%eax
17979 4000f09b:       3b 45 e4                cmp    -0x1c(%ebp),%eax
17980 4000f09e:       72 bb                   jb     4000f05b <memcmp+0x5f>
17981 4000f0a0:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
17982 4000f0a7:       eb 43                   jmp    4000f0ec <memcmp+0xf0>
17983 4000f0a9:       8b 55 fc                mov    -0x4(%ebp),%edx
17984 4000f0ac:       8b 45 f4                mov    -0xc(%ebp),%eax
17985 4000f0af:       01 d0                   add    %edx,%eax
17986 4000f0b1:       0f b6 08                movzbl (%eax),%ecx
17987 4000f0b4:       8b 55 fc                mov    -0x4(%ebp),%edx
17988 4000f0b7:       8b 45 f8                mov    -0x8(%ebp),%eax
17989 4000f0ba:       01 d0                   add    %edx,%eax
17990 4000f0bc:       0f b6 00                movzbl (%eax),%eax
17991 4000f0bf:       38 c1                   cmp    %al,%cl
17992 4000f0c1:       74 25                   je     4000f0e8 <memcmp+0xec>
17993 4000f0c3:       8b 55 fc                mov    -0x4(%ebp),%edx
17994 4000f0c6:       8b 45 f4                mov    -0xc(%ebp),%eax
17995 4000f0c9:       01 d0                   add    %edx,%eax
17996 4000f0cb:       0f b6 00                movzbl (%eax),%eax
17997 4000f0ce:       0f b6 c8                movzbl %al,%ecx
17998 4000f0d1:       8b 55 fc                mov    -0x4(%ebp),%edx
17999 4000f0d4:       8b 45 f8                mov    -0x8(%ebp),%eax
18000 4000f0d7:       01 d0                   add    %edx,%eax
18001 4000f0d9:       0f b6 00                movzbl (%eax),%eax
18002 4000f0dc:       0f b6 c0                movzbl %al,%eax
18003 4000f0df:       89 ca                   mov    %ecx,%edx
18004 4000f0e1:       29 c2                   sub    %eax,%edx
18005 4000f0e3:       89 55 dc                mov    %edx,-0x24(%ebp)
18006 4000f0e6:       eb 13                   jmp    4000f0fb <memcmp+0xff>
18007 4000f0e8:       83 45 fc 01             addl   $0x1,-0x4(%ebp)
18008 4000f0ec:       8b 45 fc                mov    -0x4(%ebp),%eax
18009 4000f0ef:       3b 45 e8                cmp    -0x18(%ebp),%eax
18010 4000f0f2:       72 b5                   jb     4000f0a9 <memcmp+0xad>
18011 4000f0f4:       c7 45 dc 00 00 00 00    movl   $0x0,-0x24(%ebp)
18012 4000f0fb:       8b 45 dc                mov    -0x24(%ebp),%eax
18013 4000f0fe:       c9                      leave  
18014 4000f0ff:       c3                      ret    
18016 4000f100 <memcpy>:
18017 4000f100:       55                      push   %ebp
18018 4000f101:       89 e5                   mov    %esp,%ebp
18019 4000f103:       83 ec 24                sub    $0x24,%esp
18020 4000f106:       8b 45 08                mov    0x8(%ebp),%eax
18021 4000f109:       3b 45 0c                cmp    0xc(%ebp),%eax
18022 4000f10c:       75 0b                   jne    4000f119 <memcpy+0x19>
18023 4000f10e:       8b 45 08                mov    0x8(%ebp),%eax
18024 4000f111:       89 45 dc                mov    %eax,-0x24(%ebp)
18025 4000f114:       e9 9a 00 00 00          jmp    4000f1b3 <memcpy+0xb3>
18026 4000f119:       8b 45 10                mov    0x10(%ebp),%eax
18027 4000f11c:       c1 e8 02                shr    $0x2,%eax
18028 4000f11f:       89 45 e4                mov    %eax,-0x1c(%ebp)
18029 4000f122:       8b 45 10                mov    0x10(%ebp),%eax
18030 4000f125:       83 e0 03                and    $0x3,%eax
18031 4000f128:       89 45 e8                mov    %eax,-0x18(%ebp)
18032 4000f12b:       8b 45 08                mov    0x8(%ebp),%eax
18033 4000f12e:       89 45 ec                mov    %eax,-0x14(%ebp)
18034 4000f131:       8b 45 0c                mov    0xc(%ebp),%eax
18035 4000f134:       89 45 f0                mov    %eax,-0x10(%ebp)
18036 4000f137:       8b 55 08                mov    0x8(%ebp),%edx
18037 4000f13a:       8b 45 e4                mov    -0x1c(%ebp),%eax
18038 4000f13d:       c1 e0 02                shl    $0x2,%eax
18039 4000f140:       8d 04 02                lea    (%edx,%eax,1),%eax
18040 4000f143:       89 45 f4                mov    %eax,-0xc(%ebp)
18041 4000f146:       8b 55 0c                mov    0xc(%ebp),%edx
18042 4000f149:       8b 45 e4                mov    -0x1c(%ebp),%eax
18043 4000f14c:       c1 e0 02                shl    $0x2,%eax
18044 4000f14f:       8d 04 02                lea    (%edx,%eax,1),%eax
18045 4000f152:       89 45 f8                mov    %eax,-0x8(%ebp)
18046 4000f155:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
18047 4000f15c:       eb 1c                   jmp    4000f17a <memcpy+0x7a>
18048 4000f15e:       8b 45 fc                mov    -0x4(%ebp),%eax
18049 4000f161:       c1 e0 02                shl    $0x2,%eax
18050 4000f164:       89 c2                   mov    %eax,%edx
18051 4000f166:       03 55 ec                add    -0x14(%ebp),%edx
18052 4000f169:       8b 45 fc                mov    -0x4(%ebp),%eax
18053 4000f16c:       c1 e0 02                shl    $0x2,%eax
18054 4000f16f:       03 45 f0                add    -0x10(%ebp),%eax
18055 4000f172:       8b 00                   mov    (%eax),%eax
18056 4000f174:       89 02                   mov    %eax,(%edx)
18057 4000f176:       83 45 fc 01             addl   $0x1,-0x4(%ebp)
18058 4000f17a:       8b 45 fc                mov    -0x4(%ebp),%eax
18059 4000f17d:       3b 45 e4                cmp    -0x1c(%ebp),%eax
18060 4000f180:       72 dc                   jb     4000f15e <memcpy+0x5e>
18061 4000f182:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
18062 4000f189:       eb 1a                   jmp    4000f1a5 <memcpy+0xa5>
18063 4000f18b:       8b 55 fc                mov    -0x4(%ebp),%edx
18064 4000f18e:       8b 45 f4                mov    -0xc(%ebp),%eax
18065 4000f191:       8d 0c 10                lea    (%eax,%edx,1),%ecx
18066 4000f194:       8b 55 fc                mov    -0x4(%ebp),%edx
18067 4000f197:       8b 45 f8                mov    -0x8(%ebp),%eax
18068 4000f19a:       01 d0                   add    %edx,%eax
18069 4000f19c:       0f b6 00                movzbl (%eax),%eax
18070 4000f19f:       88 01                   mov    %al,(%ecx)
18071 4000f1a1:       83 45 fc 01             addl   $0x1,-0x4(%ebp)
18072 4000f1a5:       8b 45 fc                mov    -0x4(%ebp),%eax
18073 4000f1a8:       3b 45 e8                cmp    -0x18(%ebp),%eax
18074 4000f1ab:       72 de                   jb     4000f18b <memcpy+0x8b>
18075 4000f1ad:       8b 45 08                mov    0x8(%ebp),%eax
18076 4000f1b0:       89 45 dc                mov    %eax,-0x24(%ebp)
18077 4000f1b3:       8b 45 dc                mov    -0x24(%ebp),%eax
18078 4000f1b6:       c9                      leave  
18079 4000f1b7:       c3                      ret    
18081 4000f1b8 <memmove>:
18082 4000f1b8:       55                      push   %ebp
18083 4000f1b9:       89 e5                   mov    %esp,%ebp
18084 4000f1bb:       83 ec 24                sub    $0x24,%esp
18085 4000f1be:       8b 45 08                mov    0x8(%ebp),%eax
18086 4000f1c1:       3b 45 0c                cmp    0xc(%ebp),%eax
18087 4000f1c4:       75 0b                   jne    4000f1d1 <memmove+0x19>
18088 4000f1c6:       8b 45 08                mov    0x8(%ebp),%eax
18089 4000f1c9:       89 45 dc                mov    %eax,-0x24(%ebp)
18090 4000f1cc:       e9 07 01 00 00          jmp    4000f2d8 <memmove+0x120>
18091 4000f1d1:       8b 45 10                mov    0x10(%ebp),%eax
18092 4000f1d4:       c1 e8 02                shr    $0x2,%eax
18093 4000f1d7:       89 45 e4                mov    %eax,-0x1c(%ebp)
18094 4000f1da:       8b 45 10                mov    0x10(%ebp),%eax
18095 4000f1dd:       83 e0 03                and    $0x3,%eax
18096 4000f1e0:       89 45 e8                mov    %eax,-0x18(%ebp)
18097 4000f1e3:       8b 45 08                mov    0x8(%ebp),%eax
18098 4000f1e6:       89 45 ec                mov    %eax,-0x14(%ebp)
18099 4000f1e9:       8b 45 0c                mov    0xc(%ebp),%eax
18100 4000f1ec:       89 45 f0                mov    %eax,-0x10(%ebp)
18101 4000f1ef:       8b 55 08                mov    0x8(%ebp),%edx
18102 4000f1f2:       8b 45 e4                mov    -0x1c(%ebp),%eax
18103 4000f1f5:       c1 e0 02                shl    $0x2,%eax
18104 4000f1f8:       8d 04 02                lea    (%edx,%eax,1),%eax
18105 4000f1fb:       89 45 f4                mov    %eax,-0xc(%ebp)
18106 4000f1fe:       8b 55 0c                mov    0xc(%ebp),%edx
18107 4000f201:       8b 45 e4                mov    -0x1c(%ebp),%eax
18108 4000f204:       c1 e0 02                shl    $0x2,%eax
18109 4000f207:       8d 04 02                lea    (%edx,%eax,1),%eax
18110 4000f20a:       89 45 f8                mov    %eax,-0x8(%ebp)
18111 4000f20d:       8b 45 0c                mov    0xc(%ebp),%eax
18112 4000f210:       3b 45 08                cmp    0x8(%ebp),%eax
18113 4000f213:       76 5a                   jbe    4000f26f <memmove+0xb7>
18114 4000f215:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
18115 4000f21c:       eb 1c                   jmp    4000f23a <memmove+0x82>
18116 4000f21e:       8b 45 fc                mov    -0x4(%ebp),%eax
18117 4000f221:       c1 e0 02                shl    $0x2,%eax
18118 4000f224:       89 c2                   mov    %eax,%edx
18119 4000f226:       03 55 ec                add    -0x14(%ebp),%edx
18120 4000f229:       8b 45 fc                mov    -0x4(%ebp),%eax
18121 4000f22c:       c1 e0 02                shl    $0x2,%eax
18122 4000f22f:       03 45 f0                add    -0x10(%ebp),%eax
18123 4000f232:       8b 00                   mov    (%eax),%eax
18124 4000f234:       89 02                   mov    %eax,(%edx)
18125 4000f236:       83 45 fc 01             addl   $0x1,-0x4(%ebp)
18126 4000f23a:       8b 45 fc                mov    -0x4(%ebp),%eax
18127 4000f23d:       3b 45 e4                cmp    -0x1c(%ebp),%eax
18128 4000f240:       72 dc                   jb     4000f21e <memmove+0x66>
18129 4000f242:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
18130 4000f249:       eb 1a                   jmp    4000f265 <memmove+0xad>
18131 4000f24b:       8b 55 fc                mov    -0x4(%ebp),%edx
18132 4000f24e:       8b 45 f4                mov    -0xc(%ebp),%eax
18133 4000f251:       8d 0c 10                lea    (%eax,%edx,1),%ecx
18134 4000f254:       8b 55 fc                mov    -0x4(%ebp),%edx
18135 4000f257:       8b 45 f8                mov    -0x8(%ebp),%eax
18136 4000f25a:       01 d0                   add    %edx,%eax
18137 4000f25c:       0f b6 00                movzbl (%eax),%eax
18138 4000f25f:       88 01                   mov    %al,(%ecx)
18139 4000f261:       83 45 fc 01             addl   $0x1,-0x4(%ebp)
18140 4000f265:       8b 45 fc                mov    -0x4(%ebp),%eax
18141 4000f268:       3b 45 e8                cmp    -0x18(%ebp),%eax
18142 4000f26b:       72 de                   jb     4000f24b <memmove+0x93>
18143 4000f26d:       eb 63                   jmp    4000f2d2 <memmove+0x11a>
18144 4000f26f:       8b 45 e8                mov    -0x18(%ebp),%eax
18145 4000f272:       89 45 fc                mov    %eax,-0x4(%ebp)
18146 4000f275:       eb 1d                   jmp    4000f294 <memmove+0xdc>
18147 4000f277:       8b 45 fc                mov    -0x4(%ebp),%eax
18148 4000f27a:       83 e8 01                sub    $0x1,%eax
18149 4000f27d:       89 c2                   mov    %eax,%edx
18150 4000f27f:       03 55 f4                add    -0xc(%ebp),%edx
18151 4000f282:       8b 45 fc                mov    -0x4(%ebp),%eax
18152 4000f285:       83 e8 01                sub    $0x1,%eax
18153 4000f288:       03 45 f8                add    -0x8(%ebp),%eax
18154 4000f28b:       0f b6 00                movzbl (%eax),%eax
18155 4000f28e:       88 02                   mov    %al,(%edx)
18156 4000f290:       83 6d fc 01             subl   $0x1,-0x4(%ebp)
18157 4000f294:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
18158 4000f298:       75 dd                   jne    4000f277 <memmove+0xbf>
18159 4000f29a:       8b 45 e4                mov    -0x1c(%ebp),%eax
18160 4000f29d:       89 45 fc                mov    %eax,-0x4(%ebp)
18161 4000f2a0:       eb 2a                   jmp    4000f2cc <memmove+0x114>
18162 4000f2a2:       b8 01 00 00 00          mov    $0x1,%eax
18163 4000f2a7:       2b 45 fc                sub    -0x4(%ebp),%eax
18164 4000f2aa:       c1 e0 02                shl    $0x2,%eax
18165 4000f2ad:       f7 d8                   neg    %eax
18166 4000f2af:       89 c2                   mov    %eax,%edx
18167 4000f2b1:       03 55 ec                add    -0x14(%ebp),%edx
18168 4000f2b4:       b8 01 00 00 00          mov    $0x1,%eax
18169 4000f2b9:       2b 45 fc                sub    -0x4(%ebp),%eax
18170 4000f2bc:       c1 e0 02                shl    $0x2,%eax
18171 4000f2bf:       f7 d8                   neg    %eax
18172 4000f2c1:       03 45 f0                add    -0x10(%ebp),%eax
18173 4000f2c4:       8b 00                   mov    (%eax),%eax
18174 4000f2c6:       89 02                   mov    %eax,(%edx)
18175 4000f2c8:       83 6d fc 01             subl   $0x1,-0x4(%ebp)
18176 4000f2cc:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
18177 4000f2d0:       75 d0                   jne    4000f2a2 <memmove+0xea>
18178 4000f2d2:       8b 45 08                mov    0x8(%ebp),%eax
18179 4000f2d5:       89 45 dc                mov    %eax,-0x24(%ebp)
18180 4000f2d8:       8b 45 dc                mov    -0x24(%ebp),%eax
18181 4000f2db:       c9                      leave  
18182 4000f2dc:       c3                      ret    
18184 4000f2dd <memset>:
18185 4000f2dd:       55                      push   %ebp
18186 4000f2de:       89 e5                   mov    %esp,%ebp
18187 4000f2e0:       83 ec 10                sub    $0x10,%esp
18188 4000f2e3:       8b 45 08                mov    0x8(%ebp),%eax
18189 4000f2e6:       89 45 fc                mov    %eax,-0x4(%ebp)
18190 4000f2e9:       c7 45 f8 00 00 00 00    movl   $0x0,-0x8(%ebp)
18191 4000f2f0:       eb 12                   jmp    4000f304 <memset+0x27>
18192 4000f2f2:       8b 55 f8                mov    -0x8(%ebp),%edx
18193 4000f2f5:       8b 45 fc                mov    -0x4(%ebp),%eax
18194 4000f2f8:       8d 14 10                lea    (%eax,%edx,1),%edx
18195 4000f2fb:       8b 45 0c                mov    0xc(%ebp),%eax
18196 4000f2fe:       88 02                   mov    %al,(%edx)
18197 4000f300:       83 45 f8 01             addl   $0x1,-0x8(%ebp)
18198 4000f304:       8b 45 f8                mov    -0x8(%ebp),%eax
18199 4000f307:       3b 45 10                cmp    0x10(%ebp),%eax
18200 4000f30a:       72 e6                   jb     4000f2f2 <memset+0x15>
18201 4000f30c:       8b 45 08                mov    0x8(%ebp),%eax
18202 4000f30f:       c9                      leave  
18203 4000f310:       c3                      ret    
18205 4000f311 <strcat>:
18206 4000f311:       55                      push   %ebp
18207 4000f312:       89 e5                   mov    %esp,%ebp
18208 4000f314:       83 ec 08                sub    $0x8,%esp
18209 4000f317:       8b 45 08                mov    0x8(%ebp),%eax
18210 4000f31a:       89 04 24                mov    %eax,(%esp)
18211 4000f31d:       e8 96 01 00 00          call   4000f4b8 <strlen>
18212 4000f322:       89 c2                   mov    %eax,%edx
18213 4000f324:       03 55 08                add    0x8(%ebp),%edx
18214 4000f327:       8b 45 0c                mov    0xc(%ebp),%eax
18215 4000f32a:       89 44 24 04             mov    %eax,0x4(%esp)
18216 4000f32e:       89 14 24                mov    %edx,(%esp)
18217 4000f331:       e8 ef 00 00 00          call   4000f425 <strcpy>
18218 4000f336:       c9                      leave  
18219 4000f337:       c3                      ret    
18221 4000f338 <strchr>:
18222 4000f338:       55                      push   %ebp
18223 4000f339:       89 e5                   mov    %esp,%ebp
18224 4000f33b:       83 ec 14                sub    $0x14,%esp
18225 4000f33e:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
18226 4000f345:       eb 04                   jmp    4000f34b <strchr+0x13>
18227 4000f347:       83 45 fc 01             addl   $0x1,-0x4(%ebp)
18228 4000f34b:       8b 55 fc                mov    -0x4(%ebp),%edx
18229 4000f34e:       8b 45 08                mov    0x8(%ebp),%eax
18230 4000f351:       01 d0                   add    %edx,%eax
18231 4000f353:       0f b6 00                movzbl (%eax),%eax
18232 4000f356:       84 c0                   test   %al,%al
18233 4000f358:       74 12                   je     4000f36c <strchr+0x34>
18234 4000f35a:       8b 55 fc                mov    -0x4(%ebp),%edx
18235 4000f35d:       8b 45 08                mov    0x8(%ebp),%eax
18236 4000f360:       01 d0                   add    %edx,%eax
18237 4000f362:       0f b6 10                movzbl (%eax),%edx
18238 4000f365:       8b 45 0c                mov    0xc(%ebp),%eax
18239 4000f368:       38 c2                   cmp    %al,%dl
18240 4000f36a:       75 db                   jne    4000f347 <strchr+0xf>
18241 4000f36c:       8b 55 fc                mov    -0x4(%ebp),%edx
18242 4000f36f:       8b 45 08                mov    0x8(%ebp),%eax
18243 4000f372:       01 d0                   add    %edx,%eax
18244 4000f374:       0f b6 00                movzbl (%eax),%eax
18245 4000f377:       0f be c0                movsbl %al,%eax
18246 4000f37a:       3b 45 0c                cmp    0xc(%ebp),%eax
18247 4000f37d:       75 0d                   jne    4000f38c <strchr+0x54>
18248 4000f37f:       8b 45 08                mov    0x8(%ebp),%eax
18249 4000f382:       8b 55 fc                mov    -0x4(%ebp),%edx
18250 4000f385:       01 c2                   add    %eax,%edx
18251 4000f387:       89 55 ec                mov    %edx,-0x14(%ebp)
18252 4000f38a:       eb 07                   jmp    4000f393 <strchr+0x5b>
18253 4000f38c:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
18254 4000f393:       8b 45 ec                mov    -0x14(%ebp),%eax
18255 4000f396:       c9                      leave  
18256 4000f397:       c3                      ret    
18258 4000f398 <strcmp>:
18259 4000f398:       55                      push   %ebp
18260 4000f399:       89 e5                   mov    %esp,%ebp
18261 4000f39b:       83 ec 14                sub    $0x14,%esp
18262 4000f39e:       8b 45 08                mov    0x8(%ebp),%eax
18263 4000f3a1:       3b 45 0c                cmp    0xc(%ebp),%eax
18264 4000f3a4:       75 09                   jne    4000f3af <strcmp+0x17>
18265 4000f3a6:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
18266 4000f3ad:       eb 71                   jmp    4000f420 <strcmp+0x88>
18267 4000f3af:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
18268 4000f3b6:       eb 43                   jmp    4000f3fb <strcmp+0x63>
18269 4000f3b8:       8b 55 fc                mov    -0x4(%ebp),%edx
18270 4000f3bb:       8b 45 08                mov    0x8(%ebp),%eax
18271 4000f3be:       01 d0                   add    %edx,%eax
18272 4000f3c0:       0f b6 08                movzbl (%eax),%ecx
18273 4000f3c3:       8b 55 fc                mov    -0x4(%ebp),%edx
18274 4000f3c6:       8b 45 0c                mov    0xc(%ebp),%eax
18275 4000f3c9:       01 d0                   add    %edx,%eax
18276 4000f3cb:       0f b6 00                movzbl (%eax),%eax
18277 4000f3ce:       38 c1                   cmp    %al,%cl
18278 4000f3d0:       74 25                   je     4000f3f7 <strcmp+0x5f>
18279 4000f3d2:       8b 55 fc                mov    -0x4(%ebp),%edx
18280 4000f3d5:       8b 45 08                mov    0x8(%ebp),%eax
18281 4000f3d8:       01 d0                   add    %edx,%eax
18282 4000f3da:       0f b6 00                movzbl (%eax),%eax
18283 4000f3dd:       0f be c8                movsbl %al,%ecx
18284 4000f3e0:       8b 55 fc                mov    -0x4(%ebp),%edx
18285 4000f3e3:       8b 45 0c                mov    0xc(%ebp),%eax
18286 4000f3e6:       01 d0                   add    %edx,%eax
18287 4000f3e8:       0f b6 00                movzbl (%eax),%eax
18288 4000f3eb:       0f be c0                movsbl %al,%eax
18289 4000f3ee:       89 ca                   mov    %ecx,%edx
18290 4000f3f0:       29 c2                   sub    %eax,%edx
18291 4000f3f2:       89 55 ec                mov    %edx,-0x14(%ebp)
18292 4000f3f5:       eb 29                   jmp    4000f420 <strcmp+0x88>
18293 4000f3f7:       83 45 fc 01             addl   $0x1,-0x4(%ebp)
18294 4000f3fb:       8b 55 fc                mov    -0x4(%ebp),%edx
18295 4000f3fe:       8b 45 08                mov    0x8(%ebp),%eax
18296 4000f401:       01 d0                   add    %edx,%eax
18297 4000f403:       0f b6 00                movzbl (%eax),%eax
18298 4000f406:       84 c0                   test   %al,%al
18299 4000f408:       75 ae                   jne    4000f3b8 <strcmp+0x20>
18300 4000f40a:       8b 55 fc                mov    -0x4(%ebp),%edx
18301 4000f40d:       8b 45 0c                mov    0xc(%ebp),%eax
18302 4000f410:       01 d0                   add    %edx,%eax
18303 4000f412:       0f b6 00                movzbl (%eax),%eax
18304 4000f415:       84 c0                   test   %al,%al
18305 4000f417:       75 9f                   jne    4000f3b8 <strcmp+0x20>
18306 4000f419:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
18307 4000f420:       8b 45 ec                mov    -0x14(%ebp),%eax
18308 4000f423:       c9                      leave  
18309 4000f424:       c3                      ret    
18311 4000f425 <strcpy>:
18312 4000f425:       55                      push   %ebp
18313 4000f426:       89 e5                   mov    %esp,%ebp
18314 4000f428:       83 ec 10                sub    $0x10,%esp
18315 4000f42b:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
18316 4000f432:       eb 1a                   jmp    4000f44e <strcpy+0x29>
18317 4000f434:       8b 55 fc                mov    -0x4(%ebp),%edx
18318 4000f437:       8b 45 08                mov    0x8(%ebp),%eax
18319 4000f43a:       8d 0c 10                lea    (%eax,%edx,1),%ecx
18320 4000f43d:       8b 55 fc                mov    -0x4(%ebp),%edx
18321 4000f440:       8b 45 0c                mov    0xc(%ebp),%eax
18322 4000f443:       01 d0                   add    %edx,%eax
18323 4000f445:       0f b6 00                movzbl (%eax),%eax
18324 4000f448:       88 01                   mov    %al,(%ecx)
18325 4000f44a:       83 45 fc 01             addl   $0x1,-0x4(%ebp)
18326 4000f44e:       8b 55 fc                mov    -0x4(%ebp),%edx
18327 4000f451:       8b 45 0c                mov    0xc(%ebp),%eax
18328 4000f454:       01 d0                   add    %edx,%eax
18329 4000f456:       0f b6 00                movzbl (%eax),%eax
18330 4000f459:       84 c0                   test   %al,%al
18331 4000f45b:       75 d7                   jne    4000f434 <strcpy+0xf>
18332 4000f45d:       8b 55 fc                mov    -0x4(%ebp),%edx
18333 4000f460:       8b 45 08                mov    0x8(%ebp),%eax
18334 4000f463:       01 d0                   add    %edx,%eax
18335 4000f465:       c6 00 00                movb   $0x0,(%eax)
18336 4000f468:       8b 45 08                mov    0x8(%ebp),%eax
18337 4000f46b:       c9                      leave  
18338 4000f46c:       c3                      ret    
18340 4000f46d <strdup>:
18341 4000f46d:       55                      push   %ebp
18342 4000f46e:       89 e5                   mov    %esp,%ebp
18343 4000f470:       83 ec 28                sub    $0x28,%esp
18344 4000f473:       8b 45 08                mov    0x8(%ebp),%eax
18345 4000f476:       89 04 24                mov    %eax,(%esp)
18346 4000f479:       e8 3a 00 00 00          call   4000f4b8 <strlen>
18347 4000f47e:       83 c0 01                add    $0x1,%eax
18348 4000f481:       89 45 fc                mov    %eax,-0x4(%ebp)
18349 4000f484:       8b 45 fc                mov    -0x4(%ebp),%eax
18350 4000f487:       89 04 24                mov    %eax,(%esp)
18351 4000f48a:       e8 15 c9 ff ff          call   4000bda4 <malloc>
18352 4000f48f:       89 c2                   mov    %eax,%edx
18353 4000f491:       8b 45 fc                mov    -0x4(%ebp),%eax
18354 4000f494:       89 44 24 08             mov    %eax,0x8(%esp)
18355 4000f498:       8b 45 08                mov    0x8(%ebp),%eax
18356 4000f49b:       89 44 24 04             mov    %eax,0x4(%esp)
18357 4000f49f:       89 14 24                mov    %edx,(%esp)
18358 4000f4a2:       e8 59 fc ff ff          call   4000f100 <memcpy>
18359 4000f4a7:       c9                      leave  
18360 4000f4a8:       c3                      ret    
18362 4000f4a9 <strerror>:
18363 4000f4a9:       55                      push   %ebp
18364 4000f4aa:       89 e5                   mov    %esp,%ebp
18365 4000f4ac:       8b 45 08                mov    0x8(%ebp),%eax
18366 4000f4af:       8b 04 85 a0 40 01 40    mov    0x400140a0(,%eax,4),%eax
18367 4000f4b6:       5d                      pop    %ebp
18368 4000f4b7:       c3                      ret    
18370 4000f4b8 <strlen>:
18371 4000f4b8:       55                      push   %ebp
18372 4000f4b9:       89 e5                   mov    %esp,%ebp
18373 4000f4bb:       83 ec 10                sub    $0x10,%esp
18374 4000f4be:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
18375 4000f4c5:       eb 04                   jmp    4000f4cb <strlen+0x13>
18376 4000f4c7:       83 45 fc 01             addl   $0x1,-0x4(%ebp)
18377 4000f4cb:       8b 55 fc                mov    -0x4(%ebp),%edx
18378 4000f4ce:       8b 45 08                mov    0x8(%ebp),%eax
18379 4000f4d1:       01 d0                   add    %edx,%eax
18380 4000f4d3:       0f b6 00                movzbl (%eax),%eax
18381 4000f4d6:       84 c0                   test   %al,%al
18382 4000f4d8:       75 ed                   jne    4000f4c7 <strlen+0xf>
18383 4000f4da:       8b 45 fc                mov    -0x4(%ebp),%eax
18384 4000f4dd:       c9                      leave  
18385 4000f4de:       c3                      ret    
18387 4000f4df <strncat>:
18388 4000f4df:       55                      push   %ebp
18389 4000f4e0:       89 e5                   mov    %esp,%ebp
18390 4000f4e2:       83 ec 1c                sub    $0x1c,%esp
18391 4000f4e5:       8b 45 0c                mov    0xc(%ebp),%eax
18392 4000f4e8:       89 04 24                mov    %eax,(%esp)
18393 4000f4eb:       e8 c8 ff ff ff          call   4000f4b8 <strlen>
18394 4000f4f0:       89 45 f4                mov    %eax,-0xc(%ebp)
18395 4000f4f3:       8b 45 10                mov    0x10(%ebp),%eax
18396 4000f4f6:       89 45 e8                mov    %eax,-0x18(%ebp)
18397 4000f4f9:       8b 45 f4                mov    -0xc(%ebp),%eax
18398 4000f4fc:       89 45 ec                mov    %eax,-0x14(%ebp)
18399 4000f4ff:       8b 45 e8                mov    -0x18(%ebp),%eax
18400 4000f502:       39 45 ec                cmp    %eax,-0x14(%ebp)
18401 4000f505:       76 06                   jbe    4000f50d <strncat+0x2e>
18402 4000f507:       8b 45 e8                mov    -0x18(%ebp),%eax
18403 4000f50a:       89 45 ec                mov    %eax,-0x14(%ebp)
18404 4000f50d:       8b 45 ec                mov    -0x14(%ebp),%eax
18405 4000f510:       89 45 f4                mov    %eax,-0xc(%ebp)
18406 4000f513:       8b 45 08                mov    0x8(%ebp),%eax
18407 4000f516:       89 04 24                mov    %eax,(%esp)
18408 4000f519:       e8 9a ff ff ff          call   4000f4b8 <strlen>
18409 4000f51e:       89 45 f8                mov    %eax,-0x8(%ebp)
18410 4000f521:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
18411 4000f528:       eb 1e                   jmp    4000f548 <strncat+0x69>
18412 4000f52a:       8b 55 fc                mov    -0x4(%ebp),%edx
18413 4000f52d:       8b 45 f8                mov    -0x8(%ebp),%eax
18414 4000f530:       01 d0                   add    %edx,%eax
18415 4000f532:       89 c1                   mov    %eax,%ecx
18416 4000f534:       03 4d 08                add    0x8(%ebp),%ecx
18417 4000f537:       8b 55 fc                mov    -0x4(%ebp),%edx
18418 4000f53a:       8b 45 0c                mov    0xc(%ebp),%eax
18419 4000f53d:       01 d0                   add    %edx,%eax
18420 4000f53f:       0f b6 00                movzbl (%eax),%eax
18421 4000f542:       88 01                   mov    %al,(%ecx)
18422 4000f544:       83 45 fc 01             addl   $0x1,-0x4(%ebp)
18423 4000f548:       8b 45 fc                mov    -0x4(%ebp),%eax
18424 4000f54b:       3b 45 f4                cmp    -0xc(%ebp),%eax
18425 4000f54e:       72 da                   jb     4000f52a <strncat+0x4b>
18426 4000f550:       8b 55 f4                mov    -0xc(%ebp),%edx
18427 4000f553:       8b 45 f8                mov    -0x8(%ebp),%eax
18428 4000f556:       01 d0                   add    %edx,%eax
18429 4000f558:       03 45 08                add    0x8(%ebp),%eax
18430 4000f55b:       c6 00 00                movb   $0x0,(%eax)
18431 4000f55e:       8b 45 08                mov    0x8(%ebp),%eax
18432 4000f561:       c9                      leave  
18433 4000f562:       c3                      ret    
18435 4000f563 <strncmp>:
18436 4000f563:       55                      push   %ebp
18437 4000f564:       89 e5                   mov    %esp,%ebp
18438 4000f566:       83 ec 14                sub    $0x14,%esp
18439 4000f569:       8b 45 08                mov    0x8(%ebp),%eax
18440 4000f56c:       3b 45 0c                cmp    0xc(%ebp),%eax
18441 4000f56f:       75 09                   jne    4000f57a <strncmp+0x17>
18442 4000f571:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
18443 4000f578:       eb 79                   jmp    4000f5f3 <strncmp+0x90>
18444 4000f57a:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
18445 4000f581:       eb 43                   jmp    4000f5c6 <strncmp+0x63>
18446 4000f583:       8b 55 fc                mov    -0x4(%ebp),%edx
18447 4000f586:       8b 45 08                mov    0x8(%ebp),%eax
18448 4000f589:       01 d0                   add    %edx,%eax
18449 4000f58b:       0f b6 08                movzbl (%eax),%ecx
18450 4000f58e:       8b 55 fc                mov    -0x4(%ebp),%edx
18451 4000f591:       8b 45 0c                mov    0xc(%ebp),%eax
18452 4000f594:       01 d0                   add    %edx,%eax
18453 4000f596:       0f b6 00                movzbl (%eax),%eax
18454 4000f599:       38 c1                   cmp    %al,%cl
18455 4000f59b:       74 25                   je     4000f5c2 <strncmp+0x5f>
18456 4000f59d:       8b 55 fc                mov    -0x4(%ebp),%edx
18457 4000f5a0:       8b 45 08                mov    0x8(%ebp),%eax
18458 4000f5a3:       01 d0                   add    %edx,%eax
18459 4000f5a5:       0f b6 00                movzbl (%eax),%eax
18460 4000f5a8:       0f be c8                movsbl %al,%ecx
18461 4000f5ab:       8b 55 fc                mov    -0x4(%ebp),%edx
18462 4000f5ae:       8b 45 0c                mov    0xc(%ebp),%eax
18463 4000f5b1:       01 d0                   add    %edx,%eax
18464 4000f5b3:       0f b6 00                movzbl (%eax),%eax
18465 4000f5b6:       0f be c0                movsbl %al,%eax
18466 4000f5b9:       89 ca                   mov    %ecx,%edx
18467 4000f5bb:       29 c2                   sub    %eax,%edx
18468 4000f5bd:       89 55 ec                mov    %edx,-0x14(%ebp)
18469 4000f5c0:       eb 31                   jmp    4000f5f3 <strncmp+0x90>
18470 4000f5c2:       83 45 fc 01             addl   $0x1,-0x4(%ebp)
18471 4000f5c6:       8b 55 fc                mov    -0x4(%ebp),%edx
18472 4000f5c9:       8b 45 08                mov    0x8(%ebp),%eax
18473 4000f5cc:       01 d0                   add    %edx,%eax
18474 4000f5ce:       0f b6 00                movzbl (%eax),%eax
18475 4000f5d1:       84 c0                   test   %al,%al
18476 4000f5d3:       75 0f                   jne    4000f5e4 <strncmp+0x81>
18477 4000f5d5:       8b 55 fc                mov    -0x4(%ebp),%edx
18478 4000f5d8:       8b 45 0c                mov    0xc(%ebp),%eax
18479 4000f5db:       01 d0                   add    %edx,%eax
18480 4000f5dd:       0f b6 00                movzbl (%eax),%eax
18481 4000f5e0:       84 c0                   test   %al,%al
18482 4000f5e2:       74 08                   je     4000f5ec <strncmp+0x89>
18483 4000f5e4:       8b 45 fc                mov    -0x4(%ebp),%eax
18484 4000f5e7:       3b 45 10                cmp    0x10(%ebp),%eax
18485 4000f5ea:       72 97                   jb     4000f583 <strncmp+0x20>
18486 4000f5ec:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
18487 4000f5f3:       8b 45 ec                mov    -0x14(%ebp),%eax
18488 4000f5f6:       c9                      leave  
18489 4000f5f7:       c3                      ret    
18491 4000f5f8 <strncpy>:
18492 4000f5f8:       55                      push   %ebp
18493 4000f5f9:       89 e5                   mov    %esp,%ebp
18494 4000f5fb:       83 ec 1c                sub    $0x1c,%esp
18495 4000f5fe:       8b 45 0c                mov    0xc(%ebp),%eax
18496 4000f601:       89 04 24                mov    %eax,(%esp)
18497 4000f604:       e8 af fe ff ff          call   4000f4b8 <strlen>
18498 4000f609:       83 c0 01                add    $0x1,%eax
18499 4000f60c:       89 45 fc                mov    %eax,-0x4(%ebp)
18500 4000f60f:       8b 45 10                mov    0x10(%ebp),%eax
18501 4000f612:       3b 45 fc                cmp    -0x4(%ebp),%eax
18502 4000f615:       73 06                   jae    4000f61d <strncpy+0x25>
18503 4000f617:       8b 45 10                mov    0x10(%ebp),%eax
18504 4000f61a:       89 45 fc                mov    %eax,-0x4(%ebp)
18505 4000f61d:       8b 45 fc                mov    -0x4(%ebp),%eax
18506 4000f620:       83 e8 01                sub    $0x1,%eax
18507 4000f623:       89 44 24 08             mov    %eax,0x8(%esp)
18508 4000f627:       8b 45 0c                mov    0xc(%ebp),%eax
18509 4000f62a:       89 44 24 04             mov    %eax,0x4(%esp)
18510 4000f62e:       8b 45 08                mov    0x8(%ebp),%eax
18511 4000f631:       89 04 24                mov    %eax,(%esp)
18512 4000f634:       e8 c7 fa ff ff          call   4000f100 <memcpy>
18513 4000f639:       8b 45 fc                mov    -0x4(%ebp),%eax
18514 4000f63c:       83 e8 01                sub    $0x1,%eax
18515 4000f63f:       03 45 08                add    0x8(%ebp),%eax
18516 4000f642:       c6 00 00                movb   $0x0,(%eax)
18517 4000f645:       8b 45 08                mov    0x8(%ebp),%eax
18518 4000f648:       c9                      leave  
18519 4000f649:       c3                      ret    
18521 4000f64a <__strxspn>:
18522 4000f64a:       55                      push   %ebp
18523 4000f64b:       89 e5                   mov    %esp,%ebp
18524 4000f64d:       81 ec 1c 01 00 00       sub    $0x11c,%esp
18525 4000f653:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
18526 4000f65a:       c7 44 24 08 00 01 00    movl   $0x100,0x8(%esp)
18527 4000f661:       00 
18528 4000f662:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
18529 4000f669:       00 
18530 4000f66a:       8d 85 fc fe ff ff       lea    -0x104(%ebp),%eax
18531 4000f670:       89 04 24                mov    %eax,(%esp)
18532 4000f673:       e8 65 fc ff ff          call   4000f2dd <memset>
18533 4000f678:       eb 15                   jmp    4000f68f <__strxspn+0x45>
18534 4000f67a:       8b 45 0c                mov    0xc(%ebp),%eax
18535 4000f67d:       0f b6 00                movzbl (%eax),%eax
18536 4000f680:       0f b6 c0                movzbl %al,%eax
18537 4000f683:       c6 84 05 fc fe ff ff    movb   $0x1,-0x104(%ebp,%eax,1)
18538 4000f68a:       01 
18539 4000f68b:       83 45 0c 01             addl   $0x1,0xc(%ebp)
18540 4000f68f:       8b 45 0c                mov    0xc(%ebp),%eax
18541 4000f692:       0f b6 00                movzbl (%eax),%eax
18542 4000f695:       84 c0                   test   %al,%al
18543 4000f697:       75 e1                   jne    4000f67a <__strxspn+0x30>
18544 4000f699:       8b 45 10                mov    0x10(%ebp),%eax
18545 4000f69c:       88 85 fc fe ff ff       mov    %al,-0x104(%ebp)
18546 4000f6a2:       eb 04                   jmp    4000f6a8 <__strxspn+0x5e>
18547 4000f6a4:       83 45 fc 01             addl   $0x1,-0x4(%ebp)
18548 4000f6a8:       8b 45 08                mov    0x8(%ebp),%eax
18549 4000f6ab:       0f b6 00                movzbl (%eax),%eax
18550 4000f6ae:       0f b6 c0                movzbl %al,%eax
18551 4000f6b1:       0f b6 84 05 fc fe ff    movzbl -0x104(%ebp,%eax,1),%eax
18552 4000f6b8:       ff 
18553 4000f6b9:       0f be c0                movsbl %al,%eax
18554 4000f6bc:       3b 45 10                cmp    0x10(%ebp),%eax
18555 4000f6bf:       0f 95 c0                setne  %al
18556 4000f6c2:       83 45 08 01             addl   $0x1,0x8(%ebp)
18557 4000f6c6:       84 c0                   test   %al,%al
18558 4000f6c8:       75 da                   jne    4000f6a4 <__strxspn+0x5a>
18559 4000f6ca:       8b 45 fc                mov    -0x4(%ebp),%eax
18560 4000f6cd:       c9                      leave  
18561 4000f6ce:       c3                      ret    
18563 4000f6cf <strpbrk>:
18564 4000f6cf:       55                      push   %ebp
18565 4000f6d0:       89 e5                   mov    %esp,%ebp
18566 4000f6d2:       83 ec 20                sub    $0x20,%esp
18567 4000f6d5:       c7 44 24 08 01 00 00    movl   $0x1,0x8(%esp)
18568 4000f6dc:       00 
18569 4000f6dd:       8b 45 0c                mov    0xc(%ebp),%eax
18570 4000f6e0:       89 44 24 04             mov    %eax,0x4(%esp)
18571 4000f6e4:       8b 45 08                mov    0x8(%ebp),%eax
18572 4000f6e7:       89 04 24                mov    %eax,(%esp)
18573 4000f6ea:       e8 5b ff ff ff          call   4000f64a <__strxspn>
18574 4000f6ef:       03 45 08                add    0x8(%ebp),%eax
18575 4000f6f2:       89 45 fc                mov    %eax,-0x4(%ebp)
18576 4000f6f5:       8b 45 fc                mov    -0x4(%ebp),%eax
18577 4000f6f8:       0f b6 00                movzbl (%eax),%eax
18578 4000f6fb:       84 c0                   test   %al,%al
18579 4000f6fd:       74 08                   je     4000f707 <strpbrk+0x38>
18580 4000f6ff:       8b 45 fc                mov    -0x4(%ebp),%eax
18581 4000f702:       89 45 ec                mov    %eax,-0x14(%ebp)
18582 4000f705:       eb 07                   jmp    4000f70e <strpbrk+0x3f>
18583 4000f707:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
18584 4000f70e:       8b 45 ec                mov    -0x14(%ebp),%eax
18585 4000f711:       c9                      leave  
18586 4000f712:       c3                      ret    
18588 4000f713 <strsep>:
18589 4000f713:       55                      push   %ebp
18590 4000f714:       89 e5                   mov    %esp,%ebp
18591 4000f716:       83 ec 1c                sub    $0x1c,%esp
18592 4000f719:       8b 45 08                mov    0x8(%ebp),%eax
18593 4000f71c:       8b 00                   mov    (%eax),%eax
18594 4000f71e:       89 45 f8                mov    %eax,-0x8(%ebp)
18595 4000f721:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
18596 4000f725:       75 09                   jne    4000f730 <strsep+0x1d>
18597 4000f727:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
18598 4000f72e:       eb 33                   jmp    4000f763 <strsep+0x50>
18599 4000f730:       8b 45 0c                mov    0xc(%ebp),%eax
18600 4000f733:       89 44 24 04             mov    %eax,0x4(%esp)
18601 4000f737:       8b 45 f8                mov    -0x8(%ebp),%eax
18602 4000f73a:       89 04 24                mov    %eax,(%esp)
18603 4000f73d:       e8 8d ff ff ff          call   4000f6cf <strpbrk>
18604 4000f742:       89 45 fc                mov    %eax,-0x4(%ebp)
18605 4000f745:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
18606 4000f749:       74 0a                   je     4000f755 <strsep+0x42>
18607 4000f74b:       8b 45 fc                mov    -0x4(%ebp),%eax
18608 4000f74e:       c6 00 00                movb   $0x0,(%eax)
18609 4000f751:       83 45 fc 01             addl   $0x1,-0x4(%ebp)
18610 4000f755:       8b 55 08                mov    0x8(%ebp),%edx
18611 4000f758:       8b 45 fc                mov    -0x4(%ebp),%eax
18612 4000f75b:       89 02                   mov    %eax,(%edx)
18613 4000f75d:       8b 45 f8                mov    -0x8(%ebp),%eax
18614 4000f760:       89 45 ec                mov    %eax,-0x14(%ebp)
18615 4000f763:       8b 45 ec                mov    -0x14(%ebp),%eax
18616 4000f766:       c9                      leave  
18617 4000f767:       c3                      ret    
18619 4000f768 <strtok>:
18620 4000f768:       55                      push   %ebp
18621 4000f769:       89 e5                   mov    %esp,%ebp
18622 4000f76b:       83 ec 08                sub    $0x8,%esp
18623 4000f76e:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
18624 4000f772:       74 08                   je     4000f77c <strtok+0x14>
18625 4000f774:       8b 45 08                mov    0x8(%ebp),%eax
18626 4000f777:       a3 b8 54 01 40          mov    %eax,0x400154b8
18627 4000f77c:       8b 45 0c                mov    0xc(%ebp),%eax
18628 4000f77f:       89 44 24 04             mov    %eax,0x4(%esp)
18629 4000f783:       c7 04 24 b8 54 01 40    movl   $0x400154b8,(%esp)
18630 4000f78a:       e8 84 ff ff ff          call   4000f713 <strsep>
18631 4000f78f:       89 45 08                mov    %eax,0x8(%ebp)
18632 4000f792:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
18633 4000f796:       74 0a                   je     4000f7a2 <strtok+0x3a>
18634 4000f798:       8b 45 08                mov    0x8(%ebp),%eax
18635 4000f79b:       0f b6 00                movzbl (%eax),%eax
18636 4000f79e:       84 c0                   test   %al,%al
18637 4000f7a0:       74 da                   je     4000f77c <strtok+0x14>
18638 4000f7a2:       8b 45 08                mov    0x8(%ebp),%eax
18639 4000f7a5:       c9                      leave  
18640 4000f7a6:       c3                      ret    
18642 4000f7a7 <strntoumax>:
18643 4000f7a7:       55                      push   %ebp
18644 4000f7a8:       89 e5                   mov    %esp,%ebp
18645 4000f7aa:       53                      push   %ebx
18646 4000f7ab:       83 ec 34                sub    $0x34,%esp
18647 4000f7ae:       c7 45 e4 00 00 00 00    movl   $0x0,-0x1c(%ebp)
18648 4000f7b5:       c7 45 e8 00 00 00 00    movl   $0x0,-0x18(%ebp)
18649 4000f7bc:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
18650 4000f7c3:       eb 08                   jmp    4000f7cd <strntoumax+0x26>
18651 4000f7c5:       83 45 08 01             addl   $0x1,0x8(%ebp)
18652 4000f7c9:       83 6d 14 01             subl   $0x1,0x14(%ebp)
18653 4000f7cd:       83 7d 14 00             cmpl   $0x0,0x14(%ebp)
18654 4000f7d1:       74 3c                   je     4000f80f <strntoumax+0x68>
18655 4000f7d3:       8b 45 08                mov    0x8(%ebp),%eax
18656 4000f7d6:       0f b6 00                movzbl (%eax),%eax
18657 4000f7d9:       3c 20                   cmp    $0x20,%al
18658 4000f7db:       74 e8                   je     4000f7c5 <strntoumax+0x1e>
18659 4000f7dd:       8b 45 08                mov    0x8(%ebp),%eax
18660 4000f7e0:       0f b6 00                movzbl (%eax),%eax
18661 4000f7e3:       3c 0c                   cmp    $0xc,%al
18662 4000f7e5:       74 de                   je     4000f7c5 <strntoumax+0x1e>
18663 4000f7e7:       8b 45 08                mov    0x8(%ebp),%eax
18664 4000f7ea:       0f b6 00                movzbl (%eax),%eax
18665 4000f7ed:       3c 0a                   cmp    $0xa,%al
18666 4000f7ef:       74 d4                   je     4000f7c5 <strntoumax+0x1e>
18667 4000f7f1:       8b 45 08                mov    0x8(%ebp),%eax
18668 4000f7f4:       0f b6 00                movzbl (%eax),%eax
18669 4000f7f7:       3c 0d                   cmp    $0xd,%al
18670 4000f7f9:       74 ca                   je     4000f7c5 <strntoumax+0x1e>
18671 4000f7fb:       8b 45 08                mov    0x8(%ebp),%eax
18672 4000f7fe:       0f b6 00                movzbl (%eax),%eax
18673 4000f801:       3c 09                   cmp    $0x9,%al
18674 4000f803:       74 c0                   je     4000f7c5 <strntoumax+0x1e>
18675 4000f805:       8b 45 08                mov    0x8(%ebp),%eax
18676 4000f808:       0f b6 00                movzbl (%eax),%eax
18677 4000f80b:       3c 0b                   cmp    $0xb,%al
18678 4000f80d:       74 b6                   je     4000f7c5 <strntoumax+0x1e>
18679 4000f80f:       83 7d 14 00             cmpl   $0x0,0x14(%ebp)
18680 4000f813:       74 2a                   je     4000f83f <strntoumax+0x98>
18681 4000f815:       8b 45 08                mov    0x8(%ebp),%eax
18682 4000f818:       0f b6 00                movzbl (%eax),%eax
18683 4000f81b:       88 45 f7                mov    %al,-0x9(%ebp)
18684 4000f81e:       80 7d f7 2d             cmpb   $0x2d,-0x9(%ebp)
18685 4000f822:       74 06                   je     4000f82a <strntoumax+0x83>
18686 4000f824:       80 7d f7 2b             cmpb   $0x2b,-0x9(%ebp)
18687 4000f828:       75 15                   jne    4000f83f <strntoumax+0x98>
18688 4000f82a:       80 7d f7 2d             cmpb   $0x2d,-0x9(%ebp)
18689 4000f82e:       0f 94 c0                sete   %al
18690 4000f831:       0f b6 c0                movzbl %al,%eax
18691 4000f834:       89 45 e4                mov    %eax,-0x1c(%ebp)
18692 4000f837:       83 45 08 01             addl   $0x1,0x8(%ebp)
18693 4000f83b:       83 6d 14 01             subl   $0x1,0x14(%ebp)
18694 4000f83f:       83 7d 10 00             cmpl   $0x0,0x10(%ebp)
18695 4000f843:       75 68                   jne    4000f8ad <strntoumax+0x106>
18696 4000f845:       83 7d 14 01             cmpl   $0x1,0x14(%ebp)
18697 4000f849:       76 38                   jbe    4000f883 <strntoumax+0xdc>
18698 4000f84b:       8b 45 08                mov    0x8(%ebp),%eax
18699 4000f84e:       0f b6 00                movzbl (%eax),%eax
18700 4000f851:       3c 30                   cmp    $0x30,%al
18701 4000f853:       75 2e                   jne    4000f883 <strntoumax+0xdc>
18702 4000f855:       8b 45 08                mov    0x8(%ebp),%eax
18703 4000f858:       83 c0 01                add    $0x1,%eax
18704 4000f85b:       0f b6 00                movzbl (%eax),%eax
18705 4000f85e:       3c 78                   cmp    $0x78,%al
18706 4000f860:       74 0d                   je     4000f86f <strntoumax+0xc8>
18707 4000f862:       8b 45 08                mov    0x8(%ebp),%eax
18708 4000f865:       83 c0 01                add    $0x1,%eax
18709 4000f868:       0f b6 00                movzbl (%eax),%eax
18710 4000f86b:       3c 58                   cmp    $0x58,%al
18711 4000f86d:       75 14                   jne    4000f883 <strntoumax+0xdc>
18712 4000f86f:       83 6d 14 02             subl   $0x2,0x14(%ebp)
18713 4000f873:       83 45 08 02             addl   $0x2,0x8(%ebp)
18714 4000f877:       c7 45 10 10 00 00 00    movl   $0x10,0x10(%ebp)
18715 4000f87e:       e9 9b 00 00 00          jmp    4000f91e <strntoumax+0x177>
18716 4000f883:       83 7d 14 00             cmpl   $0x0,0x14(%ebp)
18717 4000f887:       74 1b                   je     4000f8a4 <strntoumax+0xfd>
18718 4000f889:       8b 45 08                mov    0x8(%ebp),%eax
18719 4000f88c:       0f b6 00                movzbl (%eax),%eax
18720 4000f88f:       3c 30                   cmp    $0x30,%al
18721 4000f891:       75 11                   jne    4000f8a4 <strntoumax+0xfd>
18722 4000f893:       83 6d 14 01             subl   $0x1,0x14(%ebp)
18723 4000f897:       83 45 08 01             addl   $0x1,0x8(%ebp)
18724 4000f89b:       c7 45 10 08 00 00 00    movl   $0x8,0x10(%ebp)
18725 4000f8a2:       eb 7a                   jmp    4000f91e <strntoumax+0x177>
18726 4000f8a4:       c7 45 10 0a 00 00 00    movl   $0xa,0x10(%ebp)
18727 4000f8ab:       eb 71                   jmp    4000f91e <strntoumax+0x177>
18728 4000f8ad:       83 7d 10 10             cmpl   $0x10,0x10(%ebp)
18729 4000f8b1:       75 6b                   jne    4000f91e <strntoumax+0x177>
18730 4000f8b3:       83 7d 14 01             cmpl   $0x1,0x14(%ebp)
18731 4000f8b7:       76 65                   jbe    4000f91e <strntoumax+0x177>
18732 4000f8b9:       8b 45 08                mov    0x8(%ebp),%eax
18733 4000f8bc:       0f b6 00                movzbl (%eax),%eax
18734 4000f8bf:       3c 30                   cmp    $0x30,%al
18735 4000f8c1:       75 5b                   jne    4000f91e <strntoumax+0x177>
18736 4000f8c3:       8b 45 08                mov    0x8(%ebp),%eax
18737 4000f8c6:       83 c0 01                add    $0x1,%eax
18738 4000f8c9:       0f b6 00                movzbl (%eax),%eax
18739 4000f8cc:       3c 78                   cmp    $0x78,%al
18740 4000f8ce:       74 0d                   je     4000f8dd <strntoumax+0x136>
18741 4000f8d0:       8b 45 08                mov    0x8(%ebp),%eax
18742 4000f8d3:       83 c0 01                add    $0x1,%eax
18743 4000f8d6:       0f b6 00                movzbl (%eax),%eax
18744 4000f8d9:       3c 58                   cmp    $0x58,%al
18745 4000f8db:       75 41                   jne    4000f91e <strntoumax+0x177>
18746 4000f8dd:       83 6d 14 02             subl   $0x2,0x14(%ebp)
18747 4000f8e1:       83 45 08 02             addl   $0x2,0x8(%ebp)
18748 4000f8e5:       eb 37                   jmp    4000f91e <strntoumax+0x177>
18749 4000f8e7:       8b 45 10                mov    0x10(%ebp),%eax
18750 4000f8ea:       89 c2                   mov    %eax,%edx
18751 4000f8ec:       c1 fa 1f                sar    $0x1f,%edx
18752 4000f8ef:       8b 4d e8                mov    -0x18(%ebp),%ecx
18753 4000f8f2:       0f af ca                imul   %edx,%ecx
18754 4000f8f5:       8b 5d ec                mov    -0x14(%ebp),%ebx
18755 4000f8f8:       0f af d8                imul   %eax,%ebx
18756 4000f8fb:       01 d9                   add    %ebx,%ecx
18757 4000f8fd:       f7 65 e8                mull   -0x18(%ebp)
18758 4000f900:       01 d1                   add    %edx,%ecx
18759 4000f902:       89 ca                   mov    %ecx,%edx
18760 4000f904:       8b 4d f0                mov    -0x10(%ebp),%ecx
18761 4000f907:       89 cb                   mov    %ecx,%ebx
18762 4000f909:       c1 fb 1f                sar    $0x1f,%ebx
18763 4000f90c:       01 c8                   add    %ecx,%eax
18764 4000f90e:       11 da                   adc    %ebx,%edx
18765 4000f910:       89 45 e8                mov    %eax,-0x18(%ebp)
18766 4000f913:       89 55 ec                mov    %edx,-0x14(%ebp)
18767 4000f916:       83 6d 14 01             subl   $0x1,0x14(%ebp)
18768 4000f91a:       83 45 08 01             addl   $0x1,0x8(%ebp)
18769 4000f91e:       83 7d 14 00             cmpl   $0x0,0x14(%ebp)
18770 4000f922:       74 22                   je     4000f946 <strntoumax+0x19f>
18771 4000f924:       8b 45 08                mov    0x8(%ebp),%eax
18772 4000f927:       0f b6 00                movzbl (%eax),%eax
18773 4000f92a:       0f be c0                movsbl %al,%eax
18774 4000f92d:       89 04 24                mov    %eax,(%esp)
18775 4000f930:       e8 56 00 00 00          call   4000f98b <digitval>
18776 4000f935:       89 45 f0                mov    %eax,-0x10(%ebp)
18777 4000f938:       83 7d f0 00             cmpl   $0x0,-0x10(%ebp)
18778 4000f93c:       78 08                   js     4000f946 <strntoumax+0x19f>
18779 4000f93e:       8b 45 f0                mov    -0x10(%ebp),%eax
18780 4000f941:       3b 45 10                cmp    0x10(%ebp),%eax
18781 4000f944:       7c a1                   jl     4000f8e7 <strntoumax+0x140>
18782 4000f946:       83 7d 0c 00             cmpl   $0x0,0xc(%ebp)
18783 4000f94a:       74 08                   je     4000f954 <strntoumax+0x1ad>
18784 4000f94c:       8b 55 08                mov    0x8(%ebp),%edx
18785 4000f94f:       8b 45 0c                mov    0xc(%ebp),%eax
18786 4000f952:       89 10                   mov    %edx,(%eax)
18787 4000f954:       83 7d e4 00             cmpl   $0x0,-0x1c(%ebp)
18788 4000f958:       74 19                   je     4000f973 <strntoumax+0x1cc>
18789 4000f95a:       8b 45 e8                mov    -0x18(%ebp),%eax
18790 4000f95d:       8b 55 ec                mov    -0x14(%ebp),%edx
18791 4000f960:       89 c1                   mov    %eax,%ecx
18792 4000f962:       89 d3                   mov    %edx,%ebx
18793 4000f964:       f7 d9                   neg    %ecx
18794 4000f966:       83 d3 00                adc    $0x0,%ebx
18795 4000f969:       f7 db                   neg    %ebx
18796 4000f96b:       89 4d d0                mov    %ecx,-0x30(%ebp)
18797 4000f96e:       89 5d d4                mov    %ebx,-0x2c(%ebp)
18798 4000f971:       eb 0c                   jmp    4000f97f <strntoumax+0x1d8>
18799 4000f973:       8b 45 e8                mov    -0x18(%ebp),%eax
18800 4000f976:       8b 55 ec                mov    -0x14(%ebp),%edx
18801 4000f979:       89 45 d0                mov    %eax,-0x30(%ebp)
18802 4000f97c:       89 55 d4                mov    %edx,-0x2c(%ebp)
18803 4000f97f:       8b 45 d0                mov    -0x30(%ebp),%eax
18804 4000f982:       8b 55 d4                mov    -0x2c(%ebp),%edx
18805 4000f985:       83 c4 34                add    $0x34,%esp
18806 4000f988:       5b                      pop    %ebx
18807 4000f989:       5d                      pop    %ebp
18808 4000f98a:       c3                      ret    
18810 4000f98b <digitval>:
18811 4000f98b:       55                      push   %ebp
18812 4000f98c:       89 e5                   mov    %esp,%ebp
18813 4000f98e:       83 ec 04                sub    $0x4,%esp
18814 4000f991:       83 7d 08 2f             cmpl   $0x2f,0x8(%ebp)
18815 4000f995:       7e 11                   jle    4000f9a8 <digitval+0x1d>
18816 4000f997:       83 7d 08 39             cmpl   $0x39,0x8(%ebp)
18817 4000f99b:       7f 0b                   jg     4000f9a8 <digitval+0x1d>
18818 4000f99d:       8b 45 08                mov    0x8(%ebp),%eax
18819 4000f9a0:       83 e8 30                sub    $0x30,%eax
18820 4000f9a3:       89 45 fc                mov    %eax,-0x4(%ebp)
18821 4000f9a6:       eb 35                   jmp    4000f9dd <digitval+0x52>
18822 4000f9a8:       83 7d 08 40             cmpl   $0x40,0x8(%ebp)
18823 4000f9ac:       7e 11                   jle    4000f9bf <digitval+0x34>
18824 4000f9ae:       83 7d 08 5a             cmpl   $0x5a,0x8(%ebp)
18825 4000f9b2:       7f 0b                   jg     4000f9bf <digitval+0x34>
18826 4000f9b4:       8b 45 08                mov    0x8(%ebp),%eax
18827 4000f9b7:       83 e8 37                sub    $0x37,%eax
18828 4000f9ba:       89 45 fc                mov    %eax,-0x4(%ebp)
18829 4000f9bd:       eb 1e                   jmp    4000f9dd <digitval+0x52>
18830 4000f9bf:       83 7d 08 60             cmpl   $0x60,0x8(%ebp)
18831 4000f9c3:       7e 11                   jle    4000f9d6 <digitval+0x4b>
18832 4000f9c5:       83 7d 08 7a             cmpl   $0x7a,0x8(%ebp)
18833 4000f9c9:       7f 0b                   jg     4000f9d6 <digitval+0x4b>
18834 4000f9cb:       8b 45 08                mov    0x8(%ebp),%eax
18835 4000f9ce:       83 e8 57                sub    $0x57,%eax
18836 4000f9d1:       89 45 fc                mov    %eax,-0x4(%ebp)
18837 4000f9d4:       eb 07                   jmp    4000f9dd <digitval+0x52>
18838 4000f9d6:       c7 45 fc ff ff ff ff    movl   $0xffffffff,-0x4(%ebp)
18839 4000f9dd:       8b 45 fc                mov    -0x4(%ebp),%eax
18840 4000f9e0:       c9                      leave  
18841 4000f9e1:       c3                      ret    
18843 4000f9e2 <strrchr>:
18844 4000f9e2:       55                      push   %ebp
18845 4000f9e3:       89 e5                   mov    %esp,%ebp
18846 4000f9e5:       83 ec 10                sub    $0x10,%esp
18847 4000f9e8:       c7 45 f8 00 00 00 00    movl   $0x0,-0x8(%ebp)
18848 4000f9ef:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
18849 4000f9f6:       eb 20                   jmp    4000fa18 <strrchr+0x36>
18850 4000f9f8:       8b 55 fc                mov    -0x4(%ebp),%edx
18851 4000f9fb:       8b 45 08                mov    0x8(%ebp),%eax
18852 4000f9fe:       01 d0                   add    %edx,%eax
18853 4000fa00:       0f b6 00                movzbl (%eax),%eax
18854 4000fa03:       0f be c0                movsbl %al,%eax
18855 4000fa06:       3b 45 0c                cmp    0xc(%ebp),%eax
18856 4000fa09:       75 09                   jne    4000fa14 <strrchr+0x32>
18857 4000fa0b:       8b 45 08                mov    0x8(%ebp),%eax
18858 4000fa0e:       03 45 fc                add    -0x4(%ebp),%eax
18859 4000fa11:       89 45 f8                mov    %eax,-0x8(%ebp)
18860 4000fa14:       83 45 fc 01             addl   $0x1,-0x4(%ebp)
18861 4000fa18:       8b 55 fc                mov    -0x4(%ebp),%edx
18862 4000fa1b:       8b 45 08                mov    0x8(%ebp),%eax
18863 4000fa1e:       01 d0                   add    %edx,%eax
18864 4000fa20:       0f b6 00                movzbl (%eax),%eax
18865 4000fa23:       84 c0                   test   %al,%al
18866 4000fa25:       75 d1                   jne    4000f9f8 <strrchr+0x16>
18867 4000fa27:       8b 45 f8                mov    -0x8(%ebp),%eax
18868 4000fa2a:       c9                      leave  
18869 4000fa2b:       c3                      ret    
18871 4000fa2c <strxspn>:
18872 4000fa2c:       55                      push   %ebp
18873 4000fa2d:       89 e5                   mov    %esp,%ebp
18874 4000fa2f:       81 ec 1c 01 00 00       sub    $0x11c,%esp
18875 4000fa35:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
18876 4000fa3c:       c7 44 24 08 00 01 00    movl   $0x100,0x8(%esp)
18877 4000fa43:       00 
18878 4000fa44:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
18879 4000fa4b:       00 
18880 4000fa4c:       8d 85 fc fe ff ff       lea    -0x104(%ebp),%eax
18881 4000fa52:       89 04 24                mov    %eax,(%esp)
18882 4000fa55:       e8 83 f8 ff ff          call   4000f2dd <memset>
18883 4000fa5a:       eb 15                   jmp    4000fa71 <strxspn+0x45>
18884 4000fa5c:       8b 45 0c                mov    0xc(%ebp),%eax
18885 4000fa5f:       0f b6 00                movzbl (%eax),%eax
18886 4000fa62:       0f b6 c0                movzbl %al,%eax
18887 4000fa65:       c6 84 05 fc fe ff ff    movb   $0x1,-0x104(%ebp,%eax,1)
18888 4000fa6c:       01 
18889 4000fa6d:       83 45 0c 01             addl   $0x1,0xc(%ebp)
18890 4000fa71:       8b 45 0c                mov    0xc(%ebp),%eax
18891 4000fa74:       0f b6 00                movzbl (%eax),%eax
18892 4000fa77:       84 c0                   test   %al,%al
18893 4000fa79:       75 e1                   jne    4000fa5c <strxspn+0x30>
18894 4000fa7b:       8b 45 10                mov    0x10(%ebp),%eax
18895 4000fa7e:       88 85 fc fe ff ff       mov    %al,-0x104(%ebp)
18896 4000fa84:       eb 04                   jmp    4000fa8a <strxspn+0x5e>
18897 4000fa86:       83 45 fc 01             addl   $0x1,-0x4(%ebp)
18898 4000fa8a:       8b 45 08                mov    0x8(%ebp),%eax
18899 4000fa8d:       0f b6 00                movzbl (%eax),%eax
18900 4000fa90:       0f b6 c0                movzbl %al,%eax
18901 4000fa93:       0f b6 84 05 fc fe ff    movzbl -0x104(%ebp,%eax,1),%eax
18902 4000fa9a:       ff 
18903 4000fa9b:       0f be c0                movsbl %al,%eax
18904 4000fa9e:       3b 45 10                cmp    0x10(%ebp),%eax
18905 4000faa1:       0f 95 c0                setne  %al
18906 4000faa4:       83 45 08 01             addl   $0x1,0x8(%ebp)
18907 4000faa8:       84 c0                   test   %al,%al
18908 4000faaa:       75 da                   jne    4000fa86 <strxspn+0x5a>
18909 4000faac:       8b 45 fc                mov    -0x4(%ebp),%eax
18910 4000faaf:       c9                      leave  
18911 4000fab0:       c3                      ret    
18913 4000fab1 <strspn>:
18914 4000fab1:       55                      push   %ebp
18915 4000fab2:       89 e5                   mov    %esp,%ebp
18916 4000fab4:       83 ec 0c                sub    $0xc,%esp
18917 4000fab7:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
18918 4000fabe:       00 
18919 4000fabf:       8b 45 0c                mov    0xc(%ebp),%eax
18920 4000fac2:       89 44 24 04             mov    %eax,0x4(%esp)
18921 4000fac6:       8b 45 08                mov    0x8(%ebp),%eax
18922 4000fac9:       89 04 24                mov    %eax,(%esp)
18923 4000facc:       e8 5b ff ff ff          call   4000fa2c <strxspn>
18924 4000fad1:       c9                      leave  
18925 4000fad2:       c3                      ret    
18927 4000fad3 <strcspn>:
18928 4000fad3:       55                      push   %ebp
18929 4000fad4:       89 e5                   mov    %esp,%ebp
18930 4000fad6:       83 ec 0c                sub    $0xc,%esp
18931 4000fad9:       c7 44 24 08 01 00 00    movl   $0x1,0x8(%esp)
18932 4000fae0:       00 
18933 4000fae1:       8b 45 0c                mov    0xc(%ebp),%eax
18934 4000fae4:       89 44 24 04             mov    %eax,0x4(%esp)
18935 4000fae8:       8b 45 08                mov    0x8(%ebp),%eax
18936 4000faeb:       89 04 24                mov    %eax,(%esp)
18937 4000faee:       e8 39 ff ff ff          call   4000fa2c <strxspn>
18938 4000faf3:       c9                      leave  
18939 4000faf4:       c3                      ret    
18940 4000faf5:       90                      nop    
18941 4000faf6:       90                      nop    
18942 4000faf7:       90                      nop    
18944 4000faf8 <llist_create>:
18945 4000faf8:       55                      push   %ebp
18946 4000faf9:       89 e5                   mov    %esp,%ebp
18947 4000fafb:       83 ec 18                sub    $0x18,%esp
18948 4000fafe:       c7 04 24 08 00 00 00    movl   $0x8,(%esp)
18949 4000fb05:       e8 9a c2 ff ff          call   4000bda4 <malloc>
18950 4000fb0a:       89 45 fc                mov    %eax,-0x4(%ebp)
18951 4000fb0d:       8b 45 fc                mov    -0x4(%ebp),%eax
18952 4000fb10:       c7 00 00 00 00 00       movl   $0x0,(%eax)
18953 4000fb16:       8b 45 fc                mov    -0x4(%ebp),%eax
18954 4000fb19:       c7 40 04 00 00 00 00    movl   $0x0,0x4(%eax)
18955 4000fb20:       8b 45 fc                mov    -0x4(%ebp),%eax
18956 4000fb23:       c9                      leave  
18957 4000fb24:       c3                      ret    
18959 4000fb25 <llist_destroy>:
18960 4000fb25:       55                      push   %ebp
18961 4000fb26:       89 e5                   mov    %esp,%ebp
18962 4000fb28:       83 ec 08                sub    $0x8,%esp
18963 4000fb2b:       8b 45 08                mov    0x8(%ebp),%eax
18964 4000fb2e:       89 04 24                mov    %eax,(%esp)
18965 4000fb31:       e8 96 00 00 00          call   4000fbcc <llist_pop>
18966 4000fb36:       85 c0                   test   %eax,%eax
18967 4000fb38:       75 f1                   jne    4000fb2b <llist_destroy+0x6>
18968 4000fb3a:       8b 45 08                mov    0x8(%ebp),%eax
18969 4000fb3d:       89 04 24                mov    %eax,(%esp)
18970 4000fb40:       e8 16 c7 ff ff          call   4000c25b <free>
18971 4000fb45:       c9                      leave  
18972 4000fb46:       c3                      ret    
18974 4000fb47 <llist_size>:
18975 4000fb47:       55                      push   %ebp
18976 4000fb48:       89 e5                   mov    %esp,%ebp
18977 4000fb4a:       83 ec 04                sub    $0x4,%esp
18978 4000fb4d:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
18979 4000fb51:       74 09                   je     4000fb5c <llist_size+0x15>
18980 4000fb53:       8b 45 08                mov    0x8(%ebp),%eax
18981 4000fb56:       8b 00                   mov    (%eax),%eax
18982 4000fb58:       85 c0                   test   %eax,%eax
18983 4000fb5a:       75 09                   jne    4000fb65 <llist_size+0x1e>
18984 4000fb5c:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
18985 4000fb63:       eb 09                   jmp    4000fb6e <llist_size+0x27>
18986 4000fb65:       8b 45 08                mov    0x8(%ebp),%eax
18987 4000fb68:       8b 40 04                mov    0x4(%eax),%eax
18988 4000fb6b:       89 45 fc                mov    %eax,-0x4(%ebp)
18989 4000fb6e:       8b 45 fc                mov    -0x4(%ebp),%eax
18990 4000fb71:       c9                      leave  
18991 4000fb72:       c3                      ret    
18993 4000fb73 <llist_push>:
18994 4000fb73:       55                      push   %ebp
18995 4000fb74:       89 e5                   mov    %esp,%ebp
18996 4000fb76:       83 ec 18                sub    $0x18,%esp
18997 4000fb79:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
18998 4000fb7d:       75 09                   jne    4000fb88 <llist_push+0x15>
18999 4000fb7f:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
19000 4000fb86:       eb 3f                   jmp    4000fbc7 <llist_push+0x54>
19001 4000fb88:       c7 04 24 08 00 00 00    movl   $0x8,(%esp)
19002 4000fb8f:       e8 10 c2 ff ff          call   4000bda4 <malloc>
19003 4000fb94:       89 45 fc                mov    %eax,-0x4(%ebp)
19004 4000fb97:       8b 55 fc                mov    -0x4(%ebp),%edx
19005 4000fb9a:       8b 45 0c                mov    0xc(%ebp),%eax
19006 4000fb9d:       89 42 04                mov    %eax,0x4(%edx)
19007 4000fba0:       8b 45 08                mov    0x8(%ebp),%eax
19008 4000fba3:       8b 10                   mov    (%eax),%edx
19009 4000fba5:       8b 45 fc                mov    -0x4(%ebp),%eax
19010 4000fba8:       89 10                   mov    %edx,(%eax)
19011 4000fbaa:       8b 55 08                mov    0x8(%ebp),%edx
19012 4000fbad:       8b 45 fc                mov    -0x4(%ebp),%eax
19013 4000fbb0:       89 02                   mov    %eax,(%edx)
19014 4000fbb2:       8b 45 08                mov    0x8(%ebp),%eax
19015 4000fbb5:       8b 40 04                mov    0x4(%eax),%eax
19016 4000fbb8:       8d 50 01                lea    0x1(%eax),%edx
19017 4000fbbb:       8b 45 08                mov    0x8(%ebp),%eax
19018 4000fbbe:       89 50 04                mov    %edx,0x4(%eax)
19019 4000fbc1:       8b 45 08                mov    0x8(%ebp),%eax
19020 4000fbc4:       89 45 ec                mov    %eax,-0x14(%ebp)
19021 4000fbc7:       8b 45 ec                mov    -0x14(%ebp),%eax
19022 4000fbca:       c9                      leave  
19023 4000fbcb:       c3                      ret    
19025 4000fbcc <llist_pop>:
19026 4000fbcc:       55                      push   %ebp
19027 4000fbcd:       89 e5                   mov    %esp,%ebp
19028 4000fbcf:       83 ec 18                sub    $0x18,%esp
19029 4000fbd2:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
19030 4000fbd6:       75 09                   jne    4000fbe1 <llist_pop+0x15>
19031 4000fbd8:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
19032 4000fbdf:       eb 51                   jmp    4000fc32 <llist_pop+0x66>
19033 4000fbe1:       8b 45 08                mov    0x8(%ebp),%eax
19034 4000fbe4:       8b 00                   mov    (%eax),%eax
19035 4000fbe6:       85 c0                   test   %eax,%eax
19036 4000fbe8:       74 3b                   je     4000fc25 <llist_pop+0x59>
19037 4000fbea:       8b 45 08                mov    0x8(%ebp),%eax
19038 4000fbed:       8b 00                   mov    (%eax),%eax
19039 4000fbef:       8b 40 04                mov    0x4(%eax),%eax
19040 4000fbf2:       89 45 fc                mov    %eax,-0x4(%ebp)
19041 4000fbf5:       8b 45 08                mov    0x8(%ebp),%eax
19042 4000fbf8:       8b 00                   mov    (%eax),%eax
19043 4000fbfa:       89 45 f8                mov    %eax,-0x8(%ebp)
19044 4000fbfd:       8b 45 08                mov    0x8(%ebp),%eax
19045 4000fc00:       8b 00                   mov    (%eax),%eax
19046 4000fc02:       8b 10                   mov    (%eax),%edx
19047 4000fc04:       8b 45 08                mov    0x8(%ebp),%eax
19048 4000fc07:       89 10                   mov    %edx,(%eax)
19049 4000fc09:       8b 45 f8                mov    -0x8(%ebp),%eax
19050 4000fc0c:       89 04 24                mov    %eax,(%esp)
19051 4000fc0f:       e8 47 c6 ff ff          call   4000c25b <free>
19052 4000fc14:       8b 45 08                mov    0x8(%ebp),%eax
19053 4000fc17:       8b 40 04                mov    0x4(%eax),%eax
19054 4000fc1a:       8d 50 ff                lea    -0x1(%eax),%edx
19055 4000fc1d:       8b 45 08                mov    0x8(%ebp),%eax
19056 4000fc20:       89 50 04                mov    %edx,0x4(%eax)
19057 4000fc23:       eb 07                   jmp    4000fc2c <llist_pop+0x60>
19058 4000fc25:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
19059 4000fc2c:       8b 45 fc                mov    -0x4(%ebp),%eax
19060 4000fc2f:       89 45 ec                mov    %eax,-0x14(%ebp)
19061 4000fc32:       8b 45 ec                mov    -0x14(%ebp),%eax
19062 4000fc35:       c9                      leave  
19063 4000fc36:       c3                      ret    
19065 4000fc37 <llist_get_node_at>:
19066 4000fc37:       55                      push   %ebp
19067 4000fc38:       89 e5                   mov    %esp,%ebp
19068 4000fc3a:       83 ec 14                sub    $0x14,%esp
19069 4000fc3d:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
19070 4000fc41:       74 09                   je     4000fc4c <llist_get_node_at+0x15>
19071 4000fc43:       8b 45 08                mov    0x8(%ebp),%eax
19072 4000fc46:       8b 00                   mov    (%eax),%eax
19073 4000fc48:       85 c0                   test   %eax,%eax
19074 4000fc4a:       75 09                   jne    4000fc55 <llist_get_node_at+0x1e>
19075 4000fc4c:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
19076 4000fc53:       eb 51                   jmp    4000fca6 <llist_get_node_at+0x6f>
19077 4000fc55:       8b 45 08                mov    0x8(%ebp),%eax
19078 4000fc58:       8b 00                   mov    (%eax),%eax
19079 4000fc5a:       89 45 f8                mov    %eax,-0x8(%ebp)
19080 4000fc5d:       8b 45 0c                mov    0xc(%ebp),%eax
19081 4000fc60:       89 45 fc                mov    %eax,-0x4(%ebp)
19082 4000fc63:       8b 45 08                mov    0x8(%ebp),%eax
19083 4000fc66:       8b 40 04                mov    0x4(%eax),%eax
19084 4000fc69:       83 e8 01                sub    $0x1,%eax
19085 4000fc6c:       3b 45 0c                cmp    0xc(%ebp),%eax
19086 4000fc6f:       73 20                   jae    4000fc91 <llist_get_node_at+0x5a>
19087 4000fc71:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
19088 4000fc78:       eb 2c                   jmp    4000fca6 <llist_get_node_at+0x6f>
19089 4000fc7a:       8b 45 f8                mov    -0x8(%ebp),%eax
19090 4000fc7d:       8b 00                   mov    (%eax),%eax
19091 4000fc7f:       89 45 f8                mov    %eax,-0x8(%ebp)
19092 4000fc82:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
19093 4000fc86:       75 09                   jne    4000fc91 <llist_get_node_at+0x5a>
19094 4000fc88:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
19095 4000fc8f:       eb 15                   jmp    4000fca6 <llist_get_node_at+0x6f>
19096 4000fc91:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
19097 4000fc95:       0f 95 c0                setne  %al
19098 4000fc98:       83 6d fc 01             subl   $0x1,-0x4(%ebp)
19099 4000fc9c:       84 c0                   test   %al,%al
19100 4000fc9e:       75 da                   jne    4000fc7a <llist_get_node_at+0x43>
19101 4000fca0:       8b 45 f8                mov    -0x8(%ebp),%eax
19102 4000fca3:       89 45 ec                mov    %eax,-0x14(%ebp)
19103 4000fca6:       8b 45 ec                mov    -0x14(%ebp),%eax
19104 4000fca9:       c9                      leave  
19105 4000fcaa:       c3                      ret    
19107 4000fcab <llist_get>:
19108 4000fcab:       55                      push   %ebp
19109 4000fcac:       89 e5                   mov    %esp,%ebp
19110 4000fcae:       83 ec 1c                sub    $0x1c,%esp
19111 4000fcb1:       8b 45 0c                mov    0xc(%ebp),%eax
19112 4000fcb4:       89 44 24 04             mov    %eax,0x4(%esp)
19113 4000fcb8:       8b 45 08                mov    0x8(%ebp),%eax
19114 4000fcbb:       89 04 24                mov    %eax,(%esp)
19115 4000fcbe:       e8 74 ff ff ff          call   4000fc37 <llist_get_node_at>
19116 4000fcc3:       89 45 fc                mov    %eax,-0x4(%ebp)
19117 4000fcc6:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
19118 4000fcca:       75 09                   jne    4000fcd5 <llist_get+0x2a>
19119 4000fccc:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
19120 4000fcd3:       eb 09                   jmp    4000fcde <llist_get+0x33>
19121 4000fcd5:       8b 45 fc                mov    -0x4(%ebp),%eax
19122 4000fcd8:       8b 40 04                mov    0x4(%eax),%eax
19123 4000fcdb:       89 45 ec                mov    %eax,-0x14(%ebp)
19124 4000fcde:       8b 45 ec                mov    -0x14(%ebp),%eax
19125 4000fce1:       c9                      leave  
19126 4000fce2:       c3                      ret    
19128 4000fce3 <llist_insert>:
19129 4000fce3:       55                      push   %ebp
19130 4000fce4:       89 e5                   mov    %esp,%ebp
19131 4000fce6:       83 ec 28                sub    $0x28,%esp
19132 4000fce9:       c7 04 24 08 00 00 00    movl   $0x8,(%esp)
19133 4000fcf0:       e8 af c0 ff ff          call   4000bda4 <malloc>
19134 4000fcf5:       89 45 f8                mov    %eax,-0x8(%ebp)
19135 4000fcf8:       8b 55 f8                mov    -0x8(%ebp),%edx
19136 4000fcfb:       8b 45 10                mov    0x10(%ebp),%eax
19137 4000fcfe:       89 42 04                mov    %eax,0x4(%edx)
19138 4000fd01:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
19139 4000fd05:       75 09                   jne    4000fd10 <llist_insert+0x2d>
19140 4000fd07:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
19141 4000fd0e:       eb 68                   jmp    4000fd78 <llist_insert+0x95>
19142 4000fd10:       83 7d 0c 00             cmpl   $0x0,0xc(%ebp)
19143 4000fd14:       74 3b                   je     4000fd51 <llist_insert+0x6e>
19144 4000fd16:       8b 45 0c                mov    0xc(%ebp),%eax
19145 4000fd19:       83 e8 01                sub    $0x1,%eax
19146 4000fd1c:       89 44 24 04             mov    %eax,0x4(%esp)
19147 4000fd20:       8b 45 08                mov    0x8(%ebp),%eax
19148 4000fd23:       89 04 24                mov    %eax,(%esp)
19149 4000fd26:       e8 0c ff ff ff          call   4000fc37 <llist_get_node_at>
19150 4000fd2b:       89 45 fc                mov    %eax,-0x4(%ebp)
19151 4000fd2e:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
19152 4000fd32:       75 09                   jne    4000fd3d <llist_insert+0x5a>
19153 4000fd34:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
19154 4000fd3b:       eb 3b                   jmp    4000fd78 <llist_insert+0x95>
19155 4000fd3d:       8b 45 fc                mov    -0x4(%ebp),%eax
19156 4000fd40:       8b 10                   mov    (%eax),%edx
19157 4000fd42:       8b 45 f8                mov    -0x8(%ebp),%eax
19158 4000fd45:       89 10                   mov    %edx,(%eax)
19159 4000fd47:       8b 55 fc                mov    -0x4(%ebp),%edx
19160 4000fd4a:       8b 45 f8                mov    -0x8(%ebp),%eax
19161 4000fd4d:       89 02                   mov    %eax,(%edx)
19162 4000fd4f:       eb 12                   jmp    4000fd63 <llist_insert+0x80>
19163 4000fd51:       8b 45 08                mov    0x8(%ebp),%eax
19164 4000fd54:       8b 10                   mov    (%eax),%edx
19165 4000fd56:       8b 45 f8                mov    -0x8(%ebp),%eax
19166 4000fd59:       89 10                   mov    %edx,(%eax)
19167 4000fd5b:       8b 55 08                mov    0x8(%ebp),%edx
19168 4000fd5e:       8b 45 f8                mov    -0x8(%ebp),%eax
19169 4000fd61:       89 02                   mov    %eax,(%edx)
19170 4000fd63:       8b 45 08                mov    0x8(%ebp),%eax
19171 4000fd66:       8b 40 04                mov    0x4(%eax),%eax
19172 4000fd69:       8d 50 01                lea    0x1(%eax),%edx
19173 4000fd6c:       8b 45 08                mov    0x8(%ebp),%eax
19174 4000fd6f:       89 50 04                mov    %edx,0x4(%eax)
19175 4000fd72:       8b 45 08                mov    0x8(%ebp),%eax
19176 4000fd75:       89 45 ec                mov    %eax,-0x14(%ebp)
19177 4000fd78:       8b 45 ec                mov    -0x14(%ebp),%eax
19178 4000fd7b:       c9                      leave  
19179 4000fd7c:       c3                      ret    
19181 4000fd7d <llist_remove>:
19182 4000fd7d:       55                      push   %ebp
19183 4000fd7e:       89 e5                   mov    %esp,%ebp
19184 4000fd80:       83 ec 28                sub    $0x28,%esp
19185 4000fd83:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
19186 4000fd87:       75 0c                   jne    4000fd95 <llist_remove+0x18>
19187 4000fd89:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
19188 4000fd90:       e9 ab 00 00 00          jmp    4000fe40 <llist_remove+0xc3>
19189 4000fd95:       83 7d 0c 00             cmpl   $0x0,0xc(%ebp)
19190 4000fd99:       74 58                   je     4000fdf3 <llist_remove+0x76>
19191 4000fd9b:       8b 45 0c                mov    0xc(%ebp),%eax
19192 4000fd9e:       83 e8 01                sub    $0x1,%eax
19193 4000fda1:       89 44 24 04             mov    %eax,0x4(%esp)
19194 4000fda5:       8b 45 08                mov    0x8(%ebp),%eax
19195 4000fda8:       89 04 24                mov    %eax,(%esp)
19196 4000fdab:       e8 87 fe ff ff          call   4000fc37 <llist_get_node_at>
19197 4000fdb0:       89 45 fc                mov    %eax,-0x4(%ebp)
19198 4000fdb3:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
19199 4000fdb7:       74 09                   je     4000fdc2 <llist_remove+0x45>
19200 4000fdb9:       8b 45 fc                mov    -0x4(%ebp),%eax
19201 4000fdbc:       8b 00                   mov    (%eax),%eax
19202 4000fdbe:       85 c0                   test   %eax,%eax
19203 4000fdc0:       75 09                   jne    4000fdcb <llist_remove+0x4e>
19204 4000fdc2:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
19205 4000fdc9:       eb 75                   jmp    4000fe40 <llist_remove+0xc3>
19206 4000fdcb:       8b 45 fc                mov    -0x4(%ebp),%eax
19207 4000fdce:       8b 00                   mov    (%eax),%eax
19208 4000fdd0:       89 45 f8                mov    %eax,-0x8(%ebp)
19209 4000fdd3:       8b 45 f8                mov    -0x8(%ebp),%eax
19210 4000fdd6:       8b 10                   mov    (%eax),%edx
19211 4000fdd8:       8b 45 fc                mov    -0x4(%ebp),%eax
19212 4000fddb:       89 10                   mov    %edx,(%eax)
19213 4000fddd:       8b 45 f8                mov    -0x8(%ebp),%eax
19214 4000fde0:       8b 40 04                mov    0x4(%eax),%eax
19215 4000fde3:       89 45 f4                mov    %eax,-0xc(%ebp)
19216 4000fde6:       8b 45 f8                mov    -0x8(%ebp),%eax
19217 4000fde9:       89 04 24                mov    %eax,(%esp)
19218 4000fdec:       e8 6a c4 ff ff          call   4000c25b <free>
19219 4000fdf1:       eb 38                   jmp    4000fe2b <llist_remove+0xae>
19220 4000fdf3:       8b 45 08                mov    0x8(%ebp),%eax
19221 4000fdf6:       8b 00                   mov    (%eax),%eax
19222 4000fdf8:       85 c0                   test   %eax,%eax
19223 4000fdfa:       75 09                   jne    4000fe05 <llist_remove+0x88>
19224 4000fdfc:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
19225 4000fe03:       eb 3b                   jmp    4000fe40 <llist_remove+0xc3>
19226 4000fe05:       8b 45 08                mov    0x8(%ebp),%eax
19227 4000fe08:       8b 00                   mov    (%eax),%eax
19228 4000fe0a:       89 45 f8                mov    %eax,-0x8(%ebp)
19229 4000fe0d:       8b 45 f8                mov    -0x8(%ebp),%eax
19230 4000fe10:       8b 10                   mov    (%eax),%edx
19231 4000fe12:       8b 45 08                mov    0x8(%ebp),%eax
19232 4000fe15:       89 10                   mov    %edx,(%eax)
19233 4000fe17:       8b 45 f8                mov    -0x8(%ebp),%eax
19234 4000fe1a:       8b 40 04                mov    0x4(%eax),%eax
19235 4000fe1d:       89 45 f4                mov    %eax,-0xc(%ebp)
19236 4000fe20:       8b 45 f8                mov    -0x8(%ebp),%eax
19237 4000fe23:       89 04 24                mov    %eax,(%esp)
19238 4000fe26:       e8 30 c4 ff ff          call   4000c25b <free>
19239 4000fe2b:       8b 45 08                mov    0x8(%ebp),%eax
19240 4000fe2e:       8b 40 04                mov    0x4(%eax),%eax
19241 4000fe31:       8d 50 ff                lea    -0x1(%eax),%edx
19242 4000fe34:       8b 45 08                mov    0x8(%ebp),%eax
19243 4000fe37:       89 50 04                mov    %edx,0x4(%eax)
19244 4000fe3a:       8b 45 f4                mov    -0xc(%ebp),%eax
19245 4000fe3d:       89 45 ec                mov    %eax,-0x14(%ebp)
19246 4000fe40:       8b 45 ec                mov    -0x14(%ebp),%eax
19247 4000fe43:       c9                      leave  
19248 4000fe44:       c3                      ret    
19250 4000fe45 <llist_find>:
19251 4000fe45:       55                      push   %ebp
19252 4000fe46:       89 e5                   mov    %esp,%ebp
19253 4000fe48:       83 ec 1c                sub    $0x1c,%esp
19254 4000fe4b:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
19255 4000fe52:       eb 14                   jmp    4000fe68 <llist_find+0x23>
19256 4000fe54:       8b 45 f8                mov    -0x8(%ebp),%eax
19257 4000fe57:       3b 45 0c                cmp    0xc(%ebp),%eax
19258 4000fe5a:       75 08                   jne    4000fe64 <llist_find+0x1f>
19259 4000fe5c:       8b 45 fc                mov    -0x4(%ebp),%eax
19260 4000fe5f:       89 45 ec                mov    %eax,-0x14(%ebp)
19261 4000fe62:       eb 26                   jmp    4000fe8a <llist_find+0x45>
19262 4000fe64:       83 45 fc 01             addl   $0x1,-0x4(%ebp)
19263 4000fe68:       8b 45 fc                mov    -0x4(%ebp),%eax
19264 4000fe6b:       89 44 24 04             mov    %eax,0x4(%esp)
19265 4000fe6f:       8b 45 08                mov    0x8(%ebp),%eax
19266 4000fe72:       89 04 24                mov    %eax,(%esp)
19267 4000fe75:       e8 31 fe ff ff          call   4000fcab <llist_get>
19268 4000fe7a:       89 45 f8                mov    %eax,-0x8(%ebp)
19269 4000fe7d:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
19270 4000fe81:       75 d1                   jne    4000fe54 <llist_find+0xf>
19271 4000fe83:       c7 45 ec ff ff ff ff    movl   $0xffffffff,-0x14(%ebp)
19272 4000fe8a:       8b 45 ec                mov    -0x14(%ebp),%eax
19273 4000fe8d:       c9                      leave  
19274 4000fe8e:       c3                      ret    
19276 4000fe8f <llist_copy>:
19277 4000fe8f:       55                      push   %ebp
19278 4000fe90:       89 e5                   mov    %esp,%ebp
19279 4000fe92:       83 ec 18                sub    $0x18,%esp
19280 4000fe95:       e8 5e fc ff ff          call   4000faf8 <llist_create>
19281 4000fe9a:       89 45 fc                mov    %eax,-0x4(%ebp)
19282 4000fe9d:       c7 45 f4 00 00 00 00    movl   $0x0,-0xc(%ebp)
19283 4000fea4:       eb 16                   jmp    4000febc <llist_copy+0x2d>
19284 4000fea6:       8b 45 f8                mov    -0x8(%ebp),%eax
19285 4000fea9:       89 44 24 04             mov    %eax,0x4(%esp)
19286 4000fead:       8b 45 fc                mov    -0x4(%ebp),%eax
19287 4000feb0:       89 04 24                mov    %eax,(%esp)
19288 4000feb3:       e8 bb fc ff ff          call   4000fb73 <llist_push>
19289 4000feb8:       83 45 f4 01             addl   $0x1,-0xc(%ebp)
19290 4000febc:       8b 45 f4                mov    -0xc(%ebp),%eax
19291 4000febf:       89 44 24 04             mov    %eax,0x4(%esp)
19292 4000fec3:       8b 45 08                mov    0x8(%ebp),%eax
19293 4000fec6:       89 04 24                mov    %eax,(%esp)
19294 4000fec9:       e8 dd fd ff ff          call   4000fcab <llist_get>
19295 4000fece:       89 45 f8                mov    %eax,-0x8(%ebp)
19296 4000fed1:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
19297 4000fed5:       75 cf                   jne    4000fea6 <llist_copy+0x17>
19298 4000fed7:       8b 45 fc                mov    -0x4(%ebp),%eax
19299 4000feda:       c9                      leave  
19300 4000fedb:       c3                      ret    
19302 4000fedc <cmos_read>:
19303 4000fedc:       55                      push   %ebp
19304 4000fedd:       89 e5                   mov    %esp,%ebp
19305 4000fedf:       83 ec 18                sub    $0x18,%esp
19306 4000fee2:       c7 04 24 70 00 00 00    movl   $0x70,(%esp)
19307 4000fee9:       e8 55 00 00 00          call   4000ff43 <inb>
19308 4000feee:       89 c2                   mov    %eax,%edx
19309 4000fef0:       83 e2 80                and    $0xffffff80,%edx
19310 4000fef3:       8b 45 08                mov    0x8(%ebp),%eax
19311 4000fef6:       83 e0 7f                and    $0x7f,%eax
19312 4000fef9:       09 d0                   or     %edx,%eax
19313 4000fefb:       0f b6 c0                movzbl %al,%eax
19314 4000fefe:       89 44 24 04             mov    %eax,0x4(%esp)
19315 4000ff02:       c7 04 24 70 00 00 00    movl   $0x70,(%esp)
19316 4000ff09:       e8 17 00 00 00          call   4000ff25 <outb>
19317 4000ff0e:       c7 04 24 71 00 00 00    movl   $0x71,(%esp)
19318 4000ff15:       e8 29 00 00 00          call   4000ff43 <inb>
19319 4000ff1a:       0f b6 c0                movzbl %al,%eax
19320 4000ff1d:       89 45 fc                mov    %eax,-0x4(%ebp)
19321 4000ff20:       8b 45 fc                mov    -0x4(%ebp),%eax
19322 4000ff23:       c9                      leave  
19323 4000ff24:       c3                      ret    
19325 4000ff25 <outb>:
19326 4000ff25:       55                      push   %ebp
19327 4000ff26:       89 e5                   mov    %esp,%ebp
19328 4000ff28:       83 ec 08                sub    $0x8,%esp
19329 4000ff2b:       8b 45 08                mov    0x8(%ebp),%eax
19330 4000ff2e:       8b 55 0c                mov    0xc(%ebp),%edx
19331 4000ff31:       66 89 45 fc             mov    %ax,-0x4(%ebp)
19332 4000ff35:       88 55 f8                mov    %dl,-0x8(%ebp)
19333 4000ff38:       0f b6 45 f8             movzbl -0x8(%ebp),%eax
19334 4000ff3c:       0f b7 55 fc             movzwl -0x4(%ebp),%edx
19335 4000ff40:       ee                      out    %al,(%dx)
19336 4000ff41:       c9                      leave  
19337 4000ff42:       c3                      ret    
19339 4000ff43 <inb>:
19340 4000ff43:       55                      push   %ebp
19341 4000ff44:       89 e5                   mov    %esp,%ebp
19342 4000ff46:       83 ec 14                sub    $0x14,%esp
19343 4000ff49:       8b 45 08                mov    0x8(%ebp),%eax
19344 4000ff4c:       66 89 45 ec             mov    %ax,-0x14(%ebp)
19345 4000ff50:       0f b7 55 ec             movzwl -0x14(%ebp),%edx
19346 4000ff54:       ec                      in     (%dx),%al
19347 4000ff55:       88 45 ff                mov    %al,-0x1(%ebp)
19348 4000ff58:       0f b6 45 ff             movzbl -0x1(%ebp),%eax
19349 4000ff5c:       c9                      leave  
19350 4000ff5d:       c3                      ret    
19352 4000ff5e <cmos_write>:
19353 4000ff5e:       55                      push   %ebp
19354 4000ff5f:       89 e5                   mov    %esp,%ebp
19355 4000ff61:       83 ec 08                sub    $0x8,%esp
19356 4000ff64:       c7 04 24 70 00 00 00    movl   $0x70,(%esp)
19357 4000ff6b:       e8 d3 ff ff ff          call   4000ff43 <inb>
19358 4000ff70:       89 c2                   mov    %eax,%edx
19359 4000ff72:       83 e2 80                and    $0xffffff80,%edx
19360 4000ff75:       8b 45 08                mov    0x8(%ebp),%eax
19361 4000ff78:       83 e0 7f                and    $0x7f,%eax
19362 4000ff7b:       09 d0                   or     %edx,%eax
19363 4000ff7d:       0f b6 c0                movzbl %al,%eax
19364 4000ff80:       89 44 24 04             mov    %eax,0x4(%esp)
19365 4000ff84:       c7 04 24 70 00 00 00    movl   $0x70,(%esp)
19366 4000ff8b:       e8 95 ff ff ff          call   4000ff25 <outb>
19367 4000ff90:       8b 45 0c                mov    0xc(%ebp),%eax
19368 4000ff93:       0f b6 c0                movzbl %al,%eax
19369 4000ff96:       89 44 24 04             mov    %eax,0x4(%esp)
19370 4000ff9a:       c7 04 24 71 00 00 00    movl   $0x71,(%esp)
19371 4000ffa1:       e8 7f ff ff ff          call   4000ff25 <outb>
19372 4000ffa6:       c9                      leave  
19373 4000ffa7:       c3                      ret    
19375 4000ffa8 <getlidx_id>:
19376 4000ffa8:       55                      push   %ebp
19377 4000ffa9:       89 e5                   mov    %esp,%ebp
19378 4000ffab:       83 ec 28                sub    $0x28,%esp
19379 4000ffae:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
19380 4000ffb5:       eb 19                   jmp    4000ffd0 <getlidx_id+0x28>
19381 4000ffb7:       8b 45 f8                mov    -0x8(%ebp),%eax
19382 4000ffba:       8b 50 04                mov    0x4(%eax),%edx
19383 4000ffbd:       8b 45 08                mov    0x8(%ebp),%eax
19384 4000ffc0:       39 c2                   cmp    %eax,%edx
19385 4000ffc2:       75 08                   jne    4000ffcc <getlidx_id+0x24>
19386 4000ffc4:       8b 45 fc                mov    -0x4(%ebp),%eax
19387 4000ffc7:       89 45 ec                mov    %eax,-0x14(%ebp)
19388 4000ffca:       eb 29                   jmp    4000fff5 <getlidx_id+0x4d>
19389 4000ffcc:       83 45 fc 01             addl   $0x1,-0x4(%ebp)
19390 4000ffd0:       8b 45 fc                mov    -0x4(%ebp),%eax
19391 4000ffd3:       8b 15 bc 54 01 40       mov    0x400154bc,%edx
19392 4000ffd9:       89 44 24 04             mov    %eax,0x4(%esp)
19393 4000ffdd:       89 14 24                mov    %edx,(%esp)
19394 4000ffe0:       e8 c6 fc ff ff          call   4000fcab <llist_get>
19395 4000ffe5:       89 45 f8                mov    %eax,-0x8(%ebp)
19396 4000ffe8:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
19397 4000ffec:       75 c9                   jne    4000ffb7 <getlidx_id+0xf>
19398 4000ffee:       c7 45 ec ff ff ff ff    movl   $0xffffffff,-0x14(%ebp)
19399 4000fff5:       8b 45 ec                mov    -0x14(%ebp),%eax
19400 4000fff8:       c9                      leave  
19401 4000fff9:       c3                      ret    
19403 4000fffa <devfs_read>:
19404 4000fffa:       55                      push   %ebp
19405 4000fffb:       89 e5                   mov    %esp,%ebp
19406 4000fffd:       83 ec 28                sub    $0x28,%esp
19407 40010000:       8b 45 08                mov    0x8(%ebp),%eax
19408 40010003:       89 04 24                mov    %eax,(%esp)
19409 40010006:       e8 9d ff ff ff          call   4000ffa8 <getlidx_id>
19410 4001000b:       8b 15 bc 54 01 40       mov    0x400154bc,%edx
19411 40010011:       89 44 24 04             mov    %eax,0x4(%esp)
19412 40010015:       89 14 24                mov    %edx,(%esp)
19413 40010018:       e8 8e fc ff ff          call   4000fcab <llist_get>
19414 4001001d:       89 45 fc                mov    %eax,-0x4(%ebp)
19415 40010020:       8b 45 fc                mov    -0x4(%ebp),%eax
19416 40010023:       8b 40 10                mov    0x10(%eax),%eax
19417 40010026:       85 c0                   test   %eax,%eax
19418 40010028:       74 2b                   je     40010055 <devfs_read+0x5b>
19419 4001002a:       8b 45 fc                mov    -0x4(%ebp),%eax
19420 4001002d:       8b 48 10                mov    0x10(%eax),%ecx
19421 40010030:       8b 45 fc                mov    -0x4(%ebp),%eax
19422 40010033:       8b 50 0c                mov    0xc(%eax),%edx
19423 40010036:       8b 45 10                mov    0x10(%ebp),%eax
19424 40010039:       89 44 24 0c             mov    %eax,0xc(%esp)
19425 4001003d:       8b 45 0c                mov    0xc(%ebp),%eax
19426 40010040:       89 44 24 08             mov    %eax,0x8(%esp)
19427 40010044:       89 54 24 04             mov    %edx,0x4(%esp)
19428 40010048:       8b 45 fc                mov    -0x4(%ebp),%eax
19429 4001004b:       89 04 24                mov    %eax,(%esp)
19430 4001004e:       ff d1                   call   *%ecx
19431 40010050:       89 45 ec                mov    %eax,-0x14(%ebp)
19432 40010053:       eb 07                   jmp    4001005c <devfs_read+0x62>
19433 40010055:       c7 45 ec c9 ff ff ff    movl   $0xffffffc9,-0x14(%ebp)
19434 4001005c:       8b 45 ec                mov    -0x14(%ebp),%eax
19435 4001005f:       c9                      leave  
19436 40010060:       c3                      ret    
19438 40010061 <devfs_write>:
19439 40010061:       55                      push   %ebp
19440 40010062:       89 e5                   mov    %esp,%ebp
19441 40010064:       83 ec 28                sub    $0x28,%esp
19442 40010067:       8b 45 08                mov    0x8(%ebp),%eax
19443 4001006a:       89 04 24                mov    %eax,(%esp)
19444 4001006d:       e8 36 ff ff ff          call   4000ffa8 <getlidx_id>
19445 40010072:       8b 15 bc 54 01 40       mov    0x400154bc,%edx
19446 40010078:       89 44 24 04             mov    %eax,0x4(%esp)
19447 4001007c:       89 14 24                mov    %edx,(%esp)
19448 4001007f:       e8 27 fc ff ff          call   4000fcab <llist_get>
19449 40010084:       89 45 fc                mov    %eax,-0x4(%ebp)
19450 40010087:       8b 45 fc                mov    -0x4(%ebp),%eax
19451 4001008a:       8b 40 14                mov    0x14(%eax),%eax
19452 4001008d:       85 c0                   test   %eax,%eax
19453 4001008f:       74 2b                   je     400100bc <devfs_write+0x5b>
19454 40010091:       8b 45 fc                mov    -0x4(%ebp),%eax
19455 40010094:       8b 48 14                mov    0x14(%eax),%ecx
19456 40010097:       8b 45 fc                mov    -0x4(%ebp),%eax
19457 4001009a:       8b 50 0c                mov    0xc(%eax),%edx
19458 4001009d:       8b 45 10                mov    0x10(%ebp),%eax
19459 400100a0:       89 44 24 0c             mov    %eax,0xc(%esp)
19460 400100a4:       8b 45 0c                mov    0xc(%ebp),%eax
19461 400100a7:       89 44 24 08             mov    %eax,0x8(%esp)
19462 400100ab:       89 54 24 04             mov    %edx,0x4(%esp)
19463 400100af:       8b 45 fc                mov    -0x4(%ebp),%eax
19464 400100b2:       89 04 24                mov    %eax,(%esp)
19465 400100b5:       ff d1                   call   *%ecx
19466 400100b7:       89 45 ec                mov    %eax,-0x14(%ebp)
19467 400100ba:       eb 07                   jmp    400100c3 <devfs_write+0x62>
19468 400100bc:       c7 45 ec c9 ff ff ff    movl   $0xffffffc9,-0x14(%ebp)
19469 400100c3:       8b 45 ec                mov    -0x14(%ebp),%eax
19470 400100c6:       c9                      leave  
19471 400100c7:       c3                      ret    
19473 400100c8 <_devfs_func_create>:
19474 400100c8:       55                      push   %ebp
19475 400100c9:       89 e5                   mov    %esp,%ebp
19476 400100cb:       83 ec 28                sub    $0x28,%esp
19477 400100ce:       8b 45 18                mov    0x18(%ebp),%eax
19478 400100d1:       89 44 24 0c             mov    %eax,0xc(%esp)
19479 400100d5:       8b 45 08                mov    0x8(%ebp),%eax
19480 400100d8:       89 44 24 08             mov    %eax,0x8(%esp)
19481 400100dc:       c7 44 24 04 b4 39 01    movl   $0x400139b4,0x4(%esp)
19482 400100e3:       40 
19483 400100e4:       8d 45 f8                lea    -0x8(%ebp),%eax
19484 400100e7:       89 04 24                mov    %eax,(%esp)
19485 400100ea:       e8 19 61 ff ff          call   40006208 <asprintf>
19486 400100ef:       8b 55 f8                mov    -0x8(%ebp),%edx
19487 400100f2:       8b 45 14                mov    0x14(%ebp),%eax
19488 400100f5:       89 44 24 0c             mov    %eax,0xc(%esp)
19489 400100f9:       8b 45 10                mov    0x10(%ebp),%eax
19490 400100fc:       89 44 24 08             mov    %eax,0x8(%esp)
19491 40010100:       8b 45 0c                mov    0xc(%ebp),%eax
19492 40010103:       89 44 24 04             mov    %eax,0x4(%esp)
19493 40010107:       89 14 24                mov    %edx,(%esp)
19494 4001010a:       e8 11 0b 00 00          call   40010c20 <rpc_func_create>
19495 4001010f:       89 45 fc                mov    %eax,-0x4(%ebp)
19496 40010112:       8b 45 f8                mov    -0x8(%ebp),%eax
19497 40010115:       89 04 24                mov    %eax,(%esp)
19498 40010118:       e8 3e c1 ff ff          call   4000c25b <free>
19499 4001011d:       8b 45 fc                mov    -0x4(%ebp),%eax
19500 40010120:       c9                      leave  
19501 40010121:       c3                      ret    
19503 40010122 <devfs_init>:
19504 40010122:       55                      push   %ebp
19505 40010123:       89 e5                   mov    %esp,%ebp
19506 40010125:       83 ec 28                sub    $0x28,%esp
19507 40010128:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
19508 4001012f:       00 
19509 40010130:       c7 04 24 28 00 00 00    movl   $0x28,(%esp)
19510 40010137:       e8 5c 16 00 00          call   40011798 <syscall_call>
19511 4001013c:       89 45 fc                mov    %eax,-0x4(%ebp)
19512 4001013f:       e8 b4 f9 ff ff          call   4000faf8 <llist_create>
19513 40010144:       a3 bc 54 01 40          mov    %eax,0x400154bc
19514 40010149:       8b 45 fc                mov    -0x4(%ebp),%eax
19515 4001014c:       89 44 24 10             mov    %eax,0x10(%esp)
19516 40010150:       c7 44 24 0c 0c 00 00    movl   $0xc,0xc(%esp)
19517 40010157:       00 
19518 40010158:       c7 44 24 08 ba 39 01    movl   $0x400139ba,0x8(%esp)
19519 4001015f:       40 
19520 40010160:       c7 44 24 04 fa ff 00    movl   $0x4000fffa,0x4(%esp)
19521 40010167:       40 
19522 40010168:       c7 04 24 be 39 01 40    movl   $0x400139be,(%esp)
19523 4001016f:       e8 54 ff ff ff          call   400100c8 <_devfs_func_create>
19524 40010174:       8b 45 fc                mov    -0x4(%ebp),%eax
19525 40010177:       89 44 24 10             mov    %eax,0x10(%esp)
19526 4001017b:       c7 44 24 0c 0c 00 00    movl   $0xc,0xc(%esp)
19527 40010182:       00 
19528 40010183:       c7 44 24 08 ba 39 01    movl   $0x400139ba,0x8(%esp)
19529 4001018a:       40 
19530 4001018b:       c7 44 24 04 61 00 01    movl   $0x40010061,0x4(%esp)
19531 40010192:       40 
19532 40010193:       c7 04 24 c9 39 01 40    movl   $0x400139c9,(%esp)
19533 4001019a:       e8 29 ff ff ff          call   400100c8 <_devfs_func_create>
19534 4001019f:       c9                      leave  
19535 400101a0:       c3                      ret    
19537 400101a1 <devfs_createdev>:
19538 400101a1:       55                      push   %ebp
19539 400101a2:       89 e5                   mov    %esp,%ebp
19540 400101a4:       83 ec 28                sub    $0x28,%esp
19541 400101a7:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
19542 400101ae:       00 
19543 400101af:       c7 44 24 04 00 20 00    movl   $0x2000,0x4(%esp)
19544 400101b6:       00 
19545 400101b7:       c7 04 24 00 00 00 00    movl   $0x0,(%esp)
19546 400101be:       e8 55 d0 ff ff          call   4000d218 <shmget>
19547 400101c3:       89 45 f4                mov    %eax,-0xc(%ebp)
19548 400101c6:       83 7d f4 ff             cmpl   $0xffffffff,-0xc(%ebp)
19549 400101ca:       0f 84 d1 00 00 00       je     400102a1 <devfs_createdev+0x100>
19550 400101d0:       8b 45 f4                mov    -0xc(%ebp),%eax
19551 400101d3:       89 44 24 0c             mov    %eax,0xc(%esp)
19552 400101d7:       8b 45 08                mov    0x8(%ebp),%eax
19553 400101da:       89 44 24 08             mov    %eax,0x8(%esp)
19554 400101de:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
19555 400101e5:       00 
19556 400101e6:       c7 04 24 d5 39 01 40    movl   $0x400139d5,(%esp)
19557 400101ed:       e8 f5 0f 00 00          call   400111e7 <rpc_call>
19558 400101f2:       89 45 f8                mov    %eax,-0x8(%ebp)
19559 400101f5:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
19560 400101f9:       0f 88 87 00 00 00       js     40010286 <devfs_createdev+0xe5>
19561 400101ff:       c7 04 24 00 00 00 00    movl   $0x0,(%esp)
19562 40010206:       e8 99 bb ff ff          call   4000bda4 <malloc>
19563 4001020b:       89 45 fc                mov    %eax,-0x4(%ebp)
19564 4001020e:       8b 45 08                mov    0x8(%ebp),%eax
19565 40010211:       89 04 24                mov    %eax,(%esp)
19566 40010214:       e8 54 f2 ff ff          call   4000f46d <strdup>
19567 40010219:       89 c2                   mov    %eax,%edx
19568 4001021b:       8b 45 fc                mov    -0x4(%ebp),%eax
19569 4001021e:       89 10                   mov    %edx,(%eax)
19570 40010220:       8b 55 f8                mov    -0x8(%ebp),%edx
19571 40010223:       8b 45 fc                mov    -0x4(%ebp),%eax
19572 40010226:       89 50 04                mov    %edx,0x4(%eax)
19573 40010229:       8b 55 fc                mov    -0x4(%ebp),%edx
19574 4001022c:       8b 45 f4                mov    -0xc(%ebp),%eax
19575 4001022f:       89 42 08                mov    %eax,0x8(%edx)
19576 40010232:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
19577 40010239:       00 
19578 4001023a:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
19579 40010241:       00 
19580 40010242:       8b 45 f4                mov    -0xc(%ebp),%eax
19581 40010245:       89 04 24                mov    %eax,(%esp)
19582 40010248:       e8 87 d0 ff ff          call   4000d2d4 <shmat>
19583 4001024d:       89 c2                   mov    %eax,%edx
19584 4001024f:       8b 45 fc                mov    -0x4(%ebp),%eax
19585 40010252:       89 50 0c                mov    %edx,0xc(%eax)
19586 40010255:       8b 45 fc                mov    -0x4(%ebp),%eax
19587 40010258:       c7 40 10 00 00 00 00    movl   $0x0,0x10(%eax)
19588 4001025f:       8b 45 fc                mov    -0x4(%ebp),%eax
19589 40010262:       c7 40 14 00 00 00 00    movl   $0x0,0x14(%eax)
19590 40010269:       8b 15 bc 54 01 40       mov    0x400154bc,%edx
19591 4001026f:       8b 45 fc                mov    -0x4(%ebp),%eax
19592 40010272:       89 44 24 04             mov    %eax,0x4(%esp)
19593 40010276:       89 14 24                mov    %edx,(%esp)
19594 40010279:       e8 f5 f8 ff ff          call   4000fb73 <llist_push>
19595 4001027e:       8b 45 fc                mov    -0x4(%ebp),%eax
19596 40010281:       89 45 ec                mov    %eax,-0x14(%ebp)
19597 40010284:       eb 22                   jmp    400102a8 <devfs_createdev+0x107>
19598 40010286:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
19599 4001028d:       00 
19600 4001028e:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
19601 40010295:       00 
19602 40010296:       8b 45 f4                mov    -0xc(%ebp),%eax
19603 40010299:       89 04 24                mov    %eax,(%esp)
19604 4001029c:       e8 26 d1 ff ff          call   4000d3c7 <shmctl>
19605 400102a1:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
19606 400102a8:       8b 45 ec                mov    -0x14(%ebp),%eax
19607 400102ab:       c9                      leave  
19608 400102ac:       c3                      ret    
19610 400102ad <devfs_removedev>:
19611 400102ad:       55                      push   %ebp
19612 400102ae:       89 e5                   mov    %esp,%ebp
19613 400102b0:       83 ec 28                sub    $0x28,%esp
19614 400102b3:       8b 45 08                mov    0x8(%ebp),%eax
19615 400102b6:       8b 40 04                mov    0x4(%eax),%eax
19616 400102b9:       89 44 24 08             mov    %eax,0x8(%esp)
19617 400102bd:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
19618 400102c4:       00 
19619 400102c5:       c7 04 24 e5 39 01 40    movl   $0x400139e5,(%esp)
19620 400102cc:       e8 16 0f 00 00          call   400111e7 <rpc_call>
19621 400102d1:       89 45 fc                mov    %eax,-0x4(%ebp)
19622 400102d4:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
19623 400102d8:       78 64                   js     4001033e <devfs_removedev+0x91>
19624 400102da:       8b 45 08                mov    0x8(%ebp),%eax
19625 400102dd:       8b 40 04                mov    0x4(%eax),%eax
19626 400102e0:       89 04 24                mov    %eax,(%esp)
19627 400102e3:       e8 c0 fc ff ff          call   4000ffa8 <getlidx_id>
19628 400102e8:       8b 15 bc 54 01 40       mov    0x400154bc,%edx
19629 400102ee:       89 44 24 04             mov    %eax,0x4(%esp)
19630 400102f2:       89 14 24                mov    %edx,(%esp)
19631 400102f5:       e8 83 fa ff ff          call   4000fd7d <llist_remove>
19632 400102fa:       8b 45 08                mov    0x8(%ebp),%eax
19633 400102fd:       8b 40 0c                mov    0xc(%eax),%eax
19634 40010300:       89 04 24                mov    %eax,(%esp)
19635 40010303:       e8 4f d0 ff ff          call   4000d357 <shmdt>
19636 40010308:       8b 45 08                mov    0x8(%ebp),%eax
19637 4001030b:       8b 40 08                mov    0x8(%eax),%eax
19638 4001030e:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
19639 40010315:       00 
19640 40010316:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
19641 4001031d:       00 
19642 4001031e:       89 04 24                mov    %eax,(%esp)
19643 40010321:       e8 a1 d0 ff ff          call   4000d3c7 <shmctl>
19644 40010326:       8b 45 08                mov    0x8(%ebp),%eax
19645 40010329:       8b 00                   mov    (%eax),%eax
19646 4001032b:       89 04 24                mov    %eax,(%esp)
19647 4001032e:       e8 28 bf ff ff          call   4000c25b <free>
19648 40010333:       8b 45 08                mov    0x8(%ebp),%eax
19649 40010336:       89 04 24                mov    %eax,(%esp)
19650 40010339:       e8 1d bf ff ff          call   4000c25b <free>
19651 4001033e:       8b 45 fc                mov    -0x4(%ebp),%eax
19652 40010341:       c9                      leave  
19653 40010342:       c3                      ret    
19654 40010343:       90                      nop    
19656 40010344 <_libmeinos_init>:
19657 40010344:       55                      push   %ebp
19658 40010345:       89 e5                   mov    %esp,%ebp
19659 40010347:       83 ec 08                sub    $0x8,%esp
19660 4001034a:       e8 d1 1d 00 00          call   40012120 <_irq_init>
19661 4001034f:       c9                      leave  
19662 40010350:       c3                      ret    
19664 40010351 <vfs_mount>:
19665 40010351:       55                      push   %ebp
19666 40010352:       89 e5                   mov    %esp,%ebp
19667 40010354:       83 ec 28                sub    $0x28,%esp
19668 40010357:       8b 45 08                mov    0x8(%ebp),%eax
19669 4001035a:       89 44 24 08             mov    %eax,0x8(%esp)
19670 4001035e:       c7 44 24 04 f5 39 01    movl   $0x400139f5,0x4(%esp)
19671 40010365:       40 
19672 40010366:       8d 45 f8                lea    -0x8(%ebp),%eax
19673 40010369:       89 04 24                mov    %eax,(%esp)
19674 4001036c:       e8 97 5e ff ff          call   40006208 <asprintf>
19675 40010371:       83 7d 10 00             cmpl   $0x0,0x10(%ebp)
19676 40010375:       75 07                   jne    4001037e <vfs_mount+0x2d>
19677 40010377:       c7 45 10 fe 39 01 40    movl   $0x400139fe,0x10(%ebp)
19678 4001037e:       8b 55 f8                mov    -0x8(%ebp),%edx
19679 40010381:       8b 45 14                mov    0x14(%ebp),%eax
19680 40010384:       89 44 24 14             mov    %eax,0x14(%esp)
19681 40010388:       8b 45 10                mov    0x10(%ebp),%eax
19682 4001038b:       89 44 24 10             mov    %eax,0x10(%esp)
19683 4001038f:       8b 45 0c                mov    0xc(%ebp),%eax
19684 40010392:       89 44 24 0c             mov    %eax,0xc(%esp)
19685 40010396:       8b 45 08                mov    0x8(%ebp),%eax
19686 40010399:       89 44 24 08             mov    %eax,0x8(%esp)
19687 4001039d:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
19688 400103a4:       00 
19689 400103a5:       89 14 24                mov    %edx,(%esp)
19690 400103a8:       e8 3a 0e 00 00          call   400111e7 <rpc_call>
19691 400103ad:       89 45 fc                mov    %eax,-0x4(%ebp)
19692 400103b0:       8b 45 f8                mov    -0x8(%ebp),%eax
19693 400103b3:       89 04 24                mov    %eax,(%esp)
19694 400103b6:       e8 a0 be ff ff          call   4000c25b <free>
19695 400103bb:       8b 45 fc                mov    -0x4(%ebp),%eax
19696 400103be:       c9                      leave  
19697 400103bf:       c3                      ret    
19699 400103c0 <vfs_unmount>:
19700 400103c0:       55                      push   %ebp
19701 400103c1:       89 e5                   mov    %esp,%ebp
19702 400103c3:       83 ec 28                sub    $0x28,%esp
19703 400103c6:       8b 45 08                mov    0x8(%ebp),%eax
19704 400103c9:       89 44 24 08             mov    %eax,0x8(%esp)
19705 400103cd:       c7 44 24 04 ff 39 01    movl   $0x400139ff,0x4(%esp)
19706 400103d4:       40 
19707 400103d5:       8d 45 f8                lea    -0x8(%ebp),%eax
19708 400103d8:       89 04 24                mov    %eax,(%esp)
19709 400103db:       e8 28 5e ff ff          call   40006208 <asprintf>
19710 400103e0:       8b 55 f8                mov    -0x8(%ebp),%edx
19711 400103e3:       8b 45 0c                mov    0xc(%ebp),%eax
19712 400103e6:       89 44 24 0c             mov    %eax,0xc(%esp)
19713 400103ea:       8b 45 08                mov    0x8(%ebp),%eax
19714 400103ed:       89 44 24 08             mov    %eax,0x8(%esp)
19715 400103f1:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
19716 400103f8:       00 
19717 400103f9:       89 14 24                mov    %edx,(%esp)
19718 400103fc:       e8 e6 0d 00 00          call   400111e7 <rpc_call>
19719 40010401:       89 45 fc                mov    %eax,-0x4(%ebp)
19720 40010404:       8b 45 f8                mov    -0x8(%ebp),%eax
19721 40010407:       89 04 24                mov    %eax,(%esp)
19722 4001040a:       e8 4c be ff ff          call   4000c25b <free>
19723 4001040f:       8b 45 fc                mov    -0x4(%ebp),%eax
19724 40010412:       c9                      leave  
19725 40010413:       c3                      ret    
19727 40010414 <path_parse>:
19728 40010414:       55                      push   %ebp
19729 40010415:       89 e5                   mov    %esp,%ebp
19730 40010417:       83 ec 28                sub    $0x28,%esp
19731 4001041a:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
19732 4001041e:       75 0c                   jne    4001042c <path_parse+0x18>
19733 40010420:       c7 45 dc 00 00 00 00    movl   $0x0,-0x24(%ebp)
19734 40010427:       e9 08 01 00 00          jmp    40010534 <path_parse+0x120>
19735 4001042c:       c7 45 f0 01 00 00 00    movl   $0x1,-0x10(%ebp)
19736 40010433:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
19737 4001043a:       eb 17                   jmp    40010453 <path_parse+0x3f>
19738 4001043c:       8b 55 ec                mov    -0x14(%ebp),%edx
19739 4001043f:       8b 45 08                mov    0x8(%ebp),%eax
19740 40010442:       01 d0                   add    %edx,%eax
19741 40010444:       0f b6 00                movzbl (%eax),%eax
19742 40010447:       3c 2f                   cmp    $0x2f,%al
19743 40010449:       75 04                   jne    4001044f <path_parse+0x3b>
19744 4001044b:       83 45 f0 01             addl   $0x1,-0x10(%ebp)
19745 4001044f:       83 45 ec 01             addl   $0x1,-0x14(%ebp)
19746 40010453:       8b 55 ec                mov    -0x14(%ebp),%edx
19747 40010456:       8b 45 08                mov    0x8(%ebp),%eax
19748 40010459:       01 d0                   add    %edx,%eax
19749 4001045b:       0f b6 00                movzbl (%eax),%eax
19750 4001045e:       84 c0                   test   %al,%al
19751 40010460:       75 da                   jne    4001043c <path_parse+0x28>
19752 40010462:       c7 04 24 10 00 00 00    movl   $0x10,(%esp)
19753 40010469:       e8 36 b9 ff ff          call   4000bda4 <malloc>
19754 4001046e:       89 45 f4                mov    %eax,-0xc(%ebp)
19755 40010471:       8b 55 f4                mov    -0xc(%ebp),%edx
19756 40010474:       8b 45 f0                mov    -0x10(%ebp),%eax
19757 40010477:       89 02                   mov    %eax,(%edx)
19758 40010479:       8b 45 08                mov    0x8(%ebp),%eax
19759 4001047c:       89 04 24                mov    %eax,(%esp)
19760 4001047f:       e8 e9 ef ff ff          call   4000f46d <strdup>
19761 40010484:       89 c2                   mov    %eax,%edx
19762 40010486:       8b 45 f4                mov    -0xc(%ebp),%eax
19763 40010489:       89 50 08                mov    %edx,0x8(%eax)
19764 4001048c:       8b 45 f0                mov    -0x10(%ebp),%eax
19765 4001048f:       c1 e0 02                shl    $0x2,%eax
19766 40010492:       89 04 24                mov    %eax,(%esp)
19767 40010495:       e8 0a b9 ff ff          call   4000bda4 <malloc>
19768 4001049a:       89 c2                   mov    %eax,%edx
19769 4001049c:       8b 45 f4                mov    -0xc(%ebp),%eax
19770 4001049f:       89 50 04                mov    %edx,0x4(%eax)
19771 400104a2:       8b 45 08                mov    0x8(%ebp),%eax
19772 400104a5:       0f b6 00                movzbl (%eax),%eax
19773 400104a8:       3c 2f                   cmp    $0x2f,%al
19774 400104aa:       0f 94 c0                sete   %al
19775 400104ad:       0f b6 d0                movzbl %al,%edx
19776 400104b0:       8b 45 f4                mov    -0xc(%ebp),%eax
19777 400104b3:       89 50 0c                mov    %edx,0xc(%eax)
19778 400104b6:       8b 45 f4                mov    -0xc(%ebp),%eax
19779 400104b9:       8b 40 08                mov    0x8(%eax),%eax
19780 400104bc:       89 45 f8                mov    %eax,-0x8(%ebp)
19781 400104bf:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
19782 400104c6:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
19783 400104cd:       eb 57                   jmp    40010526 <path_parse+0x112>
19784 400104cf:       83 45 fc 01             addl   $0x1,-0x4(%ebp)
19785 400104d3:       8b 45 f4                mov    -0xc(%ebp),%eax
19786 400104d6:       8b 40 08                mov    0x8(%eax),%eax
19787 400104d9:       03 45 fc                add    -0x4(%ebp),%eax
19788 400104dc:       0f b6 00                movzbl (%eax),%eax
19789 400104df:       3c 2f                   cmp    $0x2f,%al
19790 400104e1:       74 10                   je     400104f3 <path_parse+0xdf>
19791 400104e3:       8b 45 f4                mov    -0xc(%ebp),%eax
19792 400104e6:       8b 40 08                mov    0x8(%eax),%eax
19793 400104e9:       03 45 fc                add    -0x4(%ebp),%eax
19794 400104ec:       0f b6 00                movzbl (%eax),%eax
19795 400104ef:       84 c0                   test   %al,%al
19796 400104f1:       75 dc                   jne    400104cf <path_parse+0xbb>
19797 400104f3:       8b 45 f4                mov    -0xc(%ebp),%eax
19798 400104f6:       8b 50 04                mov    0x4(%eax),%edx
19799 400104f9:       8b 45 ec                mov    -0x14(%ebp),%eax
19800 400104fc:       c1 e0 02                shl    $0x2,%eax
19801 400104ff:       01 c2                   add    %eax,%edx
19802 40010501:       8b 45 f8                mov    -0x8(%ebp),%eax
19803 40010504:       89 02                   mov    %eax,(%edx)
19804 40010506:       8b 45 f4                mov    -0xc(%ebp),%eax
19805 40010509:       8b 40 08                mov    0x8(%eax),%eax
19806 4001050c:       03 45 fc                add    -0x4(%ebp),%eax
19807 4001050f:       c6 00 00                movb   $0x0,(%eax)
19808 40010512:       83 45 fc 01             addl   $0x1,-0x4(%ebp)
19809 40010516:       8b 45 f4                mov    -0xc(%ebp),%eax
19810 40010519:       8b 40 08                mov    0x8(%eax),%eax
19811 4001051c:       03 45 fc                add    -0x4(%ebp),%eax
19812 4001051f:       89 45 f8                mov    %eax,-0x8(%ebp)
19813 40010522:       83 45 ec 01             addl   $0x1,-0x14(%ebp)
19814 40010526:       8b 45 ec                mov    -0x14(%ebp),%eax
19815 40010529:       3b 45 f0                cmp    -0x10(%ebp),%eax
19816 4001052c:       72 a5                   jb     400104d3 <path_parse+0xbf>
19817 4001052e:       8b 45 f4                mov    -0xc(%ebp),%eax
19818 40010531:       89 45 dc                mov    %eax,-0x24(%ebp)
19819 40010534:       8b 45 dc                mov    -0x24(%ebp),%eax
19820 40010537:       c9                      leave  
19821 40010538:       c3                      ret    
19823 40010539 <path_destroy>:
19824 40010539:       55                      push   %ebp
19825 4001053a:       89 e5                   mov    %esp,%ebp
19826 4001053c:       83 ec 08                sub    $0x8,%esp
19827 4001053f:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
19828 40010543:       74 27                   je     4001056c <path_destroy+0x33>
19829 40010545:       8b 45 08                mov    0x8(%ebp),%eax
19830 40010548:       8b 40 04                mov    0x4(%eax),%eax
19831 4001054b:       89 04 24                mov    %eax,(%esp)
19832 4001054e:       e8 08 bd ff ff          call   4000c25b <free>
19833 40010553:       8b 45 08                mov    0x8(%ebp),%eax
19834 40010556:       8b 40 08                mov    0x8(%eax),%eax
19835 40010559:       89 04 24                mov    %eax,(%esp)
19836 4001055c:       e8 fa bc ff ff          call   4000c25b <free>
19837 40010561:       8b 45 08                mov    0x8(%ebp),%eax
19838 40010564:       89 04 24                mov    %eax,(%esp)
19839 40010567:       e8 ef bc ff ff          call   4000c25b <free>
19840 4001056c:       c9                      leave  
19841 4001056d:       c3                      ret    
19843 4001056e <path_reject_dots>:
19844 4001056e:       55                      push   %ebp
19845 4001056f:       89 e5                   mov    %esp,%ebp
19846 40010571:       83 ec 28                sub    $0x28,%esp
19847 40010574:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
19848 40010578:       0f 84 60 01 00 00       je     400106de <path_reject_dots+0x170>
19849 4001057e:       c7 45 f8 00 00 00 00    movl   $0x0,-0x8(%ebp)
19850 40010585:       e9 46 01 00 00          jmp    400106d0 <path_reject_dots+0x162>
19851 4001058a:       8b 45 08                mov    0x8(%ebp),%eax
19852 4001058d:       8b 50 04                mov    0x4(%eax),%edx
19853 40010590:       8b 45 f8                mov    -0x8(%ebp),%eax
19854 40010593:       c1 e0 02                shl    $0x2,%eax
19855 40010596:       8d 04 02                lea    (%edx,%eax,1),%eax
19856 40010599:       8b 00                   mov    (%eax),%eax
19857 4001059b:       c7 44 24 04 0a 3a 01    movl   $0x40013a0a,0x4(%esp)
19858 400105a2:       40 
19859 400105a3:       89 04 24                mov    %eax,(%esp)
19860 400105a6:       e8 ed ed ff ff          call   4000f398 <strcmp>
19861 400105ab:       85 c0                   test   %eax,%eax
19862 400105ad:       75 45                   jne    400105f4 <path_reject_dots+0x86>
19863 400105af:       8b 45 08                mov    0x8(%ebp),%eax
19864 400105b2:       8b 50 04                mov    0x4(%eax),%edx
19865 400105b5:       8b 45 f8                mov    -0x8(%ebp),%eax
19866 400105b8:       c1 e0 02                shl    $0x2,%eax
19867 400105bb:       8d 04 02                lea    (%edx,%eax,1),%eax
19868 400105be:       8b 00                   mov    (%eax),%eax
19869 400105c0:       89 04 24                mov    %eax,(%esp)
19870 400105c3:       e8 f0 ee ff ff          call   4000f4b8 <strlen>
19871 400105c8:       89 c1                   mov    %eax,%ecx
19872 400105ca:       8b 45 08                mov    0x8(%ebp),%eax
19873 400105cd:       8b 50 04                mov    0x4(%eax),%edx
19874 400105d0:       8b 45 f8                mov    -0x8(%ebp),%eax
19875 400105d3:       c1 e0 02                shl    $0x2,%eax
19876 400105d6:       8d 04 02                lea    (%edx,%eax,1),%eax
19877 400105d9:       8b 00                   mov    (%eax),%eax
19878 400105db:       89 4c 24 08             mov    %ecx,0x8(%esp)
19879 400105df:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
19880 400105e6:       00 
19881 400105e7:       89 04 24                mov    %eax,(%esp)
19882 400105ea:       e8 ee ec ff ff          call   4000f2dd <memset>
19883 400105ef:       e9 d8 00 00 00          jmp    400106cc <path_reject_dots+0x15e>
19884 400105f4:       8b 45 08                mov    0x8(%ebp),%eax
19885 400105f7:       8b 50 04                mov    0x4(%eax),%edx
19886 400105fa:       8b 45 f8                mov    -0x8(%ebp),%eax
19887 400105fd:       c1 e0 02                shl    $0x2,%eax
19888 40010600:       8d 04 02                lea    (%edx,%eax,1),%eax
19889 40010603:       8b 00                   mov    (%eax),%eax
19890 40010605:       c7 44 24 04 0c 3a 01    movl   $0x40013a0c,0x4(%esp)
19891 4001060c:       40 
19892 4001060d:       89 04 24                mov    %eax,(%esp)
19893 40010610:       e8 83 ed ff ff          call   4000f398 <strcmp>
19894 40010615:       85 c0                   test   %eax,%eax
19895 40010617:       0f 85 af 00 00 00       jne    400106cc <path_reject_dots+0x15e>
19896 4001061d:       8b 45 08                mov    0x8(%ebp),%eax
19897 40010620:       8b 50 04                mov    0x4(%eax),%edx
19898 40010623:       8b 45 f8                mov    -0x8(%ebp),%eax
19899 40010626:       c1 e0 02                shl    $0x2,%eax
19900 40010629:       8d 04 02                lea    (%edx,%eax,1),%eax
19901 4001062c:       8b 00                   mov    (%eax),%eax
19902 4001062e:       89 04 24                mov    %eax,(%esp)
19903 40010631:       e8 82 ee ff ff          call   4000f4b8 <strlen>
19904 40010636:       89 c1                   mov    %eax,%ecx
19905 40010638:       8b 45 08                mov    0x8(%ebp),%eax
19906 4001063b:       8b 50 04                mov    0x4(%eax),%edx
19907 4001063e:       8b 45 f8                mov    -0x8(%ebp),%eax
19908 40010641:       c1 e0 02                shl    $0x2,%eax
19909 40010644:       8d 04 02                lea    (%edx,%eax,1),%eax
19910 40010647:       8b 00                   mov    (%eax),%eax
19911 40010649:       89 4c 24 08             mov    %ecx,0x8(%esp)
19912 4001064d:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
19913 40010654:       00 
19914 40010655:       89 04 24                mov    %eax,(%esp)
19915 40010658:       e8 80 ec ff ff          call   4000f2dd <memset>
19916 4001065d:       8b 45 f8                mov    -0x8(%ebp),%eax
19917 40010660:       83 e8 01                sub    $0x1,%eax
19918 40010663:       89 45 fc                mov    %eax,-0x4(%ebp)
19919 40010666:       eb 5e                   jmp    400106c6 <path_reject_dots+0x158>
19920 40010668:       8b 45 08                mov    0x8(%ebp),%eax
19921 4001066b:       8b 50 04                mov    0x4(%eax),%edx
19922 4001066e:       8b 45 fc                mov    -0x4(%ebp),%eax
19923 40010671:       c1 e0 02                shl    $0x2,%eax
19924 40010674:       8d 04 02                lea    (%edx,%eax,1),%eax
19925 40010677:       8b 00                   mov    (%eax),%eax
19926 40010679:       0f b6 00                movzbl (%eax),%eax
19927 4001067c:       84 c0                   test   %al,%al
19928 4001067e:       74 42                   je     400106c2 <path_reject_dots+0x154>
19929 40010680:       8b 45 08                mov    0x8(%ebp),%eax
19930 40010683:       8b 50 04                mov    0x4(%eax),%edx
19931 40010686:       8b 45 fc                mov    -0x4(%ebp),%eax
19932 40010689:       c1 e0 02                shl    $0x2,%eax
19933 4001068c:       8d 04 02                lea    (%edx,%eax,1),%eax
19934 4001068f:       8b 00                   mov    (%eax),%eax
19935 40010691:       89 04 24                mov    %eax,(%esp)
19936 40010694:       e8 1f ee ff ff          call   4000f4b8 <strlen>
19937 40010699:       89 c1                   mov    %eax,%ecx
19938 4001069b:       8b 45 08                mov    0x8(%ebp),%eax
19939 4001069e:       8b 50 04                mov    0x4(%eax),%edx
19940 400106a1:       8b 45 fc                mov    -0x4(%ebp),%eax
19941 400106a4:       c1 e0 02                shl    $0x2,%eax
19942 400106a7:       8d 04 02                lea    (%edx,%eax,1),%eax
19943 400106aa:       8b 00                   mov    (%eax),%eax
19944 400106ac:       89 4c 24 08             mov    %ecx,0x8(%esp)
19945 400106b0:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
19946 400106b7:       00 
19947 400106b8:       89 04 24                mov    %eax,(%esp)
19948 400106bb:       e8 1d ec ff ff          call   4000f2dd <memset>
19949 400106c0:       eb 0a                   jmp    400106cc <path_reject_dots+0x15e>
19950 400106c2:       83 6d fc 01             subl   $0x1,-0x4(%ebp)
19951 400106c6:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
19952 400106ca:       79 9c                   jns    40010668 <path_reject_dots+0xfa>
19953 400106cc:       83 45 f8 01             addl   $0x1,-0x8(%ebp)
19954 400106d0:       8b 45 08                mov    0x8(%ebp),%eax
19955 400106d3:       8b 00                   mov    (%eax),%eax
19956 400106d5:       3b 45 f8                cmp    -0x8(%ebp),%eax
19957 400106d8:       0f 87 ac fe ff ff       ja     4001058a <path_reject_dots+0x1c>
19958 400106de:       c9                      leave  
19959 400106df:       c3                      ret    
19961 400106e0 <path_output>:
19962 400106e0:       55                      push   %ebp
19963 400106e1:       89 e5                   mov    %esp,%ebp
19964 400106e3:       83 ec 38                sub    $0x38,%esp
19965 400106e6:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
19966 400106ea:       75 0c                   jne    400106f8 <path_output+0x18>
19967 400106ec:       c7 45 dc 00 00 00 00    movl   $0x0,-0x24(%ebp)
19968 400106f3:       e9 bd 01 00 00          jmp    400108b5 <path_output+0x1d5>
19969 400106f8:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
19970 400106ff:       c7 45 f0 00 00 00 00    movl   $0x0,-0x10(%ebp)
19971 40010706:       eb 20                   jmp    40010728 <path_output+0x48>
19972 40010708:       8b 45 08                mov    0x8(%ebp),%eax
19973 4001070b:       8b 50 04                mov    0x4(%eax),%edx
19974 4001070e:       8b 45 f0                mov    -0x10(%ebp),%eax
19975 40010711:       c1 e0 02                shl    $0x2,%eax
19976 40010714:       8d 04 02                lea    (%edx,%eax,1),%eax
19977 40010717:       8b 00                   mov    (%eax),%eax
19978 40010719:       0f b6 00                movzbl (%eax),%eax
19979 4001071c:       84 c0                   test   %al,%al
19980 4001071e:       74 04                   je     40010724 <path_output+0x44>
19981 40010720:       83 45 ec 01             addl   $0x1,-0x14(%ebp)
19982 40010724:       83 45 f0 01             addl   $0x1,-0x10(%ebp)
19983 40010728:       8b 45 08                mov    0x8(%ebp),%eax
19984 4001072b:       8b 00                   mov    (%eax),%eax
19985 4001072d:       3b 45 f0                cmp    -0x10(%ebp),%eax
19986 40010730:       77 d6                   ja     40010708 <path_output+0x28>
19987 40010732:       83 7d ec 00             cmpl   $0x0,-0x14(%ebp)
19988 40010736:       0f 84 4c 01 00 00       je     40010888 <path_output+0x1a8>
19989 4001073c:       c7 45 f4 00 00 00 00    movl   $0x0,-0xc(%ebp)
19990 40010743:       83 7d 0c 00             cmpl   $0x0,0xc(%ebp)
19991 40010747:       75 5d                   jne    400107a6 <path_output+0xc6>
19992 40010749:       8b 45 08                mov    0x8(%ebp),%eax
19993 4001074c:       8b 10                   mov    (%eax),%edx
19994 4001074e:       8b 45 08                mov    0x8(%ebp),%eax
19995 40010751:       8b 40 0c                mov    0xc(%eax),%eax
19996 40010754:       85 c0                   test   %eax,%eax
19997 40010756:       0f 95 c0                setne  %al
19998 40010759:       0f b6 c0                movzbl %al,%eax
19999 4001075c:       8d 04 02                lea    (%edx,%eax,1),%eax
20000 4001075f:       83 c0 01                add    $0x1,%eax
20001 40010762:       89 45 f8                mov    %eax,-0x8(%ebp)
20002 40010765:       c7 45 f0 00 00 00 00    movl   $0x0,-0x10(%ebp)
20003 4001076c:       eb 20                   jmp    4001078e <path_output+0xae>
20004 4001076e:       8b 45 08                mov    0x8(%ebp),%eax
20005 40010771:       8b 50 04                mov    0x4(%eax),%edx
20006 40010774:       8b 45 f0                mov    -0x10(%ebp),%eax
20007 40010777:       c1 e0 02                shl    $0x2,%eax
20008 4001077a:       8d 04 02                lea    (%edx,%eax,1),%eax
20009 4001077d:       8b 00                   mov    (%eax),%eax
20010 4001077f:       89 04 24                mov    %eax,(%esp)
20011 40010782:       e8 31 ed ff ff          call   4000f4b8 <strlen>
20012 40010787:       01 45 f8                add    %eax,-0x8(%ebp)
20013 4001078a:       83 45 f0 01             addl   $0x1,-0x10(%ebp)
20014 4001078e:       8b 45 08                mov    0x8(%ebp),%eax
20015 40010791:       8b 00                   mov    (%eax),%eax
20016 40010793:       3b 45 f0                cmp    -0x10(%ebp),%eax
20017 40010796:       77 d6                   ja     4001076e <path_output+0x8e>
20018 40010798:       8b 45 f8                mov    -0x8(%ebp),%eax
20019 4001079b:       89 04 24                mov    %eax,(%esp)
20020 4001079e:       e8 01 b6 ff ff          call   4000bda4 <malloc>
20021 400107a3:       89 45 0c                mov    %eax,0xc(%ebp)
20022 400107a6:       8b 45 08                mov    0x8(%ebp),%eax
20023 400107a9:       8b 40 0c                mov    0xc(%eax),%eax
20024 400107ac:       85 c0                   test   %eax,%eax
20025 400107ae:       74 1f                   je     400107cf <path_output+0xef>
20026 400107b0:       8b 45 08                mov    0x8(%ebp),%eax
20027 400107b3:       8b 40 04                mov    0x4(%eax),%eax
20028 400107b6:       8b 00                   mov    (%eax),%eax
20029 400107b8:       0f b6 00                movzbl (%eax),%eax
20030 400107bb:       84 c0                   test   %al,%al
20031 400107bd:       74 10                   je     400107cf <path_output+0xef>
20032 400107bf:       8b 45 f4                mov    -0xc(%ebp),%eax
20033 400107c2:       8b 55 0c                mov    0xc(%ebp),%edx
20034 400107c5:       8d 04 02                lea    (%edx,%eax,1),%eax
20035 400107c8:       c6 00 2f                movb   $0x2f,(%eax)
20036 400107cb:       83 45 f4 01             addl   $0x1,-0xc(%ebp)
20037 400107cf:       c7 45 f0 00 00 00 00    movl   $0x0,-0x10(%ebp)
20038 400107d6:       e9 8b 00 00 00          jmp    40010866 <path_output+0x186>
20039 400107db:       8b 45 08                mov    0x8(%ebp),%eax
20040 400107de:       8b 50 04                mov    0x4(%eax),%edx
20041 400107e1:       8b 45 f0                mov    -0x10(%ebp),%eax
20042 400107e4:       c1 e0 02                shl    $0x2,%eax
20043 400107e7:       8d 04 02                lea    (%edx,%eax,1),%eax
20044 400107ea:       8b 00                   mov    (%eax),%eax
20045 400107ec:       89 04 24                mov    %eax,(%esp)
20046 400107ef:       e8 c4 ec ff ff          call   4000f4b8 <strlen>
20047 400107f4:       89 45 fc                mov    %eax,-0x4(%ebp)
20048 400107f7:       8b 45 08                mov    0x8(%ebp),%eax
20049 400107fa:       8b 50 04                mov    0x4(%eax),%edx
20050 400107fd:       8b 45 f0                mov    -0x10(%ebp),%eax
20051 40010800:       c1 e0 02                shl    $0x2,%eax
20052 40010803:       8d 04 02                lea    (%edx,%eax,1),%eax
20053 40010806:       8b 08                   mov    (%eax),%ecx
20054 40010808:       8b 55 f4                mov    -0xc(%ebp),%edx
20055 4001080b:       8b 45 0c                mov    0xc(%ebp),%eax
20056 4001080e:       8d 14 10                lea    (%eax,%edx,1),%edx
20057 40010811:       8b 45 fc                mov    -0x4(%ebp),%eax
20058 40010814:       89 44 24 08             mov    %eax,0x8(%esp)
20059 40010818:       89 4c 24 04             mov    %ecx,0x4(%esp)
20060 4001081c:       89 14 24                mov    %edx,(%esp)
20061 4001081f:       e8 dc e8 ff ff          call   4000f100 <memcpy>
20062 40010824:       8b 45 fc                mov    -0x4(%ebp),%eax
20063 40010827:       01 45 f4                add    %eax,-0xc(%ebp)
20064 4001082a:       8b 45 08                mov    0x8(%ebp),%eax
20065 4001082d:       8b 00                   mov    (%eax),%eax
20066 4001082f:       83 e8 01                sub    $0x1,%eax
20067 40010832:       3b 45 f0                cmp    -0x10(%ebp),%eax
20068 40010835:       76 2b                   jbe    40010862 <path_output+0x182>
20069 40010837:       8b 45 08                mov    0x8(%ebp),%eax
20070 4001083a:       8b 50 04                mov    0x4(%eax),%edx
20071 4001083d:       8b 45 f0                mov    -0x10(%ebp),%eax
20072 40010840:       83 c0 01                add    $0x1,%eax
20073 40010843:       c1 e0 02                shl    $0x2,%eax
20074 40010846:       8d 04 02                lea    (%edx,%eax,1),%eax
20075 40010849:       8b 00                   mov    (%eax),%eax
20076 4001084b:       0f b6 00                movzbl (%eax),%eax
20077 4001084e:       84 c0                   test   %al,%al
20078 40010850:       74 10                   je     40010862 <path_output+0x182>
20079 40010852:       8b 45 f4                mov    -0xc(%ebp),%eax
20080 40010855:       8b 55 0c                mov    0xc(%ebp),%edx
20081 40010858:       8d 04 02                lea    (%edx,%eax,1),%eax
20082 4001085b:       c6 00 2f                movb   $0x2f,(%eax)
20083 4001085e:       83 45 f4 01             addl   $0x1,-0xc(%ebp)
20084 40010862:       83 45 f0 01             addl   $0x1,-0x10(%ebp)
20085 40010866:       8b 45 08                mov    0x8(%ebp),%eax
20086 40010869:       8b 00                   mov    (%eax),%eax
20087 4001086b:       3b 45 f0                cmp    -0x10(%ebp),%eax
20088 4001086e:       0f 87 67 ff ff ff       ja     400107db <path_output+0xfb>
20089 40010874:       8b 45 f4                mov    -0xc(%ebp),%eax
20090 40010877:       8b 55 0c                mov    0xc(%ebp),%edx
20091 4001087a:       8d 04 02                lea    (%edx,%eax,1),%eax
20092 4001087d:       c6 00 00                movb   $0x0,(%eax)
20093 40010880:       8b 45 0c                mov    0xc(%ebp),%eax
20094 40010883:       89 45 dc                mov    %eax,-0x24(%ebp)
20095 40010886:       eb 2d                   jmp    400108b5 <path_output+0x1d5>
20096 40010888:       83 7d 0c 00             cmpl   $0x0,0xc(%ebp)
20097 4001088c:       75 11                   jne    4001089f <path_output+0x1bf>
20098 4001088e:       c7 04 24 0f 3a 01 40    movl   $0x40013a0f,(%esp)
20099 40010895:       e8 d3 eb ff ff          call   4000f46d <strdup>
20100 4001089a:       89 45 dc                mov    %eax,-0x24(%ebp)
20101 4001089d:       eb 16                   jmp    400108b5 <path_output+0x1d5>
20102 4001089f:       c7 44 24 04 0f 3a 01    movl   $0x40013a0f,0x4(%esp)
20103 400108a6:       40 
20104 400108a7:       8b 45 0c                mov    0xc(%ebp),%eax
20105 400108aa:       89 04 24                mov    %eax,(%esp)
20106 400108ad:       e8 73 eb ff ff          call   4000f425 <strcpy>
20107 400108b2:       89 45 dc                mov    %eax,-0x24(%ebp)
20108 400108b5:       8b 45 dc                mov    -0x24(%ebp),%eax
20109 400108b8:       c9                      leave  
20110 400108b9:       c3                      ret    
20112 400108ba <path_compare>:
20113 400108ba:       55                      push   %ebp
20114 400108bb:       89 e5                   mov    %esp,%ebp
20115 400108bd:       83 ec 28                sub    $0x28,%esp
20116 400108c0:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
20117 400108c4:       74 06                   je     400108cc <path_compare+0x12>
20118 400108c6:       83 7d 0c 00             cmpl   $0x0,0xc(%ebp)
20119 400108ca:       75 0c                   jne    400108d8 <path_compare+0x1e>
20120 400108cc:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
20121 400108d3:       e9 00 01 00 00          jmp    400109d8 <path_compare+0x11e>
20122 400108d8:       c7 45 f4 00 00 00 00    movl   $0x0,-0xc(%ebp)
20123 400108df:       c7 45 f8 00 00 00 00    movl   $0x0,-0x8(%ebp)
20124 400108e6:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
20125 400108ed:       8b 45 08                mov    0x8(%ebp),%eax
20126 400108f0:       8b 50 0c                mov    0xc(%eax),%edx
20127 400108f3:       8b 45 0c                mov    0xc(%ebp),%eax
20128 400108f6:       8b 40 0c                mov    0xc(%eax),%eax
20129 400108f9:       39 c2                   cmp    %eax,%edx
20130 400108fb:       0f 84 b9 00 00 00       je     400109ba <path_compare+0x100>
20131 40010901:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
20132 40010908:       e9 cb 00 00 00          jmp    400109d8 <path_compare+0x11e>
20133 4001090d:       8b 45 08                mov    0x8(%ebp),%eax
20134 40010910:       8b 50 04                mov    0x4(%eax),%edx
20135 40010913:       8b 45 f4                mov    -0xc(%ebp),%eax
20136 40010916:       c1 e0 02                shl    $0x2,%eax
20137 40010919:       8d 04 02                lea    (%edx,%eax,1),%eax
20138 4001091c:       8b 00                   mov    (%eax),%eax
20139 4001091e:       0f b6 00                movzbl (%eax),%eax
20140 40010921:       84 c0                   test   %al,%al
20141 40010923:       75 09                   jne    4001092e <path_compare+0x74>
20142 40010925:       83 45 f4 01             addl   $0x1,-0xc(%ebp)
20143 40010929:       e9 8c 00 00 00          jmp    400109ba <path_compare+0x100>
20144 4001092e:       8b 45 0c                mov    0xc(%ebp),%eax
20145 40010931:       8b 50 04                mov    0x4(%eax),%edx
20146 40010934:       8b 45 f8                mov    -0x8(%ebp),%eax
20147 40010937:       c1 e0 02                shl    $0x2,%eax
20148 4001093a:       8d 04 02                lea    (%edx,%eax,1),%eax
20149 4001093d:       8b 00                   mov    (%eax),%eax
20150 4001093f:       0f b6 00                movzbl (%eax),%eax
20151 40010942:       84 c0                   test   %al,%al
20152 40010944:       75 06                   jne    4001094c <path_compare+0x92>
20153 40010946:       83 45 f8 01             addl   $0x1,-0x8(%ebp)
20154 4001094a:       eb 6e                   jmp    400109ba <path_compare+0x100>
20155 4001094c:       8b 45 0c                mov    0xc(%ebp),%eax
20156 4001094f:       8b 50 04                mov    0x4(%eax),%edx
20157 40010952:       8b 45 f8                mov    -0x8(%ebp),%eax
20158 40010955:       c1 e0 02                shl    $0x2,%eax
20159 40010958:       8d 04 02                lea    (%edx,%eax,1),%eax
20160 4001095b:       8b 00                   mov    (%eax),%eax
20161 4001095d:       0f b6 00                movzbl (%eax),%eax
20162 40010960:       84 c0                   test   %al,%al
20163 40010962:       74 4a                   je     400109ae <path_compare+0xf4>
20164 40010964:       8b 45 0c                mov    0xc(%ebp),%eax
20165 40010967:       8b 50 04                mov    0x4(%eax),%edx
20166 4001096a:       8b 45 f8                mov    -0x8(%ebp),%eax
20167 4001096d:       c1 e0 02                shl    $0x2,%eax
20168 40010970:       8d 04 02                lea    (%edx,%eax,1),%eax
20169 40010973:       8b 00                   mov    (%eax),%eax
20170 40010975:       0f b6 00                movzbl (%eax),%eax
20171 40010978:       84 c0                   test   %al,%al
20172 4001097a:       74 32                   je     400109ae <path_compare+0xf4>
20173 4001097c:       8b 45 0c                mov    0xc(%ebp),%eax
20174 4001097f:       8b 50 04                mov    0x4(%eax),%edx
20175 40010982:       8b 45 f8                mov    -0x8(%ebp),%eax
20176 40010985:       c1 e0 02                shl    $0x2,%eax
20177 40010988:       8d 04 02                lea    (%edx,%eax,1),%eax
20178 4001098b:       8b 08                   mov    (%eax),%ecx
20179 4001098d:       8b 45 08                mov    0x8(%ebp),%eax
20180 40010990:       8b 50 04                mov    0x4(%eax),%edx
20181 40010993:       8b 45 f4                mov    -0xc(%ebp),%eax
20182 40010996:       c1 e0 02                shl    $0x2,%eax
20183 40010999:       8d 04 02                lea    (%edx,%eax,1),%eax
20184 4001099c:       8b 00                   mov    (%eax),%eax
20185 4001099e:       89 4c 24 04             mov    %ecx,0x4(%esp)
20186 400109a2:       89 04 24                mov    %eax,(%esp)
20187 400109a5:       e8 ee e9 ff ff          call   4000f398 <strcmp>
20188 400109aa:       85 c0                   test   %eax,%eax
20189 400109ac:       75 24                   jne    400109d2 <path_compare+0x118>
20190 400109ae:       83 45 f4 01             addl   $0x1,-0xc(%ebp)
20191 400109b2:       83 45 f8 01             addl   $0x1,-0x8(%ebp)
20192 400109b6:       83 45 fc 01             addl   $0x1,-0x4(%ebp)
20193 400109ba:       8b 45 08                mov    0x8(%ebp),%eax
20194 400109bd:       8b 00                   mov    (%eax),%eax
20195 400109bf:       3b 45 f4                cmp    -0xc(%ebp),%eax
20196 400109c2:       76 0e                   jbe    400109d2 <path_compare+0x118>
20197 400109c4:       8b 45 0c                mov    0xc(%ebp),%eax
20198 400109c7:       8b 00                   mov    (%eax),%eax
20199 400109c9:       3b 45 f8                cmp    -0x8(%ebp),%eax
20200 400109cc:       0f 87 3b ff ff ff       ja     4001090d <path_compare+0x53>
20201 400109d2:       8b 45 fc                mov    -0x4(%ebp),%eax
20202 400109d5:       89 45 ec                mov    %eax,-0x14(%ebp)
20203 400109d8:       8b 45 ec                mov    -0x14(%ebp),%eax
20204 400109db:       c9                      leave  
20205 400109dc:       c3                      ret    
20207 400109dd <path_cat>:
20208 400109dd:       55                      push   %ebp
20209 400109de:       89 e5                   mov    %esp,%ebp
20210 400109e0:       83 ec 38                sub    $0x38,%esp
20211 400109e3:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
20212 400109e7:       74 06                   je     400109ef <path_cat+0x12>
20213 400109e9:       83 7d 0c 00             cmpl   $0x0,0xc(%ebp)
20214 400109ed:       75 0c                   jne    400109fb <path_cat+0x1e>
20215 400109ef:       c7 45 dc 00 00 00 00    movl   $0x0,-0x24(%ebp)
20216 400109f6:       e9 f2 01 00 00          jmp    40010bed <path_cat+0x210>
20217 400109fb:       c7 04 24 10 00 00 00    movl   $0x10,(%esp)
20218 40010a02:       e8 9d b3 ff ff          call   4000bda4 <malloc>
20219 40010a07:       89 45 ec                mov    %eax,-0x14(%ebp)
20220 40010a0a:       8b 45 08                mov    0x8(%ebp),%eax
20221 40010a0d:       8b 50 0c                mov    0xc(%eax),%edx
20222 40010a10:       8b 45 ec                mov    -0x14(%ebp),%eax
20223 40010a13:       89 50 0c                mov    %edx,0xc(%eax)
20224 40010a16:       8b 45 08                mov    0x8(%ebp),%eax
20225 40010a19:       8b 10                   mov    (%eax),%edx
20226 40010a1b:       8b 45 0c                mov    0xc(%ebp),%eax
20227 40010a1e:       8b 00                   mov    (%eax),%eax
20228 40010a20:       01 c2                   add    %eax,%edx
20229 40010a22:       8b 45 ec                mov    -0x14(%ebp),%eax
20230 40010a25:       89 10                   mov    %edx,(%eax)
20231 40010a27:       c7 45 f8 00 00 00 00    movl   $0x0,-0x8(%ebp)
20232 40010a2e:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
20233 40010a35:       c7 45 f0 00 00 00 00    movl   $0x0,-0x10(%ebp)
20234 40010a3c:       eb 26                   jmp    40010a64 <path_cat+0x87>
20235 40010a3e:       8b 45 08                mov    0x8(%ebp),%eax
20236 40010a41:       8b 50 04                mov    0x4(%eax),%edx
20237 40010a44:       8b 45 f0                mov    -0x10(%ebp),%eax
20238 40010a47:       c1 e0 02                shl    $0x2,%eax
20239 40010a4a:       8d 04 02                lea    (%edx,%eax,1),%eax
20240 40010a4d:       8b 00                   mov    (%eax),%eax
20241 40010a4f:       89 04 24                mov    %eax,(%esp)
20242 40010a52:       e8 61 ea ff ff          call   4000f4b8 <strlen>
20243 40010a57:       03 45 f8                add    -0x8(%ebp),%eax
20244 40010a5a:       83 c0 01                add    $0x1,%eax
20245 40010a5d:       89 45 f8                mov    %eax,-0x8(%ebp)
20246 40010a60:       83 45 f0 01             addl   $0x1,-0x10(%ebp)
20247 40010a64:       8b 45 08                mov    0x8(%ebp),%eax
20248 40010a67:       8b 00                   mov    (%eax),%eax
20249 40010a69:       3b 45 f0                cmp    -0x10(%ebp),%eax
20250 40010a6c:       77 d0                   ja     40010a3e <path_cat+0x61>
20251 40010a6e:       c7 45 f0 00 00 00 00    movl   $0x0,-0x10(%ebp)
20252 40010a75:       eb 26                   jmp    40010a9d <path_cat+0xc0>
20253 40010a77:       8b 45 0c                mov    0xc(%ebp),%eax
20254 40010a7a:       8b 50 04                mov    0x4(%eax),%edx
20255 40010a7d:       8b 45 f0                mov    -0x10(%ebp),%eax
20256 40010a80:       c1 e0 02                shl    $0x2,%eax
20257 40010a83:       8d 04 02                lea    (%edx,%eax,1),%eax
20258 40010a86:       8b 00                   mov    (%eax),%eax
20259 40010a88:       89 04 24                mov    %eax,(%esp)
20260 40010a8b:       e8 28 ea ff ff          call   4000f4b8 <strlen>
20261 40010a90:       03 45 fc                add    -0x4(%ebp),%eax
20262 40010a93:       83 c0 01                add    $0x1,%eax
20263 40010a96:       89 45 fc                mov    %eax,-0x4(%ebp)
20264 40010a99:       83 45 f0 01             addl   $0x1,-0x10(%ebp)
20265 40010a9d:       8b 45 0c                mov    0xc(%ebp),%eax
20266 40010aa0:       8b 00                   mov    (%eax),%eax
20267 40010aa2:       3b 45 f0                cmp    -0x10(%ebp),%eax
20268 40010aa5:       77 d0                   ja     40010a77 <path_cat+0x9a>
20269 40010aa7:       8b 55 fc                mov    -0x4(%ebp),%edx
20270 40010aaa:       8b 45 f8                mov    -0x8(%ebp),%eax
20271 40010aad:       01 d0                   add    %edx,%eax
20272 40010aaf:       89 04 24                mov    %eax,(%esp)
20273 40010ab2:       e8 ed b2 ff ff          call   4000bda4 <malloc>
20274 40010ab7:       89 c2                   mov    %eax,%edx
20275 40010ab9:       8b 45 ec                mov    -0x14(%ebp),%eax
20276 40010abc:       89 50 08                mov    %edx,0x8(%eax)
20277 40010abf:       8b 45 ec                mov    -0x14(%ebp),%eax
20278 40010ac2:       8b 00                   mov    (%eax),%eax
20279 40010ac4:       c1 e0 02                shl    $0x2,%eax
20280 40010ac7:       89 04 24                mov    %eax,(%esp)
20281 40010aca:       e8 d5 b2 ff ff          call   4000bda4 <malloc>
20282 40010acf:       89 c2                   mov    %eax,%edx
20283 40010ad1:       8b 45 ec                mov    -0x14(%ebp),%eax
20284 40010ad4:       89 50 04                mov    %edx,0x4(%eax)
20285 40010ad7:       c7 45 f4 00 00 00 00    movl   $0x0,-0xc(%ebp)
20286 40010ade:       c7 45 f0 00 00 00 00    movl   $0x0,-0x10(%ebp)
20287 40010ae5:       eb 6f                   jmp    40010b56 <path_cat+0x179>
20288 40010ae7:       8b 45 08                mov    0x8(%ebp),%eax
20289 40010aea:       8b 50 04                mov    0x4(%eax),%edx
20290 40010aed:       8b 45 f0                mov    -0x10(%ebp),%eax
20291 40010af0:       c1 e0 02                shl    $0x2,%eax
20292 40010af3:       8d 04 02                lea    (%edx,%eax,1),%eax
20293 40010af6:       8b 10                   mov    (%eax),%edx
20294 40010af8:       8b 45 ec                mov    -0x14(%ebp),%eax
20295 40010afb:       8b 40 08                mov    0x8(%eax),%eax
20296 40010afe:       03 45 f4                add    -0xc(%ebp),%eax
20297 40010b01:       89 54 24 04             mov    %edx,0x4(%esp)
20298 40010b05:       89 04 24                mov    %eax,(%esp)
20299 40010b08:       e8 18 e9 ff ff          call   4000f425 <strcpy>
20300 40010b0d:       8b 45 ec                mov    -0x14(%ebp),%eax
20301 40010b10:       8b 50 04                mov    0x4(%eax),%edx
20302 40010b13:       8b 45 f0                mov    -0x10(%ebp),%eax
20303 40010b16:       c1 e0 02                shl    $0x2,%eax
20304 40010b19:       01 c2                   add    %eax,%edx
20305 40010b1b:       8b 45 ec                mov    -0x14(%ebp),%eax
20306 40010b1e:       8b 40 08                mov    0x8(%eax),%eax
20307 40010b21:       03 45 f4                add    -0xc(%ebp),%eax
20308 40010b24:       89 02                   mov    %eax,(%edx)
20309 40010b26:       8b 45 08                mov    0x8(%ebp),%eax
20310 40010b29:       8b 50 04                mov    0x4(%eax),%edx
20311 40010b2c:       8b 45 f0                mov    -0x10(%ebp),%eax
20312 40010b2f:       c1 e0 02                shl    $0x2,%eax
20313 40010b32:       8d 04 02                lea    (%edx,%eax,1),%eax
20314 40010b35:       8b 00                   mov    (%eax),%eax
20315 40010b37:       89 04 24                mov    %eax,(%esp)
20316 40010b3a:       e8 79 e9 ff ff          call   4000f4b8 <strlen>
20317 40010b3f:       01 45 f4                add    %eax,-0xc(%ebp)
20318 40010b42:       8b 45 ec                mov    -0x14(%ebp),%eax
20319 40010b45:       8b 40 08                mov    0x8(%eax),%eax
20320 40010b48:       03 45 f4                add    -0xc(%ebp),%eax
20321 40010b4b:       c6 00 00                movb   $0x0,(%eax)
20322 40010b4e:       83 45 f4 01             addl   $0x1,-0xc(%ebp)
20323 40010b52:       83 45 f0 01             addl   $0x1,-0x10(%ebp)
20324 40010b56:       8b 45 08                mov    0x8(%ebp),%eax
20325 40010b59:       8b 00                   mov    (%eax),%eax
20326 40010b5b:       3b 45 f0                cmp    -0x10(%ebp),%eax
20327 40010b5e:       77 87                   ja     40010ae7 <path_cat+0x10a>
20328 40010b60:       c7 45 f0 00 00 00 00    movl   $0x0,-0x10(%ebp)
20329 40010b67:       eb 74                   jmp    40010bdd <path_cat+0x200>
20330 40010b69:       8b 45 0c                mov    0xc(%ebp),%eax
20331 40010b6c:       8b 50 04                mov    0x4(%eax),%edx
20332 40010b6f:       8b 45 f0                mov    -0x10(%ebp),%eax
20333 40010b72:       c1 e0 02                shl    $0x2,%eax
20334 40010b75:       8d 04 02                lea    (%edx,%eax,1),%eax
20335 40010b78:       8b 10                   mov    (%eax),%edx
20336 40010b7a:       8b 45 ec                mov    -0x14(%ebp),%eax
20337 40010b7d:       8b 40 08                mov    0x8(%eax),%eax
20338 40010b80:       03 45 f4                add    -0xc(%ebp),%eax
20339 40010b83:       89 54 24 04             mov    %edx,0x4(%esp)
20340 40010b87:       89 04 24                mov    %eax,(%esp)
20341 40010b8a:       e8 96 e8 ff ff          call   4000f425 <strcpy>
20342 40010b8f:       8b 45 ec                mov    -0x14(%ebp),%eax
20343 40010b92:       8b 50 04                mov    0x4(%eax),%edx
20344 40010b95:       8b 45 08                mov    0x8(%ebp),%eax
20345 40010b98:       8b 00                   mov    (%eax),%eax
20346 40010b9a:       03 45 f0                add    -0x10(%ebp),%eax
20347 40010b9d:       c1 e0 02                shl    $0x2,%eax
20348 40010ba0:       01 c2                   add    %eax,%edx
20349 40010ba2:       8b 45 ec                mov    -0x14(%ebp),%eax
20350 40010ba5:       8b 40 08                mov    0x8(%eax),%eax
20351 40010ba8:       03 45 f4                add    -0xc(%ebp),%eax
20352 40010bab:       89 02                   mov    %eax,(%edx)
20353 40010bad:       8b 45 0c                mov    0xc(%ebp),%eax
20354 40010bb0:       8b 50 04                mov    0x4(%eax),%edx
20355 40010bb3:       8b 45 f0                mov    -0x10(%ebp),%eax
20356 40010bb6:       c1 e0 02                shl    $0x2,%eax
20357 40010bb9:       8d 04 02                lea    (%edx,%eax,1),%eax
20358 40010bbc:       8b 00                   mov    (%eax),%eax
20359 40010bbe:       89 04 24                mov    %eax,(%esp)
20360 40010bc1:       e8 f2 e8 ff ff          call   4000f4b8 <strlen>
20361 40010bc6:       01 45 f4                add    %eax,-0xc(%ebp)
20362 40010bc9:       8b 45 ec                mov    -0x14(%ebp),%eax
20363 40010bcc:       8b 40 08                mov    0x8(%eax),%eax
20364 40010bcf:       03 45 f4                add    -0xc(%ebp),%eax
20365 40010bd2:       c6 00 00                movb   $0x0,(%eax)
20366 40010bd5:       83 45 f4 01             addl   $0x1,-0xc(%ebp)
20367 40010bd9:       83 45 f0 01             addl   $0x1,-0x10(%ebp)
20368 40010bdd:       8b 45 0c                mov    0xc(%ebp),%eax
20369 40010be0:       8b 00                   mov    (%eax),%eax
20370 40010be2:       3b 45 f0                cmp    -0x10(%ebp),%eax
20371 40010be5:       77 82                   ja     40010b69 <path_cat+0x18c>
20372 40010be7:       8b 45 ec                mov    -0x14(%ebp),%eax
20373 40010bea:       89 45 dc                mov    %eax,-0x24(%ebp)
20374 40010bed:       8b 45 dc                mov    -0x24(%ebp),%eax
20375 40010bf0:       c9                      leave  
20376 40010bf1:       c3                      ret    
20378 40010bf2 <path_parent>:
20379 40010bf2:       55                      push   %ebp
20380 40010bf3:       89 e5                   mov    %esp,%ebp
20381 40010bf5:       8b 45 08                mov    0x8(%ebp),%eax
20382 40010bf8:       8b 00                   mov    (%eax),%eax
20383 40010bfa:       85 c0                   test   %eax,%eax
20384 40010bfc:       74 1f                   je     40010c1d <path_parent+0x2b>
20385 40010bfe:       8b 45 08                mov    0x8(%ebp),%eax
20386 40010c01:       8b 48 04                mov    0x4(%eax),%ecx
20387 40010c04:       8b 45 08                mov    0x8(%ebp),%eax
20388 40010c07:       8b 10                   mov    (%eax),%edx
20389 40010c09:       b8 01 00 00 00          mov    $0x1,%eax
20390 40010c0e:       29 d0                   sub    %edx,%eax
20391 40010c10:       c1 e0 02                shl    $0x2,%eax
20392 40010c13:       f7 d8                   neg    %eax
20393 40010c15:       8d 04 01                lea    (%ecx,%eax,1),%eax
20394 40010c18:       8b 00                   mov    (%eax),%eax
20395 40010c1a:       c6 00 00                movb   $0x0,(%eax)
20396 40010c1d:       5d                      pop    %ebp
20397 40010c1e:       c3                      ret    
20398 40010c1f:       90                      nop    
20400 40010c20 <rpc_func_create>:
20401 40010c20:       55                      push   %ebp
20402 40010c21:       89 e5                   mov    %esp,%ebp
20403 40010c23:       83 ec 38                sub    $0x38,%esp
20404 40010c26:       8b 45 14                mov    0x14(%ebp),%eax
20405 40010c29:       89 44 24 14             mov    %eax,0x14(%esp)
20406 40010c2d:       8b 45 10                mov    0x10(%ebp),%eax
20407 40010c30:       89 44 24 10             mov    %eax,0x10(%esp)
20408 40010c34:       8b 45 0c                mov    0xc(%ebp),%eax
20409 40010c37:       89 44 24 0c             mov    %eax,0xc(%esp)
20410 40010c3b:       8b 45 08                mov    0x8(%ebp),%eax
20411 40010c3e:       89 44 24 08             mov    %eax,0x8(%esp)
20412 40010c42:       c7 44 24 04 04 00 00    movl   $0x4,0x4(%esp)
20413 40010c49:       00 
20414 40010c4a:       c7 04 24 21 00 00 00    movl   $0x21,(%esp)
20415 40010c51:       e8 42 0b 00 00          call   40011798 <syscall_call>
20416 40010c56:       89 45 fc                mov    %eax,-0x4(%ebp)
20417 40010c59:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
20418 40010c5d:       79 0c                   jns    40010c6b <rpc_func_create+0x4b>
20419 40010c5f:       8b 45 fc                mov    -0x4(%ebp),%eax
20420 40010c62:       89 c2                   mov    %eax,%edx
20421 40010c64:       f7 da                   neg    %edx
20422 40010c66:       89 55 ec                mov    %edx,-0x14(%ebp)
20423 40010c69:       eb 07                   jmp    40010c72 <rpc_func_create+0x52>
20424 40010c6b:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
20425 40010c72:       8b 45 ec                mov    -0x14(%ebp),%eax
20426 40010c75:       a3 54 59 01 40          mov    %eax,0x40015954
20427 40010c7a:       8b 45 fc                mov    -0x4(%ebp),%eax
20428 40010c7d:       c1 f8 1f                sar    $0x1f,%eax
20429 40010c80:       0b 45 fc                or     -0x4(%ebp),%eax
20430 40010c83:       c9                      leave  
20431 40010c84:       c3                      ret    
20433 40010c85 <rpc_func_destroy>:
20434 40010c85:       55                      push   %ebp
20435 40010c86:       89 e5                   mov    %esp,%ebp
20436 40010c88:       83 ec 28                sub    $0x28,%esp
20437 40010c8b:       8b 45 08                mov    0x8(%ebp),%eax
20438 40010c8e:       89 44 24 08             mov    %eax,0x8(%esp)
20439 40010c92:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
20440 40010c99:       00 
20441 40010c9a:       c7 04 24 22 00 00 00    movl   $0x22,(%esp)
20442 40010ca1:       e8 f2 0a 00 00          call   40011798 <syscall_call>
20443 40010ca6:       89 45 fc                mov    %eax,-0x4(%ebp)
20444 40010ca9:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
20445 40010cad:       79 0c                   jns    40010cbb <rpc_func_destroy+0x36>
20446 40010caf:       8b 45 fc                mov    -0x4(%ebp),%eax
20447 40010cb2:       89 c2                   mov    %eax,%edx
20448 40010cb4:       f7 da                   neg    %edx
20449 40010cb6:       89 55 ec                mov    %edx,-0x14(%ebp)
20450 40010cb9:       eb 07                   jmp    40010cc2 <rpc_func_destroy+0x3d>
20451 40010cbb:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
20452 40010cc2:       8b 45 ec                mov    -0x14(%ebp),%eax
20453 40010cc5:       a3 54 59 01 40          mov    %eax,0x40015954
20454 40010cca:       8b 45 fc                mov    -0x4(%ebp),%eax
20455 40010ccd:       c1 f8 1f                sar    $0x1f,%eax
20456 40010cd0:       0b 45 fc                or     -0x4(%ebp),%eax
20457 40010cd3:       c9                      leave  
20458 40010cd4:       c3                      ret    
20460 40010cd5 <rpc_vcall>:
20461 40010cd5:       55                      push   %ebp
20462 40010cd6:       89 e5                   mov    %esp,%ebp
20463 40010cd8:       81 ec 68 01 00 00       sub    $0x168,%esp
20464 40010cde:       c7 44 24 24 00 00 00    movl   $0x0,0x24(%esp)
20465 40010ce5:       00 
20466 40010ce6:       c7 44 24 20 00 01 00    movl   $0x100,0x20(%esp)
20467 40010ced:       00 
20468 40010cee:       8d 85 e8 fe ff ff       lea    -0x118(%ebp),%eax
20469 40010cf4:       89 44 24 1c             mov    %eax,0x1c(%esp)
20470 40010cf8:       8d 85 e4 fe ff ff       lea    -0x11c(%ebp),%eax
20471 40010cfe:       89 44 24 18             mov    %eax,0x18(%esp)
20472 40010d02:       c7 44 24 14 00 00 00    movl   $0x0,0x14(%esp)
20473 40010d09:       00 
20474 40010d0a:       c7 44 24 10 00 00 00    movl   $0x0,0x10(%esp)
20475 40010d11:       00 
20476 40010d12:       8b 45 08                mov    0x8(%ebp),%eax
20477 40010d15:       89 44 24 0c             mov    %eax,0xc(%esp)
20478 40010d19:       c7 44 24 08 ff ff ff    movl   $0xffffffff,0x8(%esp)
20479 40010d20:       ff 
20480 40010d21:       c7 44 24 04 08 00 00    movl   $0x8,0x4(%esp)
20481 40010d28:       00 
20482 40010d29:       c7 04 24 23 00 00 00    movl   $0x23,(%esp)
20483 40010d30:       e8 63 0a 00 00          call   40011798 <syscall_call>
20484 40010d35:       89 45 f0                mov    %eax,-0x10(%ebp)
20485 40010d38:       83 7d f0 00             cmpl   $0x0,-0x10(%ebp)
20486 40010d3c:       0f 88 89 04 00 00       js     400111cb <rpc_vcall+0x4f6>
20487 40010d42:       8b 85 e4 fe ff ff       mov    -0x11c(%ebp),%eax
20488 40010d48:       89 04 24                mov    %eax,(%esp)
20489 40010d4b:       e8 54 b0 ff ff          call   4000bda4 <malloc>
20490 40010d50:       89 04 24                mov    %eax,(%esp)
20491 40010d53:       e8 4c 12 00 00          call   40011fa4 <pack_create>
20492 40010d58:       89 45 f8                mov    %eax,-0x8(%ebp)
20493 40010d5b:       8d 85 e8 fe ff ff       lea    -0x118(%ebp),%eax
20494 40010d61:       89 04 24                mov    %eax,(%esp)
20495 40010d64:       e8 4f e7 ff ff          call   4000f4b8 <strlen>
20496 40010d69:       c1 e0 02                shl    $0x2,%eax
20497 40010d6c:       89 04 24                mov    %eax,(%esp)
20498 40010d6f:       e8 30 b0 ff ff          call   4000bda4 <malloc>
20499 40010d74:       89 45 fc                mov    %eax,-0x4(%ebp)
20500 40010d77:       c7 45 f4 00 00 00 00    movl   $0x0,-0xc(%ebp)
20501 40010d7e:       e9 b6 01 00 00          jmp    40010f39 <rpc_vcall+0x264>
20502 40010d83:       8b 45 f4                mov    -0xc(%ebp),%eax
20503 40010d86:       c1 e0 02                shl    $0x2,%eax
20504 40010d89:       89 c1                   mov    %eax,%ecx
20505 40010d8b:       03 4d fc                add    -0x4(%ebp),%ecx
20506 40010d8e:       8b 55 10                mov    0x10(%ebp),%edx
20507 40010d91:       8d 42 04                lea    0x4(%edx),%eax
20508 40010d94:       89 45 10                mov    %eax,0x10(%ebp)
20509 40010d97:       89 d0                   mov    %edx,%eax
20510 40010d99:       8b 00                   mov    (%eax),%eax
20511 40010d9b:       89 01                   mov    %eax,(%ecx)
20512 40010d9d:       8b 45 f4                mov    -0xc(%ebp),%eax
20513 40010da0:       0f b6 84 05 e8 fe ff    movzbl -0x118(%ebp,%eax,1),%eax
20514 40010da7:       ff 
20515 40010da8:       3c 62                   cmp    $0x62,%al
20516 40010daa:       75 26                   jne    40010dd2 <rpc_vcall+0xfd>
20517 40010dac:       8b 45 f8                mov    -0x8(%ebp),%eax
20518 40010daf:       8b 00                   mov    (%eax),%eax
20519 40010db1:       89 c2                   mov    %eax,%edx
20520 40010db3:       8b 45 f4                mov    -0xc(%ebp),%eax
20521 40010db6:       c1 e0 02                shl    $0x2,%eax
20522 40010db9:       03 45 fc                add    -0x4(%ebp),%eax
20523 40010dbc:       8b 00                   mov    (%eax),%eax
20524 40010dbe:       88 02                   mov    %al,(%edx)
20525 40010dc0:       8b 45 f8                mov    -0x8(%ebp),%eax
20526 40010dc3:       8b 00                   mov    (%eax),%eax
20527 40010dc5:       8d 50 01                lea    0x1(%eax),%edx
20528 40010dc8:       8b 45 f8                mov    -0x8(%ebp),%eax
20529 40010dcb:       89 10                   mov    %edx,(%eax)
20530 40010dcd:       e9 63 01 00 00          jmp    40010f35 <rpc_vcall+0x260>
20531 40010dd2:       8b 45 f4                mov    -0xc(%ebp),%eax
20532 40010dd5:       0f b6 84 05 e8 fe ff    movzbl -0x118(%ebp,%eax,1),%eax
20533 40010ddc:       ff 
20534 40010ddd:       3c 77                   cmp    $0x77,%al
20535 40010ddf:       75 27                   jne    40010e08 <rpc_vcall+0x133>
20536 40010de1:       8b 45 f8                mov    -0x8(%ebp),%eax
20537 40010de4:       8b 00                   mov    (%eax),%eax
20538 40010de6:       89 c2                   mov    %eax,%edx
20539 40010de8:       8b 45 f4                mov    -0xc(%ebp),%eax
20540 40010deb:       c1 e0 02                shl    $0x2,%eax
20541 40010dee:       03 45 fc                add    -0x4(%ebp),%eax
20542 40010df1:       8b 00                   mov    (%eax),%eax
20543 40010df3:       66 89 02                mov    %ax,(%edx)
20544 40010df6:       8b 45 f8                mov    -0x8(%ebp),%eax
20545 40010df9:       8b 00                   mov    (%eax),%eax
20546 40010dfb:       8d 50 02                lea    0x2(%eax),%edx
20547 40010dfe:       8b 45 f8                mov    -0x8(%ebp),%eax
20548 40010e01:       89 10                   mov    %edx,(%eax)
20549 40010e03:       e9 2d 01 00 00          jmp    40010f35 <rpc_vcall+0x260>
20550 40010e08:       8b 45 f4                mov    -0xc(%ebp),%eax
20551 40010e0b:       0f b6 84 05 e8 fe ff    movzbl -0x118(%ebp,%eax,1),%eax
20552 40010e12:       ff 
20553 40010e13:       3c 64                   cmp    $0x64,%al
20554 40010e15:       75 26                   jne    40010e3d <rpc_vcall+0x168>
20555 40010e17:       8b 45 f8                mov    -0x8(%ebp),%eax
20556 40010e1a:       8b 00                   mov    (%eax),%eax
20557 40010e1c:       89 c2                   mov    %eax,%edx
20558 40010e1e:       8b 45 f4                mov    -0xc(%ebp),%eax
20559 40010e21:       c1 e0 02                shl    $0x2,%eax
20560 40010e24:       03 45 fc                add    -0x4(%ebp),%eax
20561 40010e27:       8b 00                   mov    (%eax),%eax
20562 40010e29:       89 02                   mov    %eax,(%edx)
20563 40010e2b:       8b 45 f8                mov    -0x8(%ebp),%eax
20564 40010e2e:       8b 00                   mov    (%eax),%eax
20565 40010e30:       8d 50 04                lea    0x4(%eax),%edx
20566 40010e33:       8b 45 f8                mov    -0x8(%ebp),%eax
20567 40010e36:       89 10                   mov    %edx,(%eax)
20568 40010e38:       e9 f8 00 00 00          jmp    40010f35 <rpc_vcall+0x260>
20569 40010e3d:       8b 45 f4                mov    -0xc(%ebp),%eax
20570 40010e40:       0f b6 84 05 e8 fe ff    movzbl -0x118(%ebp,%eax,1),%eax
20571 40010e47:       ff 
20572 40010e48:       3c 63                   cmp    $0x63,%al
20573 40010e4a:       75 26                   jne    40010e72 <rpc_vcall+0x19d>
20574 40010e4c:       8b 45 f8                mov    -0x8(%ebp),%eax
20575 40010e4f:       8b 00                   mov    (%eax),%eax
20576 40010e51:       89 c2                   mov    %eax,%edx
20577 40010e53:       8b 45 f4                mov    -0xc(%ebp),%eax
20578 40010e56:       c1 e0 02                shl    $0x2,%eax
20579 40010e59:       03 45 fc                add    -0x4(%ebp),%eax
20580 40010e5c:       8b 00                   mov    (%eax),%eax
20581 40010e5e:       88 02                   mov    %al,(%edx)
20582 40010e60:       8b 45 f8                mov    -0x8(%ebp),%eax
20583 40010e63:       8b 00                   mov    (%eax),%eax
20584 40010e65:       8d 50 01                lea    0x1(%eax),%edx
20585 40010e68:       8b 45 f8                mov    -0x8(%ebp),%eax
20586 40010e6b:       89 10                   mov    %edx,(%eax)
20587 40010e6d:       e9 c3 00 00 00          jmp    40010f35 <rpc_vcall+0x260>
20588 40010e72:       8b 45 f4                mov    -0xc(%ebp),%eax
20589 40010e75:       0f b6 84 05 e8 fe ff    movzbl -0x118(%ebp,%eax,1),%eax
20590 40010e7c:       ff 
20591 40010e7d:       3c 73                   cmp    $0x73,%al
20592 40010e7f:       75 27                   jne    40010ea8 <rpc_vcall+0x1d3>
20593 40010e81:       8b 45 f8                mov    -0x8(%ebp),%eax
20594 40010e84:       8b 00                   mov    (%eax),%eax
20595 40010e86:       89 c2                   mov    %eax,%edx
20596 40010e88:       8b 45 f4                mov    -0xc(%ebp),%eax
20597 40010e8b:       c1 e0 02                shl    $0x2,%eax
20598 40010e8e:       03 45 fc                add    -0x4(%ebp),%eax
20599 40010e91:       8b 00                   mov    (%eax),%eax
20600 40010e93:       66 89 02                mov    %ax,(%edx)
20601 40010e96:       8b 45 f8                mov    -0x8(%ebp),%eax
20602 40010e99:       8b 00                   mov    (%eax),%eax
20603 40010e9b:       8d 50 02                lea    0x2(%eax),%edx
20604 40010e9e:       8b 45 f8                mov    -0x8(%ebp),%eax
20605 40010ea1:       89 10                   mov    %edx,(%eax)
20606 40010ea3:       e9 8d 00 00 00          jmp    40010f35 <rpc_vcall+0x260>
20607 40010ea8:       8b 45 f4                mov    -0xc(%ebp),%eax
20608 40010eab:       0f b6 84 05 e8 fe ff    movzbl -0x118(%ebp,%eax,1),%eax
20609 40010eb2:       ff 
20610 40010eb3:       3c 69                   cmp    $0x69,%al
20611 40010eb5:       75 23                   jne    40010eda <rpc_vcall+0x205>
20612 40010eb7:       8b 45 f8                mov    -0x8(%ebp),%eax
20613 40010eba:       8b 00                   mov    (%eax),%eax
20614 40010ebc:       89 c2                   mov    %eax,%edx
20615 40010ebe:       8b 45 f4                mov    -0xc(%ebp),%eax
20616 40010ec1:       c1 e0 02                shl    $0x2,%eax
20617 40010ec4:       03 45 fc                add    -0x4(%ebp),%eax
20618 40010ec7:       8b 00                   mov    (%eax),%eax
20619 40010ec9:       89 02                   mov    %eax,(%edx)
20620 40010ecb:       8b 45 f8                mov    -0x8(%ebp),%eax
20621 40010ece:       8b 00                   mov    (%eax),%eax
20622 40010ed0:       8d 50 04                lea    0x4(%eax),%edx
20623 40010ed3:       8b 45 f8                mov    -0x8(%ebp),%eax
20624 40010ed6:       89 10                   mov    %edx,(%eax)
20625 40010ed8:       eb 5b                   jmp    40010f35 <rpc_vcall+0x260>
20626 40010eda:       8b 45 f4                mov    -0xc(%ebp),%eax
20627 40010edd:       0f b6 84 05 e8 fe ff    movzbl -0x118(%ebp,%eax,1),%eax
20628 40010ee4:       ff 
20629 40010ee5:       3c 6c                   cmp    $0x6c,%al
20630 40010ee7:       75 23                   jne    40010f0c <rpc_vcall+0x237>
20631 40010ee9:       8b 45 f8                mov    -0x8(%ebp),%eax
20632 40010eec:       8b 00                   mov    (%eax),%eax
20633 40010eee:       89 c2                   mov    %eax,%edx
20634 40010ef0:       8b 45 f4                mov    -0xc(%ebp),%eax
20635 40010ef3:       c1 e0 02                shl    $0x2,%eax
20636 40010ef6:       03 45 fc                add    -0x4(%ebp),%eax
20637 40010ef9:       8b 00                   mov    (%eax),%eax
20638 40010efb:       89 02                   mov    %eax,(%edx)
20639 40010efd:       8b 45 f8                mov    -0x8(%ebp),%eax
20640 40010f00:       8b 00                   mov    (%eax),%eax
20641 40010f02:       8d 50 04                lea    0x4(%eax),%edx
20642 40010f05:       8b 45 f8                mov    -0x8(%ebp),%eax
20643 40010f08:       89 10                   mov    %edx,(%eax)
20644 40010f0a:       eb 29                   jmp    40010f35 <rpc_vcall+0x260>
20645 40010f0c:       8b 45 f4                mov    -0xc(%ebp),%eax
20646 40010f0f:       0f b6 84 05 e8 fe ff    movzbl -0x118(%ebp,%eax,1),%eax
20647 40010f16:       ff 
20648 40010f17:       3c 24                   cmp    $0x24,%al
20649 40010f19:       75 1a                   jne    40010f35 <rpc_vcall+0x260>
20650 40010f1b:       8b 45 f4                mov    -0xc(%ebp),%eax
20651 40010f1e:       c1 e0 02                shl    $0x2,%eax
20652 40010f21:       03 45 fc                add    -0x4(%ebp),%eax
20653 40010f24:       8b 00                   mov    (%eax),%eax
20654 40010f26:       89 44 24 04             mov    %eax,0x4(%esp)
20655 40010f2a:       8b 45 f8                mov    -0x8(%ebp),%eax
20656 40010f2d:       89 04 24                mov    %eax,(%esp)
20657 40010f30:       e8 9a 10 00 00          call   40011fcf <packstr>
20658 40010f35:       83 45 f4 01             addl   $0x1,-0xc(%ebp)
20659 40010f39:       8b 45 f4                mov    -0xc(%ebp),%eax
20660 40010f3c:       0f b6 84 05 e8 fe ff    movzbl -0x118(%ebp,%eax,1),%eax
20661 40010f43:       ff 
20662 40010f44:       84 c0                   test   %al,%al
20663 40010f46:       0f 85 37 fe ff ff       jne    40010d83 <rpc_vcall+0xae>
20664 40010f4c:       83 7d 0c 00             cmpl   $0x0,0xc(%ebp)
20665 40010f50:       74 0e                   je     40010f60 <rpc_vcall+0x28b>
20666 40010f52:       8b 45 f8                mov    -0x8(%ebp),%eax
20667 40010f55:       8b 40 04                mov    0x4(%eax),%eax
20668 40010f58:       89 85 c8 fe ff ff       mov    %eax,-0x138(%ebp)
20669 40010f5e:       eb 0a                   jmp    40010f6a <rpc_vcall+0x295>
20670 40010f60:       c7 85 c8 fe ff ff 00    movl   $0x0,-0x138(%ebp)
20671 40010f67:       00 00 00 
20672 40010f6a:       8b 45 f8                mov    -0x8(%ebp),%eax
20673 40010f6d:       8b 50 04                mov    0x4(%eax),%edx
20674 40010f70:       8d 45 e8                lea    -0x18(%ebp),%eax
20675 40010f73:       89 44 24 18             mov    %eax,0x18(%esp)
20676 40010f77:       8b 85 c8 fe ff ff       mov    -0x138(%ebp),%eax
20677 40010f7d:       89 44 24 14             mov    %eax,0x14(%esp)
20678 40010f81:       8d 45 ec                lea    -0x14(%ebp),%eax
20679 40010f84:       89 44 24 10             mov    %eax,0x10(%esp)
20680 40010f88:       89 54 24 0c             mov    %edx,0xc(%esp)
20681 40010f8c:       8b 45 f0                mov    -0x10(%ebp),%eax
20682 40010f8f:       89 44 24 08             mov    %eax,0x8(%esp)
20683 40010f93:       c7 44 24 04 05 00 00    movl   $0x5,0x4(%esp)
20684 40010f9a:       00 
20685 40010f9b:       c7 04 24 24 00 00 00    movl   $0x24,(%esp)
20686 40010fa2:       e8 f1 07 00 00          call   40011798 <syscall_call>
20687 40010fa7:       85 c0                   test   %eax,%eax
20688 40010fa9:       75 07                   jne    40010fb2 <rpc_vcall+0x2dd>
20689 40010fab:       c7 45 e8 01 00 00 00    movl   $0x1,-0x18(%ebp)
20690 40010fb2:       83 7d 0c 00             cmpl   $0x0,0xc(%ebp)
20691 40010fb6:       0f 84 d6 01 00 00       je     40011192 <rpc_vcall+0x4bd>
20692 40010fbc:       8b 45 f8                mov    -0x8(%ebp),%eax
20693 40010fbf:       8b 50 04                mov    0x4(%eax),%edx
20694 40010fc2:       8b 45 f8                mov    -0x8(%ebp),%eax
20695 40010fc5:       89 10                   mov    %edx,(%eax)
20696 40010fc7:       c7 45 f4 00 00 00 00    movl   $0x0,-0xc(%ebp)
20697 40010fce:       e9 ac 01 00 00          jmp    4001117f <rpc_vcall+0x4aa>
20698 40010fd3:       8b 45 f4                mov    -0xc(%ebp),%eax
20699 40010fd6:       0f b6 84 05 e8 fe ff    movzbl -0x118(%ebp,%eax,1),%eax
20700 40010fdd:       ff 
20701 40010fde:       3c 62                   cmp    $0x62,%al
20702 40010fe0:       75 23                   jne    40011005 <rpc_vcall+0x330>
20703 40010fe2:       8b 45 f8                mov    -0x8(%ebp),%eax
20704 40010fe5:       8b 00                   mov    (%eax),%eax
20705 40010fe7:       0f b6 00                movzbl (%eax),%eax
20706 40010fea:       0f b6 c0                movzbl %al,%eax
20707 40010fed:       89 85 e0 fe ff ff       mov    %eax,-0x120(%ebp)
20708 40010ff3:       8b 45 f8                mov    -0x8(%ebp),%eax
20709 40010ff6:       8b 00                   mov    (%eax),%eax
20710 40010ff8:       8d 50 01                lea    0x1(%eax),%edx
20711 40010ffb:       8b 45 f8                mov    -0x8(%ebp),%eax
20712 40010ffe:       89 10                   mov    %edx,(%eax)
20713 40011000:       e9 76 01 00 00          jmp    4001117b <rpc_vcall+0x4a6>
20714 40011005:       8b 45 f4                mov    -0xc(%ebp),%eax
20715 40011008:       0f b6 84 05 e8 fe ff    movzbl -0x118(%ebp,%eax,1),%eax
20716 4001100f:       ff 
20717 40011010:       3c 77                   cmp    $0x77,%al
20718 40011012:       75 23                   jne    40011037 <rpc_vcall+0x362>
20719 40011014:       8b 45 f8                mov    -0x8(%ebp),%eax
20720 40011017:       8b 00                   mov    (%eax),%eax
20721 40011019:       0f b7 00                movzwl (%eax),%eax
20722 4001101c:       0f b7 c0                movzwl %ax,%eax
20723 4001101f:       89 85 e0 fe ff ff       mov    %eax,-0x120(%ebp)
20724 40011025:       8b 45 f8                mov    -0x8(%ebp),%eax
20725 40011028:       8b 00                   mov    (%eax),%eax
20726 4001102a:       8d 50 02                lea    0x2(%eax),%edx
20727 4001102d:       8b 45 f8                mov    -0x8(%ebp),%eax
20728 40011030:       89 10                   mov    %edx,(%eax)
20729 40011032:       e9 44 01 00 00          jmp    4001117b <rpc_vcall+0x4a6>
20730 40011037:       8b 45 f4                mov    -0xc(%ebp),%eax
20731 4001103a:       0f b6 84 05 e8 fe ff    movzbl -0x118(%ebp,%eax,1),%eax
20732 40011041:       ff 
20733 40011042:       3c 64                   cmp    $0x64,%al
20734 40011044:       75 1f                   jne    40011065 <rpc_vcall+0x390>
20735 40011046:       8b 45 f8                mov    -0x8(%ebp),%eax
20736 40011049:       8b 00                   mov    (%eax),%eax
20737 4001104b:       8b 00                   mov    (%eax),%eax
20738 4001104d:       89 85 e0 fe ff ff       mov    %eax,-0x120(%ebp)
20739 40011053:       8b 45 f8                mov    -0x8(%ebp),%eax
20740 40011056:       8b 00                   mov    (%eax),%eax
20741 40011058:       8d 50 04                lea    0x4(%eax),%edx
20742 4001105b:       8b 45 f8                mov    -0x8(%ebp),%eax
20743 4001105e:       89 10                   mov    %edx,(%eax)
20744 40011060:       e9 16 01 00 00          jmp    4001117b <rpc_vcall+0x4a6>
20745 40011065:       8b 45 f4                mov    -0xc(%ebp),%eax
20746 40011068:       0f b6 84 05 e8 fe ff    movzbl -0x118(%ebp,%eax,1),%eax
20747 4001106f:       ff 
20748 40011070:       3c 63                   cmp    $0x63,%al
20749 40011072:       75 23                   jne    40011097 <rpc_vcall+0x3c2>
20750 40011074:       8b 45 f8                mov    -0x8(%ebp),%eax
20751 40011077:       8b 00                   mov    (%eax),%eax
20752 40011079:       0f b6 00                movzbl (%eax),%eax
20753 4001107c:       0f be c0                movsbl %al,%eax
20754 4001107f:       89 85 e0 fe ff ff       mov    %eax,-0x120(%ebp)
20755 40011085:       8b 45 f8                mov    -0x8(%ebp),%eax
20756 40011088:       8b 00                   mov    (%eax),%eax
20757 4001108a:       8d 50 01                lea    0x1(%eax),%edx
20758 4001108d:       8b 45 f8                mov    -0x8(%ebp),%eax
20759 40011090:       89 10                   mov    %edx,(%eax)
20760 40011092:       e9 e4 00 00 00          jmp    4001117b <rpc_vcall+0x4a6>
20761 40011097:       8b 45 f4                mov    -0xc(%ebp),%eax
20762 4001109a:       0f b6 84 05 e8 fe ff    movzbl -0x118(%ebp,%eax,1),%eax
20763 400110a1:       ff 
20764 400110a2:       3c 73                   cmp    $0x73,%al
20765 400110a4:       75 21                   jne    400110c7 <rpc_vcall+0x3f2>
20766 400110a6:       8b 45 f8                mov    -0x8(%ebp),%eax
20767 400110a9:       8b 00                   mov    (%eax),%eax
20768 400110ab:       0f b7 00                movzwl (%eax),%eax
20769 400110ae:       98                      cwtl   
20770 400110af:       89 85 e0 fe ff ff       mov    %eax,-0x120(%ebp)
20771 400110b5:       8b 45 f8                mov    -0x8(%ebp),%eax
20772 400110b8:       8b 00                   mov    (%eax),%eax
20773 400110ba:       8d 50 02                lea    0x2(%eax),%edx
20774 400110bd:       8b 45 f8                mov    -0x8(%ebp),%eax
20775 400110c0:       89 10                   mov    %edx,(%eax)
20776 400110c2:       e9 b4 00 00 00          jmp    4001117b <rpc_vcall+0x4a6>
20777 400110c7:       8b 45 f4                mov    -0xc(%ebp),%eax
20778 400110ca:       0f b6 84 05 e8 fe ff    movzbl -0x118(%ebp,%eax,1),%eax
20779 400110d1:       ff 
20780 400110d2:       3c 69                   cmp    $0x69,%al
20781 400110d4:       75 1f                   jne    400110f5 <rpc_vcall+0x420>
20782 400110d6:       8b 45 f8                mov    -0x8(%ebp),%eax
20783 400110d9:       8b 00                   mov    (%eax),%eax
20784 400110db:       8b 00                   mov    (%eax),%eax
20785 400110dd:       89 85 e0 fe ff ff       mov    %eax,-0x120(%ebp)
20786 400110e3:       8b 45 f8                mov    -0x8(%ebp),%eax
20787 400110e6:       8b 00                   mov    (%eax),%eax
20788 400110e8:       8d 50 04                lea    0x4(%eax),%edx
20789 400110eb:       8b 45 f8                mov    -0x8(%ebp),%eax
20790 400110ee:       89 10                   mov    %edx,(%eax)
20791 400110f0:       e9 86 00 00 00          jmp    4001117b <rpc_vcall+0x4a6>
20792 400110f5:       8b 45 f4                mov    -0xc(%ebp),%eax
20793 400110f8:       0f b6 84 05 e8 fe ff    movzbl -0x118(%ebp,%eax,1),%eax
20794 400110ff:       ff 
20795 40011100:       3c 6c                   cmp    $0x6c,%al
20796 40011102:       75 1c                   jne    40011120 <rpc_vcall+0x44b>
20797 40011104:       8b 45 f8                mov    -0x8(%ebp),%eax
20798 40011107:       8b 00                   mov    (%eax),%eax
20799 40011109:       8b 00                   mov    (%eax),%eax
20800 4001110b:       89 85 e0 fe ff ff       mov    %eax,-0x120(%ebp)
20801 40011111:       8b 45 f8                mov    -0x8(%ebp),%eax
20802 40011114:       8b 00                   mov    (%eax),%eax
20803 40011116:       8d 50 04                lea    0x4(%eax),%edx
20804 40011119:       8b 45 f8                mov    -0x8(%ebp),%eax
20805 4001111c:       89 10                   mov    %edx,(%eax)
20806 4001111e:       eb 5b                   jmp    4001117b <rpc_vcall+0x4a6>
20807 40011120:       8b 45 f4                mov    -0xc(%ebp),%eax
20808 40011123:       0f b6 84 05 e8 fe ff    movzbl -0x118(%ebp,%eax,1),%eax
20809 4001112a:       ff 
20810 4001112b:       3c 24                   cmp    $0x24,%al
20811 4001112d:       75 4c                   jne    4001117b <rpc_vcall+0x4a6>
20812 4001112f:       8d 85 dc fe ff ff       lea    -0x124(%ebp),%eax
20813 40011135:       89 44 24 04             mov    %eax,0x4(%esp)
20814 40011139:       8b 45 f8                mov    -0x8(%ebp),%eax
20815 4001113c:       89 04 24                mov    %eax,(%esp)
20816 4001113f:       e8 5b 0f 00 00          call   4001209f <unpackstr>
20817 40011144:       8b 45 f4                mov    -0xc(%ebp),%eax
20818 40011147:       c1 e0 02                shl    $0x2,%eax
20819 4001114a:       03 45 fc                add    -0x4(%ebp),%eax
20820 4001114d:       8b 00                   mov    (%eax),%eax
20821 4001114f:       89 04 24                mov    %eax,(%esp)
20822 40011152:       e8 61 e3 ff ff          call   4000f4b8 <strlen>
20823 40011157:       8d 50 01                lea    0x1(%eax),%edx
20824 4001115a:       8b 8d dc fe ff ff       mov    -0x124(%ebp),%ecx
20825 40011160:       8b 45 f4                mov    -0xc(%ebp),%eax
20826 40011163:       c1 e0 02                shl    $0x2,%eax
20827 40011166:       03 45 fc                add    -0x4(%ebp),%eax
20828 40011169:       8b 00                   mov    (%eax),%eax
20829 4001116b:       89 54 24 08             mov    %edx,0x8(%esp)
20830 4001116f:       89 4c 24 04             mov    %ecx,0x4(%esp)
20831 40011173:       89 04 24                mov    %eax,(%esp)
20832 40011176:       e8 7d e4 ff ff          call   4000f5f8 <strncpy>
20833 4001117b:       83 45 f4 01             addl   $0x1,-0xc(%ebp)
20834 4001117f:       8b 45 f4                mov    -0xc(%ebp),%eax
20835 40011182:       0f b6 84 05 e8 fe ff    movzbl -0x118(%ebp,%eax,1),%eax
20836 40011189:       ff 
20837 4001118a:       84 c0                   test   %al,%al
20838 4001118c:       0f 85 41 fe ff ff       jne    40010fd3 <rpc_vcall+0x2fe>
20839 40011192:       c7 05 54 59 01 40 00    movl   $0x0,0x40015954
20840 40011199:       00 00 00 
20841 4001119c:       8b 45 fc                mov    -0x4(%ebp),%eax
20842 4001119f:       89 04 24                mov    %eax,(%esp)
20843 400111a2:       e8 b4 b0 ff ff          call   4000c25b <free>
20844 400111a7:       8b 45 f8                mov    -0x8(%ebp),%eax
20845 400111aa:       8b 40 04                mov    0x4(%eax),%eax
20846 400111ad:       89 04 24                mov    %eax,(%esp)
20847 400111b0:       e8 a6 b0 ff ff          call   4000c25b <free>
20848 400111b5:       8b 45 f8                mov    -0x8(%ebp),%eax
20849 400111b8:       89 04 24                mov    %eax,(%esp)
20850 400111bb:       e8 9b b0 ff ff          call   4000c25b <free>
20851 400111c0:       8b 45 ec                mov    -0x14(%ebp),%eax
20852 400111c3:       89 85 cc fe ff ff       mov    %eax,-0x134(%ebp)
20853 400111c9:       eb 14                   jmp    400111df <rpc_vcall+0x50a>
20854 400111cb:       c7 05 54 59 01 40 1c    movl   $0x1c,0x40015954
20855 400111d2:       00 00 00 
20856 400111d5:       c7 85 cc fe ff ff ff    movl   $0xffffffff,-0x134(%ebp)
20857 400111dc:       ff ff ff 
20858 400111df:       8b 85 cc fe ff ff       mov    -0x134(%ebp),%eax
20859 400111e5:       c9                      leave  
20860 400111e6:       c3                      ret    
20862 400111e7 <rpc_call>:
20863 400111e7:       55                      push   %ebp
20864 400111e8:       89 e5                   mov    %esp,%ebp
20865 400111ea:       83 ec 28                sub    $0x28,%esp
20866 400111ed:       8d 45 10                lea    0x10(%ebp),%eax
20867 400111f0:       89 45 f8                mov    %eax,-0x8(%ebp)
20868 400111f3:       8b 45 f8                mov    -0x8(%ebp),%eax
20869 400111f6:       89 44 24 08             mov    %eax,0x8(%esp)
20870 400111fa:       8b 45 0c                mov    0xc(%ebp),%eax
20871 400111fd:       89 44 24 04             mov    %eax,0x4(%esp)
20872 40011201:       8b 45 08                mov    0x8(%ebp),%eax
20873 40011204:       89 04 24                mov    %eax,(%esp)
20874 40011207:       e8 c9 fa ff ff          call   40010cd5 <rpc_vcall>
20875 4001120c:       89 45 fc                mov    %eax,-0x4(%ebp)
20876 4001120f:       8b 45 fc                mov    -0x4(%ebp),%eax
20877 40011212:       c9                      leave  
20878 40011213:       c3                      ret    
20880 40011214 <rpc_vcallself>:
20881 40011214:       55                      push   %ebp
20882 40011215:       89 e5                   mov    %esp,%ebp
20883 40011217:       81 ec 58 01 00 00       sub    $0x158,%esp
20884 4001121d:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
20885 40011224:       00 
20886 40011225:       c7 04 24 28 00 00 00    movl   $0x28,(%esp)
20887 4001122c:       e8 67 05 00 00          call   40011798 <syscall_call>
20888 40011231:       89 c2                   mov    %eax,%edx
20889 40011233:       c7 44 24 24 01 00 00    movl   $0x1,0x24(%esp)
20890 4001123a:       00 
20891 4001123b:       c7 44 24 20 00 01 00    movl   $0x100,0x20(%esp)
20892 40011242:       00 
20893 40011243:       8d 85 ec fe ff ff       lea    -0x114(%ebp),%eax
20894 40011249:       89 44 24 1c             mov    %eax,0x1c(%esp)
20895 4001124d:       c7 44 24 18 00 00 00    movl   $0x0,0x18(%esp)
20896 40011254:       00 
20897 40011255:       c7 44 24 14 00 00 00    movl   $0x0,0x14(%esp)
20898 4001125c:       00 
20899 4001125d:       89 54 24 10             mov    %edx,0x10(%esp)
20900 40011261:       8b 45 08                mov    0x8(%ebp),%eax
20901 40011264:       89 44 24 0c             mov    %eax,0xc(%esp)
20902 40011268:       c7 44 24 08 ff ff ff    movl   $0xffffffff,0x8(%esp)
20903 4001126f:       ff 
20904 40011270:       c7 44 24 04 08 00 00    movl   $0x8,0x4(%esp)
20905 40011277:       00 
20906 40011278:       c7 04 24 23 00 00 00    movl   $0x23,(%esp)
20907 4001127f:       e8 14 05 00 00          call   40011798 <syscall_call>
20908 40011284:       89 45 ec                mov    %eax,-0x14(%ebp)
20909 40011287:       83 7d ec 00             cmpl   $0x0,-0x14(%ebp)
20910 4001128b:       0f 88 83 00 00 00       js     40011314 <rpc_vcallself+0x100>
20911 40011291:       8d 85 ec fe ff ff       lea    -0x114(%ebp),%eax
20912 40011297:       89 04 24                mov    %eax,(%esp)
20913 4001129a:       e8 19 e2 ff ff          call   4000f4b8 <strlen>
20914 4001129f:       89 45 f4                mov    %eax,-0xc(%ebp)
20915 400112a2:       8b 45 f4                mov    -0xc(%ebp),%eax
20916 400112a5:       c1 e0 02                shl    $0x2,%eax
20917 400112a8:       89 04 24                mov    %eax,(%esp)
20918 400112ab:       e8 f4 aa ff ff          call   4000bda4 <malloc>
20919 400112b0:       89 45 fc                mov    %eax,-0x4(%ebp)
20920 400112b3:       c7 45 f8 00 00 00 00    movl   $0x0,-0x8(%ebp)
20921 400112ba:       eb 1e                   jmp    400112da <rpc_vcallself+0xc6>
20922 400112bc:       8b 45 f8                mov    -0x8(%ebp),%eax
20923 400112bf:       c1 e0 02                shl    $0x2,%eax
20924 400112c2:       89 c1                   mov    %eax,%ecx
20925 400112c4:       03 4d fc                add    -0x4(%ebp),%ecx
20926 400112c7:       8b 55 14                mov    0x14(%ebp),%edx
20927 400112ca:       8d 42 04                lea    0x4(%edx),%eax
20928 400112cd:       89 45 14                mov    %eax,0x14(%ebp)
20929 400112d0:       89 d0                   mov    %edx,%eax
20930 400112d2:       8b 00                   mov    (%eax),%eax
20931 400112d4:       89 01                   mov    %eax,(%ecx)
20932 400112d6:       83 45 f8 01             addl   $0x1,-0x8(%ebp)
20933 400112da:       8b 45 f8                mov    -0x8(%ebp),%eax
20934 400112dd:       3b 45 f4                cmp    -0xc(%ebp),%eax
20935 400112e0:       72 da                   jb     400112bc <rpc_vcallself+0xa8>
20936 400112e2:       8b 45 f4                mov    -0xc(%ebp),%eax
20937 400112e5:       89 44 24 08             mov    %eax,0x8(%esp)
20938 400112e9:       8b 45 fc                mov    -0x4(%ebp),%eax
20939 400112ec:       89 44 24 04             mov    %eax,0x4(%esp)
20940 400112f0:       8b 45 0c                mov    0xc(%ebp),%eax
20941 400112f3:       89 04 24                mov    %eax,(%esp)
20942 400112f6:       e8 75 0c 00 00          call   40011f70 <dyn_call>
20943 400112fb:       89 45 f0                mov    %eax,-0x10(%ebp)
20944 400112fe:       8b 45 fc                mov    -0x4(%ebp),%eax
20945 40011301:       89 04 24                mov    %eax,(%esp)
20946 40011304:       e8 52 af ff ff          call   4000c25b <free>
20947 40011309:       8b 45 f0                mov    -0x10(%ebp),%eax
20948 4001130c:       89 85 dc fe ff ff       mov    %eax,-0x124(%ebp)
20949 40011312:       eb 0a                   jmp    4001131e <rpc_vcallself+0x10a>
20950 40011314:       c7 85 dc fe ff ff ff    movl   $0xffffffff,-0x124(%ebp)
20951 4001131b:       ff ff ff 
20952 4001131e:       8b 85 dc fe ff ff       mov    -0x124(%ebp),%eax
20953 40011324:       c9                      leave  
20954 40011325:       c3                      ret    
20956 40011326 <rpc_callself>:
20957 40011326:       55                      push   %ebp
20958 40011327:       89 e5                   mov    %esp,%ebp
20959 40011329:       83 ec 28                sub    $0x28,%esp
20960 4001132c:       8d 45 14                lea    0x14(%ebp),%eax
20961 4001132f:       89 45 f8                mov    %eax,-0x8(%ebp)
20962 40011332:       8b 45 f8                mov    -0x8(%ebp),%eax
20963 40011335:       89 44 24 0c             mov    %eax,0xc(%esp)
20964 40011339:       8b 45 10                mov    0x10(%ebp),%eax
20965 4001133c:       89 44 24 08             mov    %eax,0x8(%esp)
20966 40011340:       8b 45 0c                mov    0xc(%ebp),%eax
20967 40011343:       89 44 24 04             mov    %eax,0x4(%esp)
20968 40011347:       8b 45 08                mov    0x8(%ebp),%eax
20969 4001134a:       89 04 24                mov    %eax,(%esp)
20970 4001134d:       e8 c2 fe ff ff          call   40011214 <rpc_vcallself>
20971 40011352:       89 45 fc                mov    %eax,-0x4(%ebp)
20972 40011355:       8b 45 fc                mov    -0x4(%ebp),%eax
20973 40011358:       c9                      leave  
20974 40011359:       c3                      ret    
20976 4001135a <rpc_poll>:
20977 4001135a:       55                      push   %ebp
20978 4001135b:       89 e5                   mov    %esp,%ebp
20979 4001135d:       81 ec 58 01 00 00       sub    $0x158,%esp
20980 40011363:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
20981 4001136a:       00 
20982 4001136b:       c7 04 24 28 00 00 00    movl   $0x28,(%esp)
20983 40011372:       e8 21 04 00 00          call   40011798 <syscall_call>
20984 40011377:       89 c2                   mov    %eax,%edx
20985 40011379:       c7 44 24 24 01 00 00    movl   $0x1,0x24(%esp)
20986 40011380:       00 
20987 40011381:       c7 44 24 20 00 01 00    movl   $0x100,0x20(%esp)
20988 40011388:       00 
20989 40011389:       8d 85 e8 fe ff ff       lea    -0x118(%ebp),%eax
20990 4001138f:       89 44 24 1c             mov    %eax,0x1c(%esp)
20991 40011393:       8d 45 e8                lea    -0x18(%ebp),%eax
20992 40011396:       89 44 24 18             mov    %eax,0x18(%esp)
20993 4001139a:       c7 44 24 14 01 00 00    movl   $0x1,0x14(%esp)
20994 400113a1:       00 
20995 400113a2:       89 54 24 10             mov    %edx,0x10(%esp)
20996 400113a6:       c7 44 24 0c 00 00 00    movl   $0x0,0xc(%esp)
20997 400113ad:       00 
20998 400113ae:       8b 45 08                mov    0x8(%ebp),%eax
20999 400113b1:       89 44 24 08             mov    %eax,0x8(%esp)
21000 400113b5:       c7 44 24 04 08 00 00    movl   $0x8,0x4(%esp)
21001 400113bc:       00 
21002 400113bd:       c7 04 24 23 00 00 00    movl   $0x23,(%esp)
21003 400113c4:       e8 cf 03 00 00          call   40011798 <syscall_call>
21004 400113c9:       89 45 08                mov    %eax,0x8(%ebp)
21005 400113cc:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
21006 400113d0:       0f 88 a8 02 00 00       js     4001167e <rpc_poll+0x324>
21007 400113d6:       8d 85 e8 fe ff ff       lea    -0x118(%ebp),%eax
21008 400113dc:       89 04 24                mov    %eax,(%esp)
21009 400113df:       e8 d4 e0 ff ff          call   4000f4b8 <strlen>
21010 400113e4:       89 45 ec                mov    %eax,-0x14(%ebp)
21011 400113e7:       8b 45 e8                mov    -0x18(%ebp),%eax
21012 400113ea:       89 04 24                mov    %eax,(%esp)
21013 400113ed:       e8 b2 a9 ff ff          call   4000bda4 <malloc>
21014 400113f2:       89 04 24                mov    %eax,(%esp)
21015 400113f5:       e8 aa 0b 00 00          call   40011fa4 <pack_create>
21016 400113fa:       89 45 f0                mov    %eax,-0x10(%ebp)
21017 400113fd:       8b 45 f0                mov    -0x10(%ebp),%eax
21018 40011400:       8b 40 04                mov    0x4(%eax),%eax
21019 40011403:       c7 44 24 14 48 59 01    movl   $0x40015948,0x14(%esp)
21020 4001140a:       40 
21021 4001140b:       89 44 24 10             mov    %eax,0x10(%esp)
21022 4001140f:       8d 85 e4 fe ff ff       lea    -0x11c(%ebp),%eax
21023 40011415:       89 44 24 0c             mov    %eax,0xc(%esp)
21024 40011419:       8b 45 08                mov    0x8(%ebp),%eax
21025 4001141c:       89 44 24 08             mov    %eax,0x8(%esp)
21026 40011420:       c7 44 24 04 04 00 00    movl   $0x4,0x4(%esp)
21027 40011427:       00 
21028 40011428:       c7 04 24 25 00 00 00    movl   $0x25,(%esp)
21029 4001142f:       e8 64 03 00 00          call   40011798 <syscall_call>
21030 40011434:       85 c0                   test   %eax,%eax
21031 40011436:       0f 85 42 02 00 00       jne    4001167e <rpc_poll+0x324>
21032 4001143c:       8b 45 ec                mov    -0x14(%ebp),%eax
21033 4001143f:       c1 e0 02                shl    $0x2,%eax
21034 40011442:       89 04 24                mov    %eax,(%esp)
21035 40011445:       e8 5a a9 ff ff          call   4000bda4 <malloc>
21036 4001144a:       89 45 f8                mov    %eax,-0x8(%ebp)
21037 4001144d:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
21038 40011454:       e9 a9 01 00 00          jmp    40011602 <rpc_poll+0x2a8>
21039 40011459:       8b 45 fc                mov    -0x4(%ebp),%eax
21040 4001145c:       0f b6 84 05 e8 fe ff    movzbl -0x118(%ebp,%eax,1),%eax
21041 40011463:       ff 
21042 40011464:       3c 62                   cmp    $0x62,%al
21043 40011466:       75 2a                   jne    40011492 <rpc_poll+0x138>
21044 40011468:       8b 45 fc                mov    -0x4(%ebp),%eax
21045 4001146b:       c1 e0 02                shl    $0x2,%eax
21046 4001146e:       89 c2                   mov    %eax,%edx
21047 40011470:       03 55 f8                add    -0x8(%ebp),%edx
21048 40011473:       8b 45 f0                mov    -0x10(%ebp),%eax
21049 40011476:       8b 00                   mov    (%eax),%eax
21050 40011478:       0f b6 00                movzbl (%eax),%eax
21051 4001147b:       0f b6 c0                movzbl %al,%eax
21052 4001147e:       89 02                   mov    %eax,(%edx)
21053 40011480:       8b 45 f0                mov    -0x10(%ebp),%eax
21054 40011483:       8b 00                   mov    (%eax),%eax
21055 40011485:       8d 50 01                lea    0x1(%eax),%edx
21056 40011488:       8b 45 f0                mov    -0x10(%ebp),%eax
21057 4001148b:       89 10                   mov    %edx,(%eax)
21058 4001148d:       e9 6c 01 00 00          jmp    400115fe <rpc_poll+0x2a4>
21059 40011492:       8b 45 fc                mov    -0x4(%ebp),%eax
21060 40011495:       0f b6 84 05 e8 fe ff    movzbl -0x118(%ebp,%eax,1),%eax
21061 4001149c:       ff 
21062 4001149d:       3c 77                   cmp    $0x77,%al
21063 4001149f:       75 2a                   jne    400114cb <rpc_poll+0x171>
21064 400114a1:       8b 45 fc                mov    -0x4(%ebp),%eax
21065 400114a4:       c1 e0 02                shl    $0x2,%eax
21066 400114a7:       89 c2                   mov    %eax,%edx
21067 400114a9:       03 55 f8                add    -0x8(%ebp),%edx
21068 400114ac:       8b 45 f0                mov    -0x10(%ebp),%eax
21069 400114af:       8b 00                   mov    (%eax),%eax
21070 400114b1:       0f b7 00                movzwl (%eax),%eax
21071 400114b4:       0f b7 c0                movzwl %ax,%eax
21072 400114b7:       89 02                   mov    %eax,(%edx)
21073 400114b9:       8b 45 f0                mov    -0x10(%ebp),%eax
21074 400114bc:       8b 00                   mov    (%eax),%eax
21075 400114be:       8d 50 02                lea    0x2(%eax),%edx
21076 400114c1:       8b 45 f0                mov    -0x10(%ebp),%eax
21077 400114c4:       89 10                   mov    %edx,(%eax)
21078 400114c6:       e9 33 01 00 00          jmp    400115fe <rpc_poll+0x2a4>
21079 400114cb:       8b 45 fc                mov    -0x4(%ebp),%eax
21080 400114ce:       0f b6 84 05 e8 fe ff    movzbl -0x118(%ebp,%eax,1),%eax
21081 400114d5:       ff 
21082 400114d6:       3c 64                   cmp    $0x64,%al
21083 400114d8:       75 26                   jne    40011500 <rpc_poll+0x1a6>
21084 400114da:       8b 45 fc                mov    -0x4(%ebp),%eax
21085 400114dd:       c1 e0 02                shl    $0x2,%eax
21086 400114e0:       89 c2                   mov    %eax,%edx
21087 400114e2:       03 55 f8                add    -0x8(%ebp),%edx
21088 400114e5:       8b 45 f0                mov    -0x10(%ebp),%eax
21089 400114e8:       8b 00                   mov    (%eax),%eax
21090 400114ea:       8b 00                   mov    (%eax),%eax
21091 400114ec:       89 02                   mov    %eax,(%edx)
21092 400114ee:       8b 45 f0                mov    -0x10(%ebp),%eax
21093 400114f1:       8b 00                   mov    (%eax),%eax
21094 400114f3:       8d 50 04                lea    0x4(%eax),%edx
21095 400114f6:       8b 45 f0                mov    -0x10(%ebp),%eax
21096 400114f9:       89 10                   mov    %edx,(%eax)
21097 400114fb:       e9 fe 00 00 00          jmp    400115fe <rpc_poll+0x2a4>
21098 40011500:       8b 45 fc                mov    -0x4(%ebp),%eax
21099 40011503:       0f b6 84 05 e8 fe ff    movzbl -0x118(%ebp,%eax,1),%eax
21100 4001150a:       ff 
21101 4001150b:       3c 63                   cmp    $0x63,%al
21102 4001150d:       75 2a                   jne    40011539 <rpc_poll+0x1df>
21103 4001150f:       8b 45 fc                mov    -0x4(%ebp),%eax
21104 40011512:       c1 e0 02                shl    $0x2,%eax
21105 40011515:       89 c2                   mov    %eax,%edx
21106 40011517:       03 55 f8                add    -0x8(%ebp),%edx
21107 4001151a:       8b 45 f0                mov    -0x10(%ebp),%eax
21108 4001151d:       8b 00                   mov    (%eax),%eax
21109 4001151f:       0f b6 00                movzbl (%eax),%eax
21110 40011522:       0f be c0                movsbl %al,%eax
21111 40011525:       89 02                   mov    %eax,(%edx)
21112 40011527:       8b 45 f0                mov    -0x10(%ebp),%eax
21113 4001152a:       8b 00                   mov    (%eax),%eax
21114 4001152c:       8d 50 01                lea    0x1(%eax),%edx
21115 4001152f:       8b 45 f0                mov    -0x10(%ebp),%eax
21116 40011532:       89 10                   mov    %edx,(%eax)
21117 40011534:       e9 c5 00 00 00          jmp    400115fe <rpc_poll+0x2a4>
21118 40011539:       8b 45 fc                mov    -0x4(%ebp),%eax
21119 4001153c:       0f b6 84 05 e8 fe ff    movzbl -0x118(%ebp,%eax,1),%eax
21120 40011543:       ff 
21121 40011544:       3c 73                   cmp    $0x73,%al
21122 40011546:       75 28                   jne    40011570 <rpc_poll+0x216>
21123 40011548:       8b 45 fc                mov    -0x4(%ebp),%eax
21124 4001154b:       c1 e0 02                shl    $0x2,%eax
21125 4001154e:       89 c2                   mov    %eax,%edx
21126 40011550:       03 55 f8                add    -0x8(%ebp),%edx
21127 40011553:       8b 45 f0                mov    -0x10(%ebp),%eax
21128 40011556:       8b 00                   mov    (%eax),%eax
21129 40011558:       0f b7 00                movzwl (%eax),%eax
21130 4001155b:       98                      cwtl   
21131 4001155c:       89 02                   mov    %eax,(%edx)
21132 4001155e:       8b 45 f0                mov    -0x10(%ebp),%eax
21133 40011561:       8b 00                   mov    (%eax),%eax
21134 40011563:       8d 50 02                lea    0x2(%eax),%edx
21135 40011566:       8b 45 f0                mov    -0x10(%ebp),%eax
21136 40011569:       89 10                   mov    %edx,(%eax)
21137 4001156b:       e9 8e 00 00 00          jmp    400115fe <rpc_poll+0x2a4>
21138 40011570:       8b 45 fc                mov    -0x4(%ebp),%eax
21139 40011573:       0f b6 84 05 e8 fe ff    movzbl -0x118(%ebp,%eax,1),%eax
21140 4001157a:       ff 
21141 4001157b:       3c 69                   cmp    $0x69,%al
21142 4001157d:       75 23                   jne    400115a2 <rpc_poll+0x248>
21143 4001157f:       8b 45 fc                mov    -0x4(%ebp),%eax
21144 40011582:       c1 e0 02                shl    $0x2,%eax
21145 40011585:       89 c2                   mov    %eax,%edx
21146 40011587:       03 55 f8                add    -0x8(%ebp),%edx
21147 4001158a:       8b 45 f0                mov    -0x10(%ebp),%eax
21148 4001158d:       8b 00                   mov    (%eax),%eax
21149 4001158f:       8b 00                   mov    (%eax),%eax
21150 40011591:       89 02                   mov    %eax,(%edx)
21151 40011593:       8b 45 f0                mov    -0x10(%ebp),%eax
21152 40011596:       8b 00                   mov    (%eax),%eax
21153 40011598:       8d 50 04                lea    0x4(%eax),%edx
21154 4001159b:       8b 45 f0                mov    -0x10(%ebp),%eax
21155 4001159e:       89 10                   mov    %edx,(%eax)
21156 400115a0:       eb 5c                   jmp    400115fe <rpc_poll+0x2a4>
21157 400115a2:       8b 45 fc                mov    -0x4(%ebp),%eax
21158 400115a5:       0f b6 84 05 e8 fe ff    movzbl -0x118(%ebp,%eax,1),%eax
21159 400115ac:       ff 
21160 400115ad:       3c 6c                   cmp    $0x6c,%al
21161 400115af:       75 23                   jne    400115d4 <rpc_poll+0x27a>
21162 400115b1:       8b 45 fc                mov    -0x4(%ebp),%eax
21163 400115b4:       c1 e0 02                shl    $0x2,%eax
21164 400115b7:       89 c2                   mov    %eax,%edx
21165 400115b9:       03 55 f8                add    -0x8(%ebp),%edx
21166 400115bc:       8b 45 f0                mov    -0x10(%ebp),%eax
21167 400115bf:       8b 00                   mov    (%eax),%eax
21168 400115c1:       8b 00                   mov    (%eax),%eax
21169 400115c3:       89 02                   mov    %eax,(%edx)
21170 400115c5:       8b 45 f0                mov    -0x10(%ebp),%eax
21171 400115c8:       8b 00                   mov    (%eax),%eax
21172 400115ca:       8d 50 04                lea    0x4(%eax),%edx
21173 400115cd:       8b 45 f0                mov    -0x10(%ebp),%eax
21174 400115d0:       89 10                   mov    %edx,(%eax)
21175 400115d2:       eb 2a                   jmp    400115fe <rpc_poll+0x2a4>
21176 400115d4:       8b 45 fc                mov    -0x4(%ebp),%eax
21177 400115d7:       0f b6 84 05 e8 fe ff    movzbl -0x118(%ebp,%eax,1),%eax
21178 400115de:       ff 
21179 400115df:       3c 24                   cmp    $0x24,%al
21180 400115e1:       75 1b                   jne    400115fe <rpc_poll+0x2a4>
21181 400115e3:       8b 55 f8                mov    -0x8(%ebp),%edx
21182 400115e6:       8b 45 fc                mov    -0x4(%ebp),%eax
21183 400115e9:       c1 e0 02                shl    $0x2,%eax
21184 400115ec:       8d 04 02                lea    (%edx,%eax,1),%eax
21185 400115ef:       89 44 24 04             mov    %eax,0x4(%esp)
21186 400115f3:       8b 45 f0                mov    -0x10(%ebp),%eax
21187 400115f6:       89 04 24                mov    %eax,(%esp)
21188 400115f9:       e8 a1 0a 00 00          call   4001209f <unpackstr>
21189 400115fe:       83 45 fc 01             addl   $0x1,-0x4(%ebp)
21190 40011602:       8b 45 fc                mov    -0x4(%ebp),%eax
21191 40011605:       3b 45 ec                cmp    -0x14(%ebp),%eax
21192 40011608:       0f 82 4b fe ff ff       jb     40011459 <rpc_poll+0xff>
21193 4001160e:       8b 95 e4 fe ff ff       mov    -0x11c(%ebp),%edx
21194 40011614:       8b 45 ec                mov    -0x14(%ebp),%eax
21195 40011617:       89 44 24 08             mov    %eax,0x8(%esp)
21196 4001161b:       8b 45 f8                mov    -0x8(%ebp),%eax
21197 4001161e:       89 44 24 04             mov    %eax,0x4(%esp)
21198 40011622:       89 14 24                mov    %edx,(%esp)
21199 40011625:       e8 46 09 00 00          call   40011f70 <dyn_call>
21200 4001162a:       89 45 f4                mov    %eax,-0xc(%ebp)
21201 4001162d:       8b 45 f8                mov    -0x8(%ebp),%eax
21202 40011630:       89 04 24                mov    %eax,(%esp)
21203 40011633:       e8 23 ac ff ff          call   4000c25b <free>
21204 40011638:       8b 45 f0                mov    -0x10(%ebp),%eax
21205 4001163b:       8b 40 04                mov    0x4(%eax),%eax
21206 4001163e:       89 44 24 10             mov    %eax,0x10(%esp)
21207 40011642:       8b 45 f4                mov    -0xc(%ebp),%eax
21208 40011645:       89 44 24 0c             mov    %eax,0xc(%esp)
21209 40011649:       8b 45 08                mov    0x8(%ebp),%eax
21210 4001164c:       89 44 24 08             mov    %eax,0x8(%esp)
21211 40011650:       c7 44 24 04 03 00 00    movl   $0x3,0x4(%esp)
21212 40011657:       00 
21213 40011658:       c7 04 24 26 00 00 00    movl   $0x26,(%esp)
21214 4001165f:       e8 34 01 00 00          call   40011798 <syscall_call>
21215 40011664:       85 c0                   test   %eax,%eax
21216 40011666:       75 16                   jne    4001167e <rpc_poll+0x324>
21217 40011668:       c7 05 54 59 01 40 00    movl   $0x0,0x40015954
21218 4001166f:       00 00 00 
21219 40011672:       c7 85 dc fe ff ff 00    movl   $0x0,-0x124(%ebp)
21220 40011679:       00 00 00 
21221 4001167c:       eb 14                   jmp    40011692 <rpc_poll+0x338>
21222 4001167e:       c7 05 54 59 01 40 1c    movl   $0x1c,0x40015954
21223 40011685:       00 00 00 
21224 40011688:       c7 85 dc fe ff ff ff    movl   $0xffffffff,-0x124(%ebp)
21225 4001168f:       ff ff ff 
21226 40011692:       8b 85 dc fe ff ff       mov    -0x124(%ebp),%eax
21227 40011698:       c9                      leave  
21228 40011699:       c3                      ret    
21230 4001169a <rpc_mainloop>:
21231 4001169a:       55                      push   %ebp
21232 4001169b:       89 e5                   mov    %esp,%ebp
21233 4001169d:       83 ec 08                sub    $0x8,%esp
21234 400116a0:       e8 0d 00 00 00          call   400116b2 <init_ready>
21235 400116a5:       8b 45 08                mov    0x8(%ebp),%eax
21236 400116a8:       89 04 24                mov    %eax,(%esp)
21237 400116ab:       e8 aa fc ff ff          call   4001135a <rpc_poll>
21238 400116b0:       eb f3                   jmp    400116a5 <rpc_mainloop+0xb>
21240 400116b2 <init_ready>:
21241 400116b2:       55                      push   %ebp
21242 400116b3:       89 e5                   mov    %esp,%ebp
21243 400116b5:       83 ec 08                sub    $0x8,%esp
21244 400116b8:       c7 44 24 04 0a 00 00    movl   $0xa,0x4(%esp)
21245 400116bf:       00 
21246 400116c0:       c7 04 24 01 00 00 00    movl   $0x1,(%esp)
21247 400116c7:       e8 02 00 00 00          call   400116ce <kill>
21248 400116cc:       c9                      leave  
21249 400116cd:       c3                      ret    
21251 400116ce <kill>:
21252 400116ce:       55                      push   %ebp
21253 400116cf:       89 e5                   mov    %esp,%ebp
21254 400116d1:       83 ec 18                sub    $0x18,%esp
21255 400116d4:       8b 45 0c                mov    0xc(%ebp),%eax
21256 400116d7:       89 44 24 0c             mov    %eax,0xc(%esp)
21257 400116db:       8b 45 08                mov    0x8(%ebp),%eax
21258 400116de:       89 44 24 08             mov    %eax,0x8(%esp)
21259 400116e2:       c7 44 24 04 02 00 00    movl   $0x2,0x4(%esp)
21260 400116e9:       00 
21261 400116ea:       c7 04 24 4c 00 00 00    movl   $0x4c,(%esp)
21262 400116f1:       e8 a2 00 00 00          call   40011798 <syscall_call>
21263 400116f6:       c9                      leave  
21264 400116f7:       c3                      ret    
21266 400116f8 <rpc_list>:
21267 400116f8:       55                      push   %ebp
21268 400116f9:       89 e5                   mov    %esp,%ebp
21269 400116fb:       83 ec 28                sub    $0x28,%esp
21270 400116fe:       e8 f5 e3 ff ff          call   4000faf8 <llist_create>
21271 40011703:       89 45 f0                mov    %eax,-0x10(%ebp)
21272 40011706:       c7 45 f4 00 00 00 00    movl   $0x0,-0xc(%ebp)
21273 4001170d:       c7 44 24 10 00 00 00    movl   $0x0,0x10(%esp)
21274 40011714:       00 
21275 40011715:       c7 44 24 0c 00 00 00    movl   $0x0,0xc(%esp)
21276 4001171c:       00 
21277 4001171d:       8b 45 f4                mov    -0xc(%ebp),%eax
21278 40011720:       89 44 24 08             mov    %eax,0x8(%esp)
21279 40011724:       c7 44 24 04 03 00 00    movl   $0x3,0x4(%esp)
21280 4001172b:       00 
21281 4001172c:       c7 04 24 27 00 00 00    movl   $0x27,(%esp)
21282 40011733:       e8 60 00 00 00          call   40011798 <syscall_call>
21283 40011738:       89 45 f8                mov    %eax,-0x8(%ebp)
21284 4001173b:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
21285 4001173f:       74 52                   je     40011793 <rpc_list+0x9b>
21286 40011741:       8b 45 f8                mov    -0x8(%ebp),%eax
21287 40011744:       89 04 24                mov    %eax,(%esp)
21288 40011747:       e8 58 a6 ff ff          call   4000bda4 <malloc>
21289 4001174c:       89 45 fc                mov    %eax,-0x4(%ebp)
21290 4001174f:       8b 45 f8                mov    -0x8(%ebp),%eax
21291 40011752:       89 44 24 10             mov    %eax,0x10(%esp)
21292 40011756:       8b 45 fc                mov    -0x4(%ebp),%eax
21293 40011759:       89 44 24 0c             mov    %eax,0xc(%esp)
21294 4001175d:       8b 45 f4                mov    -0xc(%ebp),%eax
21295 40011760:       89 44 24 08             mov    %eax,0x8(%esp)
21296 40011764:       c7 44 24 04 03 00 00    movl   $0x3,0x4(%esp)
21297 4001176b:       00 
21298 4001176c:       c7 04 24 27 00 00 00    movl   $0x27,(%esp)
21299 40011773:       e8 20 00 00 00          call   40011798 <syscall_call>
21300 40011778:       8b 45 fc                mov    -0x4(%ebp),%eax
21301 4001177b:       89 44 24 04             mov    %eax,0x4(%esp)
21302 4001177f:       8b 45 f0                mov    -0x10(%ebp),%eax
21303 40011782:       89 04 24                mov    %eax,(%esp)
21304 40011785:       e8 e9 e3 ff ff          call   4000fb73 <llist_push>
21305 4001178a:       83 45 f4 01             addl   $0x1,-0xc(%ebp)
21306 4001178e:       e9 7a ff ff ff          jmp    4001170d <rpc_list+0x15>
21307 40011793:       8b 45 f0                mov    -0x10(%ebp),%eax
21308 40011796:       c9                      leave  
21309 40011797:       c3                      ret    
21311 40011798 <syscall_call>:
21312 40011798:       55                      push   %ebp
21313 40011799:       89 e5                   mov    %esp,%ebp
21314 4001179b:       56                      push   %esi
21315 4001179c:       53                      push   %ebx
21316 4001179d:       83 ec 30                sub    $0x30,%esp
21317 400117a0:       89 e0                   mov    %esp,%eax
21318 400117a2:       89 45 e4                mov    %eax,-0x1c(%ebp)
21319 400117a5:       8b 75 0c                mov    0xc(%ebp),%esi
21320 400117a8:       89 75 d0                mov    %esi,-0x30(%ebp)
21321 400117ab:       c7 45 d4 00 00 00 00    movl   $0x0,-0x2c(%ebp)
21322 400117b2:       8b 45 d0                mov    -0x30(%ebp),%eax
21323 400117b5:       80 e4 ff                and    $0xff,%ah
21324 400117b8:       8b 55 d4                mov    -0x2c(%ebp),%edx
21325 400117bb:       83 e2 0f                and    $0xf,%edx
21326 400117be:       89 45 d0                mov    %eax,-0x30(%ebp)
21327 400117c1:       89 55 d4                mov    %edx,-0x2c(%ebp)
21328 400117c4:       8b 4d d0                mov    -0x30(%ebp),%ecx
21329 400117c7:       8b 5d d4                mov    -0x2c(%ebp),%ebx
21330 400117ca:       0f a4 cb 05             shld   $0x5,%ecx,%ebx
21331 400117ce:       c1 e1 05                shl    $0x5,%ecx
21332 400117d1:       89 c8                   mov    %ecx,%eax
21333 400117d3:       80 e4 ff                and    $0xff,%ah
21334 400117d6:       89 da                   mov    %ebx,%edx
21335 400117d8:       83 e2 0f                and    $0xf,%edx
21336 400117db:       89 c1                   mov    %eax,%ecx
21337 400117dd:       89 d3                   mov    %edx,%ebx
21338 400117df:       89 75 d8                mov    %esi,-0x28(%ebp)
21339 400117e2:       c7 45 dc 00 00 00 00    movl   $0x0,-0x24(%ebp)
21340 400117e9:       8b 45 d8                mov    -0x28(%ebp),%eax
21341 400117ec:       80 e4 ff                and    $0xff,%ah
21342 400117ef:       8b 55 dc                mov    -0x24(%ebp),%edx
21343 400117f2:       83 e2 0f                and    $0xf,%edx
21344 400117f5:       89 45 d8                mov    %eax,-0x28(%ebp)
21345 400117f8:       89 55 dc                mov    %edx,-0x24(%ebp)
21346 400117fb:       8b 4d d8                mov    -0x28(%ebp),%ecx
21347 400117fe:       8b 5d dc                mov    -0x24(%ebp),%ebx
21348 40011801:       0f a4 cb 05             shld   $0x5,%ecx,%ebx
21349 40011805:       c1 e1 05                shl    $0x5,%ecx
21350 40011808:       89 c8                   mov    %ecx,%eax
21351 4001180a:       80 e4 ff                and    $0xff,%ah
21352 4001180d:       89 da                   mov    %ebx,%edx
21353 4001180f:       83 e2 0f                and    $0xf,%edx
21354 40011812:       89 c1                   mov    %eax,%ecx
21355 40011814:       89 d3                   mov    %edx,%ebx
21356 40011816:       8d 04 b5 00 00 00 00    lea    0x0(,%esi,4),%eax
21357 4001181d:       83 c0 0f                add    $0xf,%eax
21358 40011820:       83 c0 0f                add    $0xf,%eax
21359 40011823:       c1 e8 04                shr    $0x4,%eax
21360 40011826:       c1 e0 04                shl    $0x4,%eax
21361 40011829:       29 c4                   sub    %eax,%esp
21362 4001182b:       89 65 e0                mov    %esp,-0x20(%ebp)
21363 4001182e:       8b 45 e0                mov    -0x20(%ebp),%eax
21364 40011831:       83 c0 0f                add    $0xf,%eax
21365 40011834:       c1 e8 04                shr    $0x4,%eax
21366 40011837:       c1 e0 04                shl    $0x4,%eax
21367 4001183a:       89 45 e0                mov    %eax,-0x20(%ebp)
21368 4001183d:       8b 45 e0                mov    -0x20(%ebp),%eax
21369 40011840:       89 45 ec                mov    %eax,-0x14(%ebp)
21370 40011843:       8d 45 10                lea    0x10(%ebp),%eax
21371 40011846:       89 45 e8                mov    %eax,-0x18(%ebp)
21372 40011849:       c7 45 f0 00 00 00 00    movl   $0x0,-0x10(%ebp)
21373 40011850:       eb 1a                   jmp    4001186c <syscall_call+0xd4>
21374 40011852:       8b 4d f0                mov    -0x10(%ebp),%ecx
21375 40011855:       8b 55 e8                mov    -0x18(%ebp),%edx
21376 40011858:       8d 42 04                lea    0x4(%edx),%eax
21377 4001185b:       89 45 e8                mov    %eax,-0x18(%ebp)
21378 4001185e:       89 d0                   mov    %edx,%eax
21379 40011860:       8b 10                   mov    (%eax),%edx
21380 40011862:       8b 45 ec                mov    -0x14(%ebp),%eax
21381 40011865:       89 14 88                mov    %edx,(%eax,%ecx,4)
21382 40011868:       83 45 f0 01             addl   $0x1,-0x10(%ebp)
21383 4001186c:       8b 45 f0                mov    -0x10(%ebp),%eax
21384 4001186f:       3b 45 0c                cmp    0xc(%ebp),%eax
21385 40011872:       72 de                   jb     40011852 <syscall_call+0xba>
21386 40011874:       8b 45 ec                mov    -0x14(%ebp),%eax
21387 40011877:       50                      push   %eax
21388 40011878:       8b 45 08                mov    0x8(%ebp),%eax
21389 4001187b:       50                      push   %eax
21390 4001187c:       cd 37                   int    $0x37
21391 4001187e:       89 45 f4                mov    %eax,-0xc(%ebp)
21392 40011881:       b8 08 00 00 00          mov    $0x8,%eax
21393 40011886:       01 c4                   add    %eax,%esp
21394 40011888:       8b 45 f4                mov    -0xc(%ebp),%eax
21395 4001188b:       8b 65 e4                mov    -0x1c(%ebp),%esp
21396 4001188e:       8d 65 f8                lea    -0x8(%ebp),%esp
21397 40011891:       5b                      pop    %ebx
21398 40011892:       5e                      pop    %esi
21399 40011893:       5d                      pop    %ebp
21400 40011894:       c3                      ret    
21401 40011895:       90                      nop    
21402 40011896:       90                      nop    
21403 40011897:       90                      nop    
21405 40011898 <abort>:
21406 40011898:       55                      push   %ebp
21407 40011899:       89 e5                   mov    %esp,%ebp
21408 4001189b:       83 ec 28                sub    $0x28,%esp
21409 4001189e:       a1 60 59 01 40          mov    0x40015960,%eax
21410 400118a3:       89 45 f8                mov    %eax,-0x8(%ebp)
21411 400118a6:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
21412 400118ad:       00 
21413 400118ae:       c7 04 24 28 00 00 00    movl   $0x28,(%esp)
21414 400118b5:       e8 de fe ff ff          call   40011798 <syscall_call>
21415 400118ba:       89 45 fc                mov    %eax,-0x4(%ebp)
21416 400118bd:       8b 45 fc                mov    -0x4(%ebp),%eax
21417 400118c0:       89 04 24                mov    %eax,(%esp)
21418 400118c3:       e8 18 0a 00 00          call   400122e0 <getname>
21419 400118c8:       89 c2                   mov    %eax,%edx
21420 400118ca:       8b 45 fc                mov    -0x4(%ebp),%eax
21421 400118cd:       89 44 24 0c             mov    %eax,0xc(%esp)
21422 400118d1:       89 54 24 08             mov    %edx,0x8(%esp)
21423 400118d5:       c7 44 24 04 14 3a 01    movl   $0x40013a14,0x4(%esp)
21424 400118dc:       40 
21425 400118dd:       8b 45 f8                mov    -0x8(%ebp),%eax
21426 400118e0:       89 04 24                mov    %eax,(%esp)
21427 400118e3:       e8 a0 73 ff ff          call   40008c88 <fprintf>
21428 400118e8:       8b 45 00                mov    0x0(%ebp),%eax
21429 400118eb:       8b 40 04                mov    0x4(%eax),%eax
21430 400118ee:       89 44 24 08             mov    %eax,0x8(%esp)
21431 400118f2:       c7 44 24 04 38 3a 01    movl   $0x40013a38,0x4(%esp)
21432 400118f9:       40 
21433 400118fa:       8b 45 f8                mov    -0x8(%ebp),%eax
21434 400118fd:       89 04 24                mov    %eax,(%esp)
21435 40011900:       e8 83 73 ff ff          call   40008c88 <fprintf>
21436 40011905:       89 e8                   mov    %ebp,%eax
21437 40011907:       89 44 24 08             mov    %eax,0x8(%esp)
21438 4001190b:       c7 44 24 04 49 3a 01    movl   $0x40013a49,0x4(%esp)
21439 40011912:       40 
21440 40011913:       8b 45 f8                mov    -0x8(%ebp),%eax
21441 40011916:       89 04 24                mov    %eax,(%esp)
21442 40011919:       e8 6a 73 ff ff          call   40008c88 <fprintf>
21443 4001191e:       e8 77 59 ff ff          call   4000729a <_close_all_filehandles>
21444 40011923:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
21445 4001192a:       00 
21446 4001192b:       c7 04 24 35 00 00 00    movl   $0x35,(%esp)
21447 40011932:       e8 61 fe ff ff          call   40011798 <syscall_call>
21448 40011937:       c9                      leave  
21449 40011938:       c3                      ret    
21450 40011939:       90                      nop    
21451 4001193a:       90                      nop    
21452 4001193b:       90                      nop    
21454 4001193c <env_init>:
21455 4001193c:       55                      push   %ebp
21456 4001193d:       89 e5                   mov    %esp,%ebp
21457 4001193f:       83 ec 08                sub    $0x8,%esp
21458 40011942:       e8 b1 e1 ff ff          call   4000faf8 <llist_create>
21459 40011947:       a3 c0 54 01 40          mov    %eax,0x400154c0
21460 4001194c:       c9                      leave  
21461 4001194d:       c3                      ret    
21463 4001194e <_findenv>:
21464 4001194e:       55                      push   %ebp
21465 4001194f:       89 e5                   mov    %esp,%ebp
21466 40011951:       83 ec 28                sub    $0x28,%esp
21467 40011954:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
21468 40011958:       74 71                   je     400119cb <_findenv+0x7d>
21469 4001195a:       8b 45 08                mov    0x8(%ebp),%eax
21470 4001195d:       89 04 24                mov    %eax,(%esp)
21471 40011960:       e8 53 db ff ff          call   4000f4b8 <strlen>
21472 40011965:       85 c0                   test   %eax,%eax
21473 40011967:       74 62                   je     400119cb <_findenv+0x7d>
21474 40011969:       c7 44 24 04 3d 00 00    movl   $0x3d,0x4(%esp)
21475 40011970:       00 
21476 40011971:       8b 45 08                mov    0x8(%ebp),%eax
21477 40011974:       89 04 24                mov    %eax,(%esp)
21478 40011977:       e8 bc d9 ff ff          call   4000f338 <strchr>
21479 4001197c:       85 c0                   test   %eax,%eax
21480 4001197e:       75 4b                   jne    400119cb <_findenv+0x7d>
21481 40011980:       c7 45 f8 00 00 00 00    movl   $0x0,-0x8(%ebp)
21482 40011987:       eb 24                   jmp    400119ad <_findenv+0x5f>
21483 40011989:       8b 45 fc                mov    -0x4(%ebp),%eax
21484 4001198c:       8b 10                   mov    (%eax),%edx
21485 4001198e:       8b 45 08                mov    0x8(%ebp),%eax
21486 40011991:       89 44 24 04             mov    %eax,0x4(%esp)
21487 40011995:       89 14 24                mov    %edx,(%esp)
21488 40011998:       e8 fb d9 ff ff          call   4000f398 <strcmp>
21489 4001199d:       85 c0                   test   %eax,%eax
21490 4001199f:       75 08                   jne    400119a9 <_findenv+0x5b>
21491 400119a1:       8b 45 f8                mov    -0x8(%ebp),%eax
21492 400119a4:       89 45 ec                mov    %eax,-0x14(%ebp)
21493 400119a7:       eb 33                   jmp    400119dc <_findenv+0x8e>
21494 400119a9:       83 45 f8 01             addl   $0x1,-0x8(%ebp)
21495 400119ad:       8b 45 f8                mov    -0x8(%ebp),%eax
21496 400119b0:       8b 15 c0 54 01 40       mov    0x400154c0,%edx
21497 400119b6:       89 44 24 04             mov    %eax,0x4(%esp)
21498 400119ba:       89 14 24                mov    %edx,(%esp)
21499 400119bd:       e8 e9 e2 ff ff          call   4000fcab <llist_get>
21500 400119c2:       89 45 fc                mov    %eax,-0x4(%ebp)
21501 400119c5:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
21502 400119c9:       75 be                   jne    40011989 <_findenv+0x3b>
21503 400119cb:       c7 05 54 59 01 40 1c    movl   $0x1c,0x40015954
21504 400119d2:       00 00 00 
21505 400119d5:       c7 45 ec ff ff ff ff    movl   $0xffffffff,-0x14(%ebp)
21506 400119dc:       8b 45 ec                mov    -0x14(%ebp),%eax
21507 400119df:       c9                      leave  
21508 400119e0:       c3                      ret    
21510 400119e1 <getenv>:
21511 400119e1:       55                      push   %ebp
21512 400119e2:       89 e5                   mov    %esp,%ebp
21513 400119e4:       83 ec 28                sub    $0x28,%esp
21514 400119e7:       8b 45 08                mov    0x8(%ebp),%eax
21515 400119ea:       89 04 24                mov    %eax,(%esp)
21516 400119ed:       e8 5c ff ff ff          call   4001194e <_findenv>
21517 400119f2:       8b 15 c0 54 01 40       mov    0x400154c0,%edx
21518 400119f8:       89 44 24 04             mov    %eax,0x4(%esp)
21519 400119fc:       89 14 24                mov    %edx,(%esp)
21520 400119ff:       e8 a7 e2 ff ff          call   4000fcab <llist_get>
21521 40011a04:       89 45 fc                mov    %eax,-0x4(%ebp)
21522 40011a07:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
21523 40011a0b:       75 09                   jne    40011a16 <getenv+0x35>
21524 40011a0d:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
21525 40011a14:       eb 09                   jmp    40011a1f <getenv+0x3e>
21526 40011a16:       8b 45 fc                mov    -0x4(%ebp),%eax
21527 40011a19:       8b 40 04                mov    0x4(%eax),%eax
21528 40011a1c:       89 45 ec                mov    %eax,-0x14(%ebp)
21529 40011a1f:       8b 45 ec                mov    -0x14(%ebp),%eax
21530 40011a22:       c9                      leave  
21531 40011a23:       c3                      ret    
21533 40011a24 <setenv>:
21534 40011a24:       55                      push   %ebp
21535 40011a25:       89 e5                   mov    %esp,%ebp
21536 40011a27:       83 ec 28                sub    $0x28,%esp
21537 40011a2a:       8b 45 08                mov    0x8(%ebp),%eax
21538 40011a2d:       89 04 24                mov    %eax,(%esp)
21539 40011a30:       e8 19 ff ff ff          call   4001194e <_findenv>
21540 40011a35:       8b 15 c0 54 01 40       mov    0x400154c0,%edx
21541 40011a3b:       89 44 24 04             mov    %eax,0x4(%esp)
21542 40011a3f:       89 14 24                mov    %edx,(%esp)
21543 40011a42:       e8 64 e2 ff ff          call   4000fcab <llist_get>
21544 40011a47:       89 45 fc                mov    %eax,-0x4(%ebp)
21545 40011a4a:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
21546 40011a4e:       75 4b                   jne    40011a9b <setenv+0x77>
21547 40011a50:       c7 04 24 08 00 00 00    movl   $0x8,(%esp)
21548 40011a57:       e8 48 a3 ff ff          call   4000bda4 <malloc>
21549 40011a5c:       89 45 fc                mov    %eax,-0x4(%ebp)
21550 40011a5f:       8b 45 08                mov    0x8(%ebp),%eax
21551 40011a62:       89 04 24                mov    %eax,(%esp)
21552 40011a65:       e8 03 da ff ff          call   4000f46d <strdup>
21553 40011a6a:       89 c2                   mov    %eax,%edx
21554 40011a6c:       8b 45 fc                mov    -0x4(%ebp),%eax
21555 40011a6f:       89 10                   mov    %edx,(%eax)
21556 40011a71:       8b 45 0c                mov    0xc(%ebp),%eax
21557 40011a74:       89 04 24                mov    %eax,(%esp)
21558 40011a77:       e8 f1 d9 ff ff          call   4000f46d <strdup>
21559 40011a7c:       89 c2                   mov    %eax,%edx
21560 40011a7e:       8b 45 fc                mov    -0x4(%ebp),%eax
21561 40011a81:       89 50 04                mov    %edx,0x4(%eax)
21562 40011a84:       8b 15 c0 54 01 40       mov    0x400154c0,%edx
21563 40011a8a:       8b 45 fc                mov    -0x4(%ebp),%eax
21564 40011a8d:       89 44 24 04             mov    %eax,0x4(%esp)
21565 40011a91:       89 14 24                mov    %edx,(%esp)
21566 40011a94:       e8 da e0 ff ff          call   4000fb73 <llist_push>
21567 40011a99:       eb 32                   jmp    40011acd <setenv+0xa9>
21568 40011a9b:       83 7d 10 00             cmpl   $0x0,0x10(%ebp)
21569 40011a9f:       74 23                   je     40011ac4 <setenv+0xa0>
21570 40011aa1:       8b 45 fc                mov    -0x4(%ebp),%eax
21571 40011aa4:       8b 40 04                mov    0x4(%eax),%eax
21572 40011aa7:       89 04 24                mov    %eax,(%esp)
21573 40011aaa:       e8 ac a7 ff ff          call   4000c25b <free>
21574 40011aaf:       8b 45 0c                mov    0xc(%ebp),%eax
21575 40011ab2:       89 04 24                mov    %eax,(%esp)
21576 40011ab5:       e8 b3 d9 ff ff          call   4000f46d <strdup>
21577 40011aba:       89 c2                   mov    %eax,%edx
21578 40011abc:       8b 45 fc                mov    -0x4(%ebp),%eax
21579 40011abf:       89 50 04                mov    %edx,0x4(%eax)
21580 40011ac2:       eb 09                   jmp    40011acd <setenv+0xa9>
21581 40011ac4:       c7 45 ec ff ff ff ff    movl   $0xffffffff,-0x14(%ebp)
21582 40011acb:       eb 07                   jmp    40011ad4 <setenv+0xb0>
21583 40011acd:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
21584 40011ad4:       8b 45 ec                mov    -0x14(%ebp),%eax
21585 40011ad7:       c9                      leave  
21586 40011ad8:       c3                      ret    
21588 40011ad9 <unsetenv>:
21589 40011ad9:       55                      push   %ebp
21590 40011ada:       89 e5                   mov    %esp,%ebp
21591 40011adc:       83 ec 28                sub    $0x28,%esp
21592 40011adf:       8b 45 08                mov    0x8(%ebp),%eax
21593 40011ae2:       89 04 24                mov    %eax,(%esp)
21594 40011ae5:       e8 64 fe ff ff          call   4001194e <_findenv>
21595 40011aea:       89 45 f8                mov    %eax,-0x8(%ebp)
21596 40011aed:       83 7d f8 ff             cmpl   $0xffffffff,-0x8(%ebp)
21597 40011af1:       74 47                   je     40011b3a <unsetenv+0x61>
21598 40011af3:       8b 45 f8                mov    -0x8(%ebp),%eax
21599 40011af6:       8b 15 c0 54 01 40       mov    0x400154c0,%edx
21600 40011afc:       89 44 24 04             mov    %eax,0x4(%esp)
21601 40011b00:       89 14 24                mov    %edx,(%esp)
21602 40011b03:       e8 75 e2 ff ff          call   4000fd7d <llist_remove>
21603 40011b08:       89 45 fc                mov    %eax,-0x4(%ebp)
21604 40011b0b:       8b 45 fc                mov    -0x4(%ebp),%eax
21605 40011b0e:       8b 00                   mov    (%eax),%eax
21606 40011b10:       89 04 24                mov    %eax,(%esp)
21607 40011b13:       e8 43 a7 ff ff          call   4000c25b <free>
21608 40011b18:       8b 45 fc                mov    -0x4(%ebp),%eax
21609 40011b1b:       8b 40 04                mov    0x4(%eax),%eax
21610 40011b1e:       89 04 24                mov    %eax,(%esp)
21611 40011b21:       e8 35 a7 ff ff          call   4000c25b <free>
21612 40011b26:       8b 45 fc                mov    -0x4(%ebp),%eax
21613 40011b29:       89 04 24                mov    %eax,(%esp)
21614 40011b2c:       e8 2a a7 ff ff          call   4000c25b <free>
21615 40011b31:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
21616 40011b38:       eb 11                   jmp    40011b4b <unsetenv+0x72>
21617 40011b3a:       c7 05 54 59 01 40 1c    movl   $0x1c,0x40015954
21618 40011b41:       00 00 00 
21619 40011b44:       c7 45 ec ff ff ff ff    movl   $0xffffffff,-0x14(%ebp)
21620 40011b4b:       8b 45 ec                mov    -0x14(%ebp),%eax
21621 40011b4e:       c9                      leave  
21622 40011b4f:       c3                      ret    
21624 40011b50 <signal_create>:
21625 40011b50:       55                      push   %ebp
21626 40011b51:       89 e5                   mov    %esp,%ebp
21627 40011b53:       8b 45 08                mov    0x8(%ebp),%eax
21628 40011b56:       89 c2                   mov    %eax,%edx
21629 40011b58:       c1 e2 04                shl    $0x4,%edx
21630 40011b5b:       8b 45 0c                mov    0xc(%ebp),%eax
21631 40011b5e:       89 82 e0 54 01 40       mov    %eax,0x400154e0(%edx)
21632 40011b64:       8b 45 08                mov    0x8(%ebp),%eax
21633 40011b67:       89 c2                   mov    %eax,%edx
21634 40011b69:       c1 e2 04                shl    $0x4,%edx
21635 40011b6c:       8b 45 0c                mov    0xc(%ebp),%eax
21636 40011b6f:       89 82 e4 54 01 40       mov    %eax,0x400154e4(%edx)
21637 40011b75:       5d                      pop    %ebp
21638 40011b76:       c3                      ret    
21640 40011b77 <_signal_handler>:
21641 40011b77:       55                      push   %ebp
21642 40011b78:       89 e5                   mov    %esp,%ebp
21643 40011b7a:       83 ec 08                sub    $0x8,%esp
21644 40011b7d:       83 7d 08 3f             cmpl   $0x3f,0x8(%ebp)
21645 40011b81:       7f 4e                   jg     40011bd1 <_signal_handler+0x5a>
21646 40011b83:       8b 45 08                mov    0x8(%ebp),%eax
21647 40011b86:       c1 e0 04                shl    $0x4,%eax
21648 40011b89:       8b 80 e4 54 01 40       mov    0x400154e4(%eax),%eax
21649 40011b8f:       85 c0                   test   %eax,%eax
21650 40011b91:       74 3e                   je     40011bd1 <_signal_handler+0x5a>
21651 40011b93:       8b 45 08                mov    0x8(%ebp),%eax
21652 40011b96:       c1 e0 04                shl    $0x4,%eax
21653 40011b99:       8b 90 e4 54 01 40       mov    0x400154e4(%eax),%edx
21654 40011b9f:       8b 45 08                mov    0x8(%ebp),%eax
21655 40011ba2:       89 04 24                mov    %eax,(%esp)
21656 40011ba5:       ff d2                   call   *%edx
21657 40011ba7:       8b 45 08                mov    0x8(%ebp),%eax
21658 40011baa:       c1 e0 04                shl    $0x4,%eax
21659 40011bad:       8b 80 ec 54 01 40       mov    0x400154ec(%eax),%eax
21660 40011bb3:       85 c0                   test   %eax,%eax
21661 40011bb5:       74 1a                   je     40011bd1 <_signal_handler+0x5a>
21662 40011bb7:       8b 4d 08                mov    0x8(%ebp),%ecx
21663 40011bba:       8b 45 08                mov    0x8(%ebp),%eax
21664 40011bbd:       c1 e0 04                shl    $0x4,%eax
21665 40011bc0:       8b 90 e0 54 01 40       mov    0x400154e0(%eax),%edx
21666 40011bc6:       89 c8                   mov    %ecx,%eax
21667 40011bc8:       c1 e0 04                shl    $0x4,%eax
21668 40011bcb:       89 90 e4 54 01 40       mov    %edx,0x400154e4(%eax)
21669 40011bd1:       c9                      leave  
21670 40011bd2:       c3                      ret    
21672 40011bd3 <_signal_dfl_ignore>:
21673 40011bd3:       55                      push   %ebp
21674 40011bd4:       89 e5                   mov    %esp,%ebp
21675 40011bd6:       5d                      pop    %ebp
21676 40011bd7:       c3                      ret    
21678 40011bd8 <signal_dfl_term>:
21679 40011bd8:       55                      push   %ebp
21680 40011bd9:       89 e5                   mov    %esp,%ebp
21681 40011bdb:       83 ec 08                sub    $0x8,%esp
21682 40011bde:       c7 04 24 01 00 00 00    movl   $0x1,(%esp)
21683 40011be5:       e8 5a c3 ff ff          call   4000df44 <_Exit>
21684 40011bea:       c9                      leave  
21685 40011beb:       c3                      ret    
21687 40011bec <signal_dfl_abort>:
21688 40011bec:       55                      push   %ebp
21689 40011bed:       89 e5                   mov    %esp,%ebp
21690 40011bef:       83 ec 08                sub    $0x8,%esp
21691 40011bf2:       e8 a1 fc ff ff          call   40011898 <abort>
21692 40011bf7:       c9                      leave  
21693 40011bf8:       c3                      ret    
21695 40011bf9 <signal_dfl_cont>:
21696 40011bf9:       55                      push   %ebp
21697 40011bfa:       89 e5                   mov    %esp,%ebp
21698 40011bfc:       5d                      pop    %ebp
21699 40011bfd:       c3                      ret    
21701 40011bfe <signal_dfl_stop>:
21702 40011bfe:       55                      push   %ebp
21703 40011bff:       89 e5                   mov    %esp,%ebp
21704 40011c01:       83 ec 08                sub    $0x8,%esp
21705 40011c04:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
21706 40011c0b:       00 
21707 40011c0c:       c7 04 24 36 00 00 00    movl   $0x36,(%esp)
21708 40011c13:       e8 80 fb ff ff          call   40011798 <syscall_call>
21709 40011c18:       c9                      leave  
21710 40011c19:       c3                      ret    
21712 40011c1a <_signal_init>:
21713 40011c1a:       55                      push   %ebp
21714 40011c1b:       89 e5                   mov    %esp,%ebp
21715 40011c1d:       83 ec 18                sub    $0x18,%esp
21716 40011c20:       c7 44 24 08 00 04 00    movl   $0x400,0x8(%esp)
21717 40011c27:       00 
21718 40011c28:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
21719 40011c2f:       00 
21720 40011c30:       c7 04 24 e0 54 01 40    movl   $0x400154e0,(%esp)
21721 40011c37:       e8 a1 d6 ff ff          call   4000f2dd <memset>
21722 40011c3c:       c7 44 24 08 5d 3a 01    movl   $0x40013a5d,0x8(%esp)
21723 40011c43:       40 
21724 40011c44:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
21725 40011c4b:       00 
21726 40011c4c:       c7 04 24 4b 00 00 00    movl   $0x4b,(%esp)
21727 40011c53:       e8 40 fb ff ff          call   40011798 <syscall_call>
21728 40011c58:       c7 44 24 04 ec 1b 01    movl   $0x40011bec,0x4(%esp)
21729 40011c5f:       40 
21730 40011c60:       c7 04 24 06 00 00 00    movl   $0x6,(%esp)
21731 40011c67:       e8 e4 fe ff ff          call   40011b50 <signal_create>
21732 40011c6c:       c7 44 24 04 d8 1b 01    movl   $0x40011bd8,0x4(%esp)
21733 40011c73:       40 
21734 40011c74:       c7 04 24 0e 00 00 00    movl   $0xe,(%esp)
21735 40011c7b:       e8 d0 fe ff ff          call   40011b50 <signal_create>
21736 40011c80:       c7 44 24 04 ec 1b 01    movl   $0x40011bec,0x4(%esp)
21737 40011c87:       40 
21738 40011c88:       c7 04 24 07 00 00 00    movl   $0x7,(%esp)
21739 40011c8f:       e8 bc fe ff ff          call   40011b50 <signal_create>
21740 40011c94:       c7 44 24 04 d3 1b 01    movl   $0x40011bd3,0x4(%esp)
21741 40011c9b:       40 
21742 40011c9c:       c7 04 24 11 00 00 00    movl   $0x11,(%esp)
21743 40011ca3:       e8 a8 fe ff ff          call   40011b50 <signal_create>
21744 40011ca8:       c7 44 24 04 f9 1b 01    movl   $0x40011bf9,0x4(%esp)
21745 40011caf:       40 
21746 40011cb0:       c7 04 24 12 00 00 00    movl   $0x12,(%esp)
21747 40011cb7:       e8 94 fe ff ff          call   40011b50 <signal_create>
21748 40011cbc:       c7 44 24 04 ec 1b 01    movl   $0x40011bec,0x4(%esp)
21749 40011cc3:       40 
21750 40011cc4:       c7 04 24 08 00 00 00    movl   $0x8,(%esp)
21751 40011ccb:       e8 80 fe ff ff          call   40011b50 <signal_create>
21752 40011cd0:       c7 44 24 04 d8 1b 01    movl   $0x40011bd8,0x4(%esp)
21753 40011cd7:       40 
21754 40011cd8:       c7 04 24 01 00 00 00    movl   $0x1,(%esp)
21755 40011cdf:       e8 6c fe ff ff          call   40011b50 <signal_create>
21756 40011ce4:       c7 44 24 04 ec 1b 01    movl   $0x40011bec,0x4(%esp)
21757 40011ceb:       40 
21758 40011cec:       c7 04 24 04 00 00 00    movl   $0x4,(%esp)
21759 40011cf3:       e8 58 fe ff ff          call   40011b50 <signal_create>
21760 40011cf8:       c7 44 24 04 d8 1b 01    movl   $0x40011bd8,0x4(%esp)
21761 40011cff:       40 
21762 40011d00:       c7 04 24 02 00 00 00    movl   $0x2,(%esp)
21763 40011d07:       e8 44 fe ff ff          call   40011b50 <signal_create>
21764 40011d0c:       c7 44 24 04 d8 1b 01    movl   $0x40011bd8,0x4(%esp)
21765 40011d13:       40 
21766 40011d14:       c7 04 24 09 00 00 00    movl   $0x9,(%esp)
21767 40011d1b:       e8 30 fe ff ff          call   40011b50 <signal_create>
21768 40011d20:       c7 44 24 04 d8 1b 01    movl   $0x40011bd8,0x4(%esp)
21769 40011d27:       40 
21770 40011d28:       c7 04 24 0d 00 00 00    movl   $0xd,(%esp)
21771 40011d2f:       e8 1c fe ff ff          call   40011b50 <signal_create>
21772 40011d34:       c7 44 24 04 ec 1b 01    movl   $0x40011bec,0x4(%esp)
21773 40011d3b:       40 
21774 40011d3c:       c7 04 24 03 00 00 00    movl   $0x3,(%esp)
21775 40011d43:       e8 08 fe ff ff          call   40011b50 <signal_create>
21776 40011d48:       c7 44 24 04 ec 1b 01    movl   $0x40011bec,0x4(%esp)
21777 40011d4f:       40 
21778 40011d50:       c7 04 24 0b 00 00 00    movl   $0xb,(%esp)
21779 40011d57:       e8 f4 fd ff ff          call   40011b50 <signal_create>
21780 40011d5c:       c7 44 24 04 fe 1b 01    movl   $0x40011bfe,0x4(%esp)
21781 40011d63:       40 
21782 40011d64:       c7 04 24 13 00 00 00    movl   $0x13,(%esp)
21783 40011d6b:       e8 e0 fd ff ff          call   40011b50 <signal_create>
21784 40011d70:       c7 44 24 04 d8 1b 01    movl   $0x40011bd8,0x4(%esp)
21785 40011d77:       40 
21786 40011d78:       c7 04 24 0f 00 00 00    movl   $0xf,(%esp)
21787 40011d7f:       e8 cc fd ff ff          call   40011b50 <signal_create>
21788 40011d84:       c7 44 24 04 fe 1b 01    movl   $0x40011bfe,0x4(%esp)
21789 40011d8b:       40 
21790 40011d8c:       c7 04 24 14 00 00 00    movl   $0x14,(%esp)
21791 40011d93:       e8 b8 fd ff ff          call   40011b50 <signal_create>
21792 40011d98:       c7 44 24 04 fe 1b 01    movl   $0x40011bfe,0x4(%esp)
21793 40011d9f:       40 
21794 40011da0:       c7 04 24 15 00 00 00    movl   $0x15,(%esp)
21795 40011da7:       e8 a4 fd ff ff          call   40011b50 <signal_create>
21796 40011dac:       c7 44 24 04 fe 1b 01    movl   $0x40011bfe,0x4(%esp)
21797 40011db3:       40 
21798 40011db4:       c7 04 24 16 00 00 00    movl   $0x16,(%esp)
21799 40011dbb:       e8 90 fd ff ff          call   40011b50 <signal_create>
21800 40011dc0:       c7 44 24 04 d8 1b 01    movl   $0x40011bd8,0x4(%esp)
21801 40011dc7:       40 
21802 40011dc8:       c7 04 24 0a 00 00 00    movl   $0xa,(%esp)
21803 40011dcf:       e8 7c fd ff ff          call   40011b50 <signal_create>
21804 40011dd4:       c7 44 24 04 d8 1b 01    movl   $0x40011bd8,0x4(%esp)
21805 40011ddb:       40 
21806 40011ddc:       c7 04 24 0c 00 00 00    movl   $0xc,(%esp)
21807 40011de3:       e8 68 fd ff ff          call   40011b50 <signal_create>
21808 40011de8:       c7 44 24 04 d8 1b 01    movl   $0x40011bd8,0x4(%esp)
21809 40011def:       40 
21810 40011df0:       c7 04 24 1b 00 00 00    movl   $0x1b,(%esp)
21811 40011df7:       e8 54 fd ff ff          call   40011b50 <signal_create>
21812 40011dfc:       c7 44 24 04 ec 1b 01    movl   $0x40011bec,0x4(%esp)
21813 40011e03:       40 
21814 40011e04:       c7 04 24 1f 00 00 00    movl   $0x1f,(%esp)
21815 40011e0b:       e8 40 fd ff ff          call   40011b50 <signal_create>
21816 40011e10:       c7 44 24 04 ec 1b 01    movl   $0x40011bec,0x4(%esp)
21817 40011e17:       40 
21818 40011e18:       c7 04 24 05 00 00 00    movl   $0x5,(%esp)
21819 40011e1f:       e8 2c fd ff ff          call   40011b50 <signal_create>
21820 40011e24:       c7 44 24 04 d3 1b 01    movl   $0x40011bd3,0x4(%esp)
21821 40011e2b:       40 
21822 40011e2c:       c7 04 24 17 00 00 00    movl   $0x17,(%esp)
21823 40011e33:       e8 18 fd ff ff          call   40011b50 <signal_create>
21824 40011e38:       c7 44 24 04 ec 1b 01    movl   $0x40011bec,0x4(%esp)
21825 40011e3f:       40 
21826 40011e40:       c7 04 24 18 00 00 00    movl   $0x18,(%esp)
21827 40011e47:       e8 04 fd ff ff          call   40011b50 <signal_create>
21828 40011e4c:       c7 44 24 04 ec 1b 01    movl   $0x40011bec,0x4(%esp)
21829 40011e53:       40 
21830 40011e54:       c7 04 24 19 00 00 00    movl   $0x19,(%esp)
21831 40011e5b:       e8 f0 fc ff ff          call   40011b50 <signal_create>
21832 40011e60:       c9                      leave  
21833 40011e61:       c3                      ret    
21835 40011e62 <signal>:
21836 40011e62:       55                      push   %ebp
21837 40011e63:       89 e5                   mov    %esp,%ebp
21838 40011e65:       83 7d 08 3f             cmpl   $0x3f,0x8(%ebp)
21839 40011e69:       7f 4f                   jg     40011eba <signal+0x58>
21840 40011e6b:       83 7d 08 09             cmpl   $0x9,0x8(%ebp)
21841 40011e6f:       74 49                   je     40011eba <signal+0x58>
21842 40011e71:       83 7d 08 13             cmpl   $0x13,0x8(%ebp)
21843 40011e75:       74 43                   je     40011eba <signal+0x58>
21844 40011e77:       83 7d 0c 00             cmpl   $0x0,0xc(%ebp)
21845 40011e7b:       75 1c                   jne    40011e99 <signal+0x37>
21846 40011e7d:       8b 4d 08                mov    0x8(%ebp),%ecx
21847 40011e80:       8b 45 08                mov    0x8(%ebp),%eax
21848 40011e83:       c1 e0 04                shl    $0x4,%eax
21849 40011e86:       8b 90 e0 54 01 40       mov    0x400154e0(%eax),%edx
21850 40011e8c:       89 c8                   mov    %ecx,%eax
21851 40011e8e:       c1 e0 04                shl    $0x4,%eax
21852 40011e91:       89 90 e4 54 01 40       mov    %edx,0x400154e4(%eax)
21853 40011e97:       eb 11                   jmp    40011eaa <signal+0x48>
21854 40011e99:       8b 45 08                mov    0x8(%ebp),%eax
21855 40011e9c:       89 c2                   mov    %eax,%edx
21856 40011e9e:       c1 e2 04                shl    $0x4,%edx
21857 40011ea1:       8b 45 0c                mov    0xc(%ebp),%eax
21858 40011ea4:       89 82 e4 54 01 40       mov    %eax,0x400154e4(%edx)
21859 40011eaa:       8b 45 08                mov    0x8(%ebp),%eax
21860 40011ead:       c1 e0 04                shl    $0x4,%eax
21861 40011eb0:       c7 80 ec 54 01 40 00    movl   $0x0,0x400154ec(%eax)
21862 40011eb7:       00 00 00 
21863 40011eba:       8b 45 08                mov    0x8(%ebp),%eax
21864 40011ebd:       c1 e0 04                shl    $0x4,%eax
21865 40011ec0:       8b 80 e4 54 01 40       mov    0x400154e4(%eax),%eax
21866 40011ec6:       5d                      pop    %ebp
21867 40011ec7:       c3                      ret    
21869 40011ec8 <sysv_signal>:
21870 40011ec8:       55                      push   %ebp
21871 40011ec9:       89 e5                   mov    %esp,%ebp
21872 40011ecb:       83 7d 08 3f             cmpl   $0x3f,0x8(%ebp)
21873 40011ecf:       7f 4f                   jg     40011f20 <sysv_signal+0x58>
21874 40011ed1:       83 7d 08 09             cmpl   $0x9,0x8(%ebp)
21875 40011ed5:       74 49                   je     40011f20 <sysv_signal+0x58>
21876 40011ed7:       83 7d 08 13             cmpl   $0x13,0x8(%ebp)
21877 40011edb:       74 43                   je     40011f20 <sysv_signal+0x58>
21878 40011edd:       83 7d 0c 00             cmpl   $0x0,0xc(%ebp)
21879 40011ee1:       75 1c                   jne    40011eff <sysv_signal+0x37>
21880 40011ee3:       8b 4d 08                mov    0x8(%ebp),%ecx
21881 40011ee6:       8b 45 08                mov    0x8(%ebp),%eax
21882 40011ee9:       c1 e0 04                shl    $0x4,%eax
21883 40011eec:       8b 90 e0 54 01 40       mov    0x400154e0(%eax),%edx
21884 40011ef2:       89 c8                   mov    %ecx,%eax
21885 40011ef4:       c1 e0 04                shl    $0x4,%eax
21886 40011ef7:       89 90 e4 54 01 40       mov    %edx,0x400154e4(%eax)
21887 40011efd:       eb 11                   jmp    40011f10 <sysv_signal+0x48>
21888 40011eff:       8b 45 08                mov    0x8(%ebp),%eax
21889 40011f02:       89 c2                   mov    %eax,%edx
21890 40011f04:       c1 e2 04                shl    $0x4,%edx
21891 40011f07:       8b 45 0c                mov    0xc(%ebp),%eax
21892 40011f0a:       89 82 e4 54 01 40       mov    %eax,0x400154e4(%edx)
21893 40011f10:       8b 45 08                mov    0x8(%ebp),%eax
21894 40011f13:       c1 e0 04                shl    $0x4,%eax
21895 40011f16:       c7 80 ec 54 01 40 01    movl   $0x1,0x400154ec(%eax)
21896 40011f1d:       00 00 00 
21897 40011f20:       8b 45 08                mov    0x8(%ebp),%eax
21898 40011f23:       c1 e0 04                shl    $0x4,%eax
21899 40011f26:       8b 80 e4 54 01 40       mov    0x400154e4(%eax),%eax
21900 40011f2c:       5d                      pop    %ebp
21901 40011f2d:       c3                      ret    
21902 40011f2e:       90                      nop    
21903 40011f2f:       90                      nop    
21905 40011f30 <snprintf>:
21906 40011f30:       55                      push   %ebp
21907 40011f31:       89 e5                   mov    %esp,%ebp
21908 40011f33:       83 ec 28                sub    $0x28,%esp
21909 40011f36:       8d 45 14                lea    0x14(%ebp),%eax
21910 40011f39:       89 45 f8                mov    %eax,-0x8(%ebp)
21911 40011f3c:       8b 45 f8                mov    -0x8(%ebp),%eax
21912 40011f3f:       89 44 24 0c             mov    %eax,0xc(%esp)
21913 40011f43:       8b 45 10                mov    0x10(%ebp),%eax
21914 40011f46:       89 44 24 08             mov    %eax,0x8(%esp)
21915 40011f4a:       8b 45 0c                mov    0xc(%ebp),%eax
21916 40011f4d:       89 44 24 04             mov    %eax,0x4(%esp)
21917 40011f51:       8b 45 08                mov    0x8(%ebp),%eax
21918 40011f54:       89 04 24                mov    %eax,(%esp)
21919 40011f57:       e8 01 c9 ff ff          call   4000e85d <vsnprintf>
21920 40011f5c:       89 45 fc                mov    %eax,-0x4(%ebp)
21921 40011f5f:       8b 45 fc                mov    -0x4(%ebp),%eax
21922 40011f62:       c9                      leave  
21923 40011f63:       c3                      ret    
21924 40011f64:       90                      nop    
21925 40011f65:       90                      nop    
21926 40011f66:       90                      nop    
21927 40011f67:       90                      nop    
21928 40011f68:       90                      nop    
21929 40011f69:       90                      nop    
21930 40011f6a:       90                      nop    
21931 40011f6b:       90                      nop    
21932 40011f6c:       90                      nop    
21933 40011f6d:       90                      nop    
21934 40011f6e:       90                      nop    
21935 40011f6f:       90                      nop    
21937 40011f70 <dyn_call>:
21938 40011f70:       55                      push   %ebp
21939 40011f71:       53                      push   %ebx
21940 40011f72:       89 e5                   mov    %esp,%ebp
21941 40011f74:       8b 45 0c                mov    0xc(%ebp),%eax
21942 40011f77:       8b 5d 10                mov    0x10(%ebp),%ebx
21943 40011f7a:       8b 55 14                mov    0x14(%ebp),%edx
21944 40011f7d:       50                      push   %eax
21945 40011f7e:       52                      push   %edx
21946 40011f7f:       b8 04 00 00 00          mov    $0x4,%eax
21947 40011f84:       f7 e2                   mul    %edx
21948 40011f86:       01 c3                   add    %eax,%ebx
21949 40011f88:       5a                      pop    %edx
21950 40011f89:       58                      pop    %eax
21951 40011f8a:       09 d2                   or     %edx,%edx
21952 40011f8c:       74 0c                   je     40011f9a <dyn_call.lpe>
21953 40011f8e:       89 d1                   mov    %edx,%ecx
21955 40011f90 <dyn_call.lpb>:
21956 40011f90:       81 eb 04 00 00 00       sub    $0x4,%ebx
21957 40011f96:       ff 33                   pushl  (%ebx)
21958 40011f98:       e2 f6                   loop   40011f90 <dyn_call.lpb>
21960 40011f9a <dyn_call.lpe>:
21961 40011f9a:       ff d0                   call   *%eax
21962 40011f9c:       89 ec                   mov    %ebp,%esp
21963 40011f9e:       5b                      pop    %ebx
21964 40011f9f:       5d                      pop    %ebp
21965 40011fa0:       c3                      ret    
21966 40011fa1:       90                      nop    
21967 40011fa2:       90                      nop    
21968 40011fa3:       90                      nop    
21970 40011fa4 <pack_create>:
21971 40011fa4:       55                      push   %ebp
21972 40011fa5:       89 e5                   mov    %esp,%ebp
21973 40011fa7:       83 ec 18                sub    $0x18,%esp
21974 40011faa:       c7 04 24 08 00 00 00    movl   $0x8,(%esp)
21975 40011fb1:       e8 ee 9d ff ff          call   4000bda4 <malloc>
21976 40011fb6:       89 45 fc                mov    %eax,-0x4(%ebp)
21977 40011fb9:       8b 55 fc                mov    -0x4(%ebp),%edx
21978 40011fbc:       8b 45 08                mov    0x8(%ebp),%eax
21979 40011fbf:       89 42 04                mov    %eax,0x4(%edx)
21980 40011fc2:       8b 55 fc                mov    -0x4(%ebp),%edx
21981 40011fc5:       8b 45 08                mov    0x8(%ebp),%eax
21982 40011fc8:       89 02                   mov    %eax,(%edx)
21983 40011fca:       8b 45 fc                mov    -0x4(%ebp),%eax
21984 40011fcd:       c9                      leave  
21985 40011fce:       c3                      ret    
21987 40011fcf <packstr>:
21988 40011fcf:       55                      push   %ebp
21989 40011fd0:       89 e5                   mov    %esp,%ebp
21990 40011fd2:       53                      push   %ebx
21991 40011fd3:       83 ec 14                sub    $0x14,%esp
21992 40011fd6:       8b 45 08                mov    0x8(%ebp),%eax
21993 40011fd9:       8b 00                   mov    (%eax),%eax
21994 40011fdb:       89 c2                   mov    %eax,%edx
21995 40011fdd:       8b 45 0c                mov    0xc(%ebp),%eax
21996 40011fe0:       89 44 24 04             mov    %eax,0x4(%esp)
21997 40011fe4:       89 14 24                mov    %edx,(%esp)
21998 40011fe7:       e8 39 d4 ff ff          call   4000f425 <strcpy>
21999 40011fec:       8b 45 08                mov    0x8(%ebp),%eax
22000 40011fef:       8b 18                   mov    (%eax),%ebx
22001 40011ff1:       8b 45 0c                mov    0xc(%ebp),%eax
22002 40011ff4:       89 04 24                mov    %eax,(%esp)
22003 40011ff7:       e8 bc d4 ff ff          call   4000f4b8 <strlen>
22004 40011ffc:       83 c0 01                add    $0x1,%eax
22005 40011fff:       8d 14 03                lea    (%ebx,%eax,1),%edx
22006 40012002:       8b 45 08                mov    0x8(%ebp),%eax
22007 40012005:       89 10                   mov    %edx,(%eax)
22008 40012007:       83 c4 14                add    $0x14,%esp
22009 4001200a:       5b                      pop    %ebx
22010 4001200b:       5d                      pop    %ebp
22011 4001200c:       c3                      ret    
22013 4001200d <packnstr>:
22014 4001200d:       55                      push   %ebp
22015 4001200e:       89 e5                   mov    %esp,%ebp
22016 40012010:       53                      push   %ebx
22017 40012011:       83 ec 14                sub    $0x14,%esp
22018 40012014:       8b 45 08                mov    0x8(%ebp),%eax
22019 40012017:       8b 00                   mov    (%eax),%eax
22020 40012019:       89 c2                   mov    %eax,%edx
22021 4001201b:       8b 45 10                mov    0x10(%ebp),%eax
22022 4001201e:       89 44 24 08             mov    %eax,0x8(%esp)
22023 40012022:       8b 45 0c                mov    0xc(%ebp),%eax
22024 40012025:       89 44 24 04             mov    %eax,0x4(%esp)
22025 40012029:       89 14 24                mov    %edx,(%esp)
22026 4001202c:       e8 c7 d5 ff ff          call   4000f5f8 <strncpy>
22027 40012031:       8b 45 08                mov    0x8(%ebp),%eax
22028 40012034:       8b 18                   mov    (%eax),%ebx
22029 40012036:       8b 45 08                mov    0x8(%ebp),%eax
22030 40012039:       8b 00                   mov    (%eax),%eax
22031 4001203b:       89 04 24                mov    %eax,(%esp)
22032 4001203e:       e8 75 d4 ff ff          call   4000f4b8 <strlen>
22033 40012043:       83 c0 01                add    $0x1,%eax
22034 40012046:       8d 14 03                lea    (%ebx,%eax,1),%edx
22035 40012049:       8b 45 08                mov    0x8(%ebp),%eax
22036 4001204c:       89 10                   mov    %edx,(%eax)
22037 4001204e:       83 c4 14                add    $0x14,%esp
22038 40012051:       5b                      pop    %ebx
22039 40012052:       5d                      pop    %ebp
22040 40012053:       c3                      ret    
22042 40012054 <packdata>:
22043 40012054:       55                      push   %ebp
22044 40012055:       89 e5                   mov    %esp,%ebp
22045 40012057:       83 ec 18                sub    $0x18,%esp
22046 4001205a:       8b 45 08                mov    0x8(%ebp),%eax
22047 4001205d:       8b 00                   mov    (%eax),%eax
22048 4001205f:       89 c2                   mov    %eax,%edx
22049 40012061:       8b 45 10                mov    0x10(%ebp),%eax
22050 40012064:       89 02                   mov    %eax,(%edx)
22051 40012066:       8b 45 08                mov    0x8(%ebp),%eax
22052 40012069:       8b 00                   mov    (%eax),%eax
22053 4001206b:       8d 50 04                lea    0x4(%eax),%edx
22054 4001206e:       8b 45 08                mov    0x8(%ebp),%eax
22055 40012071:       89 10                   mov    %edx,(%eax)
22056 40012073:       8b 45 08                mov    0x8(%ebp),%eax
22057 40012076:       8b 10                   mov    (%eax),%edx
22058 40012078:       8b 45 10                mov    0x10(%ebp),%eax
22059 4001207b:       89 44 24 08             mov    %eax,0x8(%esp)
22060 4001207f:       8b 45 0c                mov    0xc(%ebp),%eax
22061 40012082:       89 44 24 04             mov    %eax,0x4(%esp)
22062 40012086:       89 14 24                mov    %edx,(%esp)
22063 40012089:       e8 72 d0 ff ff          call   4000f100 <memcpy>
22064 4001208e:       8b 45 08                mov    0x8(%ebp),%eax
22065 40012091:       8b 00                   mov    (%eax),%eax
22066 40012093:       89 c2                   mov    %eax,%edx
22067 40012095:       03 55 10                add    0x10(%ebp),%edx
22068 40012098:       8b 45 08                mov    0x8(%ebp),%eax
22069 4001209b:       89 10                   mov    %edx,(%eax)
22070 4001209d:       c9                      leave  
22071 4001209e:       c3                      ret    
22073 4001209f <unpackstr>:
22074 4001209f:       55                      push   %ebp
22075 400120a0:       89 e5                   mov    %esp,%ebp
22076 400120a2:       53                      push   %ebx
22077 400120a3:       83 ec 04                sub    $0x4,%esp
22078 400120a6:       8b 45 08                mov    0x8(%ebp),%eax
22079 400120a9:       8b 00                   mov    (%eax),%eax
22080 400120ab:       89 c2                   mov    %eax,%edx
22081 400120ad:       8b 45 0c                mov    0xc(%ebp),%eax
22082 400120b0:       89 10                   mov    %edx,(%eax)
22083 400120b2:       8b 45 08                mov    0x8(%ebp),%eax
22084 400120b5:       8b 18                   mov    (%eax),%ebx
22085 400120b7:       8b 45 08                mov    0x8(%ebp),%eax
22086 400120ba:       8b 00                   mov    (%eax),%eax
22087 400120bc:       89 04 24                mov    %eax,(%esp)
22088 400120bf:       e8 f4 d3 ff ff          call   4000f4b8 <strlen>
22089 400120c4:       83 c0 01                add    $0x1,%eax
22090 400120c7:       8d 14 03                lea    (%ebx,%eax,1),%edx
22091 400120ca:       8b 45 08                mov    0x8(%ebp),%eax
22092 400120cd:       89 10                   mov    %edx,(%eax)
22093 400120cf:       83 c4 04                add    $0x4,%esp
22094 400120d2:       5b                      pop    %ebx
22095 400120d3:       5d                      pop    %ebp
22096 400120d4:       c3                      ret    
22098 400120d5 <unpackdata>:
22099 400120d5:       55                      push   %ebp
22100 400120d6:       89 e5                   mov    %esp,%ebp
22101 400120d8:       83 ec 28                sub    $0x28,%esp
22102 400120db:       8b 45 08                mov    0x8(%ebp),%eax
22103 400120de:       8b 00                   mov    (%eax),%eax
22104 400120e0:       8b 00                   mov    (%eax),%eax
22105 400120e2:       89 45 fc                mov    %eax,-0x4(%ebp)
22106 400120e5:       8b 45 08                mov    0x8(%ebp),%eax
22107 400120e8:       8b 00                   mov    (%eax),%eax
22108 400120ea:       8d 50 04                lea    0x4(%eax),%edx
22109 400120ed:       8b 45 08                mov    0x8(%ebp),%eax
22110 400120f0:       89 10                   mov    %edx,(%eax)
22111 400120f2:       8b 55 fc                mov    -0x4(%ebp),%edx
22112 400120f5:       8b 45 08                mov    0x8(%ebp),%eax
22113 400120f8:       8b 00                   mov    (%eax),%eax
22114 400120fa:       89 54 24 08             mov    %edx,0x8(%esp)
22115 400120fe:       89 44 24 04             mov    %eax,0x4(%esp)
22116 40012102:       8b 45 0c                mov    0xc(%ebp),%eax
22117 40012105:       89 04 24                mov    %eax,(%esp)
22118 40012108:       e8 f3 cf ff ff          call   4000f100 <memcpy>
22119 4001210d:       8b 45 08                mov    0x8(%ebp),%eax
22120 40012110:       8b 10                   mov    (%eax),%edx
22121 40012112:       8b 45 fc                mov    -0x4(%ebp),%eax
22122 40012115:       01 c2                   add    %eax,%edx
22123 40012117:       8b 45 08                mov    0x8(%ebp),%eax
22124 4001211a:       89 10                   mov    %edx,(%eax)
22125 4001211c:       c9                      leave  
22126 4001211d:       c3                      ret    
22127 4001211e:       90                      nop    
22128 4001211f:       90                      nop    
22130 40012120 <_irq_init>:
22131 40012120:       55                      push   %ebp
22132 40012121:       89 e5                   mov    %esp,%ebp
22133 40012123:       53                      push   %ebx
22134 40012124:       83 ec 14                sub    $0x14,%esp
22135 40012127:       c7 45 f8 00 00 00 00    movl   $0x0,-0x8(%ebp)
22136 4001212e:       eb 13                   jmp    40012143 <_irq_init+0x23>
22137 40012130:       8b 5d f8                mov    -0x8(%ebp),%ebx
22138 40012133:       e8 c0 d9 ff ff          call   4000faf8 <llist_create>
22139 40012138:       89 04 9d 00 59 01 40    mov    %eax,0x40015900(,%ebx,4)
22140 4001213f:       83 45 f8 01             addl   $0x1,-0x8(%ebp)
22141 40012143:       83 7d f8 0f             cmpl   $0xf,-0x8(%ebp)
22142 40012147:       76 e7                   jbe    40012130 <_irq_init+0x10>
22143 40012149:       b8 00 00 00 00          mov    $0x0,%eax
22144 4001214e:       83 c4 14                add    $0x14,%esp
22145 40012151:       5b                      pop    %ebx
22146 40012152:       5d                      pop    %ebp
22147 40012153:       c3                      ret    
22149 40012154 <irq_reghandler>:
22150 40012154:       55                      push   %ebp
22151 40012155:       89 e5                   mov    %esp,%ebp
22152 40012157:       83 ec 28                sub    $0x28,%esp
22153 4001215a:       83 7d 08 0f             cmpl   $0xf,0x8(%ebp)
22154 4001215e:       0f 87 92 00 00 00       ja     400121f6 <irq_reghandler+0xa2>
22155 40012164:       8b 45 08                mov    0x8(%ebp),%eax
22156 40012167:       8b 04 85 00 59 01 40    mov    0x40015900(,%eax,4),%eax
22157 4001216e:       89 04 24                mov    %eax,(%esp)
22158 40012171:       e8 d1 d9 ff ff          call   4000fb47 <llist_size>
22159 40012176:       85 c0                   test   %eax,%eax
22160 40012178:       75 31                   jne    400121ab <irq_reghandler+0x57>
22161 4001217a:       c7 44 24 0c 83 3a 01    movl   $0x40013a83,0xc(%esp)
22162 40012181:       40 
22163 40012182:       8b 45 08                mov    0x8(%ebp),%eax
22164 40012185:       89 44 24 08             mov    %eax,0x8(%esp)
22165 40012189:       c7 44 24 04 02 00 00    movl   $0x2,0x4(%esp)
22166 40012190:       00 
22167 40012191:       c7 04 24 49 00 00 00    movl   $0x49,(%esp)
22168 40012198:       e8 fb f5 ff ff          call   40011798 <syscall_call>
22169 4001219d:       83 f8 ff                cmp    $0xffffffff,%eax
22170 400121a0:       75 09                   jne    400121ab <irq_reghandler+0x57>
22171 400121a2:       c7 45 ec ff ff ff ff    movl   $0xffffffff,-0x14(%ebp)
22172 400121a9:       eb 52                   jmp    400121fd <irq_reghandler+0xa9>
22173 400121ab:       c7 04 24 0c 00 00 00    movl   $0xc,(%esp)
22174 400121b2:       e8 ed 9b ff ff          call   4000bda4 <malloc>
22175 400121b7:       89 45 fc                mov    %eax,-0x4(%ebp)
22176 400121ba:       8b 55 fc                mov    -0x4(%ebp),%edx
22177 400121bd:       8b 45 0c                mov    0xc(%ebp),%eax
22178 400121c0:       89 02                   mov    %eax,(%edx)
22179 400121c2:       8b 55 fc                mov    -0x4(%ebp),%edx
22180 400121c5:       8b 45 10                mov    0x10(%ebp),%eax
22181 400121c8:       89 42 04                mov    %eax,0x4(%edx)
22182 400121cb:       8b 55 fc                mov    -0x4(%ebp),%edx
22183 400121ce:       8b 45 14                mov    0x14(%ebp),%eax
22184 400121d1:       89 42 08                mov    %eax,0x8(%edx)
22185 400121d4:       8b 45 08                mov    0x8(%ebp),%eax
22186 400121d7:       8b 14 85 00 59 01 40    mov    0x40015900(,%eax,4),%edx
22187 400121de:       8b 45 fc                mov    -0x4(%ebp),%eax
22188 400121e1:       89 44 24 04             mov    %eax,0x4(%esp)
22189 400121e5:       89 14 24                mov    %edx,(%esp)
22190 400121e8:       e8 86 d9 ff ff          call   4000fb73 <llist_push>
22191 400121ed:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
22192 400121f4:       eb 07                   jmp    400121fd <irq_reghandler+0xa9>
22193 400121f6:       c7 45 ec ff ff ff ff    movl   $0xffffffff,-0x14(%ebp)
22194 400121fd:       8b 45 ec                mov    -0x14(%ebp),%eax
22195 40012200:       c9                      leave  
22196 40012201:       c3                      ret    
22198 40012202 <_irq_handler>:
22199 40012202:       55                      push   %ebp
22200 40012203:       89 e5                   mov    %esp,%ebp
22201 40012205:       83 ec 18                sub    $0x18,%esp
22202 40012208:       83 7d 08 0f             cmpl   $0xf,0x8(%ebp)
22203 4001220c:       0f 87 8f 00 00 00       ja     400122a1 <_irq_handler+0x9f>
22204 40012212:       a1 e0 58 01 40          mov    0x400158e0,%eax
22205 40012217:       85 c0                   test   %eax,%eax
22206 40012219:       0f 85 82 00 00 00       jne    400122a1 <_irq_handler+0x9f>
22207 4001221f:       c7 45 f0 00 00 00 00    movl   $0x0,-0x10(%ebp)
22208 40012226:       eb 57                   jmp    4001227f <_irq_handler+0x7d>
22209 40012228:       c7 05 e0 58 01 40 01    movl   $0x1,0x400158e0
22210 4001222f:       00 00 00 
22211 40012232:       8b 45 f4                mov    -0xc(%ebp),%eax
22212 40012235:       8b 40 08                mov    0x8(%eax),%eax
22213 40012238:       85 c0                   test   %eax,%eax
22214 4001223a:       74 1f                   je     4001225b <_irq_handler+0x59>
22215 4001223c:       8b 45 f4                mov    -0xc(%ebp),%eax
22216 4001223f:       8b 00                   mov    (%eax),%eax
22217 40012241:       89 45 f8                mov    %eax,-0x8(%ebp)
22218 40012244:       8b 45 f4                mov    -0xc(%ebp),%eax
22219 40012247:       8b 40 04                mov    0x4(%eax),%eax
22220 4001224a:       89 44 24 04             mov    %eax,0x4(%esp)
22221 4001224e:       8b 45 08                mov    0x8(%ebp),%eax
22222 40012251:       89 04 24                mov    %eax,(%esp)
22223 40012254:       8b 45 f8                mov    -0x8(%ebp),%eax
22224 40012257:       ff d0                   call   *%eax
22225 40012259:       eb 16                   jmp    40012271 <_irq_handler+0x6f>
22226 4001225b:       8b 45 f4                mov    -0xc(%ebp),%eax
22227 4001225e:       8b 00                   mov    (%eax),%eax
22228 40012260:       89 45 fc                mov    %eax,-0x4(%ebp)
22229 40012263:       8b 45 f4                mov    -0xc(%ebp),%eax
22230 40012266:       8b 40 04                mov    0x4(%eax),%eax
22231 40012269:       89 04 24                mov    %eax,(%esp)
22232 4001226c:       8b 45 fc                mov    -0x4(%ebp),%eax
22233 4001226f:       ff d0                   call   *%eax
22234 40012271:       c7 05 e0 58 01 40 00    movl   $0x0,0x400158e0
22235 40012278:       00 00 00 
22236 4001227b:       83 45 f0 01             addl   $0x1,-0x10(%ebp)
22237 4001227f:       8b 45 08                mov    0x8(%ebp),%eax
22238 40012282:       8b 14 85 00 59 01 40    mov    0x40015900(,%eax,4),%edx
22239 40012289:       8b 45 f0                mov    -0x10(%ebp),%eax
22240 4001228c:       89 44 24 04             mov    %eax,0x4(%esp)
22241 40012290:       89 14 24                mov    %edx,(%esp)
22242 40012293:       e8 13 da ff ff          call   4000fcab <llist_get>
22243 40012298:       89 45 f4                mov    %eax,-0xc(%ebp)
22244 4001229b:       83 7d f4 00             cmpl   $0x0,-0xc(%ebp)
22245 4001229f:       75 87                   jne    40012228 <_irq_handler+0x26>
22246 400122a1:       c9                      leave  
22247 400122a2:       c3                      ret    
22249 400122a3 <irq_sleep>:
22250 400122a3:       55                      push   %ebp
22251 400122a4:       89 e5                   mov    %esp,%ebp
22252 400122a6:       83 ec 18                sub    $0x18,%esp
22253 400122a9:       83 7d 08 0f             cmpl   $0xf,0x8(%ebp)
22254 400122ad:       77 24                   ja     400122d3 <irq_sleep+0x30>
22255 400122af:       8b 45 08                mov    0x8(%ebp),%eax
22256 400122b2:       89 44 24 08             mov    %eax,0x8(%esp)
22257 400122b6:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
22258 400122bd:       00 
22259 400122be:       c7 04 24 4a 00 00 00    movl   $0x4a,(%esp)
22260 400122c5:       e8 ce f4 ff ff          call   40011798 <syscall_call>
22261 400122ca:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
22262 400122d1:       eb 07                   jmp    400122da <irq_sleep+0x37>
22263 400122d3:       c7 45 fc ff ff ff ff    movl   $0xffffffff,-0x4(%ebp)
22264 400122da:       8b 45 fc                mov    -0x4(%ebp),%eax
22265 400122dd:       c9                      leave  
22266 400122de:       c3                      ret    
22267 400122df:       90                      nop    
22269 400122e0 <getname>:
22270 400122e0:       55                      push   %ebp
22271 400122e1:       89 e5                   mov    %esp,%ebp
22272 400122e3:       83 ec 28                sub    $0x28,%esp
22273 400122e6:       c7 44 24 10 00 00 00    movl   $0x0,0x10(%esp)
22274 400122ed:       00 
22275 400122ee:       c7 44 24 0c 00 00 00    movl   $0x0,0xc(%esp)
22276 400122f5:       00 
22277 400122f6:       8b 45 08                mov    0x8(%ebp),%eax
22278 400122f9:       89 44 24 08             mov    %eax,0x8(%esp)
22279 400122fd:       c7 44 24 04 03 00 00    movl   $0x3,0x4(%esp)
22280 40012304:       00 
22281 40012305:       c7 04 24 2f 00 00 00    movl   $0x2f,(%esp)
22282 4001230c:       e8 87 f4 ff ff          call   40011798 <syscall_call>
22283 40012311:       89 45 f8                mov    %eax,-0x8(%ebp)
22284 40012314:       8b 45 f8                mov    -0x8(%ebp),%eax
22285 40012317:       89 04 24                mov    %eax,(%esp)
22286 4001231a:       e8 85 9a ff ff          call   4000bda4 <malloc>
22287 4001231f:       89 45 fc                mov    %eax,-0x4(%ebp)
22288 40012322:       8b 45 f8                mov    -0x8(%ebp),%eax
22289 40012325:       89 44 24 10             mov    %eax,0x10(%esp)
22290 40012329:       8b 45 fc                mov    -0x4(%ebp),%eax
22291 4001232c:       89 44 24 0c             mov    %eax,0xc(%esp)
22292 40012330:       8b 45 08                mov    0x8(%ebp),%eax
22293 40012333:       89 44 24 08             mov    %eax,0x8(%esp)
22294 40012337:       c7 44 24 04 03 00 00    movl   $0x3,0x4(%esp)
22295 4001233e:       00 
22296 4001233f:       c7 04 24 2f 00 00 00    movl   $0x2f,(%esp)
22297 40012346:       e8 4d f4 ff ff          call   40011798 <syscall_call>
22298 4001234b:       8b 45 fc                mov    -0x4(%ebp),%eax
22299 4001234e:       c9                      leave  
22300 4001234f:       c3                      ret    
22302 40012350 <__udivdi3>:
22303 #endif
22305 #ifdef L_udivdi3
22306 UDWtype
22307 __udivdi3 (UDWtype n, UDWtype d)
22309 40012350:       55                      push   %ebp
22310 40012351:       89 e5                   mov    %esp,%ebp
22311 40012353:       57                      push   %edi
22312 40012354:       56                      push   %esi
22313 40012355:       83 ec 20                sub    $0x20,%esp
22314 40012358:       c7 45 e0 00 00 00 00    movl   $0x0,-0x20(%ebp)
22315 4001235f:       8b 45 10                mov    0x10(%ebp),%eax
22316 40012362:       8b 55 14                mov    0x14(%ebp),%edx
22317   DWunion rr;
22318   UWtype d0, d1, n0, n1, n2;
22319   UWtype q0, q1;
22320   UWtype b, bm;
22322   d0 = dd.s.low;
22323 40012365:       89 45 f4                mov    %eax,-0xc(%ebp)
22324 40012368:       89 c1                   mov    %eax,%ecx
22325   d1 = dd.s.high;
22326   n0 = nn.s.low;
22327 4001236a:       8b 45 08                mov    0x8(%ebp),%eax
22328 4001236d:       c7 45 e4 00 00 00 00    movl   $0x0,-0x1c(%ebp)
22329   UWtype d0, d1, n0, n1, n2;
22330   UWtype q0, q1;
22331   UWtype b, bm;
22333   d0 = dd.s.low;
22334   d1 = dd.s.high;
22335 40012374:       89 d7                   mov    %edx,%edi
22336   n0 = nn.s.low;
22337 40012376:       89 45 ec                mov    %eax,-0x14(%ebp)
22338   n1 = nn.s.high;
22339 40012379:       8b 75 0c                mov    0xc(%ebp),%esi
22341 #if !UDIV_NEEDS_NORMALIZATION
22342   if (d1 == 0)
22343 4001237c:       85 d2                   test   %edx,%edx
22344 4001237e:       75 30                   jne    400123b0 <__udivdi3+0x60>
22345     {
22346       if (d0 > n1)
22347 40012380:       39 f1                   cmp    %esi,%ecx
22348 40012382:       0f 86 a8 00 00 00       jbe    40012430 <__udivdi3+0xe0>
22349         {
22350           /* 0q = nn / 0D */
22352           udiv_qrnnd (q0, n0, n1, n0, d0);
22353 40012388:       89 f2                   mov    %esi,%edx
22354 4001238a:       f7 f1                   div    %ecx
22355 4001238c:       89 c1                   mov    %eax,%ecx
22356 4001238e:       31 c0                   xor    %eax,%eax
22357                 }
22358             }
22359         }
22360     }
22362   const DWunion ww = {{.low = q0, .high = q1}};
22363 40012390:       89 4d e0                mov    %ecx,-0x20(%ebp)
22364 40012393:       89 45 e4                mov    %eax,-0x1c(%ebp)
22365 #ifdef L_udivdi3
22366 UDWtype
22367 __udivdi3 (UDWtype n, UDWtype d)
22369   return __udivmoddi4 (n, d, (UDWtype *) 0);
22371 40012396:       8b 45 e0                mov    -0x20(%ebp),%eax
22372 40012399:       8b 55 e4                mov    -0x1c(%ebp),%edx
22373 4001239c:       83 c4 20                add    $0x20,%esp
22374 4001239f:       5e                      pop    %esi
22375 400123a0:       5f                      pop    %edi
22376 400123a1:       5d                      pop    %ebp
22377 400123a2:       c3                      ret    
22378 400123a3:       8d b6 00 00 00 00       lea    0x0(%esi),%esi
22379 400123a9:       8d bc 27 00 00 00 00    lea    0x0(%edi),%edi
22380     }
22381 #endif /* UDIV_NEEDS_NORMALIZATION */
22383   else
22384     {
22385       if (d1 > n1)
22386 400123b0:       39 f2                   cmp    %esi,%edx
22387 400123b2:       0f 87 b8 00 00 00       ja     40012470 <__udivdi3+0x120>
22388         }
22389       else
22390         {
22391           /* 0q = NN / dd */
22393           count_leading_zeros (bm, d1);
22394 400123b8:       0f bd c2                bsr    %edx,%eax
22395           if (bm == 0)
22396 400123bb:       83 f0 1f                xor    $0x1f,%eax
22397 400123be:       89 45 e8                mov    %eax,-0x18(%ebp)
22398 400123c1:       0f 84 99 00 00 00       je     40012460 <__udivdi3+0x110>
22399               UWtype m1, m0;
22400               /* Normalize.  */
22402               b = W_TYPE_SIZE - bm;
22404               d1 = (d1 << bm) | (d0 >> b);
22405 400123c7:       8b 55 e8                mov    -0x18(%ebp),%edx
22406 400123ca:       b8 20 00 00 00          mov    $0x20,%eax
22407 400123cf:       29 d0                   sub    %edx,%eax
22408 400123d1:       8b 55 f4                mov    -0xc(%ebp),%edx
22409 400123d4:       89 45 f0                mov    %eax,-0x10(%ebp)
22410 400123d7:       89 f8                   mov    %edi,%eax
22411 400123d9:       8a 4d f0                mov    -0x10(%ebp),%cl
22412               d0 = d0 << bm;
22413 400123dc:       8b 7d f4                mov    -0xc(%ebp),%edi
22414               UWtype m1, m0;
22415               /* Normalize.  */
22417               b = W_TYPE_SIZE - bm;
22419               d1 = (d1 << bm) | (d0 >> b);
22420 400123df:       d3 ea                   shr    %cl,%edx
22421 400123e1:       8a 4d e8                mov    -0x18(%ebp),%cl
22422 400123e4:       d3 e0                   shl    %cl,%eax
22423 400123e6:       09 c2                   or     %eax,%edx
22424               d0 = d0 << bm;
22425               n2 = n1 >> b;
22426               n1 = (n1 << bm) | (n0 >> b);
22427 400123e8:       8b 45 ec                mov    -0x14(%ebp),%eax
22428               /* Normalize.  */
22430               b = W_TYPE_SIZE - bm;
22432               d1 = (d1 << bm) | (d0 >> b);
22433               d0 = d0 << bm;
22434 400123eb:       d3 e7                   shl    %cl,%edi
22435               n2 = n1 >> b;
22436               n1 = (n1 << bm) | (n0 >> b);
22437 400123ed:       8a 4d f0                mov    -0x10(%ebp),%cl
22438               UWtype m1, m0;
22439               /* Normalize.  */
22441               b = W_TYPE_SIZE - bm;
22443               d1 = (d1 << bm) | (d0 >> b);
22444 400123f0:       89 55 dc                mov    %edx,-0x24(%ebp)
22445               d0 = d0 << bm;
22446               n2 = n1 >> b;
22447               n1 = (n1 << bm) | (n0 >> b);
22448 400123f3:       d3 e8                   shr    %cl,%eax
22449 400123f5:       89 f2                   mov    %esi,%edx
22450 400123f7:       8a 4d e8                mov    -0x18(%ebp),%cl
22451 400123fa:       d3 e2                   shl    %cl,%edx
22452               n0 = n0 << bm;
22454               udiv_qrnnd (q0, n1, n2, n1, d1);
22455 400123fc:       8a 4d f0                mov    -0x10(%ebp),%cl
22456               b = W_TYPE_SIZE - bm;
22458               d1 = (d1 << bm) | (d0 >> b);
22459               d0 = d0 << bm;
22460               n2 = n1 >> b;
22461               n1 = (n1 << bm) | (n0 >> b);
22462 400123ff:       09 d0                   or     %edx,%eax
22463               n0 = n0 << bm;
22465               udiv_qrnnd (q0, n1, n2, n1, d1);
22466 40012401:       d3 ee                   shr    %cl,%esi
22467 40012403:       89 f2                   mov    %esi,%edx
22468 40012405:       89 75 d8                mov    %esi,-0x28(%ebp)
22469 40012408:       f7 75 dc                divl   -0x24(%ebp)
22470 4001240b:       89 d1                   mov    %edx,%ecx
22471 4001240d:       89 45 d8                mov    %eax,-0x28(%ebp)
22472               umul_ppmm (m1, m0, q0, d0);
22473 40012410:       f7 e7                   mul    %edi
22474 40012412:       89 c6                   mov    %eax,%esi
22476               if (m1 > n1 || (m1 == n1 && m0 > n0))
22477 40012414:       39 d1                   cmp    %edx,%ecx
22478 40012416:       0f 82 7c 00 00 00       jb     40012498 <__udivdi3+0x148>
22479 4001241c:       39 ca                   cmp    %ecx,%edx
22480 4001241e:       74 6c                   je     4001248c <__udivdi3+0x13c>
22481 40012420:       8b 4d d8                mov    -0x28(%ebp),%ecx
22482 40012423:       31 c0                   xor    %eax,%eax
22483 40012425:       e9 66 ff ff ff          jmp    40012390 <__udivdi3+0x40>
22484 4001242a:       8d b6 00 00 00 00       lea    0x0(%esi),%esi
22485         }
22486       else
22487         {
22488           /* qq = NN / 0d */
22490           if (d0 == 0)
22491 40012430:       8b 45 f4                mov    -0xc(%ebp),%eax
22492 40012433:       85 c0                   test   %eax,%eax
22493 40012435:       75 0c                   jne    40012443 <__udivdi3+0xf3>
22494             d0 = 1 / d0;        /* Divide intentionally by zero.  */
22495 40012437:       b8 01 00 00 00          mov    $0x1,%eax
22496 4001243c:       31 d2                   xor    %edx,%edx
22497 4001243e:       f7 75 f4                divl   -0xc(%ebp)
22498 40012441:       89 c1                   mov    %eax,%ecx
22500           udiv_qrnnd (q1, n1, 0, n1, d0);
22501 40012443:       89 f0                   mov    %esi,%eax
22502 40012445:       89 fa                   mov    %edi,%edx
22503 40012447:       f7 f1                   div    %ecx
22504 40012449:       89 c6                   mov    %eax,%esi
22505           udiv_qrnnd (q0, n0, n1, n0, d0);
22506 4001244b:       8b 45 ec                mov    -0x14(%ebp),%eax
22507 4001244e:       f7 f1                   div    %ecx
22508 40012450:       89 c1                   mov    %eax,%ecx
22509 40012452:       89 f0                   mov    %esi,%eax
22510 40012454:       e9 37 ff ff ff          jmp    40012390 <__udivdi3+0x40>
22511 40012459:       8d b4 26 00 00 00 00    lea    0x0(%esi),%esi
22513                  This special case is necessary, not an optimization.  */
22515               /* The condition on the next line takes advantage of that
22516                  n1 >= d1 (true due to program flow).  */
22517               if (n1 > d1 || n0 >= d0)
22518 40012460:       39 d6                   cmp    %edx,%esi
22519 40012462:       77 1c                   ja     40012480 <__udivdi3+0x130>
22520 40012464:       8b 55 f4                mov    -0xc(%ebp),%edx
22521 40012467:       39 55 ec                cmp    %edx,-0x14(%ebp)
22522 4001246a:       73 14                   jae    40012480 <__udivdi3+0x130>
22523 4001246c:       8d 74 26 00             lea    0x0(%esi),%esi
22524               umul_ppmm (m1, m0, q0, d0);
22526               if (m1 > n1 || (m1 == n1 && m0 > n0))
22527                 {
22528                   q0--;
22529                   sub_ddmmss (m1, m0, m1, m0, d1, d0);
22530 40012470:       31 c9                   xor    %ecx,%ecx
22531 40012472:       31 c0                   xor    %eax,%eax
22532 40012474:       e9 17 ff ff ff          jmp    40012390 <__udivdi3+0x40>
22533 40012479:       8d b4 26 00 00 00 00    lea    0x0(%esi),%esi
22534               /* The condition on the next line takes advantage of that
22535                  n1 >= d1 (true due to program flow).  */
22536               if (n1 > d1 || n0 >= d0)
22537                 {
22538                   q0 = 1;
22539                   sub_ddmmss (n1, n0, n1, n0, d1, d0);
22540 40012480:       b9 01 00 00 00          mov    $0x1,%ecx
22541 40012485:       31 c0                   xor    %eax,%eax
22542 40012487:       e9 04 ff ff ff          jmp    40012390 <__udivdi3+0x40>
22543               n0 = n0 << bm;
22545               udiv_qrnnd (q0, n1, n2, n1, d1);
22546               umul_ppmm (m1, m0, q0, d0);
22548               if (m1 > n1 || (m1 == n1 && m0 > n0))
22549 4001248c:       8b 45 ec                mov    -0x14(%ebp),%eax
22550 4001248f:       8a 4d e8                mov    -0x18(%ebp),%cl
22551 40012492:       d3 e0                   shl    %cl,%eax
22552 40012494:       39 c6                   cmp    %eax,%esi
22553 40012496:       76 88                   jbe    40012420 <__udivdi3+0xd0>
22554                 {
22555                   q0--;
22556                   sub_ddmmss (m1, m0, m1, m0, d1, d0);
22557 40012498:       8b 4d d8                mov    -0x28(%ebp),%ecx
22558 4001249b:       31 c0                   xor    %eax,%eax
22559 4001249d:       49                      dec    %ecx
22560 4001249e:       e9 ed fe ff ff          jmp    40012390 <__udivdi3+0x40>
22561 400124a3:       90                      nop    
22562 400124a4:       90                      nop    
22563 400124a5:       90                      nop    
22564 400124a6:       90                      nop    
22565 400124a7:       90                      nop    
22566 400124a8:       90                      nop    
22567 400124a9:       90                      nop    
22568 400124aa:       90                      nop    
22569 400124ab:       90                      nop    
22570 400124ac:       90                      nop    
22571 400124ad:       90                      nop    
22572 400124ae:       90                      nop    
22573 400124af:       90                      nop    
22575 400124b0 <__umoddi3>:
22576 #endif
22578 #ifdef L_umoddi3
22579 UDWtype
22580 __umoddi3 (UDWtype u, UDWtype v)
22582 400124b0:       55                      push   %ebp
22583 400124b1:       89 e5                   mov    %esp,%ebp
22584 400124b3:       57                      push   %edi
22585 400124b4:       56                      push   %esi
22586 400124b5:       83 ec 30                sub    $0x30,%esp
22587 400124b8:       c7 45 d0 00 00 00 00    movl   $0x0,-0x30(%ebp)
22588 400124bf:       8b 55 14                mov    0x14(%ebp),%edx
22589 400124c2:       8b 45 10                mov    0x10(%ebp),%eax
22590   UWtype d0, d1, n0, n1, n2;
22591   UWtype q0, q1;
22592   UWtype b, bm;
22594   d0 = dd.s.low;
22595   d1 = dd.s.high;
22596 400124c5:       89 55 e8                mov    %edx,-0x18(%ebp)
22597 #endif
22599 #ifdef L_umoddi3
22600 UDWtype
22601 __umoddi3 (UDWtype u, UDWtype v)
22603 400124c8:       8b 75 08                mov    0x8(%ebp),%esi
22604 400124cb:       8b 7d 0c                mov    0xc(%ebp),%edi
22605   DWunion rr;
22606   UWtype d0, d1, n0, n1, n2;
22607   UWtype q0, q1;
22608   UWtype b, bm;
22610   d0 = dd.s.low;
22611 400124ce:       89 45 ec                mov    %eax,-0x14(%ebp)
22612 400124d1:       89 c1                   mov    %eax,%ecx
22613   d1 = dd.s.high;
22614   n0 = nn.s.low;
22615   n1 = nn.s.high;
22617 #if !UDIV_NEEDS_NORMALIZATION
22618   if (d1 == 0)
22619 400124d3:       8b 45 e8                mov    -0x18(%ebp),%eax
22620 400124d6:       c7 45 d4 00 00 00 00    movl   $0x0,-0x2c(%ebp)
22621   UWtype q0, q1;
22622   UWtype b, bm;
22624   d0 = dd.s.low;
22625   d1 = dd.s.high;
22626   n0 = nn.s.low;
22627 400124dd:       89 75 e4                mov    %esi,-0x1c(%ebp)
22628 400124e0:       89 75 f0                mov    %esi,-0x10(%ebp)
22629   n1 = nn.s.high;
22630 400124e3:       89 7d e0                mov    %edi,-0x20(%ebp)
22631 400124e6:       89 fa                   mov    %edi,%edx
22633 #if !UDIV_NEEDS_NORMALIZATION
22634   if (d1 == 0)
22635 400124e8:       85 c0                   test   %eax,%eax
22636 400124ea:       75 14                   jne    40012500 <__umoddi3+0x50>
22637     {
22638       if (d0 > n1)
22639 400124ec:       39 f9                   cmp    %edi,%ecx
22640 400124ee:       76 60                   jbe    40012550 <__umoddi3+0xa0>
22641         {
22642           /* 0q = nn / 0D */
22644           udiv_qrnnd (q0, n0, n1, n0, d0);
22645 400124f0:       89 f0                   mov    %esi,%eax
22646 400124f2:       f7 f1                   div    %ecx
22647           /* Remainder in n0.  */
22648         }
22650       if (rp != 0)
22651         {
22652           rr.s.low = n0;
22653 400124f4:       89 55 d0                mov    %edx,-0x30(%ebp)
22654           rr.s.high = 0;
22655 400124f7:       c7 45 d4 00 00 00 00    movl   $0x0,-0x2c(%ebp)
22656 400124fe:       eb 10                   jmp    40012510 <__umoddi3+0x60>
22657     }
22658 #endif /* UDIV_NEEDS_NORMALIZATION */
22660   else
22661     {
22662       if (d1 > n1)
22663 40012500:       8b 4d e0                mov    -0x20(%ebp),%ecx
22664 40012503:       39 4d e8                cmp    %ecx,-0x18(%ebp)
22665 40012506:       76 18                   jbe    40012520 <__umoddi3+0x70>
22666           q1 = 0;
22668           /* Remainder in n1n0.  */
22669           if (rp != 0)
22670             {
22671               rr.s.low = n0;
22672 40012508:       89 75 d0                mov    %esi,-0x30(%ebp)
22673               rr.s.high = n1;
22674 4001250b:       89 7d d4                mov    %edi,-0x2c(%ebp)
22675 4001250e:       66 90                   xchg   %ax,%ax
22676   UDWtype w;
22678   (void) __udivmoddi4 (u, v, &w);
22680   return w;
22682 40012510:       8b 45 d0                mov    -0x30(%ebp),%eax
22683 40012513:       8b 55 d4                mov    -0x2c(%ebp),%edx
22684 40012516:       83 c4 30                add    $0x30,%esp
22685 40012519:       5e                      pop    %esi
22686 4001251a:       5f                      pop    %edi
22687 4001251b:       5d                      pop    %ebp
22688 4001251c:       c3                      ret    
22689 4001251d:       8d 76 00                lea    0x0(%esi),%esi
22690         }
22691       else
22692         {
22693           /* 0q = NN / dd */
22695           count_leading_zeros (bm, d1);
22696 40012520:       0f bd 45 e8             bsr    -0x18(%ebp),%eax
22697           if (bm == 0)
22698 40012524:       83 f0 1f                xor    $0x1f,%eax
22699 40012527:       89 45 d8                mov    %eax,-0x28(%ebp)
22700 4001252a:       75 54                   jne    40012580 <__umoddi3+0xd0>
22702                  This special case is necessary, not an optimization.  */
22704               /* The condition on the next line takes advantage of that
22705                  n1 >= d1 (true due to program flow).  */
22706               if (n1 > d1 || n0 >= d0)
22707 4001252c:       8b 45 e8                mov    -0x18(%ebp),%eax
22708 4001252f:       39 45 e0                cmp    %eax,-0x20(%ebp)
22709 40012532:       0f 87 d6 00 00 00       ja     4001260e <__umoddi3+0x15e>
22710 40012538:       8b 4d ec                mov    -0x14(%ebp),%ecx
22711 4001253b:       39 4d e4                cmp    %ecx,-0x1c(%ebp)
22712 4001253e:       0f 83 ca 00 00 00       jae    4001260e <__umoddi3+0x15e>
22714               q1 = 0;
22716               if (rp != 0)
22717                 {
22718                   rr.s.low = n0;
22719 40012544:       8b 4d f0                mov    -0x10(%ebp),%ecx
22720                   rr.s.high = n1;
22721 40012547:       89 55 d4                mov    %edx,-0x2c(%ebp)
22723               q1 = 0;
22725               if (rp != 0)
22726                 {
22727                   rr.s.low = n0;
22728 4001254a:       89 4d d0                mov    %ecx,-0x30(%ebp)
22729 4001254d:       eb c1                   jmp    40012510 <__umoddi3+0x60>
22730 4001254f:       90                      nop    
22731         }
22732       else
22733         {
22734           /* qq = NN / 0d */
22736           if (d0 == 0)
22737 40012550:       8b 75 ec                mov    -0x14(%ebp),%esi
22738 40012553:       85 f6                   test   %esi,%esi
22739 40012555:       75 0c                   jne    40012563 <__umoddi3+0xb3>
22740             d0 = 1 / d0;        /* Divide intentionally by zero.  */
22741 40012557:       b8 01 00 00 00          mov    $0x1,%eax
22742 4001255c:       31 d2                   xor    %edx,%edx
22743 4001255e:       f7 75 ec                divl   -0x14(%ebp)
22744 40012561:       89 c1                   mov    %eax,%ecx
22746           udiv_qrnnd (q1, n1, 0, n1, d0);
22747 40012563:       8b 45 e0                mov    -0x20(%ebp),%eax
22748 40012566:       8b 55 e8                mov    -0x18(%ebp),%edx
22749 40012569:       f7 f1                   div    %ecx
22750           udiv_qrnnd (q0, n0, n1, n0, d0);
22751 4001256b:       8b 45 e4                mov    -0x1c(%ebp),%eax
22752 4001256e:       f7 f1                   div    %ecx
22753 40012570:       eb 82                   jmp    400124f4 <__umoddi3+0x44>
22754 40012572:       8d b4 26 00 00 00 00    lea    0x0(%esi),%esi
22755 40012579:       8d bc 27 00 00 00 00    lea    0x0(%edi),%edi
22756               UWtype m1, m0;
22757               /* Normalize.  */
22759               b = W_TYPE_SIZE - bm;
22761               d1 = (d1 << bm) | (d0 >> b);
22762 40012580:       8b 55 d8                mov    -0x28(%ebp),%edx
22763 40012583:       b8 20 00 00 00          mov    $0x20,%eax
22764 40012588:       29 d0                   sub    %edx,%eax
22765 4001258a:       8b 55 ec                mov    -0x14(%ebp),%edx
22766 4001258d:       89 45 dc                mov    %eax,-0x24(%ebp)
22767 40012590:       8b 45 e8                mov    -0x18(%ebp),%eax
22768 40012593:       8a 4d dc                mov    -0x24(%ebp),%cl
22769               d0 = d0 << bm;
22770 40012596:       8b 75 ec                mov    -0x14(%ebp),%esi
22771               UWtype m1, m0;
22772               /* Normalize.  */
22774               b = W_TYPE_SIZE - bm;
22776               d1 = (d1 << bm) | (d0 >> b);
22777 40012599:       d3 ea                   shr    %cl,%edx
22778 4001259b:       8a 4d d8                mov    -0x28(%ebp),%cl
22779               d0 = d0 << bm;
22780               n2 = n1 >> b;
22781               n1 = (n1 << bm) | (n0 >> b);
22782               n0 = n0 << bm;
22783 4001259e:       8b 7d e4                mov    -0x1c(%ebp),%edi
22784               UWtype m1, m0;
22785               /* Normalize.  */
22787               b = W_TYPE_SIZE - bm;
22789               d1 = (d1 << bm) | (d0 >> b);
22790 400125a1:       d3 e0                   shl    %cl,%eax
22791 400125a3:       09 c2                   or     %eax,%edx
22792               d0 = d0 << bm;
22793               n2 = n1 >> b;
22794               n1 = (n1 << bm) | (n0 >> b);
22795 400125a5:       8b 45 e4                mov    -0x1c(%ebp),%eax
22796               /* Normalize.  */
22798               b = W_TYPE_SIZE - bm;
22800               d1 = (d1 << bm) | (d0 >> b);
22801               d0 = d0 << bm;
22802 400125a8:       d3 e6                   shl    %cl,%esi
22803               n2 = n1 >> b;
22804               n1 = (n1 << bm) | (n0 >> b);
22805 400125aa:       8a 4d dc                mov    -0x24(%ebp),%cl
22806               UWtype m1, m0;
22807               /* Normalize.  */
22809               b = W_TYPE_SIZE - bm;
22811               d1 = (d1 << bm) | (d0 >> b);
22812 400125ad:       89 55 f4                mov    %edx,-0xc(%ebp)
22813               d0 = d0 << bm;
22814               n2 = n1 >> b;
22815               n1 = (n1 << bm) | (n0 >> b);
22816 400125b0:       d3 e8                   shr    %cl,%eax
22817 400125b2:       8b 55 e0                mov    -0x20(%ebp),%edx
22818 400125b5:       8a 4d d8                mov    -0x28(%ebp),%cl
22819 400125b8:       d3 e2                   shl    %cl,%edx
22820 400125ba:       09 d0                   or     %edx,%eax
22821               n0 = n0 << bm;
22823               udiv_qrnnd (q0, n1, n2, n1, d1);
22824 400125bc:       8b 55 e0                mov    -0x20(%ebp),%edx
22826               d1 = (d1 << bm) | (d0 >> b);
22827               d0 = d0 << bm;
22828               n2 = n1 >> b;
22829               n1 = (n1 << bm) | (n0 >> b);
22830               n0 = n0 << bm;
22831 400125bf:       d3 e7                   shl    %cl,%edi
22833               udiv_qrnnd (q0, n1, n2, n1, d1);
22834 400125c1:       8a 4d dc                mov    -0x24(%ebp),%cl
22835 400125c4:       d3 ea                   shr    %cl,%edx
22836 400125c6:       f7 75 f4                divl   -0xc(%ebp)
22837 400125c9:       89 55 cc                mov    %edx,-0x34(%ebp)
22838               umul_ppmm (m1, m0, q0, d0);
22839 400125cc:       f7 e6                   mul    %esi
22841               if (m1 > n1 || (m1 == n1 && m0 > n0))
22842 400125ce:       39 55 cc                cmp    %edx,-0x34(%ebp)
22843 400125d1:       72 53                   jb     40012626 <__umoddi3+0x176>
22844 400125d3:       3b 55 cc                cmp    -0x34(%ebp),%edx
22845 400125d6:       74 4a                   je     40012622 <__umoddi3+0x172>
22846 400125d8:       90                      nop    
22847 400125d9:       8d b4 26 00 00 00 00    lea    0x0(%esi),%esi
22848               q1 = 0;
22850               /* Remainder in (n1n0 - m1m0) >> bm.  */
22851               if (rp != 0)
22852                 {
22853                   sub_ddmmss (n1, n0, n1, n0, m1, m0);
22854 400125e0:       8b 4d cc                mov    -0x34(%ebp),%ecx
22855 400125e3:       29 c7                   sub    %eax,%edi
22856 400125e5:       19 d1                   sbb    %edx,%ecx
22857 400125e7:       89 4d cc                mov    %ecx,-0x34(%ebp)
22858                   rr.s.low = (n1 << b) | (n0 >> bm);
22859 400125ea:       89 fa                   mov    %edi,%edx
22860 400125ec:       8a 4d d8                mov    -0x28(%ebp),%cl
22861 400125ef:       8b 45 cc                mov    -0x34(%ebp),%eax
22862 400125f2:       d3 ea                   shr    %cl,%edx
22863 400125f4:       8a 4d dc                mov    -0x24(%ebp),%cl
22864 400125f7:       d3 e0                   shl    %cl,%eax
22865 400125f9:       09 c2                   or     %eax,%edx
22866                   rr.s.high = n1 >> bm;
22867 400125fb:       8a 4d d8                mov    -0x28(%ebp),%cl
22868 400125fe:       8b 45 cc                mov    -0x34(%ebp),%eax
22870               /* Remainder in (n1n0 - m1m0) >> bm.  */
22871               if (rp != 0)
22872                 {
22873                   sub_ddmmss (n1, n0, n1, n0, m1, m0);
22874                   rr.s.low = (n1 << b) | (n0 >> bm);
22875 40012601:       89 55 d0                mov    %edx,-0x30(%ebp)
22876                   rr.s.high = n1 >> bm;
22877 40012604:       d3 e8                   shr    %cl,%eax
22878 40012606:       89 45 d4                mov    %eax,-0x2c(%ebp)
22879 40012609:       e9 02 ff ff ff          jmp    40012510 <__umoddi3+0x60>
22880               /* The condition on the next line takes advantage of that
22881                  n1 >= d1 (true due to program flow).  */
22882               if (n1 > d1 || n0 >= d0)
22883                 {
22884                   q0 = 1;
22885                   sub_ddmmss (n1, n0, n1, n0, d1, d0);
22886 4001260e:       8b 55 e0                mov    -0x20(%ebp),%edx
22887 40012611:       8b 45 e4                mov    -0x1c(%ebp),%eax
22888 40012614:       2b 45 ec                sub    -0x14(%ebp),%eax
22889 40012617:       1b 55 e8                sbb    -0x18(%ebp),%edx
22890 4001261a:       89 45 f0                mov    %eax,-0x10(%ebp)
22891 4001261d:       e9 22 ff ff ff          jmp    40012544 <__umoddi3+0x94>
22892               n0 = n0 << bm;
22894               udiv_qrnnd (q0, n1, n2, n1, d1);
22895               umul_ppmm (m1, m0, q0, d0);
22897               if (m1 > n1 || (m1 == n1 && m0 > n0))
22898 40012622:       39 f8                   cmp    %edi,%eax
22899 40012624:       76 ba                   jbe    400125e0 <__umoddi3+0x130>
22900                 {
22901                   q0--;
22902                   sub_ddmmss (m1, m0, m1, m0, d1, d0);
22903 40012626:       29 f0                   sub    %esi,%eax
22904 40012628:       1b 55 f4                sbb    -0xc(%ebp),%edx
22905 4001262b:       eb b3                   jmp    400125e0 <__umoddi3+0x130>
22906 4001262d:       90                      nop    
22907 4001262e:       90                      nop    
22908 4001262f:       90                      nop    
22910 40012630 <__do_global_ctors_aux>:
22911 40012630:       55                      push   %ebp
22912 40012631:       89 e5                   mov    %esp,%ebp
22913 40012633:       56                      push   %esi
22914 40012634:       53                      push   %ebx
22915 40012635:       e8 00 00 00 00          call   4001263a <__do_global_ctors_aux+0xa>
22916 4001263a:       5b                      pop    %ebx
22917 4001263b:       81 c3 e6 19 00 00       add    $0x19e6,%ebx
22918 40012641:       8d 83 e4 ff ff ff       lea    -0x1c(%ebx),%eax
22919 40012647:       8d 50 fc                lea    -0x4(%eax),%edx
22920 4001264a:       8b 40 fc                mov    -0x4(%eax),%eax
22921 4001264d:       83 f8 ff                cmp    $0xffffffff,%eax
22922 40012650:       74 1b                   je     4001266d <__do_global_ctors_aux+0x3d>
22923 40012652:       89 d6                   mov    %edx,%esi
22924 40012654:       8d b6 00 00 00 00       lea    0x0(%esi),%esi
22925 4001265a:       8d bf 00 00 00 00       lea    0x0(%edi),%edi
22926 40012660:       ff d0                   call   *%eax
22927 40012662:       8b 46 fc                mov    -0x4(%esi),%eax
22928 40012665:       83 ee 04                sub    $0x4,%esi
22929 40012668:       83 f8 ff                cmp    $0xffffffff,%eax
22930 4001266b:       75 f3                   jne    40012660 <__do_global_ctors_aux+0x30>
22931 4001266d:       5b                      pop    %ebx
22932 4001266e:       5e                      pop    %esi
22933 4001266f:       5d                      pop    %ebp
22934 40012670:       c3                      ret    
22935 Disassembly of section .fini:
22937 40012671 <.fini>:
22938 40012671:       e8 9a eb fe ff          call   40001210 <__do_global_dtors_aux>